tag | attribute | characteristic | style | ||
new html-keywords | line | aling | point | default | |
values of new html-keywords | side | romb | |||
old html-keywords | td | id | list | ||
values of old html-keywords | circle | ||||
communication xml | sound | sync | power | ||
values of communication xml | nouser | ||||
keyboard and mouser command | enter |
Changes in document are finite automaton. It's more comfortable to set finite automaton as some matrix, instead of writing functions JavaScript, executing these change on screen. Let's consider how write finite automaton for change stile of objects depending of pressing of keyboard's keys and buttons of mouse by user.
Let, for example, there is a forum (let items are list elements <li></li>).
We do bookmarks and marks in a books, but how to make marks in forum? If you analyse phrases and sort them into 5 levels (important, for think, usual, foolish, harmfully), then it would be convenient, that "important" are red, "for think" are orange, "usual" are green, "foolish" are black, "harmfully" are grey (silver).
How to make such changes in a browser window and send to server? If you locate a set of radio-buttons near each phrase, it's not pleasant for a user.
I offer to click on phrases directly: click increase phrase state by one level, double click reduce phrase state by one level.
Let's define styles in a CSS-file for our phrases. These styles can have different colours, font sizes, etc.
Single click by left mouse key call command enter, double click by left mouse key call command bksp. Transition sheet look so (also you can see comments here)
If different tags use the same styles, then they will execute the same transformations.
Table string consists of the following fields (columns)
Fields are separated from each other by blank (space). Each field can consist of several words, listed through a comma. Words of one field follow in any order.
Listing of several states through a comma is possible.
Any state is designated by sign "comma".
Style, which is used by browser by default
(when tag class
is absent) for
not inserted object, is named as default.
For example, transition from default-state looks so
Blank field "new state" changes previous style into style default.
Listing of several commands through a comma is possible.
Let's write down all transition tables in a separate file,
for example, "a.txt", and add following tag inside tag
head
Let one tag () is inside another tag (), transition for object "" is specified in Transition Sheet, and user has call command (for example, click or double click) on enclosed object (). If transition for object "A"
Colours (and only colours) can move smoothly.
When it's necessary, that colour changed not by jump, but smoothly, during some interval of time, additional characteristic time is used, which defines how many seconds should be this change.
Tags <li> may be inside tag form
,
and their attributes name
must be specified
(in example below - into value A).
Click or double-click creates following XML-text
(further we shall name such xml-tags as actions).
<obj name=A cmd=cmd_name os=old_class_name ns=new_class_name> |
Form is sent immediately, without pressing button "submit" in one of two cases
input
type
=submit>
is absent in a formResults of all operations, executed by mouse from a moment of last sending, are sent at once in all case.
For such purpose, that user know object state before sending a form by pressing button "submit", new objects states are displayed by a new style.
If style for a new state is not found in a css-file, than sense of click is other: it's a choice of some operation "operation_name". XML-text is sent immediately
<obj name=A cmd=cmd_name os=old_class_name ns=operation_name> |
Any command (or combination of commands) is written in field "command" in Transition Sheet. If there are several commands (or combination), then they are listed in this field through a comma.
If a command is called on a not inserted object, then it's executed only by one this object. If a command is called on one of an inserted objects, then it's executed by all inserted objects (final style of each object depends of its initial style).
If style is not specified for final state in a css-file, then final state is interpreted as name of operation, and browser immediately send all actions, which have collected to this moment.
Keyboard's cursor is cancelled - exists only mouse cursor.
Commands is diveded into reserved by a browser and invented by a user (for example he can invent commands cool, fine). Reserved command can be called both directly by keyboard or mouse, and from a menu, user commands can be called only from a menu.
Combination of reserved commands is possible to use.
mouse's | keyboard's | |
left key | right key | |
enter, bksp, drag, drop, ins | enter, bksp, any letter |
form
).
Command has predetermined results -
inserting an object.Keyboard commands are simultaneous pressing of one or several following keys:
All combinations with function keys ctrl and alt (which are not a commands) are intended not for programmer of a document, but for management of a browser. Such division allows to create html-documents, which will able to work in future versions of a browser.
Command enter, called for some objects, make the predetermined results.
input
type =submit> | send form |
a | go into link |
If user call bksp during loading a document, then loading will stop, and if during executing a module - executing a module will stop.
Keys space (which is not a command) make drag-and-drop of object under mouse cursor and sends two commands: first pressing - drag (then movement of cursor by keys-arrows), second pressing - drop, commands "drag" and "drop" is called for an appropriate objects after second pressing.
Command h is usually used for call help for object under mouse cursor (h=help)
We use constructions
<select
><optgroup
><option
>,
<input
type
=radio>,
<input
type
=checkbox>.
We specify menu name in attribute
id
of tag <select
>;
and name of command, which should be applied to object, in attribute
value
.
Attribute src
of tag option
with value "site/~user/^service/path/filename"
specifies an image, which should be used as a marker of elements of falling list.
Influence of css-files are distributed on a menu.
Object refers in attribute menu to its own menu, i.e.
We write down all menu in a separate file,
for example, "a.txt", and add following tag inside tag
head
When cursor between widgets, then key ctrl call popup menu (menu for object under mouse cursor). When cursor inside widgets, then this key call menu for widget.
enter, bksp |
tag | attribute | list of possible values |
link |
type |
transition, menu |
any | menu | id of input-select |
<input
type =select> |
src |
site/~user/^service/path/filename |
tag | characteristic | default value | units of measurement |
any | time | 0 | sec |
tag | style |
any | default |
<obj name= cmd= os= ns= > |
html60author