diff options
-rw-r--r-- | plugins/gtkui/gtkui.c | 2 | ||||
-rw-r--r-- | plugins/gtkui/gtkui_api.h | 9 | ||||
-rw-r--r-- | plugins/gtkui/widgets.c | 5 | ||||
-rw-r--r-- | plugins/gtkui/widgets.h | 3 | ||||
-rw-r--r-- | plugins/pltbrowser/pltbrowser.c | 3 |
5 files changed, 19 insertions, 3 deletions
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c index 9bdd930e..c8604599 100644 --- a/plugins/gtkui/gtkui.c +++ b/plugins/gtkui/gtkui.c @@ -1754,6 +1754,8 @@ static ddb_gtkui_t plugin = { .w_override_signals = w_override_signals, .w_is_registered = w_is_registered, .w_get_rootwidget = w_get_rootwidget, + .w_set_design_mode = w_set_design_mode, + .w_get_design_mode = w_get_design_mode, .w_create = w_create, .w_destroy = w_destroy, .w_append = w_append, diff --git a/plugins/gtkui/gtkui_api.h b/plugins/gtkui/gtkui_api.h index 9dff7745..70d23824 100644 --- a/plugins/gtkui/gtkui_api.h +++ b/plugins/gtkui/gtkui_api.h @@ -138,12 +138,15 @@ typedef struct { // returns the toplevel widget ddb_gtkui_widget_t * (*w_get_rootwidget) (void); + // enter/exit design mode + void (*w_set_design_mode) (int active); + + // check whether we are in design mode + int (*w_get_design_mode) (void); + // create a widget of specified type ddb_gtkui_widget_t * (*w_create) (const char *type); - // set widget name - void (*w_set_name) (ddb_gtkui_widget_t *w, const char *name); - // destroy the widget void (*w_destroy) (ddb_gtkui_widget_t *w); diff --git a/plugins/gtkui/widgets.c b/plugins/gtkui/widgets.c index d5056545..50718874 100644 --- a/plugins/gtkui/widgets.c +++ b/plugins/gtkui/widgets.c @@ -161,6 +161,11 @@ w_set_design_mode (int active) { set_design_mode (rootwidget); } +int +w_get_design_mode (void) { + return design_mode; +} + void w_append (ddb_gtkui_widget_t *cont, ddb_gtkui_widget_t *child) { child->parent = cont; diff --git a/plugins/gtkui/widgets.h b/plugins/gtkui/widgets.h index ee8d7b05..9d262b6d 100644 --- a/plugins/gtkui/widgets.h +++ b/plugins/gtkui/widgets.h @@ -36,6 +36,9 @@ w_get_rootwidget (void); void w_set_design_mode (int active); +int +w_get_design_mode (void); + void w_reg_widget (const char *title, ddb_gtkui_widget_t *(*create_func) (void), ...); diff --git a/plugins/pltbrowser/pltbrowser.c b/plugins/pltbrowser/pltbrowser.c index c1e168d0..76f2b749 100644 --- a/plugins/pltbrowser/pltbrowser.c +++ b/plugins/pltbrowser/pltbrowser.c @@ -104,6 +104,9 @@ on_pltbrowser_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data) { + if (gtkui_plugin->w_get_design_mode ()) { + return FALSE; + } if (event->type == GDK_BUTTON_PRESS && event->button == 3) { GtkTreePath *path; GtkTreeViewColumn *col; |