AUIML: Difference between revisions
Jump to navigation
Jump to search
(saving work) |
No edit summary |
||
Line 12: | Line 12: | ||
***** {{xml/tag|widget {{xml/attr/val|type|...}} {{xml/attr/val|event|...}}}}: display widget | ***** {{xml/tag|widget {{xml/attr/val|type|...}} {{xml/attr/val|event|...}}}}: display widget | ||
****** {{xml/attr/val|type|...}} values: | ****** {{xml/attr/val|type|...}} values: | ||
******* {{xml/attr/val|type|text}}: displays text; can react to clicks or selections | |||
******* {{xml/attr/val|type|image}}: displays an image; can react to clicks, drags | |||
****** {{xml/attr/val|event|...}} values: | ****** {{xml/attr/val|event|...}} values: | ||
******* click events (sends both click and unclick events): | |||
******** {{xml/attr/val|event|click.l}} - left-click | |||
******** {{xml/attr/val|event|click.r}} - right-click | |||
******** {{xml/attr/val|event|click.m}} - middle-click | |||
******* {{xml/attr/val|event|drag}} - drag with whatever button was clicked | |||
******* {{xml/attr/val|event|drop}} - something was dropped onto the widget (there's data) | |||
******* keyboard events: | |||
******** {{xml/attr/val|event|key.press}} - any key (not necessarily a character) pressed (also sends release) | |||
******** {{xml/attr/val|event|key.change}} - a keypress caused a change in the text contents | |||
Notes: | Notes: |
Revision as of 16:02, 26 September 2020
Application User Interface Markup Language, or AUIML, is a replacement for HTML+CSS+JavaScript that is designed from the ground up to support a user experience equivalent to that of desktop GUI or specialized mobile "apps", while also supporting HTML's built-in ability to display rich text and media and preserving the URL concept for addressing content.
Concepts
- Any given URL delivers a Document.
- A Document contains one or more Views, equivalent to media type in CSS
- <view [input] window=scroll/page>
- attributes:
- [input]: if present, the view accepts input (keyboard, mouse, touchscreen, media); if not, it is read-only (like a printout or slide)
- window=scroll indicates that the view scrolls within the Document
- window=page indicates that the view must be divided into fixed-size pages
- <area> - a rectangular region within a Window
- <layer> - stacked renderings within an Area
- <widget type=... event=...>: display widget
- type=... values:
- type=text: displays text; can react to clicks or selections
- type=image: displays an image; can react to clicks, drags
- event=... values:
- click events (sends both click and unclick events):
- event=click.l - left-click
- event=click.r - right-click
- event=click.m - middle-click
- event=drag - drag with whatever button was clicked
- event=drop - something was dropped onto the widget (there's data)
- keyboard events:
- event=key.press - any key (not necessarily a character) pressed (also sends release)
- event=key.change - a keypress caused a change in the text contents
- click events (sends both click and unclick events):
- type=... values:
- <widget type=... event=...>: display widget
- <layer> - stacked renderings within an Area
- attributes:
- <view [input] window=scroll/page>
Notes:
- To simplify constructing simple pages:
- a Document is also an Area, so if you want to use the whole Document as an Area, you don't need an <area> tag
- an Area is also a Layer, so if you only need one Layer you don't need to also define a <layer> tag