![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/darktable.h"#include "control/control.h"#include "develop/develop.h"#include "develop/imageop.h"#include "views/view.h"#include "bauhaus/bauhaus.h"#include "gui/window_manager.h"#include "gui/actions/menu.h"#include "dtgtk/sidepanel.h"#include "libs/lib.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 [] = { "header", "toolbar_top", "toolbar_bottom", "left", "right", "bottom" } |
| #define WINDOW_DEBUG 0 |
Definition at line 31 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 46 of file window_manager.c.
Definition at line 643 of file window_manager.c.
Referenced by dt_ui_init_global_menu().
| void _home_callback | ( | ) |
Definition at line 638 of file window_manager.c.
References dt_ctl_switch_mode_to().
Referenced by dt_ui_init_global_menu().
Definition at line 648 of file window_manager.c.
Referenced by dt_ui_init_global_menu().
Definition at line 653 of file window_manager.c.
References dt_gui_gtk_t::accels, darktable, dt_accels_search(), darktable_t::gui, dt_ui_t::main_window, and dt_gui_gtk_t::ui.
Referenced by dt_ui_init_global_menu().
|
static |
Definition at line 229 of file window_manager.c.
Referenced by _ui_init_panel_bottom(), _ui_init_panel_left(), and _ui_init_panel_right().
|
static |
Definition at line 239 of file window_manager.c.
References darktable, dt_conf_set_int(), dt_free, dt_ui_main_window(), DT_UI_PANEL_BOTTOM, DT_UI_PANEL_LEFT, DT_UI_PANEL_RIGHT, darktable_t::gui, key, name, panels_get_panel_path(), size, and dt_gui_gtk_t::ui.
Referenced by _ui_init_panel_bottom(), _ui_init_panel_left(), and _ui_init_panel_right().
Definition at line 492 of file window_manager.c.
References _panel_handle_get_size(), _panel_handle_resize(), _ui_init_panel_size(), container(), dt_bauhaus_resize_handle_new(), DT_THUMBTABLE_MODE_FILMSTRIP, dt_thumbtable_new(), DT_UI_PANEL_BOTTOM, 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 397 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 355 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 276 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 405 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_bauhaus_resize_handle_new(), DT_UI_CONTAINER_PANEL_LEFT_BOTTOM, DT_UI_CONTAINER_PANEL_LEFT_CENTER, DT_UI_CONTAINER_PANEL_LEFT_TOP, DT_UI_PANEL_LEFT, dtgtk_side_panel_new(), FALSE, and dt_ui_t::panels.
Referenced by dt_ui_init_main_table().
Definition at line 436 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_bauhaus_resize_handle_new(), DT_UI_CONTAINER_PANEL_RIGHT_BOTTOM, DT_UI_CONTAINER_PANEL_RIGHT_CENTER, DT_UI_CONTAINER_PANEL_RIGHT_TOP, DT_UI_PANEL_RIGHT, dtgtk_side_panel_new(), dt_ui_t::panels, and TRUE.
Referenced by dt_ui_init_main_table().
Definition at line 163 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 467 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 324 of file window_manager.c.
References _ui_scroll_target_is_live_widget(), darktable, darktable_t::gui, 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 294 of file window_manager.c.
References darktable, darktable_t::develop, FALSE, dt_develop_t::iop, IS_NULL_PTR, LEFT_PANNEL, darktable_t::lib, dt_lib_t::plugins, RIGHT_PANNEL, and TRUE.
Referenced by _ui_panel_size_changed().
Definition at line 517 of file window_manager.c.
Referenced by dt_ui_init_main_table().
Definition at line 761 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().
get the center drawable widget
Definition at line 114 of file window_manager.c.
References dt_ui_t::center.
Referenced by _control_apply_cursor(), _darkroom_edge_pan_tick(), _dt_ctl_switch_mode_prepare(), _extract_pointer_input(), _focus_main_image(), _lib_tagging_tag_show_accel(), _masks_shape_button_pressed(), _sample_tablet_state_from_devices(), _slideshow_request_slot(), _view_surface_commit_main(), button_pressed(), dt_colorspaces_set_display_profile(), dt_control_expose(), dt_dev_pixelpipe_change_zoom_main(), dt_gui_gtk_init(), dt_gui_gtk_run(), dt_gui_refocus_center(), dt_masks_creation_mode_enter(), enter(), expose(), gui_init(), leave(), and mouse_moved().
Definition at line 118 of file window_manager.c.
References dt_ui_t::center_base.
Referenced by _control_apply_cursor(), _ui_toast_redraw_callback(), enter(), and leave().
Definition at line 578 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 774 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 142 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 137 of file window_manager.c.
References dt_ui_t::containers.
Referenced by _ensure_page_widgets(), and gui_cleanup().
Definition at line 658 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 522 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(), darktable, 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(), darktable_t::gui, dt_thumbtable_t::parent_overlay, dt_gui_gtk_t::scroll_mask, darktable_t::signals, dt_ui_t::thumbtable_lighttable, and TRUE.
Referenced by _init_widgets().
Definition at line 593 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().
get the log message widget
Definition at line 123 of file window_manager.c.
References dt_ui_t::log_msg.
Referenced by _init_widgets().
get the main window widget
Definition at line 132 of file window_manager.c.
References dt_ui_t::main_window.
Referenced by _act_folders_relocate(), _apply_rename_path(), _ask_before_delete_style(), _ask_text(), _blendop_masks_confirm_delete(), _choose_gpx_callback(), _confirm(), _confirm_delete_layer(), _control_apply_cursor(), _datetime_key_pressed(), _delete_tagids(), _discarded_files_popup(), _dt_delete_dialog_main_thread(), _edit_preset(), _enter_key_pressed(), _export_button_clicked(), _export_button_clicked(), _gui_styles_dialog_run(), _gui_styles_edit_style_response(), _gui_styles_new_style_response(), _hm_ask_user_constraints_choice(), _hm_show_merge_report_popup(), _hm_show_toposort_cycle_popup(), _hm_warn_missing_raster_producers(), _import_button_clicked(), _init_widgets(), _ioporder_add_preset(), _ioporder_init_popup(), _ioporder_rebuild_graph(), _key_pressed(), _lib_tagging_tag_key_press(), _lib_tagging_tag_show_accel(), _main_do_event_help(), _menuitem_delete_preset(), _menuitem_preferences(), _menuitem_update_preset(), _open_uri(), _panel_handle_resize(), _pop_menu_dictionary_change_path(), _pop_menu_dictionary_create_tag(), _pop_menu_dictionary_delete_node(), _pop_menu_dictionary_edit_tag(), _preview_gpx_file(), _prompt_layer_name_dialog(), _resizable_scroll_max_height(), _save_clut_callback(), _save_layer_clicked(), _scope_resize_handle_resize(), _show_drawlayer_modal_message(), _show_drawlayer_wait_dialog(), _styles_open_popup_callback(), _switch_preview_cursor(), _timezone_key_pressed(), _timezone_save(), ask_and_delete(), button_clicked(), button_clicked(), button_clicked(), dt_bauhaus_init(), dt_bauhaus_load_theme(), dt_bauhaus_show_popup(), dt_cleanup(), dt_control_copy_images(), dt_control_crawler_show_image_list(), dt_control_delete_image(), dt_control_delete_images(), dt_control_move_images(), dt_control_remove_images(), dt_gui_gtk_init(), dt_gui_gtk_quit(), dt_gui_gtk_write_config(), dt_gui_hist_dialog_new(), dt_gui_load_theme(), dt_gui_merge_options_dialog(), dt_gui_preferences_show(), dt_gui_refocus_center(), dt_gui_show_standalone_string_dialog(), dt_gui_show_standalone_yes_no_dialog(), dt_key_modifier_state(), dt_lib_export_metadata_configuration_dialog(), dt_masks_gui_confirm_delete_form_dialog(), dt_preview_window_spawn(), dt_ui_notify_user(), dt_view_manager_button_pressed(), dt_view_manager_switch_by_view(), edit_preset(), ensure_focus_idle(), enter(), export_clicked(), export_files_callback(), full_screen_callback(), full_screen_checked_callback(), get_stamp_params(), global_progress_end(), global_progress_set(), global_progress_start(), gui_init(), gui_init(), gui_reset(), import_clicked(), load_xmp_callback(), menuitem_delete_preset(), menuitem_update_preset(), open_chat_callback(), open_doc_callback(), open_forum_callback(), open_search_callback(), search_accels_callback(), shortcuts_callback(), and show_about_dialog().
| gboolean dt_ui_panel_ancestor | ( | dt_ui_t * | ui, |
| const dt_ui_panel_t | p, | ||
| GtkWidget * | w | ||
| ) |
is the panel ancestor of widget
Definition at line 108 of file window_manager.c.
References FALSE, p, and dt_ui_t::panels.
Referenced by _get_preferred_width().
| int dt_ui_panel_get_size | ( | dt_ui_t * | ui, |
| const dt_ui_panel_t | p | ||
| ) |
get width of right, left, or bottom panel
Definition at line 80 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 _get_preferred_width().
Definition at line 193 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 749 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 755 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 629 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 620 of file window_manager.c.
References FALSE, dt_ui_t::header, and dt_header_t::titlebar.
Referenced by dt_ui_init_global_menu().
get the toast message widget
Definition at line 127 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 73 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 57 of file window_manager.c.
References darktable, dt_view_darkroom_get_layout(), dt_view_manager_get_current_view(), IS_NULL_PTR, dt_view_t::module_name, and darktable_t::view_manager.
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[] = { "header", "toolbar_top", "toolbar_bottom", "left", "right", "bottom" } |
Definition at line 53 of file window_manager.c.
Referenced by panels_get_panel_path().