[core] split Param into specific types and update nodes accordingly

This commit is contained in:
Fabien Castan 2017-10-16 10:56:05 +02:00
parent 931ad23f50
commit 287c0f13ce
16 changed files with 558 additions and 501 deletions

View file

@ -7,23 +7,66 @@ class Attribute(object):
group = 'allParams'
commandLine = '{nodeType} --help' # need to be overridden
def __init__(self, **kwargs):
for k, v in kwargs.items():
setattr(self, k, v)
def __init__(self, label, description, value, uid, group):
self.label = label
self.description = description
self.value = value
self.uid = uid
self.group = group
class FileAttribute(Attribute):
class Param(Attribute):
"""
"""
def __init__(self, **kwargs):
super(FileAttribute, self).__init__(**kwargs)
def __init__(self, label, description, value, uid, group):
super(Param, self).__init__(label=label, description=description, value=value, uid=uid, group=group)
class ParamAttribute(Attribute):
class File(Attribute):
"""
"""
def __init__(self, **kwargs):
super(ParamAttribute, self).__init__(**kwargs)
def __init__(self, label, description, value, uid, isOutput, group='allParams'):
self.isOutput = isOutput
super(File, self).__init__(label=label, description=description, value=value, uid=uid, group=group)
class BoolParam(Param):
"""
"""
def __init__(self, label, description, value, uid, group='allParams'):
super(BoolParam, self).__init__(label=label, description=description, value=value, uid=uid, group=group)
class IntParam(Param):
"""
"""
def __init__(self, label, description, value, range, uid, group='allParams'):
self.range = range
super(IntParam, self).__init__(label=label, description=description, value=value, uid=uid, group=group)
class FloatParam(Param):
"""
"""
def __init__(self, label, description, value, range, uid, group='allParams'):
self.range = range
super(FloatParam, self).__init__(label=label, description=description, value=value, uid=uid, group=group)
class ChoiceParam(Param):
"""
"""
def __init__(self, label, description, value, values, exclusive, uid, group='allParams'):
self.values = values
self.exclusive = exclusive
super(ChoiceParam, self).__init__(label=label, description=description, value=value, uid=uid, group=group)
class StringParam(Param):
"""
"""
def __init__(self, label, description, value, uid, group='allParams'):
super(StringParam, self).__init__(label=label, description=description, value=value, uid=uid, group=group)
class Node(object):