/* Chrysalide - Outil d'analyse de fichiers binaires * dockstation.h - prototypes internes pour la manipulation et l'affichage de composants rassemblés * * Copyright (C) 2024 Cyrille Bagard * * This file is part of Chrysalide. * * Chrysalide is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * Chrysalide is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Chrysalide. If not, see . */ #ifndef _GTKEXT_DOCKSTATION_INT_H #define _GTKEXT_DOCKSTATION_INT_H #include "dockstation.h" /* Station de réception pour concentration d'éléments (instance) */ struct _GtkDockStation { GtkBox parent; /* A laisser en premier */ GtkOrientation orientation; /* Spécification d'orientation */ GtkWidget *tabs; /* Bascule entre panneaux */ GtkWidget *toolbar; /* Boutons d'action */ GtkWidget *sep1; /* Séparateur #1 */ GtkStack *stack; /* Pile de panneaux affichés */ GtkWidget *sep2; /* Séparateur #2 */ GtkTiledPanel *def_panel; /* Eventuel panneau à maintenir*/ }; /* Station de réception pour concentration d'éléments (classe) */ struct _GtkDockStationClass { GtkBoxClass parent; /* A laisser en premier */ /* Signaux */ void (* panel_docked) (GtkDockStation *, GtkTiledPanel *); void (* panel_undocked) (GtkDockStation *, GtkTiledPanel *); void (* switch_widget) (GtkDockStation *, GtkWidget *); void (* menu_requested) (GtkDockStation *, GtkWidget *); void (* close_requested) (GtkDockStation *, GtkWidget *); }; #endif /* _GTKEXT_DOCKSTATION_INT_H */