diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gui/editor.c | 13 | ||||
| -rw-r--r-- | src/gui/panels/view.c | 15 | 
2 files changed, 27 insertions, 1 deletions
| diff --git a/src/gui/editor.c b/src/gui/editor.c index 1665ff4..c7c2d37 100644 --- a/src/gui/editor.c +++ b/src/gui/editor.c @@ -1030,11 +1030,22 @@ static void on_editor_content_available(GStudyProject *project, GLoadedContent *  static void on_editor_loaded_content_added(GStudyProject *project, GLoadedContent *content, void *unused)  {      GPanelItem *panel;                      /* Nouveau panneau à integrer  */ +    GPanelItemClass *class;                 /* Classe associée au panneau  */ +#ifndef NDEBUG +    bool status;                            /* Bilan de mise en place      */ +#endif      GtkWidget *selected;                    /* Interface de prédilection   */      panel = g_view_panel_new(G_NAMED_WIDGET(content)); -    register_panel_item(G_TYPE_VIEW_PANEL, get_main_configuration()); +    class = G_PANEL_ITEM_GET_CLASS(panel); + +#ifndef NDEBUG +    status = gtk_panel_item_class_setup_configuration(class, get_main_configuration()); +    assert(status); +#else +    gtk_panel_item_class_setup_configuration(class, get_main_configuration()); +#endif      selected = g_editor_item_get_widget(G_EDITOR_ITEM(panel)); diff --git a/src/gui/panels/view.c b/src/gui/panels/view.c index 26dc820..391c9c6 100644 --- a/src/gui/panels/view.c +++ b/src/gui/panels/view.c @@ -29,7 +29,10 @@  #include "../panel-int.h" +#include "../core/global.h" +#include "../core/items.h"  #include "../../gtkext/named.h" +#include "../../plugins/pglist.h" @@ -250,12 +253,24 @@ static char *g_view_panel_class_get_path(const GViewPanelClass *class)  GPanelItem *g_view_panel_new(GNamedWidget *widget)  {      GPanelItem *result;                     /* Structure à retourner       */ +    GtkTiledGrid *grid;                     /* Composant d'affichage       */      result = g_object_new(G_TYPE_VIEW_PANEL, NULL);      result->widget = widget;      g_object_ref(G_OBJECT(widget)); +    grid = get_tiled_grid(); + +    g_signal_connect_swapped(result, "dock-request", G_CALLBACK(gtk_tiled_grid_add), grid); +    g_signal_connect_swapped(result, "undock-request", G_CALLBACK(gtk_tiled_grid_remove), grid); + +    gtk_dockable_setup_dnd(GTK_DOCKABLE(result)); + +    register_editor_item(G_EDITOR_ITEM(result)); + +    notify_panel_creation(result); +      return result;  } | 
