GG: GG::Control Class Reference

GG

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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

`#include <Control.h>`

Inheritance diagram for GG::Control:

## 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
Wnd * | Parent () const
Wnd * | RootParent () const
Layout * | GetLayout () const
Layout * | ContainingLayout () 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 ()
Layout * | DetachLayout ()
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:

- Control.h