1 /* GTK - The GIMP Toolkit 2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald 3 * GtkStatusbar Copyright (C) 1998 Shawn T. Amundson 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 /* 20 * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS 21 * file for a list of people on the GTK+ Team. See the ChangeLog 22 * files for a list of changes. These files are distributed with 23 * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 24 */ 25 26 #ifndef __GTK_STATUSBAR_H__ 27 #define __GTK_STATUSBAR_H__ 28 29 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) 30 #error "Only <gtk/gtk.h> can be included directly." 31 #endif 32 33 #include <gtk/gtkbox.h> 34 35 G_BEGIN_DECLS 36 37 #define GTK_TYPE_STATUSBAR (gtk_statusbar_get_type ()) 38 #define GTK_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_STATUSBAR, GtkStatusbar)) 39 #define GTK_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_STATUSBAR, GtkStatusbarClass)) 40 #define GTK_IS_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_STATUSBAR)) 41 #define GTK_IS_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_STATUSBAR)) 42 #define GTK_STATUSBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_STATUSBAR, GtkStatusbarClass)) 43 44 45 typedef struct _GtkStatusbar GtkStatusbar; 46 typedef struct _GtkStatusbarPrivate GtkStatusbarPrivate; 47 typedef struct _GtkStatusbarClass GtkStatusbarClass; 48 49 struct _GtkStatusbar 50 { 51 GtkBox parent_widget; 52 53 /*< private >*/ 54 GtkStatusbarPrivate *priv; 55 }; 56 57 struct _GtkStatusbarClass 58 { 59 GtkBoxClass parent_class; 60 61 gpointer reserved; 62 63 void (*text_pushed) (GtkStatusbar *statusbar, 64 guint context_id, 65 const gchar *text); 66 void (*text_popped) (GtkStatusbar *statusbar, 67 guint context_id, 68 const gchar *text); 69 70 /* Padding for future expansion */ 71 void (*_gtk_reserved1) (void); 72 void (*_gtk_reserved2) (void); 73 void (*_gtk_reserved3) (void); 74 void (*_gtk_reserved4) (void); 75 }; 76 77 78 GDK_AVAILABLE_IN_ALL 79 GType gtk_statusbar_get_type (void) G_GNUC_CONST; 80 GDK_AVAILABLE_IN_ALL 81 GtkWidget* gtk_statusbar_new (void); 82 /* If you don't want to use contexts, 0 is a predefined global 83 * context_id you can pass to push/pop/remove 84 */ 85 GDK_AVAILABLE_IN_ALL 86 guint gtk_statusbar_get_context_id (GtkStatusbar *statusbar, 87 const gchar *context_description); 88 /* Returns message_id used for gtk_statusbar_remove */ 89 GDK_AVAILABLE_IN_ALL 90 guint gtk_statusbar_push (GtkStatusbar *statusbar, 91 guint context_id, 92 const gchar *text); 93 GDK_AVAILABLE_IN_ALL 94 void gtk_statusbar_pop (GtkStatusbar *statusbar, 95 guint context_id); 96 GDK_AVAILABLE_IN_ALL 97 void gtk_statusbar_remove (GtkStatusbar *statusbar, 98 guint context_id, 99 guint message_id); 100 GDK_AVAILABLE_IN_ALL 101 void gtk_statusbar_remove_all (GtkStatusbar *statusbar, 102 guint context_id); 103 104 GDK_AVAILABLE_IN_ALL 105 GtkWidget* gtk_statusbar_get_message_area (GtkStatusbar *statusbar); 106 107 G_END_DECLS 108 109 #endif /* __GTK_STATUSBAR_H__ */ 110