context 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. data/Rakefile.rb +107 -0
  2. data/coverage/-usr-local-lib-site_ruby-1_8-atk_rb.html +612 -0
  3. data/coverage/-usr-local-lib-site_ruby-1_8-gdk_pixbuf2_rb.html +637 -0
  4. data/coverage/-usr-local-lib-site_ruby-1_8-glib2_rb.html +829 -0
  5. data/coverage/-usr-local-lib-site_ruby-1_8-gtk2-base_rb.html +709 -0
  6. data/coverage/-usr-local-lib-site_ruby-1_8-gtk2_rb.html +623 -0
  7. data/coverage/-usr-local-lib-site_ruby-1_8-pango_rb.html +665 -0
  8. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-color_rb.html +865 -0
  9. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-colors_rb.html +1266 -0
  10. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-constants_rb.html +632 -0
  11. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-blur_rb.html +655 -0
  12. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-circle_rb.html +619 -0
  13. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-color_rb.html +621 -0
  14. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-path_rb.html +726 -0
  15. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-rectangle_rb.html +643 -0
  16. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-triangle_rb.html +622 -0
  17. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context_rb.html +639 -0
  18. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-paper_rb.html +793 -0
  19. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-papers_rb.html +651 -0
  20. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-path_rb.html +625 -0
  21. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-point_rb.html +617 -0
  22. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo_rb.html +756 -0
  23. data/coverage/index.html +1170 -0
  24. data/coverage/lib-Context-Bridge_rb.html +673 -0
  25. data/coverage/lib-Context-Context_rb.html +756 -0
  26. data/coverage/lib-Context-EnumeratedType_rb.html +661 -0
  27. data/coverage/lib-Context-ExecutionProxy_rb.html +671 -0
  28. data/coverage/lib-Context-Gtk-App_rb.html +638 -0
  29. data/coverage/lib-Context-Gtk-Key_rb.html +664 -0
  30. data/coverage/lib-Context-Gtk-Widget_rb.html +667 -0
  31. data/coverage/lib-Context-KeyAssignment_rb.html +641 -0
  32. data/coverage/lib-Context-KeyMap_rb.html +653 -0
  33. data/coverage/lib-Context-Key_rb.html +667 -0
  34. data/coverage/lib-Context-View_rb.html +659 -0
  35. data/coverage/lib-Context-Views-Gtk-PageView_rb.html +660 -0
  36. data/coverage/lib-Context-Views-PageView_rb.html +627 -0
  37. data/coverage/lib-Context-Widget_rb.html +650 -0
  38. data/coverage/lib-Context-require_all_rb.html +623 -0
  39. data/doc/classes/Context.html +174 -0
  40. data/doc/classes/Context/Bridge.html +296 -0
  41. data/doc/classes/Context/Context.html +564 -0
  42. data/doc/classes/Context/EnumeratedType.html +283 -0
  43. data/doc/classes/Context/ExecutionProxy.html +228 -0
  44. data/doc/classes/Context/Gtk.html +126 -0
  45. data/doc/classes/Context/Gtk/App.html +217 -0
  46. data/doc/classes/Context/Gtk/Key.html +292 -0
  47. data/doc/classes/Context/Gtk/PageView.html +245 -0
  48. data/doc/classes/Context/Gtk/PageView/MainWindow.html +200 -0
  49. data/doc/classes/Context/Gtk/Widget.html +311 -0
  50. data/doc/classes/Context/Key.html +305 -0
  51. data/doc/classes/Context/Key/Modifier.html +117 -0
  52. data/doc/classes/Context/KeyAssignment.html +234 -0
  53. data/doc/classes/Context/KeyMap.html +273 -0
  54. data/doc/classes/Context/PageView.html +180 -0
  55. data/doc/classes/Context/View.html +334 -0
  56. data/doc/classes/Context/Widget.html +298 -0
  57. data/doc/classes/Kernel.html +148 -0
  58. data/doc/classes/Object.html +196 -0
  59. data/doc/created.rid +1 -0
  60. data/doc/files/lib/Context/Bridge_rb.html +108 -0
  61. data/doc/files/lib/Context/Context_rb.html +109 -0
  62. data/doc/files/lib/Context/EnumeratedType_rb.html +101 -0
  63. data/doc/files/lib/Context/ExecutionProxy_rb.html +101 -0
  64. data/doc/files/lib/Context/Gtk/App_rb.html +110 -0
  65. data/doc/files/lib/Context/Gtk/Key_rb.html +109 -0
  66. data/doc/files/lib/Context/Gtk/Widget_rb.html +109 -0
  67. data/doc/files/lib/Context/KeyAssignment_rb.html +108 -0
  68. data/doc/files/lib/Context/KeyMap_rb.html +109 -0
  69. data/doc/files/lib/Context/Key_rb.html +108 -0
  70. data/doc/files/lib/Context/Version_rb.html +101 -0
  71. data/doc/files/lib/Context/View_rb.html +101 -0
  72. data/doc/files/lib/Context/Views/Gtk/PageView_rb.html +111 -0
  73. data/doc/files/lib/Context/Views/PageView_rb.html +108 -0
  74. data/doc/files/lib/Context/Widget_rb.html +101 -0
  75. data/doc/files/lib/Context/require_all_rb.html +101 -0
  76. data/doc/fr_class_index.html +46 -0
  77. data/doc/fr_file_index.html +42 -0
  78. data/doc/fr_method_index.html +103 -0
  79. data/doc/index.html +24 -0
  80. data/doc/rdoc-style.css +208 -0
  81. data/lib/Context/Bridge.rb +63 -0
  82. data/lib/Context/Context.rb +146 -0
  83. data/lib/Context/EnumeratedType.rb +51 -0
  84. data/lib/Context/ExecutionProxy.rb +61 -0
  85. data/lib/Context/Gtk/App.rb +28 -0
  86. data/lib/Context/Gtk/Key.rb +54 -0
  87. data/lib/Context/Gtk/Widget.rb +57 -0
  88. data/lib/Context/Key.rb +57 -0
  89. data/lib/Context/KeyAssignment.rb +31 -0
  90. data/lib/Context/KeyMap.rb +43 -0
  91. data/lib/Context/Version.rb +5 -0
  92. data/lib/Context/View.rb +49 -0
  93. data/lib/Context/Views/Gtk/PageView.rb +50 -0
  94. data/lib/Context/Views/PageView.rb +17 -0
  95. data/lib/Context/Widget.rb +40 -0
  96. data/lib/Context/require_all.rb +13 -0
  97. data/spec/Context/Bridge_spec.rb +40 -0
  98. data/spec/Context/Context_spec.rb +102 -0
  99. data/spec/Context/EnumeratedType_spec.rb +51 -0
  100. data/spec/Context/ExecutionProxy_spec.rb +28 -0
  101. data/spec/Context/Gtk/App_spec.rb +24 -0
  102. data/spec/Context/Gtk/Key_spec.rb +45 -0
  103. data/spec/Context/Gtk/Widget_spec.rb +44 -0
  104. data/spec/Context/KeyAssignment_spec.rb +26 -0
  105. data/spec/Context/KeyMap_spec.rb +64 -0
  106. data/spec/Context/Key_spec.rb +22 -0
  107. data/spec/Context/View_spec.rb +62 -0
  108. data/spec/Context/Views/Gtk/PageView_spec.rb +44 -0
  109. data/spec/Context/Views/PageView_spec.rb +20 -0
  110. data/spec/Context/Widget_spec.rb +15 -0
  111. data/spec/Context/require_all_spec.rb +13 -0
  112. data/test_results.html +343 -0
  113. metadata +179 -0
