[LinuxFocus-icon]
<--  | �����  | �����  | ������  | �����

������� | ������ | ������ | ��� LF
��� �������� �������� �� ��������� ������: English  Castellano  Deutsch  Francais  Italiano  Nederlands  Russian  Turkce  

Ozcan Gungor
����� Özcan Güngör
<ozcangungor(at)netscape.net>

�� ������:
��������� Linux � 1997.�������,�������� � ���������� ����. ��� �� ��������, ������� ��� ��������.

������� �� �������:
���� ����� <deshko_deshko(at)mail.ru>

����������:

 

��������������� ��� � �������������� GTK - ����� 2.

GTK

������:

� ���� ������ �� ������� ����� ( �����-boxes ).� �� ������� �� ������ ����������� ���������� � ��������������� ������� � �����.��� ���� ����� ������ ��� ������ ��� ���������� ��������� ������ � ����� ���������������� C:

  • ����������
  • �������
  • ���������
�������� ������������� ��������� ���������� ������..

_________________ _________________ _________________

 

�������� ����������� � ������� ������.

��� ��������� ����������� ��������������� �� ���������� � ���������� ������� � �����.���� �� �������� � GTK ������� ��� -- ������������ �����.�������� ���� ������ -- �������� �����������, ������������� � �������������� ��� ������������ �����������.���������� ��� ���� ������: �������������� � ������������.���������� � ���� �����:

 

�������������� �����.

� ������ ����� ���� , ���������� ������������� �������������.��� �������� ��������������� ����� ������������ ��������� �������:

gtk_widget *box;
box=gtk_hbox_new(gboolean homogenous, gint spacing);

��� �������� homogeneous ������������ ��� ���� ,����� ����������, ����� �� ���������� ������������ ���������: ���� �� ����� TRUE, �� ���������� ��������� ���� ���� ����� ������� ��� ����� ���� ���������� ����������, ���� FALSE �� ���������� ������������� �������� ���� � �����.spacing ������������ ��� ��������� ������������ ���������� ����� ������������.

 

������������ �����

� ������ ����� ���� ���������� ������������� �����������.��� ����� ������������ ��������� �������:

gtk_widget *box;
box=gtk_vbox_new(gboolean homogenous, gint spacing);

��������� ���� ������� ����� ����� �� �������� ��� � � ��������������� �����.

 

����� �������� ������.

���������� ��������� ����� ����������� ����� ������:
������:

gtk_box_pack_start(GtkBox *box,GtkWidget *child,
                  gboolean expand, gboolean fill, guint padding);
��������� ��� ������� ,�� ����� ��������� ���������� � ����.(����� ������� ��� ��������������� ����� � ������ ���� ��� �������������).box -- ��� ���� � ������� �� ����� �������� ���������. child -- ����������� ��������� .. expand ������������ ��� ���������� ��������� ����� ������� ��� ��� ���������� ���� �������� ��� ������������. padding ��������� �������������� ������������ ����� � ������.

����������� � gtk_box_pack_start �������� gtk_box_pack_end:

gtk_box_pack_end(GtkBox *box,GtkWidget *child,
                gboolean expand, gboolean fill, guint padding);
��� ������� ��������� ��� ��������� ���������� � ����� (������ ��� ����� ) �����.��������� ����� ��� �� ����� ��� � � ���������� �������.

��� ���������� ����� � ���� ������������ ��������� �������:

gtk_container_add (GtkContainer *container,GtkWidget *component);
container -- ��� ���� � ������� ����� �������� ����,component ��� ����������� ����.��������, ����� �������� ���� � window, ��������� �� �����, ������������ ��������� �������:
gtk_container_add(GTK_CONTAINER(window),box);
gtk_box_set_homogeneous (GtkBox *box, gboolean homogenous);
gtk_box_set_spacing(GtkBox *box, gint spacing);
������ ������� ������������ ��� ��������� �������� ������������ �����, � ������ ������� ������������ ��� ��������� ������� ������������ ����� ������������ � box. box -- ���������� ����.
gtk_box_set_child_packing(GkBox *box,GtkWidget *shild,
       gboolean expand, gboolean  fill, guint padding,
       GtkPackType packingtype);
��� ������� �������������� �������� ��� ����������� ���������.��������� ����� ����� �� ��������, ��� � ������� gtk_box_pack_start. packingtype ����� ���� GTK_PACK_START ��� GTK_PACK_END. GTK_PACK_START ���������� ����������� ���������� � ������ ,���� ��� �������� ���������� ������������ ������� gtk_pack_end. GTK_PACK_END ���������� ����������� ���������� � ����� ��� ������������� ������� gtk_pack_start.

����� ����� ��� ������ ���������� kutular.c.

 

�������

������� ��� � � HTML ���� �������� ��� ��������� ���������� � �������.��� ����� ���������� ������� ������� � ������ ������ ����� � ��������.����� �����, �� ����� �������� �������� � ������ ��� ������ ����� ( ��������� ������������ ���� ������ ������� ����� �������).����� ������� ������� ����������� ��������� ������� :

