Appendix 3: Annotation Editing

Addtional Notes Regarding Annotation Editing Modes

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.

 

 

Copyright © 1999-2015 Zoomify, Inc.
All Rights Reserved