Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
window_manager.c File Reference
+ Include dependency graph for window_manager.c:

Go to the source code of this file.

Data Structures

struct  dt_header_t
 

Macros

#define WINDOW_DEBUG   0
 

Typedefs

typedef struct dt_header_t dt_header_t
 
typedef enum dt_panel_side_t dt_panel_side_t
 

Enumerations

enum  dt_panel_side_t {
  LEFT_PANNEL = 0 ,
  RIGHT_PANNEL = 1 ,
  PANEL_SIDE_COUNT
}
 

Functions

gchar * panels_get_view_path (char *suffix)
 
gchar * panels_get_panel_path (dt_ui_panel_t panel, char *suffix)
 
int dt_ui_panel_get_size (dt_ui_t *ui, const dt_ui_panel_t p)
 
gboolean dt_ui_panel_ancestor (dt_ui_t *ui, const dt_ui_panel_t p, GtkWidget *w)
 
GtkWidgetdt_ui_center (dt_ui_t *ui)
 
GtkWidgetdt_ui_center_base (dt_ui_t *ui)
 
GtkWidgetdt_ui_log_msg (dt_ui_t *ui)
 
GtkWidgetdt_ui_toast_msg (dt_ui_t *ui)
 
GtkWidgetdt_ui_main_window (dt_ui_t *ui)
 
GtkBox * dt_ui_get_container (dt_ui_t *ui, const dt_ui_container_t c)
 
void dt_ui_container_add_widget (dt_ui_t *ui, const dt_ui_container_t c, GtkWidget *w)
 
static void _ui_init_panel_size (GtkWidget *widget, dt_ui_t *ui)
 
void dt_ui_restore_panels (dt_ui_t *ui)
 
static int _panel_handle_get_size (gpointer user_data)
 
static int _panel_handle_resize (int requested_size, gboolean finished, gpointer user_data)
 
static GtkWidget_ui_init_panel_container_top (GtkWidget *container)
 
static gboolean _ui_scroll_target_is_live_widget (const GtkWidget *target, const int side)
 Check whether a deferred panel scroll target is still a live module widget.
 
static void _ui_panel_size_changed (GtkAdjustment *adjustment, GParamSpec *pspec, gpointer user_data)
 
static GtkWidget_ui_init_panel_container_center (GtkWidget *container, gboolean left)
 
static GtkWidget_ui_init_panel_container_bottom (GtkWidget *container)
 
static void _ui_init_panel_left (dt_ui_t *ui, GtkWidget *container)
 
static void _ui_init_panel_right (dt_ui_t *ui, GtkWidget *container)
 
static void _ui_init_panel_top (dt_ui_t *ui, GtkWidget *container)
 
static void _ui_init_panel_bottom (dt_ui_t *ui, GtkWidget *container)
 
static void _ui_widget_redraw_callback (gpointer instance, GtkWidget *widget)
 
void dt_ui_init_main_table (GtkWidget *parent, dt_ui_t *ui)
 
void dt_ui_cleanup_main_table (dt_ui_t *ui)
 
void dt_ui_init_titlebar (dt_ui_t *ui)
 
void dt_ui_titlebar_pack_start (dt_ui_t *ui, GtkWidget *widget)
 
void dt_ui_titlebar_pack_end (dt_ui_t *ui, GtkWidget *widget)
 
void _home_callback ()
 
void _close_callback (GtkWidget *w, gpointer data)
 
void _iconify_callback (GtkWidget *w, gpointer data)
 
void _open_accel_search_callback (GtkWidget *w, gpointer data)
 
void dt_ui_init_global_menu (dt_ui_t *ui)
 
void dt_ui_set_image_info_label (dt_ui_t *ui, const char *label)
 
void dt_ui_set_window_buttons_visible (dt_ui_t *ui, gboolean visible)
 
void dt_hinter_set_message (dt_ui_t *ui, const char *message)
 
void dt_ui_cleanup_titlebar (dt_ui_t *ui)
 

