Preface |
|
xiii | |
|
1 The Fundamentals of Graphical User Interfaces |
|
|
1 | (22) |
|
|
1 | (3) |
|
1.2 GUI design principles |
|
|
4 | (4) |
|
|
8 | (10) |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
12 | (1) |
|
|
12 | (1) |
|
|
13 | (1) |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
15 | (1) |
|
|
15 | (1) |
|
Displaying and editing text |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
17 | (1) |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
18 | (5) |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
20 | (1) |
|
|
20 | (1) |
|
|
20 | (1) |
|
|
21 | (1) |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
23 | (78) |
|
|
25 | (12) |
|
|
27 | (2) |
|
|
29 | (1) |
|
|
30 | (2) |
|
|
32 | (3) |
|
|
35 | (2) |
|
3 gWidgets: Container Widgets |
|
|
37 | (14) |
|
|
39 | (3) |
|
|
41 | (1) |
|
|
42 | (4) |
|
|
42 | (3) |
|
The gframe and gexpandgroup containers |
|
|
45 | (1) |
|
3.3 Grid layout: the glayout container |
|
|
46 | (1) |
|
3.4 Paned containers: the gpanedgroup container |
|
|
47 | (1) |
|
3.5 Tabbed notebooks: the gnotebook container |
|
|
48 | (3) |
|
4 gWidgets: Control Widgets |
|
|
51 | (40) |
|
|
51 | (2) |
|
|
53 | (3) |
|
|
53 | (1) |
|
|
53 | (1) |
|
|
54 | (2) |
|
4.3 Text-editing controls |
|
|
56 | (5) |
|
Single-line, editable text |
|
|
56 | (2) |
|
|
58 | (3) |
|
|
61 | (9) |
|
|
61 | (1) |
|
|
62 | (1) |
|
|
63 | (1) |
|
|
64 | (3) |
|
|
67 | (1) |
|
|
68 | (1) |
|
Selecting from the file system |
|
|
68 | (1) |
|
|
68 | (2) |
|
4.5 Display of tabular data |
|
|
70 | (13) |
|
4.6 Display of hierarchical data |
|
|
83 | (3) |
|
4.7 Actions, menus, and toolbars |
|
|
86 | (5) |
|
|
87 | (1) |
|
Menu bars and pop-up menus |
|
|
88 | (3) |
|
5 gWidgets: R-specific Widgets |
|
|
91 | (10) |
|
|
91 | (5) |
|
|
96 | (1) |
|
|
97 | (2) |
|
|
99 | (1) |
|
|
100 | (1) |
|
5.6 Simplifying creation of dialogs |
|
|
100 | (1) |
|
|
101 | (124) |
|
|
103 | (12) |
|
6.1 Synopsis of the RGtk2R Package!RGtk2 API |
|
|
104 | (1) |
|
|
104 | (1) |
|
|
105 | (3) |
|
|
108 | (1) |
|
|
109 | (1) |
|
|
110 | (2) |
|
6.7 Enumerated types and flags |
|
|
112 | (1) |
|
|
113 | (1) |
|
6.9 Importing a GUI from Glade |
|
|
114 | (1) |
|
7 RGtk2: Windows, Containers, and Dialogs |
|
|
115 | (22) |
|
|
115 | (2) |
|
|
117 | (7) |
|
|
117 | (1) |
|
|
118 | (1) |
|
|
119 | (4) |
|
|
123 | (1) |
|
|
124 | (4) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
127 | (1) |
|
7.4 Special-purpose containers |
|
|
128 | (9) |
|
|
128 | (1) |
|
|
128 | (1) |
|
|
128 | (3) |
|
|
131 | (1) |
|
|
132 | (1) |
|
|
133 | (4) |
|
8 RGtk2: Basic Components |
|
|
137 | (28) |
|
|
137 | (3) |
|
8.2 Static text and images |
|
|
140 | (3) |
|
|
140 | (2) |
|
|
142 | (1) |
|
|
143 | (1) |
|
|
143 | (7) |
|
|
143 | (2) |
|
|
145 | (1) |
|
|
146 | (1) |
|
|
147 | (2) |
|
|
149 | (1) |
|
|
150 | (1) |
|
|
150 | (1) |
|
|
151 | (1) |
|
|
151 | (5) |
|
|
156 | (6) |
|
|
162 | (3) |
|
|
163 | (1) |
|
|
164 | (1) |
|
9 RGtk2: Widgets Using Data Models |
|
|
165 | (40) |
|
9.1 Displaying tabular data |
|
|
165 | (23) |
|
|
165 | (1) |
|
Displaying data as a list or table |
|
|
166 | (3) |
|
|
169 | (2) |
|
|
171 | (1) |
|
|
172 | (1) |
|
|
173 | (2) |
|
|
175 | (13) |
|
9.2 Displaying hierarchical data |
|
|
188 | (2) |
|
Loading hierarchical data |
|
|
188 | (1) |
|
Displaying data as a tree |
|
|
189 | (1) |
|
9.3 Model-based combo boxes |
|
|
190 | (2) |
|
9.4 Text-entry widgets with completion |
|
|
192 | (2) |
|
9.5 Sharing buffers between text entries |
|
|
194 | (1) |
|
|
194 | (2) |
|
|
196 | (9) |
|
|
196 | (2) |
|
|
198 | (1) |
|
|
199 | (1) |
|
Selection and the clipboard |
|
|
200 | (1) |
|
|
200 | (5) |
|
10 RGtk2: Application Windows |
|
|
205 | (16) |
|
|
205 | (2) |
|
|
207 | (3) |
|
|
207 | (2) |
|
|
209 | (1) |
|
|
210 | (3) |
|
|
213 | (2) |
|
|
213 | (1) |
|
|
214 | (1) |
|
10.5 Managing a complex user interface |
|
|
215 | (6) |
|
11 Extending GObject Classes |
|
|
221 | (4) |
|
|
225 | (118) |
|
|
227 | (22) |
|
|
227 | (1) |
|
12.2 An introductory example |
|
|
228 | (3) |
|
|
231 | (2) |
|
12.4 Methods and dispatch |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
235 | (2) |
|
12.7 Enumerations and flags |
|
|
237 | (1) |
|
12.8 Extending Qt classes from R |
|
|
237 | (6) |
|
|
238 | (1) |
|
|
238 | (1) |
|
Defining signals and slots |
|
|
239 | (1) |
|
|
240 | (3) |
|
|
243 | (4) |
|
|
244 | (1) |
|
|
245 | (2) |
|
12.10 Importing a GUI from QtDesigner |
|
|
247 | (2) |
|
13 Qt: Layout Managers and Containers |
|
|
249 | (14) |
|
|
251 | (3) |
|
Adding and manipulating child components |
|
|
251 | (1) |
|
Size and space negotiation |
|
|
252 | (2) |
|
|
254 | (1) |
|
|
255 | (2) |
|
|
257 | (1) |
|
|
258 | (1) |
|
|
258 | (1) |
|
|
258 | (3) |
|
|
261 | (1) |
|
|
262 | (1) |
|
|
263 | (30) |
|
|
263 | (9) |
|
|
263 | (3) |
|
|
266 | (1) |
|
|
267 | (1) |
|
|
268 | (2) |
|
|
270 | (1) |
|
File- and directory-choosing dialogs |
|
|
270 | (2) |
|
|
272 | (1) |
|
|
272 | (1) |
|
|
272 | (2) |
|
|
273 | (1) |
|
|
274 | (2) |
|
|
274 | (2) |
|
|
276 | (1) |
|
|
277 | (2) |
|
14.7 Sliders and spin boxes |
|
|
279 | (2) |
|
|
279 | (1) |
|
|
280 | (1) |
|
|
281 | (5) |
|
|
282 | (1) |
|
|
282 | (4) |
|
|
286 | (2) |
|
14.10 Embedding R graphics |
|
|
288 | (1) |
|
|
288 | (5) |
|
|
289 | (1) |
|
|
289 | (4) |
|
15 Qt: Widgets Using Data Models |
|
|
293 | (42) |
|
15.1 Displaying tabular data |
|
|
293 | (5) |
|
Displaying an R data frame |
|
|
293 | (2) |
|
|
295 | (1) |
|
|
296 | (1) |
|
|
296 | (2) |
|
|
298 | (1) |
|
15.3 Model-based combo boxes |
|
|
299 | (1) |
|
15.4 Accessing item models |
|
|
299 | (1) |
|
|
300 | (3) |
|
|
301 | (1) |
|
Responding to selection changes |
|
|
302 | (1) |
|
|
302 | (1) |
|
15.6 Sorting and filtering |
|
|
303 | (1) |
|
|
304 | (3) |
|
15.8 Displaying hierarchical data |
|
|
307 | (4) |
|
15.9 User editing of data models |
|
|
311 | (1) |
|
15.10 Drag-and-drop in item views |
|
|
312 | (6) |
|
15.11 Widgets with internal models |
|
|
318 | (3) |
|
Displaying short, simple lists |
|
|
318 | (3) |
|
15.12 Implementing custom models |
|
|
321 | (4) |
|
15.13 Implementing custom views |
|
|
325 | (4) |
|
15.14 Viewing and editing text documents |
|
|
329 | (6) |
|
16 Qt: Application Windows |
|
|
335 | (8) |
|
|
336 | (2) |
|
|
338 | (1) |
|
|
339 | (1) |
|
|
340 | (1) |
|
|
341 | (1) |
|
|
342 | (1) |
|
|
343 | (104) |
|
|
345 | (24) |
|
|
346 | (1) |
|
17.2 Interacting with Tcl |
|
|
347 | (3) |
|
|
350 | (10) |
|
|
352 | (1) |
|
|
352 | (1) |
|
|
353 | (1) |
|
|
354 | (1) |
|
|
354 | (2) |
|
Window properties and state: tkwinfo |
|
|
356 | (1) |
|
|
357 | (2) |
|
|
359 | (1) |
|
17.4 Events and callbacks |
|
|
360 | (9) |
|
|
361 | (1) |
|
|
361 | (2) |
|
|
363 | (1) |
|
|
364 | (5) |
|
18 Tcl/Tk: Layout and Containers |
|
|
369 | (20) |
|
|
369 | (3) |
|
|
372 | (1) |
|
|
372 | (1) |
|
|
372 | (13) |
|
|
373 | (7) |
|
|
380 | (5) |
|
|
385 | (4) |
|
|
385 | (1) |
|
|
386 | (3) |
|
19 Tcl/Tk: Dialogs and Widgets |
|
|
389 | (20) |
|
|
389 | (3) |
|
|
389 | (1) |
|
File and directory selection |
|
|
390 | (1) |
|
|
391 | (1) |
|
|
392 | (17) |
|
|
392 | (2) |
|
|
394 | (1) |
|
|
395 | (5) |
|
|
400 | (2) |
|
|
402 | (2) |
|
|
404 | (5) |
|
20 Tcl/Tk: Text, Tree, and Canvas Widgets |
|
|
409 | (38) |
|
|
409 | (1) |
|
20.2 Multiline text widgets |
|
|
410 | (5) |
|
|
415 | (5) |
|
|
420 | (20) |
|
|
420 | (16) |
|
|
436 | (1) |
|
|
436 | (4) |
|
|
440 | (7) |
Concept index |
|
447 | (2) |
Class and method index |
|
449 | |