|   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. 
              
                
                 |