![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/utility.h"#include "widgets/widget_settings.h"#include "widgets/resize_handle.h"#include "common/conf.h"#include "control/control.h"#include "develop/develop.h"#include "develop/imageop.h"#include "views/view.h"#include "gui/window_manager.h"#include "gui/actions/menu.h"#include "widgets/sidepanel.h"#include "libs/lib.h"#include "gui/application.h"#include "gui/dtgtk/thumbnail.h"#include "gui/dtgtk/thumbtable.h"#include "widgets/accelerators.h"#include "widgets/widget_style.h"#include "control/signal.h"
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 } |
Variables | |
| const char * | _ui_panel_config_names [] = { "top", "left", "right", "bottom" } |
| #define WINDOW_DEBUG 0 |
Definition at line 39 of file window_manager.c.
| typedef struct dt_header_t dt_header_t |
| typedef enum dt_panel_side_t dt_panel_side_t |
| enum dt_panel_side_t |
| Enumerator | |
|---|---|
| LEFT_PANNEL | |
| RIGHT_PANNEL | |
| PANEL_SIDE_COUNT | |
Definition at line 54 of file window_manager.c.
Definition at line 664 of file window_manager.c.
Referenced by dt_ui_init_global_menu().
| 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().
Definition at line 669 of file window_manager.c.
Referenced by dt_ui_init_global_menu().
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().
|
static |
Definition at line 237 of file window_manager.c.
Referenced by _ui_init_panel_bottom(), _ui_init_panel_left(), and _ui_init_panel_right().
|
static |
Definition at line 247 of file window_manager.c.
References dt_conf_set_int(), dt_free, dt_gui_main_window(), DT_UI_PANEL_BOTTOM, DT_UI_PANEL_LEFT, DT_UI_PANEL_RIGHT, key, name, panels_get_panel_path(), size, and window.
Referenced by _ui_init_panel_bottom(), _ui_init_panel_left(), and _ui_init_panel_right().
Definition at line 505 of file window_manager.c.
References _panel_handle_get_size(), _panel_handle_resize(), _ui_init_panel_size(), container(), DT_THUMBTABLE_MODE_FILMSTRIP, dt_thumbtable_new(), DT_UI_PANEL_BOTTOM, dtgtk_resize_handle_new(), dt_ui_t::panels, dt_thumbtable_t::parent_overlay, dt_ui_t::thumbtable_filmstrip, and TRUE.
Referenced by dt_ui_init_main_table().
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().
Definition at line 364 of file window_manager.c.
References _ui_panel_size_changed(), container(), LEFT_PANNEL, RIGHT_PANNEL, and TRUE.
Referenced by _ui_init_panel_left(), and _ui_init_panel_right().
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().
Definition at line 414 of file window_manager.c.
References _panel_handle_get_size(), _panel_handle_resize(), _ui_init_panel_container_bottom(), _ui_init_panel_container_center(), _ui_init_panel_container_top(), _ui_init_panel_size(), container(), dt_ui_t::containers, dt_conf_get_int(), DT_UI_CONTAINER_PANEL_LEFT_BOTTOM, DT_UI_CONTAINER_PANEL_LEFT_CENTER, DT_UI_CONTAINER_PANEL_LEFT_TOP, DT_UI_PANEL_LEFT, dt_widget_set_min_panel_width(), dtgtk_resize_handle_new(), dtgtk_side_panel_new(), FALSE, and dt_ui_t::panels.
Referenced by dt_ui_init_main_table().
Definition at line 449 of file window_manager.c.
References _panel_handle_get_size(), _panel_handle_resize(), _ui_init_panel_container_bottom(), _ui_init_panel_container_center(), _ui_init_panel_container_top(), _ui_init_panel_size(), container(), dt_ui_t::containers, DT_UI_CONTAINER_PANEL_RIGHT_BOTTOM, DT_UI_CONTAINER_PANEL_RIGHT_CENTER, DT_UI_CONTAINER_PANEL_RIGHT_TOP, DT_UI_PANEL_RIGHT, dtgtk_resize_handle_new(), dtgtk_side_panel_new(), dt_ui_t::panels, and TRUE.
Referenced by dt_ui_init_main_table().
Definition at line 171 of file window_manager.c.
References dt_conf_get_int(), dt_conf_key_exists(), dt_free, DT_UI_PANEL_BOTTOM, DT_UI_PANEL_BOTTOM_DEFAULT_SIZE, DT_UI_PANEL_LEFT, DT_UI_PANEL_RIGHT, DT_UI_PANEL_SIDE_DEFAULT_SIZE, key, MAX, and panels_get_panel_path().
Referenced by _ui_init_panel_bottom(), _ui_init_panel_left(), _ui_init_panel_right(), and dt_ui_restore_panels().
Definition at line 480 of file window_manager.c.
References container(), dt_ui_t::containers, DT_GUI_BOX_SPACING, DT_UI_CONTAINER_PANEL_TOP_SECOND_ROW, DT_UI_PANEL_MODULE_SPACING, DT_UI_PANEL_TOP, FALSE, dt_ui_t::panels, dt_ui_t::top_panel, and TRUE.
Referenced by dt_ui_init_main_table().
|
static |
Definition at line 333 of file window_manager.c.
References _ui_scroll_target_is_live_widget(), dt_gui_get_global(), height, IS_NULL_PTR, LEFT_PANNEL, PANEL_SIDE_COUNT, RIGHT_PANNEL, and dt_gui_gtk_t::scroll_to.
Referenced by _ui_init_panel_container_center().
|
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.
| target | widget pointer queued for panel scrolling. |
| side | panel side (LEFT_PANNEL or RIGHT_PANNEL). |
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().
Definition at line 530 of file window_manager.c.
Referenced by dt_ui_init_main_table().
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().
Definition at line 122 of file window_manager.c.
References dt_ui_t::center.
Referenced by _extract_pointer_input(), _sample_tablet_state_from_devices(), dt_gui_center_widget(), dt_gui_gtk_init(), dt_gui_gtk_run(), and dt_gui_refocus_center().
Definition at line 126 of file window_manager.c.
References dt_ui_t::center_base.
Referenced by _control_apply_cursor(), _populate(), _ui_toast_redraw_callback(), enter(), and leave().
Definition at line 599 of file window_manager.c.
References dt_thumbtable_cleanup(), dt_ui_t::thumbtable_filmstrip, and dt_ui_t::thumbtable_lighttable.
Referenced by dt_cleanup(), and dt_view_manager_switch_by_view().
Definition at line 795 of file window_manager.c.
References dt_free, DT_MENU_LAST, dt_ui_t::header, i, IS_NULL_PTR, dt_header_t::item_lists, and dt_header_t::titlebar.
Referenced by dt_cleanup(), and dt_gui_gtk_quit().
| void dt_ui_container_add_widget | ( | dt_ui_t * | ui, |
| const dt_ui_container_t | c, | ||
| GtkWidget * | w | ||
| ) |
Definition at line 150 of file window_manager.c.
References dt_ui_t::containers, DT_UI_CONTAINER_PANEL_TOP_SECOND_ROW, FALSE, and TRUE.
Referenced by dt_iop_gui_set_expander(), and dt_view_manager_switch_by_view().
| 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().
Definition at line 679 of file window_manager.c.
References _close_callback(), _home_callback(), _iconify_callback(), _open_accel_search_callback(), add_top_menu_entry(), append_display(), append_edit(), append_file(), append_help(), append_image(), append_run(), append_select(), append_styles(), append_views(), dt_header_t::close, dt_gui_add_class(), DT_MENU_ATELIERS, DT_MENU_DISPLAY, DT_MENU_EDIT, DT_MENU_FILE, DT_MENU_HELP, DT_MENU_IMAGE, DT_MENU_LAST, DT_MENU_RUN, DT_MENU_SELECTION, DT_MENU_STYLES, dt_ui_titlebar_pack_end(), dt_ui_titlebar_pack_start(), FALSE, dt_ui_t::header, dt_header_t::hinter, dt_header_t::home, i, dt_header_t::iconify, dt_header_t::image_info, dt_header_t::item_lists, dt_ui_t::main_window, dt_header_t::menu_bar, dt_header_t::menus, dt_header_t::titlebar, dt_ui_t::top_panel, and TRUE.
Referenced by dt_init().
Definition at line 535 of file window_manager.c.
References _ui_init_panel_bottom(), _ui_init_panel_left(), _ui_init_panel_right(), _ui_init_panel_top(), _ui_widget_redraw_callback(), dt_ui_t::center, dt_ui_t::center_base, container(), dt_control_signal_get_global(), DT_DEBUG_CONTROL_SIGNAL_CONNECT, DT_GUI_BOX_SPACING, DT_PIXEL_APPLY_DPI, DT_SIGNAL_CONTROL_REDRAW_CENTER, DT_THUMBTABLE_MODE_FILEMANAGER, dt_thumbtable_new(), dt_widget_scroll_mask(), dt_thumbtable_t::parent_overlay, dt_ui_t::thumbtable_lighttable, and TRUE.
Referenced by _init_widgets().
Definition at line 614 of file window_manager.c.
References DT_GUI_BOX_SPACING, FALSE, dt_ui_t::header, dt_ui_t::main_window, dt_header_t::titlebar, and TRUE.
Referenced by _init_widgets().
Definition at line 131 of file window_manager.c.
References dt_ui_t::log_msg.
Referenced by _init_widgets().
Definition at line 140 of file window_manager.c.
References dt_ui_t::main_window.
Referenced by _init_widgets(), dt_cleanup(), dt_gui_gtk_init(), dt_gui_gtk_quit(), dt_gui_gtk_write_config(), dt_gui_load_theme(), dt_gui_main_window(), dt_gui_refocus_center(), and dt_ui_notify_user().
| 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().
| int dt_ui_panel_get_size | ( | dt_ui_t * | ui, |
| const dt_ui_panel_t | p | ||
| ) |
Definition at line 88 of file window_manager.c.
References dt_conf_get_int(), dt_conf_key_exists(), dt_free, DT_UI_PANEL_BOTTOM, DT_UI_PANEL_BOTTOM_DEFAULT_SIZE, DT_UI_PANEL_LEFT, DT_UI_PANEL_RIGHT, DT_UI_PANEL_SIDE_DEFAULT_SIZE, IS_NULL_PTR, key, p, panels_get_panel_path(), and size.
Referenced by _widget_natural_width().
Definition at line 201 of file window_manager.c.
References _ui_init_panel_size(), dt_conf_get_bool(), dt_conf_get_int(), dt_conf_key_exists(), dt_free, DT_UI_PANEL_BOTTOM, DT_UI_PANEL_LEFT, DT_UI_PANEL_RIGHT, dt_ui_panel_show(), DT_UI_PANEL_SIZE, FALSE, k, key, dt_ui_t::panels, panels_get_panel_path(), panels_get_view_path(), state, and TRUE.
Referenced by dt_ui_toggle_panels_visibility(), and dt_view_manager_switch_by_view().
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().
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().
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().
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().
Definition at line 135 of file window_manager.c.
References dt_ui_t::toast_msg.
Referenced by _init_widgets().
| gchar * panels_get_panel_path | ( | dt_ui_panel_t | panel, |
| char * | suffix | ||
| ) |
Definition at line 81 of file window_manager.c.
References _ui_panel_config_names, dt_util_dstrcat(), IS_NULL_PTR, panels_get_view_path(), and v.
Referenced by _panel_handle_resize(), _panel_is_visible(), _ui_init_panel_size(), dt_ui_panel_get_size(), dt_ui_panel_show(), and dt_ui_restore_panels().
| gchar * panels_get_view_path | ( | char * | suffix | ) |
Definition at line 64 of file window_manager.c.
References dt_view_darkroom_get_layout(), dt_view_manager_get_current_view(), dt_view_manager_get_global(), IS_NULL_PTR, and dt_view_t::module_name.
Referenced by _panel_is_visible(), dt_ui_panel_show(), dt_ui_restore_panels(), dt_ui_toggle_panels_visibility(), and panels_get_panel_path().
| 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().