#include <string.h>
-#undef GTK_DISABLE_DEPRECATED
#include <gtk/gtk.h>
#include "prop-editor.h"
{
gpointer instance;
GObject *alive_object;
- guint id;
+ gulong id;
} DisconnectData;
static void
{
GObject *obj;
GParamSpec *spec;
- gint modified_id;
+ gulong modified_id;
} ObjectProperty;
static void
GtkWidget *widget = GTK_WIDGET (p->obj);
GtkWidget *parent = gtk_widget_get_parent (widget);
- gtk_container_child_set (GTK_CONTAINER (parent),
- widget, p->spec->name, (int) tb->active, NULL);
+ gtk_container_child_set (GTK_CONTAINER (parent), widget,
+ p->spec->name, (int) gtk_toggle_button_get_active (tb),
+ NULL);
}
else
- g_object_set (p->obj, p->spec->name, (int) tb->active, NULL);
+ g_object_set (p->obj, p->spec->name, (int) gtk_toggle_button_get_active (tb), NULL);
}
static void
bool_changed (GObject *object, GParamSpec *pspec, gpointer data)
{
GtkToggleButton *tb = GTK_TOGGLE_BUTTON (data);
+ GtkWidget *child;
GValue val = { 0, };
g_value_init (&val, G_TYPE_BOOLEAN);
get_property_value (object, pspec, &val);
- if (g_value_get_boolean (&val) != tb->active)
+ if (g_value_get_boolean (&val) != gtk_toggle_button_get_active (tb))
{
block_controller (G_OBJECT (tb));
gtk_toggle_button_set_active (tb, g_value_get_boolean (&val));
unblock_controller (G_OBJECT (tb));
}
- gtk_label_set_text (GTK_LABEL (GTK_BIN (tb)->child), g_value_get_boolean (&val) ?
- "TRUE" : "FALSE");
+ child = gtk_bin_get_child (GTK_BIN (tb));
+ gtk_label_set_text (GTK_LABEL (child),
+ g_value_get_boolean (&val) ? "TRUE" : "FALSE");
g_value_unset (&val);
}
static void
-enum_modified (GtkOptionMenu *om, gpointer data)
+enum_modified (GtkComboBox *cb, gpointer data)
{
ObjectProperty *p = data;
gint i;
GEnumClass *eclass;
eclass = G_ENUM_CLASS (g_type_class_peek (p->spec->value_type));
-
- i = gtk_option_menu_get_history (om);
-
+
+ i = gtk_combo_box_get_active (cb);
+
+
if (is_child_property (p->spec))
{
GtkWidget *widget = GTK_WIDGET (p->obj);
static void
enum_changed (GObject *object, GParamSpec *pspec, gpointer data)
{
- GtkOptionMenu *om = GTK_OPTION_MENU (data);
+ GtkComboBox *cb = GTK_COMBO_BOX (data);
GValue val = { 0, };
GEnumClass *eclass;
gint i;
++i;
}
- if (gtk_option_menu_get_history (om) != i)
+ if (gtk_combo_box_get_active (cb) != i)
{
- block_controller (G_OBJECT (om));
- gtk_option_menu_set_history (om, i);
- unblock_controller (G_OBJECT (om));
+ block_controller (G_OBJECT (cb));
+ gtk_combo_box_set_active (cb, i);
+ unblock_controller (G_OBJECT (cb));
}
g_value_unset (&val);
if (type == G_TYPE_PARAM_INT)
{
- adj = GTK_ADJUSTMENT (gtk_adjustment_new (G_PARAM_SPEC_INT (spec)->default_value,
- G_PARAM_SPEC_INT (spec)->minimum,
- G_PARAM_SPEC_INT (spec)->maximum,
- 1,
- MAX ((G_PARAM_SPEC_INT (spec)->maximum -
- G_PARAM_SPEC_INT (spec)->minimum) / 10, 1),
- 0.0));
-
+ adj = gtk_adjustment_new (G_PARAM_SPEC_INT (spec)->default_value,
+ G_PARAM_SPEC_INT (spec)->minimum,
+ G_PARAM_SPEC_INT (spec)->maximum,
+ 1,
+ MAX ((G_PARAM_SPEC_INT (spec)->maximum - G_PARAM_SPEC_INT (spec)->minimum) / 10, 1),
+ 0.0);
+
prop_edit = gtk_spin_button_new (adj, 1.0, 0);
g_object_connect_property (object, spec,
}
else if (type == G_TYPE_PARAM_UINT)
{
- adj = GTK_ADJUSTMENT (
- gtk_adjustment_new (G_PARAM_SPEC_UINT (spec)->default_value,
- G_PARAM_SPEC_UINT (spec)->minimum,
- G_PARAM_SPEC_UINT (spec)->maximum,
- 1,
- MAX ((G_PARAM_SPEC_UINT (spec)->maximum -
- G_PARAM_SPEC_UINT (spec)->minimum) / 10, 1),
- 0.0));
-
+ adj = gtk_adjustment_new (G_PARAM_SPEC_UINT (spec)->default_value,
+ G_PARAM_SPEC_UINT (spec)->minimum,
+ G_PARAM_SPEC_UINT (spec)->maximum,
+ 1,
+ MAX ((G_PARAM_SPEC_UINT (spec)->maximum - G_PARAM_SPEC_UINT (spec)->minimum) / 10, 1),
+ 0.0);
+
prop_edit = gtk_spin_button_new (adj, 1.0, 0);
g_object_connect_property (object, spec,
}
else if (type == G_TYPE_PARAM_FLOAT)
{
+ adj = gtk_adjustment_new (G_PARAM_SPEC_FLOAT (spec)->default_value,
+ G_PARAM_SPEC_FLOAT (spec)->minimum,
+ G_PARAM_SPEC_FLOAT (spec)->maximum,
+ 0.1,
+ MAX ((G_PARAM_SPEC_FLOAT (spec)->maximum - G_PARAM_SPEC_FLOAT (spec)->minimum) / 10, 0.1),
+ 0.0);
- adj = GTK_ADJUSTMENT (gtk_adjustment_new (G_PARAM_SPEC_FLOAT (spec)->default_value,
- G_PARAM_SPEC_FLOAT (spec)->minimum,
- G_PARAM_SPEC_FLOAT (spec)->maximum,
- 0.1,
- MAX ((G_PARAM_SPEC_FLOAT (spec)->maximum -
- G_PARAM_SPEC_FLOAT (spec)->minimum) / 10, 0.1),
- 0.0));
-
prop_edit = gtk_spin_button_new (adj, 0.1, 2);
g_object_connect_property (object, spec,
}
else if (type == G_TYPE_PARAM_DOUBLE)
{
- adj = GTK_ADJUSTMENT (gtk_adjustment_new (G_PARAM_SPEC_DOUBLE (spec)->default_value,
- G_PARAM_SPEC_DOUBLE (spec)->minimum,
- G_PARAM_SPEC_DOUBLE (spec)->maximum,
- 0.1,
- MAX ((G_PARAM_SPEC_DOUBLE (spec)->maximum -
- G_PARAM_SPEC_DOUBLE (spec)->minimum) / 10, 0.1),
- 0.0));
-
+ adj = gtk_adjustment_new (G_PARAM_SPEC_DOUBLE (spec)->default_value,
+ G_PARAM_SPEC_DOUBLE (spec)->minimum,
+ G_PARAM_SPEC_DOUBLE (spec)->maximum,
+ 0.1,
+ MAX ((G_PARAM_SPEC_DOUBLE (spec)->maximum - G_PARAM_SPEC_DOUBLE (spec)->minimum) / 10, 0.1),
+ 0.0);
+
prop_edit = gtk_spin_button_new (adj, 0.1, 2);
g_object_connect_property (object, spec,
else if (type == G_TYPE_PARAM_ENUM)
{
{
- GtkWidget *menu;
GEnumClass *eclass;
gint j;
- prop_edit = gtk_option_menu_new ();
-
- menu = gtk_menu_new ();
+ prop_edit = gtk_combo_box_text_new ();
eclass = G_ENUM_CLASS (g_type_class_ref (spec->value_type));
j = 0;
while (j < eclass->n_values)
{
- GtkWidget *mi;
-
- mi = gtk_menu_item_new_with_label (eclass->values[j].value_name);
-
- gtk_widget_show (mi);
-
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (prop_edit),
+ eclass->values[j].value_name);
++j;
}
g_type_class_unref (eclass);
- gtk_option_menu_set_menu (GTK_OPTION_MENU (prop_edit), menu);
-
g_object_connect_property (object, spec,
G_CALLBACK (enum_changed),
prop_edit, G_OBJECT (prop_edit));
GFlagsClass *fclass;
gint j;
- prop_edit = gtk_vbox_new (FALSE, 0);
+ prop_edit = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
fclass = G_FLAGS_CLASS (g_type_class_ref (spec->value_type));
{
GtkWidget *label, *button;
- prop_edit = gtk_hbox_new (FALSE, 5);
+ prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5);
label = gtk_label_new ("");
button = gtk_button_new_with_label ("Properties");
}
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
sw = gtk_scrolled_window_new (NULL, NULL);
++i;
}
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, i, i + 1);
- prop_edit = gtk_hbox_new (FALSE, 5);
+ prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5);
str = object_label (object, NULL);
label = gtk_label_new (str);
gtk_table_attach_defaults (GTK_TABLE (table), prop_edit, 1, 2, i, i + 1);
}
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, i, i + 1);
- prop_edit = gtk_hbox_new (FALSE, 5);
+ prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5);
str = object_label (object, NULL);
label = gtk_label_new (str);
gtk_table_attach_defaults (GTK_TABLE (table), prop_edit, 1, 2, i, i + 1);
}
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
sw = gtk_scrolled_window_new (NULL, NULL);