Std/Docu/ru/Cmds.odc

StdCmds
ENGLISH
Редакция перевода: Ф.В.Ткачев, 2010-10-24

DEFINITION StdCmds;

	IMPORT Dialog, Ports, Fonts;

	VAR
		allocator: Dialog.String;

		layout: RECORD
			wType, hType: INTEGER;
			width, height: REAL
		END;

		size: RECORD 
			size: INTEGER
		END;

	PROCEDURE Bold;
	PROCEDURE BoldGuard (VAR par: Dialog.Par);
	PROCEDURE CaretGuard (VAR par: Dialog.Par);
	PROCEDURE Clear;
	PROCEDURE CloseDialog;
	PROCEDURE Color (color: Ports.Color);
	PROCEDURE ColorGuard (color: INTEGER; VAR par: Dialog.Par);
	PROCEDURE ContainerGuard (VAR par: Dialog.Par);
	PROCEDURE CopyProp;
	PROCEDURE DefaultFont;
	PROCEDURE DefaultFontGuard (VAR par: Dialog.Par);
	PROCEDURE DefaultOnDoubleClick (op, from, to: INTEGER);
	PROCEDURE DeselectAll;
	PROCEDURE Font (typeface: Fonts.Typeface);
	PROCEDURE HeightGuard (VAR par: Dialog.Par);
	PROCEDURE InitLayoutDialog;
	PROCEDURE InitSizeDialog;
	PROCEDURE Italic;
	PROCEDURE ItalicGuard (VAR par: Dialog.Par);
	PROCEDURE ModelViewGuard (VAR par: Dialog.Par);
	PROCEDURE New;
	PROCEDURE NewWindow;
	PROCEDURE Open;
	PROCEDURE OpenAsAuxDialog;
	PROCEDURE OpenAsToolDialog;
	PROCEDURE OpenAux (file, title: ARRAY OF CHAR);
	PROCEDURE OpenAuxDialog (file, title: ARRAY OF CHAR);
	PROCEDURE OpenBrowser (file, title: ARRAY OF CHAR);
	PROCEDURE OpenDoc (file: ARRAY OF CHAR);
	PROCEDURE OpenToolDialog (file, title: ARRAY OF CHAR);
	PROCEDURE PasteCharGuard (VAR par: Dialog.Par);
	PROCEDURE PasteLCharGuard (VAR par: Dialog.Par);
	PROCEDURE PasteProp;
	PROCEDURE PasteView;
	PROCEDURE PasteViewGuard (VAR par: Dialog.Par);
	PROCEDURE Plain;
	PROCEDURE PlainGuard (VAR par: Dialog.Par);
	PROCEDURE ReadOnlyGuard (VAR par: Dialog.Par);
	PROCEDURE RecalcAllSizes;
	PROCEDURE RecalcFocusSize;
	PROCEDURE Redo;
	PROCEDURE RedoGuard (VAR par: Dialog.Par);
	PROCEDURE RestoreAll;
	PROCEDURE SelectAll;
	PROCEDURE SelectAllGuard (VAR par: Dialog.Par);
	PROCEDURE SelectDocument;
	PROCEDURE SelectNextView;
	PROCEDURE SelectionGuard (VAR par: Dialog.Par);
	PROCEDURE SetBrowserMode;
	PROCEDURE SetBrowserModeGuard (VAR par: Dialog.Par);
	PROCEDURE SetEditMode;
	PROCEDURE SetEditModeGuard (VAR par: Dialog.Par);
	PROCEDURE SetLayout;
	PROCEDURE SetLayoutMode;
	PROCEDURE SetLayoutModeGuard (VAR par: Dialog.Par);
	PROCEDURE SetMaskMode;
	PROCEDURE SetMaskModeGuard (VAR par: Dialog.Par);
	PROCEDURE SetSize;
	PROCEDURE ShowProp;
	PROCEDURE ShowPropGuard (VAR par: Dialog.Par);
	PROCEDURE SingletonGuard (VAR par: Dialog.Par);
	PROCEDURE Size (size: INTEGER);
	PROCEDURE SizeGuard (size: INTEGER; VAR par: Dialog.Par);
	PROCEDURE Strikeout;
	PROCEDURE StrikeoutGuard (VAR par: Dialog.Par);
	PROCEDURE ToggleNoFocus;
	PROCEDURE ToggleNoFocusGuard (VAR par: Dialog.Par);
	PROCEDURE TypeNotifier (op, from, to: INTEGER);
	PROCEDURE TypefaceGuard (VAR par: Dialog.Par);
	PROCEDURE Underline;
	PROCEDURE UnderlineGuard (VAR par: Dialog.Par);
	PROCEDURE Undo;
	PROCEDURE UndoGuard (VAR par: Dialog.Par);
	PROCEDURE UpdateAll;
	PROCEDURE WidthGuard (VAR par: Dialog.Par);
	PROCEDURE WindowGuard (VAR par: Dialog.Par);

