995d9d97

Взаимодействие компонент ядра 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 представлена диаграмма переходов между режимами Редактора Экранов.


Режим приложения

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



Содержание раздела