Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Расширение пользовательского интерфейса




Команды-триггеры для удобства можно привязать к пользовательским элементам управ­ления. Создадим в текущем проекте контекстное меню с помощью компонента ContextMenu из категории Components. Пусть в нем будет три пункта: Выбрать, Назначить и Отклонить. Их необходимо связать с соответствующими триггерами.

1) Добавим на форму компонент ContextMenu, дадим ему имя cmSubject.

2) В свойстве меню RootHandle задается корневой идентификатор ehSubject.

3) Объект управления (таблица Дисциплины), для которого вызывается данное меню, выбирается в свойстве BindingContext.

4) В свойстве EcoListAction выбирается тип действия ЕСО, выполняемого при выборе данного пункта. Введем значение ExecuteAction (исполняемое выражение OCL).

5) Само выражение OCL следует ввести в свойство ActionExpression. Это выражение формируется с помощью раздела Triggers в редакторе выражений OCL. Так, для пункта Выбрать дисциплину это выражении записывается как строка self.Choose.

6) В свойстве EnabledOCL с помощью это­го же редактора формируется выражение OCL – триггерный запрос, который опре­деляет, доступен ли пользователю соответ­ствующий элемент управления (в нашем слу­чае – пункт меню). Если триггер недоступен, то и пункт меню автоматически блокируется. Запрос выбирается в разделе редак­тора Trigger queries. Например, для пункта меню Назначить он записывается строкой self.Appoint? (см. Рисунок 9.8).

7) Выделим таблицу dgSubject. В ее свойстве ContextMenu выберем ссылку на настроенный компонент cmSubject. Привязка и настройка контекстного меню для объектов таблицы Дисциплины закончена.

Рисунок 9.8 – Связывание команд-триггеров с компонентом ContextMenu

8) Запустим приложение. Видно, что контекстное меню каждой строки (доступные в ней пункты) автоматически меняется в зависимости от состояния теку­щей дисциплины (см. Рисунок 9.9).

Рисунок 9.9 – Применение контекстного меню в приложении

Задания

1) Продумать, какой объект из предметной области можно представить в виде последовательности определенных состояний.

2) Расширить модель UML: создать машину состояний для выбранного объекта (или объектов) и модифицировать диаграмму классов.

3) Обновить базу данных, модифицировать пользовательский интерфейс и связать его с моделью.

4) Применить автоформы или контекстное меню.

Контрольные вопросы

1) Что такое автомат?

2) Назовите базовые правила работы автоматов в языке UML?

3) Для чего предназначены диаграммы состояний?

4) Как строятся диаграммы машин состояний?

5) Как настраиваются триггеры в диаграммах состояний?

6) Как задаются правила перехода на языке OCL для триггеров?

7) Как связать триггеры с элементами пользовательского интерфейса?





Поделиться с друзьями:


Дата добавления: 2016-03-28; Мы поможем в написании ваших работ!; просмотров: 313 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Чтобы получился студенческий борщ, его нужно варить также как и домашний, только без мяса и развести водой 1:10 © Неизвестно
==> читать все изречения...

2405 - | 2285 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.