mojo.subscriber
Subscriber is an event manager for scripters, making the bridge of subscribing and unsubsribing all sort of events super easy.
registerSubscriberEvent(subscriberEventName, methodName, lowLevelEventNames, dispatcher, observeAllInstances=False, eventEligibilityFunction=None, eventInfoExtractionFunction=None, delay=None, documentation='', debug=False)
Register a new subscriber event.
subscriberEventName
: The subscriber event name.methodName
: The method name to be implemented in the Subscriber subclass.lowLevelEventNames
: A list of low-level event names that will be posted bydispatcher
. This may also be a string if there is only one low level event name.dispatcher
: The dispatcher that low level events will be posted from."roboFont"
or"defcon.*"
where*
is a defcon class name.observeAllInstances
: IfTrue
lowLevelEventNames
will be observed for all instances. This only applies to defcondefcon.Font
,defcon.LayerSet
anddefcon.Layer
objects and it is accomplished by sendingNone
as the observable with thelowLevelEventNames
to the low level defcon dispatcher. This should be used sparingly as it can cause a significant number of calls to Subscriber instances that implementmethodName
.eventInfoExtractionFunction
: A function for extracting information from the coalesced low-level events. Optional.eventEligibilityFunction
: A function for determining if a low-level event should be passed to a subscriber. Optional.delay
: A number defining the default delay for the event. Optional. If a value is not given, the default value for the given dispatcher will be used.documentation
: A string defining documentation for the event. Optional.debug
: A boolean to be used when developing a subscriber event. Optional. False by default
Developers may use this function to add to the built-in events. This function should always be called with key-word arguments instead of unnamed arguments. The argument order may change and new arguments may be added.
from mojo.subscriber import Subscriber, registerRoboFontSubscriber, registerSubscriberEvent
class SimpleSubscriberDemo(Subscriber):
def myCustomSubscriberMethod(self, info):
print("myCustomSubscriberMethod", info)
registerSubscriberEvent(
subscriberEventName="com.robofont.demo.subscriberEvent",
methodName="myCustomSubscriberMethod",
lowLevelEventNames=["com.robofont.demo.mojoEvent"],
dispatcher="roboFont",
delay=1,
documentation="This is my custom subscriber method."
)
registerRoboFontSubscriber(SimpleSubscriberDemo)
# ------------------
# SOME TIME LATER...
# ------------------
import random
from mojo.events import postEvent
postEvent("com.robofont.demo.mojoEvent", information="data", number=random.choice((-1, 1)))
eventInfoExtractionFunction
If a low-level event has special data that needs to be extracted from the
low-level data and translated into the high-level data, define an
eventInfoExtractionFunction
like this:
def simpleSubscriberEventInfoExtractor(subscriber, info):
info["information"] = []
for lowLevelEvent in info["lowLevelEvents"]:
info["information"] = lowLevelEvent["information"]
If this is not defined, the raw low-level data will be passed as the high-level data.
eventEligibilityFunction
If a high-level event should be triggered only when certain conditions
are met, define an eventEligibilityFunction
like this:
def simpleSubscriberEventEligibility(subscriber, event):
number = event["number"]
if number == 1:
return True
return False
If this is not defined, the eligibility for a high-level event
is always True
.
registerRoboFontSubscriber(subscriberClass)
Register a Subscriber subclass that will be instantiated when RoboFont is started. This object will remain alive until RoboFont is quit.
unregisterRoboFontSubscriber(subscriberInstance)
Unregister a Subscriber subclass. Provide either a type or an instance.
registerFontOverviewSubscriber(subscriberClass)
Register a Subscriber subclass that will be instantiated
when a font overview is opened and will be assigned to the
newly opened font overview. The instantiated object’s
fontOverview*
methods will only be called if the event
is relevant to the font overview that owns the instance.
The instantiated object will remain alive until the font
overview is closed.
unregisterFontOverviewSubscriber(subscriberInstance)
Unregister a Subscriber subclass. Provide either a type or an instance.
registerGlyphEditorSubscriber(subscriberClass)
Register a Subscriber subclass that will be instantiated
when a glyph editor opened and will be assigned to the
newly opened glyph editor. The instantiated object’s
glyphEditor*
methods will only be called if the event
is relevant to the glyph editor that owns the instance.
The instantiated object will remain alive until the glyph
editor is closed.
unregisterGlyphEditorSubscriber(subscriberInstance)
Unregister a Subscriber subclass. Provide either a type or an instance.
registerSpaceCenterSubscriber(subscriberClass)
Register a Subscriber subclass that will be instantiated
when a space center is opened and will be assigned to the
newly opened space center. The instantiated object’s
spaceCenter*
methods will only be called if the event
is relevant to the space center that owns the instance.
The instantiated object will remain alive until the space
center is closed.
unregisterSpaceCenterSubscriber(subscriberInstance)
Unregister a Subscriber subclass. Provide either a type or an instance.
registerCurrentFontSubscriber(subscriberClass)
Register a Subscriber subclass that will be instantiated
when RoboFont is started. The instantiated object’s
currentFont*
methods will only be called if the event
is relevant to the current font. This object will remain
alive until RoboFont is quit.
unregisterCurrentFontSubscriber(subscriberInstance)
Unregister a Subscriber subclass. Provide either a type or an instance.
registerCurrentGlyphSubscriber(subscriberClass)
Register a Subscriber subclass that will be instantiated
when RoboFont is started. The instantiated object’s
currentGlyph*
methods will only be called if the event
is relevant to the current glyph. This object will remain
alive until RoboFont is quit.
unregisterCurrentGlyphSubscriber(subscriberInstance)
Unregister a Subscriber subclass. Provide either a type or an instance.
listRegisteredSubscribers(subscriberClassName=None)
Return a list of initiated registered Subscriber instances.
class Subscriber()
This class allows you to easily subscribe to events within RoboFont. Subclass Subscriber
and indicate what events you want to subscribe to by overriding callbacks that correspond
to events. For example
class ExampleSubscriber(Subscriber):
def glyphEditorDidSetGlyph(self, info):
glyph = info["glyph"]
print("A glyph editor was set with this glyph.", glyph)
def glyphEditorDidMouseDown(self, info):
location = info["locationInGlyph"]
print("Mouse down in glyph editor at:", location)
Debugging
Always give your subclass a unique name. The class name is used
as an identifier within the low-level event systems.
When developing your subscriber, set the debug
flag in the class
to True
. This will instruct the subscriber to scan through the
low-level event systems for references to any other instances of
your subclass.
class ExampleSubscriber(Subscriber):
debug = True
Be careful with this. If you are trying to debug something not being
updated and are completely stumped, set debug = False
, restart RoboFont
and then try your tool again.
Event Coalescing
Subscriber
uses event coalescing to reduce redundant event
posting. This is done by waiting for a specified amount of time
after a low-level event has been posted before calling the
corresponding subclass method. If a related low-level event
is posted before the time has expired, the waiting starts over.
Tools that need instant calling of any or all of the subclass
methods may set the delay of any methods to 0
. Likewise, tools
that can tolerate a small lag set the delay of any methods to
the appropriate time. All delay times are defined as float
values representing seconds. Any event with Will
or Wants
in its name should always have a delay of 0
to prevent
unexpected asynchronous behavior.
The default delay for RoboFont event is ‘0’. For defcon event the default delay is ‘0.03’.
To specify a custom delay for a method in your subclass, create
an attributes with the same method name plus Delay
and set the
value to a float
.
class ExampleSubscriber(Subscriber):
glyphEditorDidSetGlyphDelay = 0.2
def glyphEditorDidSetGlyph(self, info):
glyph = info["glyph"]
print("A glyph editor was set with this glyph.", glyph)
glyphEditorDidMouseDownDelay = 0
def glyphEditorDidMouseDown(self, info):
location = info["location"]
print("Mouse down in glyph editor at:", location)
Callbacks Arguments
Each method must take one info
argument. The value for
this argument will be a dictionary. All info dictionaries
have these keys:
subscriberEventName
: The subscriber event name.iterations
: An ordered list of the iterations of the important data from thelowLevelEvents
. The items in the list will be dictionaries.lowLevelEvents
: An ordered list of low-level events.
Events may have their own keys (as detailed in the event documentation). Events triggered by mouse of key events may have a deviceState dictionary with this structure:
clickCount
: The number of mouse clicks.keyDown
: The pressed character.keyDownWithoutModifiers
: The pressed characters with modifiers.up
: A bool indicating if the up arrow key is pressed.down
: A bool indicating if the down arrow key is pressed.left
: A bool indicating if the left arrow key is pressed.right
: A bool indicating if the right arrow key is pressed.shiftDown
: A bool indicating if the Shift modifier key is pressed.capLockDown
: A bool indicating if the Caps Lock modifier key is pressed.optionDown
: A bool indicating if the Option modifier key is pressed.controlDown
: A bool indicating if the Control modifier key is pressed.commandDown
: A bool indicating if the Command modifier key is pressed.locationInWindow
: The location of the event in window coordinates.locationInView
: The location of the event in view coordinates.
Any objects outside of lowLevelEvents
that can be represented
with fontParts objects will be.
Interaction Callbacks
RoboFont Application
roboFontDidFinishLaunching(self, info)
This will be called when a mojo.events.applicationDidFinishLaunching
event is posted. Default delay set to 0.00 seconds.
roboFontDidBecomeActive(self, info)
This will be called when a mojo.events.applicationDidBecomeActive
event is posted. Default delay set to 0.00 seconds.
roboFontWillResignActive(self, info)
This will be called when a mojo.events.applicationWillResignActive
event is posted. Default delay set to 0.00 seconds.
roboFontDidChangeScreen(self, info)
This will be called when a mojo.events.applicationScreenChanged
event is posted. Default delay set to 0.00 seconds.
roboFontWantsOpenUnknownFileType(self, info)
This will be called when a mojo.events.applicationOpenFile
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
fileHandler
fileExtension
path
roboFontDidSwitchCurrentGlyph(self, info)
This will be called when a mojo.events.currentGlyphChanged
event is posted. Default delay set to 0.00 seconds.
roboFontDidBuildExtension(self, info)
This will be called when a mojo.events.extensionDidGenerate
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
path
roboFontWillRunExternalScript(self, info)
This will be called when a mojo.events.externalLaunchEvent
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
data
roboFontWantsInspectorViews(self, info)
This will be called when a mojo.events.inspectorWindowWillShowDescriptions
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
viewDescriptions
roboFontWantsNamespaceAdditions(self, info)
This will be called when a mojo.events.namespaceCallbacks
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
namespace
roboFontDidChangePreferences(self, info)
This will be called when a mojo.events.preferencesChanged
event is posted. Default delay set to 0.00 seconds.
roboFontAppearanceChanged(self, info)
This will be called when a mojo.events.appearanceChanged
event is posted. Default delay set to 0.00 seconds.
Font Document
currentFontDidSetFont(self, info)
Called when the current font is set.
fontDocumentWillOpenNew(self, info)
This will be called when a mojo.events.newFontWillOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentDidOpenNew(self, info)
This will be called when a mojo.events.newFontDidOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentWillOpenBinaryFont(self, info)
This will be called when a mojo.events.binaryFontWillOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
format
source
fontDocumentWillOpen(self, info)
This will be called when a mojo.events.fontWillOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentDidOpen(self, info)
This will be called when a mojo.events.fontDidOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentWillSave(self, info)
This will be called when a mojo.events.fontWillSave
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
path
fontDocumentDidSave(self, info)
This will be called when a mojo.events.fontDidSave
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
path
fontDocumentWillAutoSave(self, info)
This will be called when a mojo.events.fontWillAutoSave
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentDidAutoSave(self, info)
This will be called when a mojo.events.fontDidAutoSave
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentWillGenerate(self, info)
This will be called when a mojo.events.fontWillGenerate
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
testInstall
format
path
layerName
fontDocumentDidGenerate(self, info)
This will be called when a mojo.events.fontDidGenerate
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
format
path
layerName
fontDocumentWillTestInstall(self, info)
This will be called when a mojo.events.fontWillTestInstall
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
success
format
report
fontDocumentDidTestInstall(self, info)
This will be called when a mojo.events.fontDidTestInstall
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
format
fontDocumentWillTestDeinstall(self, info)
This will be called when a mojo.events.fontWillTestDeinstall
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentDidTestDeinstall(self, info)
This will be called when a mojo.events.fontDidTestDeinstall
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentDidChangeExternally(self, info)
This will be called when a mojo.events.fontDidChangeExternally
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentDidBecomeCurrent(self, info)
This will be called when a mojo.events.fontBecameCurrent
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentDidResignCurrent(self, info)
This will be called when a mojo.events.fontResignCurrent
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentWillClose(self, info)
This will be called when a mojo.events.fontWillClose
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentDidClose(self, info)
This will be called when a mojo.events.fontDidClose
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentWindowDidOpen(self, info)
This will be called when a mojo.events.fontWindowDidOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentWindowWillOpen(self, info)
This will be called when a mojo.events.fontWindowWillOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
fontDocumentWantsToolbarItems(self, info)
This will be called when a mojo.events.fontWindowWillShowToolbarItems
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
font
singleWindowMode
itemDescriptions
Font Overview
fontOverviewWillOpen(self, info)
This will be called when a mojo.events.fontOverviewWillOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
fontOverview
font
fontOverviewDidOpen(self, info)
This will be called when a mojo.events.fontOverviewDidOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
fontOverview
font
fontOverviewWillClose(self, info)
This will be called when a mojo.events.fontOverviewWillClose
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
fontOverview
font
fontOverviewDidCopy(self, info)
This will be called when a mojo.events.fontOverviewCopy
event is posted. Default delay set to 0.00 seconds.
fontOverviewDidRedo(self, info)
This will be called when a mojo.events.fontOverViewRedo
event is posted. Default delay set to 0.00 seconds.
fontOverviewDidUndo(self, info)
This will be called when a mojo.events.fontOverViewUndo
event is posted. Default delay set to 0.00 seconds.
fontOverviewDidPaste(self, info)
This will be called when a mojo.events.fontOverviewPaste
event is posted. Default delay set to 0.00 seconds.
fontOverviewWantsContextualMenuItems(self, info)
This will be called when a mojo.events.fontOverviewAdditionContextualMenuItems
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
itemDescriptions
Glyph Editor
currentGlyphDidSetGlyph(self, info)
Called when the current glyph is set.
glyphEditorWillOpen(self, info)
This will be called when a mojo.events.glyphWindowWillOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
glyphEditorDidOpen(self, info)
This will be called when a mojo.events.glyphWindowDidOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
glyphEditorWillClose(self, info)
This will be called when a mojo.events.glyphWindowWillClose
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
glyphEditorWillSetGlyph(self, info)
This will be called when a mojo.events.viewWillChangeGlyph
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
glyphEditorDidSetGlyph(self, info)
This will be called when a mojo.events.viewDidChangeGlyph
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
glyphEditorDidKeyDown(self, info)
This will be called when a mojo.events.keyDown
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidKeyUp(self, info)
This will be called when a mojo.events.keyUp
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidChangeModifiers(self, info)
This will be called when a mojo.events.modifiersChanged
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorWillShowPreview(self, info)
This will be called when a mojo.events.viewWillShowPreview
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
glyphEditorWillHidePreview(self, info)
This will be called when a mojo.events.viewWillHidePreview
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
glyphEditorDidMouseDown(self, info)
This will be called when a mojo.events.mouseDown
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidMouseUp(self, info)
This will be called when a mojo.events.mouseUp
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
offset
glyphEditorDidMouseMove(self, info)
This will be called when a mojo.events.mouseMoved
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
offset
glyphEditorDidMouseDrag(self, info)
This will be called when a mojo.events.mouseDragged
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
offset
delta
glyphEditorDidRightMouseDown(self, info)
This will be called when a mojo.events.rightMouseDown
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidRightMouseDrag(self, info)
This will be called when a mojo.events.rightMouseDragged
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
offset
delta
glyphEditorDidRightMouseUp(self, info)
This will be called when a mojo.events.rightMouseUp
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
offset
glyphEditorDidScale(self, info)
This will be called when a mojo.events.viewDidChangeScale
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
scale
glyphEditorWillScale(self, info)
This will be called when a mojo.events.viewWillChangeScale
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
scale
glyphEditorDidCopy(self, info)
This will be called when a mojo.events.copy
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidCopyAsComponent(self, info)
This will be called when a mojo.events.copyAsComponent
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidCut(self, info)
This will be called when a mojo.events.cut
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidPaste(self, info)
This will be called when a mojo.events.paste
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidPasteSpecial(self, info)
This will be called when a mojo.events.pasteSpecial
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidDelete(self, info)
This will be called when a mojo.events.delete
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidSelectAll(self, info)
This will be called when a mojo.events.selectAll
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidSelectAllAlternate(self, info)
This will be called when a mojo.events.selectAllAlternate
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidSelectAllControl(self, info)
This will be called when a mojo.events.selectAllControl
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidDeselectAll(self, info)
This will be called when a mojo.events.deselectAll
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidAddUndoItem(self, info)
This will be called when a mojo.events.addedUndoItem
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorDidUndo(self, info)
This will be called when a mojo.events.didUndo
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
glyphEditorWantsContextualMenuItems(self, info)
This will be called when a mojo.events.glyphAdditionContextualMenuItems
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
itemDescriptions
glyphEditorWantsPointContexualMenuItems(self, info)
This will be called when a mojo.events.pointAdditionContextualMenuItems
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
itemDescriptions
glyphEditorWantsAnchorContextualMenuItems(self, info)
This will be called when a mojo.events.anchorAdditionContextualMenuItems
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
itemDescriptions
glyphEditorWantsGuidelineContextualMenuItems(self, info)
This will be called when a mojo.events.guideAdditionContextualMenuItems
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
itemDescriptions
glyphEditorWantsImageContextualMenuItems(self, info)
This will be called when a mojo.events.imageAdditionContextualMenuItems
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
locationInGlyph
deviceState
NSEvent
itemDescriptions
glyphEditorWantsToolbarItems(self, info)
Available when registered as a RoboFont subscriber: registerRoboFontSubscriber
.The info
dictionary contains:
itemDescriptions
glyphEditorDidChangeDisplaySettings(self, info)
This will be called when a mojo.events.glyphViewShowItemsDidChange
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
glyph
glyphEditor
displaySettings
Space Center
spaceCenterWillOpen(self, info)
This will be called when a mojo.events.spaceCenterWillOpen
event is posted. Default delay set to 0.00 seconds.
spaceCenterDidOpen(self, info)
This will be called when a mojo.events.spaceCenterDidOpen
event is posted. Default delay set to 0.00 seconds.
spaceCenterWillClose(self, info)
This will be called when a mojo.events.spaceCenterWillClose
event is posted. Default delay set to 0.00 seconds.
spaceCenterDidKeyDown(self, info)
This will be called when a mojo.events.spaceCenterKeyDown
event is posted. Default delay set to 0.00 seconds.
spaceCenterDidKeyUp(self, info)
This will be called when a mojo.events.spaceCenterKeyUp
event is posted. Default delay set to 0.00 seconds.
spaceCenterDidChangeSelection(self, info)
This will be called when a mojo.events.spaceCenterSelectionChanged
event is posted. Default delay set to 0.00 seconds.
spaceCenterDidChangeText(self, info)
This will be called when a mojo.events.spaceCenterInputChanged
event is posted. Default delay set to 0.00 seconds.
spaceCenterWantsContextualMenuItems(self, info)
This will be called when a mojo.events.spaceCenterAdditionContextualMenuItems
event is posted. Default delay set to 0.00 seconds.
scriptingWindowWillOpen(self, info)
This will be called when a mojo.events.scriptingWindowWillOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
window
scriptingWindowDidOpen(self, info)
This will be called when a mojo.events.scriptingWindowDidOpen
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
window
scriptingWindowWillClose(self, info)
This will be called when a mojo.events.scriptingWindowWillClose
event is posted. Default delay set to 0.00 seconds.
The info
dictionary contains:
window
Data Manipulation Callbacks
No Subscriber filter
fontDidChange(self, info)
This will be called when any of Font.Changed
are posted. Default delay set to 0.033 seconds.
fontDidReloadGlyphs(self, info)
This will be called when any of Font.ReloadedGlyphs
are posted. Default delay set to 0.033 seconds.
fontDidChangeGlyphOrder(self, info)
This will be called when any of Font.GlyphOrderChanged
are posted. Default delay set to 0.033 seconds.
fontDidChangeGuidelines(self, info)
This will be called when any of Font.GuidelinesChanged
are posted. Default delay set to 0.033 seconds.
fontInfoDidChange(self, info)
This will be called when any of Info.Changed
are posted. Default delay set to 0.033 seconds.
fontInfoDidChangeValue(self, info)
This will be called when any of Info.ValueChanged
are posted. Default delay set to 0.033 seconds.
fontKerningDidChange(self, info)
The font may be None as it has been closed.
fontKerningDidChangePair(self, info)
The font may be None as it has been closed.
fontKerningDidClear(self, info)
The font may be None as it has been closed.
fontKerningDidUpdate(self, info)
The font may be None as it has been closed.
fontGroupsDidChange(self, info)
The font may be None as it has been closed.
fontGroupsDidChangeGroup(self, info)
The font may be None as it has been closed.
fontGroupsDidClear(self, info)
The font may be None as it has been closed.
fontGroupsDidUpdate(self, info)
The font may be None as it has been closed.
fontFeaturesDidChange(self, info)
The font may be None as it has been closed.
fontFeaturesDidChangeText(self, info)
The font may be None as it has been closed.
fontLayersDidChange(self, info)
This will be called when any of LayerSet.LayersChanged
are posted. Default delay set to 0.033 seconds.
fontLayersDidChangeLayer(self, info)
This will be called when any of LayerSet.LayerChanged
are posted. Default delay set to 0.033 seconds.
fontLayersDidSetDefaultLayer(self, info)
This will be called when any of LayerSet.DefaultLayerChanged
are posted. Default delay set to 0.033 seconds.
fontLayersDidChangeOrder(self, info)
This will be called when any of LayerSet.LayerOrderChanged
are posted. Default delay set to 0.033 seconds.
fontLayersDidAddLayer(self, info)
This will be called when any of LayerSet.LayerAdded
are posted. Default delay set to 0.033 seconds.
fontLayersDidRemoveLayer(self, info)
This will be called when any of LayerSet.LayerDeleted
are posted. Default delay set to 0.033 seconds.
fontLayersDidChangeLayerName(self, info)
This will be called when any of LayerSet.LayerNameChanged
are posted. Default delay set to 0.033 seconds.
layerDidChange(self, info)
This will be called when any of Layer.Changed
are posted. Default delay set to 0.033 seconds.
layerDidChangeGlyphs(self, info)
This will be called when any of Layer.GlyphsChanged
are posted. Default delay set to 0.033 seconds.
layerDidChangeGlyph(self, info)
This will be called when any of Layer.GlyphChanged
are posted. Default delay set to 0.033 seconds.
layerDidAddGlyph(self, info)
This will be called when any of Layer.GlyphAdded
are posted. Default delay set to 0.033 seconds.
layerDidRemoveGlyph(self, info)
This will be called when any of Layer.GlyphDeleted
are posted. Default delay set to 0.033 seconds.
layerDidChangeGlyphName(self, info)
This will be called when any of Layer.GlyphNameChanged
are posted. Default delay set to 0.033 seconds.
layerDidChangeGlyphUnicodes(self, info)
This will be called when any of Layer.GlyphUnicodesChanged
are posted. Default delay set to 0.033 seconds.
layerDidChangeName(self, info)
This will be called when any of Layer.NameChanged
are posted. Default delay set to 0.033 seconds.
layerDidChangeColor(self, info)
This will be called when any of Layer.ColorChanged
are posted. Default delay set to 0.033 seconds.
glyphDidChange(self, info)
This will be called when any of Glyph.Changed
are posted. Default delay set to 0.033 seconds.
glyphDidChangeInfo(self, info)
This will be called when any of Glyph.NameChanged
, Glyph.UnicodesChanged
, Glyph.NoteChanged
, Glyph.MarkColorChanged
are posted. Default delay set to 0.033 seconds.
glyphDidChangeMetrics(self, info)
This will be called when any of Glyph.WidthChanged
, Glyph.HeightChanged
, Glyph.LeftMarginDidChange
, Glyph.RightMarginDidChange
, Glyph.TopMarginDidChange
, Glyph.BottomMarginDidChange
, Glyph.VerticalOriginChanged
are posted. Default delay set to 0.033 seconds.
glyphDidChangeOutline(self, info)
This will be called when any of Glyph.ContoursChanged
, Glyph.ComponentsChanged
are posted. Default delay set to 0.033 seconds.
glyphDidChangeContours(self, info)
This will be called when any of Glyph.ContoursChanged
are posted. Default delay set to 0.033 seconds.
glyphDidChangeComponents(self, info)
This will be called when any of Glyph.ComponentsChanged
are posted. Default delay set to 0.033 seconds.
glyphDidChangeAnchors(self, info)
This will be called when any of Glyph.AnchorsChanged
are posted. Default delay set to 0.033 seconds.
glyphDidChangeGuidelines(self, info)
This will be called when any of Glyph.GuidelinesChanged
are posted. Default delay set to 0.033 seconds.
glyphDidChangeImage(self, info)
This will be called when any of Glyph.ImageChanged
are posted. Default delay set to 0.033 seconds.
glyphDidChangeSelection(self, info)
This will be called when any of Glyph.SelectionChanged
are posted. Default delay set to 0.033 seconds.
glyphDidStartChangeSelection(self, info)
This will be called when any of Glyph.SelectionStarted
are posted. Default delay set to 0.000 seconds.
glyphDidEndChangeSelection(self, info)
This will be called when any of Glyph.SelectionEnded
are posted. Default delay set to 0.000 seconds.
glyphDidChangeMeasurements(self, info)
This will be called when any of Glyph.MeasurementAdded
, Glyph.MeasurementsCleared
, Glyph.MeasurementChanged
are posted. Default delay set to 0.033 seconds.
Glyph Editor
glyphEditorFontDidChange(self, info)
This does the same thing as fontDidChange
but is only called for the glyph in the glyph editor.
glyphEditorFontDidReloadGlyphs(self, info)
This does the same thing as fontDidReloadGlyphs
but is only called for the glyph in the glyph editor.
glyphEditorFontDidChangeGlyphOrder(self, info)
This does the same thing as fontDidChangeGlyphOrder
but is only called for the glyph in the glyph editor.
glyphEditorFontDidChangeGuidelines(self, info)
This does the same thing as fontDidChangeGuidelines
but is only called for the glyph in the glyph editor.
glyphEditorFontInfoDidChange(self, info)
This does the same thing as fontInfoDidChange
but is only called for the glyph in the glyph editor.
glyphEditorFontInfoDidChangeValue(self, info)
This does the same thing as fontInfoDidChangeValue
but is only called for the glyph in the glyph editor.
glyphEditorFontKerningDidChange(self, info)
This does the same thing as fontKerningDidChange
but is only called for the glyph in the glyph editor.
glyphEditorFontKerningDidChangePair(self, info)
This does the same thing as fontKerningDidChangePair
but is only called for the glyph in the glyph editor.
glyphEditorFontKerningDidClear(self, info)
This does the same thing as fontKerningDidClear
but is only called for the glyph in the glyph editor.
glyphEditorFontKerningDidUpdate(self, info)
This does the same thing as fontKerningDidUpdate
but is only called for the glyph in the glyph editor.
glyphEditorFontGroupsDidChange(self, info)
This does the same thing as fontGroupsDidChange
but is only called for the glyph in the glyph editor.
glyphEditorFontGroupsDidChangeGroup(self, info)
This does the same thing as fontGroupsDidChangeGroup
but is only called for the glyph in the glyph editor.
glyphEditorFontGroupsDidClear(self, info)
This does the same thing as fontGroupsDidClear
but is only called for the glyph in the glyph editor.
glyphEditorFontGroupsDidUpdate(self, info)
This does the same thing as fontGroupsDidUpdate
but is only called for the glyph in the glyph editor.
glyphEditorFontFeaturesDidChange(self, info)
This does the same thing as fontFeaturesDidChange
but is only called for the glyph in the glyph editor.
glyphEditorFontFeaturesDidChangeText(self, info)
This does the same thing as fontFeaturesDidChangeText
but is only called for the glyph in the glyph editor.
glyphEditorFontLayersDidChange(self, info)
This does the same thing as fontLayersDidChange
but is only called for the glyph in the glyph editor.
glyphEditorFontLayersDidChangeLayer(self, info)
This does the same thing as fontLayersDidChangeLayer
but is only called for the glyph in the glyph editor.
glyphEditorFontLayersDidSetDefaultLayer(self, info)
This does the same thing as fontLayersDidSetDefaultLayer
but is only called for the glyph in the glyph editor.
glyphEditorFontLayersDidChangeOrder(self, info)
This does the same thing as fontLayersDidChangeOrder
but is only called for the glyph in the glyph editor.
glyphEditorFontLayersDidAddLayer(self, info)
This does the same thing as fontLayersDidAddLayer
but is only called for the glyph in the glyph editor.
glyphEditorFontLayersDidRemoveLayer(self, info)
This does the same thing as fontLayersDidRemoveLayer
but is only called for the glyph in the glyph editor.
glyphEditorFontLayersDidChangeLayerName(self, info)
This does the same thing as fontLayersDidChangeLayerName
but is only called for the glyph in the glyph editor.
glyphEditorLayerDidChange(self, info)
This does the same thing as layerDidChange
but is only called for the glyph in the glyph editor.
glyphEditorLayerDidChangeGlyphs(self, info)
This does the same thing as layerDidChangeGlyphs
but is only called for the glyph in the glyph editor.
glyphEditorLayerDidChangeGlyph(self, info)
This does the same thing as layerDidChangeGlyph
but is only called for the glyph in the glyph editor.
glyphEditorLayerDidAddGlyph(self, info)
This does the same thing as layerDidAddGlyph
but is only called for the glyph in the glyph editor.
glyphEditorLayerDidRemoveGlyph(self, info)
This does the same thing as layerDidRemoveGlyph
but is only called for the glyph in the glyph editor.
glyphEditorLayerDidChangeGlyphName(self, info)
This does the same thing as layerDidChangeGlyphName
but is only called for the glyph in the glyph editor.
glyphEditorLayerDidChangeGlyphUnicodes(self, info)
This does the same thing as layerDidChangeGlyphUnicodes
but is only called for the glyph in the glyph editor.
glyphEditorLayerDidChangeName(self, info)
This does the same thing as layerDidChangeName
but is only called for the glyph in the glyph editor.
glyphEditorLayerDidChangeColor(self, info)
This does the same thing as layerDidChangeColor
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChange(self, info)
This does the same thing as glyphDidChange
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChangeInfo(self, info)
This does the same thing as glyphDidChangeInfo
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChangeMetrics(self, info)
This does the same thing as glyphDidChangeMetrics
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChangeOutline(self, info)
This does the same thing as glyphDidChangeOutline
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChangeContours(self, info)
This does the same thing as glyphDidChangeContours
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChangeComponents(self, info)
This does the same thing as glyphDidChangeComponents
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChangeAnchors(self, info)
This does the same thing as glyphDidChangeAnchors
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChangeGuidelines(self, info)
This does the same thing as glyphDidChangeGuidelines
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChangeImage(self, info)
This does the same thing as glyphDidChangeImage
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChangeSelection(self, info)
This does the same thing as glyphDidChangeSelection
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidStartChangeSelection(self, info)
This does the same thing as glyphDidStartChangeSelection
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidEndChangeSelection(self, info)
This does the same thing as glyphDidEndChangeSelection
but is only called for the glyph in the glyph editor.
glyphEditorGlyphDidChangeMeasurements(self, info)
This does the same thing as glyphDidChangeMeasurements
but is only called for the glyph in the glyph editor.
Current Font
currentFontDidChange(self, info)
This does the same thing as fontDidChange
but is only called for the current font.
currentFontDidReloadGlyphs(self, info)
This does the same thing as fontDidReloadGlyphs
but is only called for the current font.
currentFontDidChangeGlyphOrder(self, info)
This does the same thing as fontDidChangeGlyphOrder
but is only called for the current font.
currentFontDidChangeGuidelines(self, info)
This does the same thing as fontDidChangeGuidelines
but is only called for the current font.
currentFontInfoDidChange(self, info)
This does the same thing as fontInfoDidChange
but is only called for the current font.
currentFontInfoDidChangeValue(self, info)
This does the same thing as fontInfoDidChangeValue
but is only called for the current font.
currentFontKerningDidChange(self, info)
This does the same thing as fontKerningDidChange
but is only called for the current font.
currentFontKerningDidChangePair(self, info)
This does the same thing as fontKerningDidChangePair
but is only called for the current font.
currentFontKerningDidClear(self, info)
This does the same thing as fontKerningDidClear
but is only called for the current font.
currentFontKerningDidUpdate(self, info)
This does the same thing as fontKerningDidUpdate
but is only called for the current font.
currentFontGroupsDidChange(self, info)
This does the same thing as fontGroupsDidChange
but is only called for the current font.
currentFontGroupsDidChangeGroup(self, info)
This does the same thing as fontGroupsDidChangeGroup
but is only called for the current font.
currentFontGroupsDidClear(self, info)
This does the same thing as fontGroupsDidClear
but is only called for the current font.
currentFontGroupsDidUpdate(self, info)
This does the same thing as fontGroupsDidUpdate
but is only called for the current font.
currentFontFeaturesDidChange(self, info)
This does the same thing as fontFeaturesDidChange
but is only called for the current font.
currentFontFeaturesDidChangeText(self, info)
This does the same thing as fontFeaturesDidChangeText
but is only called for the current font.
currentFontLayersDidChange(self, info)
This does the same thing as fontLayersDidChange
but is only called for the current font.
currentFontLayersDidChangeLayer(self, info)
This does the same thing as fontLayersDidChangeLayer
but is only called for the current font.
currentFontLayersDidSetDefaultLayer(self, info)
This does the same thing as fontLayersDidSetDefaultLayer
but is only called for the current font.
currentFontLayersDidChangeOrder(self, info)
This does the same thing as fontLayersDidChangeOrder
but is only called for the current font.
currentFontLayersDidAddLayer(self, info)
This does the same thing as fontLayersDidAddLayer
but is only called for the current font.
currentFontLayersDidRemoveLayer(self, info)
This does the same thing as fontLayersDidRemoveLayer
but is only called for the current font.
currentFontLayersDidChangeLayerName(self, info)
This does the same thing as fontLayersDidChangeLayerName
but is only called for the current font.
currentFontLayerDidChange(self, info)
This does the same thing as layerDidChange
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontLayerDidChangeGlyphs(self, info)
This does the same thing as layerDidChangeGlyphs
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontLayerDidChangeGlyph(self, info)
This does the same thing as layerDidChangeGlyph
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontLayerDidAddGlyph(self, info)
This does the same thing as layerDidAddGlyph
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontLayerDidRemoveGlyph(self, info)
This does the same thing as layerDidRemoveGlyph
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontLayerDidChangeGlyphName(self, info)
This does the same thing as layerDidChangeGlyphName
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontLayerDidChangeGlyphUnicodes(self, info)
This does the same thing as layerDidChangeGlyphUnicodes
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontLayerDidChangeName(self, info)
This does the same thing as layerDidChangeName
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontLayerDidChangeColor(self, info)
This does the same thing as layerDidChangeColor
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChange(self, info)
This does the same thing as glyphDidChange
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChangeInfo(self, info)
This does the same thing as glyphDidChangeInfo
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChangeMetrics(self, info)
This does the same thing as glyphDidChangeMetrics
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChangeOutline(self, info)
This does the same thing as glyphDidChangeOutline
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChangeContours(self, info)
This does the same thing as glyphDidChangeContours
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChangeComponents(self, info)
This does the same thing as glyphDidChangeComponents
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChangeAnchors(self, info)
This does the same thing as glyphDidChangeAnchors
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChangeGuidelines(self, info)
This does the same thing as glyphDidChangeGuidelines
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChangeImage(self, info)
This does the same thing as glyphDidChangeImage
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChangeSelection(self, info)
This does the same thing as glyphDidChangeSelection
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidStartChangeSelection(self, info)
This does the same thing as glyphDidStartChangeSelection
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidEndChangeSelection(self, info)
This does the same thing as glyphDidEndChangeSelection
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
currentFontGlyphDidChangeMeasurements(self, info)
This does the same thing as glyphDidChangeMeasurements
but is only called for the current font. This should be used sparingly as it can result in a high number of calls. Refer to the Subscriber examples for more information on when this should be used.
Current Glyph
currentGlyphFontDidChange(self, info)
This does the same thing as fontDidChange
but is only called for the current glyph.
currentGlyphFontDidReloadGlyphs(self, info)
This does the same thing as fontDidReloadGlyphs
but is only called for the current glyph.
currentGlyphFontDidChangeGlyphOrder(self, info)
This does the same thing as fontDidChangeGlyphOrder
but is only called for the current glyph.
currentGlyphFontDidChangeGuidelines(self, info)
This does the same thing as fontDidChangeGuidelines
but is only called for the current glyph.
currentGlyphFontInfoDidChange(self, info)
This does the same thing as fontInfoDidChange
but is only called for the current glyph.
currentGlyphFontInfoDidChangeValue(self, info)
This does the same thing as fontInfoDidChangeValue
but is only called for the current glyph.
currentGlyphFontKerningDidChange(self, info)
This does the same thing as fontKerningDidChange
but is only called for the current glyph.
currentGlyphFontKerningDidChangePair(self, info)
This does the same thing as fontKerningDidChangePair
but is only called for the current glyph.
currentGlyphFontKerningDidClear(self, info)
This does the same thing as fontKerningDidClear
but is only called for the current glyph.
currentGlyphFontKerningDidUpdate(self, info)
This does the same thing as fontKerningDidUpdate
but is only called for the current glyph.
currentGlyphFontGroupsDidChange(self, info)
This does the same thing as fontGroupsDidChange
but is only called for the current glyph.
currentGlyphFontGroupsDidChangeGroup(self, info)
This does the same thing as fontGroupsDidChangeGroup
but is only called for the current glyph.
currentGlyphFontGroupsDidClear(self, info)
This does the same thing as fontGroupsDidClear
but is only called for the current glyph.
currentGlyphFontGroupsDidUpdate(self, info)
This does the same thing as fontGroupsDidUpdate
but is only called for the current glyph.
currentGlyphFontFeaturesDidChange(self, info)
This does the same thing as fontFeaturesDidChange
but is only called for the current glyph.
currentGlyphFontFeaturesDidChangeText(self, info)
This does the same thing as fontFeaturesDidChangeText
but is only called for the current glyph.
currentGlyphFontLayersDidChange(self, info)
This does the same thing as fontLayersDidChange
but is only called for the current glyph.
currentGlyphFontLayersDidChangeLayer(self, info)
This does the same thing as fontLayersDidChangeLayer
but is only called for the current glyph.
currentGlyphFontLayersDidSetDefaultLayer(self, info)
This does the same thing as fontLayersDidSetDefaultLayer
but is only called for the current glyph.
currentGlyphFontLayersDidChangeOrder(self, info)
This does the same thing as fontLayersDidChangeOrder
but is only called for the current glyph.
currentGlyphFontLayersDidAddLayer(self, info)
This does the same thing as fontLayersDidAddLayer
but is only called for the current glyph.
currentGlyphFontLayersDidRemoveLayer(self, info)
This does the same thing as fontLayersDidRemoveLayer
but is only called for the current glyph.
currentGlyphFontLayersDidChangeLayerName(self, info)
This does the same thing as fontLayersDidChangeLayerName
but is only called for the current glyph.
currentGlyphLayerDidChange(self, info)
This does the same thing as layerDidChange
but is only called for the current glyph.
currentGlyphLayerDidChangeGlyphs(self, info)
This does the same thing as layerDidChangeGlyphs
but is only called for the current glyph.
currentGlyphLayerDidChangeGlyph(self, info)
This does the same thing as layerDidChangeGlyph
but is only called for the current glyph.
currentGlyphLayerDidAddGlyph(self, info)
This does the same thing as layerDidAddGlyph
but is only called for the current glyph.
currentGlyphLayerDidRemoveGlyph(self, info)
This does the same thing as layerDidRemoveGlyph
but is only called for the current glyph.
currentGlyphLayerDidChangeGlyphName(self, info)
This does the same thing as layerDidChangeGlyphName
but is only called for the current glyph.
currentGlyphLayerDidChangeGlyphUnicodes(self, info)
This does the same thing as layerDidChangeGlyphUnicodes
but is only called for the current glyph.
currentGlyphLayerDidChangeName(self, info)
This does the same thing as layerDidChangeName
but is only called for the current glyph.
currentGlyphLayerDidChangeColor(self, info)
This does the same thing as layerDidChangeColor
but is only called for the current glyph.
currentGlyphDidChange(self, info)
This does the same thing as glyphDidChange
but is only called for the current glyph.
currentGlyphDidChangeInfo(self, info)
This does the same thing as glyphDidChangeInfo
but is only called for the current glyph.
currentGlyphDidChangeMetrics(self, info)
This does the same thing as glyphDidChangeMetrics
but is only called for the current glyph.
currentGlyphDidChangeOutline(self, info)
This does the same thing as glyphDidChangeOutline
but is only called for the current glyph.
currentGlyphDidChangeContours(self, info)
This does the same thing as glyphDidChangeContours
but is only called for the current glyph.
currentGlyphDidChangeComponents(self, info)
This does the same thing as glyphDidChangeComponents
but is only called for the current glyph.
currentGlyphDidChangeAnchors(self, info)
This does the same thing as glyphDidChangeAnchors
but is only called for the current glyph.
currentGlyphDidChangeGuidelines(self, info)
This does the same thing as glyphDidChangeGuidelines
but is only called for the current glyph.
currentGlyphDidChangeImage(self, info)
This does the same thing as glyphDidChangeImage
but is only called for the current glyph.
currentGlyphDidChangeSelection(self, info)
This does the same thing as glyphDidChangeSelection
but is only called for the current glyph.
currentGlyphDidStartChangeSelection(self, info)
This does the same thing as glyphDidStartChangeSelection
but is only called for the current glyph.
currentGlyphDidEndChangeSelection(self, info)
This does the same thing as glyphDidEndChangeSelection
but is only called for the current glyph.
currentGlyphDidChangeMeasurements(self, info)
This does the same thing as glyphDidChangeMeasurements
but is only called for the current glyph.
Adjunct Objects
adjunctFontDidChange(self, info)
This does the same thing as fontDidChange
but is only called for adjunct objects.
adjunctFontDidReloadGlyphs(self, info)
This does the same thing as fontDidReloadGlyphs
but is only called for adjunct objects.
adjunctFontDidChangeGlyphOrder(self, info)
This does the same thing as fontDidChangeGlyphOrder
but is only called for adjunct objects.
adjunctFontDidChangeGuidelines(self, info)
This does the same thing as fontDidChangeGuidelines
but is only called for adjunct objects.
adjunctFontInfoDidChange(self, info)
This does the same thing as fontInfoDidChange
but is only called for adjunct objects.
adjunctFontInfoDidChangeValue(self, info)
This does the same thing as fontInfoDidChangeValue
but is only called for adjunct objects.
adjunctFontKerningDidChange(self, info)
This does the same thing as fontKerningDidChange
but is only called for adjunct objects.
adjunctFontKerningDidChangePair(self, info)
This does the same thing as fontKerningDidChangePair
but is only called for adjunct objects.
adjunctFontKerningDidClear(self, info)
This does the same thing as fontKerningDidClear
but is only called for adjunct objects.
adjunctFontKerningDidUpdate(self, info)
This does the same thing as fontKerningDidUpdate
but is only called for adjunct objects.
adjunctFontGroupsDidChange(self, info)
This does the same thing as fontGroupsDidChange
but is only called for adjunct objects.
adjunctFontGroupsDidChangeGroup(self, info)
This does the same thing as fontGroupsDidChangeGroup
but is only called for adjunct objects.
adjunctFontGroupsDidClear(self, info)
This does the same thing as fontGroupsDidClear
but is only called for adjunct objects.
adjunctFontGroupsDidUpdate(self, info)
This does the same thing as fontGroupsDidUpdate
but is only called for adjunct objects.
adjunctFontFeaturesDidChange(self, info)
This does the same thing as fontFeaturesDidChange
but is only called for adjunct objects.
adjunctFontFeaturesDidChangeText(self, info)
This does the same thing as fontFeaturesDidChangeText
but is only called for adjunct objects.
adjunctFontLayersDidChange(self, info)
This does the same thing as fontLayersDidChange
but is only called for adjunct objects.
adjunctFontLayersDidChangeLayer(self, info)
This does the same thing as fontLayersDidChangeLayer
but is only called for adjunct objects.
adjunctFontLayersDidSetDefaultLayer(self, info)
This does the same thing as fontLayersDidSetDefaultLayer
but is only called for adjunct objects.
adjunctFontLayersDidChangeOrder(self, info)
This does the same thing as fontLayersDidChangeOrder
but is only called for adjunct objects.
adjunctFontLayersDidAddLayer(self, info)
This does the same thing as fontLayersDidAddLayer
but is only called for adjunct objects.
adjunctFontLayersDidRemoveLayer(self, info)
This does the same thing as fontLayersDidRemoveLayer
but is only called for adjunct objects.
adjunctFontLayersDidChangeLayerName(self, info)
This does the same thing as fontLayersDidChangeLayerName
but is only called for adjunct objects.
adjunctLayerDidChange(self, info)
This does the same thing as layerDidChange
but is only called for adjunct objects.
adjunctLayerDidChangeGlyphs(self, info)
This does the same thing as layerDidChangeGlyphs
but is only called for adjunct objects.
adjunctLayerDidChangeGlyph(self, info)
This does the same thing as layerDidChangeGlyph
but is only called for adjunct objects.
adjunctLayerDidAddGlyph(self, info)
This does the same thing as layerDidAddGlyph
but is only called for adjunct objects.
adjunctLayerDidRemoveGlyph(self, info)
This does the same thing as layerDidRemoveGlyph
but is only called for adjunct objects.
adjunctLayerDidChangeGlyphName(self, info)
This does the same thing as layerDidChangeGlyphName
but is only called for adjunct objects.
adjunctLayerDidChangeGlyphUnicodes(self, info)
This does the same thing as layerDidChangeGlyphUnicodes
but is only called for adjunct objects.
adjunctLayerDidChangeName(self, info)
This does the same thing as layerDidChangeName
but is only called for adjunct objects.
adjunctLayerDidChangeColor(self, info)
This does the same thing as layerDidChangeColor
but is only called for adjunct objects.
adjunctGlyphDidChange(self, info)
This does the same thing as glyphDidChange
but is only called for adjunct objects.
adjunctGlyphDidChangeInfo(self, info)
This does the same thing as glyphDidChangeInfo
but is only called for adjunct objects.
adjunctGlyphDidChangeMetrics(self, info)
This does the same thing as glyphDidChangeMetrics
but is only called for adjunct objects.
adjunctGlyphDidChangeOutline(self, info)
This does the same thing as glyphDidChangeOutline
but is only called for adjunct objects.
adjunctGlyphDidChangeContours(self, info)
This does the same thing as glyphDidChangeContours
but is only called for adjunct objects.
adjunctGlyphDidChangeComponents(self, info)
This does the same thing as glyphDidChangeComponents
but is only called for adjunct objects.
adjunctGlyphDidChangeAnchors(self, info)
This does the same thing as glyphDidChangeAnchors
but is only called for adjunct objects.
adjunctGlyphDidChangeGuidelines(self, info)
This does the same thing as glyphDidChangeGuidelines
but is only called for adjunct objects.
adjunctGlyphDidChangeImage(self, info)
This does the same thing as glyphDidChangeImage
but is only called for adjunct objects.
adjunctGlyphDidChangeSelection(self, info)
This does the same thing as glyphDidChangeSelection
but is only called for adjunct objects.
adjunctGlyphDidStartChangeSelection(self, info)
This does the same thing as glyphDidStartChangeSelection
but is only called for adjunct objects.
adjunctGlyphDidEndChangeSelection(self, info)
This does the same thing as glyphDidEndChangeSelection
but is only called for adjunct objects.
adjunctGlyphDidChangeMeasurements(self, info)
This does the same thing as glyphDidChangeMeasurements
but is only called for adjunct objects.
addDefconSubscription(subscriberEventName, dispatcher, methodName, eventEligibilityFunction, eventInfoExtractionFunction, lowLevelEventNames, observeAllInstances, delay=0.03333333333333333)
addRoboFontSubscription(subscriberEventName, methodName, lowLevelEventNames, eventEligibilityFunction, eventInfoExtractionFunction, delay=0, beginSubscription=False)
build()
Subclasses implement this method to do any construction necessary before the subscriptions are started.
getIdentifierPattern()
Get a fnmatch compatible identifier pattern that can be used to kill any existing instances of this class during debugging.
class WindowController()
showAsk(messageText, informativeText, buttonTitles, callback=None, alertStyle='informational', icon=None, accessoryView=None, helpCallback=None)
showAskYesNo(messageText, informativeText, callback=None, alertStyle='informational', icon=None, accessoryView=None, helpCallback=None)
showGetFile(fileTypes, callback, allowsMultipleSelection=False, messageText=None, title=None, directory=None, fileName=None, accessoryView=None)
showGetFolder(callback, messageText=None, title=None, directory=None, allowsMultipleSelection=False, accessoryView=None)
showMessage(messageText, informativeText, callback=None, alertStyle='informational', icon=None, accessoryView=None, helpCallback=None)
class disableSubscriberEvents()
Prevent subscriber to send any notification, usage ‘with disableSubscriberEvents():’.
from mojo.subscriber import Subscriber, registerGlyphEditorSubscriber, disableSubscriberEvents
class RecursionStopper(Subscriber):
debug = True
def glyphEditorGlyphDidChange(self, info):
print("glyphEditorGlyphDidChange")
glyph = info["glyph"]
with disableSubscriberEvents():
if glyph.width < 1000:
glyph.width += 1
registerGlyphEditorSubscriber(RecursionStopper)