« Programmation GTK/Placement avec les tables » : différence entre les versions
Contenu supprimé Contenu ajouté
m a renommé Programmation GTK plus Placement avec les tables en Programmation GTK+/Placement avec les tables : Sous-page du livre Programmation GTK+ |
Insertion <source ..> |
||
Ligne 4 :
La première chose à faire est, bien sûr, d'étudier la fonction <code>gtk_table_new</code> :
<source lang="C">
GtkWidget* gtk_table_new (gint rows,
gint columns,
gint homogeneous);
</source>
Le premier paramètre est le nombre de lignes de la table et le deuxième, le nombre de colonnes.
Ligne 23 :
On notera que le système de coordonnées part du coin en haut à gauche. Pour placer un widget dans une case, ou utilise la fonction suivante :
<source lang="C">
void gtk_table_attach (GtkTable *table,
GtkWidget *child,
Ligne 34 :
gint xpadding,
gint ypadding);
</source>
Où le premier paramètre (table) est la table que l'on a créée et le second (child) est le widget que l'on veut placer dans la table.
Ligne 52 :
<code>gtk_table_attach()</code> a BEAUCOUP d'options. Voici donc une fonction-raccourci :
<source lang="C">
void gtk_table_attach_defaults (GtkTable *table,
GtkWidget *widget,
Ligne 59 :
gint top_attach,
gint bottom_attach);
</source>
<code>xoptions</code> et <code>yoptions</code> valent par défaut <code>GTK_FILL | GTK_EXPAND</code>, et <code>xpadding</code> et <code>ypadding</code> valent 0. Les autres paramètres sont les mêmes que ceux de la fonction précédente.
Il existe aussi les fonctions <code>gtk_table_set_row_spacing()</code> et <code>gtk_table_set_col_spacing()</code>. Elles permettent de placer des espaces après une ligne ou une colonne.
<source lang="C">
void gtk_table_set_row_spacing (GtkTable *table,
gint row,
gint spacing);
</source>
et
<source lang="C">
void gtk_table_set_col_spacing (GtkTable *table,
gint column,
gint spacing);
</source>
Pour les colonnes, l'espace est ajouté à droite de la colonne et pour les lignes, il est ajouté en dessous.
On peut aussi configurer un espacement pour toutes les lignes et/ou colonnes avec :
<source lang="C">
void gtk_table_set_row_spacings (GtkTable *table,
gint spacing);
</source>
Et,
<source lang="C">
void gtk_table_set_col_spacings (GtkTable *table,
gint spacing);
</source>
Avec ces appels, la dernière ligne et la dernière colonne n'ont pas d'espace supplémentaire.
|