Différences entre les versions de « Programmation GTK+/Placement avec les tables »

m
<source> -> <syntaxhighlight> (phab:T237267)
m (Les paramêtres de padding jouent le même rôle que pour les boîtes : ils créent une zone libre, spécifiée en pixels, autour du widget.)
m (<source> -> <syntaxhighlight> (phab:T237267))
 
 
La première chose à faire est, bien sûr, d'étudier la fonction <code>gtk_table_new</code> :
<sourcesyntaxhighlight lang="C">
GtkWidget* gtk_table_new (gint rows,
gint columns,
gint homogeneous);
</syntaxhighlight>
</source>
Le premier paramètre est le nombre de lignes de la table et le deuxième, le nombre de colonnes.
 
 
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 :
<sourcesyntaxhighlight lang="C">
void gtk_table_attach (GtkTable *table,
GtkWidget *child,
gint xpadding,
gint ypadding);
</syntaxhighlight>
</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.
 
 
<code>gtk_table_attach()</code> a BEAUCOUP d'options. Voici donc une fonction-raccourci :
<sourcesyntaxhighlight lang="C">
void gtk_table_attach_defaults (GtkTable *table,
GtkWidget *widget,
gint top_attach,
gint bottom_attach);
</syntaxhighlight>
</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.
<sourcesyntaxhighlight lang="C">
void gtk_table_set_row_spacing (GtkTable *table,
gint row,
gint spacing);
</syntaxhighlight>
</source>
et
<sourcesyntaxhighlight lang="C">
void gtk_table_set_col_spacing (GtkTable *table,
gint column,
gint spacing);
</syntaxhighlight>
</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 :
<sourcesyntaxhighlight lang="C">
void gtk_table_set_row_spacings (GtkTable *table,
gint spacing);
</syntaxhighlight>
</source>
Et,
<sourcesyntaxhighlight lang="C">
void gtk_table_set_col_spacings (GtkTable *table,
gint spacing);
</syntaxhighlight>
</source>
Avec ces appels, la dernière ligne et la dernière colonne n'ont pas d'espace supplémentaire.
1 535

modifications