Spec-Zone.ru › GTK 4.0

GtkWindow

GtkWindow — Окно верхнего уровня, которое может содержать другие виджеты

Функции

GtkWidget * gtk_window_new ()
void gtk_window_destroy ()
GtkWidget * gtk_window_get_child ()
void gtk_window_set_child ()
void gtk_window_set_title ()
void gtk_window_set_resizable ()
gboolean gtk_window_get_resizable ()
void gtk_window_set_modal ()
void gtk_window_set_default_size ()
void gtk_window_set_hide_on_close ()
gboolean gtk_window_get_hide_on_close ()
void gtk_window_set_transient_for ()
void gtk_window_set_destroy_with_parent ()
void gtk_window_set_display ()
gboolean gtk_window_is_active ()
gboolean gtk_window_is_maximized ()
gboolean gtk_window_is_fullscreen ()
GListModel * gtk_window_get_toplevels ()
GList * gtk_window_list_toplevels ()
GtkWidget * gtk_window_get_focus ()
void gtk_window_set_focus ()
GtkWidget * gtk_window_get_default_widget ()
void gtk_window_set_default_widget ()
void gtk_window_present ()
void gtk_window_present_with_time ()
void gtk_window_close ()
void gtk_window_minimize ()
void gtk_window_unminimize ()
void gtk_window_maximize ()
void gtk_window_unmaximize ()
void gtk_window_fullscreen ()
void gtk_window_fullscreen_on_monitor ()
void gtk_window_unfullscreen ()
void gtk_window_set_decorated ()
void gtk_window_set_deletable ()
void gtk_window_set_startup_id ()
gboolean gtk_window_get_decorated ()
gboolean gtk_window_get_deletable ()
const char * gtk_window_get_default_icon_name ()
void gtk_window_get_default_size ()
gboolean gtk_window_get_destroy_with_parent ()
const char * gtk_window_get_icon_name ()
gboolean gtk_window_get_modal ()
const char * gtk_window_get_title ()
GtkWindow * gtk_window_get_transient_for ()
GtkWindowGroup * gtk_window_get_group ()
gboolean gtk_window_has_group ()
void gtk_window_set_default_icon_name ()
void gtk_window_set_icon_name ()
void gtk_window_set_auto_startup_notification ()
gboolean gtk_window_get_mnemonics_visible ()
void gtk_window_set_mnemonics_visible ()
gboolean gtk_window_get_focus_visible ()
void gtk_window_set_focus_visible ()
GtkApplication * gtk_window_get_application ()
void gtk_window_set_application ()
void gtk_window_set_titlebar ()
GtkWidget * gtk_window_get_titlebar ()
void gtk_window_set_interactive_debugging ()

Свойства

GtkApplication * application Чтение / Запись
GtkWidget * child Чтение / Запись
gboolean decorated Чтение / Запись
int default-height Чтение / Запись
GtkWidget * default-widget Чтение / Запись
int default-width Чтение / Запись
gboolean deletable Чтение / Запись
gboolean destroy-with-parent Чтение / Запись
GdkDisplay * display Чтение / Запись
gboolean focus-visible Чтение / Запись
GtkWidget * focus-widget Чтение / Запись
gboolean fullscreened Чтение / Запись / Создание
gboolean hide-on-close Чтение / Запись
char * имя_иконки Чтение / Запись
gboolean активно Чтение
gboolean развернуто Чтение / Запись / Создание
gboolean mnemonics-visible Чтение / Запись
gboolean модальное Чтение / Запись
gboolean переразмеряемое Чтение / Запись
char * startup-id Запись
char * заголовок Чтение / Запись
GtkWindow * transient-for Чтение / Запись / Создание

Сигналы

void activate-default Действие
void activate-focus Действие
gboolean запрос_закрытия Выполняется последним
gboolean включить_отладку Действие
void keys-changed Выполняется первым

Действия

window.close
window.toggle-maximized
window.minimize
default.activate

Типы и значения

GtkWindow
struct GtkWindowClass

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ├── GtkAboutDialog
                ├── GtkDialog
                ├── GtkApplicationWindow
                ├── GtkAssistant
                ╰── GtkShortcutsWindow

Реализованные интерфейсы

GtkWindow реализует GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager и GtkRoot.

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkWindow — это окно верхнего уровня, которое может содержать другие виджеты. Окна обычно имеют декорации, которые находятся под управлением системы окон и позволяют пользователю управлять окном (изменять его размер, перемещать его, закрывать его и т. д.).

GtkWindow как GtkBuildable

Реализация GtkWindow интерфейса GtkBuildable поддерживает установку дочернего элемента в качестве панели заголовка, указав «titlebar» в качестве атрибута «type» элемента <child>.

Узлы CSS

window.background
├── <child>
╰── <titlebar child>.titlebar [.default-decoration]

GtkWindow имеет главный узел CSS с именем window и стилем класса .background.

Типичные классы стилей, используемые с главным узлом CSS, — это .csd (при использовании декораций на клиентской стороне), .solid-csd (для декораций на клиентской стороне без невидимых границ), .ssd (используется mutter при отрисовке декораций на серверной стороне). GtkWindow также представляет состояния окна с помощью следующих классов стилей в главном узле: .tiled, .maximized, .fullscreen. Специализированные типы окон часто добавляют свои собственные отличительные классы стилей, такие как .popup или .tooltip.

