diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2020-07-13 15:22:24 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2020-07-26 20:31:15 +0100 |
commit | 382fa013017aaa7d1b6e9d0a58c3d3d5770af26b (patch) | |
tree | 0b1eb0fd90876930ffead341571802459a5b2612 /gtk/gtkaccessiblevaluestatic.c | |
parent | 572861be27e54a5a56257fdef6a4824a766e3cc0 (diff) | |
download | gtk+-382fa013017aaa7d1b6e9d0a58c3d3d5770af26b.tar.gz |
Plumb all the GtkAccessibleProperty values into GtkAccessibleValue
Similarly to how we deal with GtkAccessibleState.
Diffstat (limited to 'gtk/gtkaccessiblevaluestatic.c')
-rw-r--r-- | gtk/gtkaccessiblevaluestatic.c | 199 |
1 files changed, 125 insertions, 74 deletions
diff --git a/gtk/gtkaccessiblevaluestatic.c b/gtk/gtkaccessiblevaluestatic.c index c41f92cac7..9fa9982248 100644 --- a/gtk/gtkaccessiblevaluestatic.c +++ b/gtk/gtkaccessiblevaluestatic.c @@ -50,98 +50,34 @@ gtk_boolean_accessible_value_print (const GtkAccessibleValue *value, g_string_append_printf (buffer, "%s", self->value ? "true" : "false"); } -static const GtkAccessibleValueClass GTK_BUSY_ACCESSIBLE_VALUE = { - .type_name = "GtkBusyAccessibleValue", +static const GtkAccessibleValueClass GTK_BOOLEAN_ACCESSIBLE_VALUE = { + .type_name = "GtkBooleanAccessibleValue", .instance_size = sizeof (GtkBooleanAccessibleValue), .equal = gtk_boolean_accessible_value_equal, .print = gtk_boolean_accessible_value_print, }; -static GtkBooleanAccessibleValue busy_values[] = { - { { >K_BUSY_ACCESSIBLE_VALUE, 1 }, FALSE }, - { { >K_BUSY_ACCESSIBLE_VALUE, 1 }, TRUE }, +static GtkBooleanAccessibleValue boolean_values[] = { + { { >K_BOOLEAN_ACCESSIBLE_VALUE, 1 }, FALSE }, + { { >K_BOOLEAN_ACCESSIBLE_VALUE, 1 }, TRUE }, }; GtkAccessibleValue * -gtk_busy_accessible_value_new (gboolean state) +gtk_boolean_accessible_value_new (gboolean state) { if (state) - return gtk_accessible_value_ref ((GtkAccessibleValue *) &busy_values[1]); + return gtk_accessible_value_ref ((GtkAccessibleValue *) &boolean_values[1]); - return gtk_accessible_value_ref ((GtkAccessibleValue *) &busy_values[0]); + return gtk_accessible_value_ref ((GtkAccessibleValue *) &boolean_values[0]); } gboolean -gtk_busy_accessible_value_get (const GtkAccessibleValue *value) +gtk_boolean_accessible_value_get (const GtkAccessibleValue *value) { GtkBooleanAccessibleValue *self = (GtkBooleanAccessibleValue *) value; g_return_val_if_fail (value != NULL, FALSE); - g_return_val_if_fail (value->value_class == >K_BUSY_ACCESSIBLE_VALUE, FALSE); - - return self->value; -} - -static const GtkAccessibleValueClass GTK_DISABLED_ACCESSIBLE_VALUE = { - .type_name = "GtkDisabledAccessibleValue", - .instance_size = sizeof (GtkBooleanAccessibleValue), - .equal = gtk_boolean_accessible_value_equal, - .print = gtk_boolean_accessible_value_print, -}; - -static GtkBooleanAccessibleValue disabled_values[] = { - { { >K_DISABLED_ACCESSIBLE_VALUE, 1 }, FALSE }, - { { >K_DISABLED_ACCESSIBLE_VALUE, 1 }, TRUE }, -}; - -GtkAccessibleValue * -gtk_disabled_accessible_value_new (gboolean state) -{ - if (state) - return gtk_accessible_value_ref ((GtkAccessibleValue *) &disabled_values[1]); - - return gtk_accessible_value_ref ((GtkAccessibleValue *) &disabled_values[0]); -} - -gboolean -gtk_disabled_accessible_value_get (const GtkAccessibleValue *value) -{ - GtkBooleanAccessibleValue *self = (GtkBooleanAccessibleValue *) value; - - g_return_val_if_fail (value != NULL, FALSE); - g_return_val_if_fail (value->value_class == >K_DISABLED_ACCESSIBLE_VALUE, FALSE); - - return self->value; -} - -static const GtkAccessibleValueClass GTK_HIDDEN_ACCESSIBLE_VALUE = { - .type_name = "GtkHiddenAccessibleValue", - .instance_size = sizeof (GtkBooleanAccessibleValue), - .equal = gtk_boolean_accessible_value_equal, - .print = gtk_boolean_accessible_value_print, -}; - -static GtkBooleanAccessibleValue hidden_values[] = { - { { >K_HIDDEN_ACCESSIBLE_VALUE, 1 }, FALSE }, - { { >K_HIDDEN_ACCESSIBLE_VALUE, 1 }, TRUE }, -}; - -GtkAccessibleValue * -gtk_hidden_accessible_value_new (gboolean state) -{ - if (state) - return gtk_accessible_value_ref ((GtkAccessibleValue *) &hidden_values[1]); - - return gtk_accessible_value_ref ((GtkAccessibleValue *) &hidden_values[0]); -} - -gboolean -gtk_hidden_accessible_value_get (const GtkAccessibleValue *value) -{ - GtkBooleanAccessibleValue *self = (GtkBooleanAccessibleValue *) value; - - g_return_val_if_fail (value != NULL, FALSE); - g_return_val_if_fail (value->value_class == >K_HIDDEN_ACCESSIBLE_VALUE, FALSE); + g_return_val_if_fail (value->value_class == >K_BOOLEAN_ACCESSIBLE_VALUE, FALSE); return self->value; } @@ -492,4 +428,119 @@ gtk_invalid_accessible_value_get (const GtkAccessibleValue *value) return self->value; } +static const GtkAccessibleValueClass GTK_AUTOCOMPLETE_ACCESSIBLE_VALUE = { + .type_name = "GtkAutocompleteAccessibleValue", + .instance_size = sizeof (GtkEnumAccessibleValue), + .equal = gtk_enum_accessible_value_equal, + .print = gtk_enum_accessible_value_print, +}; + +static GtkEnumAccessibleValue autocomplete_values[] = { + { { >K_AUTOCOMPLETE_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_AUTOCOMPLETE_NONE, "none" }, + { { >K_AUTOCOMPLETE_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE, "inline" }, + { { >K_AUTOCOMPLETE_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_AUTOCOMPLETE_LIST, "list" }, + { { >K_AUTOCOMPLETE_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH, "both" }, +}; + +GtkAccessibleValue * +gtk_autocomplete_accessible_value_new (GtkAccessibleAutocomplete value) +{ + g_return_val_if_fail (value >= GTK_ACCESSIBLE_AUTOCOMPLETE_NONE && + value <= GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH, + NULL); + + return gtk_accessible_value_ref ((GtkAccessibleValue *) &autocomplete_values[value]); +} + +GtkAccessibleAutocomplete +gtk_autocomplete_accessible_value_get (const GtkAccessibleValue *value) +{ + GtkEnumAccessibleValue *self = (GtkEnumAccessibleValue *) value; + + g_return_val_if_fail (value != NULL, GTK_ACCESSIBLE_AUTOCOMPLETE_NONE); + g_return_val_if_fail (value->value_class == >K_AUTOCOMPLETE_ACCESSIBLE_VALUE, + GTK_ACCESSIBLE_AUTOCOMPLETE_NONE); + + return self->value; +} + +static const GtkAccessibleValueClass GTK_ORIENTATION_ACCESSIBLE_VALUE = { + .type_name = "GtkOrientationAccessibleValue", + .instance_size = sizeof (GtkEnumAccessibleValue), + .equal = gtk_enum_accessible_value_equal, + .print = gtk_enum_accessible_value_print, +}; + +static GtkEnumAccessibleValue orientation_values[] = { + { { >K_ORIENTATION_ACCESSIBLE_VALUE, 1 }, GTK_ORIENTATION_HORIZONTAL, "horizontal" }, + { { >K_ORIENTATION_ACCESSIBLE_VALUE, 1 }, GTK_ORIENTATION_VERTICAL, "vertical" }, +}; + +GtkAccessibleValue * +gtk_orientation_accessible_value_new (GtkOrientation value) +{ + switch (value) + { + case GTK_ORIENTATION_HORIZONTAL: + return gtk_accessible_value_ref ((GtkAccessibleValue *) &orientation_values[0]); + + case GTK_ORIENTATION_VERTICAL: + return gtk_accessible_value_ref ((GtkAccessibleValue *) &orientation_values[1]); + + default: + g_assert_not_reached (); + break; + } + + return NULL; +} + +GtkOrientation +gtk_orientation_accessible_value_get (const GtkAccessibleValue *value) +{ + GtkEnumAccessibleValue *self = (GtkEnumAccessibleValue *) value; + + g_return_val_if_fail (value != NULL, GTK_ORIENTATION_HORIZONTAL); + g_return_val_if_fail (value->value_class == >K_ORIENTATION_ACCESSIBLE_VALUE, + GTK_ORIENTATION_HORIZONTAL); + + return self->value; +} + +static const GtkAccessibleValueClass GTK_SORT_ACCESSIBLE_VALUE = { + .type_name = "GtkSortAccessibleValue", + .instance_size = sizeof (GtkEnumAccessibleValue), + .equal = gtk_enum_accessible_value_equal, + .print = gtk_enum_accessible_value_print, +}; + +static GtkEnumAccessibleValue sort_values[] = { + { { >K_SORT_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_SORT_NONE, "none" }, + { { >K_SORT_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_SORT_ASCENDING, "ascending" }, + { { >K_SORT_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_SORT_DESCENDING, "descending" }, + { { >K_SORT_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_SORT_OTHER, "other" }, +}; + +GtkAccessibleValue * +gtk_sort_accessible_value_new (GtkAccessibleSort value) +{ + g_return_val_if_fail (value >= GTK_ACCESSIBLE_SORT_NONE && + value <= GTK_ACCESSIBLE_SORT_OTHER, + NULL); + + return gtk_accessible_value_ref ((GtkAccessibleValue *) &sort_values[value]); +} + +GtkAccessibleSort +gtk_sort_accessible_value_get (const GtkAccessibleValue *value) +{ + GtkEnumAccessibleValue *self = (GtkEnumAccessibleValue *) value; + + g_return_val_if_fail (value != NULL, GTK_ACCESSIBLE_SORT_NONE); + g_return_val_if_fail (value->value_class == >K_SORT_ACCESSIBLE_VALUE, + GTK_ACCESSIBLE_SORT_NONE); + + return self->value; +} + /* }}} */ |