本文整理汇总了C++中dt_ui_center函数的典型用法代码示例。如果您正苦于以下问题:C++ dt_ui_center函数的具体用法?C++ dt_ui_center怎么用?C++ dt_ui_center使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dt_ui_center函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: enter
void enter(dt_view_t *self)
{
dt_map_t *lib = (dt_map_t *)self->data;
lib->selected_image = 0;
lib->start_drag = FALSE;
/* replace center widget */
GtkWidget *parent = gtk_widget_get_parent(dt_ui_center(darktable.gui->ui));
gtk_widget_hide(dt_ui_center(darktable.gui->ui));
gtk_box_reorder_child(GTK_BOX(parent), GTK_WIDGET(lib->map), 2);
gtk_widget_show_all(GTK_WIDGET(lib->map));
/* setup proxy functions */
darktable.view_manager->proxy.map.view = self;
darktable.view_manager->proxy.map.center_on_location = _view_map_center_on_location;
darktable.view_manager->proxy.map.show_osd = _view_map_show_osd;
darktable.view_manager->proxy.map.set_map_source = _view_map_set_map_source;
/* restore last zoom,location in map */
const float lon = dt_conf_get_float("plugins/map/longitude");
const float lat = dt_conf_get_float("plugins/map/latitude");
const int zoom = dt_conf_get_int("plugins/map/zoom");
osm_gps_map_set_center_and_zoom(lib->map, lat, lon, zoom);
/* connect signal for filmstrip image activate */
dt_control_signal_connect(darktable.signals,
DT_SIGNAL_VIEWMANAGER_FILMSTRIP_ACTIVATE,
G_CALLBACK(_view_map_filmstrip_activate_callback),
self);
}
示例2: dt_ctl_switch_mode_to
void dt_ctl_switch_mode_to(dt_control_gui_mode_t mode)
{
dt_control_gui_mode_t oldmode = dt_conf_get_int("ui_last/view");
if(oldmode == mode) return;
darktable.control->button_down = 0;
darktable.control->button_down_which = 0;
darktable.gui->center_tooltip = 0;
GtkWidget *widget = dt_ui_center(darktable.gui->ui);
g_object_set(G_OBJECT(widget), "tooltip-text", "", (char *)NULL);
char buf[512];
snprintf(buf, sizeof(buf) - 1, _("switch to %s mode"),
dt_view_manager_name(darktable.view_manager));
gboolean i_own_lock = dt_control_gdk_lock();
int error = dt_view_manager_switch(darktable.view_manager, mode);
if(i_own_lock) dt_control_gdk_unlock();
if(error) return;
dt_conf_set_int ("ui_last/view", mode);
}
示例3: fullscreen_key_accel_callback
static gboolean fullscreen_key_accel_callback(GtkAccelGroup *accel_group,
GObject *acceleratable, guint keyval,
GdkModifierType modifier,
gpointer data)
{
GtkWidget *widget;
int fullscreen;
if(data)
{
widget = dt_ui_main_window(darktable.gui->ui);
fullscreen = dt_conf_get_bool("ui_last/fullscreen");
if(fullscreen) gtk_window_unfullscreen(GTK_WINDOW(widget));
else gtk_window_fullscreen (GTK_WINDOW(widget));
fullscreen ^= 1;
dt_conf_set_bool("ui_last/fullscreen", fullscreen);
dt_dev_invalidate(darktable.develop);
}
else
{
widget = dt_ui_main_window(darktable.gui->ui);
gtk_window_unfullscreen(GTK_WINDOW(widget));
fullscreen = 0;
dt_conf_set_bool("ui_last/fullscreen", fullscreen);
dt_dev_invalidate(darktable.develop);
}
/* redraw center view */
gtk_widget_queue_draw(dt_ui_center(darktable.gui->ui));
return TRUE;
}
示例4: enter
void enter(dt_view_t *self)
{
// init drag&drop of files/folders
gtk_drag_dest_set(dt_ui_center(darktable.gui->ui), GTK_DEST_DEFAULT_ALL, target_list, n_targets, GDK_ACTION_COPY);
g_signal_connect(dt_ui_center(darktable.gui->ui), "drag-data-received", G_CALLBACK(drag_and_drop_received), self);
/* connect to signals */
dt_control_signal_connect(darktable.signals, DT_SIGNAL_DEVELOP_MIPMAP_UPDATED,
G_CALLBACK(_lighttable_mipamps_updated_signal_callback),
(gpointer)self);
// clear some state variables
dt_library_t *lib = (dt_library_t *)self->data;
lib->button = 0;
lib->pan = 0;
}
示例5: enter
void enter(dt_view_t *self)
{
dt_print_t *prt=(dt_print_t*)self->data;
/* scroll filmstrip to the first selected image */
GList *selected_images = dt_collection_get_selected(darktable.collection, 1);
if(selected_images)
{
int imgid = GPOINTER_TO_INT(selected_images->data);
prt->image_id = imgid;
dt_view_filmstrip_scroll_to_image(darktable.view_manager, imgid, FALSE);
}
g_list_free(selected_images);
_set_orientation(prt);
dt_control_signal_connect(darktable.signals, DT_SIGNAL_DEVELOP_MIPMAP_UPDATED,
G_CALLBACK(_print_mipmaps_updated_signal_callback),
(gpointer)self);
dt_control_signal_connect(darktable.signals,
DT_SIGNAL_VIEWMANAGER_FILMSTRIP_ACTIVATE,
G_CALLBACK(_view_print_filmstrip_activate_callback),
self);
gtk_widget_grab_focus(dt_ui_center(darktable.gui->ui));
// prefetch next few from first selected image on.
dt_view_filmstrip_prefetch();
darktable.control->mouse_over_id = -1;
dt_control_set_mouse_over_id(prt->image_id);
}
示例6: _dt_ctl_switch_mode_prepare
static void _dt_ctl_switch_mode_prepare()
{
darktable.control->button_down = 0;
darktable.control->button_down_which = 0;
darktable.gui->center_tooltip = 0;
GtkWidget *widget = dt_ui_center(darktable.gui->ui);
gtk_widget_set_tooltip_text(widget, "");
}
示例7: dt_gui_gtk_run
void dt_gui_gtk_run(dt_gui_gtk_t *gui)
{
GtkWidget *widget = dt_ui_center(darktable.gui->ui);
darktable.gui->pixmap = gdk_pixmap_new(widget->window, widget->allocation.width, widget->allocation.height, -1);
/* start the event loop */
gtk_main ();
gdk_threads_leave();
}
示例8: view_switch_key_accel_callback
static gboolean view_switch_key_accel_callback(GtkAccelGroup *accel_group,
GObject *acceleratable, guint keyval,
GdkModifierType modifier,
gpointer data)
{
dt_ctl_switch_mode();
gtk_widget_queue_draw(dt_ui_center(darktable.gui->ui));
return TRUE;
}
示例9: dt_control_key_pressed
int dt_control_key_pressed(guint key, guint state)
{
int handled = dt_view_manager_key_pressed(
darktable.view_manager,
key,
state);
if(handled)
gtk_widget_queue_draw(dt_ui_center(darktable.gui->ui));
return handled;
}
示例10: leave
void leave(dt_view_t *self)
{
gtk_drag_dest_unset(dt_ui_center(darktable.gui->ui));
/* disconnect from signals */
dt_control_signal_disconnect(darktable.signals, G_CALLBACK(_lighttable_mipamps_updated_signal_callback), (gpointer)self);
// clear some state variables
dt_library_t *lib = (dt_library_t *)self->data;
lib->button = 0;
lib->pan = 0;
}
示例11: contrast_key_accel_callback
static gboolean contrast_key_accel_callback(GtkAccelGroup *accel_group,
GObject *acceleratable, guint keyval,
GdkModifierType modifier,
gpointer data)
{
if(data)
dt_gui_contrast_increase();
else
dt_gui_contrast_decrease();
gtk_widget_queue_draw(dt_ui_center(darktable.gui->ui));
return TRUE;
}
示例12: _dt_ctl_switch_mode_to
static gboolean _dt_ctl_switch_mode_to(gpointer user_data)
{
dt_control_gui_mode_t mode = GPOINTER_TO_INT(user_data);
darktable.control->button_down = 0;
darktable.control->button_down_which = 0;
darktable.gui->center_tooltip = 0;
GtkWidget *widget = dt_ui_center(darktable.gui->ui);
gtk_widget_set_tooltip_text(widget, "");
if(!dt_view_manager_switch(darktable.view_manager, mode))
dt_conf_set_int("ui_last/view", mode);
return FALSE;
}
示例13: leave
void leave(dt_view_t *self)
{
/* disconnect from filmstrip image activate */
dt_control_signal_disconnect(darktable.signals,
G_CALLBACK(_view_map_filmstrip_activate_callback),
(gpointer)self);
dt_map_t *lib = (dt_map_t *)self->data;
gtk_widget_hide(GTK_WIDGET(lib->map));
gtk_widget_show_all(dt_ui_center(darktable.gui->ui));
/* reset proxy */
darktable.view_manager->proxy.map.view = NULL;
}
示例14: dt_control_key_released
int dt_control_key_released(guint key, guint state)
{
// this line is here to find the right key code on different platforms (mac).
// printf("key code pressed: %d\n", which);
int handled = 0;
switch(key)
{
default:
// propagate to view modules.
handled = dt_view_manager_key_released(darktable.view_manager, key, state);
break;
}
if(handled) gtk_widget_queue_draw(dt_ui_center(darktable.gui->ui));
return handled;
}
示例15: dt_control_quit
void dt_control_quit()
{
#ifdef HAVE_MAP
// since map mode doesn't like to quit we just switch to lighttable mode. hacky, but it works :(
if(dt_conf_get_int("ui_last/view") == DT_MAP) // we are in map mode where no expose is running
dt_ctl_switch_mode_to(DT_LIBRARY);
#endif
dt_gui_gtk_quit();
// thread safe quit, 1st pass:
dt_pthread_mutex_lock(&darktable.control->cond_mutex);
dt_pthread_mutex_lock(&darktable.control->run_mutex);
darktable.control->running = 0;
dt_pthread_mutex_unlock(&darktable.control->run_mutex);
dt_pthread_mutex_unlock(&darktable.control->cond_mutex);
// let gui pick up the running = 0 state and die
gtk_widget_queue_draw(dt_ui_center(darktable.gui->ui));
}