diff options
author | René Stadler <mail@renestadler.de> | 2009-01-02 01:08:17 +0100 |
---|---|---|
committer | René Stadler <mail@renestadler.de> | 2009-02-07 23:07:40 +0200 |
commit | b1cc779700568b441dface467720f95843d4a8f4 (patch) | |
tree | 6cdcf2a49072828358fcac37effa629fe3c144ac /GstInspector | |
parent | 98847b1dc72c00b4cdd473f4708f37a843486ea9 (diff) |
Improve display of enum/flags values in properties page
Replaced the "Values" label with a switch between "Enum values" and "Flag
values". Also show the integer constant of each enum/flag value now.
Diffstat (limited to 'GstInspector')
-rw-r--r-- | GstInspector/Data.py | 6 | ||||
-rw-r--r-- | GstInspector/GUI/models.py | 16 |
2 files changed, 16 insertions, 6 deletions
diff --git a/GstInspector/Data.py b/GstInspector/Data.py index 5e29e19..37316bc 100644 --- a/GstInspector/Data.py +++ b/GstInspector/Data.py @@ -763,6 +763,8 @@ class ValueData (DataObject): __slots__ = ("description", "nickname", "value",) + value_type = None + def __getstate__ (self): return (self.description, self.nickname, self.value,) @@ -784,6 +786,8 @@ class EnumValueData (ValueData): __slots__ = () + value_type = "enum" + def __init__ (self, item): value, enum = item @@ -803,6 +807,8 @@ class FlagsValueData (ValueData): __slots__ = () + value_type = "flags" + def __init__ (self, item): value, flags = item diff --git a/GstInspector/GUI/models.py b/GstInspector/GUI/models.py index 4a2b3a3..b66e185 100644 --- a/GstInspector/GUI/models.py +++ b/GstInspector/GUI/models.py @@ -213,12 +213,16 @@ class PropertiesModel (NameValueModel): str (prop.maximum)) if prop.values: - e_tree_iter = self.append (tree_iter) - set_name_value (e_tree_iter, _("Values"), None) - for data in prop.values: - set_name_value (self.append (e_tree_iter), - data.nickname, - data.description) + value_type = prop.values[0].value_type + label = {"enum" : _("Enum values"), + "flags" : _("Flag values")}.get (value_type) + if label is not None: + e_tree_iter = self.append (tree_iter) + set_name_value (e_tree_iter, label, None) + for i, data in enumerate (prop.values): + set_name_value (self.append (e_tree_iter), + "%i: %s" % (data.value, data.nickname,), + data.description) class SignalsModel (NameValueModel): |