Ada_Ru форум

Обсуждение языка Ада

GUI: ???????? ???????????????? ????????????

Оставить новое сообщение

Сообщения

Vladyslav Kozlovskyy
GUI: ???????? ???????????????? ????????????
2005-08-18 10:06:06

Привет всем!

 

Тут мне в голову идея пришла. Кажется даже в духе Ады:

Ада ведь не в меньшей мере еще и язык технологического

оборудования? Так может это использовать для разработки UI?

Возьмем, например, панельку управления автомобильным магнитофоном (в GUI - простое окно).

Что имеем:

имеем некий набор елементов:

 

вывод:

- поле ввода/отображения чисел/символов (editbox/label); [TYPE 1] - отображение диаграм/гистрограмм/уровней (progress-bar); |||||||| - отображение состояний (MUTE, STEREO/MONO) -

отображается мигающими (или нет) предустановленными

иконками; % (Stereo)

- все это хозяйство располагается определенным (часто жестко

заданным) способом.

- может иметь место несколько режимов работы устройства (разные layout/разные окна/формы)

 

ввод: возбуждаются аппаратные/программные сигналы как дискретного свойства (сигнал поступил) так и аналогового (тоже, в сущности, дискретный сигнал, но имеет параметр(ы) - число(а) в некоем заданном диапазоне/либо структуру). Сигналы могут быть синхронными

(периодическими (мониторинг, сигнал точного времени) или

асинхронными (срабатывания клапана, превишение порога, закончилась касета, сработал будильник, нажата кнопка, двинилась мишка, глаз моргнул :)

 

Сообщения об ошибках оборудования/пользователя тоже приходят в виде сигналов (exceptions?)

 

 

Получается, что программа, в действительности, работает с

неким UI - фреймом - "проволочным" каскадом, наполенным, такими же "проволочными" елементами. Программа не знает, КАК расположены

елементы в каркасе, КАК они выглядят, и даже КАК они взаимодействуют с пользователем. Она знает только их список и их типы. Также

программа знает (заявляет) какие ивенты она должна обрабатывать и на них, соответственно, настраивается.

 

Что получаем с нашим магнитофончиком:

 

каркас магнитофона:

кнопки (events):

старт, стоп, пауза, перемотка вперед, перемотка назад,

запись, выброс касеты, моно/стерео, шумопонижение,

магнитофон/FM радио

 

регуляторы (analog events):

громкость, тембр, еквалайзер, тюнинг ФМ

 

индикаторы:

числовые: время/метраж (возможно два индикатора, но

занимающее одно место в зависимости от режима работы)

символьные: название станции FM

иконки: стерео/моно

магнитофон/радио

шумопонижение

режим воспроизведения

режим запись

графические: ||||||||||| громкость

||||||||| графический еквалайзер (прыгает так прикольно, когда магнитофон/радио играет)

конец каркаса

 

 

Теперь, с одной стороны - цепляем реализацию самого магнитофона с другой - панельки. - Можно даже конскольный ввод/вывод прикрутить :0)

 

 

Как вам такая метафора?

--

Best regards,

Vladyslav

Vladyslav Kozlovskyy wrote:

 

Как вам такая метафора?

 

Близко к тому, что желаем получить ;)

 

 

--

Vadim Godunko

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти