CONSTANT(GTK_PACK_EXPAND);
CONSTANT(GTK_FILL_X);
CONSTANT(GTK_FILL_Y);

CONSTANT(GTK_SIDE_TOP);
CONSTANT(GTK_SIDE_BOTTOM);
CONSTANT(GTK_SIDE_LEFT);
CONSTANT(GTK_SIDE_RIGHT);

CONSTANT(GTK_ANCHOR_CENTER);
CONSTANT(GTK_ANCHOR_NORTH);
CONSTANT(GTK_ANCHOR_NORTH_WEST);
CONSTANT(GTK_ANCHOR_NORTH_EAST);
CONSTANT(GTK_ANCHOR_SOUTH);
CONSTANT(GTK_ANCHOR_SOUTH_WEST);
CONSTANT(GTK_ANCHOR_SOUTH_EAST);
CONSTANT(GTK_ANCHOR_WEST);
CONSTANT(GTK_ANCHOR_EAST);
CONSTANT(GTK_ANCHOR_N);
CONSTANT(GTK_ANCHOR_NW);
CONSTANT(GTK_ANCHOR_NE);
CONSTANT(GTK_ANCHOR_S);
CONSTANT(GTK_ANCHOR_SW);
CONSTANT(GTK_ANCHOR_SE);
CONSTANT(GTK_ANCHOR_W);
CONSTANT(GTK_ANCHOR_E);

PROGRAM(packer);
INHERIT(container);
COMPLEX_FUNCTION(create);

COMPLEX_FUNCTION(add_defaults, widget, int, int, int);
NAME_ARGS(widget, side, anchor, options);
// side is one of CONST(GTK_SIDE), anchor is one of CONST(GTK_ANCHOR),
// options is a bitwise or of GTK.PackExpand, GTK.FillX and GTK.FillY

COMPLEX_FUNCTION(add, widget, int, int, int,int,int,int,int,int);
NAME_ARGS(widget, side, anchor, options,border_width,pad_x,pad_y,i_pad_x,i_pad_y);
// side is one of CONST(GTK_SIDE), anchor is one of CONST(GTK_ANCHOR),
// options is a bitwise or of GTK.PackExpand, GTK.FillX and GTK.FillY

COMPLEX_FUNCTION(set_child_packing, widget, int, int, int,int,int,int,int,int);
NAME_ARGS(child, side, anchor, options,border_width,pad_x,pad_y,i_pad_x,i_pad_y);
// side is one of CONST(GTK_SIDE), anchor is one of CONST(GTK_ANCHOR),
// options is a bitwise or of GTK.PackExpand, GTK.FillX and GTK.FillY

COMPLEX_FUNCTION(reorder_child, widget, int);
NAME_ARGS(child,pos);

COMPLEX_FUNCTION(set_spacing, int);
NAME_ARGS(new_spacing);

COMPLEX_FUNCTION(set_default_border_width, int);
NAME_ARGS(border);

COMPLEX_FUNCTION(set_default_pad, int, int);
NAME_ARGS(xpad,ypad);

COMPLEX_FUNCTION(set_default_ipad, int, int);
NAME_ARGS(xpad,ypad);


CLASSMEMBER(spacing, int);
CLASSMEMBER(default_border_width, int);
CLASSMEMBER(default_pad_x, int);
CLASSMEMBER(default_pad_y, int);
CLASSMEMBER(default_i_pad_x, int);
CLASSMEMBER(default_i_pad_y, int);
