Spec-Zone.ru › Octave 5

35.4 Функции GUI-утилит

Эти функции не реализуют элемент графического интерфейса, но полезны при разработке программ, которые это делают. Функции uiwait, uiresume, и waitfor доступны только с наборами инструментов qt или fltk.

data = guidata (h)
guidata (h, data)

Запрос или установка пользовательских данных графического интерфейса.

Данные GUI хранятся в дескрипторе окна figure h. Если h не является дескриптором окна figure, то для хранения используются данные родительского окна figure.

data должен быть одиночным объектом, что обычно предпочтительно, если это контейнер данных, такой как массив ячеек или структура, чтобы дополнительные элементы данных можно было легко добавить.

См. также: getappdata, setappdata, get, set, getpref, setpref.

hdata = guihandles (h)
hdata = guihandles

Возвращает структуру дескрипторов объектов для окна figure, связанного с дескриптором h.

Если дескриптор не указан, используется текущее окно figure, возвращаемое gcf.

Имя поля для каждого элемента hdata берется из свойства "tag" графического объекта. Если тег пустой, то дескриптор не возвращается. Если несколько графических объектов имеют одинаковый тег, то элемент hdata будет вектором дескрипторов. guihandles включает все возможные дескрипторы, включая те, для которых "HandleVisibility" является "off".

См. также: guidata, findobj, findall, allchild.

have_window_system ()

Возвращает true, если система окон доступна (X11, Windows или Apple OS X), и false в противном случае.

См. также: isguirunning.

isguirunning ()

Возвращает true, если Octave запущена в режиме GUI, и false в противном случае.

См. также: have_window_system.

movegui
movegui (h)
movegui (pos)
movegui (h, pos)
movegui (h, event)
movegui (h, event, pos)

Перемещает окно figure, заданное дескриптором h, в положение на экране, определенное pos.

h — дескриптор окна figure или дескриптор графического объекта. В последнем случае используется родительское окно figure. Если не указано, h будет установлен на дескриптор соответствующего окна figure, если выполняется обратный вызов (gcbf), в противном случае он будет установлен на дескриптор текущего окна figure (gcf).

pos — либо числовой вектор из двух значений, либо строка. Если pos — числовой вектор, то он должен иметь вид [h, v], определяющий горизонтальные и вертикальные смещения окна figure относительно экрана. Положительное значение указывает смещение между левой (или нижней для вертикальной компоненты) стороной экрана и левой (или нижней) стороной окна. Отрицательное значение указывает смещение между правой (или верхней) стороной экрана и правой (или верхней) стороной окна.

Возможные значения для pos в виде строки:

north

Верхний центр экрана.

south

Нижний центр экрана.

east

Правый центр экрана.

west

Левый центр экрана.

northeast

Верхний правый угол экрана.

northwest

Верхний левый угол экрана.

southeast

Нижний правый угол экрана.

southwest

Нижний левый угол экрана.

center

Центр экрана.

onscreen (default)

Окно будет минимально перемещено, чтобы быть полностью видимым на экране, с дополнительным отступом в 30 пикселей от краев экрана. Это значение по умолчанию, если не указано другое.

event содержит данные события, которые будут проигнорированы. Эта конструкция позволяет вызвать movegui из обратного вызова.

openvar (name)

Открыть переменную name в графическом редакторе переменных.

uiwait
uiwait (h)
uiwait (h, timeout)

Приостановить выполнение программы до тех пор, пока окно figure с дескриптором h не будет удалено или uiresume не будет вызвано.

Если дескриптор окна figure не указан, используется текущее окно figure. Если дескриптор окна figure недействителен или текущее окно figure отсутствует, функция возвращается немедленно.

Если указан timeout, он определяет количество секунд ожидания удаления окна figure или вызова uiresume. Значение таймаута должно быть не менее 1. Если указано меньшее значение, выводится предупреждение, и используется значение таймаута 1. Если значение timeout не является целым числом, оно усекается до ближайшего целого в сторону нуля. Если timeout не указан, выполнение программы приостанавливается неопределенно.

См. также: uiresume, waitfor.

uiresume (h)

Возобновить выполнение программы, приостановленное с помощью uiwait.

Дескриптор h должен совпадать с дескриптором, указанным в uiwait. Если дескриптор недействителен или вызов uiwait не ожидается для окна figure с дескриптором h, функция ничего не делает.

См. также: uiwait.

waitfor (h)
waitfor (h, prop)
waitfor (h, prop, value)
waitfor (…, "timeout", timeout)

Приостановить выполнение текущей программы до тех пор, пока не будет выполнено условие на графическом дескрипторе h.

Пока программа приостановлена, графические события обрабатываются нормально, что позволяет обратным вызовам изменять состояние графических объектов. Эта функция рекурсивна и может быть вызвана из обратного вызова, в то время как другой вызов waitfor ожидает в верхнем уровне.

В первом варианте выполнение программы приостанавливается до тех пор, пока графический объект h не будет уничтожен. Если графический дескриптор недействителен или если h является корневым графическим дескриптором и свойство prop не было предоставлено, функция возвращается немедленно.

Во втором варианте выполнение приостанавливается до тех пор, пока графический объект не будет уничтожен или свойство с именем prop не будет изменено. Если графический дескриптор недействителен или свойство не существует, функция возвращается немедленно.

В третьем варианте выполнение приостанавливается до тех пор, пока графический объект не будет уничтожен или свойство с именем prop не будет установлено в value. Для сравнения значений свойств используется функция isequal. Если графический дескриптор недействителен, свойство не существует или свойство уже установлено в value, функция возвращается немедленно.

Дополнительный таймаут может быть задан с помощью свойства "timeout". Это значение таймаута — количество секунд ожидания выполнения условия. timeout должен быть не менее 1. Если указано меньшее значение, выводится предупреждение, и используется значение 1. Если значение таймаута не является целым числом, оно усекается в сторону нуля.

Чтобы определить условие на свойстве с именем "timeout", используйте строку '\timeout'.

Во всех случаях нажатие CTRL-C немедленно останавливает выполнение программы.

См. также: waitforbuttonpress, isequal.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v5.2.0/GUI-Utility-Functions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API