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

widget displaying text, supports pango attribute syntax More...

#include <label.hpp>

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

Public Member Functions

 Label ()
 construct as empty
 
 Label (const std::string &formatted_string)
 construct from string
 
 Label (detail::LabelInternal *)
 create from internal
 
 ~Label ()
 destructor
 
NativeObject get_internal () const override
 expose internal
 
void set_text (const std::string &formatted_string)
 set text
 
std::string get_text ()
 get text
 
void set_use_markup (bool enable)
 set should respect pango attribute syntax, on by default
 
bool get_use_markup () const
 get whether label respects pango attribute syntax
 
void set_ellipsize_mode (EllipsizeMode mode)
 set ellipsize mode, mousetrap::EllipsizeMode::NONE by default
 
EllipsizeMode get_ellipsize_mode () const
 get ellipsize mode
 
void set_wrap_mode (LabelWrapMode mode)
 set wrap mode, mousetrap::LabelWrapMode::NONE by default
 
LabelWrapMode get_wrap_mode () const
 get wrap mode
 
void set_justify_mode (JustifyMode mode)
 set justify mdoe, mousetrap::JustifyMode::LEFT by default
 
JustifyMode get_justify_mode () const
 get justify mode
 
void set_max_width_chars (int32_t n_chars)
 set maximum allowed number of characters in one line, or -1 if unlimited
 
int32_t get_max_width_chars () const
 get maximum allowed number of characters in one line
 
void set_x_alignment (float offset)
 set horizontal offset of text
 
float get_x_alignment () const
 get horizontal offset of text
 
void set_y_alignment (float offset)
 set vertical offset of text
 
float get_y_alignment () const
 get vertical offset of text
 
void set_is_selectable (bool b)
 set whether the user can highlight the text with the cursor
 
bool get_is_selectable () const
 get whether the user can highight thex text with the cursor
 
- 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< Label >
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< Label >
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< Label >
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< Label >
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< Label >
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< Label >
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< Label >
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< Label >
static const char * signal_id
 glib ID
 
- Static Public Attributes inherited from mousetrap::has_signal_unrealize< Label >
static const char * signal_id
 
- Static Public Attributes inherited from mousetrap::has_signal_destroy< Label >
static const char * signal_id
 
- Static Public Attributes inherited from mousetrap::has_signal_hide< Label >
static const char * signal_id
 glib ID
 
- Static Public Attributes inherited from mousetrap::has_signal_show< Label >
static const char * signal_id
 glib ID
 
- Static Public Attributes inherited from mousetrap::has_signal_map< Label >
static const char * signal_id
 glib ID
 
- Static Public Attributes inherited from mousetrap::has_signal_unmap< Label >
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< Label >
 has_signal_realize (Label *instance)
 
- Protected Member Functions inherited from mousetrap::has_signal_unrealize< Label >
 has_signal_unrealize (Label *instance)
 ctor protected
 
- Protected Member Functions inherited from mousetrap::has_signal_destroy< Label >
 has_signal_destroy (Label *instance)
 ctor protected
 
- Protected Member Functions inherited from mousetrap::has_signal_hide< Label >
 has_signal_hide (Label *instance)
 
- Protected Member Functions inherited from mousetrap::has_signal_show< Label >
 has_signal_show (Label *instance)
 
- Protected Member Functions inherited from mousetrap::has_signal_map< Label >
 has_signal_map (Label *instance)
 
- Protected Member Functions inherited from mousetrap::has_signal_unmap< Label >
 has_signal_unmap (Label *instance)
 

Detailed Description

widget displaying text, supports pango attribute syntax

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

Constructor & Destructor Documentation

◆ Label()

mousetrap::Label::Label ( const std::string &  formatted_string)

construct from string

Parameters
formatted_string

Member Function Documentation

◆ get_ellipsize_mode()

EllipsizeMode mousetrap::Label::get_ellipsize_mode ( ) const

get ellipsize mode

Returns
mode

◆ get_internal()

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

expose internal

Reimplemented from mousetrap::SignalEmitter.

◆ get_is_selectable()

bool mousetrap::Label::get_is_selectable ( ) const

get whether the user can highight thex text with the cursor

Returns
true if selection is possible, false otherwise

◆ get_justify_mode()

JustifyMode mousetrap::Label::get_justify_mode ( ) const

get justify mode

Returns
mode

◆ get_max_width_chars()

int32_t mousetrap::Label::get_max_width_chars ( ) const

get maximum allowed number of characters in one line

Returns
uint64_t

◆ get_text()

std::string mousetrap::Label::get_text ( )

get text

Returns
text

◆ get_use_markup()

bool mousetrap::Label::get_use_markup ( ) const

get whether label respects pango attribute syntax

Returns
true if enabled, false otherwise

◆ get_wrap_mode()

LabelWrapMode mousetrap::Label::get_wrap_mode ( ) const

get wrap mode

Returns
mode

◆ get_x_alignment()

float mousetrap::Label::get_x_alignment ( ) const

get horizontal offset of text

Returns
offset

◆ get_y_alignment()

float mousetrap::Label::get_y_alignment ( ) const

get vertical offset of text

Returns
offset

◆ set_ellipsize_mode()

void mousetrap::Label::set_ellipsize_mode ( EllipsizeMode  mode)

set ellipsize mode, mousetrap::EllipsizeMode::NONE by default

Parameters
mode

◆ set_is_selectable()

void mousetrap::Label::set_is_selectable ( bool  b)

set whether the user can highlight the text with the cursor

Parameters
btrue if selection should be possible, false otherwise

◆ set_justify_mode()

void mousetrap::Label::set_justify_mode ( JustifyMode  mode)

set justify mdoe, mousetrap::JustifyMode::LEFT by default

Parameters
mode

◆ set_max_width_chars()

void mousetrap::Label::set_max_width_chars ( int32_t  n_chars)

set maximum allowed number of characters in one line, or -1 if unlimited

Parameters
n_chars

◆ set_text()

void mousetrap::Label::set_text ( const std::string &  formatted_string)

set text

Parameters
formatted_string

◆ set_use_markup()

void mousetrap::Label::set_use_markup ( bool  enable)

set should respect pango attribute syntax, on by default

Parameters
enable

◆ set_wrap_mode()

void mousetrap::Label::set_wrap_mode ( LabelWrapMode  mode)

set wrap mode, mousetrap::LabelWrapMode::NONE by default

Parameters
mode

◆ set_x_alignment()

void mousetrap::Label::set_x_alignment ( float  offset)

set horizontal offset of text

Parameters
offset

◆ set_y_alignment()

void mousetrap::Label::set_y_alignment ( float  offset)

set vertical offset of text

Parameters
offset

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