Spec-Zone.ru › Octave 9

Далее: Пользовательские настройки, Предыдущее: Элементы пользовательского интерфейса, Вверх: Разработка графического интерфейса [Оглавление][Индекс]

35.4 Функции служебного интерфейса GUI ¶

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

: data = guidata (h) ¶
: guidata (h, data) ¶

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

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

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

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

: hdata = guihandles (h) ¶
: hdata = guihandles ¶

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

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

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

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

: tf = have_window_system () ¶

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

См. также: isguirunning.

: tf = isguirunning () ¶

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

См. также: have_window_system.

: pos = getpixelposition (h) ¶
: pos = getpixelposition (h, rel_to_fig) ¶

Возвращает положение компонента пользовательского интерфейса в пиксельных единицах.

Первый аргумент h должен быть дескриптором допустимого графического объекта типа uibuttongroup, uicontrol, uipanel, uitable, axes или figure. Для других типов объектов функция возвращает нули.

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

Возвращаемое значение pos — это вектор из 4 элементов со значениями [lower_left_X, lower_left_Y, width, height].

См. также: get.

: fonts = listfonts () ¶
: fonts = listfonts (h) ¶

Перечисляет системные шрифты.

Если предоставлен дескриптор графического объекта h, также включите шрифт из свойства "FontName" объекта в список.

Примечание по программированию: на системах, которые не используют FontConfig напрямую (кроме Linux), кеш шрифтов создается при установке Octave. После установки новых шрифтов необходимо вручную выполнить system ("fc-cache -fv").

См. также: uisetfont, text, axes, uicontrol.

: movegui ¶
: movegui (h) ¶
: movegui (pos) ¶
: movegui (h, pos) ¶
: movegui (h, event) ¶
: movegui (h, event, pos) ¶

Перемещает фигуру, указанную дескриптором h, в заданное положение на экране, определённое pos.

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

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

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

north

Центр по вертикали вверху экрана.

south

Центр по вертикали внизу экрана.

east

Центр по горизонтали справа экрана.

west

Центр по горизонтали слева экрана.

northeast

В правом верхнем углу экрана.

northwest

В левом верхнем углу экрана.

southeast

В правом нижнем углу экрана.

southwest

В левом нижнем углу экрана.

center

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

onscreen (default)

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

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

: openvar (name) ¶

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

END_OF_DOCUMENT_MARKER
: uiwait ¶
: uiwait (h) ¶
: uiwait (h, timeout) ¶

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

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

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

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

: uiresume (h) ¶

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

Дескриптор h должен быть таким же, как и дескриптор, указанный в uiwait. Если дескриптор некорректен или нет ожидания вызова uiwait для фигуры с дескриптором 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–2023 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/v9.2.0/GUI-Utility-Functions.html

Spec-Zone.ru

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