Взаимодействие компонент ядра JAM
Редактор Экранов
Визуальное проектирование интерфейса в JAM осуществляется с помощью Редактора Экранов.
Приложения, разработанные в JAM, имеют многооконный интерфейс. Окна (экраны), из которых
состоит интерфейс приложения, разрабатываются в Редакторе Экранов. Разработка отдельного
экрана заключается в размещении на нем интерфейсных элементов, возможной (но не
обязательной) их группировке и конкретизации различных их свойств. Объекты имеют достаточно
широкий набор свойств, включающий визуальные характеристики (позиция, размер, цвет, шрифт
и т.п.), поведенческие характеристики (разнообразные фильтры, форматы, защита от ввода и т.п.)
и ряд свойств, ориентированных на работу с БД.
В распоряжении разработчика имеются следующие интерфейсные элементы:
- Статические метки (static label)- произвольный фиксированный текст
или фиксированный графический образ;
- Динамические метки (dynamic label)- произвольный текст или графический
образ; может быть изменен в процессе исполнения приложения. Источником
информации может быть БД;
- Однострочные текстовые поля ввода/вывода (single line text);
- Многострочные текстовые поля ввода/вывода (multi-line text);
- Экранные кнопки (pushbutton);
- Переключаемые экранные кнопки (toggle button)- фиксируется состояние
нажата/отпущена;
- Элементы единственного выбора (radio button);
- Элементы множественного выбора (check box);
- Прокручиваемые списки (list box);
- Опциональные меню (option menu) - осуществляет выбор одного значения
из раскрывающегося меню;
- Комбинированные меню (combo box) - комбинация опционального меню и
однострочного текстового поля;
- Шкалы (scale) - элемент ввода/вывода числовых данных;
- Табличные фреймы (grid) - объединяет элементы типов "однострочный
текст" и "динамическая метка" в табличное представление;
- Графические диаграммы (graph);
- Линии (line);
- Рамки (box).
Данный набор элементов вполне соответствует стандарту CUA и является функционально полным
для разработки приложений информационных систем.
Некоторые однотипные объекты можно объединять в группы следующих видов:
- Синхронизированные группы - обеспечивается синхронизированная
прокрутка содержимого нескольких объектов
- Группы выбора - обеспечивается пометка нескольких строк содержимого
объекта;
- Разнотипные объекты можно объединять в специальные группы "Образ
таблицы БД" (table view).
В графическом Редакторе JAM реализован режим перемещения элементов с помощью мыши (drag
and drop) и возможность работы в одном сеансе с несколькими проектируемыми экранами. С
помощью нескольких служебных окон Редактора возможно уточнение характеристик элементов
(размеры, цвет, позиция и др.).
JAM является событийно-ориентированной системой, т.е. для каждого типа интерфейсных
элементов приложения определен набор событий (открытие и закрытие для экранов, работа с
фокусом для управляющих элементов и элементов ввода/вывода, событие "проверка" (validation),
нажатие клавиш клавиатуры и т.д.). Определение обработчиков этих событий осуществляется в
Редакторе и задает логику работы приложения. Обработчиками событий могут быть:
- Функции ядра JAM - более 300 функций самого различного назначения,
включая функции динамического (т.е. в процессе исполнения приложения)
изменения свойств объектов;
- Функции, написанные на JPL (внутренний процедурный интерпретируемый
язык JAM); Из JPL-функций доступны функции ядра;
- Функции, написанные на любом внешнем языке программирования 3-го
поколения (C, Pascal, Fortran и т.п.), совместимом по вызовам с C; Из этих
функций доступны функции ядра JAM и JPL-функции.
Редактор экранов JAM может работать в одном из трех режимов:
- Режим редактирования (Edit Mode) - разработка экранов;
- Режим тестирования (Test Mode) - тестирование разрабатываемых
экранов;
- Режим приложения (Application Mode) - интерпретация всего приложения в
целом.
На рис. 2 представлена диаграмма переходов между режимами Редактора Экранов.