summaryrefslogtreecommitdiff
path: root/gtk/gtkpacker.h
diff options
context:
space:
mode:
authorCDT 1998 Shawn T. Amundson <amundson@gtk.org>1998-06-12 00:49:11 +0000
committerShawn Amundson <amundson@src.gnome.org>1998-06-12 00:49:11 +0000
commitcab220ee8b2d539eeccb3967a11de2679b6b3bde (patch)
tree96ee9c3c2919cd008e194f1ca1b54af764e8fba9 /gtk/gtkpacker.h
parentd0ff2dbc7905730b1ea8e885dfff4be494026592 (diff)
downloadgtk+-cab220ee8b2d539eeccb3967a11de2679b6b3bde.tar.gz
Added gtkpacker
Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org> * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: Added gtkpacker * examples/packer/pack.c, examples/packer/Makefile: Added gtkpacker example
Diffstat (limited to 'gtk/gtkpacker.h')
-rw-r--r--gtk/gtkpacker.h142
1 files changed, 142 insertions, 0 deletions
diff --git a/gtk/gtkpacker.h b/gtk/gtkpacker.h
new file mode 100644
index 0000000000..21617ba7f1
--- /dev/null
+++ b/gtk/gtkpacker.h
@@ -0,0 +1,142 @@
+/* GTK - The GIMP Toolkit
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ *
+ * GtkPacker Widget
+ * Copyright (C) 1998 Shawn T. Amundson, James S. Mitchell, Michael L. Staiger
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_PACKER_H__
+#define __GTK_PACKER_H__
+
+#include <gtk/gtkcontainer.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define GTK_TYPE_PACKER (gtk_packer_get_type ())
+#define GTK_PACKER(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_PACKER, GtkPacker))
+#define GTK_PACKER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_PACKER, GtkPackerClass))
+#define GTK_IS_PACKER(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_PACKER))
+#define GTK_IS_PACKER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PACKER))
+
+
+
+typedef struct _GtkPacker GtkPacker;
+typedef struct _GtkPackerClass GtkPackerClass;
+typedef struct _GtkPackerChild GtkPackerChild;
+
+typedef enum {
+ GTK_PACK_EXPAND = 1 << 0,
+ GTK_FILL_X = 1 << 1,
+ GTK_FILL_Y = 1 << 2
+} GtkPackerOptions;
+
+typedef enum {
+ GTK_SIDE_TOP,
+ GTK_SIDE_BOTTOM,
+ GTK_SIDE_LEFT,
+ GTK_SIDE_RIGHT
+} GtkSide;
+
+typedef enum {
+ GTK_ANCHOR_CENTER,
+ GTK_ANCHOR_N,
+ GTK_ANCHOR_NW,
+ GTK_ANCHOR_NE,
+ GTK_ANCHOR_S,
+ GTK_ANCHOR_SW,
+ GTK_ANCHOR_SE,
+ GTK_ANCHOR_W,
+ GTK_ANCHOR_E
+} GtkAnchor;
+
+struct _GtkPackerChild {
+ GtkWidget *widget;
+
+ GtkAnchor anchor;
+ GtkSide side;
+ GtkPackerOptions options;
+
+ gint use_default;
+
+ gint border_width;
+ gint padX;
+ gint padY;
+ gint iPadX;
+ gint iPadY;
+};
+
+struct _GtkPacker {
+ GtkContainer parent;
+
+ GList *children;
+
+ gint spacing;
+
+ gint default_border_width;
+ gint default_padX;
+ gint default_padY;
+ gint default_iPadX;
+ gint default_iPadY;
+};
+
+struct _GtkPackerClass {
+ GtkContainerClass parent_class;
+};
+
+
+GtkType gtk_packer_get_type (void);
+GtkWidget* gtk_packer_new (void);
+void gtk_packer_add_defaults (GtkPacker *packer,
+ GtkWidget *child,
+ GtkSide side,
+ GtkAnchor anchor,
+ GtkPackerOptions options);
+void gtk_packer_add (GtkPacker *packer,
+ GtkWidget *child,
+ GtkSide side,
+ GtkAnchor anchor,
+ GtkPackerOptions options,
+ gint border_width,
+ gint padX,
+ gint padY,
+ gint ipadX,
+ gint ipadY);
+void gtk_packer_configure (GtkPacker *packer,
+ GtkWidget *child,
+ GtkSide side,
+ GtkAnchor anchor,
+ GtkPackerOptions options,
+ gint border_width,
+ gint padX,
+ gint padY,
+ gint ipadX,
+ gint ipadY);
+void gtk_packer_set_spacing (GtkPacker *packer, gint spacing);
+void gtk_packer_set_default_border_width(GtkPacker *packer, gint border);
+void gtk_packer_set_default_pad(GtkPacker *packer, gint padX ,gint padY);
+void gtk_packer_set_default_ipad(GtkPacker *packer, gint iPadX ,gint iPadY);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+#endif /* __GTK_PACKER_H__ */