|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[5] curr - pnls, AppInput from MenuItem(mi) - - - if modal then - - if current panel = modal pnls - - don t change the panels list else - - openNewOrSelectOldTable(mi, pnls) end end end if (len ps > 0) then let (modal1, txt1, pis1, pc1) = hd ps in if modal1 then (mkAppOutput(mp, { } ), ps) - - if hd ps = modal window else - - then there = no menu at al (mkAppOutput(mp, mkMenu(ms, ps)), ps) end end else (mkAppOutput(mp, MainMenu), ( } ) - - no any panels, only main menu end end, mkApplication : Text - Application mkApplication(path) = let (title, mPan) = startAction(path) in (title, ( } , mPan, MainMenu) -- End Of Scheme Для доказательства того, что все свойства абстрактной схемы l0 app.rsl наследуются (реализуются, implement) подробной схемой l1 app.rsl используется следующая схема -- Start of Scheme rsl/L0 APP, rsl/L1 APP devt relation l1 app l0(L1 APP for L0 APP) : - L1 APP L0 APP -- End Of Scheme 2.2.2 Abstract panel Задано, что панель может быть модальной (модальная панель не позволяет выбор других панелей приложения) или не модальной (немодальная панель позволяющяет выбор других панелей приложения); имеет заголовок, список команд - кнопок и содержимое панели. Под содержимым панели мы будет понимать структуру, содержащие различные виды окна данных (record window) и другую необходимую информацию. Отличие следующей схемы от предыдущих заключается в том, что функция mkPanOut является процессом. Она также будет выводить в канал setOut, и, следовательно, функция app выводит в канал panOut и в канал setOut. Это означает, что панель и содержание панели выводятся одновременно. Ранее, рассмотренная на уровне операционая система, функция mkOsOutput не производила вывод в канал appOut. Это означает, что когда функция os создает данные для вывода в appOut, не выводились данные в канал panOut. (То есть, в открытом приложении может не быть ни одной открытой панели.) Также в схеме обьявляется существование величины главное меню: MainMenu(). -- Start of Scheme scheme L1 PAN = with T0 in class PanInput, PanOutput, PanContent, PanCommand, MPanel - - include some important information -- about state of applicaton , Panel = Bool x Text x PanCommand-set x PanContent --Bool : is it modal window? --Text : title of panel --PanInput: list -- of command -- PanContent: panel content , MenuItem channel panIn : PanInput, panOut : PanOutput value pan : Panel* - in panIn, any out panOut, any Panel* , startAction : Text - Text x MPanel, exitAction : Panel* x MPanel - Unit, mkPanOutput : Panel - out any PanOutput, MainMenu : MenuItem-set , openNewOrSelectOldTable : MenuItem x Panel* - Panel* -- End Of Scheme 2.3 Panel Level Для адекватного описания обьекта форма на текущем уровне, кроме собственно самого обьекта форма: L2 PAN, понадобится схема с конкретным описанием содержанием панели: L2 CNT и схема с описание окна данных: 2.3.1 Concrete panel Обьявленный в схеме тип PanCommand задает набор команд, которые панель может выполнять. Каждой команде будет соотвествовать кнопка на панели и функция из схем L2 CNTx. Кроме того, задано, что в приложении по командам из главного меню открываются не модальные панели с одинаковым набором кнопок TblButtons или информационная модальная панель app about. Для панелей редактир-вания предопределены два набора команд - кнопок •EditRecButtons - для редактирования записи; •N2MRelButtons - для редактирования сущности, точнее отношения N Функции exitAction и startAction не уточняются. -- Start of Scheme rsl/T0, rsl/L2 CNT scheme L2 PAN0 = with T0 in |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||