В целом, некоторые свойства CSS не имеют смысла для узла окна верхнего уровня, такие как отступы или поля. При использовании декораций на клиентской стороне без невидимых границ (т. е. к главному узлу окна добавляется класс стиля .solid-csd), граница CSS окна верхнего уровня используется для перетаскивания при изменении размера. В случае .csd область тени за пределами окна может использоваться для изменения её размера.

GtkWindow добавляет классы стилей .titlebar и .default-decoration к виджету, добавленному в качестве дочернего элемента панели заголовка.

Доступность

GtkWindow использует роль GTK_ACCESSIBLE_ROLE_WINDOW.

Функции

gtk_window_new ()

GtkWidget *
gtk_window_new (void);

Создаёт новый GtkWindow, который является главным окном, содержащим другие виджеты.

Чтобы получить окно без оформления (без рамок окна), используйте gtk_window_set_decorated().

Все главные окна, созданные с помощью gtk_window_new(), хранятся в внутреннем списке главных окон. Этот список можно получить с помощью gtk_window_list_toplevels(). Из-за того, что Gtk+ удерживает ссылку на окно внутри, gtk_window_new() не возвращает ссылку вызывающему коду.

Чтобы удалить GtkWindow, вызовите gtk_window_destroy().

Возвращает

новый GtkWindow.

gtk_window_destroy ()

void
gtk_window_destroy (GtkWindow *window);

Освобождает внутреннюю ссылку GTK на главные окна.

Параметры

window

окно для уничтожения

gtk_window_get_child ()

GtkWidget *
gtk_window_get_child (GtkWindow *window);

Получает дочерний виджет window.

Параметры

window

объект GtkWindow

Возвращает

дочерний виджет window.

[nullable][transfer none]

gtk_window_set_child ()

void
gtk_window_set_child (GtkWindow *window,
                      GtkWidget *child);

Устанавливает дочерний виджет window.

Параметры

window

объект GtkWindow

child

дочерний виджет.

[allow-none]

gtk_window_set_title ()

void
gtk_window_set_title (GtkWindow *window,
                      const char *title);

Устанавливает заголовок GtkWindow. Заголовок окна будет отображаться в его строке заголовка; в X Window System строка заголовка отображается менеджером окон, поэтому то, как отображается заголовок пользователю, может варьироваться в зависимости от его конкретной конфигурации. Заголовок должен помочь пользователю отличить это окно от других открытых окон. Хороший заголовок может включать имя приложения и имя текущего файла документа, например.

Передача NULL эквивалентна установке пустой строки в качестве заголовка.

Параметры

window

объект GtkWindow

title

заголовок окна.

[nullable]

gtk_window_set_resizable ()

void
gtk_window_set_resizable (GtkWindow *window,
                          gboolean resizable);

Устанавливает возможность изменения размера окна пользователем.

Окна по умолчанию изменяются пользователем в размере.

Параметры

window

объект GtkWindow

resizable

TRUE если пользователь может изменить размер этого окна

gtk_window_get_resizable ()

gboolean
gtk_window_get_resizable (GtkWindow *window);

Получает значение, установленное с помощью gtk_window_set_resizable().

Параметры

window

объект GtkWindow

Возвращает

TRUE если пользователь может изменить размер окна

gtk_window_set_modal ()

void
gtk_window_set_modal (GtkWindow *window,
                      gboolean modal);

Устанавливает режим окна модальным или немодальным. Модальные окна препятствуют взаимодействию с другими окнами в том же приложении. Чтобы модальные диалоговые окна оставались поверх главных окон приложения, используйте gtk_window_set_transient_for() для перевода диалога в дочернее состояние для родителя; большинство менеджеров окон затем не позволят снизить диалоговое окно ниже родительского.

Параметры

window

объект GtkWindow

modal

является ли окно модальным

gtk_window_set_default_size ()

void
gtk_window_set_default_size (GtkWindow *window,
                             int width,
                             int height);

Устанавливает размер по умолчанию окна. Если «естественный» размер окна (его запрос размера) больше, чем заданный по умолчанию, значение по умолчанию игнорируется.

В отличие от gtk_widget_set_size_request(), который устанавливает запрос размера виджета и, следовательно, не позволит пользователю уменьшить окно, эта функция устанавливает только начальный размер, как будто пользователь изменил размер окна сам. Пользователи все еще могут уменьшить окно, как обычно. Установка размера по умолчанию -1 означает использование «естественного» размера по умолчанию (запрос размера окна).

Размер по умолчанию окна влияет только при первом отображении окна; если окно скрыто и повторно отображается, оно запомнит размер, который у него был до скрытия, а не использует размер по умолчанию.

Окна не могут иметь размер 0x0, они должны иметь размер не менее 1x1, но передача 0 для width и height допустима, что приводит к размеру по умолчанию 1x1.

Если вы используете эту функцию для восстановления ранее сохранённого размера окна, обратите внимание, что сохранённый размер — это тот, который возвращается функцией gtk_window_get_default_size(). Использование непосредственного доступа к размещению окна не будет работать во всех случаях и может привести к изменению размера окна.

Параметры

window

объект GtkWindow

width

ширина в пикселях, или -1 для отмены значения по умолчанию для ширины

height

высота в пикселях, или -1 для отмены значения по умолчанию для высоты

gtk_window_set_hide_on_close ()

void
gtk_window_set_hide_on_close (GtkWindow *window,
                              gboolean setting);

Если setting равно TRUE, нажатие кнопки закрытия окна не уничтожит его, а только скроет его.

Параметры

window

объект GtkWindow

setting

скрывать ли окно при его закрытии

gtk_window_get_hide_on_close ()

gboolean
gtk_window_get_hide_on_close (GtkWindow *window);

Возвращает значение, определяющее, будет ли окно скрываться при нажатии кнопки закрытия.

Параметры

window

объект GtkWindow

Возвращает

TRUE если окно будет скрыто

gtk_window_set_transient_for ()

void
gtk_window_set_transient_for (GtkWindow *window,
                              GtkWindow *parent);

Окна-диалоги должны устанавливать транзиентность для основного окна приложения, из которого они были вызваны. Это позволяет менеджерам окон, например, держать диалоговое окно поверх основного окна или центрировать диалоговое окно по отношению к главному окну. gtk_dialog_new_with_buttons() и другие удобные функции в GTK иногда вызывают gtk_window_set_transient_for() от вашего имени.

Передача NULL для parent сбрасывает текущее транзитивное окно.

В Windows эта функция помещает дочернее окно поверх родительского, так же, как это сделал бы менеджер окон на X.

Параметры

window

a GtkWindow

parent

родительское окно или NULL.

[allow-none]

gtk_window_set_destroy_with_parent ()

void
gtk_window_set_destroy_with_parent (GtkWindow *window,
                                    gboolean setting);

Если setting равно TRUE, то уничтожение транзитивного родителя window также уничтожит и само window. Это полезно для диалогов, которые не должны сохраняться после завершения жизненного цикла главного окна, с которым они связаны, например.

Параметры

window

a GtkWindow

setting

устанавливает, уничтожать ли window вместе с его транзитивным родителем

gtk_window_set_display ()

void
gtk_window_set_display (GtkWindow *window,
                        GdkDisplay *display);

Устанавливает GdkDisplay, где отображается window; если окно уже отображено, оно будет скрыто, а затем отображено на новом дисплее.

Параметры

window

a GtkWindow.

display

a GdkDisplay.

gtk_window_is_active ()

gboolean
gtk_window_is_active (GtkWindow *window);

Возвращает значение, указывающее, является ли окно частью текущего активного верхнего уровня. (То есть, окно верхнего уровня, получающее нажатия клавиш.) Значение TRUE возвращается, если само окно является активным верхним уровнем. Вы можете использовать эту функцию, если хотите по-разному отрисовывать виджеты в активном окне по сравнению с виджетами в неактивном окне.

Параметры

window

a GtkWindow

Возвращает

TRUE если окно является частью текущего активного окна.

gtk_window_is_maximized ()

gboolean
gtk_window_is_maximized (GtkWindow *window);

Получает текущее состояние максимализации window.

Обратите внимание, что поскольку максимализация в конечном итоге обрабатывается менеджером окон и происходит асинхронно по отношению к запросу приложения, не следует ожидать, что возвращаемое значение этой функции изменится сразу (или вообще) в результате вызова gtk_window_maximize() или gtk_window_unmaximize().

Если окно еще не отображено, возвращаемое значение укажет, было ли начальное состояние максимализации.

Параметры

window

a GtkWindow

Возвращает

состояние максимализации окна.

gtk_window_is_fullscreen ()

gboolean
gtk_window_is_fullscreen (GtkWindow *window);

Получает текущее состояние полноэкранного режима window.

Обратите внимание, что поскольку полноэкранный режим в конечном итоге обрабатывается менеджером окон и происходит асинхронно по отношению к запросу приложения, не следует ожидать, что возвращаемое значение этой функции изменится сразу (или вообще) в результате вызова gtk_window_fullscreen() или gtk_window_unfullscreen().

Если окно еще не отображено, возвращаемое значение укажет, было ли начальное состояние полноэкранным.

Параметры

window

a GtkWindow

Возвращает

состояние полноэкранного режима окна.

gtk_window_get_toplevels ()

GListModel *
gtk_window_get_toplevels (void);

Возвращает список всех существующих окон верхнего уровня.

Если вы хотите перебирать список и выполнять действия, связанные с обратными вызовами, которые могут уничтожать виджеты или добавлять новые, имейте в виду, что список окон верхнего уровня будет меняться и будет испускаться сигнал "items-changed".

Возвращает

список виджетов верхнего уровня.

[transfer none][attributes элемент-тип=GtkWindow]

gtk_window_list_toplevels ()

GList *
gtk_window_list_toplevels (void);

Возвращает список всех существующих окон верхнего уровня. Виджеты в списке не ссылаются индивидуально. Если вы хотите перебирать список и выполнять действия, связанные с обратными вызовами, которые могут уничтожать виджеты, вы должны вызвать g_list_foreach (result, (GFunc)g_object_ref, NULL) сначала, а затем освободить все виджеты.

Возвращает

список виджетов верхнего уровня.

[element-type GtkWidget][transfer container]

gtk_window_get_focus ()

GtkWidget *
gtk_window_get_focus (GtkWindow *window);

Получает текущий виджет с фокусом в окне. Обратите внимание, что это виджет, который имел бы фокус, если бы окно верхнего уровня было с фокусом; если окно верхнего уровня не имеет фокуса, gtk_widget_has_focus (widget) не будет TRUE для виджета.

Параметры

window

a GtkWindow

