Дизайнер - работа с объектами в памяти объектной машины
Дизайнер является основным приложением FloraWare, обеспечивающим необходимые функции для создания приложений. С помощью Дизайнера можно выполнять навигацию по узлам дерева, фокусироваться на отдельных объектах дерева, а также создавать, удалять, показывать или редактировать объекты и их свойства. Редактирование выполняется с помощью специально разработанных для каждого типа объекта редакторов, являющихся часть Дизайнера.
Рисунок 7 - Дизайнер FloraWare (в натуральную величину).
Любой элемент дерева объектов может быть отредактирован с помощью Дизайнера.
Дизайнер способен выгружать фрагменты дерева объектов в файлы специального формата (OTS-файлы). В его состав также входит несколько сервисных приложений.
Редактор графических объектов упрощает разработку диалоговых графических приложений и обеспечивает естественный способ выполнения этой работы, используя альбом встроенных графических элементов, мышь, приемы «drag-and-drop» и т.п. С помощью средств Редактора графических объектов можно также создавать, удалять, редактировать графические объекты и их свойства, в частности – цвета, формы фигур, их месторасположение на экране относительно друг друга и в дереве объектов.
Входящий в состав Дизайнера Менеджер приложений выполняет групповые операции с объектами древовидной структуры. Он производит поиск по дереву объектов, генерирует сводные таблицы свойств и состояний объектов, таблицы перекрестных ссылок и связей, статистические справки и таблицы состояния дерева объектов, его фрагментов и частей.
Транслятор кодов функций, входящих в объекты типа Программа и написанных на встроенном языке F++, является частью Дизайнера и выполняет перевод исходных кодов этих функций в исполнимое представление в виде команд стековой машины.
Дополнительную информацию об объектах, их взаимосвязях, свойствах, методах, системных функциях разработчику предоставляет Инспектор классов.
Рисунок 8 - Диаграммы классов (в натуральную величину)
Несколько вариантов Инспектора работают с классами разных уровней объектной машины.
Отладка и мониторинг
Несмотря на то, что во FloraWare нет разбиения на инструментальную и исполнительную системы, и на то, что с помощью Дизайнера можно в любой момент проанализировать состояние практически всех объектов, для объектов типа Программа, с учетом их специфических свойств, создано отдельное приложение Отладчик.
Отладчик предоставляет широкий набор средств, обеспечивающих эффективную символьную отладку приложений: останов выполнения в указанной точке отлаживаемого приложения, останов по событию или исключительной ситуации, выполнение программного кода объектов по шагам, наблюдение за состоянием объектов в динамике, всплывающие подсказки с информацией о текущих значениях объектов, просмотр исходного кода объектов и их внутреннего представления и т.д. и т.п. Для объектов относящихся к категории графического программирования имеется набор собственных отладчиков, которые позволяют вести отладку в терминах исходных объектов.
Информация о целом ряде системных событий, возникающих в ядре FloraWare (в частности – сведения об ошибках и прерываниях в объектах приложения), помещается в специальный Журнал событий, доступный разработчику. В этот же Журнал событий помещается информация о событиях, генерируемых многими библиотечными объектами. Записи Журнала событий доступны для поиска и просмотра. Помещение информации о том или ином событии в Журнал событий может быть заблокировано пользователем, если в приложении указан соответствующий обработчик этого события.
Разработка больших проектов
Приложение Менеджер проектов создано для поддержки реализации сложных и больших проектов, включающих множество подсистем и компонент, реализуемых несколькими разработчиками или группами разработчиков. Менеджер проектов поддерживает файлы специального формата (PRJ-файлы), в которых хранятся описания реализуемых проектов, компонент, из которых они состоят, в том числе – OTS-файлов (созданных Дизайнером), отдельных секций OTS-файлов (частей дерева объектов), объектов дерева объектов, агрегатов, связей, контактов, версий и т.п. С помощью Менеджера проектов можно создавать, удалять и редактировать элементы, входящие в проект, вести версии проекта и его элементов, хранить данные об авторах, аннотации и комментарии разработчиков.
Средствами Менеджера проектов на основании специальных описателей генерируются различные дистрибутивы разработанного приложения. Кроме того, имеется возможность создания пакетов Upgrade и соответствующих скриптов к ним, необходимых для обновления уже установленного у пользователей приложения, включая необходимые процедуры корректировки структуры базы данных используемой в приложении СУБД.
Мастер приложений предназначен для генерации по указанию разработчика типового приложения, реализующего общепринятые функции, используемые в прикладных оконных интерфейсах, а также для включения в разрабатываемое приложение типовых широко используемых на практике функций, например – редактирование и просмотр файлов и элементов базы данных, работа с каталогами и файлами операционной системы и т.п.
Менеджер секций обеспечивает необходимые средства по работе с OTS-файлами, содержащими информацию о дереве объектов приложения, созданного с помощью Дизайнера. OTS-файл может содержать несколько секций, в каждой из которых находится дерево объектов приложения или его фрагменты. С помощью Менеджера секций можно исключить секцию из OTS-файла, скопировать или перенести какую-либо секцию в другой OTS-файл, вести несколько версий секций и также манипулировать этими версиями (исключать, сравнивать, освобождать место в OTS-файле, занятое удаленными секциями и т.п.).
Приложение Центр разработки организует интегрированную среду разработки приложений, использующую возможности и средства Дизайнера (Designer), Менеджера проектов (ProjectManager) и Менеджера секций (SectionManager).
Рисунок 9 - Центр разработки (в натуральную величину)
Интегрированная среда Центра разработки позволяет пользователю работать с различными объектами приложения – деревом объектов, файлами приложений (OTS-файлами), секциями OTS-файлов (фрагментами дерева объектов), файлами проектов (PRJ-файлами) и т.д. – в едином контексте без прямого обращения к другим инструментам разработки приложений