Книга: Основы программирования в Linux

GtkWindow

GtkWindow

GtkWindow — базовый элемент всех приложений GTK+. До сих пор вы использовали его для хранения своих виджетов.

GtkWidget
 +---- GtkContainer
        +---- GtkBin
               +---- GtkWindow

Существуют десятки вызовов API GtkWindow, но далее приведены функции, заслуживающие особого внимания.

GtkWidget* gtk_window_new(GtkWindowType type);
void gtk_window_set_title(GtkWindow *window, const gchar *title);
void gtk_window_set_position(GtkWindow *window, GtkWindowPosition position);
void gtk_window_set_default_size(GtkWindow *window, gint width, gint height);
void gtk_window_resize(GtkWindow *window, gint width, gint height);
void gtk_window_set_resizable(GtkWindow *window, gboolean resizable);
void gtk_window_present(GtkWindow *window);
void gtk_window_maximize(GtkWindow *window);
void gtk_window_unmaximize(GtkWindow *window);

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

Функция gtk_window_set_title изменяет текст полосы заголовка, информируя оконный менеджер запроса.

Примечание

Поскольку за отображение оформления окна отвечает оконный менеджер, а не библиотека GTK+, шрифт, цвет и размер текста зависят от вашего выбора оконного менеджера.

Функция gtk_window_setposition управляет начальным местоположением на экране. Параметр position может принимать пять значений, перечисленных в табл. 16.2.

Таблица 16.2

Параметр position Описание
GTK_WIN_POS_NONE Окно располагается по усмотрению оконного менеджера
GTK_WIN_POS_CENTER Окно центрируется на экране
GTK_WIN_POS_MOUSE Расположение окна задаётся указателем мыши
GTK_WIN_POS_CENTER_ALWAYS Окно остается отцентрированным независимо от его размера
GTK_WIN_POS_CENTER_ON_PARENT Окно центрируется относительно родительского окна (удобно для диалоговых окон)

Функция gtk_window_set_default_size задает окно на экране в единицах отображения GTK+. Явное задание размера окна гарантирует, что содержимое окна не будет закрыто чем-либо или скрыто. Для того чтобы изменить размеры окна после его вывода на экран, можно воспользоваться функцией gtk_window_resize. По умолчанию пользователь может изменить размеры окна, перемещая обычным способом его границу мышью. Если вы хотите помешать этому, можно вызвать функцию gtk_window_set_resizeable, приравненную FALSE.

Для того чтобы убедиться в том, что ваше окно присутствует на экране и видно пользователю, т.е. не свернуто или скрыто, подойдет функция gtk_window_present. Она полезна для диалоговых окон, т.к. позволяет убедиться в том, что окна не свернуты, когда вам нужен какой-либо пользовательский ввод. В противном случае, для раскрытия окна на весь экран и его сворачивания у вас есть функции gtk_window_maximize и gtk_window_minimize.

Оглавление книги

Оглавление статьи/книги

Генерация: 1.527. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз