LayerSet¶
LayerSet¶
-
class
defcon.
LayerSet
(font=None, layerClass=None, libClass=None, unicodeDataClass=None, guidelineClass=None, glyphClass=None, glyphContourClass=None, glyphPointClass=None, glyphComponentClass=None, glyphAnchorClass=None, glyphImageClass=None)¶ This object manages all layers in the font.
This object posts the following notifications:
Name LayerSet.Changed LayerSet.LayersChanged LayerSet.LayerChanged LayerSet.DefaultLayerWillChange LayerSet.DefaultLayerChanged LayerSet.LayerOrderChanged LayerSet.LayerAdded LayerSet.LayerDeleted LayerSet.LayerWillBeDeleted LayerSet.LayerNameChanged This object behaves like a dict. For example, to get a particular layer:
layer = layerSet["layer name"]
If the layer name is None, the default layer will be retrieved.
Note: It’s up to the caller to ensure that a default layer is present as required by the UFO specification.
-
addObserver
(observer, methodName, notification)¶ Add an observer to this object’s notification dispatcher.
- observer An object that can be referenced with weakref.
- methodName A string representing the method to be called when the notification is posted.
- notification The notification that the observer should be notified of.
The method that will be called as a result of the action must accept a single notification argument. This will be a
defcon.tools.notifications.Notification
object.This is a convenience method that does the same thing as:
dispatcher = anObject.dispatcher dispatcher.addObserver(observer=observer, methodName=methodName, notification=notification, observable=anObject)
-
defaultLayer
¶ The default
Layer
object. Setting this will post LayerSet.DefaultLayerChanged and LayerSet.Changed notifications.
-
destroyAllRepresentations
(notification=None)¶ Destroy all representations.
-
destroyRepresentation
(name, **kwargs)¶ Destroy the stored representation for name and **kwargs. If no kwargs are given, any representation with name will be destroyed regardless of the kwargs passed when the representation was created.
-
dirty
¶ The dirty state of the object. True if the object has been changed. False if not. Setting this to True will cause the base changed notification to be posted. The object will automatically maintain this attribute and update it as you change the object.
-
disableNotifications
(notification=None, observer=None)¶ Disable this object’s notifications until told to resume them.
- notification The specific notification to disable. This is optional. If no notification is given, all notifications will be disabled.
This is a convenience method that does the same thing as:
dispatcher = anObject.dispatcher dispatcher.disableNotifications( observable=anObject, notification=notification, observer=observer)
-
dispatcher
¶ The
defcon.tools.notifications.NotificationCenter
assigned to the parent of this object.
-
enableNotifications
(notification=None, observer=None)¶ Enable this object’s notifications.
- notification The specific notification to enable. This is optional.
This is a convenience method that does the same thing as:
dispatcher = anObject.dispatcher dispatcher.enableNotifications( observable=anObject, notification=notification, observer=observer)
-
getRepresentation
(name, **kwargs)¶ Get a representation. name must be a registered representation name. **kwargs will be passed to the appropriate representation factory.
-
getSaveProgressBarTickCount
(formatVersion)¶ Get the number of ticks that will be used by a progress bar in the save method. This method should not be called externally. Subclasses may override this method to implement custom saving behavior.
-
hasCachedRepresentation
(name, **kwargs)¶ Returns a boolean indicating if a representation for name and **kwargs is cached in the object.
-
hasObserver
(observer, notification)¶ Returns a boolean indicating is the observer is registered for notification.
This is a convenience method that does the same thing as:
dispatcher = anObject.dispatcher dispatcher.hasObserver(observer=observer, notification=notification, observable=anObject)
-
holdNotifications
(notification=None)¶ Hold this object’s notifications until told to release them.
- notification The specific notification to hold. This is optional. If no notification is given, all notifications will be held.
This is a convenience method that does the same thing as:
dispatcher = anObject.dispatcher dispatcher.holdNotifications( observable=anObject, notification=notification)
-
layerOrder
¶ The layer order from top to bottom. Setting this will post LayerSet.LayerOrderChanged and LayerSet.Changed notifications.
-
newLayer
(name, glyphSet=None)¶ Create a new
Layer
and add it to the top of the layer order. glyphSet should only be passed when reading from a UFO.This posts LayerSet.LayerAdded and LayerSet.Changed notifications.
-
postNotification
(notification, data=None)¶ Post a notification through this object’s notification dispatcher.
- notification The name of the notification.
- data Arbitrary data that will be stored in the
Notification
object.
This is a convenience method that does the same thing as:
dispatcher = anObject.dispatcher dispatcher.postNotification( notification=notification, observable=anObject, data=data)
-
releaseHeldNotifications
(notification=None)¶ Release this object’s held notifications.
- notification The specific notification to hold. This is optional.
This is a convenience method that does the same thing as:
dispatcher = anObject.dispatcher dispatcher.releaseHeldNotifications( observable=anObject, notification=notification)
-
reloadLayers
(layerData)¶ Reload the layers. This should not be called externally.
-
removeObserver
(observer, notification)¶ Remove an observer from this object’s notification dispatcher.
- observer A registered object.
- notification The notification that the observer was registered to be notified of.
This is a convenience method that does the same thing as:
dispatcher = anObject.dispatcher dispatcher.removeObserver(observer=observer, notification=notification, observable=anObject)
-
representationKeys
()¶ Get a list of all representation keys that are currently cached.
-
save
(writer, saveAs=False, progressBar=None)¶ Save all layers. This method should not be called externally. Subclasses may override this method to implement custom saving behavior.
-
testForExternalChanges
(reader)¶ Test for external changes. This should not be called externally.
-
undoManager
¶ The undo manager assigned to this object.
-