forked from AuroraMiddleware/gtk
constraint editor: Use name properties
This commit is contained in:
parent
a442e6e8de
commit
377f0c1a0a
@ -95,8 +95,9 @@ add_guide (ConstraintEditorWindow *win)
|
||||
|
||||
guide_counter++;
|
||||
name = g_strdup_printf ("Guide %d", guide_counter);
|
||||
guide = g_object_new (GTK_TYPE_CONSTRAINT_GUIDE, NULL);
|
||||
g_object_set_data_full (G_OBJECT (guide), "name", name, g_free);
|
||||
guide = gtk_constraint_guide_new ();
|
||||
gtk_constraint_guide_set_name (guide, name);
|
||||
g_free (name);
|
||||
|
||||
constraint_view_add_guide (CONSTRAINT_VIEW (win->view), guide);
|
||||
}
|
||||
@ -158,7 +159,6 @@ guide_editor_done (GuideEditor *editor,
|
||||
GtkConstraintGuide *guide,
|
||||
ConstraintEditorWindow *win)
|
||||
{
|
||||
constraint_view_guide_changed (CONSTRAINT_VIEW (win->view), guide);
|
||||
gtk_widget_destroy (gtk_widget_get_ancestor (GTK_WIDGET (editor), GTK_TYPE_WINDOW));
|
||||
}
|
||||
|
||||
@ -295,19 +295,23 @@ create_widget_func (gpointer item,
|
||||
ConstraintEditorWindow *win = user_data;
|
||||
const char *name;
|
||||
GtkWidget *row, *box, *label, *button;
|
||||
char *str;
|
||||
|
||||
if (GTK_IS_WIDGET (item))
|
||||
name = gtk_widget_get_name (GTK_WIDGET (item));
|
||||
else if (GTK_IS_CONSTRAINT_GUIDE (item))
|
||||
name = gtk_constraint_guide_get_name (GTK_CONSTRAINT_GUIDE (item));
|
||||
else
|
||||
name = (const char *)g_object_get_data (G_OBJECT (item), "name");
|
||||
|
||||
row = gtk_list_box_row_new ();
|
||||
g_object_set_data_full (G_OBJECT (row), "item", g_object_ref (item), g_object_unref);
|
||||
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||
str = g_strdup_printf ("%s %p", name, item);
|
||||
label = gtk_label_new (str);
|
||||
g_free (str);
|
||||
g_object_set (label,
|
||||
"margin", 10,
|
||||
NULL);
|
||||
label = gtk_label_new (name);
|
||||
if (GTK_IS_WIDGET (item) || GTK_IS_CONSTRAINT_GUIDE (item))
|
||||
g_object_bind_property (item, "name",
|
||||
label, "label",
|
||||
G_BINDING_DEFAULT);
|
||||
g_object_set (label, "margin", 10, NULL);
|
||||
gtk_label_set_xalign (GTK_LABEL (label), 0.0);
|
||||
gtk_widget_set_hexpand (label, TRUE);
|
||||
gtk_container_add (GTK_CONTAINER (row), box);
|
||||
|
@ -66,8 +66,12 @@ get_target_name (GtkConstraintTarget *target)
|
||||
{
|
||||
if (target == NULL)
|
||||
return "super";
|
||||
else if (GTK_IS_WIDGET (target))
|
||||
return gtk_widget_get_name (GTK_WIDGET (target));
|
||||
else if (GTK_IS_CONSTRAINT_GUIDE (target))
|
||||
return gtk_constraint_guide_get_name (GTK_CONSTRAINT_GUIDE (target));
|
||||
else
|
||||
return (const char *)g_object_get_data (G_OBJECT (target), "name");
|
||||
return "";
|
||||
}
|
||||
|
||||
static void
|
||||
@ -145,14 +149,20 @@ get_target (GListModel *model,
|
||||
for (i = 0; i < g_list_model_get_n_items (model); i++)
|
||||
{
|
||||
GObject *item = g_list_model_get_object (model, i);
|
||||
const char *name;
|
||||
g_object_unref (item);
|
||||
if (GTK_IS_CONSTRAINT (item))
|
||||
continue;
|
||||
name = (const char *)g_object_get_data (item, "name");
|
||||
g_object_unref (item);
|
||||
if (strcmp (name, id) == 0)
|
||||
else if (GTK_IS_WIDGET (item))
|
||||
{
|
||||
if (strcmp (id, gtk_widget_get_name (GTK_WIDGET (item))) == 0)
|
||||
return item;
|
||||
}
|
||||
else if (GTK_IS_CONSTRAINT_GUIDE (item))
|
||||
{
|
||||
if (strcmp (id, gtk_constraint_guide_get_name (GTK_CONSTRAINT_GUIDE (item))) == 0)
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
@ -215,7 +215,7 @@ constraint_view_add_child (ConstraintView *view,
|
||||
label = gtk_label_new (name);
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (frame), "child");
|
||||
g_object_set_data_full (G_OBJECT (frame), "name", g_strdup (name), g_free);
|
||||
gtk_widget_set_name (frame, name);
|
||||
gtk_container_add (GTK_CONTAINER (frame), label);
|
||||
gtk_widget_set_parent (frame, GTK_WIDGET (view));
|
||||
|
||||
@ -250,9 +250,12 @@ constraint_view_add_guide (ConstraintView *view,
|
||||
};
|
||||
int i;
|
||||
|
||||
name = (const char *)g_object_get_data (G_OBJECT (guide), "name");
|
||||
|
||||
name = gtk_constraint_guide_get_name (guide);
|
||||
label = gtk_label_new (name);
|
||||
g_object_bind_property (guide, "name",
|
||||
label, "label",
|
||||
G_BINDING_DEFAULT);
|
||||
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (frame), "guide");
|
||||
g_object_set_data (G_OBJECT (frame), "internal", "yes");
|
||||
@ -260,7 +263,6 @@ constraint_view_add_guide (ConstraintView *view,
|
||||
gtk_widget_insert_after (frame, GTK_WIDGET (view), NULL);
|
||||
|
||||
g_object_set_data (G_OBJECT (guide), "frame", frame);
|
||||
g_object_set_data (G_OBJECT (guide), "label", label);
|
||||
|
||||
layout = GTK_CONSTRAINT_LAYOUT (gtk_widget_get_layout_manager (GTK_WIDGET (view)));
|
||||
gtk_constraint_layout_add_guide (layout, g_object_ref (guide));
|
||||
@ -282,27 +284,6 @@ constraint_view_add_guide (ConstraintView *view,
|
||||
update_weak_position (view, frame, 150, 150);
|
||||
}
|
||||
|
||||
void
|
||||
constraint_view_guide_changed (ConstraintView *view,
|
||||
GtkConstraintGuide *guide)
|
||||
{
|
||||
GtkWidget *label;
|
||||
const char *name;
|
||||
int i;
|
||||
|
||||
name = (const char *)g_object_get_data (G_OBJECT (guide), "name");
|
||||
label = (GtkWidget *)g_object_get_data (G_OBJECT (guide), "label");
|
||||
gtk_label_set_label (GTK_LABEL (label), name);
|
||||
for (i = 0; i < g_list_model_get_n_items (view->model); i++)
|
||||
{
|
||||
if (g_list_model_get_item (view->model, i) == (GObject*)guide)
|
||||
{
|
||||
g_list_model_items_changed (view->model, i, 1, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
constraint_view_remove_guide (ConstraintView *view,
|
||||
GtkConstraintGuide *guide)
|
||||
|
@ -105,7 +105,7 @@ create_guide (GtkButton *button,
|
||||
guide = gtk_constraint_guide_new ();
|
||||
|
||||
name = gtk_editable_get_text (GTK_EDITABLE (editor->name));
|
||||
g_object_set_data_full (G_OBJECT (guide), "name", g_strdup (name), g_free);
|
||||
gtk_constraint_guide_set_name (guide, name);
|
||||
|
||||
w = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (editor->min_width));
|
||||
h = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (editor->min_height));
|
||||
@ -238,7 +238,7 @@ guide_editor_constructed (GObject *object)
|
||||
const char *nick;
|
||||
int w, h;
|
||||
|
||||
nick = (char *)g_object_get_data (G_OBJECT (editor->guide), "name");
|
||||
nick = gtk_constraint_guide_get_name (editor->guide);
|
||||
if (nick)
|
||||
gtk_editable_set_text (GTK_EDITABLE (editor->name), nick);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user