Skip to content

Proxima 2.0 User Manual

Martijn Schrage edited this page Mar 1, 2017 · 4 revisions

Proxima 2.0 user manual

Before using the editor, note that scrolling only works with the scroll bars and not with a scroll wheel. This is because of a JavaScript problem with distinguishing system-generated scroll events from user-generated scroll events.

Proxima supports editing on the presentation level (textual) as well as on the document level (structural). An example of a structural edit operation is to remove 2*3 from the string (1+2*3), since the first expression is a sub expression of the latter one. On the other hand, the removal of "+2*" from =(1+2*3) is a presentation-oriented edit operation, since this string is not represented by any valid subexpression.

Currently, Proxima supports two different selection methods for these two forms of editing: the document focus, which denotes a proper subtree of the document, and the presentation focus, which is a position or selection in the presentation of the document. The presentation focus will be denoted by the more familiar terms cursor and selection in the remainder of this manual.

Textual parts of the presentation can be edited similar to ordinary text editors. The cursor can be moved with the arrow keys, and pressing shift together with the arrow keys extends the selection. Ctrl-f and Ctrl-g can be used for searching and finding the next occurrence, and Ctrl-z and Ctrl-y for undo and redo. Below is a complete list keyboard bindings.

After editing the presentation, it needs to be parsed by pressing F1. A future version of Proxima will automatically parse the document on cursor movement, as well as after a certain period of inactivity.

Graph editing

A node or edge can be selected by clicking on it, except in textual parts of a node, such as a label, in which case clicking sets the cursor position in the text. A selected node or edge may be deleted by pressing the delete key or using the context menu. New nodes can be created by shift clicking on the background area of the graph. A shift click on a node creates an edge between the currently selected node and the clicked node. Nodes can be moved around by drag and drop.

Edit sessions

A Proxima 2.0 editor may have several users at the same time. Because Proxima does not support multi-user editing yet, the session handler only allows one user at a time to edit the document, while providing other users with a view-only presentation that is updated automatically to reveal changes.

For the first user to access the editor, a primary editing session is created, in which the document is editable. For each user that accesses the editor when a primary session already exists, a secondary editing session is created, which does not allow editing. Each secondary editing session is updated every 5 seconds to reflect changes made by the primary editing user.

If the primary session is idle for 60 seconds, it expires and turns into an inactive editing session. The oldest secondary editing session will then become the primary editing session. If there are no secondary sessions, an inactive editing session turns into a primary editing session again when the user resumes editing. Otherwise it becomes a secondary editing session.

A status light shows the current session type and whether the view is up to date or waiting for a server response. The table below shows the meaning of the different colors of the status light.

Up to date Waiting for update
Primary editing session (editable)
Secondary editing session (only viewable)
Inactive editing session

Uploading and downloading the document

The two buttons at the bottom of the editor can be used for uploading and downloading documents to and from the server. When the download button is pressed, an XML representation of the document tree is sent to the browser. Depending on the type of browser, the received file is stored in a download folder, or the user is prompted to specify the destination folder. Pressing the upload button creates a dialog in which an XML file can be selected. After selection, the upload button in the document must be pressed to upload the file to the server. Note that most browsers do not allow textual editing of the selected file path.

Keyboard bindings

Following is a list of key bindings that work in all Proxima 2.0 editors.

Key Edit operation
F1 Parse the presentation
F5 Refresh the rendering
Ctrl-f Find
Ctrl-g Find next occurrence
Up Move cursor up
Down Move cursor
Left Move cursor
Right Move cursor
Shift-Up Extend presentation selection up
Shift-Down Extend presentation selection down
Shift-Left Extend presentation selection left
Shift-Right Extend presentation selection right
Ctrl-Up Move document focus to parent
Ctrl-Down Move document focus to first child
Ctrl-Left Move document focus to previous sibling
Ctrl-Right Move document focus to next sibling
Ctrl-x Cut
Ctrl-c Copy
Ctrl-v Paste
Ctrl-X Document-oriented cut
Ctrl-C Document-oriented copy
Ctrl-V Document-oriented paste
Ctrl-z Undo
Ctrl-y Redo

The keys below only work when the editor supports parsing styled text (in the example suite only the styled-text editor).

Key Edit operation
Ctrl-b Add bold tags around selection
Ctrl-B Remove bold tags around selection
Ctrl-i Add italic tags around selection
Ctrl-I Remove italic tags around selection
Ctrl-0 Add black color tags around selection
Ctrl-1 Add red color tags around selection
Ctrl-2 Add blue color tags around selection
Clone this wiki locally