Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
editable_label.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019, 2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
7
8#ifndef __GUI_WIDGETS_EDITABLE_LABEL_H__
9#define __GUI_WIDGETS_EDITABLE_LABEL_H__
10
11#include "common/utils/types.h"
12#include "gui/backend/gtk_widgets/gtk_wrapper.h"
13
14#define EDITABLE_LABEL_WIDGET_TYPE (editable_label_widget_get_type ())
16 EditableLabelWidget,
17 editable_label_widget,
18 Z,
19 EDITABLE_LABEL_WIDGET,
20 GtkWidget)
21
22
25typedef struct _EditableLabelWidget
26{
27 GtkWidget parent_instance;
28
30 GtkLabel * label;
31
33 GtkPopover * foreign_popover;
34
35 GtkPopover * popover;
36 GtkEntry * entry;
37
40
43
45 void * object;
46
49 int is_temp;
50
52 GtkGestureClick * mp;
53
54 guint select_region_source_id;
55} EditableLabelWidget;
56
60void
61editable_label_widget_show_popover (EditableLabelWidget * self);
62
70void
72 GtkWidget * parent,
73 GtkPopover * popover,
74 void * object,
76 GenericStringSetter setter);
77
85void
87 EditableLabelWidget * self,
88 void * object,
90 GenericStringSetter setter);
91
100EditableLabelWidget *
102 void * object,
103 GenericStringGetter getter,
104 GenericStringSetter setter,
105 int width);
106
107#endif
void editable_label_widget_setup(EditableLabelWidget *self, void *object, GenericStringGetter getter, GenericStringSetter setter)
Sets up an existing EditableLabelWidget.
G_DECLARE_FINAL_TYPE(EditableLabelWidget, editable_label_widget, Z, EDITABLE_LABEL_WIDGET, GtkWidget) typedef struct _EditableLabelWidget
A label that shows a popover when clicked.
void editable_label_widget_show_popover(EditableLabelWidget *self)
Shows the popover.
void editable_label_widget_show_popover_for_widget(GtkWidget *parent, GtkPopover *popover, void *object, GenericStringGetter getter, GenericStringSetter setter)
Shows a popover without the need of an editable label.
EditableLabelWidget * editable_label_widget_new(void *object, GenericStringGetter getter, GenericStringSetter setter, int width)
Returns a new instance of EditableLabelWidget.
std::function< std::string()> GenericStringGetter
Getter prototype for strings.
Definition types.h:102
std::function< void(const std::string &)> GenericStringSetter
Setter prototype for float values.
Definition types.h:107