Dev/Docu/ru/Dependencies.odc

DevDependencies

DEFINITION DevDependencies;

	IMPORT Dialog;

	PROCEDURE ArrangeClick;
	PROCEDURE CollapseAllClick;
	PROCEDURE CollapseClick;
	PROCEDURE CreateTool;
	PROCEDURE CreateToolClick;
	PROCEDURE Deposit;
	PROCEDURE ExpandAllClick;
	PROCEDURE ExpandClick;
	PROCEDURE HideClick;
	PROCEDURE ModsGuard (VAR par: Dialog.Par);
	PROCEDURE NewAnalysisClick;
	PROCEDURE SelGuard (VAR par: Dialog.Par);
	PROCEDURE ShowAllClick;
	PROCEDURE ShowBasicGuard (VAR par: Dialog.Par);
	PROCEDURE SubsGuard (VAR par: Dialog.Par);
	PROCEDURE ToggleBasicSystemsClick;

END DevDependencies.


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

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

Щелчком на вершине графа эта вершина становится выделенной. Можно выделить более одной вершины, щелкая с Ctrl на других вершинах, или "рисуя" прямоугольник выделения вокруг нескольких вершин. После выделения вершины можно передвинуть мышью или стрелками на клавиатуре. Можно использовать Ctrl-A для выделения всех вершин.

Чтобы избежать беспорядка на графе, по умолчанию базовые подсистемы BlackBox скрываются. Однако можно включить этот параметр и показать системные модули.

В системе имеются неявные зависимости (например, через Dialog.Call). Эти зависимости нельзя найти, используя кодовые файлы. Чтобы учесть эти зависимости, хотя бы в статическом виде, они могут быть заданы в файле строковых ресурсов подсистемы Dev. Синтаксис для задания неявных зависимостей следующий:

Implicit.<modName>	<modname>{, <modname>}

DevDependencies читает этот ресурс и добавляет зависимости в граф. Такие зависимости показываются серыми стрелками.

Можно также создать инструментальный документ командой CreateTool. Она создает документ, который содержит команды компиляции, выгрузки, компоновки и упаковки для заданных модулей. Команды компиляции и выгрузки создаются только для тех подсистем, которые развернуты на графе. Команда компоновки включает стандартные значки BlackBox, а команда упаковки всегда включает все модули, независимо от того, развернуты они или скрыты.

В созданном документе все модули, которые включаются только через неявные зависимости, прописываются серым цветом.

В конце инструментального документа выводится список всех корневых модулей. Это модули, которые не импортируются из других модулей, то есть, модули верхнего уровня.

Обычное меню:

MENU
	"&Dependencies"	""	"DevDependencies.Deposit;StdCmds.Open"	"TextCmds.SelectionGuard"
	"&Create Tool"	""	"DevDependencies.CreateTool"	"TextCmds.SelectionGuard"
END

При щелчке правой кнопкой мыши показывается контекстное меню. Обычно оно имеет следующие пункты:


MENU "*" ("DevDependencies.View")
	"Expand"	""	"DevDependencies.ExpandClick"	"DevDependencies.SubsGuard"
	"Collapse"	""	"DevDependencies.CollapseClick"	"DevDependencies.ModsGuard"
	"New Analysis"	""	"DevDependencies.NewAnalysisClick"	"DevDependencies.ModsGuard"
	"Hide"	""	"DevDependencies.HideClick"	"DevDependencies.SelGuard"
	SEPARATOR
	"Show All Items"	""	"DevDependencies.ShowAllClick"	""
	"Show Basic System"	""	"DevDependencies.ToggleBasicSystemsClick"	"DevDependencies.ShowBasicGuard"
	"Expand All"	""	"DevDependencies.ExpandAllClick"	""
	"Collapse All"	""	"DevDependencies.CollapseAllClick"	""
	"Arrange Items"	""	"DevDependencies.ArrangeClick"	""
	SEPARATOR
	"Create tool..."	""	"DevDependencies.CreateToolClick"	""
	SEPARATOR
	"P&roperties..."	""	"StdCmds.ShowProp"	"StdCmds.ShowPropGuard"
END

Пункт Properties открывает стандартный шрифтовой диалог и позволяет пользователю выбрать шрифт для отображения. Начертание и стиль выбранного шрифта влияет на текст, показывающий имена модулей. Размер шрифта влияет на текст и ширину линий и стрелок.

PROCEDURE Deposit
Анализирует зависимости для каждого модуля в выделенном списке модулей. Затем создается и размещается в буфере обмена отображение, показывающее граф зависимостей.

PROCEDURE CreateTool
Анализирует зависимости для каждого модуля в выделенном списке модулей. Затем для данных модулей создается инструментальный документ. Документ содержит команды компиляции, выгрузки, компоновки и упаковки для заданных модулей. Команды компиляции и выгрузки создаются только для тех подсистем, которые развернуты на графе. Команда компоновки включает стандартные значки BlackBox, а команда упаковки всегда включает все модули, независимо от того, развернуты они или скрыты.


Следующие команды используются только для манипуляции отображением (обычно они вызываются через меню, описанное выше):

PROCEDURE CollapseClick
Вызывается, когда в меню выбирается Collapse. Эта процедура сворачивает выделенные модули в графе.

PROCEDURE ExpandClick
Вызывается, когда в меню выбирается Expand. Эта процедура разворачивает выделенные подсистемы в графе.

PROCEDURE NewAnalysisClick
Вызывается, когда в меню выбирается New Analysis. Начинает новый анализ, принимая за корень выделенную вершину, то есть, создает подграф исходного графа.

PROCEDURE HideClick
Вызывается, когда в меню выбирается Hide. Процедура скрывает выделенные вершины в графе.

PROCEDURE ShowAllClick
Вызывается, когда в меню выбирается Show All items. Эта процедура гарантирует, что в се вершины графа видимы.

PROCEDURE ToggleBasicSystemsClick
Вызывается, когда в меню выбирается Show Basic System. Эта процедура показывает или скрывает модули, принадлежащие к базовой системе BlackBox.

PROCEDURE ExpandAllClick
Вызывается, когда в меню выбирается Expand All. Эта процедура раскрывает все подсистемы.

PROCEDURE CollapseAllClick
Вызывается, когда в меню выбирается Collapse All. Эта процедура сворачивает все модули в подсистемы.

PROCEDURE ArrangeClick
Вызывается, когда в меню выбирается Arrange Items. Эта процедура упорядочивает вершины в графе структурированным образом, помещая модули из исходного списка наверх.

PROCEDURE CreateToolClick
Вызывается, когда в меню выбирается Create tool. Вызывает CreateTool.

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

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

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

PROCEDURE ShowBasicGuard (VAR par: Dialog.Par)
Охрана для пункта меню Show Basic System.