GG
GG::Slider< T > Class Template Reference

#include <Slider.h>

Inheritance diagram for GG::Slider< T >:
GG::Control GG::Wnd

List of all members.

virtual void DropsAcceptable (DropsAcceptableIter first, DropsAcceptableIter last, const Pt &pt) const
Clr Color () const
bool Disabled () const
virtual void AcceptDrops (const std::vector< Wnd * > &wnds, const Pt &pt)
virtual ~Wnd ()
bool Interactive () const
bool RepeatButtonDown () const
bool Dragable () const
bool Resizable () const
bool OnTop () const
bool Modal () const
ChildClippingMode GetChildClippingMode () const
bool NonClientChild () const
bool Visible () const
const std::string & Name () const
const std::string & DragDropDataType () const
Pt UpperLeft () const
Pt LowerRight () const
Pt RelativeUpperLeft () const
Pt RelativeLowerRight () const
X Width () const
Y Height () const
int ZOrder () const
Pt Size () const
Pt MinSize () const
Pt MaxSize () const
virtual Pt ClientUpperLeft () const
virtual Pt ClientLowerRight () const
Pt ClientSize () const
X ClientWidth () const
Y ClientHeight () const
Pt ScreenToWindow (const Pt &pt) const
Pt ScreenToClient (const Pt &pt) const
virtual bool InWindow (const Pt &pt) const
virtual bool InClient (const Pt &pt) const
const std::list< Wnd * > & Children () const
WndParent () const
WndRootParent () const
LayoutGetLayout () const
LayoutContainingLayout () const
const std::vector
< BrowseInfoMode > & 
BrowseModes () const
const std::string & BrowseInfoText (std::size_t mode) const
const boost::shared_ptr
< StyleFactory > & 
GetStyleFactory () const
virtual WndRegion WindowRegion (const Pt &pt) const
void SetDragDropDataType (const std::string &data_type)
virtual void StartingChildDragDrop (const Wnd *wnd, const Pt &offset)
virtual void CancellingChildDragDrop (const std::vector< const Wnd * > &wnds)
virtual void ChildrenDraggedAway (const std::vector< Wnd * > &wnds, const Wnd *destination)
void SetName (const std::string &name)
void Hide (bool children=true)
void Show (bool children=true)
virtual void ModalInit ()
void SetChildClippingMode (ChildClippingMode mode)
void NonClientChild (bool b)
void MoveTo (const Pt &pt)
void OffsetMove (const Pt &pt)
void Resize (const Pt &sz)
void SetMinSize (const Pt &sz)
void SetMaxSize (const Pt &sz)
void AttachChild (Wnd *wnd)
void MoveChildUp (Wnd *wnd)
void MoveChildDown (Wnd *wnd)
void DetachChild (Wnd *wnd)
void DetachChildren ()
void DeleteChild (Wnd *wnd)
void DeleteChildren ()
void InstallEventFilter (Wnd *wnd)
void RemoveEventFilter (Wnd *wnd)
void HorizontalLayout ()
void VerticalLayout ()
void GridLayout ()
void SetLayout (Layout *layout)
void RemoveLayout ()
LayoutDetachLayout ()
void SetLayoutBorderMargin (unsigned int margin)
void SetLayoutCellMargin (unsigned int margin)
virtual bool Run ()
void EndRun ()
void SetBrowseModeTime (unsigned int time, std::size_t mode=0)
void SetBrowseInfoWnd (const boost::shared_ptr< BrowseInfoWnd > &wnd, std::size_t mode=0)
void ClearBrowseInfoWnd (std::size_t mode=0)
void SetBrowseText (const std::string &text, std::size_t mode=0)
void SetBrowseModes (const std::vector< BrowseInfoMode > &modes)
void SetStyleFactory (const boost::shared_ptr< StyleFactory > &factory)
 GG_ABSTRACT_EXCEPTION (Exception)
 GG_CONCRETE_EXCEPTION (BadLayout, GG::Wnd, Exception)
