Основные команды для создания пользовательского интерфейса
Опытные пользователи нередко используют MATLAB для создания своих собственных систем. Этому во многом способствует идеология системы – хранение большей части команд и функций в виде m-файлов. Простота коррекции файлов и отсутствие необходимости явно объявлять создание новых команд и функций привели к появлению множества программных систем на базе MATLAB, особенно в таких областях, как решение задач линейной алгебры, моделирование различных систем и структур и т. д.
В новой версии MATLAB дескрипторная графика позволяет конструировать детали пользовательского интерфейса. Полный список команд и функций для проектирования пользовательского интерфейса можно получить, выполнив команду help uitools.
Ниже перечислены все команды и функции данного назначения. Функции пользовательского интерфейса GUI:
- ulcontrol – создание управляющего элемента;
- ulmenu – создание пользовательского меню;
- ginput – графический ввод с помощью мыши.
Перечень команд и функций пользовательского интерфейса:
- dragrect – создание выделяющего прямоугольника с помощью мыши;
- rbbox – растягивание прямоугольника мышью;
- selectmoveresize – интерактивное выделение, перемещение и копирование объектов с помощью мыши;
- waitforbuttonpress – ожидание нажатия клавиши клавиатуры или кнопки мыши в окне;
- waltfor – прекращение выполнения программы в ожидании уничтожения заданного графического объекта или изменения его свойств;
- uiwait – прекращение выполнения программы в ожидании вызова функции uiresume или закрытия заданного графического окна;
- inresume – возобновить выполнение после блокировки;
- uisuspend – прекращение интерактивного состояния фигуры;
- uirestore – возобновление интерактивного состояния фигуры.
Средства проектирования пользовательского интерфейса:
- guide – создание GUI;
- align – выровнять положение объектов интерфейса;
- cbedit – изменение повторного вызова объектов;
- menuedit – изменение меню;
- propedit – изменение свойств объектов.
Средства создания диалоговых окон:
- dialog – создание диалогового окна;
- axlimdlg – ограничение размеров диалогового окна;
- errordlg – создание окна с сообщением об ошибке;
- helpdlg – создание справочного окна;
- inputdlg – создание окна диалога ввода;
- listdlg – создание окна диалога для выбора вариантов параметра из списка;
- menu – создание меню диалогового ввода;
- msgbox – создание окна сообщений;
- questdlg – создание окна запроса;
- warndlg – создание окна предупреждения;
- uigetfile – создание стандартного окна открытия файлов;
- uiputfile – создание стандартного окна записи файлов;
- uisetcolor – создание окна выбора цвета;
- uisetfont – создание окна выбора шрифта;
- pagedlg – создание диалогового окна параметров страницы;
- printdlg – создание диалогового окна печати;
- waitbar – создание окна с индикатором прогресса.
Создание меню:
- makemenu – создать структуры меню;
- menubar – устанавливать типовые свойства для объекта MenuBar;
- umtoggle – изменять статус параметра "checked" для объекта uimenu;
- winmenu – создать подменю для меню Window.
Создание кнопок панели инструментов и управление ими:
- btngroup – создать кнопку панели инструментов;
- btnstate – запросить статус кнопки;
- btnpress – управление кнопкой;
- btndown – нажать кнопку;
- btnup – отпустить кнопку
Утилиты задания свойств объектов figure/axes:
- сlruprop – удалить свойство объекта;
- getuprop – запросить свойство объекта;
- setuprop – установить свойство объекта.
Вспомогательные утилиты:
- all child – запросить все порожденные объекты;
- findall – найти все объекты;
- hidegui – скрыть/открыть объекты GUI;
- edtext – интерактивное редактирование объектов text;
- getstatus – запросить свойства строки объекта figure;
- setstatus – установить свойства строки объекта figure;
- popupstr – запросить свойства строки выпадающего меню;
- remapflg – изменить положение объекта figure;
- setptr – установить указатель на объект figure;
- getptr – получить указатель на объект figure;
- overobj – запросить дескриптор объекта, над которым находится курсор мыши.
Таким образом, MATLAB содержит обширный набор команд и функций для создания типовых элементов пользовательского интерфейса. Объем данной книги не позволяет останавливаться на детальном описании этих функций, тем более что оно имеется в справочной системе. Поэтому мы ограничимся единственным примером: создание кнопки, на которой можно щелкнуть мышью и перевести ее в нажатое состояние.