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. 10 * 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. 15 * 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/>. 18 */ 19 20 #ifndef _ANJUTA_DOCK_H_ 21 #define _ANJUTA_DOCK_H_ 22 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" 28 29 G_BEGIN_DECLS 30 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)) 37 38 typedef struct _AnjutaDockClass AnjutaDockClass; 39 typedef struct _AnjutaDock AnjutaDock; 40 typedef struct _AnjutaDockPriv AnjutaDockPriv; 41 42 struct _AnjutaDockClass 43 { 44 GdlDockClass parent_class; 45 }; 46 47 struct _AnjutaDock 48 { 49 GdlDock parent_instance; 50 51 AnjutaDockPriv *priv; 52 }; 53 54 GType anjuta_dock_get_type (void) G_GNUC_CONST; 55 GtkWidget *anjuta_dock_new (void); 56 gboolean 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 gboolean 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_replace_command_pane (AnjutaDock *self, const gchar *pane_name, 69 const gchar *pane_label, const gchar *stock_icon, 70 AnjutaDockPane *pane, GdlDockPlacement placement, 71 AnjutaCommandBarEntry *entries, int num_entries, 72 gpointer user_data); 73 void anjuta_dock_remove_pane (AnjutaDock *self, AnjutaDockPane *pane); 74 void anjuta_dock_show_pane (AnjutaDock *self, AnjutaDockPane *pane); 75 void anjuta_dock_hide_pane (AnjutaDock *self, AnjutaDockPane *pane); 76 void anjuta_dock_present_pane (AnjutaDock *self, AnjutaDockPane *pane); 77 void anjuta_dock_set_command_bar (AnjutaDock *self, 78 AnjutaCommandBar *command_bar); 79 AnjutaCommandBar* anjuta_dock_get_command_bar (AnjutaDock *self); 80 81 G_END_DECLS 82 83 #endif /* _ANJUTA_DOCK_H_ */ 84