Enable hackish support for Argument.count == -1 (by setting it to 3)
[hooke.git] / hooke / ui / gui / panel / propertyeditor.py
index 5cc44690c3c8868d74c2eba549e1c274c1143625..95233fcf8bf1daca8e94a0ad8d3931d4a9c24f8a 100644 (file)
@@ -43,8 +43,10 @@ def props_from_argument(argument, curves=None, playlists=None):
     type = argument.type
     if type in ['driver']:  # intentionally not handled (yet)
         return None
-    if argument.count == -1:
-        raise NotImplementedError(argument)  # TODO: maybe just set count to 1?
+    count = argument.count
+    if count == -1:
+        count = 3  # HACK: should allow unlimited entries (somehow...)
+        argument._display_count = count  # suport HACK in execute_command()
     kwargs = {
         #'label':argument.name,
         'default':argument.default,
@@ -64,10 +66,10 @@ def props_from_argument(argument, curves=None, playlists=None):
         kwargs['choices'] = choices
     else:
         raise NotImplementedError(argument.type)
-    if argument.count == 1:
+    if count == 1:
         labels = [argument.name]
     else:
-        labels = ['%s %d' % (argument.name, i) for i in range(argument.count)]
+        labels = ['%s %d' % (argument.name, i) for i in range(count)]
     return [(label, _class(label=label, **kwargs)) for label in labels]