designspaceLib: add add{Axis,Source,Instance,Rule}Descriptor methods
as suggested by Just here: https://github.com/fonttools/fonttools/pull/1860#issuecomment-601762751
This commit is contained in:
parent
2d27490c7d
commit
ca3306da57
@ -1188,15 +1188,35 @@ class DesignSpaceDocument(LogMixin, AsDictMixin):
|
|||||||
def addSource(self, sourceDescriptor):
|
def addSource(self, sourceDescriptor):
|
||||||
self.sources.append(sourceDescriptor)
|
self.sources.append(sourceDescriptor)
|
||||||
|
|
||||||
|
def addSourceDescriptor(self, **kwargs):
|
||||||
|
source = self.writerClass.sourceDescriptorClass(**kwargs)
|
||||||
|
self.addSource(source)
|
||||||
|
return source
|
||||||
|
|
||||||
def addInstance(self, instanceDescriptor):
|
def addInstance(self, instanceDescriptor):
|
||||||
self.instances.append(instanceDescriptor)
|
self.instances.append(instanceDescriptor)
|
||||||
|
|
||||||
|
def addInstanceDescriptor(self, **kwargs):
|
||||||
|
instance = self.writerClass.instanceDescriptorClass(**kwargs)
|
||||||
|
self.addInstance(instance)
|
||||||
|
return instance
|
||||||
|
|
||||||
def addAxis(self, axisDescriptor):
|
def addAxis(self, axisDescriptor):
|
||||||
self.axes.append(axisDescriptor)
|
self.axes.append(axisDescriptor)
|
||||||
|
|
||||||
|
def addAxisDescriptor(self, **kwargs):
|
||||||
|
axis = self.writerClass.axisDescriptorClass(**kwargs)
|
||||||
|
self.addAxis(axis)
|
||||||
|
return axis
|
||||||
|
|
||||||
def addRule(self, ruleDescriptor):
|
def addRule(self, ruleDescriptor):
|
||||||
self.rules.append(ruleDescriptor)
|
self.rules.append(ruleDescriptor)
|
||||||
|
|
||||||
|
def addRuleDescriptor(self, **kwargs):
|
||||||
|
rule = self.writerClass.ruleDescriptorClass(**kwargs)
|
||||||
|
self.addRule(rule)
|
||||||
|
return rule
|
||||||
|
|
||||||
def newDefaultLocation(self):
|
def newDefaultLocation(self):
|
||||||
"""Return default location in design space."""
|
"""Return default location in design space."""
|
||||||
# Without OrderedDict, output XML would be non-deterministic.
|
# Without OrderedDict, output XML would be non-deterministic.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user