GG: GG::MenuBar Class Reference

GG

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

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

List of all members
GG::MenuBar Class Reference

`#include <Menu.h>`

Inheritance diagram for GG::MenuBar:

## 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 MenuItem & | AllMenus () const
bool | ContainsMenu (const std::string &str) const
std::size_t | NumMenus () const
const MenuItem & | GetMenu (const std::string &str) const
const MenuItem & | GetMenu (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)
MenuItem & | AllMenus ()
MenuItem & | GetMenu (const std::string &str)
MenuItem & | GetMenu (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
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::Control
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)
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 | 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)
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 }
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)
Protected Attributes inherited from GG::Control
Clr | m_color
bool | m_disabled

## 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:

- Menu.h