Возвращает

текущий виджет с фокусом или NULL если такового нет.

[nullable][transfer none]

gtk_window_set_focus ()

void
gtk_window_set_focus (GtkWindow *window,
                      GtkWidget *focus);

Если focus не является текущим виджетом с фокусом и может получить фокус, устанавливает его как виджет с фокусом для окна. Если focus равно NULL, снимает фокус с виджета для этого окна. Для установки фокуса на определенный виджет в окне верхнего уровня обычно удобнее использовать gtk_widget_grab_focus() вместо этой функции.

Параметры

window

a GtkWindow

focus

виджет, который должен стать новым виджетом с фокусом, или NULL для снятия фокуса с любого виджета для окна верхнего уровня.

[allow-none]

gtk_window_get_default_widget ()

GtkWidget *
gtk_window_get_default_widget (GtkWindow *window);

Возвращает виджет по умолчанию для window .

См. gtk_window_set_default_widget() для получения более подробной информации.

Параметры

window

a GtkWindow

Возвращает

виджет по умолчанию или NULL , если такового нет.

[nullable][transfer none]

gtk_window_set_default_widget ()

void
gtk_window_set_default_widget (GtkWindow *window,
                               GtkWidget *default_widget);

Виджет по умолчанию — это виджет, который активируется при нажатии пользователем клавиши Enter в диалоговом окне (например). Эта функция устанавливает или сбрасывает виджет по умолчанию для GtkWindow.

Параметры

window

a GtkWindow

default_widget

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

[allow-none]

gtk_window_present ()

void
gtk_window_present (GtkWindow *window);

Отображает окно пользователю. Эта функция не должна использоваться, так как к моменту её вызова слишком поздно собирать корректный отметку времени для правильной работы предотвращения кражи фокуса.

Параметры

window

a GtkWindow

gtk_window_present_with_time ()

void
gtk_window_present_with_time (GtkWindow *window,
                              guint32 timestamp);

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

Если window скрыто, эта функция также вызывает gtk_widget_show().

Эта функция должна использоваться, когда пользователь пытается открыть окно, которое уже открыто. Например, если диалоговое окно настроек в данный момент открыто, и пользователь второй раз выбирает «Настройки» в меню; используйте gtk_window_present() для перемещения уже открытого диалогового окна, чтобы пользователь мог его видеть.

Отображает окно пользователю в ответ на взаимодействие пользователя. Отметка времени должна быть собрана, когда окно было запрошено для отображения (например, при нажатии на ссылку), а не когда окно готово к отображению.

Параметры

window

a GtkWindow

timestamp

отметка времени взаимодействия пользователя (обычно событие нажатия кнопки или клавиши), которое вызвало этот вызов

gtk_window_close ()

void
gtk_window_close (GtkWindow *window);

Запрашивает закрытие окна, аналогично тому, что происходит при нажатии пользователем кнопки закрытия в менеджере окон.

Эта функция может использоваться с кнопками закрытия в пользовательских строках заголовков.

Параметры

window

a GtkWindow

gtk_window_minimize ()

void
gtk_window_minimize (GtkWindow *window);

Запрашивает сворачивание указанного window .

Обратите внимание, что вы не должны предполагать, что окно обязательно будет свернуто после этого, так как система окон может не поддерживать эту функциональность; другие сущности (например, пользователь или менеджер окон) могут снова развернуть его, или менеджер окон может отсутствовать, в этом случае сворачивание не является возможным и т.д.

Разрешается вызывать эту функцию до отображения окна, в этом случае окно будет свернуто до его появления на экране.

Вы можете отслеживать результат этой операции с помощью свойства “state”.

Параметры

window

a GtkWindow

gtk_window_unminimize ()

void
gtk_window_unminimize (GtkWindow *window);

Запрашивает разворачивание указанного window .

Обратите внимание, что вы не должны предполагать, что окно обязательно будет развернуто после этого, так как система окон может не поддерживать эту функциональность; другие сущности (например, пользователь или менеджер окон) могут снова свернуть его, или менеджер окон может отсутствовать, в этом случае сворачивание не является возможным и т.д.

Вы можете отслеживать результат этой операции с помощью свойства “state”.

Параметры

window

a GtkWindow

gtk_window_maximize ()

void
gtk_window_maximize (GtkWindow *window);

Запрашивает максимальное отображение window, чтобы оно заполнило весь экран.

Обратите внимание, что вы не должны предполагать, что окно обязательно будет максимальным после этого, так как другие сущности (например, пользователь или менеджер окон) могут снова уменьшить его, а не все менеджеры окон поддерживают максимизацию.

Разрешается вызывать эту функцию до отображения окна, в этом случае окно будет максимизировано при первоначальном отображении на экране.

Вы можете отслеживать результат этой операции с помощью свойства “state” или прослушивая уведомления о свойстве “maximized”.

Параметры

window

a GtkWindow

gtk_window_unmaximize ()

void
gtk_window_unmaximize (GtkWindow *window);

Запрашивает размаксимизацию window .

Обратите внимание, что вы не должны предполагать, что окно обязательно будет размаксимизировано после этого, так как другие сущности (например, пользователь или менеджер окон) могут снова его максимизировать, и не все менеджеры окон обрабатывают запросы на размаксимизацию.

Вы можете отслеживать результат этой операции с помощью свойства “state” или прослушивая уведомления о свойстве “maximized”.