Variables

const char * _ui_panel_config_names [] = { "top", "left", "right", "bottom" }
 

Macro Definition Documentation

◆ WINDOW_DEBUG

#define WINDOW_DEBUG   0

Definition at line 39 of file window_manager.c.

Typedef Documentation

◆ dt_header_t

typedef struct dt_header_t dt_header_t

◆ dt_panel_side_t

Enumeration Type Documentation

◆ dt_panel_side_t

Enumerator
LEFT_PANNEL 
RIGHT_PANNEL 
PANEL_SIDE_COUNT 

Definition at line 54 of file window_manager.c.

Function Documentation

◆ _close_callback()

void _close_callback ( GtkWidget w,
gpointer  data 
)

Definition at line 664 of file window_manager.c.

Referenced by dt_ui_init_global_menu().

◆ _home_callback()

void _home_callback ( )

Definition at line 659 of file window_manager.c.

References dt_ctl_switch_mode_to().

Referenced by dt_ui_init_global_menu().

◆ _iconify_callback()

void _iconify_callback ( GtkWidget w,
gpointer  data 
)

Definition at line 669 of file window_manager.c.

Referenced by dt_ui_init_global_menu().

◆ _open_accel_search_callback()

void _open_accel_search_callback ( GtkWidget w,
gpointer  data 
)

Definition at line 674 of file window_manager.c.

References dt_accels_search(), dt_gui_get_accels(), and dt_gui_get_ui().

Referenced by dt_ui_init_global_menu().

◆ _panel_handle_get_size()

static int _panel_handle_get_size ( gpointer  user_data)
static

◆ _panel_handle_resize()

static int _panel_handle_resize ( int  requested_size,
gboolean  finished,
gpointer  user_data 
)
static

◆ _ui_init_panel_bottom()

◆ _ui_init_panel_container_bottom()

static GtkWidget * _ui_init_panel_container_bottom ( GtkWidget container)
static

Definition at line 406 of file window_manager.c.

References container(), DT_GUI_BOX_SPACING, and FALSE.

Referenced by _ui_init_panel_left(), and _ui_init_panel_right().

◆ _ui_init_panel_container_center()

static GtkWidget * _ui_init_panel_container_center ( GtkWidget container,
gboolean  left 
)
static

◆ _ui_init_panel_container_top()

static GtkWidget * _ui_init_panel_container_top ( GtkWidget container)
static

Definition at line 284 of file window_manager.c.

References container(), DT_GUI_BOX_SPACING, and FALSE.

Referenced by _ui_init_panel_left(), and _ui_init_panel_right().

◆ _ui_init_panel_left()

◆ _ui_init_panel_right()

◆ _ui_init_panel_size()

◆ _ui_init_panel_top()

◆ _ui_panel_size_changed()

static void _ui_panel_size_changed ( GtkAdjustment *  adjustment,
GParamSpec *  pspec,
gpointer  user_data 
)
static

◆ _ui_scroll_target_is_live_widget()

static gboolean _ui_scroll_target_is_live_widget ( const GtkWidget target,
const int  side 
)
static

Check whether a deferred panel scroll target is still a live module widget.

We only accept widgets currently referenced by module descriptors. This avoids dereferencing stale pointers left after asynchronous GTK teardown.

Parameters
targetwidget pointer queued for panel scrolling.
sidepanel side (LEFT_PANNEL or RIGHT_PANNEL).
Returns
gboolean TRUE if target is still referenced by a visible module tree.

Definition at line 302 of file window_manager.c.

References dt_dev_get_global(), dt_iop_gui_owns_widget(), dt_lib_get_global(), FALSE, dt_develop_t::iop, IS_NULL_PTR, LEFT_PANNEL, RIGHT_PANNEL, and TRUE.

Referenced by _ui_panel_size_changed().

◆ _ui_widget_redraw_callback()

static void _ui_widget_redraw_callback ( gpointer  instance,
GtkWidget widget 
)
static

