« Programmation GTK/Placement avec les tables » : différence entre les versions

Contenu supprimé Contenu ajouté
DCimarosa (discussion | contributions)
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.