пятница, 22 июня 2012 г.

Формирование меню и выбор команд в графической системе ГРАФ.

Оператор ввода данных в программе всегда выполняется в некотором контексте, к которому можно отнести положение этого оператора в программе, текущее состояние переменных и так далее. В редакторе такой контекст составляют текущие координаты рисунка, сегмент, редактируемый примитив, состояние буфера, значения параметров редактирования, в мониторе - рабочий архив, текущий рисунок. Анализируя контекст в момент ввода информации, можно определить состав команд, допустимых в этом контексте, сформировать и предложить пользователю соответствующее меню. Такой метод смены меню реализован в системе.

Полный набор команд хранится в служебном файле. Формат команды: ( код команды, имя команды, комментарий). Файл меню можно модифицировать: изменять имена команд или их порядок, удалить часть команд.

Выбирать команду в предложенном меню можно двумя способами:
- с помощью клавиш передвижения по меню;
- набором имени команды.
Имя необязательно вводить полностью; поиск команды производится сравнением введенной строки с начальными символами имени каждой команды из текущего меню. Выбирается первое имя, в котором префикс совпал с веденной цепочкой символов.
Исполняются команды при нажатии клавиши выполнить команду.
Приведенный механизм работы с меню используется и для других целей. Например, при работе редактора с архивом рисунков ( чтение рисунка в буфер редактора или запись содержимого буфера в архив). Каталог файлов, доступных для чтения (записи) выводится в виде меню. Имя нужного файла выбирается описанным способом. Если меню превышает размеры окна, то оно выводится порциями. Новая порция выдается, если нужное имя или команда находятся за границами окна.
Во время перемещения по меню можно в любой момент вызвать подпрограмму подсказки, выдающую комментарий к команде.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.