В системе MATLAB дескрипторная графика позволяет конструировать детали графического пользовательского интерфейса, при этом различные функции и M-файлы вызываются из графического окна стандартного вида. Наполнение окна элементами интерфейса (кнопками, меню, слайдерами, надписями и т.д.) задается пользователем. Полный список команд и функций для проектирования пользовательского интерфейса из командной строки можно получить, задав команду help uitools.
В таблице 2.39.1 приведены команды и функции проектирования GUI в командном режиме работы.
Таблица 2.39.1. Команды и функции проектирования GUI.
Наименование команды / функции | Назначение |
uicontrol | Создание управляющего элемента |
uimenu | Создание пользовательского меню |
ginput | Графический ввод с помощью мыши |
Перечень команд и функций пользовательского интерфейса | |
dragrect | Создание выделяющего прямоугольника с помощью мыши |
rbbox | Растягивание прямоугольника мышью |
selectmoveresize | Интерактивное выделение, перемещение и копирование объектов с помощью мыши |
waitforbuttonpress | Ожидание нажатия клавиши клавиатуры или кнопки мыши в окне |
waitfor | Прекращение выполнения программы в ожидании уничтожения заданного графического объекта или изменения ее свойств |
unwait | Прекращение выполнения программы в ожидании вызова функции uiresume или закрытия заданного графического окна |
uiresume | Возобновление выполнения после блокировки |
uisuspend | Прекращение интерактивного состояния фигуры |
uirestore | Возобновление интерактивного состояния фигуры |
Средства проектирования пользовательского интерфейса | |
guide | Создание GUI |
align | Выравнивание положение объектов интерфейса |
cbedit | Изменение повторного вызова объектов |
menuedit | Изменение меню |
propedit | Изменение свойств объектов |
Средства создания диалоговых окон | |
dialog | Создание диалогового окна |
axlimdlg | Ограничение размеров диалогового окна |
errordlg | Создание окна с сообщением об ошибке |
helpdlg | Создание справочного окна |
inputdlg | Создание окна диалога ввода |
listdlg | Создание окна диалога для выбора вариантов параметра из списка |
menu | Создание меню диалогового ввода |
msgbox | Создание окна сообщений |
questdlg | Создание окна запроса |
warndlg | Создание окна предупреждения |
uigetfile | Создание стандартного окна открытия файлов |
uisetcolor | Создание окна выбора цвета |
uisetfont | Создание окна выбора шрифта |
pagedlg | Создание диалогового окна параметров страницы |
printdlg | Создание диалогового окна печати |
waitbar | Создание окна с индикатором прогресса |
Создание меню | |
makemenu | Создание структуры меню |
uiputfile | Создание стандартного окна записи файлов |
menubar | Установление типовых свойств для объекта MenuBar |
umtoggle | Изменение статуса параметра «checked» для объекта uimenu |
winmenu | Создание подменю для меню Window |
Создание кнопок панели инструментов и управление ими | |
btngroup | Создание кнопки панели инструментов |
btnstate | Запрос статуса кнопки |
btnpress | Управление кнопкой |
btndown | Нажатие кнопки |
btnup | Отпускание кнопки |
Утилиты задания свойств объекта figure / axis | |
clruprop | Удалить свойство объекта |
getuprop | Запросить свойство объекта |
setuprop | Установить свойство объекта |
Вспомогательные утилиты | |
allchild | Запросить все порожденные объекты |
findall | Найти все объекты |
hidegui | Скрыть / открыть объекты GUI |
edtext | Интерактивное редактирование объектов text |
getstatus | Запросить свойства строки объекта figure |
setstatus | Установить свойства строки объекта figure |
popupstr | Запросить свойства строки выпадающего меню |
remapfig | Изменить положение объекта figure |
setptr | Установить указатель на объект figure |
getptr | Получить указатель на объект figure |
overobj | Запросить дескриптор объекта, над которым находится курсор мыши |
Таким образом, MATLAB содержит обширный набор команд и функций для создания типовых элементов пользовательского интерфейса.
В директории TOOLBOX/MATLAB/DEMOS можно найти множество простых и сложных примеров программирования GUI для решения разнообразных задач. Доступ к этим примерам достаточно прост – следует в командной строке набрать demos, после чего в разделе справки MATLAB Examples подобрать интересующий пример.