- Protected Member Functions inherited from GG::Control
virtual void MouseWheel (const Pt &pt, int move, Flags< ModKey > mod_keys)
virtual void KeyRelease (Key key, boost::uint32_t key_code_point, Flags< ModKey > mod_keys)
 Control ()
 Control (X x, Y y, X w, Y h, Flags< WndFlag > flags=INTERACTIVE)
 Wnd ()
 Wnd (X x, Y y, X w, Y h, Flags< WndFlag > flags=INTERACTIVE|DRAGABLE)
DragDropRenderingState GetDragDropRenderingState () const
virtual void LButtonDown (const Pt &pt, Flags< ModKey > mod_keys)
virtual void LDrag (const Pt &pt, const Pt &move, Flags< ModKey > mod_keys)
virtual void LButtonUp (const Pt &pt, Flags< ModKey > mod_keys)
virtual void LDoubleClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MButtonDown (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MDrag (const Pt &pt, const Pt &move, Flags< ModKey > mod_keys)
virtual void MButtonUp (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MDoubleClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void RButtonDown (const Pt &pt, Flags< ModKey > mod_keys)
virtual void RDrag (const Pt &pt, const Pt &move, Flags< ModKey > mod_keys)
virtual void RButtonUp (const Pt &pt, Flags< ModKey > mod_keys)
virtual void RClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void RDoubleClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MouseEnter (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MouseHere (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MouseLeave ()
virtual void DragDropEnter (const Pt &pt, const std::map< Wnd *, Pt > &drag_drop_wnds, Flags< ModKey > mod_keys)
virtual void DragDropHere (const Pt &pt, const std::map< Wnd *, Pt > &drag_drop_wnds, Flags< ModKey > mod_keys)
virtual void DragDropLeave ()
virtual void GainingFocus ()
virtual void LosingFocus ()
virtual void TimerFiring (unsigned int ticks, Timer *timer)
void HandleEvent (const WndEvent &event)
void ForwardEventToParent ()
void BeginClipping ()
void EndClipping ()
void BeginNonclientClipping ()
void EndNonclientClipping ()

Signal Types

typedef boost::signal< void(T,
T, T)> 
SlidSignalType
typedef boost::signal< void(T,
T, T)> 
SlidAndStoppedSignalType

Structors

 Slider (X x, Y y, X w, Y h, T min, T max, Orientation orientation, SliderLineStyle style, Clr color, unsigned int tab_width, unsigned int line_width=5, Flags< WndFlag > flags=INTERACTIVE)
 Slider ()

Accessors

SlidSignalType SlidSignal
SlidAndStoppedSignalType SlidAndStoppedSignal
virtual Pt MinUsableSize () const
Posn () const
std::pair< T, T > SliderRange () const
PageSize () const
Orientation GetOrientation () const
unsigned int TabWidth () const
unsigned int LineWidth () const
SliderLineStyle LineStyle () const
ButtonTab () const
PtToPosn (const Pt &pt) const

Mutators

virtual void Render ()
virtual void SizeMove (const Pt &ul, const Pt &lr)
virtual void Disable (bool b=true)
virtual void SetColor (Clr c)
void SizeSlider (T min, T max)
void SetMax (T max)
void SetMin (T min)
void SlideTo (T p)
void SetPageSize (T size)
void SetLineStyle (SliderLineStyle style)
virtual void LClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void KeyPress (Key key, boost::uint32_t key_code_point, Flags< ModKey > mod_keys)
virtual bool EventFilter (Wnd *w, const WndEvent &event)
void MoveTabToPosn ()

Additional Inherited Members

- Protected Attributes inherited from GG::Control
Clr m_color
bool m_disabled
- Protected Attributes inherited from GG::Wnd
bool m_done

Detailed Description

template<class T>
class GG::Slider< T >

A slider control.

This control class is templated so that arbitrary data types can be used with Slider. All the built-in numeric types are supported by the code here. If you want to use some other type, such as an enum type, you need to define operator+(), and operator-(). This control allows the user to drag a tab to a desired setting; it is somewhat like a Scroll. Sliders can be either vertical or horizontal, but cannot switch between the two. Unlike vertical Scrolls, whose values increase downward, vertical Sliders increase upward by default. Note that it is acceptible to define a range that increases from min to max, or one that decreases from min to max; both are legal.

Definition at line 57 of file Slider.h.


Member Function Documentation

template<class T >
Pt GG::Slider< T >::MinUsableSize ( ) const
virtual

Returns the size of the minimum bounding box that can enclose the Wnd and still show all of its elements, plus enough room for interaction with those elements (if applicable). For example, a TextControl's MinUsableSize() is just the area of its text, and a Scroll's MinUsableSize() is the combined sizes of its up-button, down-button, and tab (plus a bit of room in which to drag the tab).

Reimplemented from GG::Wnd.

Definition at line 207 of file Slider.h.

References GG::VERTICAL, GG::Pt::x, and GG::Pt::y.

template<class T >
T GG::Slider< T >::PageSize ( ) const

Returns the current page size, or the amount that the slider increments/decrements when a click occurs off of the tab. If not set, this defaults to 10% of the slider's range.

Definition at line 223 of file Slider.h.

template<class T >
void GG::Slider< T >::Render ( )
virtual

Draws this Wnd. Note that Wnds being dragged for a drag-and-drop operation are rendered twice – once in-place as normal, once in the location of the drag operation, attached to the cursor. Such Wnds may wish to render themselves differently in those two cases. To determine which render is being performed, they can call GUI::GetGUI()->RenderingDragDropWnds().

Implements GG::Control.

Definition at line 243 of file Slider.h.

References GG::BeveledRectangle(), GG::DisabledColor(), GG::FlatRectangle(), GG::Value(), GG::VERTICAL, GG::Pt::x, and GG::Pt::y.

template<class T >
void GG::Slider< T >::SizeMove ( const Pt ul,
const Pt lr 
)
virtual

Resizes and/or moves window to new upper-left and lower right boundaries.

Reimplemented from GG::Wnd.

Definition at line 275 of file Slider.h.

References GG::Wnd::SizeMove(), GG::VERTICAL, GG::Pt::x, and GG::Pt::y.

template<class T>
void GG::Slider< T >::SetPageSize ( size)

Sets the size of a "page", or the amount that the slider increments/decrements when a click occurs off of the tab. If not set, this defaults to 10% of the slider's range. To disable clicks off the tab, set the page size to 0.

Definition at line 326 of file Slider.h.

template<class T >
void GG::Slider< T >::LClick ( const Pt pt,
Flags< ModKey >  mod_keys 
)
protectedvirtual

Respond to release of left mouse button over this Wnd, if it was also originally depressed over this Wnd. A Wnd will receive an LButtonUp() message whenever a drag that started over its area ends over its area as well.

Reimplemented from GG::Wnd.

Definition at line 358 of file Slider.h.

template<class T >
void GG::Slider< T >::KeyPress ( Key  key,
boost::uint32_t  key_code_point,
Flags< ModKey >  mod_keys 
)
protectedvirtual

Respond to down-keystrokes (focus window only). A window may receive KeyPress() messages passed up to it from its children. For instance, Control-derived classes pass KeyPress() messages to their Parent() windows by default.

Note:
Though mouse clicks consist of a press and a release, all Control classes by default respond immediately to KeyPress(), not KeyRelease(); in fact, by default no Wnd class does anything at all on a KeyRelease event.
key_code_point will be zero if Unicode support is unavailable.

Reimplemented from GG::Control.

Definition at line 362 of file Slider.h.

References GG::HORIZONTAL, GG::Control::KeyPress(), and GG::VERTICAL.

template<class T >
bool GG::Slider< T >::EventFilter ( Wnd w,
const WndEvent event 
)
protectedvirtual

Handles an WndEvent destined for Wnd w, but which this Wnd is allowed to handle first. Returns true if this filter processed the message.

Reimplemented from GG::Wnd.

Definition at line 406 of file Slider.h.

References GG::WndEvent::Type(), GG::VERTICAL, GG::Pt::x, and GG::Pt::y.


The documentation for this class was generated from the following file: