GG: GG::PopupMenu Class Reference

GG

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

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

List of all members
GG::PopupMenu Class Reference

`#include <Menu.h>`

Inheritance diagram for GG::PopupMenu:

## Signal Types
typedef boost::signal< void(int)> | BrowsedSignalType

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

## Accessors
BrowsedSignalType | BrowsedSignal
virtual Pt | ClientUpperLeft () const
int | MenuID () const
Clr | BorderColor () const
Clr | InteriorColor () const
Clr | TextColor () const
Clr | HiliteColor () const
Clr | SelectedTextColor () const
const boost::shared_ptr< Font > & | GetFont () const
const MenuItem & | MenuData () const
const std::vector< Rect > & | OpenLevels () const
const std::vector< std::size_t > & | Caret () const
const MenuItem * | ItemSelected () const

## Mutators
virtual void | Render ()
virtual void | LButtonUp (const Pt &pt, Flags< ModKey > mod_keys)
virtual void | LClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void | LDrag (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 | MouseHere (const Pt &pt, Flags< ModKey > mod_keys)
virtual bool | Run ()
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::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
virtual void | DropsAcceptable (DropsAcceptableIter first, DropsAcceptableIter last, const Pt &pt) 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 | 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 | AcceptDrops (const std::vector< Wnd * > &wnds, const Pt &pt)
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)
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::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 | 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 | RDoubleClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void | MouseEnter (const Pt &pt, Flags< ModKey > mod_keys)
virtual void | MouseLeave ()
virtual void | MouseWheel (const Pt &pt, int move, 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 | 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)
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 inherited from GG::Wnd
bool | m_done

## Detailed Description

A modal pop-up menu.

PopupMenu gives calling code the abiltiy to create a pop-up menu (usually in response to a right mouse click), allow the pop-up to execute, and then obtain an integer ID representing the selected menu item, by calling MenuID(). If no menu item has been selected, MenuID() returns 0. Though every MenuItem in a PopupMenu may be attached to a slot directly, it is not recommended. The intent of this class is to act as a tool to get immediate input from the user, inline. However, attaching MenuItem signals directly to slots will work, and it will certainly be useful in some cases to do this. Also, 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 231 of file Menu.h.

## Constructor & Destructor Documentation

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

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

## Member Function Documentation

virtual Pt GG::PopupMenu::ClientUpperLeft | ( |  | ) | const
| virtual

Returns upper-left corner of window's client area in screen coordinates (or of the entire area, if no client area is specified). Virtual because different windows have different shapes (and so ways of calculating client area).

Reimplemented from GG::Wnd.

virtual void GG::PopupMenu::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().

Reimplemented from GG::Wnd.

virtual void GG::PopupMenu::LButtonUp | ( | const Pt & | pt,
|  | Flags< ModKey > | mod_keys
| ) |  |
| virtual

Respond to release of left mouse button outside this Wnd, if it was originally depressed over this Wnd. A Wnd will receive an LButtonUp() message whenever a drag that started over its area ends, even if the cursor is not currently over the window when this happens.

Reimplemented from GG::Wnd.

virtual void GG::PopupMenu::LClick | ( | const Pt & | pt,
|  | Flags< ModKey > | mod_keys
| ) |  |
| virtual

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.

virtual void GG::PopupMenu::LDrag | ( | const Pt & | pt,
|  | const Pt & | move,
|  | Flags< ModKey > | mod_keys
| ) |  |
| virtual

Respond to left button drag msg (even if this Wnd is not dragable). Drag messages are only sent to the window over which the button was pressed at the beginning of the drag. A window receives this whenever any input device button is down and the cursor is moving while over the window. The window will also receive drag messages when the mouse is being dragged outside the window's area.

Reimplemented from GG::Wnd.

virtual void GG::PopupMenu::RButtonUp | ( | const Pt & | pt,
|  | Flags< ModKey > | mod_keys
| ) |  |
| virtual

Respond to release of right mouse button outside this Wnd, if it was originally depressed over this Wnd.

See Also
  LButtonUp()

Reimplemented from GG::Wnd.

virtual void GG::PopupMenu::RClick | ( | const Pt & | pt,
|  | Flags< ModKey > | mod_keys
| ) |  |
| virtual

Respond to release of right mouse button over this Wnd, if it was also originally depressed over this Wnd.

See Also
  LClick()

Reimplemented from GG::Wnd.

virtual void GG::PopupMenu::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 bool GG::PopupMenu::Run | ( |  | ) |
| virtual

This executes a modal window and gives it its modality. For non-modal windows, this function is a no-op. It returns false if the window is non-modal, or true after successful modal execution.

Reimplemented from GG::Wnd.

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

- Menu.h