-
Notifications
You must be signed in to change notification settings - Fork 1
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.
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.
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 | ![]() |
![]() |
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.
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 |