/* OpenIDA - Outil d'analyse de fichiers binaires
* gtkdockpanel.h - prototypes pour la manipulation et l'affichage de panneaux dockables
*
* Copyright (C) 2009 Cyrille Bagard
*
* This file is part of OpenIDA.
*
* OpenIDA 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.
*
* OpenIDA 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 Foobar. If not, see .
*/
#ifndef _GTKEXT_GTKDOCKPANEL_H
#define _GTKEXT_GTKDOCKPANEL_H
#include
#include "gtkdockitem.h"
G_BEGIN_DECLS
#define GTK_TYPE_DOCK_PANEL (gtk_dock_panel_get_type())
#define GTK_DOCK_PANEL(obj) GTK_CHECK_CAST(obj, gtk_dock_panel_get_type (), GtkDockPanel)
#define GTK_DOCK_PANEL_CLASS(klass) GTK_CHECK_CLASS_CAST(klass, gtk_dock_panel_get_type(), GtkDockPanelClass)
#define GTK_IS_DOCK_PANEL(obj) GTK_CHECK_TYPE(obj, gtk_dock_panel_get_type())
typedef struct _GtkDockPanel GtkDockPanel;
typedef struct _GtkDockPanelClass GtkDockPanelClass;
#include
struct _GtkDockPanel
{
GtkVBox vbox; /* Présence obligatoire en 1er */
GtkLabel *title; /* Title du support principal */
GtkNotebook *notebook; /* Support à onglets */
GList *ditems; /* Panneaux intégrés */
GtkWidget *dropwin; /* Destination des Drag'n Drop */
};
struct _GtkDockPanelClass
{
GtkVBoxClass parent_class; /* Présence obligatoire en 1er */
/* Signaux */
void (* switch_item) (GtkDockPanel *, GDockItem *);
};
/* Détermine le type du composant d'affichage des morceaux. */
GtkType gtk_dock_panel_get_type(void);
/* Crée un nouveau composant pour station dockable. */
GtkWidget *gtk_dock_panel_new(void);
/* Retrouve un membre du panneau d'après son nom. */
GDockItem *gtk_dock_panel_item_from_name(GtkDockPanel *, const char *);
/* Ajoute un paquet d'informations à la station dockable. */
void gtk_dock_panel_add_item(GtkDockPanel *, GDockItem *);
/* Supprime un paquet d'informations à la station dockable. */
void gtk_dock_panel_remove_item(GtkDockPanel *, GDockItem *);
G_END_DECLS
#endif /* _GTKEXT_GTKDOCKPANEL_H */