What is z-editor
What is z-editor
Z-editor is an interface (using Java and XML encoding) allowing the construction and exploration of z-texts. To each level of representation corresponds an .xml file. The transformations text-xml and xml-text, implied by the process of reading and writing, are transparent to the user. The application window contains a menu bar, three toolbars, a level bar and a scrolable content area (Fig. 3).
1. Menu bar
The menu bar has five menus with options such as:
Explore: open or close a xml level file (Open, Close); Zoom-in or Zoom-out a z-lexia (paragraph/fragment); Read a z-text; quit the application (Exit).
Build: create a new z-text, starting by default with a Level1.xml file (New); save the Level1.xml file in a "book folder" of the library, the name of the book folder should be specified by the user (Save, Save as); Expand a z-lexia; Edit a z-text to change the content; use different format options for font (bold, italic, colour, etc.), paragraph alignment and indentation, and style (four levels of heading) (Format); Insert images, notes or special components (e.g. page break, line break).
Customise: select the interface language (English or French) (Language); visualise various types of information related to the encoding of the text (metadata, bibliographic citations, z-lexia defining elements) (View).
Window: manage multiple open windows.
Help: provide help information.
The Mode toolbar contains six buttons. Pressing the Zoom-in or Zoom-out button will change the cursor in a zooming-in or zooming-out magnifying glass (, ), and set the Current Mode indicator to the corresponding mode (Fig. 3). Pressing the Expand button will change the current cursor to an expand cursor () and the current mode, and if the action is allowed, the clicked fragment can be edited in a supplementary, expand window (Fig. 6).
There are six modes displayed by the Current Mode indicator on the Navigation toolbar: read, zoom-in, zoom-out, expand, edit, and save, depending on the selected option from the Mode toolbar. By default, when a level file is open the current mode is read, if a new file is created the current mode is edit, i.e. the usual ways of reading and editing a text in a text editor.
The View toolbar allows for hiding/showing various elements from the xml encoding, such as notes, bibliographic citations or z-lexia components.^
3. Content area
The scrollable content area enables the user to edit or explore the z-text and relies on a transparent xml representation. Every z-lexia has an identifier keeping track of its position inside a hierachy. For example, first level z-lexias may be identified by 1, 2, 3, their descendents by 1.1, 1.2, 2.1, 1.1.1, etc.
In the zoom-in, zoom-out and expand modes, the content area becomes sensitive to the mouse motion. Placing the cursor on a z-lexia (without clicking it) will display in the Level No field the corresponding level number versus the depth (total number of levels) of the z-text, and the z-lexia identifier in the Z-lexia ID field of the Navigation toolbar (Fig. 3). The Level bar indicates the level and length of every z-lexia. The groups of siblings (same level children having a common parent on the previous level) are separated by a thin red line from other sibling groups. The background color of the Level No, Z-lexia ID fields and of the Level bar segments can be white (if the current operation is allowed for a given z-lexia) or gray if the operation is not allowed. In this case the cursor takes the shape of a denied access symbol ().^
After opening an xml level file, the default current mode is read and the Level bar indicates, by the colour of the segments (white or gray), which of the fragments of the displayed level have children on the next level and which have not. A zoom-in operation is allowed only if the pointed z-lexia has children on the next level.
Figure 3 shows the configuration of the first level before a zoom-in operation. The level contains a title and a paragraph (with Z-lexia ID, zl_1). After a zoom-in on the paragraph, its next level children are displayed and, as figure 4 indicates, a further zooming-in is not allowed on its child z-lexia, zl_1.1 from level 2. A zoom-in is, however, allowed on the following child z-lexia, in this case, an image.
A zoom-out action is permitted only if the pointed fragment has a parent on the previous level. A zoom-out operation can also be denied if the descendants from a common ancestor displayed at a certain moment have different levels of depth (Fig. 5).
The figure shows that a zoom-out is allowed on zl_184.108.40.206 z-lexia but not on the previous one. The reason is that even if the two fragments have a common ancestor (zl_1) they don't have the same level of depth (one belongs to level 3, the other to level 2, as indicated by the Level bar and the Level No field). A zoom-out on the first fragment could be although possible after the one placed on the deeper level has been zoomed-out. Therefore, the idea is to support gradual zooming-in and out, in order to keep the consistency of the reading experience and to avoid disorientation by skipping levels within a certain type of action.^
In the expand mode a supplementary editing window, displaying the clicked z-lexia, allows the user to modify and expand it, and to save the enriched version as a next level text (Fig. 6).
By default, an expand action is allowed only if the pointed z-lexia has no children on the subsequent level. However, it is possible to expand a z-lexia that has children on the next level only by changing the magnifying glass (using the SaveAs option), which corresponds to a change of perspective (see Multidimensional textual space.^
The edit mode allows the user to edit a z-text and to save it (Save, SaveAs options), starting by default with a Level1.xml file. The editor places all the "books" under the folder Library, also searched for the already stored z-texts, in the read mode. In order to save a new z-text, the user should provide a name for the new "book" which becomes a subfolder added to the Library (Fig. 7). An error message is displayed, if a subfolder with the specified name already exists or the file to be saved is empty.