Общие сведения о визуальной среде GUIDE
Приложения с графическим интерфейсом быстро приобрели популярность среди пользователей системы MATLAB, однако создание таких приложений на M-языке является достаточно сложным как для начинающих пользователей, так и для программистов средней квалификации. В связи с этим последние версии системы MATLAB приобрели специальные инструментальные средства для визуально-ориентированного программирования и проектирования приложений с GUI. Состав этих функций следующий:
– GUIDE – конструктор графического интерфейса;
– Property Inspector – инспектор свойств;
– Object Browser – браузер объекта;
– M-file Editor – редактор M-файлов;
– Component Callbacks – средство создания функций обработки событий для компонентов;
– Figure Callbacks – средство создания функций для обработки событий окон;
– Align Objects – средства выравнивания положения объектов;
– Grid and Rules – средства управления выводом сетки и линейками просмотра;
– Menu Editor – редактор меню;
– The Order Editor – средство изменения порядка активизации компонентов при нажатии клавиши Tab.
Перечисленные средства дают достаточный набор средств для визуально-ориентированного программирования и проектирования GUI. Сдежует отметить, что такой подход характерен для целого ряда современных визуально-ориентированных языков программирования (Visual Basic, Visual C и др.) и существенно облегчает создание приложений с GUI. Это обусловлено тем фактом, что в данном случае генерация программного кода происходит автоматически, что минимизирует усилия пользователя по программированию, а порой их, более того, вообще не требуется вовсе.
Главным средством в визуально-ориентированном программировании GUI является приложение (среда, инструмент) GUIDE (GUI Designer), при работе с которым можно создавать окна GUI посредством выбора мышью нужных элементов управления и перемещения их в окно GUI. Таким образом, могут создаваться различные элементы интерфейса, например кнопки, меню, списки, разного рода переключатели, текстовые поля и т.д. При этом возможно программирование событий, которые возникают при обращении пользователя к заданным элементам управления. Визуальное программирование совмещается с объектно-ориентированным, в частности в первом широко используется свойство наследования признаков родительских объектов их потомками.
Приложение с GUI может состоять из одного окна (основного) или нескольких окон и осуществлять вывод графической и текстовой информации как в основное окно приложения, так и в отдельные окна. Система MATLAB имеет ряд функций создания стандартных диалоговых окон для открытия и сохранения файлов, печати, выбора шрифта для текстовых объектов, создания окон для ввода данных и др. Эти средства (объекты) можно использовать в приложениях пользователя.
В справочной системе MATLAB можно найти 10-минутную англоязычную демонстрацию, посвященную созданию приложений с графическим интерфейсом с помощью среды GUIDE.
Для открытия окна среды GUIDE непосредственно из командного окна MATLAB следует использовать команду guide.
В результате на экране появится окно быстрого старта GUIDE Quick Start (рис. 2.40.1).
Рис. 2.40.1. Окно GUIDE Quick Start.
В данном окне можно создавать приложение требуемого типа (вкладка Create New GUI) или открыть существующее (вкладка Open Existing GUI). В последнем случае (рис. 2.40.2) при открытии приложение можно выбрать из недавно открывавшихся или при помощи кнопки Browse запустить файл с соответствующим приложением с диска.
При создании нового приложения (рис. 2.40.1) можно выбрать один из следующих шаблонов:
Blank GUI default – будет создано пустое окно приложения без элементов управления (рис. 2.40.3);
GUI with Uicontrols – появится работающее окно приложения (заготовка) с кнопками, переключателями и текстовыми полями ввода (рис. 2.40.4), иллюстрирующее создание приложения с GUI вычислительного характера;
GUI with Axis and Menu – откроется работающее приложение (заготовка) с меню, осями, списком (раскрывающимся) и кнопкой (рис. 2.40.5), иллюстрирующее создание приложения с GUI графического характера;
Modal Question Dialog – будет создано модальное диалоговое окно (заготовка), иллюстрирующее простейший диалог (рис. 2.40.6).
Рис. 2.40.2. Окно GUIDE Quick Start(вкладка Open Existing GUI).
С методической точки зрения изучение принципов создания графических приложений в системе MATLAB правильнее всего начать на базе пустого приложения, самостоятельно разместить в окне все необходимые элементы и написать текст программы.
В окне пустого приложения находятся (рис. 2.40.3) панель инструментов (расположенная горизонтально под главным меню) и палитра инструментов (расположенная вертикально слева).
На палитре инструментов находятся следующие стандартные компоненты: селекция (выбор) объектов создаваемого окна GUIDE – Select , обычная кнопка (кнопка OK) – Push Button , полоса скроллинга (линейка прокрутки, слайдер) – Slider , переключатель (радиокнопка (беспроводная)) – Radio Button , флажок (область задания опции) – Check Box , окно редактирования (кнопка ввода и редактирования текста) – Edit Text , метка (статический текст, область ввода текста) – Static Text , раскрывающийся список – Pop-up Menu , список – Listbox , кнопка-переключатель – Toggle Button , таблица – Table , оси (оси графика) – Axes , обычная панель (панель) – Panel , панель для объединения радиокнопок или флажков (кнопка для групп объектов) – Button Group , компоненты ActiveX – ActiveX Component .
Меню создания приложения с GUI (рис. 2.40.3) содержит следующие позиции: File – файловые операции, вызов окна Preferences и печать; Edit – обычные операции редактирования и работы с буфером операционной системы Microsoft Windows; View – просмотр деталей GUI; Layout – разметка окна; Tools – вызов инструментальных средсв; Help – вызов справки.
Рис. 2.40.3. Шаблон пустого приложения.
Рис. 2.40.4. Окно приложения на базе шаблона GUI with Uicontrols.
Рис. 2.40.5. Окно приложения на базе шаблона GUI with Axis and Menu.
Рис. 2.40.6. Окно приложения на базе шаблона Modal Question Dialog.
На панели инструментов, расположенной ниже рассмотренного меню, находятся следующие кнопки: создание нового окна с GUI – New , открытие окна загрузки файлов с окнами GUI – Open , открытие окна сохранения файла с окном GUI – Save , вырезание объекта и перенос его в буфер – Cut , копирование объекта в буфер – Copy , перенос объекта из буфера с сохранением его в нем – Paste , отмена последней операции – Undo , возврат к отмененной операции – Redo , выравнивание объектов – Align Objects , вывод окна редактора меню – Menu Editor , вывод окна редактора порядка обвода элементов клавишей Tab – Tab Order Editor , вывод окна настойки панели инструментов – Toolbar Editor , вывод окна редактора M-файлов – Editor , вывод окна инспектора свойств – Property Inspector , вывод окна браузера объектов – Object Browser , запуск созданного приложения с GUI – Run Figure .
Для размещения компоненты на форме требуется выделить его мышкой, а затем еще одним щелчком мыши перенести компонент в окне приложения. Компоненты, расположенные в данном окне, можно перемещать в другое место, изменять их размеры (стандартными для операционной системы Microsoft Windows приемами). Удаление компонент из окна осуществляется при помощи клавиши Delete. Заметим, что компоненты в окне вероятнее всего не получится расположить идеально точно. Для выравнивания их следует выделить с помощью кнопки , расположенной на палитре инструментов (рис. 2.40.3).
Рассмотрим процесс выравнивания на примере четырех компонентов, представленных на рис. 2.40.7.
Для выравнивания выделенных компонент служит кнопка выравнивания объектов (Align Objects) , после щелчка по которой появляется диалоговое окно выравнивания, показанное на рис. 2.40.8. В этом окне можно осуществить вертикальное (Vertical) и горизонтальное (Horizontal) выравнивание (Align) компонентов по любой из сторон или по центру. Также в окне можно установить одинаковое расстояние между компонентами по вертикали (Vertical) и горизонтали (Horizontal) с помощью кнопок ряда Distribute. Кроме того, после активации опции Set spacing можно задать конкретное расстояние между ними. На рис. 2.40.9 представлен результат вертикального выравнивание компонентов (при одинаковом расстоянии между ними в 50 пикселей, а на рис. 2.40.10 – результат горизонтального выравнивания тех же компонент.