END StdCmds.


Модуль StdCmds содержит много команд и процедур охраны, которые обычно используются в меню (см. модуль StdMenuTool) или в гиперссылках (см. StdLinks).
Кроме того, модуль экпортирует несколько процедур, здесь не описанных; это команды и охраны стандартных меню ОС Windows. См. текст Menus, где можно увидеть, как эти команды используются (только под Windows; под MacOS стандартные команды в спецификациях меню явно не задаются).


VAR allocator: Dialog.String
Литерная цепочка, содержащая последовательность команд, которая выполняется, когда пользователь использует команду File->New (Файлы->Новый). Значение по умолчанию: "TextViews.Deposit; StdCmds.Open". Эта цепочка может быть изменена в модуле Config.


VAR layout: RECORD
Интерактор диалога Tools->Document Size... (Инструменты->Размер документа...) для управления размерами корневого, то есть самого внешнего объекта отрисовки (вьюшки) в окне. Эти размеры могут задаваться несколькими различными способами. Он равен либо размеру окна, либо размеру бумаги минус ширина полей, заданных в диалоге Page Setup (Разметка страницы), либо некоторому конкретному фиксированному размеру. Вертикальный и горизонтальный размеры настраиваются отдельно.

wType, hType: INTEGER	wType IN {0..2}  &  hType IN {0..2}
Определяют, является ли размер (ширина/w  высота/h) корневой объект отрисовки фиксированным (0), установленным диалогом Page Setup/Разметка страницы (1) или равным размеру окна (2).

width, height: REAL	имеют смысл, если и только если wType/hType = 1
Ширина/высота корневого объекта отрисовки в сантиметрах.


VAR size: RECORD
Интерактор для установки размера шрифта.

size: INTEGER	size >= 6
Размер шрифта в пунктах (см. модуль Fonts).


PROCEDURE Bold

PROCEDURE BoldGuard (VAR par: Dialog.Par)

PROCEDURE CaretGuard (VAR par: Dialog.Par)
Отключает пункт меню, если объект отрисовки в фокусе не имеет текстового курсора.

PROCEDURE Clear

PROCEDURE CloseDialog
Эту команду можно вызвать из элемента управления, чтобы закрыть окно, в котором внедрен этот элемент. Её можно использовать только в качестве реакции на воздействия пользователя на элемент управления, то есть при клике по нему или когда он принимает ввод с клавиатуры. Если в окне показывается документ и окно грязное, то будет показано сообщение об ошибке.

Предусловие
должна вызываться при взаимодействии с элементом управления	20

PROCEDURE Color (color: Ports.Color)
Присваивает выделенному фрагменту указанный цвет (см. Ports.Color).

PROCEDURE ColorGuard (color: INTEGER; VAR par: Dialog.Par)
Охрана для команды Color.

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

PROCEDURE ContainerGuard (VAR par: Dialog.Par)
Охрана, проверяющая, что объект отрисовки, находящийся в фокусе, является контейнером (см. Container.View).

PROCEDURE DefaultFont
Присваивает выделенному фрагменту текста гарнитуру шрифта по умолчанию.

PROCEDURE DefaultFontGuard (VAR par: Dialog.Par)
Охрана для команды DefaultFont.

PROCEDURE DefaultOnDoubleClick (op, from, to: INTEGER)
Стандартный уведомитель, который программно выполняет клик по кнопке-по-умолчанию при двойном клике по элементу управления. Обычно используется в списках выбора или выпадающих списках.

PROCEDURE DeselectAll
Снимает выделение фрагмента в объекте отрисовки, находящемся в фокусе.

PROCEDURE Font (typeface: Fonts.Typeface)

PROCEDURE HeightGuard (VAR par: Dialog.Par)
Охрана, выставляющая par.readOnly, если layout.hType # 0, то есть если высота не фиксирована.

PROCEDURE InitLayoutDialog
Команда инициализации для интерактора layout.

PROCEDURE InitSizeDialog
Команда инициализации для интерактора size.

PROCEDURE Italic
Присваивает выделенному фрагменту стиль курсив.

PROCEDURE ItalicGuard (VAR par: Dialog.Par)
Охрана для команды Italic.

PROCEDURE ModelViewGuard (VAR par: Dialog.Par)
Охрана для команды NewWindow (проверяет, что метод ThisModel объекта отрисовки в фокусе возвращает значение, не равное NIL).

PROCEDURE New
Открыть новый безымянный документ, используя последовательность команд из переменной allocator.

PROCEDURE NewWindow
Охрана: ModelViewGuard
Открывает еще одно окно для документа в переднем окне.


