1 /* GTK - The GIMP Toolkit 2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 /* 19 * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS 20 * file for a list of people on the GTK+ Team. See the ChangeLog 21 * files for a list of changes. These files are distributed with 22 * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 23 */ 24 25 #ifndef __GTK_PANED_H__ 26 #define __GTK_PANED_H__ 27 28 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) 29 #error "Only <gtk/gtk.h> can be included directly." 30 #endif 31 32 #include <gtk/gtkcontainer.h> 33 34 G_BEGIN_DECLS 35 36 #define GTK_TYPE_PANED (gtk_paned_get_type ()) 37 #define GTK_PANED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PANED, GtkPaned)) 38 #define GTK_PANED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PANED, GtkPanedClass)) 39 #define GTK_IS_PANED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PANED)) 40 #define GTK_IS_PANED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PANED)) 41 #define GTK_PANED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PANED, GtkPanedClass)) 42 43 44 typedef struct _GtkPaned GtkPaned; 45 typedef struct _GtkPanedClass GtkPanedClass; 46 typedef struct _GtkPanedPrivate GtkPanedPrivate; 47 48 struct _GtkPaned 49 { 50 GtkContainer container; 51 52 /*< private >*/ 53 GtkPanedPrivate *priv; 54 }; 55 56 struct _GtkPanedClass 57 { 58 GtkContainerClass parent_class; 59 60 gboolean (* cycle_child_focus) (GtkPaned *paned, 61 gboolean reverse); 62 gboolean (* toggle_handle_focus) (GtkPaned *paned); 63 gboolean (* move_handle) (GtkPaned *paned, 64 GtkScrollType scroll); 65 gboolean (* cycle_handle_focus) (GtkPaned *paned, 66 gboolean reverse); 67 gboolean (* accept_position) (GtkPaned *paned); 68 gboolean (* cancel_position) (GtkPaned *paned); 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_paned_get_type (void) G_GNUC_CONST; 80 GDK_AVAILABLE_IN_ALL 81 GtkWidget * gtk_paned_new (GtkOrientation orientation); 82 GDK_AVAILABLE_IN_ALL 83 void gtk_paned_add1 (GtkPaned *paned, 84 GtkWidget *child); 85 GDK_AVAILABLE_IN_ALL 86 void gtk_paned_add2 (GtkPaned *paned, 87 GtkWidget *child); 88 GDK_AVAILABLE_IN_ALL 89 void gtk_paned_pack1 (GtkPaned *paned, 90 GtkWidget *child, 91 gboolean resize, 92 gboolean shrink); 93 GDK_AVAILABLE_IN_ALL 94 void gtk_paned_pack2 (GtkPaned *paned, 95 GtkWidget *child, 96 gboolean resize, 97 gboolean shrink); 98 99 GDK_AVAILABLE_IN_ALL 100 gint gtk_paned_get_position (GtkPaned *paned); 101 GDK_AVAILABLE_IN_ALL 102 void gtk_paned_set_position (GtkPaned *paned, 103 gint position); 104 105 GDK_AVAILABLE_IN_ALL 106 GtkWidget * gtk_paned_get_child1 (GtkPaned *paned); 107 GDK_AVAILABLE_IN_ALL 108 GtkWidget * gtk_paned_get_child2 (GtkPaned *paned); 109 110 GDK_AVAILABLE_IN_ALL 111 GdkWindow * gtk_paned_get_handle_window (GtkPaned *paned); 112 113 GDK_AVAILABLE_IN_3_16 114 void gtk_paned_set_wide_handle (GtkPaned *paned, 115 gboolean wide); 116 GDK_AVAILABLE_IN_3_16 117 gboolean gtk_paned_get_wide_handle (GtkPaned *paned); 118 119 120 G_END_DECLS 121 122 #endif /* __GTK_PANED_H__ */ 123