GG
Protected Member Functions | Protected Attributes | List of all members
GG::Control Class Referenceabstract

#include <Control.h>

Inheritance diagram for GG::Control:
GG::Wnd GG::ColorDlg::ColorDisplay GG::DropDownList GG::DynamicGraphic GG::HueSaturationPicker GG::ListBox GG::ListBox::Row GG::MenuBar GG::RadioButtonGroup GG::Scroll GG::Slider< T > GG::Spin< T > GG::StaticGraphic GG::TabBar GG::TextControl GG::ValuePicker GG::Slider< int >

Protected Member Functions

virtual void MouseWheel (const Pt &pt, int move, Flags< ModKey > mod_keys)
 
virtual void KeyPress (Key key, boost::uint32_t key_code_point, Flags< ModKey > mod_keys)
 
virtual void KeyRelease (Key key, boost::uint32_t key_code_point, Flags< ModKey > mod_keys)
 
- Protected Member Functions inherited from GG::Wnd
 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 LClick (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)
 
virtual bool EventFilter (Wnd *w, const WndEvent &event)
 
void HandleEvent (const WndEvent &event)
 
void ForwardEventToParent ()
 
void BeginClipping ()
 
void EndClipping ()
 
void BeginNonclientClipping ()
 
void EndNonclientClipping ()
 

Protected Attributes

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

Accessors

virtual void DropsAcceptable (DropsAcceptableIter first, DropsAcceptableIter last, const Pt &pt) const
 
Clr Color () const
 
bool Disabled () const
 

Mutators

virtual void AcceptDrops (const std::vector< Wnd * > &wnds, const Pt &pt)
 
virtual void Render ()=0
 
virtual void SetColor (Clr c)
 
virtual void Disable (bool b=true)
 

Structors

 Control ()
 
 Control (X x, Y y, X w, Y h, Flags< WndFlag > flags=INTERACTIVE)
 

Additional Inherited Members

- Public Types inherited from GG::Wnd
enum  ChildClippingMode {
  DontClip,
  ClipToClient,
  ClipToWindow,
  ClipToClientAndWindowSeparately
}
 
typedef std::map< const Wnd
*, bool >::iterator 
DropsAcceptableIter
 
- Public Member Functions inherited from GG::Wnd
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 MinUsableSize () 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)
 
virtual void SizeMove (const Pt &ul, const Pt &lr)
 
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)
 
- Static Public Member Functions inherited from GG::Wnd
static unsigned int DefaultBrowseTime ()
 
static void SetDefaultBrowseTime (unsigned int time)
 
static const boost::shared_ptr
< BrowseInfoWnd > & 
DefaultBrowseInfoWnd ()
 
static void SetDefaultBrowseInfoWnd (const boost::shared_ptr< BrowseInfoWnd > &browse_info_wnd)
 
- Protected Types inherited from GG::Wnd
enum  DragDropRenderingState {
  NOT_DRAGGED,
  IN_PLACE_COPY,
  DRAGGED_OVER_UNACCEPTING_DROP_TARGET,
  DRAGGED_OVER_ACCEPTING_DROP_TARGET
}
 

Detailed Description

An abstract base class for all control classes.

Each control has (like all windows) coordinates offset from the upper-left corner of it's parent's client area. All controls may be disabled. By default, a Control forwards several types of events and requests for action to its parent Wnd (e.g. AcceptDrops()). In particular, keyboard input not handled by the Control is forwarded to the Control's parent. Any class derived from Control should do the same with any keyboard input it does not need for its own use. For instance, an Edit control needs to know about arrow key keyboard input, but it should pass other key presses like 'ESC' to its parent.

Definition at line 48 of file Control.h.

Member Function Documentation

virtual void GG::Control::DropsAcceptable ( DropsAcceptableIter  first,
DropsAcceptableIter  last,
const Pt pt 
) const
virtual

Sets the second member of each iterator to true or false, indicating whether the Wnd in the first member would be accepted if dropped on this Wnd at pt.

Reimplemented from GG::Wnd.

Reimplemented in GG::ListBox.

virtual void GG::Control::AcceptDrops ( const std::vector< Wnd * > &  wnds,
const Pt pt 
)
virtual

When the user drops Wnds onto this Wnd, DropsAcceptable() is passed the list of dropped Wnds. The Wnds marked acceptable by DropsAcceptable() are then passed to AcceptDrops(), which handles the receipt of one or more drag-and-drop wnds into this Wnd.

Reimplemented from GG::Wnd.

Reimplemented in GG::ListBox.

virtual void GG::Control::Render ( )
pure 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().

Reimplemented from GG::Wnd.

Implemented in GG::ListBox, GG::RadioButtonGroup, GG::TabBar, GG::ColorDlg::ColorDisplay, GG::ListBox::Row, GG::StateButton, GG::MenuBar, GG::TextControl, GG::DynamicGraphic, GG::DropDownList, GG::Spin< T >, GG::ValuePicker, GG::Edit, GG::Slider< T >, GG::Slider< int >, GG::Scroll, GG::MultiEdit, GG::Button, GG::StaticGraphic, and GG::HueSaturationPicker.

virtual void GG::Control::MouseWheel ( const Pt pt,
int  move,
Flags< ModKey >  mod_keys 
)
protectedvirtual

Respond to movement of the mouse wheel (move > 0 indicates the wheel is rolled up, < 0 indicates down)

Reimplemented from GG::Wnd.

Reimplemented in GG::ListBox, GG::MultiEdit, and GG::Spin< T >.

virtual void GG::Control::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::Wnd.

Reimplemented in GG::ListBox, GG::MultiEdit, GG::Edit, GG::DropDownList, GG::Spin< T >, GG::Slider< T >, and GG::Slider< int >.

Referenced by GG::Slider< T >::KeyPress().

virtual void GG::Control::KeyRelease ( Key  key,
boost::uint32_t  key_code_point,
Flags< ModKey >  mod_keys 
)
protectedvirtual

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

Note
key_code_point will be zero if Unicode support is unavailable.

Reimplemented from GG::Wnd.


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