|
mousetrap v0.2.0
|
popover menu button, if pressed, shows it's attached popover or popover menu automatically More...
#include <popover_button.hpp>
Public Member Functions | |
| PopoverButton (const Popover &) | |
| construct with no child and popover attached | |
| PopoverButton (const PopoverMenu &) | |
| construct with no child and popover menu attached | |
| PopoverButton (detail::PopoverButtonInternal *) | |
| construct from internal | |
| ~PopoverButton () | |
| destructor | |
| NativeObject | get_internal () const override |
| expose internal | |
| void | set_child (const Widget &widget) |
| set the label widget of the button | |
| void | set_icon (const Icon &) |
| set the label widget child from icon | |
| void | remove_child () |
| remove child | |
| void | set_popover (const Popover &popover) |
| attach a popover to the button, the button will take care of showing / hiding the popover | |
| void | set_popover_menu (const PopoverMenu &popover_menu) |
| attach a popover menu to the button, the button will take care of showing / hiden the popover menu | |
| void | set_relative_position (RelativePosition relative_position) |
| set relative position, applied to any popover attached | |
| RelativePosition | get_relative_position () const |
| get relative position of any potential popover | |
| void | remove_popover () |
| remove bound PopoverMenu or Popover | |
| void | set_always_show_arrow (bool) |
| set whether a menu dropdown arrow should appear next to the label widget, on by default | |
| bool | get_always_show_arrow () const |
| get whether a menu dropdown arrow is shown next to the label widget | |
| void | set_has_frame (bool b) |
| set whether the button has a black outline | |
| bool | get_has_frame () const |
| get whether the button has a black outline | |
| void | popup () |
| show the attached popover, does nothing if popover is already displayed or there is no popover attached | |
| void | popdown () |
| hide the attached popover, does nothing if popover is already hidden or there is no popover attached | |
| void | set_is_circular (bool b) |
| set whether button should be circular | |
| bool | get_is_circular () const |
| get whether button is circular | |
Public Member Functions inherited from mousetrap::Widget | |
| Widget (detail::WidgetInternal *) | |
| construct from internal | |
| virtual | ~Widget () |
| default dtor | |
| Widget (const Widget &)=delete | |
| Widget & | operator= (const Widget &) const =delete |
| Widget (Widget &&other)=delete | |
| Widget & | operator= (Widget &&)=delete |
| operator NativeObject () const override | |
| implement signal emitter | |
| NativeObject | get_internal () const override |
| expose internally managed object, \for_internal_use_only | |
| virtual | operator NativeWidget () const |
| expose as GtkWidget, this is the only function that needs to be implemented in oder for an object to act as a widget | |
| void | activate () |
| activate the widget, if it is activatable. This will also trigger any associated animations or signals | |
| Vector2f | get_size_request () |
| get minimum allocated size | |
| void | set_size_request (Vector2f) |
| set minimum allocated size | |
| bool | operator== (const Widget &other) const |
| check if both widgets point to the same internal object | |
| bool | operator!= (const Widget &other) const |
| check if both widgets point to the same internal object | |
| void | set_margin_top (float margin) |
| set top margin, minimum distance to any other widget boundary | |
| float | get_margin_top () const |
| get top margin, minimum distance to any other widget boundary | |
| void | set_margin_bottom (float margin) |
| set bottom margin, minimum distance to any other widget boundary | |
| float | get_margin_bottom () const |
| set botom margin, minimum distance to any other widget boundary | |
| void | set_margin_start (float margin) |
| set left margin, minimum distance to any other widget boundary | |
| float | get_margin_start () const |
| get left margin, minimum distance to any other widget boundary | |
| void | set_margin_end (float margin) |
| set right margin, minimum distance to any other widget boundary | |
| float | get_margin_end () const |
| get right margin, minimum distance to any other widget boundary | |
| void | set_margin_horizontal (float margin) |
| set left and right margin, minimum distance to any other widget boundary | |
| void | set_margin_vertical (float margin) |
| set top and bottom margin, minimum distance to any other widget boundary | |
| void | set_margin (float margin) |
| set margin in all directions, minimum distance to any other widget boundary | |
| void | set_expand_horizontally (bool should_expand) |
| set whether widget should attempt to allocate the maximum allowed space horizontally | |
| bool | get_expand_horizontally () const |
| get whether widget should attempt to allocate the maximum allowed space horizontally | |
| void | set_expand_vertically (bool should_expand) |
| set whether widget should attempt to allocate the maximum allowed space verticall | |
| bool | get_expand_vertically () const |
| get whether widget should attempt to allocate the maximum allowed space vertically | |
| void | set_expand (bool both) |
| set whether the widget should attempt to allocate the maximum allowed space in both dimensions | |
| void | set_horizontal_alignment (Alignment) |
| set where the widget should align itself along the x-axis | |
| Alignment | get_horizontal_alignment () const |
| get where the widget should align itself along the x-axis | |
| void | set_vertical_alignment (Alignment) |
| set where the widget should align itself along the y-axis | |
| Alignment | get_vertical_alignment () const |
| get where the widget should align itself along the y-axis | |
| void | set_alignment (Alignment both) |
| set where the widget should align itself along both axes | |
| void | set_opacity (float opacity) |
| set widget opacity, in [0, 1], if opacity is set to 0, equivalent to mousetrap::Widget::hide() | |
| float | get_opacity () |
| get widget opacity | |
| void | set_is_visible (bool b) |
| set whether the widget should be hidden | |
| bool | get_is_visible () |
| get whether the widget is hidden | |
| void | set_tooltip_text (const std::string &text) |
| set text displayed as a tooltip when the user hovers over the widget | |
| void | set_tooltip_widget (const Widget &widget) |
| set arbitrary widget displayed as a tooltip when user hovers over the widget | |
| void | remove_tooltip_widget () |
| remove tooltip | |
| void | set_cursor (CursorType type) |
| set the shape of cursor displayed when the cursor is above the widget | |
| void | set_cursor_from_image (const Image &image, Vector2i offset) |
| set cursor from custom image | |
| void | hide () |
| hide the widget, this may set its allocated size to 0 | |
| void | show () |
| show the widget, this allocates its size | |
| void | add_controller (const EventController &) |
| add an event controller to the widget, a widget may have an arbitrary number of controllers | |
| void | remove_controller (const EventController &) |
| remove an event controller from the widget, if event controller is not registered to widget, does nothing | |
| void | set_is_focusable (bool) |
| set whether the widgets can contain input focus | |
| bool | get_is_focusable () const |
| get whether widget can contain focus input focus | |
| void | grab_focus () |
| attempt to grab the input focus | |
| bool | get_has_focus () |
| get whether the wigdet currently holds input focus | |
| void | set_focus_on_click (bool) |
| set whether the input should attempt to grab the focus when the user clicks on it | |
| bool | get_focus_on_click () const |
| get whether the input should attempt to grab the focus when the user clicks on it | |
| bool | get_is_realized () |
| get whether the widget was realized | |
| Vector2f | get_minimum_size () const |
| get minimum size, this will always be equal to or larger than the size request | |
| Vector2f | get_natural_size () const |
| get natural size, this is the intended size of the widget if no expansion or clipping occurrs | |
| Vector2f | get_position () const |
| get position | |
| Vector2f | get_allocated_size () const |
| get allocated size | |
| void | unparent () |
| remove the widget from the container it is in, if any | |
| void | set_can_respond_to_input (bool) |
| set whether the widget is allowed to gather input events. If set to false, the widget may appear "grayed out" | |
| bool | get_can_respond_to_input () const |
| get whether the widget is allowed to gather input events | |
| template<typename Function_t , typename Data_t > | |
| void | set_tick_callback (Function_t function, Data_t data) |
| add a callback that is invoked every frame | |
| template<typename Function_t > | |
| void | set_tick_callback (Function_t function) |
| add a callback that is invoked every frame | |
| void | remove_tick_callback () |
| remove callback that si invoked every frame | |
| Clipboard | get_clipboard () const |
| get the widgets associated clipboard | |
| void | set_hide_on_overflow (bool b) |
| set whether a child widget inside this widget should be cutoff when it leaves this widgets boundary | |
| bool | get_hide_on_overflow () const |
| get whether a child widget inside this widget should be cutoff when it leaves this widgets boundary | |
| void | set_listens_for_shortcut_actions (Action &) |
| Convenience function that automatically adds the action to a shortcut controller of this widget. | |
| void | apply_style_class (const StyleClass &) |
| apply style class to widget and its children | |
| void | add_css_class (const std::string &css) |
| add css class | |
| void | remove_css_class (const std::string &css) |
| remove css class | |
| std::vector< std::string > | get_css_classes () const |
| get all applied css classes | |
Public Member Functions inherited from mousetrap::SignalEmitter | |
| void | set_signal_blocked (const std::string &signal_id, bool b) |
| block a signal by id \for_internal_use_only | |
| bool | get_signal_blocked (const std::string &signal_id) const |
| get whether a signal is currently blocked | |
| std::vector< std::string > | get_all_signal_names () |
| get list of possible signal ids \for_internal_use_only | |
| template<typename Function_t > | |
| void | connect_signal (const std::string &signal_id, Function_t *function, void *data=nullptr) |
| connect static function to signal, does not work with lambdas \for_internal_use_only | |
| void | disconnect_signal (const std::string &signal_id) |
| disconnect signal, it may not be invoked until reconnected, if signal is not registered, does nothing. For internal use only | |
| virtual | operator NativeObject () const =0 |
| expose as NativeObject, this is the GLib instance that signals are emitted on \for_internal_use_only | |
| virtual NativeObject | get_internal () const |
| expose internally managed object, \for_internal_use_only | |
Public Member Functions inherited from mousetrap::has_signal_activate< PopoverButton > | |
| void | connect_signal_activate (Function_t f, Data_t data) |
| connect handler, will be invoked when signal is emitted. Data is passed to the signal handler function | |
| void | connect_signal_activate (Function_t f) |
| connect handler, will be invoked when signal is emitted | |
| void | set_signal_activate_blocked (bool b) |
| bool | get_signal_activate_blocked () const |
| void | emit_signal_activate () |
| invoke signal handler manually | |
| void | disconnect_signal_activate () |
Public Member Functions inherited from mousetrap::has_signal_realize< PopoverButton > | |
| void | connect_signal_realize (Function_t f, Data_t data) |
| connect handler, will be invoked when signal is emitted. Data is passed to the signal handler function | |
| void | connect_signal_realize (Function_t f) |
| connect handler, will be invoked when signal is emitted | |
| void | set_signal_realize_blocked (bool b) |
| bool | get_signal_realize_blocked () const |
| void | emit_signal_realize () |
| invoke signal handler manually | |
| void | disconnect_signal_realize () |
Public Member Functions inherited from mousetrap::has_signal_unrealize< PopoverButton > | |
| void | connect_signal_unrealize (Function_t f, Data_t data) |
| connect handler, will be invoked when signal is emitted. Data is passed to the signal handler function | |
| void | connect_signal_unrealize (Function_t f) |
| connect handler, will be invoked when signal is emitted | |
| void | set_signal_unrealize_blocked (bool b) |
| Set whether signal emission should trigger the signal handler. | |
| bool | get_signal_unrealize_blocked () const |
| get whether signal emission should trigger the signal handler | |
| void | emit_signal_unrealize () |
| invoke signal handler manually | |
| void | disconnect_signal_unrealize () |
| disconnect the signal handler | |
Public Member Functions inherited from mousetrap::has_signal_destroy< PopoverButton > | |
| void | connect_signal_destroy (Function_t f, Data_t data) |
| connect handler, will be invoked when signal is emitted. Data is passed to the signal handler function | |
| void | connect_signal_destroy (Function_t f) |
| connect handler, will be invoked when signal is emitted | |
| void | set_signal_destroy_blocked (bool b) |
| Set whether signal emission should trigger the signal handler. | |
| bool | get_signal_destroy_blocked () const |
| get whether signal emission should trigger the signal handler | |
| void | emit_signal_destroy () |
| invoke signal handler manually | |
| void | disconnect_signal_destroy () |
| disconnect the signal handler | |
Public Member Functions inherited from mousetrap::has_signal_hide< PopoverButton > | |
| void | connect_signal_hide (Function_t f, Data_t data) |
| connect handler, will be invoked when signal is emitted. Data is passed to the signal handler function | |
| void | connect_signal_hide (Function_t f) |
| connect handler, will be invoked when signal is emitted | |
| void | set_signal_hide_blocked (bool b) |
| bool | get_signal_hide_blocked () const |
| void | emit_signal_hide () |
| invoke signal handler manually | |
| void | disconnect_signal_hide () |
Public Member Functions inherited from mousetrap::has_signal_show< PopoverButton > | |
| void | connect_signal_show (Function_t f, Data_t data) |
| connect handler, will be invoked when signal is emitted. Data is passed to the signal handler function | |
| void | connect_signal_show (Function_t f) |
| connect handler, will be invoked when signal is emitted | |
| void | set_signal_show_blocked (bool b) |
| bool | get_signal_show_blocked () const |
| void | emit_signal_show () |
| invoke signal handler manually | |
| void | disconnect_signal_show () |
Public Member Functions inherited from mousetrap::has_signal_map< PopoverButton > | |
| void | connect_signal_map (Function_t f, Data_t data) |
| connect handler, will be invoked when signal is emitted. Data is passed to the signal handler function | |
| void | connect_signal_map (Function_t f) |
| connect handler, will be invoked when signal is emitted | |
| void | set_signal_map_blocked (bool b) |
| bool | get_signal_map_blocked () const |
| void | emit_signal_map () |
| invoke signal handler manually | |
| void | disconnect_signal_map () |
Public Member Functions inherited from mousetrap::has_signal_unmap< PopoverButton > | |
| void | connect_signal_unmap (Function_t f, Data_t data) |
| connect handler, will be invoked when signal is emitted. Data is passed to the signal handler function | |
| void | connect_signal_unmap (Function_t f) |
| connect handler, will be invoked when signal is emitted | |
| void | set_signal_unmap_blocked (bool b) |
| bool | get_signal_unmap_blocked () const |
| void | emit_signal_unmap () |
| invoke signal handler manually | |
| void | disconnect_signal_unmap () |
Additional Inherited Members | |
Static Public Attributes inherited from mousetrap::has_signal_activate< PopoverButton > | |
| static const char * | signal_id |
| glib ID | |
Static Public Attributes inherited from mousetrap::has_signal_realize< PopoverButton > | |
| static const char * | signal_id |
| glib ID | |
Static Public Attributes inherited from mousetrap::has_signal_unrealize< PopoverButton > | |
| static const char * | signal_id |
Static Public Attributes inherited from mousetrap::has_signal_destroy< PopoverButton > | |
| static const char * | signal_id |
Static Public Attributes inherited from mousetrap::has_signal_hide< PopoverButton > | |
| static const char * | signal_id |
| glib ID | |
Static Public Attributes inherited from mousetrap::has_signal_show< PopoverButton > | |
| static const char * | signal_id |
| glib ID | |
Static Public Attributes inherited from mousetrap::has_signal_map< PopoverButton > | |
| static const char * | signal_id |
| glib ID | |
Static Public Attributes inherited from mousetrap::has_signal_unmap< PopoverButton > | |
| static const char * | signal_id |
| glib ID | |
Protected Member Functions inherited from mousetrap::Widget | |
| Widget (NativeWidget widget) | |
| ctor protected. Only inheriting classes should call this | |
Protected Member Functions inherited from mousetrap::SignalEmitter | |
| SignalEmitter () | |
| ctor | |
| ~SignalEmitter () | |
| destructor | |
Protected Member Functions inherited from mousetrap::has_signal_activate< PopoverButton > | |
| has_signal_activate (PopoverButton *instance) | |
Protected Member Functions inherited from mousetrap::has_signal_realize< PopoverButton > | |
| has_signal_realize (PopoverButton *instance) | |
Protected Member Functions inherited from mousetrap::has_signal_unrealize< PopoverButton > | |
| has_signal_unrealize (PopoverButton *instance) | |
| ctor protected | |
Protected Member Functions inherited from mousetrap::has_signal_destroy< PopoverButton > | |
| has_signal_destroy (PopoverButton *instance) | |
| ctor protected | |
Protected Member Functions inherited from mousetrap::has_signal_hide< PopoverButton > | |
| has_signal_hide (PopoverButton *instance) | |
Protected Member Functions inherited from mousetrap::has_signal_show< PopoverButton > | |
| has_signal_show (PopoverButton *instance) | |
Protected Member Functions inherited from mousetrap::has_signal_map< PopoverButton > | |
| has_signal_map (PopoverButton *instance) | |
Protected Member Functions inherited from mousetrap::has_signal_unmap< PopoverButton > | |
| has_signal_unmap (PopoverButton *instance) | |
popover menu button, if pressed, shows it's attached popover or popover menu automatically
| mousetrap::PopoverButton::PopoverButton | ( | const Popover & | popover | ) |
| mousetrap::PopoverButton::PopoverButton | ( | const PopoverMenu & | menu | ) |
construct with no child and popover menu attached
| popover_menu |
References set_popover_menu().
| bool mousetrap::PopoverButton::get_always_show_arrow | ( | ) | const |
get whether a menu dropdown arrow is shown next to the label widget
| bool mousetrap::PopoverButton::get_has_frame | ( | ) | const |
get whether the button has a black outline
|
overridevirtual |
expose internal
Reimplemented from mousetrap::SignalEmitter.
| bool mousetrap::PopoverButton::get_is_circular | ( | ) | const |
get whether button is circular
Referenced by set_is_circular().
| RelativePosition mousetrap::PopoverButton::get_relative_position | ( | ) | const |
get relative position of any potential popover
References mousetrap::log::critical().
| void mousetrap::PopoverButton::set_always_show_arrow | ( | bool | b | ) |
set whether a menu dropdown arrow should appear next to the label widget, on by default
| b | true if arrow should appearn, false otherwise |
| void mousetrap::PopoverButton::set_child | ( | const Widget & | widget | ) |
set the label widget of the button
| widget | can be nullptr |
References set_child().
Referenced by set_child().
| void mousetrap::PopoverButton::set_has_frame | ( | bool | b | ) |
set whether the button has a black outline
| b | true if it should have an outline, false otherwise |
| void mousetrap::PopoverButton::set_icon | ( | const Icon & | icon | ) |
set the label widget child from icon
| icon |
| void mousetrap::PopoverButton::set_is_circular | ( | bool | b | ) |
| void mousetrap::PopoverButton::set_popover | ( | const Popover & | popover | ) |
attach a popover to the button, the button will take care of showing / hiding the popover
| popover | Popover or nullptr to remove any popover or popover menu |
References mousetrap::Popover::get_internal().
Referenced by PopoverButton().
| void mousetrap::PopoverButton::set_popover_menu | ( | const PopoverMenu & | popover_menu | ) |
attach a popover menu to the button, the button will take care of showing / hiden the popover menu
| popover_menu |
References mousetrap::PopoverMenu::get_internal().
Referenced by PopoverButton().
| void mousetrap::PopoverButton::set_relative_position | ( | RelativePosition | relative_position | ) |
set relative position, applied to any popover attached
| relative_position |
References mousetrap::log::critical().