Fixes NULL pointer dereference when closing tabs.
[anjuta.git] / libanjuta / anjuta-dock.h
blob7706c5cdd0e1495a2b51386ed0fecd4bdda967ea
1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
2 /*
3 * git-shell-test
4 * Copyright (C) James Liggett 2009 <jrliggett@cox.net>
5 *
6 * git-shell-test is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * git-shell-test is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 * See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along
17 * with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef _ANJUTA_DOCK_H_
21 #define _ANJUTA_DOCK_H_
23 #include <glib-object.h>
24 #include <gdl/gdl-dock.h>
25 #include <gdl/gdl-dock-object.h>
26 #include "anjuta-dock-pane.h"
27 #include "anjuta-command-bar.h"
29 G_BEGIN_DECLS
31 #define ANJUTA_TYPE_DOCK (anjuta_dock_get_type ())
32 #define ANJUTA_DOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ANJUTA_TYPE_DOCK, AnjutaDock))
33 #define ANJUTA_DOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ANJUTA_TYPE_DOCK, AnjutaDockClass))
34 #define ANJUTA_IS_DOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ANJUTA_TYPE_DOCK))
35 #define ANJUTA_IS_DOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ANJUTA_TYPE_DOCK))
36 #define ANJUTA_DOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ANJUTA_TYPE_DOCK, AnjutaDockClass))
38 typedef struct _AnjutaDockClass AnjutaDockClass;
39 typedef struct _AnjutaDock AnjutaDock;
40 typedef struct _AnjutaDockPriv AnjutaDockPriv;
42 struct _AnjutaDockClass
44 GdlDockClass parent_class;
47 struct _AnjutaDock
49 GdlDock parent_instance;
51 AnjutaDockPriv *priv;
54 GType anjuta_dock_get_type (void) G_GNUC_CONST;
55 GtkWidget *anjuta_dock_new (void);
56 void anjuta_dock_add_pane (AnjutaDock *self, const gchar *pane_name,
57 const gchar *pane_label, const gchar *stock_icon,
58 AnjutaDockPane *pane, GdlDockPlacement placement,
59 AnjutaCommandBarEntry *entries, int num_entries,
60 gpointer user_data);
61 void anjuta_dock_add_pane_full (AnjutaDock *self, const gchar *pane_name,
62 const gchar *pane_label,
63 const gchar *stock_icon, AnjutaDockPane *pane,
64 GdlDockPlacement placement,
65 AnjutaCommandBarEntry *entries, int num_entries,
66 gpointer user_data,
67 GdlDockItemBehavior behavior);
68 void anjuta_dock_remove_pane (AnjutaDock *self, AnjutaDockPane *pane);
69 void anjuta_dock_show_pane (AnjutaDock *self, AnjutaDockPane *pane);
70 void anjuta_dock_hide_pane (AnjutaDock *self, AnjutaDockPane *pane);
71 void anjuta_dock_set_command_bar (AnjutaDock *self,
72 AnjutaCommandBar *command_bar);
74 G_END_DECLS
76 #endif /* _ANJUTA_DOCK_H_ */