diff options
author | CDT 1998 Shawn T. Amundson <amundson@gtk.org> | 1998-06-12 00:49:11 +0000 |
---|---|---|
committer | Shawn Amundson <amundson@src.gnome.org> | 1998-06-12 00:49:11 +0000 |
commit | cab220ee8b2d539eeccb3967a11de2679b6b3bde (patch) | |
tree | 96ee9c3c2919cd008e194f1ca1b54af764e8fba9 /gtk/gtkpacker.h | |
parent | d0ff2dbc7905730b1ea8e885dfff4be494026592 (diff) | |
download | gtk+-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.h | 142 |
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__ */ |