@@ -0,0 +1,756 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'><head><title>lib/Context/Context.rb - C0 code coverage information</title>
3
+ <style type='text/css'>body { background-color: rgb(240, 240, 245); }</style>
4
+ <style type='text/css'>span.cross-ref-title {
5
+ font-size: 140%;
6
+ }
7
+ span.cross-ref a {
8
+ text-decoration: none;
9
+ }
10
+ span.cross-ref {
11
+ background-color:#f3f7fa;
12
+ border: 1px dashed #333;
13
+ margin: 1em;
14
+ padding: 0.5em;
15
+ overflow: hidden;
16
+ }
17
+ a.crossref-toggle {
18
+ text-decoration: none;
19
+ }
20
+ span.marked0 {
21
+ background-color: rgb(185, 210, 200);
22
+ display: block;
23
+ }
24
+ span.marked1 {
25
+ background-color: rgb(190, 215, 205);
26
+ display: block;
27
+ }
28
+ span.inferred0 {
29
+ background-color: rgb(175, 200, 200);
30
+ display: block;
31
+ }
32
+ span.inferred1 {
33
+ background-color: rgb(180, 205, 205);
34
+ display: block;
35
+ }
36
+ span.uncovered0 {
37
+ background-color: rgb(225, 110, 110);
38
+ display: block;
39
+ }
40
+ span.uncovered1 {
41
+ background-color: rgb(235, 120, 120);
42
+ display: block;
43
+ }
44
+ span.overview {
45
+ border-bottom: 8px solid black;
46
+ }
47
+ div.overview {
48
+ border-bottom: 8px solid black;
49
+ }
50
+ body {
51
+ font-family: verdana, arial, helvetica;
52
+ }
53
+ div.footer {
54
+ font-size: 68%;
55
+ margin-top: 1.5em;
56
+ }
57
+ h1, h2, h3, h4, h5, h6 {
58
+ margin-bottom: 0.5em;
59
+ }
60
+ h5 {
61
+ margin-top: 0.5em;
62
+ }
63
+ .hidden {
64
+ display: none;
65
+ }
66
+ div.separator {
67
+ height: 10px;
68
+ }
69
+ /* Commented out for better readability, esp. on IE */
70
+ /*
71
+ table tr td, table tr th {
72
+ font-size: 68%;
73
+ }
74
+ td.value table tr td {
75
+ font-size: 11px;
76
+ }
77
+ */
78
+ table.percent_graph {
79
+ height: 12px;
80
+ border: #808080 1px solid;
81
+ empty-cells: show;
82
+ }
83
+ table.percent_graph td.covered {
84
+ height: 10px;
85
+ background: #00f000;
86
+ }
87
+ table.percent_graph td.uncovered {
88
+ height: 10px;
89
+ background: #e00000;
90
+ }
91
+ table.percent_graph td.NA {
92
+ height: 10px;
93
+ background: #eaeaea;
94
+ }
95
+ table.report {
96
+ border-collapse: collapse;
97
+ width: 100%;
98
+ }
99
+ table.report td.heading {
100
+ background: #dcecff;
101
+ border: #d0d0d0 1px solid;
102
+ font-weight: bold;
103
+ text-align: center;
104
+ }
105
+ table.report td.heading:hover {
106
+ background: #c0ffc0;
107
+ }
108
+ table.report td.text {
109
+ border: #d0d0d0 1px solid;
110
+ }
111
+ table.report td.value,
112
+ table.report td.lines_total,
113
+ table.report td.lines_code {
114
+ text-align: right;
115
+ border: #d0d0d0 1px solid;
116
+ }
117
+ table.report tr.light {
118
+ background-color: rgb(240, 240, 245);
119
+ }
120
+ table.report tr.dark {
121
+ background-color: rgb(230, 230, 235);
122
+ }
123
+ </style>
124
+ <script type='text/javascript'>
125
+ // <![CDATA[
126
+ function toggleCode( id ) {
127
+ if ( document.getElementById )
128
+ elem = document.getElementById( id );
129
+ else if ( document.all )
130
+ elem = eval( "document.all." + id );
131
+ else
132
+ return false;
133
+
134
+ elemStyle = elem.style;
135
+
136
+ if ( elemStyle.display != "block" ) {
137
+ elemStyle.display = "block"
138
+ } else {
139
+ elemStyle.display = "none"
140
+ }
141
+
142
+ return true;
143
+ }
144
+
145
+ // Make cross-references hidden by default
146
+ document.writeln( "<style type=\"text/css\">span.cross-ref { display: none }</style>" )
147
+ // ]]>
148
+ </script>
149
+ <style type='text/css'>span.run0 {
150
+ background-color: rgb(178, 204, 255);
151
+ display: block;
152
+ }
153
+ span.run1 {
154
+ background-color: rgb(178, 206, 255);
155
+ display: block;
156
+ }
157
+ span.run2 {
158
+ background-color: rgb(178, 209, 255);
159
+ display: block;
160
+ }
161
+ span.run3 {
162
+ background-color: rgb(178, 211, 255);
163
+ display: block;
164
+ }
165
+ span.run4 {
166
+ background-color: rgb(178, 214, 255);
167
+ display: block;
168
+ }
169
+ span.run5 {
170
+ background-color: rgb(178, 218, 255);
171
+ display: block;
172
+ }
173
+ span.run6 {
174
+ background-color: rgb(178, 220, 255);
175
+ display: block;
176
+ }
177
+ span.run7 {
178
+ background-color: rgb(178, 223, 255);
179
+ display: block;
180
+ }
181
+ span.run8 {
182
+ background-color: rgb(178, 225, 255);
183
+ display: block;
184
+ }
185
+ span.run9 {
186
+ background-color: rgb(178, 228, 255);
187
+ display: block;
188
+ }
189
+ span.run10 {
190
+ background-color: rgb(178, 232, 255);
191
+ display: block;
192
+ }
193
+ span.run11 {
194
+ background-color: rgb(178, 234, 255);
195
+ display: block;
196
+ }
197
+ span.run12 {
198
+ background-color: rgb(178, 237, 255);
199
+ display: block;
200
+ }
201
+ span.run13 {
202
+ background-color: rgb(178, 239, 255);
203
+ display: block;
204
+ }
205
+ span.run14 {
206
+ background-color: rgb(178, 242, 255);
207
+ display: block;
208
+ }
209
+ span.run15 {
210
+ background-color: rgb(178, 246, 255);
211
+ display: block;
212
+ }
213
+ span.run16 {
214
+ background-color: rgb(178, 248, 255);
215
+ display: block;
216
+ }
217
+ span.run17 {
218
+ background-color: rgb(178, 251, 255);
219
+ display: block;
220
+ }
221
+ span.run18 {
222
+ background-color: rgb(178, 253, 255);
223
+ display: block;
224
+ }
225
+ span.run19 {
226
+ background-color: rgb(178, 255, 253);
227
+ display: block;
228
+ }
229
+ span.run20 {
230
+ background-color: rgb(178, 255, 249);
231
+ display: block;
232
+ }
233
+ span.run21 {
234
+ background-color: rgb(178, 255, 247);
235
+ display: block;
236
+ }
237
+ span.run22 {
238
+ background-color: rgb(178, 255, 244);
239
+ display: block;
240
+ }
241
+ span.run23 {
242
+ background-color: rgb(178, 255, 242);
243
+ display: block;
244
+ }
245
+ span.run24 {
246
+ background-color: rgb(178, 255, 239);
247
+ display: block;
248
+ }
249
+ span.run25 {
250
+ background-color: rgb(178, 255, 235);
251
+ display: block;
252
+ }
253
+ span.run26 {
254
+ background-color: rgb(178, 255, 233);
255
+ display: block;
256
+ }
257
+ span.run27 {
258
+ background-color: rgb(178, 255, 230);
259
+ display: block;
260
+ }
261
+ span.run28 {
262
+ background-color: rgb(178, 255, 228);
263
+ display: block;
264
+ }
265
+ span.run29 {
266
+ background-color: rgb(178, 255, 225);
267
+ display: block;
268
+ }
269
+ span.run30 {
270
+ background-color: rgb(178, 255, 221);
271
+ display: block;
272
+ }
273
+ span.run31 {
274
+ background-color: rgb(178, 255, 219);
275
+ display: block;
276
+ }
277
+ span.run32 {
278
+ background-color: rgb(178, 255, 216);
279
+ display: block;
280
+ }
281
+ span.run33 {
282
+ background-color: rgb(178, 255, 214);
283
+ display: block;
284
+ }
285
+ span.run34 {
286
+ background-color: rgb(178, 255, 211);
287
+ display: block;
288
+ }
289
+ span.run35 {
290
+ background-color: rgb(178, 255, 207);
291
+ display: block;
292
+ }
293
+ span.run36 {
294
+ background-color: rgb(178, 255, 205);
295
+ display: block;
296
+ }
297
+ span.run37 {
298
+ background-color: rgb(178, 255, 202);
299
+ display: block;
300
+ }
301
+ span.run38 {
302
+ background-color: rgb(178, 255, 200);
303
+ display: block;
304
+ }
305
+ span.run39 {
306
+ background-color: rgb(178, 255, 197);
307
+ display: block;
308
+ }
309
+ span.run40 {
310
+ background-color: rgb(178, 255, 193);
311
+ display: block;
312
+ }
313
+ span.run41 {
314
+ background-color: rgb(178, 255, 191);
315
+ display: block;
316
+ }
317
+ span.run42 {
318
+ background-color: rgb(178, 255, 188);
319
+ display: block;
320
+ }
321
+ span.run43 {
322
+ background-color: rgb(178, 255, 186);
323
+ display: block;
324
+ }
325
+ span.run44 {
326
+ background-color: rgb(178, 255, 183);
327
+ display: block;
328
+ }
329
+ span.run45 {
330
+ background-color: rgb(178, 255, 179);
331
+ display: block;
332
+ }
333
+ span.run46 {
334
+ background-color: rgb(179, 255, 178);
335
+ display: block;
336
+ }
337
+ span.run47 {
338
+ background-color: rgb(182, 255, 178);
339
+ display: block;
340
+ }
341
+ span.run48 {
342
+ background-color: rgb(184, 255, 178);
343
+ display: block;
344
+ }
345
+ span.run49 {
346
+ background-color: rgb(187, 255, 178);
347
+ display: block;
348
+ }
349
+ span.run50 {
350
+ background-color: rgb(191, 255, 178);
351
+ display: block;
352
+ }
353
+ span.run51 {
354
+ background-color: rgb(193, 255, 178);
355
+ display: block;
356
+ }
357
+ span.run52 {
358
+ background-color: rgb(196, 255, 178);
359
+ display: block;
360
+ }
361
+ span.run53 {
362
+ background-color: rgb(198, 255, 178);
363
+ display: block;
364
+ }
365
+ span.run54 {
366
+ background-color: rgb(201, 255, 178);
367
+ display: block;
368
+ }
369
+ span.run55 {
370
+ background-color: rgb(205, 255, 178);
371
+ display: block;
372
+ }
373
+ span.run56 {
374
+ background-color: rgb(207, 255, 178);
375
+ display: block;
376
+ }
377
+ span.run57 {
378
+ background-color: rgb(210, 255, 178);
379
+ display: block;
380
+ }
381
+ span.run58 {
382
+ background-color: rgb(212, 255, 178);
383
+ display: block;
384
+ }
385
+ span.run59 {
386
+ background-color: rgb(215, 255, 178);
387
+ display: block;
388
+ }
389
+ span.run60 {
390
+ background-color: rgb(219, 255, 178);
391
+ display: block;
392
+ }
393
+ span.run61 {
394
+ background-color: rgb(221, 255, 178);
395
+ display: block;
396
+ }
397
+ span.run62 {
398
+ background-color: rgb(224, 255, 178);
399
+ display: block;
400
+ }
401
+ span.run63 {
402
+ background-color: rgb(226, 255, 178);
403
+ display: block;
404
+ }
405
+ span.run64 {
406
+ background-color: rgb(229, 255, 178);
407
+ display: block;
408
+ }
409
+ span.run65 {
410
+ background-color: rgb(233, 255, 178);
411
+ display: block;
412
+ }
413
+ span.run66 {
414
+ background-color: rgb(235, 255, 178);
415
+ display: block;
416
+ }
417
+ span.run67 {
418
+ background-color: rgb(238, 255, 178);
419
+ display: block;
420
+ }
421
+ span.run68 {
422
+ background-color: rgb(240, 255, 178);
423
+ display: block;
424
+ }
425
+ span.run69 {
426
+ background-color: rgb(243, 255, 178);
427
+ display: block;
428
+ }
429
+ span.run70 {
430
+ background-color: rgb(247, 255, 178);
431
+ display: block;
432
+ }
433
+ span.run71 {
434
+ background-color: rgb(249, 255, 178);
435
+ display: block;
436
+ }
437
+ span.run72 {
438
+ background-color: rgb(252, 255, 178);
439
+ display: block;
440
+ }
441
+ span.run73 {
442
+ background-color: rgb(255, 255, 178);
443
+ display: block;
444
+ }
445
+ span.run74 {
446
+ background-color: rgb(255, 252, 178);
447
+ display: block;
448
+ }
449
+ span.run75 {
450
+ background-color: rgb(255, 248, 178);
451
+ display: block;
452
+ }
453
+ span.run76 {
454
+ background-color: rgb(255, 246, 178);
455
+ display: block;
456
+ }
457
+ span.run77 {
458
+ background-color: rgb(255, 243, 178);
459
+ display: block;
460
+ }
461
+ span.run78 {
462
+ background-color: rgb(255, 240, 178);
463
+ display: block;
464
+ }
465
+ span.run79 {
466
+ background-color: rgb(255, 238, 178);
467
+ display: block;
468
+ }
469
+ span.run80 {
470
+ background-color: rgb(255, 234, 178);
471
+ display: block;
472
+ }
473
+ span.run81 {
474
+ background-color: rgb(255, 232, 178);
475
+ display: block;
476
+ }
477
+ span.run82 {
478
+ background-color: rgb(255, 229, 178);
479
+ display: block;
480
+ }
481
+ span.run83 {
482
+ background-color: rgb(255, 226, 178);
483
+ display: block;
484
+ }
485
+ span.run84 {
486
+ background-color: rgb(255, 224, 178);
487
+ display: block;
488
+ }
489
+ span.run85 {
490
+ background-color: rgb(255, 220, 178);
491
+ display: block;
492
+ }
493
+ span.run86 {
494
+ background-color: rgb(255, 218, 178);
495
+ display: block;
496
+ }
497
+ span.run87 {
498
+ background-color: rgb(255, 215, 178);
499
+ display: block;
500
+ }
501
+ span.run88 {
502
+ background-color: rgb(255, 212, 178);
503
+ display: block;
504
+ }
505
+ span.run89 {
506
+ background-color: rgb(255, 210, 178);
507
+ display: block;
508
+ }
509
+ span.run90 {
510
+ background-color: rgb(255, 206, 178);
511
+ display: block;
512
+ }
513
+ span.run91 {
514
+ background-color: rgb(255, 204, 178);
515
+ display: block;
516
+ }
517
+ span.run92 {
518
+ background-color: rgb(255, 201, 178);
519
+ display: block;
520
+ }
521
+ span.run93 {
522
+ background-color: rgb(255, 198, 178);
523
+ display: block;
524
+ }
525
+ span.run94 {
526
+ background-color: rgb(255, 196, 178);
527
+ display: block;
528
+ }
529
+ span.run95 {
530
+ background-color: rgb(255, 192, 178);
531
+ display: block;
532
+ }
533
+ span.run96 {
534
+ background-color: rgb(255, 189, 178);
535
+ display: block;
536
+ }
537
+ span.run97 {
538
+ background-color: rgb(255, 187, 178);
539
+ display: block;
540
+ }
541
+ span.run98 {
542
+ background-color: rgb(255, 184, 178);
543
+ display: block;
544
+ }
545
+ span.run99 {
546
+ background-color: rgb(255, 182, 178);
547
+ display: block;
548
+ }
549
+ span.run100 {
550
+ background-color: rgb(255, 178, 178);
551
+ display: block;
552
+ }
553
+ </style>
554
+ </head>
555
+ <body><h3>C0 code coverage information</h3>
556
+ <p>Generated on Tue Sep 30 12:14:24 +0900 2008 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
+ </p>
558
+ <hr/>
559
+ <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
560
+ </span><span class='marked1'>and this: this line is also marked as covered.
561
+ </span><span class='inferred0'>Lines considered as run by rcov, but not reported by Ruby, look like this,
562
+ </span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).
563
+ </span><span class='uncovered0'>Finally, here&apos;s a line marked as not executed.
564
+ </span></pre>
565
+ <table class='report'><thead><tr><td class='heading'>Name</td>
566
+ <td class='heading'>Total lines</td>
567
+ <td class='heading'>Lines of code</td>
568
+ <td class='heading'>Total coverage</td>
569
+ <td class='heading'>Code coverage</td>
570
+ </tr>
571
+ </thead>
572
+ <tbody><tr class='light'><td><a href='lib-Context-Context_rb.html'>lib/Context/Context.rb</a>
573
+ </td>
574
+ <td class='lines_total'><tt>146</tt>
575
+ </td>
576
+ <td class='lines_code'><tt>61</tt>
577
+ </td>
578
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>100.0%</tt>
579
+ &nbsp;</td>
580
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='100'/>
581
+ <td class='uncovered' width='0'/>
582
+ </tr>
583
+ </table>
584
+ </td>
585
+ </tr>
586
+ </table>
587
+ </td>
588
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>100.0%</tt>
589
+ &nbsp;</td>
590
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='100'/>
591
+ <td class='uncovered' width='0'/>
592
+ </tr>
593
+ </table>
594
+ </td>
595
+ </tr>
596
+ </table>
597
+ </td>
598
+ </tr>
599
+ </tbody>
600
+ </table>
601
+ <pre><span class="marked1"><a name="line1"></a> 1 require 'Context/KeyMap'
602
+ </span><span class="marked0"><a name="line2"></a> 2 require 'Context/ExecutionProxy'
603
+ </span><span class="inferred1"><a name="line3"></a> 3
604
+ </span><span class="marked0"><a name="line4"></a> 4 module Context
605
+ </span><span class="inferred1"><a name="line5"></a> 5
606
+ </span><span class="inferred0"><a name="line6"></a> 6 # The Context is the Presenter in the Model, View, Presentor (MVP)
607
+ </span><span class="inferred1"><a name="line7"></a> 7 # model. It is an object that holds the logic for the UI
608
+ </span><span class="inferred0"><a name="line8"></a> 8 # scenario that the application is currently in. Context is
609
+ </span><span class="inferred1"><a name="line9"></a> 9 # an abstract class.
610
+ </span><span class="inferred0"><a name="line10"></a> 10 #
611
+ </span><span class="inferred1"><a name="line11"></a> 11 # A Context is made up of views, model objects and other sub-contexts.
612
+ </span><span class="inferred0"><a name="line12"></a> 12 # One of the views should be a UI widget container that contains all
613
+ </span><span class="inferred1"><a name="line13"></a> 13 # of the views for the Context. The concrete classes should define
614
+ </span><span class="inferred0"><a name="line14"></a> 14 # the logic for the Context that is either called by enter()
615
+ </span><span class="inferred1"><a name="line15"></a> 15 # or called from one of the contained views.
616
+ </span><span class="inferred0"><a name="line16"></a> 16 #
617
+ </span><span class="inferred1"><a name="line17"></a> 17 # Note that views are usually only instantiated in createViews, which
618
+ </span><span class="inferred0"><a name="line18"></a> 18 # is called on enter(), not on Context creation. However, there is
619
+ </span><span class="inferred1"><a name="line19"></a> 19 # no requirement for this.
620
+ </span><span class="marked0"><a name="line20"></a> 20 class Context
621
+ </span><span class="marked1"><a name="line21"></a> 21 attr_reader :parent, :mainView
622
+ </span><span class="marked0"><a name="line22"></a> 22 attr_writer :mainView
623
+ </span><span class="inferred1"><a name="line23"></a> 23
624
+ </span><span class="inferred0"><a name="line24"></a> 24 # Create a new Context. Takes a Bridge that is used to
625
+ </span><span class="inferred1"><a name="line25"></a> 25 # create the View s in using the correct namespace.
626
+ </span><span class="marked0"><a name="line26"></a> 26 def initialize(viewBridge)
627
+ </span><span class="marked1"><a name="line27"></a> 27 @parent = nil
628
+ </span><span class="marked0"><a name="line28"></a> 28 @mainView = nil
629
+ </span><span class="marked1"><a name="line29"></a> 29 @viewBridge = viewBridge
630
+ </span><span class="marked0"><a name="line30"></a> 30 @keyMap = KeyMap.new
631
+ </span><span class="marked1"><a name="line31"></a> 31 @entered = false
632
+ </span><span class="inferred0"><a name="line32"></a> 32 end
633
+ </span><span class="inferred1"><a name="line33"></a> 33
634
+ </span><span class="inferred0"><a name="line34"></a> 34 # Creates the views for the context. This method is called
635
+ </span><span class="inferred1"><a name="line35"></a> 35 # automatically by enter() and probably should not be called otherwise.
636
+ </span><span class="inferred0"><a name="line36"></a> 36 # This method should be overriden by the concrete class. It
637
+ </span><span class="inferred1"><a name="line37"></a> 37 # should instantiate all the views and set @mainView
638
+ </span><span class="marked0"><a name="line38"></a> 38 def createViews
639
+ </span><span class="inferred1"><a name="line39"></a> 39 # Nothing to do here
640
+ </span><span class="inferred0"><a name="line40"></a> 40 end
641
+ </span><span class="inferred1"><a name="line41"></a> 41
642
+ </span><span class="inferred0"><a name="line42"></a> 42 # This is intended to be private (how do I do that again?)
643
+ </span><span class="inferred1"><a name="line43"></a> 43 # Just so that it doesn't create a view if it is already created
644
+ </span><span class="marked0"><a name="line44"></a> 44 def setupViews
645
+ </span><span class="marked1"><a name="line45"></a> 45 if @mainView.nil?
646
+ </span><span class="marked0"><a name="line46"></a> 46 createViews
647
+ </span><span class="inferred1"><a name="line47"></a> 47 end
648
+ </span><span class="marked0"><a name="line48"></a> 48 end
649
+ </span><span class="inferred1"><a name="line49"></a> 49
650
+ </span><span class="inferred0"><a name="line50"></a> 50 # Creates views and returns the main View. This is intended
651
+ </span><span class="inferred1"><a name="line51"></a> 51 # to be used by test code where entering the context executes
652
+ </span><span class="inferred0"><a name="line52"></a> 52 # code and you need to know what the view will be ahead of time.
653
+ </span><span class="inferred1"><a name="line53"></a> 53 # I can think of no reason to use this in production code.
654
+ </span><span class="marked0"><a name="line54"></a> 54 def peekAtView
655
+ </span><span class="marked1"><a name="line55"></a> 55 setupViews
656
+ </span><span class="marked0"><a name="line56"></a> 56 @mainView
657
+ </span><span class="inferred1"><a name="line57"></a> 57 end
658
+ </span><span class="inferred0"><a name="line58"></a> 58
659
+ </span><span class="inferred1"><a name="line59"></a> 59 # Destroys the views for the context. This method is called
660
+ </span><span class="inferred0"><a name="line60"></a> 60 # automatically by exit() and probably should not be called otherwise.
661
+ </span><span class="inferred1"><a name="line61"></a> 61 # This method should be overriden by the concrete class. It
662
+ </span><span class="inferred0"><a name="line62"></a> 62 # should destroy all the views and set @mainView to nil
663
+ </span><span class="marked1"><a name="line63"></a> 63 def destroyViews
664
+ </span><span class="marked0"><a name="line64"></a> 64 @mainView = nil
665
+ </span><span class="marked1"><a name="line65"></a> 65 end
666
+ </span><span class="inferred0"><a name="line66"></a> 66
667
+ </span><span class="inferred1"><a name="line67"></a> 67 # Adds a view to the mainView
668
+ </span><span class="inferred0"><a name="line68"></a> 68 # Since the mainView is intended to be a UI container that contains
669
+ </span><span class="inferred1"><a name="line69"></a> 69 # all the views, this method is called by a sub-context's enter()
670
+ </span><span class="inferred0"><a name="line70"></a> 70 # method to allow the parent's mainView to contain the sub-context's
671
+ </span><span class="inferred1"><a name="line71"></a> 71 # views.
672
+ </span><span class="marked0"><a name="line72"></a> 72 def addView(view)
673
+ </span><span class="marked1"><a name="line73"></a> 73 @mainView.addView(view) unless @mainView.nil?
674
+ </span><span class="marked0"><a name="line74"></a> 74 end
675
+ </span><span class="inferred1"><a name="line75"></a> 75
676
+ </span><span class="inferred0"><a name="line76"></a> 76 # Enters the Context. After it is called, the Context is then
677
+ </span><span class="inferred1"><a name="line77"></a> 77 # active and can be interacted with. This method automatically
678
+ </span><span class="inferred0"><a name="line78"></a> 78 # calls createViews() and adds the mainView to the parent's view.
679
+ </span><span class="inferred1"><a name="line79"></a> 79 #
680
+ </span><span class="inferred0"><a name="line80"></a> 80 # Usually this method will be overriden by the concrete class.
681
+ </span><span class="inferred1"><a name="line81"></a> 81 # However, it should be careful to call super() in the appropriate
682
+ </span><span class="inferred0"><a name="line82"></a> 82 # place.
683
+ </span><span class="marked1"><a name="line83"></a> 83 def enter(parent)
684
+ </span><span class="marked0"><a name="line84"></a> 84 @parent = parent
685
+ </span><span class="marked1"><a name="line85"></a> 85 if (@parent != nil)
686
+ </span><span class="marked0"><a name="line86"></a> 86 @entered = true
687
+ </span><span class="marked1"><a name="line87"></a> 87 setupViews
688
+ </span><span class="marked0"><a name="line88"></a> 88 parent.addView(@mainView) unless @mainView.nil?
689
+ </span><span class="inferred1"><a name="line89"></a> 89 end
690
+ </span><span class="inferred0"><a name="line90"></a> 90 end
691
+ </span><span class="inferred1"><a name="line91"></a> 91
692
+ </span><span class="inferred0"><a name="line92"></a> 92 # Returns true if the context has been entered, but not exited.
693
+ </span><span class="inferred1"><a name="line93"></a> 93 # Returns false if the context has never been entered, or if
694
+ </span><span class="inferred0"><a name="line94"></a> 94 # it has been entered and then exited.
695
+ </span><span class="marked1"><a name="line95"></a> 95 def isEntered?
696
+ </span><span class="marked0"><a name="line96"></a> 96 @entered
697
+ </span><span class="marked1"><a name="line97"></a> 97 end
698
+ </span><span class="inferred0"><a name="line98"></a> 98
699
+ </span><span class="inferred1"><a name="line99"></a> 99 # Exits the Context. After it is called, the context is no longer
700
+ </span><span class="inferred0"><a name="line100"></a>100 # active and can't be interacted with. This method automatically
701
+ </span><span class="inferred1"><a name="line101"></a>101 # removes the mainView from the parent's view and calls destroyViews().
702
+ </span><span class="inferred0"><a name="line102"></a>102 #
703
+ </span><span class="inferred1"><a name="line103"></a>103 # Usually this method will be overriden by the concrete class.
704
+ </span><span class="inferred0"><a name="line104"></a>104 # However, it should be careful to call super() in the appropriate
705
+ </span><span class="inferred1"><a name="line105"></a>105 # place.
706
+ </span><span class="marked0"><a name="line106"></a>106 def exit()
707
+ </span><span class="marked1"><a name="line107"></a>107 @entered = false
708
+ </span><span class="marked0"><a name="line108"></a>108 if !@parent.nil? &amp;&amp; !@parent.mainView.nil?
709
+ </span><span class="marked1"><a name="line109"></a>109 @parent.mainView.removeView(@mainView) unless @mainView.nil?
710
+ </span><span class="inferred0"><a name="line110"></a>110 end
711
+ </span><span class="marked1"><a name="line111"></a>111 destroyViews
712
+ </span><span class="inferred0"><a name="line112"></a>112 end
713
+ </span><span class="inferred1"><a name="line113"></a>113
714
+ </span><span class="inferred0"><a name="line114"></a>114 # Sets a binding for a key.
715
+ </span><span class="inferred1"><a name="line115"></a>115 # Whenever a key is pressed, the context is notified. This
716
+ </span><span class="inferred0"><a name="line116"></a>116 # sets up a binding between the key and the block passed in.
717
+ </span><span class="inferred1"><a name="line117"></a>117 # After that point, the block will be called everytime the
718
+ </span><span class="inferred0"><a name="line118"></a>118 # key is pressed.
719
+ </span><span class="inferred1"><a name="line119"></a>119 #
720
+ </span><span class="inferred0"><a name="line120"></a>120 # Warning: This key binding mechanism is likely to be
721
+ </span><span class="inferred1"><a name="line121"></a>121 # depracated, or at least heavily modified soon.
722
+ </span><span class="marked0"><a name="line122"></a>122 def setKeyBinding(key, &amp;binding)
723
+ </span><span class="marked1"><a name="line123"></a>123 a = KeyAssignment.new(key, &amp;binding)
724
+ </span><span class="marked0"><a name="line124"></a>124 @keyMap.add(a)
725
+ </span><span class="inferred1"><a name="line125"></a>125 end
726
+ </span><span class="inferred0"><a name="line126"></a>126
727
+ </span><span class="inferred1"><a name="line127"></a>127 # Returns the existing binding for a key.
728
+ </span><span class="inferred0"><a name="line128"></a>128 #
729
+ </span><span class="inferred1"><a name="line129"></a>129 # Warning: This key binding mechanism is likely to be
730
+ </span><span class="inferred0"><a name="line130"></a>130 # depracated, or at least heavily modified soon.
731
+ </span><span class="marked1"><a name="line131"></a>131 def getKeyBinding(key)
732
+ </span><span class="marked0"><a name="line132"></a>132 a = @keyMap.findKey(key)
733
+ </span><span class="marked1"><a name="line133"></a>133 a.unless_nil.action
734
+ </span><span class="inferred0"><a name="line134"></a>134 end
735
+ </span><span class="inferred1"><a name="line135"></a>135
736
+ </span><span class="inferred0"><a name="line136"></a>136 # Called by the view to indicated that a key has been pressed.
737
+ </span><span class="inferred1"><a name="line137"></a>137 # Runs the binding in the keymap, or returns nil if there
738
+ </span><span class="inferred0"><a name="line138"></a>138 # isn't one.
739
+ </span><span class="inferred1"><a name="line139"></a>139 #
740
+ </span><span class="inferred0"><a name="line140"></a>140 # Warning: This key binding mechanism is likely to be
741
+ </span><span class="inferred1"><a name="line141"></a>141 # depracated, or at least heavily modified soon.
742
+ </span><span class="marked0"><a name="line142"></a>142 def notifyKey(view, key)
743
+ </span><span class="marked1"><a name="line143"></a>143 @keyMap.unless_nil do press(key) end
744
+ </span><span class="marked0"><a name="line144"></a>144 end
745
+ </span><span class="inferred1"><a name="line145"></a>145 end
746
+ </span><span class="inferred0"><a name="line146"></a>146 end
747
+ </span></pre><hr/>
748
+ <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
749
+ version 0.8.1.2.</p>
750
+ <p><a href='http://validator.w3.org/check/referer'><img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88'/>
751
+ </a>
752
+ <a href='http://jigsaw.w3.org/css-validator/check/referer'><img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px'/>
753
+ </a>
754
+ </p>
755
+ </body>
756
+ </html>