Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 34 additions & 2 deletions docs/language/en/NAVIGATOR_statement.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ imageSetting
CLASS classExpr
HEADER headerExpr
SHOWIF showIfExpr
CHANGEKEY key [showSetting]
CHANGEMOUSE key [showSetting]
```

### Description
Expand Down Expand Up @@ -167,6 +169,36 @@ The hierarchy described within a single `NAVIGATOR` statement can have an arbitr

Expression whose value determines visibility of the navigator element.

- `CHANGEKEY key [showSetting]`

Specifying the [key combination](../paradigm/Form_events.md#keyboard) that selects this navigator element when pressed.

- `key`

[String literal](Literals.md#strliteral) describing the key combination.

- `showSetting`

Display of the combination in the navigator element's caption. Specified by one of the keywords:

- `SHOW` - the combination is shown in the navigator element's caption.
- `HIDE` - the combination is not shown (default value).

- `CHANGEMOUSE key [showSetting]`

Specifying the mouse key combination that selects this navigator element when pressed.

- `key`

String literal describing the mouse key combination.

- `showSetting`

Display of the combination in the navigator element's caption. Specified by one of the keywords:

- `SHOW` - the combination is shown in the navigator element's caption.
- `HIDE` - the combination is not shown (default value).

### Examples

```lsf
Expand Down Expand Up @@ -195,8 +227,8 @@ NAVIGATOR {
NEW FOLDER documents 'Documents' WINDOW toolbar {
// the folders themselves will be displayed in the root window, and when the user selects one of them
// in a window with a vertical toolbar the descendants of this particular folder will be shown
NEW ACTION hi; // creating an action element
NEW ACTION h=hello; // creating an action element
NEW ACTION hi CHANGEKEY 'ctrl I' SHOW; // an action element with a hot key shown in its caption
NEW ACTION h=hello CHANGEMOUSE 'DBLCLK' SHOW; // an action element triggered by a double mouse click
// the statement to move the shipments element from the catalogs folder to the document folder
// before the hello element
MOVE shipments BEFORE h;
Expand Down
31 changes: 28 additions & 3 deletions docs/language/en/WINDOW_statement.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ slug: "/WINDOW_statement"
title: 'WINDOW statement'
---

The `WINDOW` statement - creating a new [window](../paradigm/Navigator_design.md).
The `WINDOW` statement - creating a new [window](../paradigm/Navigator_design.md), the `HIDE WINDOW` statement - hiding an existing window.

### Syntax

```
WINDOW name [caption] [options];
WINDOW name [caption] [NATIVE] [options];
```

The `options` that appear at the end of the statement can be specified one after another in any order:
Expand All @@ -20,16 +20,26 @@ orientationType
POSITION(x, y, width, height)
fixedPositionType
HALIGN(alignType)
VALING(alignType)
VALIGN(alignType)
TEXTHALIGN(alignType)
TEXTVALIGN(alignType)
CLASS cssClassExpr
```

An existing window can be hidden with a separate statement:

```
HIDE WINDOW windowName;
```

### Description

The `WINDOW` statement declares a new window and adds it to the current [module](../paradigm/Modules.md).

By default a window is created that displays [navigator elements](../paradigm/Navigator.md).

The `HIDE WINDOW` statement hides the specified window, making it invisible. For example, hiding the `System.log` window causes messages to the user to be shown as system dialog forms.

### Parameters

- `name`
Expand All @@ -40,6 +50,14 @@ The `WINDOW` statement declares a new window and adds it to the current [module]

Window caption. [String literal](Literals.md#strliteral). If caption is not specified, the window's name will be used as the caption.

- `NATIVE`

Keyword specifying that the window is filled by the client rather than by the navigator: navigator elements cannot be placed into it. This is how the predefined `System.forms` window, where forms open, and `System.log` window, where user messages appear, are defined. For such a window only the `POSITION`, `CLASS`, `HIDETITLE`, and `HIDESCROLLBARS` options apply, while orientation and alignment are ignored.

- `windowName`

Name of the window to hide. [Composite ID](IDs.md#cid) of an existing window.

### Options

- `HIDETITLE`
Expand Down Expand Up @@ -152,8 +170,15 @@ WINDOW system HORIZONTAL POSITION(80, 0, 20, 6) VALIGN(CENTER) HALIGN(END) HIDET

WINDOW toolbar VERTICAL POSITION(0, 6, 20, 94) HIDETITLE CLASS toolbarWindowClass();

// forms open in forms, messages are shown in log
WINDOW forms NATIVE POSITION(20, 6, 80, 94) CLASS formsWindowClass();
WINDOW log NATIVE POSITION(80, 6, 20, 93) HIDETITLE CLASS logsWindowClass();

// a horizontal toolbar at the bottom of the desktop, in which all buttons will be centered and text will be aligned up
// in this toolbar, for example, it is possible to place forms for quick opening
WINDOW hotforms HORIZONTAL BOTTOM VALIGN(CENTER) TEXTVALIGN(START);

// hiding the predefined message window (then messages are shown as dialog forms)
HIDE WINDOW System.log;
```

36 changes: 34 additions & 2 deletions docs/language/ru/NAVIGATOR_statement.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ imageSetting
CLASS classExpr
HEADER headerExpr
SHOWIF showIfExpr
CHANGEKEY key [showSetting]
CHANGEMOUSE key [showSetting]
```

### Описание
Expand Down Expand Up @@ -167,6 +169,36 @@ SHOWIF showIfExpr

Выражение, значение которого определяет видимость элемента навигатора.

- `CHANGEKEY key [showSetting]`

Указание [комбинации клавиш](../paradigm/Form_events.md#keyboard), при нажатии которой будет выбран этот элемент навигатора.

- `key`

[Строковый литерал](Literals.md#strliteral), описывающий комбинацию клавиш.

- `showSetting`

Отображение комбинации в заголовке элемента навигатора. Задается одним из ключевых слов:

- `SHOW` - комбинация отображается в заголовке элемента навигатора.
- `HIDE` - комбинация не отображается (значение по умолчанию).

- `CHANGEMOUSE key [showSetting]`

Указание комбинации клавиш мыши, при нажатии которой будет выбран этот элемент навигатора.

- `key`

Строковый литерал, описывающий комбинацию клавиш мыши.

- `showSetting`

Отображение комбинации в заголовке элемента навигатора. Задается одним из ключевых слов:

- `SHOW` - комбинация отображается в заголовке элемента навигатора.
- `HIDE` - комбинация не отображается (значение по умолчанию).

### Примеры

```lsf
Expand Down Expand Up @@ -194,8 +226,8 @@ NAVIGATOR {
// сами папки будут отображаться в окне root, и при выборе одной из них в окне с вертикальным
// тулбаром будут показаны потомки именно этой папки
NEW FOLDER documents 'Документы' WINDOW toolbar {
NEW ACTION hi; // создаем элемент-действие
NEW ACTION h=hello; // создаем элемент-действие
NEW ACTION hi CHANGEKEY 'ctrl I' SHOW; // элемент-действие с горячей клавишей, показываемой в его заголовке
NEW ACTION h=hello CHANGEMOUSE 'DBLCLK' SHOW; // элемент-действие, вызываемое двойным щелчком мыши
// инструкция перемещения элемента shipments из папки catalogs в папку document перед элементом hello
MOVE shipments BEFORE h;
}
Expand Down
31 changes: 28 additions & 3 deletions docs/language/ru/WINDOW_statement.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ slug: "/WINDOW_statement"
title: 'Инструкция WINDOW'
---

Инструкция `WINDOW` - создание нового [окна](../paradigm/Navigator_design.md).
Инструкция `WINDOW` - создание нового [окна](../paradigm/Navigator_design.md), инструкция `HIDE WINDOW` - скрытие существующего окна.

### Синтаксис

```
WINDOW name [caption] [options];
WINDOW name [caption] [NATIVE] [options];
```

Опции `options`, которые идут в конце инструкции, могут быть указаны друг за другом в произвольном порядке:
Expand All @@ -20,16 +20,26 @@ orientationType
POSITION(x, y, width, height)
fixedPositionType
HALIGN(alignType)
VALING(alignType)
VALIGN(alignType)
TEXTHALIGN(alignType)
TEXTVALIGN(alignType)
CLASS cssClassExpr
```

Существующее окно можно скрыть отдельной инструкцией:

```
HIDE WINDOW windowName;
```

### Описание

Инструкция `WINDOW` объявляет новое окно и добавляет его в текущий [модуль](../paradigm/Modules.md).

По умолчанию создаётся окно, в котором отображаются [элементы навигатора](../paradigm/Navigator.md).

Инструкция `HIDE WINDOW` скрывает указанное окно, делая его невидимым. Например, скрытие окна `System.log` приводит к тому, что сообщения пользователю выдаются в виде системных диалоговых форм.

### Параметры

- `name`
Expand All @@ -40,6 +50,14 @@ CLASS cssClassExpr

Заголовок окна. [Строковый литерал](Literals.md#strliteral). Если заголовок не задан, то заголовком окна будет являться его имя.

- `NATIVE`

Ключевое слово, указывающее, что окно наполняет клиент, а не навигатор: поместить в него элементы навигатора нельзя. Так заданы предопределённые окна `System.forms`, в котором открываются формы, и `System.log`, в котором выводятся сообщения пользователю. Для такого окна применяются только опции `POSITION`, `CLASS`, `HIDETITLE` и `HIDESCROLLBARS`, а ориентация и выравнивание не учитываются.

- `windowName`

Имя скрываемого окна. [Составной идентификатор](IDs.md#cid) существующего окна.

### Опции инструкции

- `HIDETITLE`
Expand Down Expand Up @@ -152,7 +170,14 @@ WINDOW system HORIZONTAL POSITION(80, 0, 20, 6) VALIGN(CENTER) HALIGN(END) HIDET

WINDOW toolbar VERTICAL POSITION(0, 6, 20, 94) HIDETITLE CLASS toolbarWindowClass();

// в forms открываются формы, в log выводятся сообщения
WINDOW forms NATIVE POSITION(20, 6, 80, 94) CLASS formsWindowClass();
WINDOW log NATIVE POSITION(80, 6, 20, 93) HIDETITLE CLASS logsWindowClass();

// горизонтальное окно внизу рабочего стола, в котором все кнопки будут выравниваться по центру, а текст - выравниваться вверх
// в это окно можно, например, помещать формы для быстрого открытия
WINDOW hotforms HORIZONTAL BOTTOM VALIGN(CENTER) TEXTVALIGN(START);

// скрытие предопределённого окна сообщений (тогда сообщения выдаются диалоговыми формами)
HIDE WINDOW System.log;
```
10 changes: 5 additions & 5 deletions docs/paradigm/en/Icons.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,17 +50,17 @@ Parameters that change ranking thresholds:
| Parameter | Scope | Default threshold |
|-------------------------------------------|---------------------------------|-------------------|
| `defaultAutoImageRankingThreshold` | All auto-icons | `0.0` |
| `defaultNavigatorImageRankingThreshold` | Navigator elements | `0.1` |
| `defaultContainerImageRankingThreshold` | Containers and forms | `0.6` |
| `defaultNavigatorImageRankingThreshold` | Navigator elements and forms | `0.1` |
| `defaultContainerImageRankingThreshold` | Containers | `0.6` |
| `defaultPropertyImageRankingThreshold` | Properties and actions | `0.8` |

Parameters to enable/disable default icons:

| Parameter | Element type | Default value |
|--------------------------|--------------------------|---------------|
| `defaultNavigatorImage` | Navigator elements | `true` |
| `defaultContainerImage` | Containers and forms | `false` |
| `defaultNavigatorImage` | Navigator elements and forms | `true` |
| `defaultContainerImage` | Containers | `false` |
| `defaultPropertyImage` | Properties and actions | `false` |

By default, automatic icon assignment is enabled only for navigator elements.
The default icon is substituted when no suitable match is found; with the standard settings it is enabled only for navigator elements and forms.

9 changes: 8 additions & 1 deletion docs/paradigm/en/Navigator.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,17 @@ title: 'Navigator'
- *action* – executes a specified [action](Actions.md). Only actions that take no arguments can be added to the navigator.
- *form* – [opens](In_an_interactive_view_SHOW_DIALOG.md) a specified [form](Forms.md) in the interactive view and the [asynchronous](In_an_interactive_view_SHOW_DIALOG.md#flow) mode.

When an element is added to the navigator, a *parent* element is defined for it. The root element of the navigator is the `System.root` folder.
When an element is added to the navigator, a *parent* element is defined for it; among the children of one folder the elements are ordered. The root element of the navigator is the `System.root` folder.

If no navigator elements are displayed in a particular navigator folder, this folder is automatically hidden.

A navigator element can additionally be given:

- a *caption* shown to the user — a fixed text or the current value of a property, in which case it depends on data;
- a *visibility condition* — the element is shown only when the specified condition holds;
- an *icon*, chosen or set by the [common icon assignment mechanism](Icons.md);
- a *hot key* and a *mouse binding* that trigger the element just as selecting it does.

Just as an [interactive](Interactive_view.md) form view, the navigator is displayed in a 2D space: on the user's device screen. Therefore, it's [design](Navigator_design.md) can/has to be defined, as well as for all other [graphic](Form_views.md#graphic) views.

### Language
Expand Down
2 changes: 1 addition & 1 deletion docs/paradigm/en/Navigator_design.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Each window occupies a predefined section of the desktop. Graphically, this can
}}
/>

The entire desktop is `100 x 100` *pixels* in size. When creating a window, you must specify the window's upper left coordinate, width and height, expressed in *pixels*. It is desirable that windows should "cover" the entire area of the desktop. If this does not happen, then the free area will be given to one of the windows (there is no guarantee as to which one). Two windows are allowed to have absolutely identical coordinates and sizes. In this case they will be displayed in the same place, but switching between them will be possible using tabs.
The entire desktop is `100 x 100` *points* in size. When creating a window, you must specify the window's upper left coordinate, width and height, expressed in *points*. It is desirable that windows should "cover" the entire area of the desktop. If this does not happen, then the free area will be given to one of the windows (there is no guarantee as to which one). Two windows are allowed to have absolutely identical coordinates and sizes. In this case they will be displayed in the same place, but switching between them will be possible using tabs.

### Selected folder {#selectedfolder}

Expand Down
32 changes: 31 additions & 1 deletion docs/paradigm/en/User_interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,34 @@ slug: "/User_interface"
title: 'User interface'
---

### (Under development)
The platform lets the user adjust the graphical interface to their own preferences — the appearance of the client and the behavior of forms. The chosen settings are saved and reapplied the next time the user logs in, layered on top of the [form design](Form_design.md) and the [navigator design](Navigator_design.md) defined by the developer, and on top of the default values set by the administrator.

By default the settings are stored separately for each user. Some of the appearance settings can be stored for the computer rather than for the user — they then become shared by everyone working at that computer.

### Appearance

Appearance settings are set in the user profile and in the appearance settings form; the color theme and the navigator pinning can also be switched directly from the system toolbar.

| Setting | Values | Purpose |
|---|---|---|
| Color theme | light, dark, system | light or dark interface background; the system theme is taken from the client side |
| Theme | Excel, Classic, Flatly, Lumen, Quartz, Simplex, Sketchy, Yeti | the style of interface elements — fonts, colors, paddings |
| Size | normal, mini, tiny | the scale of interface elements |
| Navigation bar | horizontal, vertical | the placement of the navigation bar |
| Navigator pinning | all, navigation bar only, none | what part of the navigator is pinned (permanently shown) |
| Text wrapping | yes, no | wrapping of long text in table cells |
| Highlighting of duplicates | yes, no | highlighting of repeated values in a column |
| Manual filter applying | yes, no | filters are applied by a separate command rather than immediately on input |
| Mobile mode | yes, no | interface layout for mobile devices |
| Font size | percent | the font size of the interface |
| Colors | color choice | the color of the selected row and cell, the active cell, and the table grid lines |

### Regional settings

The user can set the interface language, country, time zone, and the date and time formats. Each of these values is taken from the client side (the browser or the operating system) if the user allows it; otherwise the value set by the user explicitly is used, then the default value set by the administrator, and finally the server value.

### Form table settings

For each table on a form the user can change the set of displayed columns, their order, width, sorting, captions, and value display format, as well as the row font, the page size, and the header height. These settings are saved personally and override the general table settings and the [form design](Form_design.md).

The user can save their table settings or reset them to the general ones. The administrator can set general settings that apply to all users who have none of their own.
Loading
Loading