Перейти к содержимому
Авторский вебсайт. Ошибки и проблемы гарантированы❗

Графический интерфейс

Ключевые понятия

Графический интерфейс пользователя (Graphical User Interface, GUI) — разновидность интерфейса, в котором человек взаимодействует с устройством посредством наглядных графических объектов (окон, кнопок, меню, списка, курсора).

Представление заметки (View) — способ отображения данных заметки на экране устройства пользователя.

Каждое представление по своему идентифицирует строки гипертекста, оперирует с ними и извлекает то, что необходимо для отображения на экране.

Примеры представлений: список файлов в проводнике, граф заметок, гипертекст в разметке Markdown.

Структура графического интерфейса

Графический интерфейс спроектирован по модульному принципу. Он состоит из нескольких областей управления, которые можно адаптивно настраивать, скрывать и макетировать при необходимости.

Графический интерфейс фокусирует внимание пользователя на заметке. В центре окна приложения расположена область редактирования заметки. Вокруг текста заметки размещены компоненты навигации и контекста. Расположение компонентов графического интерфейса приведено на следующей схеме.

    graph LR
subgraph Window ["Окно приложения Obsidian"]
	subgraph Menu ["Общее управление приложением"]
		A["Общее меню"]
		K["Команды"]
	end	
	subgraph Work ["Область управления заметками"]
		B["Навигация"]
		C["Редактор"]
		D["Контекст"]
	end
	A~~~B~~~C~~~D
end
%% Стили блоков
style Window fill:#D3D8EA,stroke:#474972,stroke-width:1px
style Menu fill:#F4F6FA,stroke:#474972,stroke-width:1px
style Work fill:#F4F6FA,stroke:#474972,stroke-width:1px
  

Общее управление приложением

Общее управление приложением содержит:

Область управления заметками

Компоненты графического интерфейса имеют сложную структуру, и в свою очередь содержат дополнительные элементы.

Разделители и вкладки

Область управления заметками содержит разделители (Splits) и вкладки (Tabs), которые определяют способ отображения заметки пользователя.

Различают следующие типы разделителей:

  • левый разделитель (Left split);
  • корневой разделитель (Root split);
  • правый разделитель (Right split).

Существуют следующие правила структуризации:

  • Разделитель может содержать вкладки, но вкладка не может содержать разделитель.
  • Корневой разделитель может содержать разделители, но левый и правый разделители могут содержать только вкладки.
    graph TD
A["Область редактирования"]
B["Левый разделитель"]
C["Корневой разделитель"]
D["Правый разделитель"]
E["Навигация"]
F["Разделитель"]
G["Вкладка"]
H["Контекст"]
T["Заметка"]

A --> B --> E
A --> C --> F
C --> G --> T
A --> D --> H
  

Ассоциативная взаимосвязь между навигацией, заметкой и контекстом следующая:

  • навигация позволяет найти заметку;
  • редактирование заметки изменяет контекст.
    graph LR
E["Навигация"]
T["Заметка"]
H["Контекст"]

E --> T --> H
  

Теоретически, жёстких ограничений на количество разделителей и вкладок Obsidian не устанавливает. Но практически управлять множеством вкладок неудобно. Полезность каждой очередной открытой вкладки всё ниже и ниже.

Режимы просмотра и редактирования

Пользователю необходимо переключать режимы области управления заметками. Существует два режима: просмотра заметки и редактирования заметки.

Режим просмотра заметки

Приложение Obsidian легко оперирует с заметками, содержащими миллионы строк. Дело в том, что редактор отображает только видимый фрагмент гипертекста. Редактор создаёт свого рода «окно», которое перемещает по заметке. Он обрабатывает лишь то, что попало в границы этого окна, и игнорирует то, что расположено за границами. Это «окно» называют областью просмотра.

Область просмотра

Область просмотра заметки

Режим редактирования заметки

В режиме редактирования заметок пользователь управляет:

    block
%% Задаем общую сетку из 3-х долей
	columns 3
%% Левая колонка. 1 доля, 3 строки
    block:left_column
        columns 1
        A["Панель навигации"]
        B["Структура заметок"]
        C["Панель хранилища"]
    end
%% Центральная колонка. 1 доля, 2 строки.
    block:center_column
        columns 1
        D["Панель редактора"]
        E["Гипертекст заметки"]
    end
%% Правая колонка. 1 доли, 1 строки
    block:right_column
        columns 1
        F["Панель контекста"]
        G["Контент контекста"]
        H["Панель состояния"]
    end
  

Персонификация интерфейса

Пользователь в соответствии со своими предпочтениями может изменить некоторые компоненты графического интерфейса:

Дополнительные сведения

Структура графического интерфейса

О рабочей области с точки зрения разработчиков Obsidian.