# CEGUI::MenuItem Class Reference

Base class for menu items. More...

Inheritance diagram for CEGUI::MenuItem:

[legend]
Collaboration diagram for CEGUI::MenuItem:

[legend]
List of all members.

## Public Member Functions

bool | isHovering (void) const
| return true if user is hovering over this widget (or it's pushed and user is not over it for highlight)
bool | isPushed (void) const
| Return true if the button widget is in the pushed state.
colour | getHoverColour (void) const
| return text label colour used for hover / highlight rendering
colour | getPushedColour (void) const
| return text label colour used for pushed rendering
colour | getOpenedColour (void) const
| return text label colour used for opened rendering
colour | getNormalTextColour (void) const
| return text label colour used for normal rendering
colour | getDisabledTextColour (void) const
| return text label colour used for disabled rendering
PopupMenu * | getPopupMenu (void) const
| Get the PopupMenu that is currently attached to this MenuItem.
void | setHoverColour (const colour &colour)
| Set the colour to use when rendering in the hover / highlighted states.
void | setPushedColour (const colour &colour)
| Set the colour to use when rendering in the pushed state.
void | setOpenedColour (const colour &colour)
| Set the colour to use when rendering in the opened state.
void | setNormalTextColour (const colour &colour)
| Set the colour to use for the label text when rendering in the normal state.
void | setDisabledTextColour (const colour &colour)
| Set the colour to use for the label text when rendering in the disabled state.
void | setPopupMenu (PopupMenu *popup)
| Set the popup menu for this item.
void | openPopupMenu (void)
| Opens the PopupMenu.
void | closePopupMenu (bool notify=true)
| Closes the PopupMenu.
bool | togglePopupMenu (void)
| Toggles the PopupMenu.
| MenuItem (const String &type, const String &name)
| Constructor for MenuItem objects.
virtual | ~MenuItem (void)
| Destructor for MenuItem objects.

## Static Public Attributes

static const String | EventNamespace
| Namespace for global events.
static const colour | DefaultHoverColour = 0xFFFFFFFF
| Default colour used when rendering in hover / highlight state.
static const colour | DefaultPushedColour = 0xFFFFFFFF
| Default colour used when rendering in pushed state.
static const colour | DefaultOpenedColour = 0xFFEFEFEF
| Default colour used when rendering in opended state.
static const colour | DefaultNormalTextColour = 0xFFFFFFFF
| Default colour used when rendering the text in normal state.
static const colour | DefaultDisabledTextColour = 0xFF7F7F7F
| Default colour used when rendering the text in disabled state.
static const String | EventClicked
| The menuitem was clicked.

## Protected Member Functions

virtual void | onClicked (WindowEventArgs &e)
| handler invoked internally when the MenuItem is clicked.
virtual void | onMouseMove (MouseEventArgs &e)
| Handler called when the mouse cursor has been moved within this window's area.
virtual void | onMouseButtonDown (MouseEventArgs &e)
| Handler called when a mouse button has been depressed within this window's area.
virtual void | onMouseButtonUp (MouseEventArgs &e)
| Handler called when a mouse button has been released within this window's area.
virtual void | onCaptureLost (WindowEventArgs &e)
| Handler called when this window loses capture of mouse inputs.
virtual void | onMouseLeaves (MouseEventArgs &e)
| Handler called when the mouse cursor has left this window's area.
void | updateInternalState (const Point &mouse_pos)
| Update the internal state of the widget with the mouse at the given position.
void | addMenuItemEvents (void)
| Add menuitem specific events.
void | closeAllMenuItemPopups ()
| Recursive function that closes all popups down the hierarcy starting with this one.
virtual bool | testClassName_impl (const String &class_name) const
| Return whether this window was inherited from the given class name at some point in the inheritance heirarchy.

## Protected Attributes

bool | d_pushed
| true when widget is pushed
bool | d_hovering
| true when the button is in 'hover' state and requires the hover rendering.
bool | d_opened
| true when the menu item's popup menu is opened.
colour | d_hoverColour
| Colour used when rendering in highlighted state.
colour | d_pushedColour
| Colour used when rendering in pushed state.
colour | d_openedColour
| Colour used when rendering in opened state.
colour | d_normalTextColour
| Colour used for the text when rendering in normal state.
colour | d_disabledTextColour
| Colour used for the text when rendering in disabled state.
PopupMenu * | d_popup
| PopupMenu that this item displays when activated.
bool | d_popupWasClosed
| Used internally to determine if a popup was just closed on a Clicked event.

## Detailed Description

Base class for menu items.

## Member Function Documentation

void CEGUI::MenuItem::closeAllMenuItemPopups | ( |  | ) | `[protected]`

Recursive function that closes all popups down the hierarcy starting with this one.

Returns:
  Nothing.

void CEGUI::MenuItem::closePopupMenu | ( | bool | notify = `true` | ) |

Closes the PopupMenu.

Parameters:

  | notify | true if the parent menubar is to be notified of the close.

Returns:
  Nothing.

colour CEGUI::MenuItem::getDisabledTextColour | ( | void |  | ) | const`[inline]`

return text label colour used for disabled rendering

Returns:
  colour value that is used for the label text when rendering in the disabled state.

colour CEGUI::MenuItem::getHoverColour | ( | void |  | ) | const`[inline]`

return text label colour used for hover / highlight rendering

Returns:
  colour value that is used for the label text when rendering in the hover / highlighted states.

colour CEGUI::MenuItem::getNormalTextColour | ( | void |  | ) | const`[inline]`

return text label colour used for normal rendering

Returns:
  colour value that is used for the label text when rendering in the normal state.

colour CEGUI::MenuItem::getOpenedColour | ( | void |  | ) | const`[inline]`

return text label colour used for opened rendering

Returns:
  colour value that is used for the label text when rendering in the opened state.

PopupMenu* CEGUI::MenuItem::getPopupMenu | ( | void |  | ) | const`[inline]`

Get the PopupMenu that is currently attached to this MenuItem.

Returns:
  A pointer to the currently attached PopupMenu. Null is there is no PopupMenu attached.

colour CEGUI::MenuItem::getPushedColour | ( | void |  | ) | const`[inline]`

return text label colour used for pushed rendering

Returns:
  colour value that is used for the label text when rendering in the pushed state.

bool CEGUI::MenuItem::isHovering | ( | void |  | ) | const`[inline]`

return true if user is hovering over this widget (or it's pushed and user is not over it for highlight)

Returns:
  true if the user is hovering or if the button is pushed and the mouse is not over the button. Otherwise return false.

bool CEGUI::MenuItem::isPushed | ( | void |  | ) | const`[inline]`

Return true if the button widget is in the pushed state.

Returns:
  true if the button-type widget is pushed, false if the widget is not pushed.

void CEGUI::MenuItem::onCaptureLost | ( | WindowEventArgs & | e | ) | `[protected, virtual]`

Handler called when this window loses capture of mouse inputs.

Parameters:

  | e | WindowEventArgs object whose 'window' pointer field is set to the window that triggered the event. For this event the trigger window is always 'this'.

Reimplemented from CEGUI::Window.

void CEGUI::MenuItem::onMouseButtonDown | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when a mouse button has been depressed within this window's area.

Parameters:

  | e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::MenuItem::onMouseButtonUp | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when a mouse button has been released within this window's area.

Parameters:

  | e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::MenuItem::onMouseLeaves | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when the mouse cursor has left this window's area.

Parameters:

  | e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::MenuItem::onMouseMove | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when the mouse cursor has been moved within this window's area.

Parameters:

  | e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::MenuItem::setDisabledTextColour | ( | const colour & | colour | ) |

Set the colour to use for the label text when rendering in the disabled state.

Parameters:

  | colour | colour value specifying the colour to be used.

Returns:
  Nothing.

void CEGUI::MenuItem::setHoverColour | ( | const colour & | colour | ) |

Set the colour to use when rendering in the hover / highlighted states.

Parameters:

  | colour | colour value specifying the colour to be used.

Returns:
  Nothing.

void CEGUI::MenuItem::setNormalTextColour | ( | const colour & | colour | ) |

Set the colour to use for the label text when rendering in the normal state.

Parameters:

  | colour | colour value specifying the colour to be used.

Returns:
  Nothing.

void CEGUI::MenuItem::setOpenedColour | ( | const colour & | colour | ) |

Set the colour to use when rendering in the opened state.

Parameters:

  | colour | colour value specifying the colour to be used.

Returns:
  Nothing.

void CEGUI::MenuItem::setPopupMenu | ( | PopupMenu * | popup | ) |

Set the popup menu for this item.

Parameters:

  | popup | popupmenu window to attach to this item

Returns:
  Nothing.

void CEGUI::MenuItem::setPushedColour | ( | const colour & | colour | ) |

Set the colour to use when rendering in the pushed state.

Parameters:

  | colour | colour value specifying the colour to be used.

Returns:
  Nothing.

virtual bool CEGUI::MenuItem::testClassName_impl | ( | const String & | class_name | ) | const`[inline, protected, virtual]`

Return whether this window was inherited from the given class name at some point in the inheritance heirarchy.

Parameters:

  | class_name | The class name that is to be checked.

Returns:
  true if this window was inherited from class_name. false if not.

Reimplemented from CEGUI::TextItem.

bool CEGUI::MenuItem::togglePopupMenu | ( | void |  | ) |

Toggles the PopupMenu.

Returns:
  true if the popup was opened. false if it was closed.

void CEGUI::MenuItem::updateInternalState | ( | const Point & | mouse_pos | ) | `[protected]`

Update the internal state of the widget with the mouse at the given position.

Parameters:

  | mouse_pos | Point object describing, in screen pixel co-ordinates, the location of the mouse cursor.

Returns:
  Nothing