GtkWidget *table;
GtkWidget* gtk_table_new(guint  row, guint column, gboolean homogenous);
row ��� ����� �����, column - ����� ��������..homogenous ������������ ��� ����������� ���������� �����������.

��� ���������� ����������� � ������� ������������ ��������� �������:

void gtk_table_attach (GtkTable *table, GtkWidget *child,
         guint left_attach, guint left_attach, guint top_attach,
         guint bottom_attach, GtkAttachOptions xoptions,
         GtkAttachOptions yoptions, guint xpadding, guint ypadding);
table -- ������� ,���� ����� ����������� ����������, � child -- ��� ����������� ���������. left_attach ����� ������ ����� � ������� ����� �������������� ���������.right_attach -- ����� ������ ������. top_attach -- ����� ������ ������ � bottom_attach -- �����.���������� ����� ��������� ����� ����� ������.

xoptions � yoptions ����� ��������� ��� ������ ��������:GTK_FILL, GTK_EXPAND, GTK_SHRINK. GTK_FILL ���������� ��������� ��������� ��� ������(�). GTK_EXPAND �������� ��������� � ����� ������ (�����) � GTK_SHRINK ���������� ��� ������� ������ ������ ���� ��������� ������.xoptions ��������� ��� ��������� ������ �� ��� x � yoptions �� ��� y..

xpadding ��������� ������������ ����� � ������ �� ���������� �� ��� x � ypadding �� ��� y.

��� ������ ����:

#include <gtk/gtk.h>

void delete_event( GtkWidget *widget,GdkEvent  *event,gpointer data )
{
    gtk_main_quit ();
}

int main( int   argc,char *argv[] )
{
    GtkWidget *window;
    GtkWidget *button;
    GtkWidget *table;

    gtk_init (&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

    gtk_signal_connect (GTK_OBJECT (window), "delete_event",
                        GTK_SIGNAL_FUNC (delete_event), NULL);

    table = gtk_table_new (2, 2, TRUE);

    gtk_container_add (GTK_CONTAINER (window), table);

    button = gtk_button_new_with_label ("button 1");
    gtk_table_attach(GTK_TABLE(table), button, 0, 1, 0, 2,GTK_SHRINK,
                     GTK_SHRINK,0,0);
    gtk_widget_show (button);

    button = gtk_button_new_with_label ("button 2");
    gtk_table_attach (GTK_TABLE(table), button, 1, 2, 1, 2,
                      GTK_SHRINK,GTK_SHRINK,0,0);
    gtk_widget_show (button);

    button = gtk_button_new_with_label ("button 3");
    gtk_table_attach (GTK_TABLE(table), button, 1, 2, 0, 1,
                      GTK_SHRINK,GTK_SHRINK,0,0);
    gtk_widget_show (button);

    gtk_widget_show (table);
    gtk_widget_show (window);

    gtk_main ();

    return 0;
}

��������� ������� gtk_table_attach ����� ����� ����������, �� ������� ����� ����� �������� �������: gtk_table_attach_defaults. ��� ������� ������ ���� �����, �� � ������� ������ ����������.

void gtk_table_attach_defaults (GtkTable *table,GtkWidget *child,
                guint left_attach, guint right_attach, guint top_attach,
                guint bottom_attach);
��������� ����� ����� �� �� ��������.xoptions � yoptions ����� �������� GTK_FILL|GTK_EXPAND. xpadding � ypadding ����� �������� 0.

��������� ������� ������������ ��� ��������� ����� ����� � �������� ������������ �������:

void gtk_table_resize(GtkTable *table, guint rows, guint columns);

��������� ��������� ������� �� ������ �������� �������� ��������������� ������������ ����� ������������� �������� � ���������:

void gtk_table_set_row_spacing (GtkTable *table, guint row,
                               guint spacing);
void gtk_table_set_col_spacing (GtkTable *table, guint column,
                               guint spacing);

��������� ������� �������� �������� ������������ ��� ���� ����� � ��������:

void gtk_table_set_row_spacings (GtkTable *table, guint spacing);
void gtk_table_set_col_spacings (GtkTable *table, guint spacing);

��� ������� �������� �������� ������������ ������������ �������:

void gtk_table_set_homogeneous (GtkTable *table, gboolean homogenous);
 

����������

� ���� ������ �� ������� �������� �������� ����������� � ����� �� ������������ � ���������� ���������� ������ � ������.� ������ �������� �������� �������, ����������� � ���� �� ���������.������ ������� ��� ����������� ������...


 

�������� �������

� ������ ������� ���� �������� �������. �� ���� �������� �� ������ �������� ���� ����������� ��� ����������� ����������� ������ ���������.
 talkback page 

<--, ������� � ��������� �������� �������

Webpages maintained by the LinuxFocus Editor team
© Özcan Güngör, FDL
LinuxFocus.org
Translation information:
tr --> -- : Özcan Güngör <ozcangungor(at)netscape.net>
en --> tr: Özcan Güngör <ozcangungor(at)netscape.net>
en --> ru: ���� ����� <deshko_deshko(at)mail.ru>

2003-08-06, generated by lfparser version 2.42