The Zoomify Image Viewer supports several editing approaches
which are defined as modes. Note that none of the following information
is necessary to set up or use the Viewer for annotation editing.
This information is provided for developers customizing or integrating
the Viewer who may benefit from testing or setting the state of
the Viewer.
OVERVIEW
Full Edit mode presents an annotation editing panel with Point
Of Interest, Note, and Label fields. Each section is optional.
The Label section includes numerous fields.
Markup mode presents a simpler editing panel with access to fewer
annotation features: POIs and Notes are not displayed, and only
the Name, Caption, and Comment (optional) fields are presented
for Labels.
In addition, both of the above editing modes present label editing
options, or label modes. These label modes include View, Text,
Icon, Rectangle, Polygon, and Measure.
Finally, editing can involve one of two methods: adding new items
or editing existing items. And the items can be any part of an
annotation, a POI or label or note.
The choice of edit mode, label mode, and editing method are managed
using three key variables: Z.editMode, Z.labelMode, and Z.editing.
ADDITIONAL DETAILS
Z.editMode
Supported values: 'markup' if in markup mode, 'edit' if in full
annotation mode, otherwise null.
Purpose: determines whether to display the markup panel or annotation
panel or nothing. Also provides the broadest constraint on possible
reactions to mouse events in viewport.
Set using HTML parameters: zMarkupMode=1 or zEditMode=1.
Additional notes: the parameter zAnnotationPath or zSlidestackPath
is also required or using either of the above parameters will
cause an error (the Viewer cannot be placed in any edit mode without
the data file to be edited being identified).
Z.labelMode
Supported values: 'view', 'freehand', 'text', 'icon', 'rectangle',
'polygon', 'measure'.
Purpose: determines in detail how viewport mouse event manager
will react to mouse events.
Function call example: Z.Viewport.setEditModeLabel('view');
Additional notes: in view mode click-drag panning and click-zoom
are possible. In other label modes a click creates a new label
or a control point for current label and mouse panning and zooming
is blocked. Also blocked: click-url effect, if any, for labels
(results in alert instead about being disabled while editing).
Enabled: alt-click-drag of labels to reposition.
Z.editing
Supported values: null, 'addPOI', 'editPOI', 'addLabel', 'editLabel',
'addNote', 'editNote'.
Purpose: most useful in full edit mode when it tracks which
part of the annotation panel is being used for editing and whether
new content is being created or existing content is being modified.
Determines broadly how mouse events manager will react to mouse
events.
Parameters/functions: automatically set when add or edit button
is pressed in the annotation panel.
MISCELLANEOUS
1. The function toggleEditMode switches the state into and out
of the current edit mode, either into and out of 'edit' and null
or into and out of 'markup' and null.
2. Annotation panel button event handlers call functions for
labels as follows. Knowing this will make tracing code flow easier:
tbViewport.addNewLabel();
tbViewport.editCurrentLabel();
tbViewport.deleteCurrentLabel();
tbViewport.cancelEditsLabel();
tbViewport.saveEditsLabel();
3. Labels include two key values:
mediaType
Supported values: 'freehand', 'text', 'icon', 'rectangle', 'polygon',
'measure'. Legacy values 'url' and 'symbol' converted on import
of annotations or hotspots XML.
media
Supported values: URL path for mediaType icon, 'polygon' if mediaType
is freehand/rectangle/polygon/measure, or empty string if mediaType
is text.
|