Commit 1dc1b050 authored by Tim Janik's avatar Tim Janik Committed by Tim Janik

renamed enum GtkAnchor and GtkSide to GtkAnchorType and GtkSideType, to be

Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkpacker.h:
        * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
        and GtkSideType, to be consistent with the rest of Gtk's enum
        definitions. wrapped the enum definitions with the G_ eunm wrappers.
        spelled out the GTK_ANCHOR_* enum values, since single letters don't
        work out corectly as nick-names (left the old values as aliases).
        some signdness corrections (border-width, spacing), could stand more.
parent cab220ee
Fri Jun 12 09:24:47 1998 Tim Janik <timj@gtk.org>
* gtk/gtkpacker.h:
* gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
and GtkSideType, to be consistent with the rest of Gtk's enum
definitions. wrapped the enum definitions with the G_ eunm wrappers.
spelled out the GTK_ANCHOR_* enum values, since single letters don't
work out corectly as nick-names (left the old values as aliases).
some signdness corrections (border-width, spacing), could stand more.
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:
......
Fri Jun 12 09:24:47 1998 Tim Janik <timj@gtk.org>
* gtk/gtkpacker.h:
* gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
and GtkSideType, to be consistent with the rest of Gtk's enum
definitions. wrapped the enum definitions with the G_ eunm wrappers.
spelled out the GTK_ANCHOR_* enum values, since single letters don't
work out corectly as nick-names (left the old values as aliases).
some signdness corrections (border-width, spacing), could stand more.
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:
......
Fri Jun 12 09:24:47 1998 Tim Janik <timj@gtk.org>
* gtk/gtkpacker.h:
* gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
and GtkSideType, to be consistent with the rest of Gtk's enum
definitions. wrapped the enum definitions with the G_ eunm wrappers.
spelled out the GTK_ANCHOR_* enum values, since single letters don't
work out corectly as nick-names (left the old values as aliases).
some signdness corrections (border-width, spacing), could stand more.
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:
......
Fri Jun 12 09:24:47 1998 Tim Janik <timj@gtk.org>
* gtk/gtkpacker.h:
* gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
and GtkSideType, to be consistent with the rest of Gtk's enum
definitions. wrapped the enum definitions with the G_ eunm wrappers.
spelled out the GTK_ANCHOR_* enum values, since single letters don't
work out corectly as nick-names (left the old values as aliases).
some signdness corrections (border-width, spacing), could stand more.
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:
......
Fri Jun 12 09:24:47 1998 Tim Janik <timj@gtk.org>
* gtk/gtkpacker.h:
* gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
and GtkSideType, to be consistent with the rest of Gtk's enum
definitions. wrapped the enum definitions with the G_ eunm wrappers.
spelled out the GTK_ANCHOR_* enum values, since single letters don't
work out corectly as nick-names (left the old values as aliases).
some signdness corrections (border-width, spacing), could stand more.
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:
......
Fri Jun 12 09:24:47 1998 Tim Janik <timj@gtk.org>
* gtk/gtkpacker.h:
* gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
and GtkSideType, to be consistent with the rest of Gtk's enum
definitions. wrapped the enum definitions with the G_ eunm wrappers.
spelled out the GTK_ANCHOR_* enum values, since single letters don't
work out corectly as nick-names (left the old values as aliases).
some signdness corrections (border-width, spacing), could stand more.
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:
......
Fri Jun 12 09:24:47 1998 Tim Janik <timj@gtk.org>
* gtk/gtkpacker.h:
* gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
and GtkSideType, to be consistent with the rest of Gtk's enum
definitions. wrapped the enum definitions with the G_ eunm wrappers.
spelled out the GTK_ANCHOR_* enum values, since single letters don't
work out corectly as nick-names (left the old values as aliases).
some signdness corrections (border-width, spacing), could stand more.
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:
......
......@@ -16,6 +16,8 @@
#undef X_DISPLAY_MISSING
/* Other stuff */
#undef GTK_COMPILED_WITH_DEBUGGING
#undef HAVE_IPC_H
#undef HAVE_SHM_H
#undef HAVE_XSHM_H
......
......@@ -568,6 +568,30 @@
(rc-style GTK_RC_STYLE)
(basic GTK_BASIC))
; enumerations from "gtkpacker.h"
(define-flags GtkPackerOptions
(pack-expand GTK_PACK_EXPAND)
(fill-x GTK_FILL_X)
(fill-y GTK_FILL_Y))
(define-enum GtkSideType
(top GTK_SIDE_TOP)
(bottom GTK_SIDE_BOTTOM)
(left GTK_SIDE_LEFT)
(right GTK_SIDE_RIGHT))
(define-enum GtkAnchorType
(center GTK_ANCHOR_CENTER)
(north GTK_ANCHOR_NORTH)
(north-west GTK_ANCHOR_NORTH_WEST)
(north-east GTK_ANCHOR_NORTH_EAST)
(south GTK_ANCHOR_SOUTH)
(south-west GTK_ANCHOR_SOUTH_WEST)
(south-east GTK_ANCHOR_SOUTH_EAST)
(west GTK_ANCHOR_WEST)
(east GTK_ANCHOR_EAST))
; enumerations from "gtkprivate.h"
(define-flags GtkPrivateFlags
......
......@@ -171,7 +171,8 @@ gtk_packer_init (GtkPacker *packer)
}
void
gtk_packer_set_spacing (GtkPacker *packer, gint spacing)
gtk_packer_set_spacing (GtkPacker *packer,
guint spacing)
{
g_return_if_fail (packer != NULL);
g_return_if_fail (GTK_IS_PACKER (packer));
......@@ -190,7 +191,8 @@ gtk_packer_new (void)
}
static void
redo_defaults_children (GtkPacker *packer) {
redo_defaults_children (GtkPacker *packer)
{
GList *list;
GtkPackerChild *child;
......@@ -213,7 +215,8 @@ redo_defaults_children (GtkPacker *packer) {
}
void
gtk_packer_set_default_border_width (GtkPacker *packer, gint border)
gtk_packer_set_default_border_width (GtkPacker *packer,
guint border)
{
g_return_if_fail (packer != NULL);
g_return_if_fail (GTK_IS_PACKER (packer));
......@@ -221,7 +224,7 @@ gtk_packer_set_default_border_width (GtkPacker *packer, gint border)
if (packer->default_border_width != border)
{
packer->default_border_width = border;;
redo_defaults_children(packer);
redo_defaults_children (packer);
}
}
void
......@@ -262,9 +265,10 @@ gtk_packer_container_add (GtkContainer *packer, GtkWidget *child)
}
void
gtk_packer_add_defaults (GtkPacker *packer, GtkWidget *child,
GtkSide side,
GtkAnchor anchor,
gtk_packer_add_defaults (GtkPacker *packer,
GtkWidget *child,
GtkSideType side,
GtkAnchorType anchor,
GtkPackerOptions options)
{
GtkPackerChild *pchild;
......@@ -309,22 +313,23 @@ gtk_packer_add_defaults (GtkPacker *packer, GtkWidget *child,
}
void
gtk_packer_add (GtkPacker *packer,
GtkWidget *child,
GtkSide side,
GtkAnchor anchor,
gtk_packer_add (GtkPacker *packer,
GtkWidget *child,
GtkSideType side,
GtkAnchorType anchor,
GtkPackerOptions options,
gint border_width,
gint padX,
gint padY,
gint iPadX,
gint iPadY)
guint border_width,
gint padX,
gint padY,
gint iPadX,
gint iPadY)
{
GtkPackerChild *pchild;
g_return_if_fail (packer != NULL);
g_return_if_fail (GTK_IS_PACKER (packer));
g_return_if_fail (child != NULL);
g_return_if_fail (GTK_IS_WIDGET (child));
pchild = (GtkPackerChild*) g_malloc(sizeof(GtkPackerChild));
......@@ -362,16 +367,16 @@ gtk_packer_add (GtkPacker *packer,
}
void
gtk_packer_configure (GtkPacker *packer,
GtkWidget *child,
GtkSide side,
GtkAnchor anchor,
gtk_packer_configure (GtkPacker *packer,
GtkWidget *child,
GtkSideType side,
GtkAnchorType anchor,
GtkPackerOptions options,
gint border_width,
gint padX,
gint padY,
gint ipadX,
gint ipadY)
guint border_width,
gint padX,
gint padY,
gint ipadX,
gint ipadY)
{
GList *list;
GtkPackerChild *pchild;
......@@ -591,23 +596,25 @@ gtk_packer_size_request (GtkWidget *widget, GtkRequisition *requisition)
if((child->side == GTK_SIDE_TOP) || (child->side == GTK_SIDE_BOTTOM))
{
maxWidth = MAX(maxWidth, (child->widget->requisition.width
+ 2 * child->border_width
+ child->padX + child->iPadX
+ width));
height += child->widget->requisition.height
+ 2 * child->border_width
+ child->padY + child->iPadY;
maxWidth = MAX (maxWidth,
(child->widget->requisition.width +
2 * child->border_width +
child->padX + child->iPadX +
width));
height += (child->widget->requisition.height +
2 * child->border_width +
child->padY + child->iPadY);
}
else
{
maxHeight = MAX(maxHeight,(child->widget->requisition.height
+ 2 * child->border_width +
child->padY + child->iPadY
+ height));
width += child->widget->requisition.width
+ 2 * child->border_width
+ child->padX + child->iPadX;
maxHeight = MAX (maxHeight,
(child->widget->requisition.height +
2 * child->border_width +
child->padY + child->iPadY +
height));
width += (child->widget->requisition.width +
2 * child->border_width +
child->padX + child->iPadX);
}
}
......@@ -634,8 +641,10 @@ YExpansion (GList *children, gint cavityHeight)
{
child = list->data;
widget = child->widget;
childHeight = widget->requisition.height + 2 * child->border_width +
child->iPadY + child->padY;
childHeight = (widget->requisition.height +
2 * child->border_width +
child->iPadY +
child->padY);
if ((child->side == GTK_SIDE_LEFT) || (child->side == GTK_SIDE_RIGHT))
{
curExpand = (cavityHeight - childHeight)/numExpand;
......@@ -672,8 +681,10 @@ XExpansion (GList *children, gint cavityWidth)
{
child = list->data;
widget = child->widget;
childWidth = widget->requisition.width + 2 * child->border_width
+ child->iPadX + child->padX;
childWidth = (widget->requisition.width +
2 * child->border_width +
child->iPadX +
child->padX);
if ((child->side == GTK_SIDE_TOP) || (child->side == GTK_SIDE_BOTTOM))
{
......@@ -728,8 +739,10 @@ gtk_packer_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
if ((child->side == GTK_SIDE_TOP) || (child->side == GTK_SIDE_BOTTOM))
{
frameWidth = cavityWidth;
frameHeight = child->widget->requisition.height +
2 * child->border_width + child->padY + child->iPadY;
frameHeight = (child->widget->requisition.height +
2 * child->border_width +
child->padY +
child->iPadY);
if (child->options & GTK_PACK_EXPAND)
frameHeight += YExpansion(list, cavityHeight);
cavityHeight -= frameHeight;
......@@ -752,8 +765,10 @@ gtk_packer_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
else
{
frameHeight = cavityHeight;
frameWidth = child->widget->requisition.width +
2 * child->border_width + child->padX + child->iPadX;
frameWidth = (child->widget->requisition.width +
2 * child->border_width +
child->padX +
child->iPadX);
if (child->options & GTK_PACK_EXPAND)
frameWidth += XExpansion(list, cavityWidth);
cavityWidth -= frameWidth;
......@@ -772,17 +787,19 @@ gtk_packer_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
frameX = cavityX + cavityWidth;
}
}
borderX = child->padX + 2 * child->border_width;
borderY = child->padY + 2 * child->border_width;
width = child->widget->requisition.width +
2 * child->border_width + child->iPadX;
width = (child->widget->requisition.width +
2 * child->border_width +
child->iPadX);
if ((child->options & GTK_FILL_X) || (width > (frameWidth - borderX)))
width = frameWidth - borderX;
height = child->widget->requisition.height +
2 * child->border_width + child->iPadY;
height = (child->widget->requisition.height +
2 * child->border_width +
child->iPadY);
if ((child->options & GTK_FILL_Y) || (height > (frameHeight - borderY)))
height = frameHeight - borderY;
......
......@@ -27,13 +27,15 @@
#ifdef __cplusplus
extern "C" {
#pragma }
#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))
#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))
......@@ -41,97 +43,117 @@ 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;
typedef enum
{
G_NV (GTK_PACK_EXPAND, pack-expand, 1 << 0),
G_NV (GTK_FILL_X, fill-x, 1 << 1),
G_NV (GTK_FILL_Y, fill-y, 1 << 2)
} G_FLAGS (GtkPackerOptions);
typedef enum
{
G_SV (GTK_SIDE_TOP, top),
G_SV (GTK_SIDE_BOTTOM, bottom),
G_SV (GTK_SIDE_LEFT, left),
G_SV (GTK_SIDE_RIGHT, right)
} G_ENUM (GtkSideType);
typedef enum
{
G_SV (GTK_ANCHOR_CENTER, center),
G_SV (GTK_ANCHOR_NORTH, north),
G_SV (GTK_ANCHOR_NORTH_WEST, north-west),
G_SV (GTK_ANCHOR_NORTH_EAST, north-east),
G_SV (GTK_ANCHOR_SOUTH, south),
G_SV (GTK_ANCHOR_SOUTH_WEST, south-west),
G_SV (GTK_ANCHOR_SOUTH_EAST, south-east),
G_SV (GTK_ANCHOR_WEST, west),
G_SV (GTK_ANCHOR_EAST, east),
GTK_ANCHOR_N = GTK_ANCHOR_NORTH,
GTK_ANCHOR_NW = GTK_ANCHOR_NORTH_WEST,
GTK_ANCHOR_NE = GTK_ANCHOR_NORTH_EAST,
GTK_ANCHOR_S = GTK_ANCHOR_SOUTH,
GTK_ANCHOR_SW = GTK_ANCHOR_SOUTH_WEST,
GTK_ANCHOR_SE = GTK_ANCHOR_SOUTH_EAST,
GTK_ANCHOR_W = GTK_ANCHOR_WEST,
GTK_ANCHOR_E = GTK_ANCHOR_EAST
} G_ENUM (GtkAnchorType);
struct _GtkPackerChild
{
GtkWidget *widget;
GtkAnchorType anchor;
GtkSideType side;
GtkPackerOptions options;
guint use_default : 1;
guint 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 _GtkPacker
{
GtkContainer parent;
GList *children;
guint spacing;
guint default_border_width;
gint default_padX;
gint default_padY;
gint default_iPadX;
gint default_iPadY;
};
struct _GtkPackerClass {
GtkContainerClass parent_class;
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);
GtkType gtk_packer_get_type (void);
GtkWidget* gtk_packer_new (void);
void gtk_packer_add_defaults (GtkPacker *packer,
GtkWidget *child,
GtkSideType side,
GtkAnchorType anchor,
GtkPackerOptions options);
void gtk_packer_add (GtkPacker *packer,
GtkWidget *child,
GtkSideType side,
GtkAnchorType anchor,
GtkPackerOptions options,
guint border_width,
gint padX,
gint padY,
gint ipadX,
gint ipadY);
void gtk_packer_configure (GtkPacker *packer,
GtkWidget *child,
GtkSideType side,
GtkAnchorType anchor,
GtkPackerOptions options,
guint border_width,
gint padX,
gint padY,
gint ipadX,
gint ipadY);
void gtk_packer_set_spacing (GtkPacker *packer,
guint spacing);
void gtk_packer_set_default_border_width (GtkPacker *packer,
guint 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
......
......@@ -76,6 +76,9 @@ extern GtkType GTK_TYPE_DEBUG_FLAG;
extern GtkType GTK_TYPE_OBJECT_FLAGS;
extern GtkType GTK_TYPE_ARG_FLAGS;
extern GtkType GTK_TYPE_WIDGET_FLAGS;
extern GtkType GTK_TYPE_PACKER_OPTIONS;
extern GtkType GTK_TYPE_SIDE_TYPE;
extern GtkType GTK_TYPE_ANCHOR_TYPE;
extern GtkType GTK_TYPE_PRIVATE_FLAGS;
extern GtkType GTK_TYPE_ACCEL_GROUP;
extern GtkType GTK_TYPE_SELECTION_DATA;
......@@ -87,4 +90,4 @@ extern GtkType GTK_TYPE_GDK_WINDOW;
extern GtkType GTK_TYPE_GDK_EVENT;
extern GtkType GTK_TYPE_GDK_COLOR;
#define GTK_TYPE_NUM_BUILTINS (86)
#define GTK_TYPE_NUM_BUILTINS (89)
......@@ -627,6 +627,31 @@ static GtkEnumValue _gtk_widget_flags_values[] = {
{ GTK_BASIC, "GTK_BASIC", "basic" },
{ 0, NULL, NULL }
};
static GtkEnumValue _gtk_packer_options_values[] = {
{ GTK_PACK_EXPAND, "GTK_PACK_EXPAND", "pack-expand" },
{ GTK_FILL_X, "GTK_FILL_X", "fill-x" },
{ GTK_FILL_Y, "GTK_FILL_Y", "fill-y" },
{ 0, NULL, NULL }
};
static GtkEnumValue _gtk_side_type_values[] = {
{ GTK_SIDE_TOP, "GTK_SIDE_TOP", "top" },
{ GTK_SIDE_BOTTOM, "GTK_SIDE_BOTTOM", "bottom" },
{ GTK_SIDE_LEFT, "GTK_SIDE_LEFT", "left" },
{ GTK_SIDE_RIGHT, "GTK_SIDE_RIGHT", "right" },
{ 0, NULL, NULL }
};
static GtkEnumValue _gtk_anchor_type_values[] = {
{ GTK_ANCHOR_CENTER, "GTK_ANCHOR_CENTER", "center" },
{ GTK_ANCHOR_NORTH, "GTK_ANCHOR_NORTH", "north" },
{ GTK_ANCHOR_NORTH_WEST, "GTK_ANCHOR_NORTH_WEST", "north-west" },
{ GTK_ANCHOR_NORTH_EAST, "GTK_ANCHOR_NORTH_EAST", "north-east" },
{ GTK_ANCHOR_SOUTH, "GTK_ANCHOR_SOUTH", "south" },
{ GTK_ANCHOR_SOUTH_WEST, "GTK_ANCHOR_SOUTH_WEST", "south-west" },
{ GTK_ANCHOR_SOUTH_EAST, "GTK_ANCHOR_SOUTH_EAST", "south-east" },