PROCEDURE Open
Охрана: в глобальную очередь помещен объект отрисовки
Берет этот объект из глобальной очереди и открывает его в новом окне.

PROCEDURE OpenAsAuxDialog
Открывает еще одно окно на документ в переднем окне; новое окно функционирует как вспомогательный диалог.

PROCEDURE OpenAsToolDialog
Открывает еще одно окно на документ в переднем окне; новое окно функционирует как инструментальный диалог.

PROCEDURE OpenAux (file, title: ARRAY OF CHAR)
Получает спецификацию файла с документом Блэкбокса (file) и заголовок окна (title), затем открывает документ во вспомогательном окне с указанным загловком. Параметр file должен быть именем пути к файлу. 
Вспомогательные (Aux) окна используются для представления временных данных, допускающих правку.
Например:
"StdCmds.OpenAux('Form/Rsrc/Menus', 'Form Menus')"

PROCEDURE OpenAuxDialog (file, title: ARRAY OF CHAR)
Получает спецификацию файла с документом Блэкбокса (file) и заголовок окна (title), затем открывает диалоговое окно с заданным документом. Диалог открывается как вспомогательное окно. Параметр file должен быть именем пути к файлу.
Вспомогательные (Aux) диалоги используются для самодостаточных диалогов, то есть для масок ввода данных или параметров для команд.
В отличие от OpenAux, OpenAuxDialog переводит открываемый документ в режим маски, если это контейнер (см. модуль Containers), и открывает его в диалоговом окне, если операционная среда, в которой работает Блэкбокс, различает окна документов и диалогов (например, как в Windows).
Пример:
"StdCmds.OpenAuxDialog('Form/Rsrc/Cmds', 'New Form')"

PROCEDURE OpenBrowser (file, title: ARRAY OF CHAR)
Получает спецификацию файла с документом Блэкбокса (file) и заголовок окна (title), затем открывает указанный документ во вспомогательном окне. Содержимое окна нельзя править, но в нем можно выделять фрагменты. Параметр file должен быть именем пути к файлу.
Окна браузера используются для показа документации. Содержимое окна браузера можно выделять и копировать. Можно выполнять команды поиска, команды Info->Inteface (справки по интерфейсам модулей) и т.д.
Пример:
"StdCmds.OpenBrowser('Form/Docu/Models', 'FormModels Docu')"

PROCEDURE OpenDoc (file: ARRAY OF CHAR)
Получает спецификацию файла документа BlackBox и открывает документ в окне документа. Параметр file должен быть именем пути к файлу. Если такой файл уже открыт в окне документа, это окно выводится наверх вместо открытия нового.
Окна документов используются для показа редактируемых данных, предназначенных для хранения.
Пример:
"StdCmds.OpenDoc('System/Rsrc/Menus')"

PROCEDURE OpenToolDialog (file, title: ARRAY OF CHAR)
Получает спецификацию файла с документом Блэкбокса (file) и заголовок окна (title), затем открывает диалог с указанным документом. Диалог открывается как инструментальное (Tool) окно. Параметр file должен быть именем пути к файлу.
Инструментальные диалоги работают с окнами документов под ними, например, диалог поиска и замены, который работает с текстом. В остальном все идентично OpenAuxDialog.
Пример:
"DevInspector.InitDialog; StdCmds.OpenToolDialog('Dev/Rsrc/Inspect', 'Inspect')"

PROCEDURE PasteCharGuard (VAR par: Dialog.Par)
Отключает пункт меню, если ввод литеры в данный момент невозможен.

PROCEDURE PasteLCharGuard (VAR par: Dialog.Par)
Устаревшая процедура.

PROCEDURE PasteProp
Охрана: в специальном буфере были запомнены свойства (см. CopyProp)
Применяет эти свойства к выделенному фрагменту.

PROCEDURE PasteView
Охрана: в глобальную очередь помещен объект отрисовки.
Этот объект забирается из очереди и вставляется в объект отрисовки, находящийся в фокусе.

PROCEDURE PasteViewGuard (VAR par: Dialog.Par)
Отключает пункт меню, если вставка объекта отрисовки сейчас невозможна.

PROCEDURE Plain
Присваивает выделенному фрагменту атрибуты простого текста (не курсив, не полужирный, не подчеркнутый).

PROCEDURE PlainGuard
Охрана для команды Plain.

PROCEDURE ReadOnlyGuard (VAR par: Dialog.Par)
Делает элемент управления доступным только для чтения, устанавливая par.readOnly в TRUE.

PROCEDURE RecalcAllSizes
Пересчитывает размеры всех видимых объектов отрисовки. Должен вызываться после изменения метрик шрифтов.

PROCEDURE RecalcFocusSize
Пересчитывает размер объекта отрисовки, находящегося в фокусе.

