-
Notifications
You must be signed in to change notification settings - Fork 0
/
sec-GTKRcFileFormat.html
160 lines (160 loc) · 7.51 KB
/
sec-GTKRcFileFormat.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>23.2. Format du fichier rc GTK</title>
<link rel="stylesheet" href="pygtktutfr.css" type="text/css">
<meta name="generator" content="Bluefish 1.0.5">
<link rel="start" href="index.html" title="Tutoriel PyGTK 2.0">
<link rel="up" href="ch-GtkRcFiles.html" title="Chapitre 23. Les fichiers de style rc GTK">
<link rel="prev" href="ch-GtkRcFiles.html" title="Chapitre 23. Les fichiers de style rc GTK">
<link rel="next" href="sec-ExampleRcFile.html" title="23.3. Exemple de fichier rc">
<meta name="keywords" content="python,pygtk,tutoriel,traduction">
<link rel="home" href="index.html" title="Table des matières">
</head>
<body>
<div class="localisation">
Vous êtes à peu près ici :
<a href="../../index.html">Accueil</a> »
<a href="../pygtktut.php">tutoriel PyGTK</a> »
<a href="index.html">PyGTK : sommaire</a>
</div>
<!-- fin localisation -->
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">23.2. Format du fichier rc GTK</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="ch-GtkRcFiles.html">Préc.</a> </td>
<th width="60%" align="center">Chapitre 23. Les fichiers de style rc GTK</th>
<td width="20%" align="right"> <a accesskey="n" href="sec-ExampleRcFile.html">Suiv.</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="sect1" lang="fr">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="sec-GTKRcFileFormat"></a>23.2. Format du fichier rc GTK</h2></div></div></div>
<p>Le format du fichier rc GTK+ est illustré dans la
<a href="sec-ExampleRcFile.html" title="23.3. Exemple de fichier rc">Section 23.3, « Exemple de fichier rc »</a> ci-dessous. C'est le fichier
<code class="filename">testgtkrc</code> de la distribution GTK+, avec quelques
commentaires et ajouts. Il est possible d'ajouter cette explication
dans son application pour permettre à l'utilisateur de parfaire ses réglages.</p>
<p>Plusieurs commandes permettent de modifier les
attributs d'un widget.</p>
<div class="itemizedlist"><ul type="none">
<li style="list-style-type: none"><p><em class="parameter"><code>fg</code></em> - Définit la couleur de premier plan d'un widget.</p></li>
<li style="list-style-type: none"><p><em class="parameter"><code>bg</code></em> - Définit la couleur d'arrière-plan d'un widget.</p></li>
<li style="list-style-type: none"><p><em class="parameter"><code>bg_pixmap</code></em> - Compose l'arrière-plan d'un widget avec
un pixmap en mosaïque.</p></li>
<li style="list-style-type: none"><p><em class="parameter"><code>font</code></em> - Définit la police utilisée pour le widget indiqué.</p></li>
</ul></div>
<p>De plus, un widget possède plusieurs états, il est possible de définir
différentes couleurs, mosaïques de pixmap et polices pour chaque état.
Ces états sont les suivants :</p>
<table border="0" width="100%" bgcolor="#FFECCE">
<col align="left" valign="top" width="0*">
<tbody>
<tr>
<td>
<span class="term">NORMAL</span></td>
<td><p>L'état normal d'un widget, la souris n'est pas au-dessus,
il n'est pas enfoncé, etc.</p></td>
</tr>
<tr>
<td>
<span class="term">PRELIGHT</span></td>
<td><p>Lorsque le widget est survolé par la souris, les couleurs
définies pour cet état seront utilisées.</p></td>
</tr>
<tr>
<td>
<span class="term">ACTIVE</span></td>
<td><p>Lorsque le widget est cliqué ou enfoncé, il devient
actif et les attributs définis pour cet état seront utilisés.</p></td>
</tr>
<tr>
<td>
<span class="term">INSENSITIVE</span></td>
<td><p>Lorsqu'un widget est marqué "insensible", et ne peut être activé, il
prendra ces attributs</p></td>
</tr>
<tr>
<td>
<span class="term">SELECTED</span></td>
<td><p>Quand un objet est sélectionné, il prend ces attributs.</p></td>
</tr>
</tbody>
</table>
<p>Quand on utilise les mots-clé "fg" et "bg" pour définir
les couleurs des widgets, il faut respecter ce format :</p>
<pre class="programlisting">
fg[<STATE>] = { Rouge, Vert, Bleu }
</pre>
<p>... où <code class="varname">STATE</code> est un des états ci-dessus
(PRELIGHT, ACTIVE, etc), <code class="varname">Rouge</code>,
<code class="varname">Vert</code> et <code class="varname">Bleu</code> sont des valeurs
dans l'intervalle 0 - 1.0 ; {1.0,1.0,1.0} est le blanc. Elles
doivent être au format décimal, sinon leur valeur est mise à 0,
ainsi un simple "1" n'est pas correct, ce doit être "1.0".
Un simple "0" fonctionne parce que les valeurs non reconnues sont mises à 0.</p>
<p>Le paramètre <em class="parameter"><code>bg_pixmap</code></em> est très semblable
au précédent, mais les couleurs sont remplacées par un nom de fichier.</p>
<p><em class="parameter"><code>pixmap_path</code></em> est une liste de chemins séparés par
un ":". Ces chemins sont ceux où seront recherchés les pixmaps indiqués.</p>
<p>La commande "font" est simple :</p>
<pre class="programlisting">
font = "<font name>"
</pre>
<p>La partie la plus difficile est de trouver le contenu de la chaîne
<em class="parameter"><code>font</code></em>.
Utiliser le programme <span><strong class="command">xfontsel</strong></span> ou un utilitaire équivalent
devrait faciliter la tâche.</p>
<p>La commande "widget_class" définit le style d'une classe de widgets.
Ces classes sont énumérées dans la <a href="ch-WidgetOverview.html#sec-WidgetHierarchy" title="5.1. Hiérarchie des widgets">Section 5.1, « Hiérarchie des widgets »</a> de la vue d'ensemble des widgets.</p>
<p>La commande "widget" applique un style donné à un ensemble de widgets portant
un nom spécifique, quel que soit le style normal de cette classe de widgets.
Ces widgets sont enregistrés dans l'application avec la methode
<code class="methodname">set_name</code>(). Ceci permet de modifier les
attributs d'un widget au coup par coup plutôt que de définir les attibuts
d'une toute une classe de widgets. Je vous recommande de documenter
chacun de ces widgets spécifiques, permettant ainsi à l'utilisateur
de les personnaliser.</p>
<p>Quand on utilise le mot-clé <em class="parameter"><code>parent</code></em> comme
attribut, le widget utilise les attributs de son parent dans l'application.</p>
<p>Lorsqu'on définit un style, on peut attribuer
les éléments d'un style déjà défini à ce nouveau style.</p>
<pre class="programlisting">
style "main_button" = "button"
{
font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*"
bg[PRELIGHT] = { 0.75, 0, 0 }
}
</pre>
<p>Cet exemple utilise le style "button" et crée un nouveau style
"main_button" simplement en modifiant la police et la couleur
d'arrière-plan de l'état préselectionné (PRELIGHT) du style "button".</p>
<p>Naturellement, beaucoup de ces attributs ne s'appliquent pas à
tous les widgets. C'est une simple question de bon sens.
Ce qui peut s'appliquer devrait fonctionner.</p>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="ch-GtkRcFiles.html">Préc.</a> </td>
<td width="20%" align="center"><a accesskey="u" href="ch-GtkRcFiles.html">Chapitre parent</a></td>
<td width="40%" align="right"> <a accesskey="n" href="sec-ExampleRcFile.html">Suiv.</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Chapitre 23. Les fichiers de style rc GTK </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Table des matières</a></td>
<td width="40%" align="right" valign="top"> 23.3. Exemple de fichier rc</td>
</tr>
</table>
</div>
</body>
</html>