Параметры

window

a GtkWindow

gtk_window_fullscreen ()

void
gtk_window_fullscreen (GtkWindow *window);

Запрашивает перевод window в полноэкранный режим.

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

Вы можете отслеживать результат этой операции с помощью свойства “state” или прослушивая уведомления о свойстве “fullscreened”.

Параметры

window

a GtkWindow

gtk_window_fullscreen_on_monitor ()

void
gtk_window_fullscreen_on_monitor (GtkWindow *window,
                                  GdkMonitor *monitor);

Запрашивает размещение window в полноэкранном режиме на указанном monitor.

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

Вы можете отслеживать результат этой операции с помощью свойства “state” или прослушивая уведомления о свойстве “fullscreened”.

Параметры

window

a GtkWindow

monitor

на каком мониторе перейти в полноэкранный режим

gtk_window_unfullscreen ()

void
gtk_window_unfullscreen (GtkWindow *window);

Запрашивает отключение полноэкранного режима для window и возвращение к предыдущему состоянию.

Обратите внимание, что вы не должны предполагать, что окно определенно не будет полноэкранным после этого, поскольку другие сущности (например, пользователь или менеджер окон) могут снова перевести его в полноэкранный режим, и не все менеджеры окон учитывают запросы на отключение полноэкранного режима окон; обычно окно будет возвращено в свое нормальное состояние. Просто не пишите код, который падает, если этого не происходит.

Вы можете отслеживать результат этой операции с помощью свойства “state” или прослушивая уведомления о свойстве “fullscreened”.

Параметры

window

a GtkWindow

gtk_window_set_decorated ()

void
gtk_window_set_decorated (GtkWindow *window,
                          gboolean setting);

По умолчанию окна украшаются строкой заголовка, элементами управления изменением размера и т. д. Некоторые менеджеры окон позволяют GTK отключить эти украшения, создавая окно без границ. Если вы установите свойство decorated в значение FALSE с помощью этой функции, GTK сделает все возможное, чтобы убедить менеджер окон не украшать окно. В зависимости от системы эта функция может не оказывать никакого эффекта, если вызывается для окна, которое уже отображается, поэтому вы должны вызвать её перед вызовом gtk_widget_show().

В Windows эта функция всегда работает, поскольку никакая политика менеджера окон не задействована.

Параметры

window

a GtkWindow

setting

TRUE для украшения окна

gtk_window_set_deletable ()

void
gtk_window_set_deletable (GtkWindow *window,
                          gboolean setting);

По умолчанию окна имеют кнопку закрытия в рамке окна. Некоторые менеджеры окон позволяют GTK отключить эту кнопку. Если вы установите свойство deletable в значение FALSE с помощью этой функции, GTK сделает все возможное, чтобы убедить менеджер окон не показывать кнопку закрытия. В зависимости от системы эта функция может не оказывать никакого эффекта, если вызывается для окна, которое уже отображается, поэтому вы должны вызвать её перед вызовом gtk_widget_show().

В Windows эта функция всегда работает, поскольку никакая политика менеджера окон не задействована.

Параметры

window

a GtkWindow

setting

TRUE для украшения окна как удаляемого

gtk_window_set_startup_id ()

void
gtk_window_set_startup_id (GtkWindow *window,
                           const char *startup_id);

Идентификаторы уведомлений о запуске используются средой рабочего стола для отслеживания запуска приложения, предоставления обратной связи пользователю и других функций. Эта функция изменяет соответствующее свойство на базовом GdkSurface. Обычно идентификатор запуска управляется автоматически, и вы должны использовать эту функцию только в особых случаях, таких как передача фокуса от других процессов. Вы должны использовать эту функцию перед вызовом gtk_window_present() или любой эквивалентной функции, генерирующей событие отображения окна.

Эта функция полезна только в X11, не с другими целями GTK.

Параметры

window

a GtkWindow

startup_id

строка с идентификатором уведомления о запуске

gtk_window_get_decorated ()

gboolean
gtk_window_get_decorated (GtkWindow *window);

Возвращает, установлено ли для окна наличие украшений, таких как строка заголовка, с помощью gtk_window_set_decorated().

Параметры

window

a GtkWindow

Возвращает

TRUE если для окна установлено наличие украшений

gtk_window_get_deletable ()

gboolean
gtk_window_get_deletable (GtkWindow *window);

Возвращает, установлено ли для окна наличие кнопки закрытия с помощью gtk_window_set_deletable().

Параметры

window

a GtkWindow

Возвращает

TRUE если для окна установлено наличие кнопки закрытия

gtk_window_get_default_icon_name ()

const char *
gtk_window_get_default_icon_name (void);

Возвращает резервное имя значка для окон, которое было установлено с помощью gtk_window_set_default_icon_name(), или NULL, если эта функция не вызывалась.

Возвращаемая строка принадлежит GTK и не должна изменяться. Она действительна только до следующего вызова gtk_window_set_default_icon_name().

Возвращает

резервное имя значка для окон.

[nullable]

gtk_window_get_default_size ()

void
gtk_window_get_default_size (GtkWindow *window,
                             int *width,
                             int *height);

Получает размер окна по умолчанию. Значение 0 для ширины или высоты указывает на то, что размер по умолчанию для этого измерения не был явно установлен, поэтому будет использоваться «естественный» размер окна.

Параметры

window

a GtkWindow

width

место для хранения ширины по умолчанию или NULL.