PROCEDURE Redo
Повторить последнюю отмененную команду.

PROCEDURE RedoGuard
Охрана для команды Redo.

PROCEDURE RestoreAll
Форсирует отрисовку всех видимых вьюшек.

PROCEDURE SelectAll
Выделяет всё содержимое вьюшки в фокусе.

PROCEDURE SelectAllGuard
Охрана для команды SelectAll.

PROCEDURE SelectDocument
Выделяет корневую вьюшку (самый внешний контейнер) в переднем окне.

PROCEDURE SelectNextView
Если в контейнере выделена одиночная вьюшка, то эта команда находит и выделяет следующую вьюшку в контейнере (в циклическом порядке).

PROCEDURE SelectionGuard (VAR par: Dialog.Par)
Отключает пункт меню, если нет выделенного фрагмента.

PROCEDURE SetBrowserMode
Охрана: SetBrowserModeGuard
Переводит выделенный контейнер в режим просмотра. Если нет выделенного контейнера, в режим просмотра переводится самый внешний контейнер. Этот режим обычно используется для документации.

PROCEDURE SetBrowserModeGuard (VAR par: Dialog.Par)
Охрана для процедуры SetBrowserMode. Устанавливает par.checked, если это уместно.

PROCEDURE SetEditMode
Охрана: SetEditModeGuard
Переводит выделенный контейнер в режим правки. Если нет выделенного контейнера, в режим правки переводится самый внешний контейнер. Этот режим является основным для текстов, допускающих правку.

PROCEDURE SetEditModeGuard (VAR par: Dialog.Par)
Охрана для процедуры SetEditMode. Устанавливает par.checked, если это уместно.

PROCEDURE SetLayout
Применяет значения интерактора layout. Чтобы применить эти значения к выделенной вьюшке, необходимо сначала вызвать InitLayoutDialog.

PROCEDURE SetLayoutMode
Охрана: SetLayoutModeGuard
Переводит выделенный контейнер в режим разметки. Если нет выделенного контейнера, то в режим разметки переводится самый внешний контейнер. Этот режим обычно используется при работе с диалоговыми формами, допускающими правку.

PROCEDURE SetLayoutModeGuard (VAR par: Dialog.Par)
Охрана для процедуры SetLayoutMode. Устанавливает par.checked, если это уместно.

PROCEDURE SetMaskMode
Охрана: SetMaskModeGuard
Переводит выделенный контейнер в режим маски. Если нет выделенного контейнера, в режим маски переводится самый внешний контейнер. В этот режим обычно переводятся формы, используемые в качестве диалоговых окон.

PROCEDURE SetMaskModeGuard (VAR par: Dialog.Par)
Охрана для процедуры SetMaskMode. Устанавливает par.checked, если это уместно.

PROCEDURE SetSize
Команда для установки выделенного фрагмента в размер (кегль), заданный в интеракторе size.

PROCEDURE ShowProp
Показывает свойства фрагмента, выделенного в объекте отрисовки, находящемся в фокусе.

PROCEDURE ShowPropGuard
Охрана для команды ShowProp.

PROCEDURE SingletonGuard (VAR par: Dialog.Par)
Отключает пункт меню, если нет выделенного фрагмента, состоящего в точности из одной внедренной вьюшки.

PROCEDURE Size (size: INTEGER)
Присваивает выделенному фрагменту указанный кегль (размер) в пунктах (см. Fonts).

PROCEDURE SizeGuard (size: INTEGER; VAR par: Dialog.Par)
Охрана для команды Size.

PROCEDURE Strikeout
Присваивает выделенному фрагменту зачеркнутый стиль.

PROCEDURE StrikeoutGuard (VAR par: Dialog.Par)
Охрана для команды Strikeout.

PROCEDURE ToggleNoFocus
Переключает режим контейнера с фокусируемый на нефокусируемый и обратно (см. Контейнеры).

PROCEDURE ToggleNoFocusGuard (VAR par: Dialog.Par)
Охрана для команды ToggleNoFocus.

PROCEDURE TypeNotifier (op, from, to: INTEGER)

PROCEDURE TypefaceGuard (VAR par: Dialog.Par)
Охрана для команды Font.

PROCEDURE Underline
Присваивает выделенному фрагменту подчеркнутый стиль.

PROCEDURE UnderlineGuard (VAR par: Dialog.Par)
Охрана для команды Underline.

PROCEDURE Undo
Отменяет самую последнюю команду.

PROCEDURE UndoGuard (VAR par: Dialog.Par)
Охрана для команды Undo.

PROCEDURE UpdateAll

PROCEDURE WidthGuard (VAR par: Dialog.Par)
Охрана, выставляющая par.readOnly, если layout.hType # 0, то есть если ширина не фиксирована.

PROCEDURE WindowGuard (VAR par: Dialog.Par)