Основные команды для создания пользовательского интерфейса
Опытные пользователи нередко используют 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 содержит обширный набор команд и функций для создания типовых элементов пользовательского интерфейса. Объем данной книги не позволяет останавливаться на детальном описании этих функций, тем более что оно имеется в справочной системе. Поэтому мы ограничимся единственным примером: создание кнопки, на которой можно щелкнуть мышью и перевести ее в нажатое состояние.