Definition at line 530 of file window_manager.c.

Referenced by dt_ui_init_main_table().

◆ dt_hinter_set_message()

void dt_hinter_set_message ( dt_ui_t ui,
const char *  message 
)

Definition at line 782 of file window_manager.c.

References dt_free, dt_ui_t::header, dt_header_t::hinter, and IS_NULL_PTR.

Referenced by dt_control_hinter_message().

◆ dt_ui_center()

◆ dt_ui_center_base()

GtkWidget * dt_ui_center_base ( dt_ui_t ui)

◆ dt_ui_cleanup_main_table()

void dt_ui_cleanup_main_table ( dt_ui_t ui)

◆ dt_ui_cleanup_titlebar()

void dt_ui_cleanup_titlebar ( dt_ui_t ui)

◆ dt_ui_container_add_widget()

void dt_ui_container_add_widget ( dt_ui_t ui,
const dt_ui_container_t  c,
GtkWidget w 
)

◆ dt_ui_get_container()

GtkBox * dt_ui_get_container ( dt_ui_t ui,
const dt_ui_container_t  c 
)

Definition at line 145 of file window_manager.c.

References dt_ui_t::containers.

Referenced by _ensure_page_widgets(), and gui_cleanup().

◆ dt_ui_init_global_menu()

◆ dt_ui_init_main_table()

◆ dt_ui_init_titlebar()

void dt_ui_init_titlebar ( dt_ui_t ui)

◆ dt_ui_log_msg()

GtkWidget * dt_ui_log_msg ( dt_ui_t ui)

Definition at line 131 of file window_manager.c.

References dt_ui_t::log_msg.

Referenced by _init_widgets().

◆ dt_ui_main_window()

◆ dt_ui_panel_ancestor()

gboolean dt_ui_panel_ancestor ( dt_ui_t ui,
const dt_ui_panel_t  p,
GtkWidget w 
)

Definition at line 116 of file window_manager.c.

References FALSE, p, and dt_ui_t::panels.

Referenced by _widget_natural_width().

◆ dt_ui_panel_get_size()

◆ dt_ui_restore_panels()

◆ dt_ui_set_image_info_label()

void dt_ui_set_image_info_label ( dt_ui_t ui,
const char *  label 
)

Definition at line 770 of file window_manager.c.

References dt_ui_t::header, dt_header_t::image_info, and IS_NULL_PTR.

Referenced by dt_view_image_info_update().

◆ dt_ui_set_window_buttons_visible()

void dt_ui_set_window_buttons_visible ( dt_ui_t ui,
gboolean  visible 
)

Definition at line 776 of file window_manager.c.

References dt_header_t::close, dt_ui_t::header, and dt_header_t::iconify.

Referenced by full_screen_callback().

◆ dt_ui_titlebar_pack_end()

void dt_ui_titlebar_pack_end ( dt_ui_t ui,
GtkWidget widget 
)

Definition at line 650 of file window_manager.c.

References FALSE, dt_ui_t::header, and dt_header_t::titlebar.

Referenced by dt_ui_init_global_menu().

◆ dt_ui_titlebar_pack_start()

void dt_ui_titlebar_pack_start ( dt_ui_t ui,
GtkWidget widget 
)

Definition at line 641 of file window_manager.c.

References FALSE, dt_ui_t::header, and dt_header_t::titlebar.

Referenced by dt_ui_init_global_menu().

◆ dt_ui_toast_msg()

GtkWidget * dt_ui_toast_msg ( dt_ui_t ui)

Definition at line 135 of file window_manager.c.

References dt_ui_t::toast_msg.

Referenced by _init_widgets().

◆ panels_get_panel_path()

◆ panels_get_view_path()

Variable Documentation

◆ _ui_panel_config_names

const char* _ui_panel_config_names[] = { "top", "left", "right", "bottom" }

Definition at line 61 of file window_manager.c.

Referenced by panels_get_panel_path().