
5. ТЕХНОЛОГИЯ MDA
5.4. Разработка приложений на основе ECO
Технологии разработки программного обеспечения. Учеб. пособие -187-
Объект ЕСО, который мы хотим добавить к проекту (сделать доступ-
ным через элементы управления на форме), задается в свойстве RootHandle.
В нем надо выбрать подходящий поставщик объектов ЕСО, в нашем случае –
идентификатор ehChair.
Свяжем результат действия кнопки (созданный экземпляр класса Ка-
федра) с визуальным элементом, отображающим этот экземпляр, в нашем
случае – с таблицей dgChair. Для этого в свойстве BindingContext
(контекст
связывания) выберем имя dgChair (рис. 5.6
).
Теперь добавим операцию удаления экземпляров класса Кафедра. Реа-
лизуем это действие по аналогии с операцией добавления. Выделим в окне
Проектировщика кнопку Button2. В свойстве EcoListAction выберем значе-
ние Delete. Зададим идентификатор ehChair в свойстве RootHandle. Свяжем
результат действия кнопки с визуальным элементом – таблицей dgChair. Для
этого в свойстве BindingContext у кнопки Delete выберем имя dgChair. Пе-
рейдем к компоненту EcoListActions и в его свойстве Cap
tion Delete введем
Удалить.
Настройка кнопки Button3 (будет отвечать за добавление экземпляра
класса Преподаватель). Значения свойств кнопки: EcoListAction – Add; Roo-
tHandle – ehLecturer; BindingContext – dgLecturer. Перейдем к компоненту
EcoListActions и в его свойстве Caption Add введем Добавить.
Настройка кнопки Button4 (будет отвечать за удаление экземпляра
класса Преподаватель). Значения свойств кнопки: EcoListAction – Delete;
RootHandle – ehLecturer; BindingContext – dgLecturer. Перейдем к компоненту
EcoListActions и в его свойстве Caption Delete введем Удалить.
Кнопка Button5 будет отвечать за обновление БД. Назовем ее Сохра-
нить. В свойстве EcoAction (категория ECO|GUI) выберем UpdateDatabase.
Таки
м образом, по нажатию этой кнопки выполняется синхронизация содер-
жимого пространства ECO в оперативной памяти и его копии в базе данных.
После каждого нажатия кнопки Сохранить содержимое таблицы сохраняется
в БД. После нового запуска программы в таблицу пользовательского интер-
фейса автоматически загружает
ся содержимое модели, сохраненное при по-
следнем выполнении команды UpdateDatabase.
На данном этапе связывание интерфейса с моделью закончено (рис. 5.7
).
Действия, которые выполняет дескриптор в программе, определяются
значением свойства Expression. В это свойство вводится выражение языка
OCL, которое определяет схему создания объектов модели ЕСО.
Используем дескриптор ehChair для обращения к экземплярам класса
Кафедра. Введем в свойство Expression объекта ehChair строку cl-
Chair.allInstances. Иначе это можно сделать с помощью редактора OCL вы-
ражений. Введенное выражение задает доступ ко всем те
кущим экземплярам
класса Кафедра в объектном пространстве. В таблице, показанной на форме
в окне Проектировщика, сразу же отобразятся поля класса Кафедра (Chair-
HeadSNP, ChairSecrSNP и ChairName). Дескриптор ehChair становится по-
ставщиком данных нашей модели ЕСО для первой таблицы.