[out][allow-none]

height

место для хранения высоты по умолчанию или NULL.

[out][allow-none]

gtk_window_get_destroy_with_parent ()

gboolean
gtk_window_get_destroy_with_parent (GtkWindow *window);

Возвращает, будет ли окно уничтожено вместе со своим родительским окном. См. gtk_window_set_destroy_with_parent().

Параметры

window

a GtkWindow

Возвращает

TRUE если окно будет уничтожено вместе со своим родительским окном.

gtk_window_get_icon_name ()

const char *
gtk_window_get_icon_name (GtkWindow *window);

Возвращает имя тематического значка для окна, см. gtk_window_set_icon_name().

Параметры

окно

объект GtkWindow

Возвращаемое значение

имя значка или NULL , если у окна нет тематического значка.

[nullable]

gtk_window_get_modal ()

gboolean
gtk_window_get_modal (GtkWindow *window);

Возвращает, является ли окно модальным. См. gtk_window_set_modal().

Параметры

окно

объект GtkWindow

Возвращаемое значение

TRUE , если окно настроено как модальное и устанавливает захват при показе

gtk_window_get_title ()

const char *
gtk_window_get_title (GtkWindow *window);

Получает заголовок окна. См. gtk_window_set_title().

Параметры

окно

объект GtkWindow

Возвращаемое значение

заголовок окна или NULL , если явно не был задан. Возвращаемая строка принадлежит виджету и не должна изменяться или освобождаться.

[nullable]

gtk_window_get_transient_for ()

GtkWindow *
gtk_window_get_transient_for (GtkWindow *window);

Получает родительское окно-транзиент для данного окна. См. gtk_window_set_transient_for().

Параметры

окно

объект GtkWindow

Возвращаемое значение

родительское окно-транзиент для данного окна или NULL , если родитель-транзиент не задан.

[nullable][transfer none]

gtk_window_get_group ()

GtkWindowGroup *
gtk_window_get_group (GtkWindow *window);

Возвращает группу для window или группу по умолчанию, если window равно NULL или если у window нет явной группы окон.

Параметры

окно

объект GtkWindow, или NULL.

[allow-none]

Возвращаемое значение

объект GtkWindowGroup для окна или группу по умолчанию.

[transfer none]

gtk_window_has-group ()

gboolean
gtk_window_has_group (GtkWindow *window);

Возвращает, имеет ли window явную группу окон.

Параметры

окно

объект GtkWindow

Возвращаемое значение

TRUE , если у window есть явная группа окон.

gtk_window_set-default-icon-name ()

void
gtk_window_set_default_icon_name (const char *name);

Устанавливает значок по умолчанию, который будет использоваться в качестве резервного для окон, на которых не был вызван gtk_window_set_icon_name().

Параметры

имя

имя тематического значка

gtk_window_set_icon_name ()

void
gtk_window_set_icon_name (GtkWindow *window,
                          const char *name);

Устанавливает значок для окна с помощью имени тематического значка. См. документацию для GtkIconTheme для более подробной информации. На некоторых платформах значок окна вообще не используется.

Обратите внимание, что это не имеет ничего общего со свойством WM_ICON_NAME, которое упоминается в ICCCM.

Параметры

окно

объект GtkWindow

имя

имя тематического значка.

[allow-none]

gtk_window_set_auto_startup_notification ()

void
gtk_window_set_auto_startup_notification
                               (gboolean setting);

По умолчанию, после показа первого GtkWindow, GTK вызывает gdk_display_notify_startup_complete(). Используйте эту функцию для отключения автоматического уведомления о запуске. Это может понадобиться, если ваше первое окно — это заставка, и вы хотите отложить уведомление до показа вашего основного окна, например.

В этом примере вы временно отключаете уведомления о запуске, показываете заставку, а затем снова включаете его, чтобы показ основного окна автоматически привело к уведомлению.

Параметры

настройка

TRUE для автоматического уведомления о запуске

gtk_window_get_mnemonics_visible ()

gboolean
gtk_window_get_mnemonics_visible (GtkWindow *window);

Получает значение свойства “mnemonics-visible”.

Параметры

окно

объект GtkWindow

Возвращаемое значение

TRUE , если мнемоники должны быть видны в этом окне.

gtk_window_set-mnemonics-visible ()

void
gtk_window_set_mnemonics_visible (GtkWindow *window,
                                  gboolean setting);

Устанавливает свойство “mnemonics-visible”.

Параметры

окно

объект GtkWindow

настройка

новое значение

gtk_window_get_focus-visible ()

gboolean
gtk_window_get_focus_visible (GtkWindow *window);

Получает значение свойства “focus-visible”.

Параметры

окно

объект GtkWindow

Возвращаемое значение

TRUE , если «прямоугольники фокуса» должны быть видны в этом окне.

gtk_window_set-focus-visible ()

void
gtk_window_set_focus_visible (GtkWindow *window,
                              gboolean setting);

Устанавливает свойство “focus-visible”.

Параметры

окно

объект GtkWindow

настройка

новое значение

gtk_window_get_application ()

GtkApplication *
gtk_window_get_application (GtkWindow *window);

Получает связанное с окном (если есть) приложение GtkApplication.

Параметры

окно

a GtkWindow

Возвращаемое значение

a GtkApplication, или NULL.

[nullable][transfer none]

gtk_window_set_application ()

