1 /* GTK - The GIMP Toolkit 2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald 3 * GtkToolbar copyright (C) Federico Mena 4 * 5 * Copyright (C) 2002 Anders Carlsson <andersca@gnome.org> 6 * Copyright (C) 2002 James Henstridge <james@daa.com.au> 7 * Copyright (C) 2003 Soeren Sandmann <sandmann@daimi.au.dk> 8 * 9 * This library is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU Lesser General Public 11 * License as published by the Free Software Foundation; either 12 * version 2 of the License, or (at your option) any later version. 13 * 14 * This library is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 * Lesser General Public License for more details. 18 * 19 * You should have received a copy of the GNU Lesser General Public 20 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 21 */ 22 23 /* 24 * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS 25 * file for a list of people on the GTK+ Team. See the ChangeLog 26 * files for a list of changes. These files are distributed with 27 * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 28 */ 29 30 #ifndef __GTK_TOOLBAR_H__ 31 #define __GTK_TOOLBAR_H__ 32 33 34 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) 35 #error "Only <gtk/gtk.h> can be included directly." 36 #endif 37 38 #include <gtk/gtkcontainer.h> 39 #include <gtk/gtktoolitem.h> 40 41 G_BEGIN_DECLS 42 43 44 #define GTK_TYPE_TOOLBAR (gtk_toolbar_get_type ()) 45 #define GTK_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOOLBAR, GtkToolbar)) 46 #define GTK_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TOOLBAR, GtkToolbarClass)) 47 #define GTK_IS_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TOOLBAR)) 48 #define GTK_IS_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TOOLBAR)) 49 #define GTK_TOOLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TOOLBAR, GtkToolbarClass)) 50 51 /** 52 * GtkToolbarSpaceStyle: 53 * @GTK_TOOLBAR_SPACE_EMPTY: Use blank spacers. 54 * @GTK_TOOLBAR_SPACE_LINE: Use vertical lines for spacers. 55 * 56 * Whether spacers are vertical lines or just blank. 57 * 58 * Deprecated: 3.20 59 */ 60 typedef enum 61 { 62 GTK_TOOLBAR_SPACE_EMPTY, 63 GTK_TOOLBAR_SPACE_LINE 64 } GtkToolbarSpaceStyle; 65 66 typedef struct _GtkToolbar GtkToolbar; 67 typedef struct _GtkToolbarPrivate GtkToolbarPrivate; 68 typedef struct _GtkToolbarClass GtkToolbarClass; 69 70 struct _GtkToolbar 71 { 72 GtkContainer container; 73 74 GtkToolbarPrivate *priv; 75 }; 76 77 struct _GtkToolbarClass 78 { 79 GtkContainerClass parent_class; 80 81 /* signals */ 82 void (* orientation_changed) (GtkToolbar *toolbar, 83 GtkOrientation orientation); 84 void (* style_changed) (GtkToolbar *toolbar, 85 GtkToolbarStyle style); 86 gboolean (* popup_context_menu) (GtkToolbar *toolbar, 87 gint x, 88 gint y, 89 gint button_number); 90 91 /* Padding for future expansion */ 92 void (*_gtk_reserved1) (void); 93 void (*_gtk_reserved2) (void); 94 void (*_gtk_reserved3) (void); 95 void (*_gtk_reserved4) (void); 96 }; 97 98 GDK_AVAILABLE_IN_ALL 99 GType gtk_toolbar_get_type (void) G_GNUC_CONST; 100 GDK_AVAILABLE_IN_ALL 101 GtkWidget * gtk_toolbar_new (void); 102 103 GDK_AVAILABLE_IN_ALL 104 void gtk_toolbar_insert (GtkToolbar *toolbar, 105 GtkToolItem *item, 106 gint pos); 107 108 GDK_AVAILABLE_IN_ALL 109 gint gtk_toolbar_get_item_index (GtkToolbar *toolbar, 110 GtkToolItem *item); 111 GDK_AVAILABLE_IN_ALL 112 gint gtk_toolbar_get_n_items (GtkToolbar *toolbar); 113 GDK_AVAILABLE_IN_ALL 114 GtkToolItem * gtk_toolbar_get_nth_item (GtkToolbar *toolbar, 115 gint n); 116 117 GDK_AVAILABLE_IN_ALL 118 gboolean gtk_toolbar_get_show_arrow (GtkToolbar *toolbar); 119 GDK_AVAILABLE_IN_ALL 120 void gtk_toolbar_set_show_arrow (GtkToolbar *toolbar, 121 gboolean show_arrow); 122 123 GDK_AVAILABLE_IN_ALL 124 GtkToolbarStyle gtk_toolbar_get_style (GtkToolbar *toolbar); 125 GDK_AVAILABLE_IN_ALL 126 void gtk_toolbar_set_style (GtkToolbar *toolbar, 127 GtkToolbarStyle style); 128 GDK_AVAILABLE_IN_ALL 129 void gtk_toolbar_unset_style (GtkToolbar *toolbar); 130 131 GDK_AVAILABLE_IN_ALL 132 GtkIconSize gtk_toolbar_get_icon_size (GtkToolbar *toolbar); 133 GDK_AVAILABLE_IN_ALL 134 void gtk_toolbar_set_icon_size (GtkToolbar *toolbar, 135 GtkIconSize icon_size); 136 GDK_AVAILABLE_IN_ALL 137 void gtk_toolbar_unset_icon_size (GtkToolbar *toolbar); 138 139 GDK_AVAILABLE_IN_ALL 140 GtkReliefStyle gtk_toolbar_get_relief_style (GtkToolbar *toolbar); 141 GDK_AVAILABLE_IN_ALL 142 gint gtk_toolbar_get_drop_index (GtkToolbar *toolbar, 143 gint x, 144 gint y); 145 GDK_AVAILABLE_IN_ALL 146 void gtk_toolbar_set_drop_highlight_item (GtkToolbar *toolbar, 147 GtkToolItem *tool_item, 148 gint index_); 149 150 151 G_END_DECLS 152 153 #endif /* __GTK_TOOLBAR_H__ */ 154