The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Child Properties

GtkFixed

GtkFixed Контейнер позволяющий фиксировать координаты позиции виджета

Краткое описание

#include <gtk/gtk.h>


            GtkFixed;
            GtkFixedChild;
GtkWidget*  gtk_fixed_new                   (void);
void        gtk_fixed_put                   (GtkFixed *fixed,
                                             GtkWidget *widget,
                                             gint x,
                                             gint y);
void        gtk_fixed_move                  (GtkFixed *fixed,
                                             GtkWidget *widget,
                                             gint x,
                                             gint y);
gboolean    gtk_fixed_get_has_window        (GtkFixed *fixed);
void        gtk_fixed_set_has_window        (GtkFixed *fixed,
                                             gboolean has_window);

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

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkFixed

Осуществляемый интерфейс

GtkFixed осуществляет AtkImplementorIface.

Дочерние свойства

  "x"                    gint                  : Read / Write
  "y"                    gint                  : Read / Write

Описание

GtkFixed виджет - это контейнер позволяющий размещать дочерние виджеты в зафиксированной позиции и с фиксированным размером, полученных в пикселах. GtkFixed не выполняет никакого автоматического управления размещением.

Для большинства приложений вы не должны использовать этот контейнер! Он задерживает вас в изучении других контейнеров GTK+, и приводит к испорченным приложениям. С GtkFixed, следующие вещи приведут к усеченному тексту, наложению виджетов и другим визуальным ошибкам:

К тому же зафиксированный виджет не может правильно отображать языки обратного направления (справа-налево), такие как Иврит и Арабский. То есть обычно GTK+ зеркально отразит интерфейс поместив ярлыки на право, но это не возможно сделать с GtkFixed. Поэтому ваше приложение не будет работать с языками обратного направления.

Наконец, фиксированное положение делает отчасти раздражительным добавление/удаление GUI элементов, так как вам приходится пере-устанавливать все остальные элементы. Это создаёт множество проблем по сопровождению вашего приложения.

Если ни одна из выше перечисленных проблем не существует для вашего приложения и вы предпочитаете простоту GtkFixed, используйте его. Но вы должны быть осведомлены о компромисах.

Детали

GtkFixed

typedef struct _GtkFixed GtkFixed;

Структура GtkFixed-struct содержит нижеследующие поля. (Эти поля должны рассматриваться только для чтения. Они никогда не должны устанавливаться приложениями.)

GList *children;

список GtkFixedChild элементов, содержит дочерние элементы и их позицию.


GtkFixedChild

typedef struct {
  GtkWidget *widget;
  gint x;
  gint y;
} GtkFixedChild;

Структура GtkFixedChild-struct содержит нижеприведенные поля. (Эти поля должны рассматриваться только для чтения. Они никогда не должны устанавливаться приложениями.)

GtkWidget *widget;

дочерний GtkWidget.

gint x;

Горизонтальная позиция виджета внутри контейнера GtkFixed.

gint y;

Вертикальная позиция виджета внутри контейнера GtkFixed.


gtk_fixed_new ()

GtkWidget*  gtk_fixed_new                   (void);

Создаёт новый GtkFixed.

Возвращает :

новый GtkFixed.


gtk_fixed_put ()

void        gtk_fixed_put                   (GtkFixed *fixed,
                                             GtkWidget *widget,
                                             gint x,
                                             gint y);

Добавляет виджет к GtkFixed контейнеру с данной позицией.

fixed :

GtkFixed.

widget :

Добавляемый виджет.

x :

Горизонтальная позиция для помещения виджета.

y :

Вертикальная позиция для помещения виджета.


gtk_fixed_move ()

void        gtk_fixed_move                  (GtkFixed *fixed,
                                             GtkWidget *widget,
                                             gint x,
                                             gint y);

Перемещает дочерний виджет контейнера GtkFixed в данную позицию.

fixed :

GtkFixed.

widget :

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

x :

Горизонтальная позиция для перемещаемого виджета.

y :

Вертикальная позиция для перемещаемого виджета.


gtk_fixed_get_has_window ()

gboolean    gtk_fixed_get_has_window        (GtkFixed *fixed);

Проверяет, имеет ли GtkFixed собственный GdkWindow. Смотрите gdk_fixed_set_has_window().

fixed :

GtkWidget

Возвращает :

TRUE если fixed имеет собственное окно.


gtk_fixed_set_has_window ()

void        gtk_fixed_set_has_window        (GtkFixed *fixed,
                                             gboolean has_window);

Устанавливает, создан ли виджет GtkFixed с отдельным GdkWindow для widget->window или нет. (По умолчанию он создается без отдельного GdkWindow). Эта функция должна быть вызвана пока GtkFixed не реализован, например сразу после создания окна.

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

fixed :

a GtkFixed

has_window :

TRUE if a separate window should be created

Детали дочерних свойств

Дочернее свойство "x"

  "x"                    gint                  : Read / Write

X позиция дочернего виджета.

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


Дочернее свойство "y"

  "y"                    gint                  : Read / Write

Y позиция дочернего виджета.

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


ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

Оформить подписку на год


  Закладки на сайте
  Проследить за страницей
Created 1996-2012 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList