![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "widgets/widget_settings.h"#include "develop/iop_order.h"#include "common/logging.h"#include "system/macros.h"#include "common/module_versioning.h"#include "common/usermanual_url.h"#include "common/conf.h"#include "control/signal.h"#include "develop/develop.h"#include "develop/imageop.h"#include "gui/application.h"#include "libs/lib.h"#include "libs/lib_api.h"#include <glib/gstdio.h>#include "widgets/label.h"#include "widgets/widget_style.h"#include "gui/screen_metrics.h"
Include dependency graph for modulegroups.c:Go to the source code of this file.
Data Structures | |
| struct | dt_lib_modulegroups_t |
Macros | |
| #define | DT_IOP_ORDER_INFO (dt_get_debug_flags() & DT_DEBUG_IOPORDER) |
Typedefs | |
| typedef enum dt_modulesgroups_tabs_t | dt_modulesgroups_tabs_t |
| typedef enum dt_modulesgroups_basic_sections_t | dt_modulesgroups_basic_sections_t |
| typedef struct dt_lib_modulegroups_t | dt_lib_modulegroups_t |
| typedef enum dt_modulegroups_dnd_target_t | dt_modulegroups_dnd_target_t |
Enumerations | |
| enum | dt_modulesgroups_tabs_t { MOD_TAB_ACTIVE = 0 , MOD_TAB_BASIC = 1 , MOD_TAB_REPAIR = 2 , MOD_TAB_SHARPNESS = 3 , MOD_TAB_EFFECTS = 4 , MOD_TAB_TECHNICAL = 5 , MOD_TAB_ALL = 6 , MOD_TAB_LAST } |
| enum | dt_modulesgroups_basic_sections_t { TAB_BASIC_COLOR = 0 , TAB_BASIC_FILM = 1 , TAB_BASIC_TONES = 2 , TAB_BASIC_LAST } |
| enum | dt_modulegroups_dnd_target_t { DT_MODULEGROUPS_DND_TARGET_IOP = 0 } |
Functions | |
| static dt_modulesgroups_tabs_t | _group_to_tab (dt_iop_group_t group) |
| static void | _switch_page (GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data) |
| static gboolean | _update_iop_visibility (gpointer user_data) |
| static void | _lib_modulegroups_signal_set (gpointer instance, gpointer module, gpointer user_data) |
| static void | _lib_modulegroups_refresh (gpointer instance, gpointer user_data) |
| static gboolean | _is_module_in_history (const dt_iop_module_t *module) |
| static void | _modulegroups_setup_drag_source (dt_lib_module_t *self, dt_iop_module_t *module) |
| Attach the module drag source handlers once to an expander widget. | |
| static gboolean | _modulegroups_reorder_target (GtkWidget *target) |
| Reorder one page or subgroup container to match reverse pipeline order. | |
| static void | _modulegroups_sync_section_label_margins (dt_lib_modulegroups_t *d) |
| Align the basic-tab section labels with the module expander margins. | |
| static void | _modulegroups_clear_drop_state (dt_lib_modulegroups_t *d) |
| Remove all drag-and-drop visual feedback from module headers. | |
| static void | _modulegroups_append_visible_expanders (GtkWidget *widget, GList **widgets) |
| Append visible module expanders in display order from a page subtree. | |
| static void | _modulegroups_clear_visible_expanders_cache (dt_lib_modulegroups_t *d) |
| Drop the cached list of visible expanders used for keyboard module focus. | |
| static void | _modulegroups_refresh_visible_expanders_cache (dt_lib_module_t *self, dt_modulesgroups_tabs_t tab) |
| Rebuild the visible expander cache for one tab after GUI update. | |
| static dt_iop_module_t * | _modulegroups_get_dnd_dest_module (GtkWidget *page, const gint y, dt_iop_module_t *module_src) |
| Find the module header under the current drop position. | |
| static void | _modulegroups_drag_begin (GtkWidget *widget, GdkDragContext *context, gpointer user_data) |
| static void | _modulegroups_drag_end (GtkWidget *widget, GdkDragContext *context, gpointer user_data) |
| static void | _modulegroups_drag_data_get (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info, guint time, gpointer user_data) |
| static gboolean | _modulegroups_drag_drop (GtkWidget *widget, GdkDragContext *dc, gint x, gint y, guint time, gpointer user_data) |
| static gboolean | _modulegroups_drag_motion (GtkWidget *widget, GdkDragContext *dc, gint x, gint y, guint time, gpointer user_data) |
| static void | _modulegroups_drag_data_received (GtkWidget *widget, GdkDragContext *dc, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time, gpointer user_data) |
| static void | _modulegroups_drag_leave (GtkWidget *widget, GdkDragContext *dc, guint time, gpointer user_data) |
| static void | _modulegroups_track_widget (GtkWidget **slot, GtkWidget *widget) |
| static void | _ensure_page_widgets (dt_lib_module_t *self) |
| dt_modulesgroups_tabs_t | _modulegroups_cycle_tabs (int tab) |
| static dt_modulesgroups_tabs_t | _get_current_tab (dt_lib_module_t *self) |
| static void | _set_current_tab (dt_lib_module_t *self, dt_modulesgroups_tabs_t tab) |
| static void | _set_current_tab_from_module_group (dt_lib_module_t *self, dt_iop_group_t group) |
| static gboolean | _is_module_in_tab (dt_iop_module_t *module, dt_modulesgroups_tabs_t current_tab) |
| static GtkWidget * | _get_target_container (dt_lib_module_t *self, const dt_iop_module_t *module) |
| Return the GtkBox currently hosting a module for the active tab. | |
| const char * | name (struct dt_lib_module_t *self) |
| const char ** | views (dt_lib_module_t *self) |
| uint32_t | container (dt_lib_module_t *self) |
| int | expandable (dt_lib_module_t *self) |
| int | position () |
| static gboolean | _modulegroups_switch_tab_next (GtkAccelGroup *accel_group, GObject *accelerable, guint keyval, GdkModifierType modifier, gpointer data) |
| static gboolean | _modulegroups_switch_tab_previous (GtkAccelGroup *accel_group, GObject *accelerable, guint keyval, GdkModifierType modifier, gpointer data) |
| static gboolean | _scroll_event (GtkWidget *widget, GdkEventScroll *event, gpointer user_data) |
| static void | _focus_module (dt_iop_module_t *module) |
| static gboolean | _focus_previous_module (GtkAccelGroup *accel_group, GObject *accelerable, guint keyval, GdkModifierType modifier, gpointer user_data) |
| static gboolean | _focus_next_module (GtkAccelGroup *accel_group, GObject *accelerable, guint keyval, GdkModifierType modifier, gpointer user_data) |
| static gboolean | _is_valid_widget (GtkWidget *widget) |
| static GList * | _find_next_visible_widget (GList *widgets) |
| static GList * | _find_previous_visible_widget (GList *widgets) |
| static void | _focus_widget (GtkWidget *widget) |
| static gboolean | _focus_next_control () |
| static gboolean | _focus_previous_control () |
| void | gui_init (dt_lib_module_t *self) |
| static gboolean | _modulegroups_move_widget (GtkWidget *widget, GtkWidget *target) |
| void | gui_cleanup (dt_lib_module_t *self) |
Variables | |
| static const GtkTargetEntry | _modulegroups_target_list [] |
| static const guint | _modulegroups_n_targets = G_N_ELEMENTS(_modulegroups_target_list) |
| #define DT_IOP_ORDER_INFO (dt_get_debug_flags() & DT_DEBUG_IOPORDER) |
Definition at line 69 of file modulegroups.c.
| typedef struct dt_lib_modulegroups_t dt_lib_modulegroups_t |
| typedef enum dt_modulegroups_dnd_target_t dt_modulegroups_dnd_target_t |
| typedef enum dt_modulesgroups_tabs_t dt_modulesgroups_tabs_t |
| Enumerator | |
|---|---|
| DT_MODULEGROUPS_DND_TARGET_IOP | |
Definition at line 132 of file modulegroups.c.
| Enumerator | |
|---|---|
| TAB_BASIC_COLOR | |
| TAB_BASIC_FILM | |
| TAB_BASIC_TONES | |
| TAB_BASIC_LAST | |
Definition at line 83 of file modulegroups.c.
| Enumerator | |
|---|---|
| MOD_TAB_ACTIVE | |
| MOD_TAB_BASIC | |
| MOD_TAB_REPAIR | |
| MOD_TAB_SHARPNESS | |
| MOD_TAB_EFFECTS | |
| MOD_TAB_TECHNICAL | |
| MOD_TAB_ALL | |
| MOD_TAB_LAST | |
Definition at line 71 of file modulegroups.c.
|
static |
Definition at line 357 of file modulegroups.c.
References _modulegroups_drag_data_received(), _modulegroups_drag_drop(), _modulegroups_drag_leave(), _modulegroups_drag_motion(), _modulegroups_n_targets, _modulegroups_target_list, _modulegroups_track_widget(), container(), d, dt_lib_module_t::data, dt_gui_add_class(), DT_GUI_BOX_SPACING, dt_gui_get_ui(), DT_UI_CONTAINER_PANEL_RIGHT_CENTER, dt_ui_get_container(), dt_ui_section_label_new(), FALSE, i, IS_NULL_PTR, MOD_TAB_BASIC, MOD_TAB_LAST, TAB_BASIC_COLOR, TAB_BASIC_FILM, TAB_BASIC_LAST, and TAB_BASIC_TONES.
Referenced by _update_iop_visibility().
|
static |
Definition at line 917 of file modulegroups.c.
References _is_valid_widget().
Referenced by _focus_next_control().
|
static |
Definition at line 928 of file modulegroups.c.
References _is_valid_widget().
Referenced by _focus_previous_control().
|
static |
Definition at line 754 of file modulegroups.c.
References dt_iop_gui_module_is_visible(), dt_iop_gui_set_expanded(), dt_iop_request_focus(), and TRUE.
Referenced by _focus_next_module(), and _focus_previous_module().
|
static |
Definition at line 945 of file modulegroups.c.
References _find_next_visible_widget(), _focus_widget(), dt_dev_get_global(), DT_GUI_MODULE, dt_widget_scroll_focus(), FALSE, dt_develop_t::gui_module, m, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 816 of file modulegroups.c.
References _focus_module(), _get_current_tab(), d, dt_lib_module_t::data, dt_dev_get_global(), dt_gui_get_ui(), dt_iop_gui_set_expanded(), dt_iop_module_t::expander, FALSE, dt_thumbtable_t::grid, dt_develop_t::gui_module, IS_NULL_PTR, dt_ui_t::thumbtable_filmstrip, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 975 of file modulegroups.c.
References _find_previous_visible_widget(), _focus_widget(), dt_dev_get_global(), DT_GUI_MODULE, dt_widget_scroll_focus(), FALSE, dt_develop_t::gui_module, m, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 768 of file modulegroups.c.
References _focus_module(), _get_current_tab(), d, dt_lib_module_t::data, dt_dev_get_global(), dt_gui_get_ui(), dt_iop_gui_set_expanded(), dt_iop_module_t::expander, FALSE, dt_thumbtable_t::grid, dt_develop_t::gui_module, IS_NULL_PTR, dt_ui_t::thumbtable_filmstrip, and TRUE.
Referenced by gui_init().
Definition at line 938 of file modulegroups.c.
References dt_widget_set_scroll_focus().
Referenced by _focus_next_control(), and _focus_previous_control().
|
static |
Definition at line 415 of file modulegroups.c.
References _modulegroups_cycle_tabs(), d, dt_lib_module_t::data, dt_conf_get_int(), IS_NULL_PTR, and MOD_TAB_LAST.
Referenced by _focus_next_module(), _focus_previous_module(), _get_target_container(), _lib_modulegroups_signal_set(), _modulegroups_switch_tab_next(), _modulegroups_switch_tab_previous(), _scroll_event(), and _update_iop_visibility().
|
static |
Return the GtkBox currently hosting a module for the active tab.
The basic tab splits its modules into three subgroup containers, while the other tabs each own a single page box.
| d | Modulegroups runtime data. |
| module | Module whose container is requested. |
Definition at line 473 of file modulegroups.c.
References _get_current_tab(), d, dt_lib_module_t::data, IOP_GROUP_COLOR, IOP_GROUP_FILM, IOP_GROUP_TONES, IS_NULL_PTR, MOD_TAB_BASIC, TAB_BASIC_COLOR, TAB_BASIC_FILM, and TAB_BASIC_TONES.
Referenced by _update_iop_visibility().
|
static |
Definition at line 105 of file modulegroups.c.
References IOP_GROUP_COLOR, IOP_GROUP_EFFECTS, IOP_GROUP_FILM, IOP_GROUP_LAST, IOP_GROUP_NONE, IOP_GROUP_REPAIR, IOP_GROUP_SHARPNESS, IOP_GROUP_TECHNICAL, IOP_GROUP_TONES, MOD_TAB_ACTIVE, MOD_TAB_ALL, MOD_TAB_BASIC, MOD_TAB_EFFECTS, MOD_TAB_REPAIR, MOD_TAB_SHARPNESS, and MOD_TAB_TECHNICAL.
Referenced by _is_module_in_tab(), and _set_current_tab_from_module_group().
|
static |
Definition at line 1122 of file modulegroups.c.
References dt_dev_get_global(), FALSE, and TRUE.
Referenced by _is_module_in_tab().
|
static |
Definition at line 441 of file modulegroups.c.
References _group_to_tab(), _is_module_in_history(), dt_iop_is_hidden(), dt_iop_module_t::enabled, FALSE, IOP_FLAGS_DEPRECATED, IS_NULL_PTR, MOD_TAB_ACTIVE, and MOD_TAB_ALL.
Referenced by _lib_modulegroups_signal_set(), and _update_iop_visibility().
|
static |
Definition at line 864 of file modulegroups.c.
References DT_DEBUG_SHORTCUTS, dt_print(), FALSE, IS_NULL_PTR, TRUE, and type.
Referenced by _find_next_visible_widget(), and _find_previous_visible_widget().
|
static |
Definition at line 1297 of file modulegroups.c.
References _update_iop_visibility().
Referenced by gui_cleanup(), and gui_init().
|
static |
Definition at line 1256 of file modulegroups.c.
References _get_current_tab(), _is_module_in_tab(), _set_current_tab(), _set_current_tab_from_module_group(), _update_iop_visibility(), dt_iop_module_t::expander, IS_NULL_PTR, and MOD_TAB_ACTIVE.
Referenced by gui_cleanup(), and gui_init().
Append visible module expanders in display order from a page subtree.
The basic tab nests its sections inside extra boxes, so drag-and-drop must recurse through the visible widget tree and keep only actual module expanders.
| widget | Current widget in the page subtree. |
| widgets | Output list collecting expanders in display order. |
Definition at line 228 of file modulegroups.c.
References _modulegroups_append_visible_expanders().
Referenced by _modulegroups_append_visible_expanders(), _modulegroups_get_dnd_dest_module(), and _modulegroups_refresh_visible_expanders_cache().
|
static |
Remove all drag-and-drop visual feedback from module headers.
Modulegroups owns the containers hosting the module expanders, so it also owns the temporary drop markers shown while reordering the list.
| d | Modulegroups runtime data. |
Definition at line 198 of file modulegroups.c.
References d, dt_dev_get_global(), dt_gui_remove_class(), and IS_NULL_PTR.
Referenced by _modulegroups_drag_begin(), _modulegroups_drag_data_received(), _modulegroups_drag_end(), _modulegroups_drag_leave(), _modulegroups_drag_motion(), and gui_cleanup().
|
static |
Drop the cached list of visible expanders used for keyboard module focus.
The cache stores borrowed GtkWidget pointers only. Modulegroups owns the list container and refreshes it during the regular visibility update cycle.
| d | Modulegroups runtime data. |
Definition at line 255 of file modulegroups.c.
References d, IS_NULL_PTR, and MOD_TAB_LAST.
Referenced by _modulegroups_refresh_visible_expanders_cache(), and gui_cleanup().
| dt_modulesgroups_tabs_t _modulegroups_cycle_tabs | ( | int | tab | ) |
Definition at line 410 of file modulegroups.c.
References MOD_TAB_LAST.
Referenced by _get_current_tab(), _modulegroups_switch_tab_next(), _modulegroups_switch_tab_previous(), and _scroll_event().
|
static |
Definition at line 553 of file modulegroups.c.
References _modulegroups_clear_drop_state(), d, dt_lib_module_t::data, dt_cairo_image_surface_create(), dt_gui_add_class(), dt_gui_get_global(), dt_gui_remove_class(), dt_iop_module_t::header, IS_NULL_PTR, TRUE, and window.
Referenced by _modulegroups_setup_drag_source().
|
static |
Definition at line 595 of file modulegroups.c.
References TRUE.
Referenced by _modulegroups_setup_drag_source().
|
static |
Definition at line 647 of file modulegroups.c.
References _modulegroups_clear_drop_state(), _modulegroups_get_dnd_dest_module(), d, dt_lib_module_t::data, dt_iop_gui_move_module_after(), dt_iop_gui_move_module_before(), FALSE, dt_iop_module_t::iop_order, and TRUE.
Referenced by _ensure_page_widgets().
|
static |
Definition at line 603 of file modulegroups.c.
References TRUE.
Referenced by _ensure_page_widgets().
|
static |
Definition at line 585 of file modulegroups.c.
References _modulegroups_clear_drop_state(), d, and dt_lib_module_t::data.
Referenced by _modulegroups_setup_drag_source().
|
static |
Definition at line 669 of file modulegroups.c.
References _modulegroups_clear_drop_state(), d, and dt_lib_module_t::data.
Referenced by _ensure_page_widgets().
|
static |
Definition at line 610 of file modulegroups.c.
References _modulegroups_clear_drop_state(), _modulegroups_get_dnd_dest_module(), d, dt_lib_module_t::data, dt_dev_get_global(), dt_gui_add_class(), dt_ioppr_check_can_move_after_iop(), dt_ioppr_check_can_move_before_iop(), dt_iop_module_t::expander, FALSE, dt_iop_module_t::iop_order, IS_NULL_PTR, and TRUE.
Referenced by _ensure_page_widgets().
|
static |
Find the module header under the current drop position.
The y coordinate is relative to the page widget receiving the drop event. We translate each visible module expander into that same coordinate space so reordering keeps working across nested section containers.
| page | Visible modulegroups page handling the drag. |
| y | Drop coordinate in the page reference frame. |
| module_src | Drag source module. |
Definition at line 295 of file modulegroups.c.
References _modulegroups_append_visible_expanders(), dt_iop_module_t::expander, FALSE, dt_iop_module_t::header, and TRUE.
Referenced by _modulegroups_drag_data_received(), and _modulegroups_drag_motion().
Definition at line 1133 of file modulegroups.c.
Referenced by _update_iop_visibility(), and gui_cleanup().
|
static |
Rebuild the visible expander cache for one tab after GUI update.
Focus navigation reads this cache and must not trigger widget discovery or reparenting during key handling. We therefore rebuild once in the init/update lifecycle, then consume read-only during user interactions.
| self | Modulegroups lib module. |
| tab | Tab whose visible expanders should populate the cache. |
Definition at line 273 of file modulegroups.c.
References _modulegroups_append_visible_expanders(), _modulegroups_clear_visible_expanders_cache(), d, dt_lib_module_t::data, and IS_NULL_PTR.
Referenced by _update_iop_visibility().
|
static |
Reorder one page or subgroup container to match reverse pipeline order.
We walk the whole pipeline from last to first and keep only expanders whose current parent is the requested container. This keeps the GUI order consistent regardless of the active tab layout.
| target | Page or subgroup container to reorder. |
Definition at line 534 of file modulegroups.c.
References dt_dev_get_global(), dt_iop_is_hidden(), FALSE, position(), and TRUE.
Referenced by _update_iop_visibility().
|
static |
Attach the module drag source handlers once to an expander widget.
Modulegroups owns module reordering in the darkroom panel, so it also owns the drag source registration for every visible expander.
| self | Modulegroups lib module. |
| module | Module whose expander should become draggable. |
Definition at line 510 of file modulegroups.c.
References _modulegroups_drag_begin(), _modulegroups_drag_data_get(), _modulegroups_drag_end(), _modulegroups_n_targets, _modulegroups_target_list, and TRUE.
Referenced by _update_iop_visibility().
|
static |
Definition at line 705 of file modulegroups.c.
References _get_current_tab(), _modulegroups_cycle_tabs(), _set_current_tab(), dt_dev_get_global(), dt_iop_gui_set_expanded(), dt_iop_request_focus(), FALSE, dt_develop_t::gui_module, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 719 of file modulegroups.c.
References _get_current_tab(), _modulegroups_cycle_tabs(), _set_current_tab(), dt_dev_get_global(), dt_iop_gui_set_expanded(), dt_iop_request_focus(), FALSE, dt_develop_t::gui_module, and TRUE.
Referenced by gui_init().
|
static |
Align the basic-tab section labels with the module expander margins.
The section label border is drawn on the label widget itself. To make that border line start and end exactly where module boxes do, we copy the current expander margins from the first available module widget.
| d | Modulegroups runtime data. |
Definition at line 163 of file modulegroups.c.
References dt_dev_get_global(), and dt_iop_is_hidden().
Referenced by _update_iop_visibility().
Definition at line 347 of file modulegroups.c.
Referenced by _ensure_page_widgets().
|
static |
Definition at line 733 of file modulegroups.c.
References _get_current_tab(), _modulegroups_cycle_tabs(), _set_current_tab(), dt_gui_get_scroll_unit_deltas(), dt_iop_request_focus(), and TRUE.
Referenced by gui_init().
|
static |
Definition at line 428 of file modulegroups.c.
References d, dt_lib_module_t::data, and IS_NULL_PTR.
Referenced by _lib_modulegroups_signal_set(), _modulegroups_switch_tab_next(), _modulegroups_switch_tab_previous(), _scroll_event(), and _set_current_tab_from_module_group().
|
static |
Definition at line 435 of file modulegroups.c.
References _group_to_tab(), and _set_current_tab().
Referenced by _lib_modulegroups_signal_set().
|
static |
Definition at line 1248 of file modulegroups.c.
References _update_iop_visibility(), dt_lib_module_t::data, dt_conf_set_int(), and IS_NULL_PTR.
Referenced by gui_init().
|
static |
Definition at line 1147 of file modulegroups.c.
References _ensure_page_widgets(), _get_current_tab(), _get_target_container(), _is_module_in_tab(), _modulegroups_move_widget(), _modulegroups_refresh_visible_expanders_cache(), _modulegroups_reorder_target(), _modulegroups_setup_drag_source(), _modulegroups_sync_section_label_margins(), d, dt_lib_module_t::data, dt_dev_get_global(), dt_dev_get_history_end_ext(), dt_dev_history_get_last_item_by_module(), dt_dev_modules_update_multishow(), dt_gui_get_global(), dt_iop_gui_set_expanded(), dt_iop_is_hidden(), dt_iop_request_focus(), dt_pthread_rwlock_rdlock(), dt_pthread_rwlock_unlock(), dt_iop_module_t::expander, FALSE, dt_develop_t::gui_module, dt_iop_module_t::header, dt_develop_t::history, dt_develop_t::history_mutex, i, dt_develop_t::iop, IS_NULL_PTR, MOD_TAB_BASIC, MOD_TAB_LAST, dt_gui_gtk_t::scroll_to, dt_gui_gtk_t::scroll_to_header_once, TAB_BASIC_LAST, and TRUE.
Referenced by _lib_modulegroups_refresh(), _lib_modulegroups_signal_set(), and _switch_page().
| uint32_t container | ( | dt_lib_module_t * | self | ) |
Definition at line 687 of file modulegroups.c.
References DT_UI_CONTAINER_PANEL_RIGHT_TOP.
Referenced by _ensure_page_widgets().
| int expandable | ( | dt_lib_module_t * | self | ) |
Definition at line 694 of file modulegroups.c.
| void gui_cleanup | ( | dt_lib_module_t * | self | ) |
Definition at line 1089 of file modulegroups.c.
References _lib_modulegroups_refresh(), _lib_modulegroups_signal_set(), _modulegroups_clear_drop_state(), _modulegroups_clear_visible_expanders_cache(), _modulegroups_move_widget(), d, dt_lib_module_t::data, dt_control_signal_get_global(), DT_DEBUG_CONTROL_SIGNAL_DISCONNECT, dt_dev_get_global(), dt_free, dt_gui_get_ui(), DT_UI_CONTAINER_PANEL_RIGHT_CENTER, dt_ui_get_container(), i, IS_NULL_PTR, and MOD_TAB_ALL.
| void gui_init | ( | dt_lib_module_t * | self | ) |
Definition at line 1005 of file modulegroups.c.
References _focus_next_control(), _focus_next_module(), _focus_previous_control(), _focus_previous_module(), _lib_modulegroups_refresh(), _lib_modulegroups_signal_set(), _modulegroups_switch_tab_next(), _modulegroups_switch_tab_previous(), _scroll_event(), _switch_page(), d, dt_lib_module_t::data, dt_accels_new_darkroom_action, dt_accels_new_darkroom_locked_action, dt_conf_get_int(), dt_control_signal_get_global(), DT_DEBUG_CONTROL_SIGNAL_CONNECT, dt_get_help_url(), dt_gui_add_class(), dt_gui_add_help_link(), DT_GUI_BOX_SPACING, DT_SIGNAL_DEVELOP_IMAGE_CHANGED, DT_SIGNAL_DEVELOP_INITIALIZE, DT_SIGNAL_DEVELOP_MODULE_MOVED, DT_SIGNAL_DEVELOP_MODULEGROUPS_SET, dt_widget_scroll_mask(), FALSE, i, MOD_TAB_LAST, dt_lib_module_t::plugin_name, TRUE, and dt_lib_module_t::widget.
| const char * name | ( | struct dt_lib_module_t * | self | ) |
Definition at line 676 of file modulegroups.c.
| int position | ( | ) |
Definition at line 699 of file modulegroups.c.
Referenced by _modulegroups_reorder_target().
| const char ** views | ( | dt_lib_module_t * | self | ) |
Definition at line 681 of file modulegroups.c.
References v.
|
static |
Definition at line 140 of file modulegroups.c.
Referenced by _ensure_page_widgets(), and _modulegroups_setup_drag_source().
|
static |
Definition at line 137 of file modulegroups.c.
Referenced by _ensure_page_widgets(), and _modulegroups_setup_drag_source().