[gtk/constraint-editor-fun: 3/3] constraint editor: Various minor fixes
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/constraint-editor-fun: 3/3] constraint editor: Various minor fixes
- Date: Tue, 2 Jul 2019 22:42:43 +0000 (UTC)
commit a0a3e6ffaa1f62529bd45a1f17df9365060ad53c
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Jul 2 22:40:47 2019 +0000
constraint editor: Various minor fixes
demos/constraint-editor/constraint-editor.c | 42 +++++++++++++++++++++++------
demos/constraint-editor/constraint-view.c | 1 +
2 files changed, 35 insertions(+), 8 deletions(-)
---
diff --git a/demos/constraint-editor/constraint-editor.c b/demos/constraint-editor/constraint-editor.c
index 62af6e356f..6942c0e984 100644
--- a/demos/constraint-editor/constraint-editor.c
+++ b/demos/constraint-editor/constraint-editor.c
@@ -212,6 +212,19 @@ get_relation_nick (GtkConstraintRelation relation)
return nick;
}
+static const char *
+get_relation_to_string (GtkConstraintRelation relation)
+{
+ switch (relation)
+ {
+ case GTK_CONSTRAINT_RELATION_LE: return "≤";
+ case GTK_CONSTRAINT_RELATION_EQ: return "=";
+ case GTK_CONSTRAINT_RELATION_GE: return "≥";
+ default:
+ g_assert_not_reached ();
+ }
+}
+
static GtkConstraintStrength
get_strength (const char *id)
{
@@ -290,9 +303,17 @@ create_constraint (GtkButton *button,
target_attr = get_target_attr (id);
id = gtk_combo_box_get_active_id (GTK_COMBO_BOX (editor->source));
- source = get_target (editor->model, id);
- id = gtk_combo_box_get_active_id (GTK_COMBO_BOX (editor->source_attr));
- source_attr = get_target_attr (id);
+ if (id != NULL)
+ {
+ source = get_target (editor->model, id);
+ id = gtk_combo_box_get_active_id (GTK_COMBO_BOX (editor->source_attr));
+ source_attr = get_target_attr (id);
+ }
+ else
+ {
+ source = NULL;
+ source_attr = GTK_CONSTRAINT_ATTRIBUTE_NONE;
+ }
id = gtk_combo_box_get_active_id (GTK_COMBO_BOX (editor->relation));
relation = get_relation (id);
@@ -347,7 +368,7 @@ constraint_editor_constraint_to_string (GtkConstraint *constraint)
name = get_target_name (gtk_constraint_get_target (constraint));
attr = get_attr_nick (gtk_constraint_get_target_attribute (constraint));
- relation = get_relation_nick (gtk_constraint_get_relation (constraint));
+ relation = get_relation_to_string (gtk_constraint_get_relation (constraint));
if (name == NULL)
name = "[ ]";
@@ -408,14 +429,20 @@ update_preview (ConstraintEditor *editor)
g_free (relation);
constant = gtk_editable_get_text (GTK_EDITABLE (editor->constant));
- c = g_ascii_strtod (constant, NULL);
+ if (constant[0] != '\0')
+ c = g_ascii_strtod (constant, NULL);
+ else
+ c = 0.0;
attr = gtk_combo_box_get_active_id (GTK_COMBO_BOX (editor->source_attr));
if (strcmp (attr, "none") != 0)
{
name = gtk_combo_box_get_active_id (GTK_COMBO_BOX (editor->source));
multiplier = gtk_editable_get_text (GTK_EDITABLE (editor->multiplier));
- m = g_ascii_strtod (multiplier, NULL);
+ if (multiplier[0] != '\0')
+ m = g_ascii_strtod (multiplier, NULL);
+ else
+ m = 1.0;
if (name == NULL)
name = "[ ]";
@@ -441,8 +468,7 @@ update_preview (ConstraintEditor *editor)
static void
update_button (ConstraintEditor *editor)
{
- if (gtk_combo_box_get_active_id (GTK_COMBO_BOX (editor->target)) != NULL &&
- gtk_combo_box_get_active_id (GTK_COMBO_BOX (editor->source)) != NULL)
+ if (gtk_combo_box_get_active_id (GTK_COMBO_BOX (editor->target)) != NULL)
gtk_widget_set_sensitive (editor->button, TRUE);
else
gtk_widget_set_sensitive (editor->button, FALSE);
diff --git a/demos/constraint-editor/constraint-view.c b/demos/constraint-editor/constraint-view.c
index fb0b7e45d7..3b3807e34b 100644
--- a/demos/constraint-editor/constraint-view.c
+++ b/demos/constraint-editor/constraint-view.c
@@ -219,6 +219,7 @@ constraint_view_add_child (ConstraintView *view,
frame = gtk_frame_new (NULL);
gtk_style_context_add_class (gtk_widget_get_style_context (frame), "child");
gtk_widget_set_name (frame, name);
+ gtk_widget_set_size_request (frame, 100, 25);
label = gtk_label_new (name);
gtk_container_add (GTK_CONTAINER (frame), label);
g_object_bind_property (frame, "name",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]