Introduction



For many purposes in computer scienses we need simple diagrams ( containing boxes,circles,arrows e.t perhaps with text ) explaining or just clarifying the document we are working with.

For creation such documents ( in Unix environment ) we have a specially designed tool - Pic language which support mentioned diagrams and allows to build very complicated things. However working with it we are forced to batch drawing . It has its own advantages and disadvantages. Of course , there are a few programs that present WYSIWYG ( What You See Is What You Get ) approach. and even compatible to Pic compiler ( xfig WD-pic ) but they don't so flexible in drawing as Pic language allows to, and have a place to be improved.

Our purpose is to design a tool which would be able present more features , be more flexible, and in addition to that reliable and simle in use.



General



Our goals during the design of this program are:
  1. Preserve that internal representation looks like human-written PIC description
  2. Avoid dialog boxes and conformition clicks as much as possible
  3. Once have selected ,element attributes appear once have selected attribute , typical arguments appear.
  4. Both attributes and arguments are changable
  5. More indicative names for buttons

As been said in WD-pic specification it allows to create simple schemes on the fly ,but any unusuall element requires too complex actions and it may be done in text editor with less efforts. It's clear ,that to perform simple and powerful interface is a very difficult stuff.Anyway we try to perform more direct mouse actions ,mouse menu which will allow to edit current element ,more features for editing element and group of elements. Besides of it,we can do a special text window ,and user would be able to make the same operation as in text editor ,but see the updated picture.Mix of direct manipulation and textual changes would allow to create things using all Pic language power.



Draft use cases (scenarios) list.

General window :
we try to preserve main window in general ( it looks like coomon use editor window ) and every user is regular to work with such kind of editors. The main window contains the next popup menues:

Now we are going to present use cases which have to be considered of in the system design.

For each one of menues there are set of items and for every item we define a subuse case.

File popup menu
The File popup menu contains the next items:
Edit popup menu
The Edit popup menu contains the next items:
View popup menu
The View popup menu contains the next items:
Options popup menu
The Options popup menu contains the next items:
Help popup menu
The Help popup menu contains the next items:
Right mouse button menu
The Right mouse button menu contains the next items: (all changes are valid for current object only)

We may mark (one click) with the left mouse button an obeject and do it current.


Pic tokens , drawing directions and element parameters remain without change.

We only add two new buttons: (dialog windows appear for each one)

FromTo
  1. set line,arc or arrow from marked object to marked object
  2. from marked object to definite point or contrary
  3. from definite point to definite point
At
(definite place of marked object or definite point )

Besides of it we add some Ratio Buttons :

Defaults On/Off
(When defaults are off then drawing every new object cause a dialog window to appear for setting paramaters; for every unseted value a default parameter will be used).
Text On/Off

Assumption: In every dilog window TAB pressing is equivalent to the next parameter passing And ENTER is equvalent to OK button.


Text window use case
(it will be used also as log:all messages like file saved etc. will appear there)
User may insert text line by line .After every semicolon (or space) the last pic expression will be interpreted and performed in case of no errors.
If back space leads to the incorrect pic phrase the last element or parameter will be deleted(picture update).
Text window will be no more than 3-4 lines.
Only current line availible for editing.

History of editing lines availible by arrow keys.


Edit toolbar use case:
below the popup menues we place edit toolbar with pictured buttons selected by groups. This toolbar will be optional and may be hidden.

subuse cases :

group1:edit
group2: undo
group3:styles
group4: fonts
group5:

Assumption:all edit use cases and pic tokens will have accelerators spesiall Buttons which perform same action and for expirienced user may save more time working with program.


Appendix:

- Tips will be perfomed for all button in small non-editable popup window.
- Edit select option allows to work with group of elements.
- Once have selected element - attributes appear;
- Once have selected attribute - typical arguments appear.
- General help for every function and feature .
- Always we have the current element which can be changed by left mouse button as said.
- Current element signed by dotted figure of other color .
- We have only insert mode of action (append mean insert after last)


Conclusion:

We hope some usefull features of proposed interface may improve and fasten
work with such an editor.Anyway we are working in order to add some things.
Proposed editor add-on's would allow many direct manipulations to perform
Pic capabilities in real update mode.