48#include <gdk/gdkkeysyms.h>
59#define DT_BAUHAUS_WIDGET_TYPE dt_bh_get_type()
60#define DT_BAUHAUS_WIDGET(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), DT_BAUHAUS_WIDGET_TYPE, DtBauhausWidget)
61#define DT_BAUHAUS_WIDGET_CLASS(obj) G_TYPE_CHECK_CLASS_CAST((obj), DT_BAUHAUS_WIDGET, DtBauhausWidgetClass)
62#define DT_IS_BAUHAUS_WIDGET(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), DT_BAUHAUS_WIDGET_TYPE)
63#define DT_IS_BAUHAUS_WIDGET_CLASS(obj) G_TYPE_CHECK_CLASS_TYPE((obj), DT_BAUHAUS_WIDGET_TYPE)
64#define DT_BAUHAUS_WIDGET_GET_CLASS \
65 G_TYPE_INSTANCE_GET_CLASS((obj), DT_BAUHAUS_WIDGET_TYPE, DtBauhausWidgetClass)
69#define DT_BAUHAUS_SLIDER_VALUE_CHANGED_DELAY_MAX 500
70#define DT_BAUHAUS_SLIDER_VALUE_CHANGED_DELAY_MIN 25
71#define DT_BAUHAUS_SLIDER_MAX_STOPS 20
72#define DT_BAUHAUS_COMBO_MAX_TEXT 180
73#define DT_BAUHAUS_COMBO_SEPARATOR_DEFAULT_HEIGHT_FACTOR 0.6f
76#define INTERNAL_PADDING DT_GUI_BOX_SPACING
79#define INNER_PADDING 2.
291#define DT_BAUHAUS_SPACE 0
345 float defval,
int digits);
347 float step,
float defval,
int digits,
int feedback);
350 float step,
float defval,
int digits,
int feedback);
389 const char *
label,
const char *tip,
int pos, GtkCallback callback,
390 gpointer
data,
const char **texts);
392#define DT_BAUHAUS_COMBOBOX_NEW_FULL(bauhaus, widget, action, label, tip, pos, callback, data, ...) \
394 static const gchar *texts[] = { __VA_ARGS__, NULL }; \
395 widget = dt_bauhaus_combobox_new_full(bauhaus, action, label, tip, pos, callback, data, texts); \
408 gpointer
data,
void (*free_func)(
void *
data), gboolean sensitive);
418 gpointer
data,
void (*free_func)(
void *
data),
int pos);
448 cairo_set_source_rgba(cr, color.red, color.green, color.blue, color.alpha);
GtkWidget * dt_bauhaus_slider_new(dt_bauhaus_t *bh, dt_gui_module_t *self)
float dt_bauhaus_slider_get_hard_max(GtkWidget *w)
float dt_bauhaus_slider_get(GtkWidget *w)
void dt_bauhaus_combobox_add_separator_with_height(GtkWidget *widget, float row_height_factor)
void dt_bauhaus_widget_set_label(GtkWidget *w, const char *label)
GtkWidget * dt_bauhaus_combobox_new_full(dt_bauhaus_t *bh, dt_gui_module_t *self, const char *label, const char *tip, int pos, GtkCallback callback, gpointer data, const char **texts)
dt_bauhaus_combobox_alignment_t
@ DT_BAUHAUS_COMBOBOX_ALIGN_RIGHT
@ DT_BAUHAUS_COMBOBOX_ALIGN_LEFT
@ DT_BAUHAUS_QUAD_PRESSED_SIGNAL
@ DT_BAUHAUS_VALUE_CHANGED_SIGNAL
int dt_bauhaus_widget_get_quad_active(GtkWidget *w)
void dt_bauhaus_slider_set_soft_range(GtkWidget *widget, float soft_min, float soft_max)
gboolean dt_bauhaus_combobox_set_from_text(GtkWidget *w, const char *text)
void dt_bauhaus_widget_set_quad_visibility(GtkWidget *w, const gboolean visible)
void dt_bauhaus_combobox_insert(GtkWidget *widget, const char *text, int pos)
void dt_bauhaus_widget_set_quad_paint(GtkWidget *w, dt_bauhaus_quad_paint_f f, int paint_flags, void *paint_data)
void dt_bauhaus_slider_set_step(GtkWidget *w, float val)
void dt_bauhaus_slider_clear_stops(GtkWidget *widget)
char * dt_bauhaus_slider_get_text(GtkWidget *w, float val)
void dt_bauhaus_combobox_set_selected_text_align(GtkWidget *widget, const dt_bauhaus_combobox_alignment_t text_align)
void dt_bauhaus_hide_popup(dt_bauhaus_t *bh)
void dt_bauhaus_slider_reset(GtkWidget *widget)
void dt_bauhaus_cleanup(dt_bauhaus_t *bauhaus)
void dt_bauhaus_slider_set_default(GtkWidget *widget, float def)
void dt_bauhaus_slider_set_stop(GtkWidget *widget, float stop, float r, float g, float b)
void dt_bauhaus_load_theme(dt_bauhaus_t *bauhaus)
const char * dt_bauhaus_combobox_get_entry(GtkWidget *w, int pos)
void dt_bauhaus_slider_set_hard_max(GtkWidget *w, float val)
void dt_bauhaus_combobox_entry_set_sensitive(GtkWidget *widget, int pos, gboolean sensitive)
void dt_bauhaus_slider_set_digits(GtkWidget *w, int val)
float dt_bauhaus_slider_get_soft_max(GtkWidget *w)
int dt_bauhaus_combobox_get(GtkWidget *w)
GtkWidget * dt_bauhaus_slider_new_with_range_and_feedback(dt_bauhaus_t *bh, dt_gui_module_t *self, float min, float max, float step, float defval, int digits, int feedback)
void dt_bauhaus_widget_set_field(GtkWidget *w, gpointer field, dt_introspection_type_t field_type)
void dt_bauhaus_widget_set_quad_active(GtkWidget *w, int active)
float dt_bauhaus_slider_get_hard_min(GtkWidget *w)
GtkWidget * dt_bauhaus_combobox_from_conf(dt_bauhaus_t *bh, dt_gui_module_t *self, const char *confkey)
int dt_bauhaus_slider_get_digits(GtkWidget *w)
void dt_bauhaus_combobox_clear(GtkWidget *w)
void dt_bauhaus_disable_module_list(GtkWidget *widget)
void dt_bauhaus_slider_set_factor(GtkWidget *w, float factor)
void dt_bauhaus_slider_set_soft_max(GtkWidget *w, float val)
float dt_bauhaus_slider_get_soft_min(GtkWidget *w)
void dt_bauhaus_slider_set_soft_min(GtkWidget *w, float val)
void dt_bauhaus_slider_set_val(GtkWidget *w, float val)
void dt_bauhaus_combobox_set_entries_ellipsis(GtkWidget *widget, PangoEllipsizeMode ellipis)
#define DT_BAUHAUS_WIDGET_TYPE
static void set_color(cairo_t *cr, GdkRGBA color)
void dt_bauhaus_combobox_insert_separator(GtkWidget *widget, int pos)
void dt_bauhaus_slider_set_feedback(GtkWidget *w, int feedback)
void dt_bauhaus_set_use_default_callback(GtkWidget *widget)
Tell the widget to use the globally-defined default callback in the bauhaus structure This callback n...
int dt_bauhaus_combobox_length(GtkWidget *widget)
void dt_bauhaus_slider_set(GtkWidget *w, float pos)
void dt_bauhaus_slider_set_format(GtkWidget *w, const char *format)
float dt_bauhaus_slider_get_step(GtkWidget *w)
void dt_bauhaus_combobox_set_default(GtkWidget *widget, int def)
void dt_bauhaus_widget_set_quad_toggle(GtkWidget *w, int toggle)
gpointer dt_bauhaus_combobox_get_data(GtkWidget *widget)
GtkWidget * dt_bauhaus_slider_from_widget(dt_bauhaus_t *bh, dt_bauhaus_widget_t *widget, dt_gui_module_t *self, float min, float max, float step, float defval, int digits, int feedback)
void dt_bauhaus_combobox_add_populate_fct(GtkWidget *widget, void(*fct)(GtkWidget *w, void *module))
void dt_bauhaus_combobox_add_separator(GtkWidget *widget)
void dt_bauhaus_combobox_add_list(GtkWidget *widget, const char **texts)
gboolean dt_bauhaus_combobox_set_from_value(GtkWidget *w, int value)
int(* dt_bauhaus_resize_handle_get_size_f)(gpointer user_data)
void dt_bauhaus_disable_accels(GtkWidget *widget)
void dt_bauhaus_slider_set_hard_min(GtkWidget *w, float val)
GtkWidget * dt_bauhaus_resize_handle_new(GtkOrientation orientation, gboolean invert, const char *tooltip, dt_bauhaus_resize_handle_get_size_f get_size, dt_bauhaus_resize_handle_resize_f resize, gpointer user_data)
Create a themed handle widget driving one-dimensional resize gestures.
const char * dt_bauhaus_combobox_get_text(GtkWidget *w)
void dt_bauhaus_combobox_insert_full(GtkWidget *widget, const char *text, dt_bauhaus_combobox_alignment_t align, gpointer data, void(*free_func)(void *data), int pos)
const char * dt_bauhaus_widget_get_label(GtkWidget *w)
void(* dt_bauhaus_quad_paint_f)(cairo_t *cr, gint x, gint y, gint w, gint h, gint flags, void *data)
int dt_bauhaus_combobox_get_editable(GtkWidget *w)
void dt_bauhaus_combobox_set_editable(GtkWidget *w, int editable)
void dt_bauhaus_slider_set_offset(GtkWidget *w, float offset)
void dt_bauhaus_combobox_insert_separator_with_height(GtkWidget *widget, int pos, float row_height_factor)
GtkWidget * dt_bauhaus_slider_new_with_range(dt_bauhaus_t *bh, dt_gui_module_t *self, float min, float max, float step, float defval, int digits)
void dt_bauhaus_combobox_remove_at(GtkWidget *widget, int pos)
GtkWidget * dt_bauhaus_combobox_new(dt_bauhaus_t *bh, dt_gui_module_t *self)
int(* dt_bauhaus_resize_handle_resize_f)(int requested_size, gboolean finished, gpointer user_data)
float dt_bauhaus_slider_get_val(GtkWidget *w)
void dt_bauhaus_combobox_add_full(GtkWidget *widget, const char *text, dt_bauhaus_combobox_alignment_t align, gpointer data, void(*free_func)(void *data), gboolean sensitive)
void dt_bauhaus_combobox_set_text(GtkWidget *w, const char *text)
void dt_bauhaus_combobox_set(GtkWidget *w, int pos)
void dt_bauhaus_combobox_add(GtkWidget *widget, const char *text)
void dt_bauhaus_combobox_add_with_tooltip(GtkWidget *widget, const char *text, const char *tooltip)
dt_bauhaus_t * dt_bauhaus_init()
void dt_bauhaus_combobox_add_aligned(GtkWidget *widget, const char *text, dt_bauhaus_combobox_alignment_t align)
void dt_bauhaus_combobox_from_widget(dt_bauhaus_t *bh, dt_bauhaus_widget_t *widget, dt_gui_module_t *self)
void dt_bauhaus_show_popup(GtkWidget *w)
const dt_aligned_pixel_t f
static const float const float const float min
typedef void((*dt_cache_allocate_t)(void *userdata, dt_cache_entry_t *entry))
static const dt_aligned_pixel_simd_t value
static dt_mipmap_size_t get_size(const uint32_t key)
dt_mipmap_buffer_dsc_flags flags
struct _GtkWidget GtkWidget
PangoEllipsizeMode entries_ellipsis
void(* populate)(GtkWidget *w, void *module)
dt_bauhaus_combobox_alignment_t text_align
void(* free_func)(gpointer)
dt_bauhaus_combobox_alignment_t alignment
GdkRGBA color_value_text_insensitive
GdkRGBA graph_scope_restricted
GdkRGBA colorlabels[DT_COLORLABELS_LAST]
void(* default_value_changed_callback)(GtkWidget *widget)
float mouse_line_distance
GdkRGBA color_value_insensitive
PangoFontDescription * pango_font_desc
struct dt_bauhaus_widget_t * current
GdkRGBA color_fg_insensitive
The dt_gui_module_t type is the intersection between a dt_lib_module_t and a dt_iop_module_t structur...
dt_bauhaus_combobox_data_t combobox
dt_bauhaus_slider_data_t slider