mousetrap v0.2.0
Loading...
Searching...
No Matches
mousetrap::HeaderBar Class Reference

widget that is usually used in the decoration of a window More...

#include <header_bar.hpp>

Inheritance diagram for mousetrap::HeaderBar:
mousetrap::has_signal_unmap< HeaderBar > mousetrap::has_signal_map< HeaderBar > mousetrap::has_signal_show< HeaderBar > mousetrap::has_signal_hide< HeaderBar > mousetrap::has_signal_destroy< HeaderBar > mousetrap::has_signal_unrealize< HeaderBar > mousetrap::has_signal_realize< HeaderBar > mousetrap::Widget

Public Member Functions

 HeaderBar ()
 construct
 
 HeaderBar (const std::string &layout_string)
 construct
 
 HeaderBar (detail::HeaderBarInternal *)
 construct from internal
 
 ~HeaderBar ()
 destructor
 
NativeObject get_internal () const override
 expose internal
 
void set_layout (const std::string &layout_string)
 set layout from config string, see https://docs.gtk.org/gtk4/method.HeaderBar.set_decoration_layout.html
 
std::string get_layout () const
 get layout config string
 
void set_title_widget (const Widget &widget)
 set widget that will appear as the header bars title, usually in the center
 
void remove_title_widget ()
 remove the titlebar widget
 
void set_show_title_buttons (bool b)
 set whether buttons like close, minimize, maximize should be visible
 
bool get_show_title_buttons () const
 get whether buttons like close, minimize, maximize are visible
 
void push_back (const Widget &widget)
 add a widget to the start of the header bar
 
void push_front (const Widget &widget)
 add a widget to the end of the header bar
 
void remove (const Widget &widget)
 remove a widget from the header bar
 
- Public Member Functions inherited from mousetrap::Widget
 Widget (detail::WidgetInternal *)
 construct from internal
 
virtual ~Widget ()
 default dtor
 
 Widget (const Widget &)=delete
 
Widgetoperator= (const Widget &) const =delete
 
 Widget (Widget &&other)=delete
 
Widgetoperator= (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< HeaderBar >
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< HeaderBar >
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< HeaderBar >
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< HeaderBar >
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< HeaderBar >
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< HeaderBar >
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< HeaderBar >
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< HeaderBar >
static const char * signal_id
 glib ID
 
- Static Public Attributes inherited from mousetrap::has_signal_unrealize< HeaderBar >
static const char * signal_id
 
- Static Public Attributes inherited from mousetrap::has_signal_destroy< HeaderBar >
static const char * signal_id
 
- Static Public Attributes inherited from mousetrap::has_signal_hide< HeaderBar >
static const char * signal_id
 glib ID
 
- Static Public Attributes inherited from mousetrap::has_signal_show< HeaderBar >
static const char * signal_id
 glib ID
 
- Static Public Attributes inherited from mousetrap::has_signal_map< HeaderBar >
static const char * signal_id
 glib ID
 
- Static Public Attributes inherited from mousetrap::has_signal_unmap< HeaderBar >
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< HeaderBar >
 has_signal_realize (HeaderBar *instance)
 
- Protected Member Functions inherited from mousetrap::has_signal_unrealize< HeaderBar >
 has_signal_unrealize (HeaderBar *instance)
 ctor protected
 
- Protected Member Functions inherited from mousetrap::has_signal_destroy< HeaderBar >
 has_signal_destroy (HeaderBar *instance)
 ctor protected
 
- Protected Member Functions inherited from mousetrap::has_signal_hide< HeaderBar >
 has_signal_hide (HeaderBar *instance)
 
- Protected Member Functions inherited from mousetrap::has_signal_show< HeaderBar >
 has_signal_show (HeaderBar *instance)
 
- Protected Member Functions inherited from mousetrap::has_signal_map< HeaderBar >
 has_signal_map (HeaderBar *instance)
 
- Protected Member Functions inherited from mousetrap::has_signal_unmap< HeaderBar >
 has_signal_unmap (HeaderBar *instance)
 

Detailed Description

widget that is usually used in the decoration of a window

signal id signature emitted when...
Signals inherited from Widget
realize (HeaderBar&, (Data_t)) -> void Widget is realized, usually right before it is drawn for the first time
unrealize (HeaderBar&, (Data_t)) -> void Widget is unmapped and will no longer be drawn
destroy (HeaderBar&, (Data_t)) -> void Widgets internal state is deallocated, calling Widget::~Widget() may not necessarily emit this signal
hide (HeaderBar&, (Data_t)) -> void Widget is actively hidden, leaves the visible area of the window, or its opacity is set to 0
show (HeaderBar&, (Data_t)) -> void Widget is drawn for the first time after being realized
map (HeaderBar&, (Data_t)) -> void Widget is mapped, this happens the first time it and all its parents become visible
unmap (HeaderBar&, (Data_t)) -> void Widget and all of its parents become hidden

Constructor & Destructor Documentation

◆ HeaderBar()

mousetrap::HeaderBar::HeaderBar ( const std::string &  layout_string)

construct

Parameters
layout_stringsee Headerbar::set_layout

References set_layout().

Member Function Documentation

◆ get_internal()

NativeObject mousetrap::HeaderBar::get_internal ( ) const
overridevirtual

expose internal

Reimplemented from mousetrap::SignalEmitter.

◆ get_layout()

std::string mousetrap::HeaderBar::get_layout ( ) const

get layout config string

Returns
string, adheres to https://docs.gtk.org/gtk4/method.HeaderBar.set_decoration_layout.html

◆ get_show_title_buttons()

bool mousetrap::HeaderBar::get_show_title_buttons ( ) const

get whether buttons like close, minimize, maximize are visible

Returns
true if visible, false otherwise

◆ push_back()

void mousetrap::HeaderBar::push_back ( const Widget widget)

add a widget to the start of the header bar

Parameters
widget

◆ push_front()

void mousetrap::HeaderBar::push_front ( const Widget widget)

add a widget to the end of the header bar

Parameters
widget

◆ remove()

void mousetrap::HeaderBar::remove ( const Widget widget)

remove a widget from the header bar

Parameters
widget

◆ set_layout()

void mousetrap::HeaderBar::set_layout ( const std::string &  layout_string)

set layout from config string, see https://docs.gtk.org/gtk4/method.HeaderBar.set_decoration_layout.html

Parameters
layout_string

Referenced by HeaderBar().

◆ set_show_title_buttons()

void mousetrap::HeaderBar::set_show_title_buttons ( bool  b)

set whether buttons like close, minimize, maximize should be visible

Parameters
btrue if visible, false otherwise

◆ set_title_widget()

void mousetrap::HeaderBar::set_title_widget ( const Widget widget)

set widget that will appear as the header bars title, usually in the center

Parameters
widget

References set_title_widget().

Referenced by set_title_widget().


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