+static void
+gtk_layout_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GtkLayout *layout = GTK_LAYOUT (object);
+
+ switch (prop_id)
+ {
+ case PROP_HADJUSTMENT:
+ g_value_set_object (value, G_OBJECT (layout->hadjustment));
+ break;
+ case PROP_VADJUSTMENT:
+ g_value_set_object (value, G_OBJECT (layout->vadjustment));
+ break;
+ case PROP_WIDTH:
+ g_value_set_uint (value, layout->width);
+ break;
+ case PROP_HEIGHT:
+ g_value_set_uint (value, layout->height);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gtk_layout_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GtkLayout *layout = GTK_LAYOUT (object);
+
+ switch (prop_id)
+ {
+ case PROP_HADJUSTMENT:
+ gtk_layout_set_hadjustment (layout,
+ (GtkAdjustment*) g_value_get_object (value));
+ break;
+ case PROP_VADJUSTMENT:
+ gtk_layout_set_vadjustment (layout,
+ (GtkAdjustment*) g_value_get_object (value));
+ break;
+ case PROP_WIDTH:
+ gtk_layout_set_size (layout, g_value_get_uint (value),
+ layout->height);
+ break;
+ case PROP_HEIGHT:
+ gtk_layout_set_size (layout, layout->width,
+ g_value_get_uint (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gtk_layout_set_child_property (GtkContainer *container,
+ GtkWidget *child,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ switch (property_id)
+ {
+ case CHILD_PROP_X:
+ gtk_layout_move_internal (GTK_LAYOUT (container),
+ child,
+ TRUE, g_value_get_int (value),
+ FALSE, 0);
+ break;
+ case CHILD_PROP_Y:
+ gtk_layout_move_internal (GTK_LAYOUT (container),
+ child,
+ FALSE, 0,
+ TRUE, g_value_get_int (value));
+ break;
+ default:
+ GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec);
+ break;
+ }
+}
+
+static void
+gtk_layout_get_child_property (GtkContainer *container,
+ GtkWidget *child,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GtkLayoutChild *layout_child;
+
+ layout_child = get_child (GTK_LAYOUT (container), child);
+
+ switch (property_id)
+ {
+ case CHILD_PROP_X:
+ g_value_set_int (value, layout_child->x);
+ break;
+ case CHILD_PROP_Y:
+ g_value_set_int (value, layout_child->y);
+ break;
+ default:
+ GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec);
+ break;
+ }
+}
+