![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/darktable.h"
#include "common/iop_profile.h"
#include "common/gui_module_api.h"
#include "views/view.h"
#include <gmodule.h>
#include <gtk/gtk.h>
#include <glib.h>
#include "libs/lib_api.h"
Go to the source code of this file.
Data Structures | |
struct | dt_lib_t |
struct | dt_lib_module_t |
Macros | |
#define | INCLUDE_API_FROM_MODULE_H |
Typedefs | |
typedef struct dt_lib_t | dt_lib_t |
typedef struct dt_lib_module_t | dt_lib_module_t |
Functions | |
void | dt_lib_init (dt_lib_t *lib) |
void | dt_lib_cleanup (dt_lib_t *lib) |
GtkWidget * | dt_lib_gui_get_expander (dt_lib_module_t *module) |
void | dt_lib_gui_set_expanded (dt_lib_module_t *module, gboolean expanded) |
gboolean | dt_lib_gui_get_expanded (dt_lib_module_t *module) |
dt_lib_module_t * | dt_lib_get_module (const char *name) |
gboolean | dt_lib_is_visible (dt_lib_module_t *module) |
void | dt_lib_set_visible (dt_lib_module_t *module, gboolean visible) |
gboolean | dt_lib_is_visible_in_view (dt_lib_module_t *module, const dt_view_t *view) |
gchar * | dt_lib_get_localized_name (const gchar *plugin_name) |
void | dt_lib_presets_add (const char *name, const char *plugin_name, const int32_t version, const void *params, const int32_t params_size, gboolean readonly) |
void | dt_lib_queue_postponed_update (dt_lib_module_t *mod, void(*update_fn)(dt_lib_module_t *self)) |
void | dt_lib_cancel_postponed_update (dt_lib_module_t *mod) |
gboolean | dt_lib_presets_apply (const gchar *preset, const gchar *module_name, int module_version) |
gchar * | dt_lib_presets_duplicate (const gchar *preset, const gchar *module_name, int module_version) |
void | dt_lib_presets_remove (const gchar *preset, const gchar *module_name, int module_version) |
void | dt_lib_presets_update (const gchar *preset, const gchar *module_name, int module_version, const gchar *newname, const gchar *desc, const void *params, const int32_t params_size) |
gboolean | dt_lib_presets_can_autoapply (dt_lib_module_t *mod) |
void | dt_lib_colorpicker_set_box_area (dt_lib_t *lib, const dt_boundingbox_t box) |
void | dt_lib_colorpicker_set_point (dt_lib_t *lib, const float pos[2]) |
gint | dt_lib_sort_plugins (gconstpointer a, gconstpointer b) |
void | dt_lib_init_presets (dt_lib_module_t *module) |
gboolean | dt_handle_dialog_enter (GtkWidget *widget, GdkEventKey *event, gpointer data) |
GtkWidget * | dt_action_button_new (dt_lib_module_t *self, const gchar *label, gpointer callback, gpointer data, const gchar *tooltip, guint accel_key, GdkModifierType mods) |
#define INCLUDE_API_FROM_MODULE_H |
typedef struct dt_lib_module_t dt_lib_module_t |
struct responsible for all library related shared routines and plugins.
GtkWidget * dt_action_button_new | ( | dt_lib_module_t * | self, |
const gchar * | label, | ||
gpointer | callback, | ||
gpointer | data, | ||
const gchar * | tooltip, | ||
guint | accel_key, | ||
GdkModifierType | mods | ||
) |
References dt_capitalize_label(), and tooltip.
Referenced by gui_init(), gui_init(), and gui_init().
gboolean dt_handle_dialog_enter | ( | GtkWidget * | widget, |
GdkEventKey * | event, | ||
gpointer | data | ||
) |
handle Enter key for dialog. Note it uses GTK_RESPONSE_ACCEPT code
Referenced by _add_tag_button_clicked(), _menuitem_preferences(), and dt_lib_export_metadata_configuration_dialog().
void dt_lib_cancel_postponed_update | ( | dt_lib_module_t * | mod | ) |
cancel any previously-queued callback
References dt_lib_module_t::_postponed_update, and dt_lib_module_t::timeout_handle.
Referenced by _update(), _update(), _update(), _update_atdetach_buttons(), and gui_cleanup().
References dt_lib_module_t::data, dt_lib_unload_module(), and dt_lib_t::plugins.
Referenced by dt_cleanup().
void dt_lib_colorpicker_set_box_area | ( | dt_lib_t * | lib, |
const dt_boundingbox_t | box | ||
) |
set the colorpicker area selection tool and size, box[k] 0.0 - 1.0
References dt_lib_t::colorpicker, dt_gui_refocus_center(), dt_lib_t::proxy, and dt_lib_t::set_sample_box_area.
Referenced by _color_picker_callback_button_press(), and button_pressed().
set the colorpicker point selection tool and position
References dt_lib_t::colorpicker, dt_gui_refocus_center(), dt_lib_t::proxy, and dt_lib_t::set_sample_point.
Referenced by _color_picker_callback_button_press(), and button_pressed().
gchar * dt_lib_get_localized_name | ( | const gchar * | plugin_name | ) |
returns the localized plugin name for a given plugin_name. must not be freed.
References darktable, darktable_t::lib, dt_lib_module_t::plugin_name, and dt_lib_t::plugins.
dt_lib_module_t * dt_lib_get_module | ( | const char * | name | ) |
return the plugin with the given name
References darktable, darktable_t::lib, name, dt_lib_module_t::plugin_name, and dt_lib_t::plugins.
Referenced by expose().
gboolean dt_lib_gui_get_expanded | ( | dt_lib_module_t * | module | ) |
get the expanded state of a plugin
References darktable, dt_conf_get_bool(), dt_view_manager_get_current_view(), DTGTK_EXPANDER, dtgtk_expander_get_expanded(), dt_lib_module_t::expander, dt_view_t::module_name, dt_lib_module_t::plugin_name, darktable_t::view_manager, and dt_lib_module_t::widget.
Referenced by default_lib_focus(), and expose().
GtkWidget * dt_lib_gui_get_expander | ( | dt_lib_module_t * | module | ) |
creates a label widget for the expander, with callback to enable/disable this module.
References _lib_plugin_body_button_press(), _lib_plugin_header_button_press(), dt_lib_module_t::arrow, dt_capitalize_label(), dt_gui_add_class(), dt_lib_gui_reset_callback(), DTGTK_EXPANDER, dtgtk_expander_get_body_event_box(), dtgtk_expander_get_frame(), dtgtk_expander_get_header_event_box(), dtgtk_expander_new(), FALSE, dt_lib_module_t::presets_button, presets_popup_callback(), dt_lib_module_t::reset_button, and dt_lib_module_t::widget.
Referenced by dt_view_manager_switch_by_view(), and export_files_callback().
void dt_lib_gui_set_expanded | ( | dt_lib_module_t * | module, |
gboolean | expanded | ||
) |
set an expand/collapse plugin expander
References dt_lib_module_t::arrow, CPF_DIRECTION_DOWN, CPF_DIRECTION_RIGHT, darktable, dt_conf_set_bool(), dt_control_queue_redraw(), dt_gui_refocus_center(), dt_view_manager_get_current_view(), DTGTK_BUTTON, dtgtk_button_set_paint(), dtgtk_cairo_paint_solid_arrow(), DTGTK_EXPANDER, dtgtk_expander_set_expanded(), dt_lib_module_t::expander, flags, darktable_t::gui, dt_lib_t::gui_module, darktable_t::lib, dt_view_t::module_name, dt_lib_module_t::plugin_name, dt_gui_gtk_t::scroll_to, and darktable_t::view_manager.
Referenced by _lib_plugin_header_button_press(), default_lib_focus(), dt_view_manager_switch_by_view(), expanded_member(), and export_files_callback().
References darktable, dt_lib_init_module(), dt_lib_load_module(), dt_lib_sort_plugins(), dt_module_load_modules(), darktable_t::lib, and dt_lib_t::plugins.
Referenced by dt_init().
void dt_lib_init_presets | ( | dt_lib_module_t * | module | ) |
init presets for a newly created lib
References _update_params(), darktable, darktable_t::db, dt_database_get(), DT_DEBUG_CONTROL_SIGNAL_RAISE, DT_DEBUG_SQLITE3_BIND_BLOB, DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, DT_SIGNAL_PRESETS_CHANGED, name, dt_lib_module_t::plugin_name, and darktable_t::signals.
Referenced by dt_lib_init_module(), and register_lib().
gboolean dt_lib_is_visible | ( | dt_lib_module_t * | module | ) |
get the visible state of a plugin
References _get_lib_view_path(), dt_conf_get_bool(), dt_conf_key_exists(), key, and TRUE.
Referenced by dt_view_manager_switch_by_view(), and visible_member().
gboolean dt_lib_is_visible_in_view | ( | dt_lib_module_t * | module, |
const dt_view_t * | view | ||
) |
check if a plugin is to be shown in a given view
References FALSE, TRUE, view(), and views().
Referenced by _lib_plugin_header_button_press(), dt_view_manager_button_pressed(), dt_view_manager_button_released(), dt_view_manager_expose(), dt_view_manager_key_pressed(), dt_view_manager_mouse_leave(), dt_view_manager_mouse_moved(), dt_view_manager_switch_by_view(), and views_member().
void dt_lib_presets_add | ( | const char * | name, |
const char * | plugin_name, | ||
const int32_t | version, | ||
const void * | params, | ||
const int32_t | params_size, | ||
gboolean | readonly | ||
) |
preset stuff for lib add or replace a preset for this operation.
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_BLOB, DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, dt_lib_presets_remove(), name, and params_size().
Referenced by add_rights_preset(), and init_presets().
gboolean dt_lib_presets_apply | ( | const gchar * | preset, |
const gchar * | module_name, | ||
int | module_version | ||
) |
References darktable, darktable_t::db, dt_conf_set_string(), dt_control_log(), dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, dt_gui_store_last_preset(), dt_lib_presets_remove(), FALSE, darktable_t::lib, dt_lib_t::plugins, preset, and TRUE.
Referenced by pick_callback().
gboolean dt_lib_presets_can_autoapply | ( | dt_lib_module_t * | mod | ) |
Referenced by dt_presets_module_can_autoapply().
gchar * dt_lib_presets_duplicate | ( | const gchar * | preset, |
const gchar * | module_name, | ||
int | module_version | ||
) |
void dt_lib_presets_remove | ( | const gchar * | preset, |
const gchar * | module_name, | ||
int | module_version | ||
) |
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, and preset.
Referenced by _edit_preset_response(), _menuitem_delete_preset(), _menuitem_new_preset(), dt_lib_presets_add(), dt_lib_presets_apply(), menuitem_delete_preset(), and menuitem_new_preset().
void dt_lib_queue_postponed_update | ( | dt_lib_module_t * | mod, |
void(*)(dt_lib_module_t *self) | update_fn | ||
) |
queue a delayed call of update function after user interaction
References _postponed_update(), dt_lib_module_t::_postponed_update, dt_develop_t::average_delay, darktable, darktable_t::develop, and dt_lib_module_t::timeout_handle.
Referenced by _lib_tagging_redraw_callback(), and _mouse_over_image_callback().
void dt_lib_set_visible | ( | dt_lib_module_t * | module, |
gboolean | visible | ||
) |
set the visible state of a plugin
References _get_lib_view_path(), dt_conf_set_bool(), dt_lib_module_t::expander, key, and dt_lib_module_t::widget.
Referenced by dt_view_manager_switch_by_view(), and visible_member().
gint dt_lib_sort_plugins | ( | gconstpointer | a, |
gconstpointer | b | ||
) |
sorter callback to add a lib in the list of libs after init
Referenced by dt_lib_init(), and register_lib().