void
gtk_window_set_application (GtkWindow *window,
                            GtkApplication *application);

Устанавливает или отменяет связанное с окном приложение GtkApplication.

Приложение будет сохраняться как минимум до тех пор, пока к нему привязаны окна (см. g_application_hold(), чтобы сохранить его без окон).

Обычно связь между приложением и окном сохраняется до уничтожения окна, но вы можете явно удалить её, установив application в NULL.

Это эквивалентно вызову gtk_application_remove_window() и/или gtk_application_add_window() для старого/нового приложения, соответственно.

Параметры

окно

a GtkWindow

приложение

a GtkApplication, или NULL для отмены связи.

[allow-none]

gtk_window_set_titlebar ()

void
gtk_window_set_titlebar (GtkWindow *window,
                         GtkWidget *titlebar);

Устанавливает пользовательскую панель заголовка для window .

Типичный виджет, используемый здесь, — GtkHeaderBar, так как он обеспечивает различные функции, ожидаемые от панели заголовков, позволяя при этом добавлять к нему дочерние виджеты.

Если вы устанавливаете пользовательскую панель заголовков, GTK постарается убедить менеджер окон не размещать собственную панель заголовков на окне. В зависимости от системы, эта функция может не работать для уже видимого окна, поэтому установите панель заголовка перед вызовом gtk_widget_show().

Параметры

окно

a GtkWindow

панель_заголовка

виджет для использования в качестве панели заголовка.

[allow-none]

gtk_window_get_titlebar ()

GtkWidget *
gtk_window_get_titlebar (GtkWindow *window);

Возвращает пользовательскую панель заголовков, установленную с помощью gtk_window_set_titlebar().

Параметры

окно

a GtkWindow

Возвращаемое значение

пользовательская панель заголовка, или NULL.

[nullable][transfer none]

gtk_window_set_interactive_debugging ()

void
gtk_window_set_interactive_debugging (gboolean enable);

Открывает или закрывает интерактивный отладчик, который предоставляет доступ к иерархии виджетов приложения и полезным инструментам отладки.

Параметры

включить

TRUE для включения интерактивной отладки

Типы и значения

GtkWindow

typedef struct _GtkWindow GtkWindow;

struct GtkWindowClass

struct GtkWindowClass {
  GtkWidgetClass parent_class;

  /* G_SIGNAL_ACTION signals for keybindings */

  void     (* activate_focus)   (GtkWindow *window);
  void     (* activate_default) (GtkWindow *window);
  void	   (* keys_changed)     (GtkWindow *window);
  gboolean (* enable_debugging) (GtkWindow *window,
                                 gboolean   toggle);
  gboolean (* close_request)    (GtkWindow *window);
};

Члены

activate_focus ()

Активирует текущий выделенный виджет в окне.

activate_default ()

Активирует виджет по умолчанию для окна.

keys_changed ()

Сигнал генерируется при изменении набора акселераторов или мнемоник, связанных с окном.

enable_debugging ()

Обработчик класса для сигнала сочетания клавиш “enable-debugging”.

close_request ()

Обработчик класса для сигнала “close-request”.

Подробное описание свойств

Свойство “application”

  “application”              GtkApplication *

Присоединённое к окну приложение GtkApplication.

Приложение будет оставаться активным как минимум до тех пор, пока к нему прикреплены окна (см. g_application_hold() для способов его поддержания без окон).

Обычно связь между приложением и окном сохраняется до момента уничтожения окна, но вы можете её явно разорвать, установив свойство :application в значение NULL.

Владелец: GtkWindow

Флаги: Чтение / Запись

Свойство “child”

  “child”                    GtkWidget *

Дочерний виджет.

Владелец: GtkWindow

Флаги: Чтение / Запись

Свойство “decorated”

  “decorated”                gboolean

Указывает, должно ли окно иметь оформление от менеджера окон.

Владелец: GtkWindow

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “default-height”

  “default-height”           int

Высота окна по умолчанию.

Владелец: GtkWindow

Флаги: Чтение / Запись

Допустимые значения: >= -1

Значение по умолчанию: 0

Свойство “default-widget”

  “default-widget”           GtkWidget *

Виджет по умолчанию.

Владелец: GtkWindow

Флаги: Чтение / Запись

Свойство “default-width”

  “default-width”            int

Ширина окна по умолчанию.

Владелец: GtkWindow

Флаги: Чтение / Запись

Допустимые значения: >= -1

Значение по умолчанию: 0

Свойство “deletable”

  “deletable”                gboolean

Указывает, должен ли фрейм окна иметь кнопку закрытия.

Владелец: GtkWindow

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “destroy-with-parent”

  “destroy-with-parent”      gboolean

Указывает, должно ли окно быть уничтожено при уничтожении родителя.

Владелец: GtkWindow

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “display”

  “display”                  GdkDisplay *

Экран, на котором будет отображено окно.

Владелец: GtkWindow

Флаги: Чтение / Запись

Свойство “focus-visible”

  “focus-visible”            gboolean

Указывает, видны ли в этом окне "прямоугольники фокуса" в данный момент.

Это свойство поддерживается GTK на основе входных данных пользователя и не должно настраиваться приложениями.

Владелец: GtkWindow

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “focus-widget”

  “focus-widget”             GtkWidget *

Виджет фокуса.

Владелец: GtkWindow

Флаги: Чтение / Запись

