![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/darktable.h"
#include "common/act_on.h"
#include "common/debug.h"
#include "common/collection.h"
#include "common/selection.h"
#include "control/conf.h"
#include "develop/develop.h"
#include "gui/gtk.h"
#include "views/view.h"
#include "menu.h"
Functions | |
static void | _activate_callback_to_action_callback (GtkMenuItem *menu_item, gpointer user_data) |
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 () |
|
static |
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 dt_menu_entry_t::accel_group, and dt_menu_entry_t::action_callback.
Referenced by set_menu_entry(), and update_entry().
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 * 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().