rofi
1.5.4
|
Data Structures | |
struct | textbox |
Enumerations | |
enum | TextboxFlags { TB_AUTOHEIGHT = 1 << 0, TB_AUTOWIDTH = 1 << 1, TB_EDITABLE = 1 << 19, TB_MARKUP = 1 << 20, TB_WRAP = 1 << 21, TB_PASSWORD = 1 << 22, TB_INDICATOR = 1 << 23, TB_ICON = 1 << 24 } |
enum | TextBoxFontType { NORMAL = 0, URGENT = 1, ACTIVE = 2, SELECTED = 4, MARKUP = 8, ALT = 16, HIGHLIGHT = 32, FMOD_MASK = ( ALT | HIGHLIGHT ), STATE_MASK = ~( SELECTED | MARKUP | ALT | HIGHLIGHT ) } |
Functions | |
textbox * | textbox_create (widget *parent, WidgetType type, const char *name, TextboxFlags flags, TextBoxFontType tbft, const char *text, double xalign, double yalign) |
void | textbox_font (textbox *tb, TextBoxFontType tbft) |
void | textbox_text (textbox *tb, const char *text) |
void | textbox_icon (textbox *tb, cairo_surface_t *icon) |
int | textbox_keybinding (textbox *tb, KeyBindingAction action) |
gboolean | textbox_append_text (textbox *tb, const char *pad, const int pad_len) |
void | textbox_cursor (textbox *tb, int pos) |
void | textbox_insert (textbox *tb, const int char_pos, const char *str, const int slen) |
void | textbox_setup (void) |
void | textbox_cleanup (void) |
int | textbox_get_height (const textbox *tb) |
int | textbox_get_font_height (const textbox *tb) |
int | textbox_get_font_width (const textbox *tb) |
double | textbox_get_estimated_char_width (void) |
double | textbox_get_estimated_ch (void) |
double | textbox_get_estimated_char_height (void) |
void | textbox_delete (textbox *tb, int pos, int dlen) |
void | textbox_moveresize (textbox *tb, int x, int y, int w, int h) |
int | textbox_get_estimated_height (const textbox *tb, int eh) |
void | textbox_set_pango_context (const char *font, PangoContext *p) |
void | textbox_set_pango_attributes (textbox *tb, PangoAttrList *list) |
void | textbox_set_icon_index (textbox *tb, int index) |
PangoAttrList * | textbox_get_pango_attributes (textbox *tb) |
const char * | textbox_get_visible_text (const textbox *tb) |
int | textbox_get_desired_width (widget *wid) |
void | textbox_cursor_end (textbox *tb) |
void | textbox_set_ellipsize (textbox *tb, PangoEllipsizeMode mode) |
Variables | |
widget | textbox::widget |
unsigned long | textbox::flags |
short | textbox::cursor |
char * | textbox::text |
PangoLayout * | textbox::layout |
int | textbox::tbft |
int | textbox::markup |
int | textbox::changed |
cairo_surface_t * | textbox::icon |
int | textbox::icon_index |
int | textbox::blink |
guint | textbox::blink_timeout |
double | textbox::yalign |
double | textbox::xalign |
PangoFontMetrics * | textbox::metrics |
PangoEllipsizeMode | textbox::emode |
int | textbox::left_offset |
const char * | textbox::theme_name |
enum TextboxFlags |
enum TextBoxFontType |
Flags indicating current state of the textbox.
gboolean textbox_append_text | ( | textbox * | tb, |
const char * | pad, | ||
const int | pad_len | ||
) |
tb | Handle to the textbox |
pad | The text to insert |
pad_len | the length of the text |
The text should be one insert from a keypress.. the first gunichar is validated to be (or not) control return TRUE if inserted
Definition at line 801 of file textbox.c.
References textbox::cursor, textbox::flags, TB_EDITABLE, textbox_cursor(), and textbox_insert().
Referenced by rofi_view_handle_text().
void textbox_cleanup | ( | void | ) |
Cleanup the allocated colors and fonts by textbox_setup().
Definition at line 851 of file textbox.c.
References p_context, and tbfc_cache.
Referenced by teardown().
textbox* textbox_create | ( | widget * | parent, |
WidgetType | type, | ||
const char * | name, | ||
TextboxFlags | flags, | ||
TextBoxFontType | tbft, | ||
const char * | text, | ||
double | xalign, | ||
double | yalign | ||
) |
parent | The widget's parent. |
type | The type of the to be created widget. |
name | The name of the to be created widget. |
flags | TextboxFlags indicating the type of textbox. |
tbft | TextBoxFontType current state of textbox. |
text | initial text to display. |
xalign | Set the Xalign value. |
yalign | set the yalign value. |
Create a new textbox widget.
free with widget_free
Definition at line 166 of file textbox.c.
References _textbox_get_height(), textbox::blink, textbox::blink_timeout, textbox::changed, _widget::draw, textbox::emode, textbox::flags, flags, _widget::free, _widget::get_desired_height, _widget::get_desired_width, _widget::get_height, _widget::get_width, _widget::h, textbox::layout, textbox::left_offset, p_context, _widget::resize, rofi_theme_get_double(), rofi_theme_get_string(), TB_EDITABLE, TB_ICON, TB_WRAP, textbox_blink(), textbox_cursor_end(), textbox_draw(), textbox_editable_trigger_action(), textbox_font(), textbox_free(), textbox_get_desired_height(), textbox_get_desired_width(), textbox_get_width(), textbox_initialize_font(), textbox_moveresize(), textbox_resize(), textbox_text(), _widget::trigger_action, _widget::w, textbox::widget, WIDGET, widget_init(), _widget::x, textbox::xalign, _widget::y, and textbox::yalign.
Referenced by listview_create(), listview_recompute_elements(), rofi_view_add_widget(), and rofi_view_error_dialog().
void textbox_cursor | ( | textbox * | tb, |
int | pos | ||
) |
tb | Handle to the textbox |
pos | New cursor position |
Set the cursor position (string index)
Definition at line 497 of file textbox.c.
References textbox::blink, textbox::cursor, textbox::text, WIDGET, and widget_queue_redraw().
Referenced by textbox_append_text(), textbox_cursor_dec(), textbox_cursor_dec_word(), textbox_cursor_inc(), textbox_cursor_inc_word(), textbox_editable_trigger_action(), and textbox_keybinding().
void textbox_cursor_end | ( | textbox * | tb | ) |
tb | Handle to the textbox |
Move the cursor to the end of the string.
Definition at line 600 of file textbox.c.
References textbox::blink, textbox::cursor, textbox::text, WIDGET, and widget_queue_redraw().
Referenced by rofi_view_create(), textbox_create(), textbox_editable_trigger_action(), and textbox_keybinding().
void textbox_delete | ( | textbox * | tb, |
int | pos, | ||
int | dlen | ||
) |
tb | Handle to the textbox |
pos | The start position |
dlen | The length |
Remove dlen bytes from position pos.
Definition at line 638 of file textbox.c.
References textbox::blink, textbox::changed, textbox::cursor, and textbox::text.
Referenced by textbox_cursor_bkspc_word(), textbox_cursor_del(), textbox_cursor_del_eol(), textbox_cursor_del_sol(), and textbox_cursor_del_word().
void textbox_font | ( | textbox * | tb, |
TextBoxFontType | tbft | ||
) |
tb | Handle to the textbox |
tbft | The style of font to render. |
Set the font render style.
Definition at line 231 of file textbox.c.
References ACTIVE, ALT, FMOD_MASK, HIGHLIGHT, _widget::state, STATE_MASK, textbox::tbft, theme_prop_names, URGENT, textbox::widget, WIDGET, widget_queue_redraw(), and widget_set_state().
Referenced by rofi_view_switch_mode(), textbox_create(), and update_callback().
int textbox_get_desired_width | ( | widget * | wid | ) |
wid | The handle to the textbox. |
TODO: is this deprecated by widget::get_desired_width
Definition at line 935 of file textbox.c.
References distance_get_pixel(), DOT_OFFSET, _widget::expand, textbox::flags, textbox::layout, textbox::left_offset, ROFI_ORIENTATION_HORIZONTAL, rofi_theme_get_distance(), TB_AUTOWIDTH, TB_INDICATOR, textbox_get_font_width(), WIDGET, widget_padding_get_left(), widget_padding_get_padding_width(), and widget_padding_get_right().
Referenced by barview_draw(), and textbox_create().
double textbox_get_estimated_ch | ( | void | ) |
Estimate the width of a 0.
Definition at line 921 of file textbox.c.
References ch_width, and p_metrics.
Referenced by distance_get_pixel().
double textbox_get_estimated_char_height | ( | void | ) |
Estimate the height of a character.
Definition at line 899 of file textbox.c.
References char_height, and p_metrics.
Referenced by distance_get_pixel(), and textbox_initialize_font().
double textbox_get_estimated_char_width | ( | void | ) |
Estimate the width of a character.
Definition at line 910 of file textbox.c.
References char_width, and p_metrics.
Referenced by rofi_view_calculate_window_width().
int textbox_get_estimated_height | ( | const textbox * | tb, |
int | eh | ||
) |
tb | Handle to the textbox |
eh | The number of rows to display |
Get the (estimated) with of a character, can be used to calculate window width. This includes padding.
Definition at line 930 of file textbox.c.
References textbox::metrics, WIDGET, and widget_padding_get_padding_height().
Referenced by listview_create().
int textbox_get_font_height | ( | const textbox * | tb | ) |
tb | Handle to the textbox |
Get the height of the rendered string.
Definition at line 883 of file textbox.c.
References textbox::layout.
Referenced by textbox_get_height(), and update_callback().
int textbox_get_font_width | ( | const textbox * | tb | ) |
tb | Handle to the textbox |
Get the width of the rendered string.
Definition at line 890 of file textbox.c.
References textbox::layout.
Referenced by textbox_editable_trigger_action(), textbox_get_desired_width(), textbox_get_width(), and textbox_moveresize().
int textbox_get_height | ( | const textbox * | tb | ) |
tb | Handle to the textbox |
Get the height of the textbox
Definition at line 878 of file textbox.c.
References textbox_get_font_height(), WIDGET, and widget_padding_get_padding_height().
Referenced by _textbox_get_height(), textbox_get_desired_height(), and textbox_moveresize().
PangoAttrList* textbox_get_pango_attributes | ( | textbox * | tb | ) |
tb | Handle to the textbox |
Get the list of currently active pango attributes.
Definition at line 289 of file textbox.c.
References textbox::layout.
Referenced by update_callback().
const char* textbox_get_visible_text | ( | const textbox * | tb | ) |
tb | Handle to the textbox |
Definition at line 282 of file textbox.c.
References textbox::layout.
Referenced by update_callback().
void textbox_icon | ( | textbox * | tb, |
cairo_surface_t * | icon | ||
) |
tb | Handle to the textbox |
icon | The icon to show on the textbox |
Set the text to show. Cursor is moved to end (if visible)
Definition at line 337 of file textbox.c.
References textbox::icon, WIDGET, and widget_queue_redraw().
Referenced by update_callback().
void textbox_insert | ( | textbox * | tb, |
const int | char_pos, | ||
const char * | str, | ||
const int | slen | ||
) |
tb | Handle to the textbox |
char_pos | The position to insert the string at |
str | The string to insert. |
slen | The length of the string. |
Insert the string str at position pos.
Definition at line 614 of file textbox.c.
References textbox::blink, textbox::changed, and textbox::text.
Referenced by textbox_append_text().
int textbox_keybinding | ( | textbox * | tb, |
KeyBindingAction | action | ||
) |
tb | Handle to the textbox |
action | the KeyBindingAction to execute on textbox |
Execute an action on the textbox.
Definition at line 737 of file textbox.c.
References CLEAR_LINE, textbox::flags, MOVE_CHAR_BACK, MOVE_CHAR_FORWARD, MOVE_END, MOVE_FRONT, MOVE_WORD_BACK, MOVE_WORD_FORWARD, REMOVE_CHAR_BACK, REMOVE_CHAR_FORWARD, REMOVE_TO_EOL, REMOVE_TO_SOL, REMOVE_WORD_BACK, REMOVE_WORD_FORWARD, TB_EDITABLE, textbox_cursor(), textbox_cursor_bkspc(), textbox_cursor_bkspc_word(), textbox_cursor_dec(), textbox_cursor_dec_word(), textbox_cursor_del(), textbox_cursor_del_eol(), textbox_cursor_del_sol(), textbox_cursor_del_word(), textbox_cursor_end(), textbox_cursor_inc(), textbox_cursor_inc_word(), and textbox_text().
Referenced by rofi_view_nav_row_select(), and rofi_view_trigger_global_action().
void textbox_moveresize | ( | textbox * | tb, |
int | x, | ||
int | y, | ||
int | w, | ||
int | h | ||
) |
tb | Handle to the textbox |
x | The new horizontal position to place with textbox |
y | The new vertical position to place with textbox |
w | The new width of the textbox |
h | The new height of the textbox |
Move and resize the textbox. TODO remove for widget_resize and widget_move
Definition at line 353 of file textbox.c.
References DOT_OFFSET, textbox::emode, textbox::flags, _widget::h, textbox::layout, textbox::left_offset, TB_AUTOHEIGHT, TB_AUTOWIDTH, TB_EDITABLE, TB_INDICATOR, TB_WRAP, textbox_get_font_width(), textbox_get_height(), _widget::w, textbox::widget, WIDGET, widget_padding_get_padding_width(), widget_queue_redraw(), _widget::x, and _widget::y.
Referenced by barview_draw(), listview_draw(), textbox_create(), textbox_resize(), and textbox_text().
void textbox_set_ellipsize | ( | textbox * | tb, |
PangoEllipsizeMode | mode | ||
) |
tb | Handle to the textbox |
mode | The PangoEllipsizeMode to use displaying the text in the textbox |
Set the ellipsizing mode used on the string.
Definition at line 958 of file textbox.c.
References textbox::emode, textbox::flags, textbox::layout, TB_WRAP, WIDGET, and widget_queue_redraw().
Referenced by listview_toggle_ellipsizing().
void textbox_set_icon_index | ( | textbox * | tb, |
int | index | ||
) |
tb | Handle to the textbox |
index | character index to draw the icon at. -1 for no icon |
Sets the character index where the icon should be drawn
void textbox_set_pango_attributes | ( | textbox * | tb, |
PangoAttrList * | list | ||
) |
tb | Handle to the textbox |
list | New pango attributes |
Sets list as active pango attributes.
Definition at line 296 of file textbox.c.
References textbox::layout.
Referenced by update_callback().
void textbox_set_pango_context | ( | const char * | font, |
PangoContext * | p | ||
) |
font | The name of the font used. |
p | The new default PangoContext |
Set the default pango context (with font description) for all textboxes.
Definition at line 840 of file textbox.c.
References default_font_name, TBFontConfig::height, TBFontConfig::metrics, p_context, p_metrics, and tbfc_cache.
Referenced by __create_window().
void textbox_setup | ( | void | ) |
Setup the cached fonts. This is required to do before any of the textbox_ functions is called. Clean with textbox_cleanup()
Definition at line 833 of file textbox.c.
References tbfc_cache, and tbfc_entry_free().
Referenced by main().
void textbox_text | ( | textbox * | tb, |
const char * | text | ||
) |
tb | Handle to the textbox |
text | The text to show in the textbox |
Set the text to show. Cursor is moved to end (if visible)
Definition at line 305 of file textbox.c.
References __textbox_update_pango_text(), textbox::cursor, textbox::flags, _widget::h, TB_AUTOWIDTH, textbox::text, textbox_moveresize(), _widget::w, textbox::widget, WIDGET, widget_queue_redraw(), widget_update(), _widget::x, and _widget::y.
Referenced by rofi_view_add_widget(), rofi_view_clear_input(), rofi_view_create(), rofi_view_nav_row_select(), rofi_view_reload_message_bar(), rofi_view_set_overlay(), rofi_view_trigger_global_action(), rofi_view_update_prompt(), textbox_create(), textbox_keybinding(), and update_callback().
int textbox::blink |
Definition at line 64 of file textbox.h.
Referenced by textbox_blink(), textbox_create(), textbox_cursor(), textbox_cursor_end(), textbox_delete(), textbox_draw(), and textbox_insert().
guint textbox::blink_timeout |
Definition at line 65 of file textbox.h.
Referenced by textbox_create(), and textbox_free().
int textbox::changed |
Definition at line 59 of file textbox.h.
Referenced by textbox_create(), textbox_delete(), textbox_draw(), textbox_get_desired_height(), and textbox_insert().
short textbox::cursor |
Definition at line 54 of file textbox.h.
Referenced by textbox_append_text(), textbox_cursor(), textbox_cursor_bkspc(), textbox_cursor_bkspc_word(), textbox_cursor_dec(), textbox_cursor_dec_word(), textbox_cursor_del(), textbox_cursor_del_eol(), textbox_cursor_del_sol(), textbox_cursor_del_word(), textbox_cursor_end(), textbox_cursor_inc(), textbox_cursor_inc_word(), textbox_delete(), textbox_draw(), and textbox_text().
PangoEllipsizeMode textbox::emode |
Definition at line 71 of file textbox.h.
Referenced by textbox_create(), textbox_moveresize(), and textbox_set_ellipsize().
unsigned long textbox::flags |
Definition at line 53 of file textbox.h.
Referenced by __textbox_update_pango_text(), _textbox_get_height(), textbox_append_text(), textbox_create(), textbox_draw(), textbox_get_desired_height(), textbox_get_desired_width(), textbox_get_width(), textbox_keybinding(), textbox_moveresize(), textbox_set_ellipsize(), and textbox_text().
cairo_surface_t* textbox::icon |
Definition at line 61 of file textbox.h.
Referenced by textbox_draw(), textbox_free(), and textbox_icon().
PangoLayout* textbox::layout |
Definition at line 56 of file textbox.h.
Referenced by __textbox_update_pango_text(), textbox_create(), textbox_draw(), textbox_editable_trigger_action(), textbox_free(), textbox_get_desired_width(), textbox_get_font_height(), textbox_get_font_width(), textbox_get_pango_attributes(), textbox_get_visible_text(), textbox_initialize_font(), textbox_moveresize(), textbox_set_ellipsize(), and textbox_set_pango_attributes().
int textbox::left_offset |
Definition at line 72 of file textbox.h.
Referenced by textbox_create(), textbox_draw(), textbox_get_desired_width(), textbox_initialize_font(), and textbox_moveresize().
PangoFontMetrics* textbox::metrics |
Definition at line 70 of file textbox.h.
Referenced by textbox_draw(), textbox_get_estimated_height(), and textbox_initialize_font().
int textbox::tbft |
Definition at line 57 of file textbox.h.
Referenced by __textbox_update_pango_text(), textbox_draw(), and textbox_font().
char* textbox::text |
Definition at line 55 of file textbox.h.
Referenced by __textbox_update_pango_text(), rofi_view_get_user_input(), rofi_view_refilter(), textbox_cursor(), textbox_cursor_dec_word(), textbox_cursor_del(), textbox_cursor_del_eol(), textbox_cursor_end(), textbox_cursor_inc_word(), textbox_delete(), textbox_free(), textbox_insert(), and textbox_text().
widget textbox::widget |
Definition at line 52 of file textbox.h.
Referenced by _textbox_get_height(), textbox_create(), textbox_draw(), textbox_font(), textbox_get_desired_height(), textbox_get_width(), textbox_moveresize(), textbox_resize(), and textbox_text().
double textbox::xalign |
Definition at line 68 of file textbox.h.
Referenced by textbox_create(), and textbox_draw().
double textbox::yalign |
Definition at line 67 of file textbox.h.
Referenced by textbox_create(), and textbox_draw().