Свойство “fullscreened”

  “fullscreened”             gboolean

Указывает, находится ли окно в полноэкранном режиме.

Установка этого свойства эквивалентна вызову gtk_window_fullscreen() и gtk_window_unfullscreen(); обе операции асинхронны, поэтому вам потребуется подключение к сигналу “notify” для получения информации об успешности операции.

Владелец: GtkWindow

Флаги: Чтение / Запись / Создание

Значение по умолчанию: FALSE

Свойство “hide-on-close”

  “hide-on-close”            gboolean

Указывает, должно ли окно скрываться при нажатии на кнопку закрытия.

Владелец: GtkWindow

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “icon-name”

  “icon-name”                char *

Свойство :icon-name задаёт имя тематического значка, используемого в качестве значка окна. См. GtkIconTheme для получения более подробной информации.

Владелец: GtkWindow

Флаги: Чтение / Запись

Значение по умолчанию: NULL

Свойство “is-active”

  “is-active”                gboolean

Указывает, является ли верхнее окно текущим активным окном.

Владелец: GtkWindow

Флаги: Чтение

Значение по умолчанию: FALSE

Свойство “maximized”

  “maximized”                gboolean

Указывает, является ли окно максимальным.

Установка этого свойства эквивалентна вызову gtk_window_maximize() и gtk_window_unmaximize(); обе операции асинхронны, поэтому вам потребуется подключение к сигналу “notify” для получения информации об успешности операции.

Владелец: GtkWindow

Флаги: Чтение / Запись / Создание

Значение по умолчанию: FALSE

Свойство “mnemonics-visible”

  “mnemonics-visible”        gboolean

Указывает, видны ли в этом окне в данный момент мнемоники.

Это свойство поддерживается GTK на основе входных данных пользователя и не должно настраиваться приложениями.

Владелец: GtkWindow

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “modal”

  “modal”                    gboolean

Если TRUE, окно является модальным (другие окна недоступны, пока это окно открыто).

Владелец: GtkWindow

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “resizable”

  “resizable”                gboolean

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

Владелец: GtkWindow

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “startup-id”

  “startup-id”               char *

Свойство :startup-id — это свойство только для записи, используемое для установки идентификатора уведомления о запуске окна. См. gtk_window_set_startup_id() для получения более подробной информации.

Владелец: GtkWindow

Флаги: Запись

Значение по умолчанию: NULL

Свойство “title”

  “title”                    char *

Заголовок окна.

Владелец: GtkWindow

Флаги: Чтение / Запись

Значение по умолчанию: NULL

Свойство “transient-for”

  “transient-for”            GtkWindow *

Родительское окно (transient parent). См. gtk_window_set_transient_for() для получения более подробной информации о модальных окнах.

Владелец: GtkWindow

Флаги: Чтение / Запись / Создание

Подробности сигналов

Сигнал “activate-default”

void
user_function (GtkWindow *window,
               gpointer   user_data)

Сигнал ::activate-default — это сигнал для привязки клавиш, который генерируется, когда пользователь активирует виджет по умолчанию в window.

Параметры

window

окно, получившее сигнал

user_data

данные пользователя, установленные при подключении обработчика сигналов.

Флаги: Action

Сигнал “activate-focus”

void
user_function (GtkWindow *window,
               gpointer   user_data)

Сигнал ::activate-focus — это сигнал для привязки клавиш, который генерируется, когда пользователь активирует виджет, имеющий фокус в window.

Параметры

window

окно, получившее сигнал

user_data

данные пользователя, установленные при подключении обработчика сигналов.

Флаги: Action

Сигнал “close-request”

gboolean
user_function (GtkWindow *window,
               gpointer   user_data)

Сигнал ::close-request генерируется, когда пользователь нажимает кнопку закрытия окна.

Возвращаемое значение: TRUE для остановки вызова других обработчиков сигнала

Параметры

window

окно, в котором генерируется сигнал

user_data

данные пользователя, установленные при подключении обработчика сигналов.

Флаги: Run Last

Сигнал “enable-debugging”

gboolean
user_function (GtkWindow *window,
               gboolean   toggle,
               gpointer   user_data)

Сигнал ::enable-debugging — это сигнал для привязки клавиш, который генерируется, когда пользователь включает или отключает интерактивную отладку. Когда toggle TRUE, интерактивная отладка включается или выключается, когда она FALSE, отладчик нацелится на виджет под указателем.

Стандартные сочетания клавиш для этого сигнала — Ctrl-Shift-I и Ctrl-Shift-D.

Возвращаемое значение: TRUE если сочетание клавиш было обработано

Параметры

window

окно, в котором генерируется сигнал

toggle

переключить отладчик

user_data

данные пользователя, установленные при подключении обработчика сигналов.

Флаги: Action

Сигнал “keys-changed”

void
user_function (GtkWindow *window,
               gpointer   user_data)

Сигнал ::keys-changed генерируется, когда изменяется набор ускорителей или мнемоников, связанных с window.

Параметры

window

окно, получившее сигнал

user_data

данные пользователя, установленные при подключении обработчика сигналов.

Флаги: Run First

Подробности действий

Действие “window.close”

Закрыть окно.

Действие “window.toggle-maximized”

Максимизировать или восстановить окно.

Действие “window.minimize”

Закрыть окно.

Действие “default.activate”

Активировать виджет по умолчанию.

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkWindow.html

Spec-Zone.ru

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