![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include <gtk/gtk.h>
#include <glib.h>
Go to the source code of this file.
Data Structures | |
struct | dt_menu_entry_t |
Macros | |
#define | MAKE_ACCEL_WRAPPER(cb) |
#define | GET_ACCEL_WRAPPER(cb) cb##__accel |
Typedefs | |
typedef enum dt_menus_t | dt_menus_t |
typedef enum dt_menu_entry_style_t | dt_menu_entry_style_t |
typedef struct dt_menu_entry_t | dt_menu_entry_t |
Enumerations | |
enum | dt_menus_t { DT_MENU_FILE = 0 , DT_MENU_EDIT , DT_MENU_SELECTION , DT_MENU_IMAGE , DT_MENU_STYLES , DT_MENU_RUN , DT_MENU_DISPLAY , DT_MENU_ATELIERS , DT_MENU_HELP , DT_MENU_LAST } |
enum | dt_menu_entry_style_t { DT_MENU_ENTRY_DEFAULT = 0 , DT_MENU_ENTRY_CHECKBUTTON = 1 , DT_MENU_ENTRY_RADIOBUTTON = 2 , DT_MENU_ENTRY_LAST } |
Functions | |
dt_menu_entry_t * | set_menu_entry (GtkWidget **menus, GList **items_list, const gchar *label, dt_menus_t menu_index, GtkMenu *parent, void *data, gboolean(*action_callback)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data), gboolean(*checked_callback)(GtkWidget *widget), gboolean(*active_callback)(GtkWidget *widget), gboolean(*sensitive_callback)(GtkWidget *widget), guint key_val, GdkModifierType mods, GtkAccelGroup *accel_group) |
void | update_entry (dt_menu_entry_t *entry) |
void | update_menu_entries (GtkWidget *widget, gpointer user_data) |
void | add_generic_top_menu_entry (GtkWidget *menu_bar, GtkWidget **menus, GList **lists, const dt_menus_t index, gchar *label, GtkAccelGroup *accel_group, const char *accel_path_prefix) |
void | add_top_menu_entry (GtkWidget *menu_bar, GtkWidget **menus, GList **lists, const dt_menus_t index, gchar *label) |
void | add_generic_top_submenu_entry (GtkWidget **menus, GList **lists, const gchar *label, const dt_menus_t index, GtkAccelGroup *accel_group) |
void | add_top_submenu_entry (GtkWidget **menus, GList **lists, const gchar *label, const dt_menus_t index) |
void | add_generic_sub_menu_entry (GtkWidget **menus, GList **lists, const gchar *label, const dt_menus_t index, void *data, gboolean(*action_callback)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data), gboolean(*checked_callback)(GtkWidget *widget), gboolean(*active_callback)(GtkWidget *widget), gboolean(*sensitive_callback)(GtkWidget *widget), guint key_val, GdkModifierType mods, GtkAccelGroup *accel_group) |
void | add_sub_menu_entry (GtkWidget **menus, GList **lists, const gchar *label, const dt_menus_t index, void *data, gboolean(*action_callback)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data), gboolean(*checked_callback)(GtkWidget *widget), gboolean(*active_callback)(GtkWidget *widget), gboolean(*sensitive_callback)(GtkWidget *widget), guint key_val, GdkModifierType mods) |
void | add_generic_sub_sub_menu_entry (GtkWidget **menus, GtkWidget *parent, GList **lists, const gchar *label, const dt_menus_t index, void *data, gboolean(*action_callback)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data), gboolean(*checked_callback)(GtkWidget *widget), gboolean(*active_callback)(GtkWidget *widget), gboolean(*sensitive_callback)(GtkWidget *widget), guint key_val, GdkModifierType mods, GtkAccelGroup *accel_group) |
void | add_sub_sub_menu_entry (GtkWidget **menus, GtkWidget *parent, GList **lists, const gchar *label, const dt_menus_t index, void *data, gboolean(*action_callback)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data), gboolean(*checked_callback)(GtkWidget *widget), gboolean(*active_callback)(GtkWidget *widget), gboolean(*sensitive_callback)(GtkWidget *widget), guint key_val, GdkModifierType mods) |
void | add_menu_separator (GtkWidget *menu) |
void | add_sub_menu_separator (GtkWidget *parent) |
void * | get_custom_data (GtkWidget *widget) |
GtkWidget * | get_last_widget (GList **list) |
gboolean | has_selection () |
gboolean | has_active_images () |
gboolean | _is_lighttable () |
void | append_display (GtkWidget **menus, GList **lists, const dt_menus_t index) |
void | append_edit (GtkWidget **menus, GList **lists, const dt_menus_t index) |
void | append_file (GtkWidget **menus, GList **lists, const dt_menus_t index) |
void | append_help (GtkWidget **menus, GList **lists, const dt_menus_t index) |
void | append_image (GtkWidget **menus, GList **lists, const dt_menus_t index) |
void | append_run (GtkWidget **menus, GList **lists, const dt_menus_t index) |
void | append_select (GtkWidget **menus, GList **lists, const dt_menus_t index) |
void | append_views (GtkWidget **menus, GList **lists, const dt_menus_t index) |
#define GET_ACCEL_WRAPPER | ( | cb | ) | cb##__accel |
#define MAKE_ACCEL_WRAPPER | ( | cb | ) |
typedef enum dt_menu_entry_style_t dt_menu_entry_style_t |
typedef struct dt_menu_entry_t dt_menu_entry_t |
typedef enum dt_menus_t dt_menus_t |
enum dt_menus_t |
gboolean _is_lighttable | ( | ) |
References darktable, dt_view_manager_get_current_view(), dt_view_t::module_name, and darktable_t::view_manager.
Referenced by _can_be_rotated(), clear_selection_sensitive_callback(), and select_all_sensitive_callback().
void add_generic_sub_menu_entry | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const gchar * | label, | ||
const dt_menus_t | index, | ||
void * | data, | ||
gboolean(*)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data) | action_callback, | ||
gboolean(*)(GtkWidget *widget) | checked_callback, | ||
gboolean(*)(GtkWidget *widget) | active_callback, | ||
gboolean(*)(GtkWidget *widget) | sensitive_callback, | ||
guint | key_val, | ||
GdkModifierType | mods, | ||
GtkAccelGroup * | accel_group | ||
) |
References set_menu_entry(), TRUE, and dt_menu_entry_t::widget.
Referenced by add_sub_menu_entry(), and append_thumbnails().
void add_generic_sub_sub_menu_entry | ( | GtkWidget ** | menus, |
GtkWidget * | parent, | ||
GList ** | lists, | ||
const gchar * | label, | ||
const dt_menus_t | index, | ||
void * | data, | ||
gboolean(*)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data) | action_callback, | ||
gboolean(*)(GtkWidget *widget) | checked_callback, | ||
gboolean(*)(GtkWidget *widget) | active_callback, | ||
gboolean(*)(GtkWidget *widget) | sensitive_callback, | ||
guint | key_val, | ||
GdkModifierType | mods, | ||
GtkAccelGroup * | accel_group | ||
) |
References set_menu_entry(), and dt_menu_entry_t::widget.
Referenced by add_sub_sub_menu_entry(), and append_thumbnails().
void add_generic_top_menu_entry | ( | GtkWidget * | menu_bar, |
GtkWidget ** | menus, | ||
GList ** | lists, | ||
const dt_menus_t | index, | ||
gchar * | label, | ||
GtkAccelGroup * | accel_group, | ||
const char * | accel_path_prefix | ||
) |
References dt_accels_build_path(), dt_gui_add_class(), strip_markup(), and update_menu_entries().
Referenced by add_top_menu_entry(), and gui_init().
void add_generic_top_submenu_entry | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const gchar * | label, | ||
const dt_menus_t | index, | ||
GtkAccelGroup * | accel_group | ||
) |
References dt_accels_build_path(), set_menu_entry(), strip_markup(), and dt_menu_entry_t::widget.
Referenced by add_top_submenu_entry(), and append_thumbnails().
void add_menu_separator | ( | GtkWidget * | menu | ) |
Referenced by append_display(), append_edit(), append_file(), append_help(), append_image(), append_run(), and append_select().
void add_sub_menu_entry | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const gchar * | label, | ||
const dt_menus_t | index, | ||
void * | data, | ||
gboolean(*)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data) | action_callback, | ||
gboolean(*)(GtkWidget *widget) | checked_callback, | ||
gboolean(*)(GtkWidget *widget) | active_callback, | ||
gboolean(*)(GtkWidget *widget) | sensitive_callback, | ||
guint | key_val, | ||
GdkModifierType | mods | ||
) |
References dt_gui_gtk_t::accels, add_generic_sub_menu_entry(), darktable, dt_accels_t::global_accels, and darktable_t::gui.
Referenced by append_display(), append_edit(), append_file(), append_help(), append_image(), append_run(), append_select(), and append_views().
void add_sub_menu_separator | ( | GtkWidget * | parent | ) |
Referenced by append_image().
void add_sub_sub_menu_entry | ( | GtkWidget ** | menus, |
GtkWidget * | parent, | ||
GList ** | lists, | ||
const gchar * | label, | ||
const dt_menus_t | index, | ||
void * | data, | ||
gboolean(*)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data) | action_callback, | ||
gboolean(*)(GtkWidget *widget) | checked_callback, | ||
gboolean(*)(GtkWidget *widget) | active_callback, | ||
gboolean(*)(GtkWidget *widget) | sensitive_callback, | ||
guint | key_val, | ||
GdkModifierType | mods | ||
) |
References dt_gui_gtk_t::accels, add_generic_sub_sub_menu_entry(), darktable, dt_accels_t::global_accels, and darktable_t::gui.
Referenced by append_display(), append_file(), and append_image().
void add_top_menu_entry | ( | GtkWidget * | menu_bar, |
GtkWidget ** | menus, | ||
GList ** | lists, | ||
const dt_menus_t | index, | ||
gchar * | label | ||
) |
References dt_gui_gtk_t::accels, add_generic_top_menu_entry(), darktable, dt_accels_t::global_accels, and darktable_t::gui.
Referenced by dt_ui_init_global_menu().
void add_top_submenu_entry | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const gchar * | label, | ||
const dt_menus_t | index | ||
) |
References dt_gui_gtk_t::accels, add_generic_top_submenu_entry(), darktable, dt_accels_t::global_accels, and darktable_t::gui.
Referenced by append_display(), append_file(), and append_image().
void append_display | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const dt_menus_t | index | ||
) |
References _jpg_checked(), _jpg_combobox_changed(), _toggle_side_borders_accel_callback(), add_menu_separator(), add_sub_menu_entry(), add_sub_sub_menu_entry(), add_top_submenu_entry(), always_hide_overlays_callback(), always_hide_overlays_checked_callback(), always_show_overlays_callback(), always_show_overlays_checked_callback(), available_in_lighttable_callback(), collapse_grouped_callback(), collapse_grouped_checked_callback(), darktable_t::color_profiles, darktable, dt_colorspaces_color_profile_t::display_pos, dt_accels_new_global_action, filmstrip_callback(), filmstrip_checked_callback(), full_screen_callback(), full_screen_checked_callback(), get_last_widget(), group_borders_callback(), group_borders_checked_callback(), hover_overlays_callback(), hover_overlays_checked_callback(), intent_callback(), intent_checked_callback(), dt_colorspaces_color_profile_t::name, panel_left_callback(), panel_left_checked_callback(), panel_right_callback(), panel_right_checked_callback(), panel_top_callback(), panel_top_checked_callback(), profile_callback(), profile_checked_callback(), and dt_colorspaces_t::profiles.
Referenced by dt_ui_init_global_menu().
void append_edit | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const dt_menus_t | index | ||
) |
References add_menu_separator(), add_sub_menu_entry(), compress_history_callback(), copy_callback(), copy_parts_callback(), delete_history_callback(), dt_gui_preferences_show(), duplicate_callback(), GET_ACCEL_WRAPPER, has_active_images(), has_selection(), load_xmp_callback(), new_history_callback(), paste_all_callback(), paste_parts_callback(), paste_sensitive_callback(), redo_callback(), redo_sensitive_callback(), shortcuts_callback(), undo_callback(), and undo_sensitive_callback().
Referenced by dt_ui_init_global_menu().
void append_file | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const dt_menus_t | index | ||
) |
References add_menu_separator(), add_sub_menu_entry(), add_sub_sub_menu_entry(), add_top_submenu_entry(), darktable, DT_COLLECTION_CHANGE_NONE, DT_COLLECTION_PROP_UNDEF, dt_control_copy_images(), dt_control_delete_images(), dt_control_merge_hdr(), dt_control_move_images(), dt_control_quit(), dt_control_remove_images(), dt_control_reset_local_copy_images(), dt_control_set_local_copy_images(), DT_DEBUG_CONTROL_SIGNAL_CONNECT, dt_images_import(), DT_SIGNAL_COLLECTION_CHANGED, export_files_callback(), GET_ACCEL_WRAPPER, get_last_widget(), has_active_images(), init_collection_line(), NUM_LAST_COLLECTIONS, darktable_t::signals, and update_collection_callback().
Referenced by dt_ui_init_global_menu().
void append_help | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const dt_menus_t | index | ||
) |
References add_menu_separator(), add_sub_menu_entry(), contextual_help_callback(), open_booking_callback(), open_chat_callback(), open_doc_callback(), open_donate_callback(), open_forum_callback(), open_search_callback(), search_accels_callback(), and show_about_dialog().
Referenced by dt_ui_init_global_menu().
void append_image | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const dt_menus_t | index | ||
) |
References _can_be_rotated(), add_menu_separator(), add_sub_menu_entry(), add_sub_menu_separator(), add_sub_sub_menu_entry(), add_top_submenu_entry(), blue_label_callback(), dt_control_refresh_exif(), GET_ACCEL_WRAPPER, get_last_widget(), green_label_callback(), group_images_callback(), has_active_images(), magenta_label_callback(), rating_five_callback(), rating_four_callback(), rating_one_callback(), rating_reject_callback(), rating_reset_callback(), rating_three_callback(), rating_two_callback(), red_label_callback(), reset_label_callback(), reset_rotation_callback(), rotate_clockwise_callback(), rotate_counterclockwise_callback(), ungroup_images_callback(), and yellow_label_callback().
Referenced by dt_ui_init_global_menu().
void append_run | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const dt_menus_t | index | ||
) |
References add_menu_separator(), add_sub_menu_entry(), backup_database_callback(), clear_caches_callback(), clear_image_cache(), crawl_xmp_changes(), dt_control_write_sidecar_files(), dt_image_local_copy_synch(), GET_ACCEL_WRAPPER, has_active_images(), optimize_database_callback(), and preload_image_cache_callback().
Referenced by dt_ui_init_global_menu().
void append_select | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const dt_menus_t | index | ||
) |
void append_views | ( | GtkWidget ** | menus, |
GList ** | lists, | ||
const dt_menus_t | index | ||
) |
References add_sub_menu_entry(), darktable, dt_view_t::data, view(), VIEW_FLAGS_HIDDEN, darktable_t::view_manager, view_switch_to_darkroom(), view_switch_to_lighttable(), view_switch_to_map(), view_switch_to_print(), view_switch_to_slideshow(), dt_view_manager_t::views, views_active_callback(), and views_sensitive_callback().
Referenced by dt_ui_init_global_menu().
void * get_custom_data | ( | GtkWidget * | widget | ) |
Referenced by _jpg_checked(), _jpg_combobox_changed(), _zoom_checked(), _zoom_combobox_changed(), init_collection_line(), intent_callback(), intent_checked_callback(), profile_callback(), profile_checked_callback(), update_collection_callback(), views_active_callback(), and views_sensitive_callback().
GtkWidget * get_last_widget | ( | GList ** | list | ) |
References dt_menu_entry_t::widget.
Referenced by append_display(), append_file(), append_image(), and append_thumbnails().
gboolean has_active_images | ( | ) |
References dt_act_on_get_images_nb(), and FALSE.
Referenced by _can_be_rotated(), append_edit(), append_file(), append_image(), append_run(), delete_history_callback(), duplicate_callback(), and new_history_callback().
gboolean has_selection | ( | ) |
References darktable, dt_selection_get_length(), and darktable_t::selection.
Referenced by append_edit().
dt_menu_entry_t * set_menu_entry | ( | GtkWidget ** | menus, |
GList ** | items_list, | ||
const gchar * | label, | ||
dt_menus_t | menu_index, | ||
GtkMenu * | parent, | ||
void * | data, | ||
gboolean(*)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data) | action_callback, | ||
gboolean(*)(GtkWidget *widget) | checked_callback, | ||
gboolean(*)(GtkWidget *widget) | active_callback, | ||
gboolean(*)(GtkWidget *widget) | sensitive_callback, | ||
guint | key_val, | ||
GdkModifierType | mods, | ||
GtkAccelGroup * | accel_group | ||
) |
How to use:
darktable.gui
since they take no arguments.set_menu_entry
function below. GUI states of the children menu items will be updated automatically everytime a top-level menu is opened. References _activate_callback_to_action_callback(), dt_menu_entry_t::accel_group, dt_gui_gtk_t::accels, dt_menu_entry_t::action_callback, dt_menu_entry_t::active_callback, dt_menu_entry_t::checked_callback, darktable, dt_accels_build_path(), dt_accels_new_action_shortcut(), DT_MENU_ENTRY_CHECKBUTTON, DT_MENU_ENTRY_DEFAULT, FALSE, darktable_t::gui, dt_menu_entry_t::menu, dt_menu_entry_t::sensitive_callback, strip_markup(), dt_menu_entry_t::style, and dt_menu_entry_t::widget.
Referenced by add_generic_sub_menu_entry(), add_generic_sub_sub_menu_entry(), and add_generic_top_submenu_entry().
void update_entry | ( | dt_menu_entry_t * | entry | ) |
References _activate_callback_to_action_callback(), dt_menu_entry_t::active_callback, dt_menu_entry_t::checked_callback, dt_gui_add_class(), dt_gui_remove_class(), DT_MENU_ENTRY_DEFAULT, dt_menu_entry_t::sensitive_callback, dt_menu_entry_t::style, and dt_menu_entry_t::widget.
Referenced by update_menu_entries().
void update_menu_entries | ( | GtkWidget * | widget, |
gpointer | user_data | ||
) |
References update_entry().
Referenced by add_generic_top_menu_entry().