|
mousetrap v0.2.0
|
a widget that allows to display multiple widgets above a common child More...
#include <overlay.hpp>
Public Member Functions | |
| Overlay () | |
| construct empty | |
| Overlay (detail::OverlayInternal *) | |
| construct from internal | |
| ~Overlay () | |
| destructor | |
| NativeObject | get_internal () const override |
| expose internal | |
| void | set_child (const Widget &widget) |
| set the bottom-most widget | |
| void | remove_child () |
| remove the bottom-most widget | |
| void | add_overlay (const Widget &widget, bool included_in_measurement=true, bool clip=false) |
| add a widget on top | |
| void | remove_overlay (const Widget &widget) |
| remove a widget from the overlay, this does not affect the bottom-most child widget | |
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_realize< Overlay > | |
| 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< Overlay > | |
| 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< Overlay > | |
| 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< Overlay > | |
| 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< Overlay > | |
| 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< Overlay > | |
| 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< Overlay > | |
| 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_realize< Overlay > | |
| static const char * | signal_id |
| glib ID | |
Static Public Attributes inherited from mousetrap::has_signal_unrealize< Overlay > | |
| static const char * | signal_id |
Static Public Attributes inherited from mousetrap::has_signal_destroy< Overlay > | |
| static const char * | signal_id |
Static Public Attributes inherited from mousetrap::has_signal_hide< Overlay > | |
| static const char * | signal_id |
| glib ID | |
Static Public Attributes inherited from mousetrap::has_signal_show< Overlay > | |
| static const char * | signal_id |
| glib ID | |
Static Public Attributes inherited from mousetrap::has_signal_map< Overlay > | |
| static const char * | signal_id |
| glib ID | |
Static Public Attributes inherited from mousetrap::has_signal_unmap< Overlay > | |
| 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_realize< Overlay > | |
| has_signal_realize (Overlay *instance) | |
Protected Member Functions inherited from mousetrap::has_signal_unrealize< Overlay > | |
| has_signal_unrealize (Overlay *instance) | |
| ctor protected | |
Protected Member Functions inherited from mousetrap::has_signal_destroy< Overlay > | |
| has_signal_destroy (Overlay *instance) | |
| ctor protected | |
Protected Member Functions inherited from mousetrap::has_signal_hide< Overlay > | |
| has_signal_hide (Overlay *instance) | |
Protected Member Functions inherited from mousetrap::has_signal_show< Overlay > | |
| has_signal_show (Overlay *instance) | |
Protected Member Functions inherited from mousetrap::has_signal_map< Overlay > | |
| has_signal_map (Overlay *instance) | |
Protected Member Functions inherited from mousetrap::has_signal_unmap< Overlay > | |
| has_signal_unmap (Overlay *instance) | |
a widget that allows to display multiple widgets above a common child
| signal id | signature | emitted when... |
|---|---|---|
| Signals inherited from Widget | ||
realize | (Overlay&, (Data_t)) -> void | Widget is realized, usually right before it is drawn for the first time |
unrealize | (Overlay&, (Data_t)) -> void | Widget is unmapped and will no longer be drawn |
destroy | (Overlay&, (Data_t)) -> void | Widgets internal state is deallocated, calling Widget::~Widget() may not necessarily emit this signal |
hide | (Overlay&, (Data_t)) -> void | Widget is actively hidden, leaves the visible area of the window, or its opacity is set to 0 |
show | (Overlay&, (Data_t)) -> void | Widget is drawn for the first time after being realized |
map | (Overlay&, (Data_t)) -> void | Widget is mapped, this happens the first time it and all its parents become visible |
unmap | (Overlay&, (Data_t)) -> void | Widget and all of its parents become hidden |
| void mousetrap::Overlay::add_overlay | ( | const Widget & | widget, |
| bool | included_in_measurement = true, |
||
| bool | clip = false |
||
| ) |
add a widget on top
| widget | |
| included_in_measurement | should the entire stacked overlay of widgets be resized if widget size exceeds that of the base childs size |
| clip | should the widget be clipped if the overlays size is smaller than that of the overlaid widget |
References add_overlay().
Referenced by add_overlay().
|
overridevirtual |
expose internal
Reimplemented from mousetrap::SignalEmitter.
| void mousetrap::Overlay::remove_overlay | ( | const Widget & | widget | ) |
remove a widget from the overlay, this does not affect the bottom-most child widget
| widget |
| void mousetrap::Overlay::set_child | ( | const Widget & | widget | ) |
set the bottom-most widget
| widget |
References set_child().
Referenced by mousetrap::PopupMessageOverlay::set_child(), and set_child().