GG
GG::MenuBar Class Reference

#include <Menu.h>

Inheritance diagram for GG::MenuBar:
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 void SetColor (Clr c)
virtual void Disable (bool b=true)
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 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)
 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 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 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 ()

Signal Types

typedef boost::signal< void(int)> BrowsedSignalType

Structors

 MenuBar (X x, Y y, X w, const boost::shared_ptr< Font > &font, Clr text_color=CLR_WHITE, Clr color=CLR_BLACK, Clr interior=CLR_SHADOW)
 MenuBar (X x, Y y, X w, const boost::shared_ptr< Font > &font, const MenuItem &m, Clr text_color=CLR_WHITE, Clr color=CLR_BLACK, Clr interior=CLR_SHADOW)
 MenuBar ()

Accessors

BrowsedSignalType BrowsedSignal
virtual Pt MinUsableSize () const
const MenuItemAllMenus () const
bool ContainsMenu (const std::string &str) const
std::size_t NumMenus () const
const MenuItemGetMenu (const std::string &str) const
const MenuItemGetMenu (std::size_t n) const
Clr BorderColor () const
Clr InteriorColor () const
Clr TextColor () const
Clr HiliteColor () const
Clr SelectedTextColor () const
const boost::shared_ptr< Font > & GetFont () const
const std::vector< TextControl * > & MenuLabels () const
std::size_t Caret () const

Mutators

virtual void Render ()
virtual void LButtonDown (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MouseHere (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MouseLeave ()
virtual void SizeMove (const Pt &ul, const Pt &lr)
MenuItemAllMenus ()
MenuItemGetMenu (const std::string &str)
MenuItemGetMenu (int n)
void AddMenu (const MenuItem &menu)
void SetBorderColor (Clr clr)
void SetInteriorColor (Clr clr)
void SetTextColor (Clr clr)
void SetHiliteColor (Clr clr)
void SetSelectedTextColor (Clr clr)

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

A menu bar control providing "browse" updates to user navigation of the menu.

Whenever a menu item is selected, a signal is emitted which includes the ID of the selected item. It is recommended that the user attach each menu item to an appropriate function the will execute the actions associated with the menu item, rather than attaching all the items to a single slot which uses the int ID parameter to deduce the appropriate action. The int ID parameter is best used when there are several menu items that should execute the same code with different parameters. For instance, if a submenu contains a list of recently used files, each item that contains a filename might be attached to a Reopen(int) function, and the int can be used to determine which file from the list should be opened. If some action is to be taken as the user browses the menu items, such as displaying some visual cue to indicate the result of chosing a particular menu entry, you can attach a slot function to the BrowsedSignalType object returned by BrowsedSignal. Whenever the mouse moves to a new menu item, this signal is emitted with the ID number of the item under the cursor.

Definition at line 122 of file Menu.h.


Constructor & Destructor Documentation

GG::MenuBar::MenuBar ( X  x,
Y  y,
X  w,
const boost::shared_ptr< Font > &  font,
Clr  text_color = CLR_WHITE,
Clr  color = CLR_BLACK,
Clr  interior = CLR_SHADOW 
)

ctor

Ctor. Parameter m should contain the desired menu in its next_level member.


Member Function Documentation

virtual Pt GG::MenuBar::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.

const MenuItem& GG::MenuBar::GetMenu ( const std::string &  str) const

returns a const reference to the top-level menu in the MenuBar whose label is str.

Note:
No check is made to ensure such a menu exists.
virtual void GG::MenuBar::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.

virtual void GG::MenuBar::LButtonDown ( const Pt pt,
Flags< ModKey >  mod_keys 
)
virtual

Respond to left button down msg. A window receives this whenever any input device button changes from up to down while over the window.

Note:
If this Wnd was created with the REPEAT_BUTTON_DOWN flag, this method may be called multiple times during a single button press-release cycle.
See also:
GG::GUI

Reimplemented from GG::Wnd.

virtual void GG::MenuBar::MouseHere ( const Pt pt,
Flags< ModKey >  mod_keys 
)
virtual

Respond to cursor moving about within the Wnd, or to cursor lingering within the Wnd for a long period of time. A MouseHere() message will not be generated the first time the cursor enters the window's area. In that case, a MouseEnter() message is generated.

Reimplemented from GG::Wnd.

virtual void GG::MenuBar::MouseLeave ( )
virtual

Respond to cursor leaving window's coords.

Reimplemented from GG::Wnd.

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

MenuItem& GG::MenuBar::GetMenu ( const std::string &  str)

Returns a reference to the top-level menu in the MenuBar whose label is str.

Note:
No check is made to ensure such a menu exists.

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