neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::menu_bar Class Reference

#include <menu_bar.hpp>

Inheritance diagram for neogfx::menu_bar:
neogfx::widget< Interface > neogfx::menu neogfx::layout_item< Base > neogfx::i_menu neogfx::anchorable< reference_counted< Base > > neogfx::i_action_container neolib::reference_counted< Base, DeallocateOnRelease >

Public Member Functions

const i_widgetas_widget () const override
 
i_widgetas_widget () override
 
neogfx::size_policy size_policy () const override
 
double opacity () const override
 
bool visible () const override
 
widget_list::const_iterator find (const i_widget &aChild, bool aThrowIfNotFound=true) const override
 
widget_list::iterator find (const i_widget &aChild, bool aThrowIfNotFound=true) override
 
item_index find (const i_menu_item &aItem) const override
 
item_index find (const i_menu &aSubMenu) const override
 
- Public Member Functions inherited from neogfx::widget< Interface >
 define_declared_event (DeviceMetricsUpdated, device_metrics_updated, const i_widget &) define_declared_event(ChildAdded
 
i_widgetdefine_declared_event (ChildRemoved, child_removed, i_widget &) define_declared_event(VisibilityChanged
 
i_widget visibility_changed define_declared_event (PositionChanged, position_changed) define_declared_event(ParentPositionChanged
 
i_widget visibility_changed parent_position_changed define_declared_event (SizeChanged, size_changed) define_declared_event(LayoutCompleted
 
i_widget visibility_changed parent_position_changed layout_completed define_declared_event (Painting, painting, i_graphics_context &) define_declared_event(PaintingChildren
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_contextdefine_declared_event (Painted, painted, i_graphics_context &) define_declared_event(Mouse
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_context const neogfx::mouse_eventdefine_declared_event (NonClientMouse, non_client_mouse_event, const neogfx::non_client_mouse_event &) define_declared_event(QueryMouseCursor
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_context const neogfx::mouse_event neogfx::mouse_cursordefine_declared_event (Keyboard, keyboard_event, const neogfx::keyboard_event &) define_declared_event(Focus
 
 widget ()
 
 widget (const widget &)=delete
 
 widget (i_widget &aParent)
 
 widget (i_layout &aLayout)
 
 ~widget ()
 
void property_changed (i_property &aProperty) override
 
bool is_singular () const final
 
void set_singular (bool aSingular) final
 
bool is_root () const final
 
bool has_root () const final
 
const i_windowroot () const final
 
i_windowroot () final
 
void set_root (i_window &aRoot) final
 
bool is_surface () const override
 
bool has_surface () const override
 
const i_surfacesurface () const override
 
i_surfacesurface () override
 
const i_surfacereal_surface () const override
 
i_surfacereal_surface () override
 
bool has_parent () const final
 
const i_widgetparent () const final
 
i_widgetparent () final
 
void set_parent (i_widget &aParent) override
 
void parent_changed () final
 
bool adding_child () const override
 
i_widgetadd (i_widget &aChild) override
 
i_widgetadd (const i_ref_ptr< i_widget > &aChild) override
 
void remove (i_widget &aChild, bool aSingular, i_ref_ptr< i_widget > &aChildRef) override
 
void remove_all () override
 
bool has_children () const override
 
const widget_listchildren () const override
 
widget_list::const_iterator last () const override
 
widget_list::iterator last () override
 
widget_list::const_iterator find (const i_widget &aChild, bool aThrowIfNotFound=true) const override
 
widget_list::iterator find (const i_widget &aChild, bool aThrowIfNotFound=true) override
 
void bring_child_to_front (const i_widget &aChild) override
 
void send_child_to_back (const i_widget &aChild) override
 
layer_t layer () const override
 
void set_layer (layer_t aLayer) override
 
const i_widgetbefore () const override
 
i_widgetbefore () override
 
const i_widgetafter () const override
 
i_widgetafter () override
 
void link_before (i_widget *aPreviousWidget) override
 
void link_after (i_widget *aNextWidget) override
 
void unlink () override
 
bool has_layout () const override
 
void set_layout (i_layout &aLayout, bool aMoveExistingItems=true) override
 
void set_layout (const i_ref_ptr< i_layout > &aLayout, bool aMoveExistingItems=true) override
 
const i_layoutlayout () const override
 
i_layoutlayout () override
 
bool can_defer_layout () const override
 
bool is_managing_layout () const override
 
optional< neogfx::layout_reason > & layout_reason () override
 
void layout_items (bool aDefer=false) override
 
void layout_items_started () override
 
bool layout_items_in_progress () const override
 
void layout_items_completed () override
 
bool device_metrics_available () const override
 
const i_device_metricsdevice_metrics () const override
 
neogfx::size_policy size_policy () const override
 
size minimum_size (optional_size const &aAvailableSpace={}) const override
 
size maximum_size (optional_size const &aAvailableSpace={}) const override
 
neogfx::padding padding () const override
 
rect element_rect (skin_element aElement) const override
 
bool has_logical_coordinate_system () const override
 
neogfx::logical_coordinate_system logical_coordinate_system () const override
 
void set_logical_coordinate_system (const optional_logical_coordinate_system &aLogicalCoordinateSystem) override
 
rect non_client_rect () const override
 
rect client_rect (bool aExtendIntoPadding=true) const override
 
void move (const point &aPosition) override
 
void moved () override
 
void parent_moved () override
 
bool resizing () const override
 
void resize (const size &aSize) override
 
void resized () override
 
const i_widgetget_widget_at (const point &aPosition) const override
 
i_widgetget_widget_at (const point &aPosition) override
 
neogfx::widget_type widget_type () const override
 
bool part_active (widget_part aPart) const override
 
widget_part part (const point &aPosition) const override
 
widget_part hit_test (const point &aPosition) const override
 
bool has_parent_layout () const final
 
const i_layoutparent_layout () const final
 
i_layoutparent_layout () final
 
void set_parent_layout (i_layout *aParentLayout) final
 
bool has_parent_widget () const final
 
const i_widgetparent_widget () const final
 
i_widgetparent_widget () final
 
void set_parent_widget (i_widget *aParentWidget) final
 
void layout_as (const point &aPosition, const size &aSize) override
 
neogfx::view const & view () const override
 
neogfx::viewview () override
 
layer_t render_layer () const override
 
void set_render_layer (const std::optional< layer_t > &aLayer) override
 
bool can_update () const override
 
bool update (bool aIncludeNonClient=false) override
 
bool update (const rect &aUpdateRect) override
 
bool requires_update () const override
 
rect update_rect () const override
 
rect default_clip_rect (bool aIncludeNonClient=false) const override
 
bool ready_to_render () const override
 
void render (i_graphics_context &aGc) const override
 
void paint_non_client (i_graphics_context &aGc) const override
 
void paint (i_graphics_context &aGc) const override
 
void paint_non_client_after (i_graphics_context &aGc) const override
 
double opacity () const override
 
void set_opacity (double aOpacity) override
 
bool has_background_opacity () const override
 
double background_opacity () const override
 
void set_background_opacity (double aOpacity) override
 
bool has_palette () const override
 
const i_palettepalette () const override
 
void set_palette (const i_palette &aPalette) override
 
bool has_palette_color (color_role aColorRole) const override
 
color palette_color (color_role aColorRole) const override
 
void set_palette_color (color_role aColorRole, const optional_color &aColor) override
 
color container_background_color () const override
 
bool has_font_role () const override
 
neogfx::font_role font_role () const override
 
void set_font_role (const optional_font_role &aFontRole) override
 
bool has_font () const override
 
const neogfx::font & font () const override
 
void set_font (optional_font const &aFont) override
 
bool visible () const override
 
bool effectively_visible () const override
 
bool hidden () const override
 
bool effectively_hidden () const override
 
bool show (bool aVisible) override
 
bool enabled () const override
 
bool effectively_enabled () const override
 
bool disabled () const override
 
bool effectively_disabled () const override
 
bool enable (bool aEnable) override
 
bool entered (bool aChildEntered=false) const override
 
bool can_capture () const override
 
bool capturing () const override
 
const optional_pointcapture_position () const override
 
void set_capture (capture_reason aReason=capture_reason::Other, const optional_point &aPosition={}) override
 
void release_capture (capture_reason aReason=capture_reason::Other) override
 
void non_client_set_capture () override
 
void non_client_release_capture () override
 
void captured () override
 
void capture_released () override
 
bool has_focus_policy () const override
 
neogfx::focus_policy focus_policy () const override
 
void set_focus_policy (const optional_focus_policy &aFocusPolicy) override
 
bool can_set_focus (focus_reason aFocusReason) const override
 
bool has_focus () const override
 
bool child_has_focus () const override
 
bool set_focus (focus_reason aFocusReason=focus_reason::Other) override
 
bool release_focus () override
 
void focus_gained (focus_reason aFocusReason) override
 
void focus_lost (focus_reason aFocusReason) override
 
bool consider_ancestors_for_mouse_events () const override
 
void set_consider_ancestors_for_mouse_events (bool aConsiderAncestors=true) override
 
bool ignore_mouse_events (bool aConsiderAncestors=true) const override
 
void set_ignore_mouse_events (bool aIgnoreMouseEvents) override
 
bool ignore_non_client_mouse_events (bool aConsiderAncestors=true) const override
 
void set_ignore_non_client_mouse_events (bool aIgnoreNonClientMouseEvents) override
 
neogfx::mouse_event_location mouse_event_location () const override
 
bool mouse_wheel_scrolled (mouse_wheel aWheel, const point &aPosition, delta aDelta, key_modifiers_e aKeyModifiers) override
 
void mouse_button_pressed (mouse_button aButton, const point &aPosition, key_modifiers_e aKeyModifiers) override
 
void mouse_button_double_clicked (mouse_button aButton, const point &aPosition, key_modifiers_e aKeyModifiers) override
 
void mouse_button_released (mouse_button aButton, const point &aPosition) override
 
void mouse_moved (const point &aPosition, key_modifiers_e aKeyModifiers) override
 
void mouse_entered (const point &aPosition) override
 
void mouse_left () override
 
point mouse_position () const override
 
neogfx::mouse_cursor mouse_cursor () const override
 
bool key_pressed (scan_code_e aScanCode, key_code_e aKeyCode, key_modifiers_e aKeyModifiers) override
 
bool key_released (scan_code_e aScanCode, key_code_e aKeyCode, key_modifiers_e aKeyModifiers) override
 
bool text_input (i_string const &aText) override
 
bool sys_text_input (i_string const &aText) override
 
const i_widgetwidget_for_mouse_event (const point &aPosition, bool aForHitTest=false) const override
 
i_widgetwidget_for_mouse_event (const point &aPosition, bool aForHitTest=false) override
 
- Public Member Functions inherited from neogfx::layout_item< Base >
 layout_item ()
 
 ~layout_item ()
 
const i_stringid () const final
 
void set_id (const i_string &aId) final
 
bool is_cache () const final
 
bool is_layout () const final
 
const i_layoutas_layout () const final
 
i_layoutas_layout () final
 
bool is_spacer () const final
 
const i_spacer & as_spacer () const final
 
i_spacer & as_spacer () final
 
bool is_widget () const override
 
const i_widgetas_widget () const override
 
i_widgetas_widget () override
 
bool has_parent_layout_item () const final
 
const i_layout_itemparent_layout_item () const final
 
i_layout_itemparent_layout_item () final
 
bool has_layout_manager () const final
 
const i_widgetlayout_manager () const final
 
i_widgetlayout_manager () final
 
void update_layout (bool aDeferLayout=true, bool aAncestors=false) final
 
point origin () const final
 
void reset_origin () const final
 
point position () const final
 
size extents () const final
 
bool has_size_policy () const noexcept override
 
neogfx::size_policy size_policy () const override
 
void set_size_policy (const optional_size_policy &aSizePolicy, bool aUpdateLayout=true) override
 
bool has_weight () const noexcept override
 
size weight () const override
 
void set_weight (optional_size const &aWeight, bool aUpdateLayout=true) override
 
bool has_ideal_size () const noexcept override
 
bool is_ideal_size_constrained () const noexcept override
 
size ideal_size (optional_size const &aAvailableSpace={}) const override
 
void set_ideal_size (optional_size const &aIdealSize, bool aUpdateLayout=true) override
 
bool has_minimum_size () const noexcept override
 
bool is_minimum_size_constrained () const noexcept override
 
size minimum_size (optional_size const &aAvailableSpace={}) const override
 
void set_minimum_size (optional_size const &aMinimumSize, bool aUpdateLayout=true) override
 
bool has_maximum_size () const noexcept override
 
bool is_maximum_size_constrained () const noexcept override
 
size maximum_size (optional_size const &aAvailableSpace={}) const override
 
void set_maximum_size (optional_size const &aMaximumSize, bool aUpdateLayout=true) override
 
bool has_fixed_size () const noexcept override
 
size fixed_size (optional_size const &aAvailableSpace={}) const override
 
void set_fixed_size (optional_size const &aFixedSize, bool aUpdateLayout=true)
 
bool has_transformation () const noexcept override
 
mat33 const & transformation (bool aCombineAncestorTransformations=false) const override
 
void set_transformation (optional_mat33 const &aTransformation, bool aUpdateLayout=true) override
 
bool has_margin () const noexcept override
 
neogfx::margin margin () const override
 
void set_margin (optional_margin const &aMargin, bool aUpdateLayout=true) override
 
bool has_border () const noexcept override
 
neogfx::border border () const override
 
void set_border (optional_border const &aBorder, bool aUpdateLayout=true) override
 
bool has_padding () const noexcept override
 
neogfx::padding padding () const override
 
void set_padding (optional_padding const &aPadding, bool aUpdateLayout=true) override
 
void invalidate_combined_transformation () override
 
void fix_weightings (bool aRecalculate=true) override
 
i_anchor & anchor_to (i_anchorable &aRhs, i_string const &aLhsAnchor, anchor_constraint_function aLhsFunction, i_string const &aRhsAnchor, anchor_constraint_function aRhsFunction) override
 
- Public Member Functions inherited from neogfx::anchorable< reference_counted< Base > >
 ~anchorable ()
 
i_anchor & anchor_to (i_anchorable &aRhs, const i_string &aLhsAnchor, anchor_constraint_function aLhsFunction, const i_string &aRhsAnchor, anchor_constraint_function aRhsFunction) override
 
const anchor_map_typeanchors () const override
 
anchor_map_typeanchors () override
 
- Public Member Functions inherited from neolib::reference_counted< Base, DeallocateOnRelease >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_type * release_and_take_ownership () const override
 
base_type * release_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 
- Public Member Functions inherited from neogfx::menu
 define_declared_event (MenuChanged, menu_changed) define_declared_event(ItemAdded
 
item_index define_declared_event (ItemRemoved, item_removed, item_index) define_declared_event(ItemChanged
 
item_index item_index define_declared_event (Opened, opened) define_declared_event(Closed
 
item_index item_index closed define_declared_event (ItemSelected, item_selected, i_menu_item &) define_declared_event(SelectionCleared
 
 menu (i_menu &aParent, std::string const &aTitle=std::string{}, menu_type aType=menu_type::Popup)
 
 menu (std::string const &aTitle=std::string{}, menu_type aType=menu_type::Popup)
 
 ~menu ()
 
bool has_parent () const override
 
i_menuparent () override
 
void set_parent (i_menu &aParent) override
 
menu_type type () const override
 
uuid const & group () const override
 
void set_group (uuid const &aGroup) override
 
i_string const & title () const override
 
void set_title (i_string const &aTitle) override
 
const i_textureimage () const override
 
void set_image (i_string const &aUri) override
 
void set_image (const i_image &aImage) override
 
void set_image (const i_texture &aTexture) override
 
uint32_t count () const override
 
uint32_t ideal_insert_index (uuid const &aGroup) const override
 
const i_menu_itemitem_at (item_index aItemIndex) const override
 
i_menu_itemitem_at (item_index aItemIndex) override
 
void add_sub_menu (i_menu &aSubMenu) override
 
i_menuadd_sub_menu (i_string const &aSubMenuTitle, uuid const &aGroup={}) override
 
i_actionadd_action (i_action &aAction) override
 
i_actionadd_action (i_ref_ptr< i_action > const &aAction) override
 
void add_separator (uuid const &aGroup={}) override
 
void insert_sub_menu_at (item_index aItemIndex, i_menu &aSubMenu) override
 
i_menuinsert_sub_menu_at (item_index aItemIndex, i_string const &aSubMenuText, uuid const &aGroup={}) override
 
void insert_action_at (item_index aItemIndex, i_action &aAction) override
 
void insert_action_at (item_index aItemIndex, i_ref_ptr< i_action > const &aAction) override
 
void insert_separator_at (item_index aItemIndex, uuid const &aGroup={}) override
 
void remove_at (item_index aItemIndex) override
 
item_index find_sub_menu (uuid const &aGroup) const override
 
bool has_selected_item () const override
 
item_index selected_item () const override
 
void select_item_at (item_index aItemIndex, bool aOpenAnySubMenu=true) override
 
void clear_selection () override
 
bool has_available_items () const override
 
bool item_available_at (item_index aItemIndex) const override
 
item_index first_available_item () const override
 
item_index previous_available_item (item_index aCurrentIndex) const override
 
item_index next_available_item (item_index aCurrentIndex) const override
 
bool is_open () const override
 
void open () override
 
void close () override
 
bool is_modal () const override
 
void set_modal (bool aModal) override
 
virtual uint32_t ideal_insert_index (uuid const &aGroup) const=0
 
uint32_t ideal_insert_index (i_action const &aAction) const
 
uint32_t ideal_insert_index (i_menu const &aSubMenu) const
 
- Public Member Functions inherited from neogfx::i_menu
 declare_event (menu_changed) declare_event(item_added
 
item_index declare_event (item_removed, item_index) declare_event(item_changed
 
item_index item_index declare_event (opened) declare_event(closed) declare_event(item_selected
 
item_index item_index i_menu_itemdeclare_event (selection_cleared) declare_event(open_sub_menu
 
virtual ~i_menu ()=default
 
uint32_t ideal_insert_index (i_action const &aAction) const
 
uint32_t ideal_insert_index (i_menu const &aSubMenu) const
 

Protected Member Functions

bool key_pressed (scan_code_e aScanCode, key_code_e aKeyCode, key_modifiers_e aKeyModifiers) override
 
bool key_released (scan_code_e aScanCode, key_code_e aKeyCode, key_modifiers_e aKeyModifiers) override
 
bool text_input (i_string const &aText) override
 
widget_part hit_test (const point &aPosition) const override
 
- Protected Member Functions inherited from neogfx::layout_item< Base >
void set_position (const point &aPosition) override
 
void set_extents (const size &aExtents) override
 
point unconstrained_origin () const override
 
point unconstrained_position () const override
 
void layout_item_enabled (i_layout_item &aItem) override
 
void layout_item_disabled (i_layout_item &aItem) override
 

Additional Inherited Members

- Public Types inherited from neogfx::widget< Interface >
typedef i_widget abstract_type
 
typedef neolib::vector< ref_ptr< i_widget > > widget_list
 
- Public Types inherited from neogfx::anchorable< reference_counted< Base > >
typedef neolib::map< string, i_anchor * > anchor_map_type
 
- Public Types inherited from neogfx::i_menu
typedef uint32_t item_index
 
typedef uint32_t item_index
 
- Public Attributes inherited from neogfx::widget< Interface >
 child_added
 
i_widget visibility_changed parent_position_changed layout_completed painting_children
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_context mouse_event
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_context const neogfx::mouse_event query_mouse_cursor
 
i_widget visibility_changed parent_position_changed layout_completed i_graphics_context const neogfx::mouse_event neogfx::mouse_cursor focus_event
 
- Public Attributes inherited from neogfx::layout_item< Base >
define_property(property_category::soft_geometry, point, Position, position) define_property(property_category cache< pointiOrigin
 
cache< mat33iCombinedTransformation
 
- Public Attributes inherited from neogfx::menu
item_index item_index closed selection_cleared define_declared_event(OpenSubMenu, open_sub_menu, i_menu &) private typedef std::vector< item_pointer > item_list
 
 item_added
 
item_index item_changed
 

Detailed Description

Definition at line 31 of file menu_bar.hpp.

Member Function Documentation

◆ as_widget() [1/2]

const i_widget & neogfx::menu_bar::as_widget ( ) const
overridevirtual

Reimplemented from neogfx::menu.

◆ as_widget() [2/2]

i_widget & neogfx::menu_bar::as_widget ( )
overridevirtual

Reimplemented from neogfx::menu.

◆ find() [1/4]

item_index neogfx::menu::find ( const i_menu aSubMenu) const
overridevirtual

Reimplemented from neogfx::menu.

◆ find() [2/4]

item_index neogfx::menu::find ( const i_menu_item aItem) const
overridevirtual

Reimplemented from neogfx::menu.

◆ find() [3/4]

widget< Interface >::widget_list::const_iterator neogfx::widget< Interface >::find ( const i_widget aChild,
bool  aThrowIfNotFound = true 
) const
override

Definition at line 111 of file widget.ipp.

◆ find() [4/4]

widget< Interface >::widget_list::iterator neogfx::widget< Interface >::find ( const i_widget aChild,
bool  aThrowIfNotFound = true 
)
override

Definition at line 112 of file widget.ipp.

◆ hit_test()

widget_part neogfx::menu_bar::hit_test ( const point aPosition) const
overrideprotected

◆ key_pressed()

bool neogfx::menu_bar::key_pressed ( scan_code_e  aScanCode,
key_code_e  aKeyCode,
key_modifiers_e  aKeyModifiers 
)
overrideprotected

◆ key_released()

bool neogfx::menu_bar::key_released ( scan_code_e  aScanCode,
key_code_e  aKeyCode,
key_modifiers_e  aKeyModifiers 
)
overrideprotected

◆ opacity()

double neogfx::menu_bar::opacity ( ) const
override

◆ size_policy()

neogfx::size_policy neogfx::menu_bar::size_policy ( ) const
override

◆ text_input()

bool neogfx::menu_bar::text_input ( i_string const &  aText)
overrideprotected

◆ visible()

bool neogfx::menu_bar::visible ( ) const
override

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