graffle 0.1.9 → 0.2.0

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 (42) hide show
  1. data/History.txt +9 -0
  2. data/Manifest.txt +15 -8
  3. data/Rakefile.hoe +1 -2
  4. data/bin/interpret-intentions.rb +51 -0
  5. data/examples/objects with notes.rb +1 -0
  6. data/examples/old-style-rails-workflow-test.expected +11 -0
  7. data/examples/old-style-rails-workflow-test.rb +43 -0
  8. data/examples/rails-workflow-test.rb +7 -6
  9. data/examples/sheet with key.expected +5 -0
  10. data/examples/sheet with key.graffle +0 -0
  11. data/examples/sheet with key.rb +38 -0
  12. data/graffle.tmproj +242 -75
  13. data/lib/graffle.rb +11 -2
  14. data/lib/graffle/nodoc/hacks.rb +1 -0
  15. data/lib/graffle/point.rb +1 -0
  16. data/lib/graffle/stereotypes.rb +34 -3
  17. data/lib/graffle/version.rb +3 -1
  18. data/lib/graphical_tests_for_rails.rb +11 -9
  19. data/lib/graphical_tests_for_rails/jumbled-string-canonicalizer.rb +117 -0
  20. data/lib/graphical_tests_for_rails/orderings.rb +1 -2
  21. data/lib/graphical_tests_for_rails/picture-applier.rb +257 -0
  22. data/lib/graphical_tests_for_rails/stereotype-extensions.rb +111 -0
  23. data/lib/graphical_tests_for_rails/text-appliers.rb +10 -84
  24. data/lib/graphical_tests_for_rails/user-intention.rb +250 -0
  25. data/test/abstract-graphic-tests.rb +10 -0
  26. data/test/container-tests.rb +29 -0
  27. data/test/graphical_tests_for_rails/jumbled-string-canonicalizer-tests.rb +174 -0
  28. data/test/graphical_tests_for_rails/new-style-picture-applier-tests.rb +286 -0
  29. data/test/graphical_tests_for_rails/old-style-picture-applier-tests.rb +129 -0
  30. data/test/graphical_tests_for_rails/user-intention-tests.rb +389 -0
  31. data/test/graphical_tests_for_rails/util.rb +9 -0
  32. data/test/sheet-tests.rb +21 -0
  33. data/test/text-tests.rb +6 -0
  34. metadata +25 -26
  35. data/design-notes/graphical-tests-for-rails-objects.graffle +0 -644
  36. data/lib/graphical_tests_for_rails/graphic-volunteers.rb +0 -75
  37. data/lib/graphical_tests_for_rails/picture-appliers.rb +0 -225
  38. data/lib/graphical_tests_for_rails/volunteer-pool.rb +0 -115
  39. data/test/graphical_tests_for_rails/deprecated-graphic-interpreter-tests.rb +0 -121
  40. data/test/graphical_tests_for_rails/graphic-volunteer-tests.rb +0 -218
  41. data/test/graphical_tests_for_rails/picture-applier-tests.rb +0 -215
  42. data/test/graphical_tests_for_rails/text-applier-tests.rb +0 -111
@@ -3,6 +3,7 @@
3
3
  # Created by Brian Marick on 2007-07-20.
4
4
  # Copyright (c) 2007. All rights reserved.
5
5
 
6
+ require 'graphical_tests_for_rails/text-appliers'
6
7
 
7
8
  class CommandRecorder
8
9
  attr_reader :record
@@ -14,3 +15,11 @@ class CommandRecorder
14
15
  @record << "#{message}(" + args.collect { | a | a.inspect }.join(", ") + ')'
15
16
  end
16
17
  end
18
+
19
+ def besheeted(line, label = nil)
20
+ s = sheet {
21
+ with line
22
+ }
23
+ s.with(label) if label
24
+ s.graphics[0]
25
+ end
@@ -137,6 +137,27 @@ class TestSheets < Test::Unit::TestCase
137
137
 
138
138
  assert_equal([], s.all_lines)
139
139
  end
140
+
141
+ def test_shaped_graphics_can_be_found_by_content
142
+ s = sheet {
143
+ with shaped_graphic {
144
+ with_content "not key"
145
+ }
146
+ with line_graphic {
147
+ graffle_id_is 2
148
+ }
149
+ with shaped_graphic {
150
+ with_note "but not content"
151
+ }
152
+ with line_label {
153
+ for_line 2
154
+ with_content "KEY"
155
+ with_note "hello"
156
+
157
+ }
158
+ }
159
+ assert_equal('hello', s.find_by_content("kEy").notes.as_plain_text)
160
+ end
140
161
 
141
162
 
142
163
  end
@@ -55,5 +55,11 @@ class TestText < Test::Unit::TestCase
55
55
  assert_equal([], Text::Null.new.as_lines)
56
56
  end
57
57
 
58
+ # TODO: Not 100% sure this is a good idea, but it's used in Sheet::find_by_content.
59
+ # I think that I and others will automatically ask for plain text of graphics
60
+ # without text, and empty lines seem the best.
61
+ def test_null_text_returns_empty_string
62
+ assert_equal('', Text::Null.new.as_plain_text)
63
+ end
58
64
 
59
65
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: graffle
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.9
7
- date: 2007-07-25 00:00:00 -05:00
6
+ version: 0.2.0
7
+ date: 2007-08-03 00:00:00 -05:00
8
8
  summary: Working with OmniGraffle documents, including support for Rails integration tests.
9
9
  require_paths:
10
10
  - lib
@@ -35,16 +35,21 @@ files:
35
35
  - README.txt
36
36
  - Rakefile
37
37
  - Rakefile.hoe
38
- - design-notes/graphical-tests-for-rails-objects.graffle
38
+ - bin/interpret-intentions.rb
39
39
  - examples/objects with notes.expected
40
40
  - examples/objects with notes.graffle
41
41
  - examples/objects with notes.rb
42
+ - examples/old-style-rails-workflow-test.expected
43
+ - examples/old-style-rails-workflow-test.rb
42
44
  - examples/rails-workflow-test.expected
43
45
  - examples/rails-workflow-test.graffle/data.plist
44
46
  - examples/rails-workflow-test.graffle/image1.png
45
47
  - examples/rails-workflow-test.graffle/image2.png
46
48
  - examples/rails-workflow-test.graffle/image3.png
47
49
  - examples/rails-workflow-test.rb
50
+ - examples/sheet with key.expected
51
+ - examples/sheet with key.graffle
52
+ - examples/sheet with key.rb
48
53
  - graffle.tmproj
49
54
  - lib/graffle.rb
50
55
  - lib/graffle/.document
@@ -54,21 +59,23 @@ files:
54
59
  - lib/graffle/styled-text-reader.rb
55
60
  - lib/graffle/version.rb
56
61
  - lib/graphical_tests_for_rails.rb
57
- - lib/graphical_tests_for_rails/graphic-volunteers.rb
62
+ - lib/graphical_tests_for_rails/jumbled-string-canonicalizer.rb
58
63
  - lib/graphical_tests_for_rails/orderings.rb
59
- - lib/graphical_tests_for_rails/picture-appliers.rb
64
+ - lib/graphical_tests_for_rails/picture-applier.rb
65
+ - lib/graphical_tests_for_rails/stereotype-extensions.rb
60
66
  - lib/graphical_tests_for_rails/text-appliers.rb
61
- - lib/graphical_tests_for_rails/volunteer-pool.rb
67
+ - lib/graphical_tests_for_rails/user-intention.rb
62
68
  - setup.rb
63
69
  - test/abstract-graphic-tests.rb
64
70
  - test/array-and-hash-stereotyping-tests.rb
71
+ - test/container-tests.rb
65
72
  - test/document-tests.rb
66
73
  - test/examples-tests.rb
67
- - test/graphical_tests_for_rails/deprecated-graphic-interpreter-tests.rb
68
- - test/graphical_tests_for_rails/graphic-volunteer-tests.rb
69
74
  - test/graphical_tests_for_rails/in-workflow-order-tests.rb
70
- - test/graphical_tests_for_rails/picture-applier-tests.rb
71
- - test/graphical_tests_for_rails/text-applier-tests.rb
75
+ - test/graphical_tests_for_rails/jumbled-string-canonicalizer-tests.rb
76
+ - test/graphical_tests_for_rails/new-style-picture-applier-tests.rb
77
+ - test/graphical_tests_for_rails/old-style-picture-applier-tests.rb
78
+ - test/graphical_tests_for_rails/user-intention-tests.rb
72
79
  - test/graphical_tests_for_rails/util.rb
73
80
  - test/group-tests.rb
74
81
  - test/hacks-tests.rb
@@ -91,6 +98,7 @@ files:
91
98
  test_files:
92
99
  - test/abstract-graphic-tests.rb
93
100
  - test/array-and-hash-stereotyping-tests.rb
101
+ - test/container-tests.rb
94
102
  - test/document-tests.rb
95
103
  - test/examples-tests.rb
96
104
  - test/group-tests.rb
@@ -102,11 +110,11 @@ test_files:
102
110
  - test/sheet-tests.rb
103
111
  - test/styled-text-reader-tests.rb
104
112
  - test/text-tests.rb
105
- - test/graphical_tests_for_rails/deprecated-graphic-interpreter-tests.rb
106
- - test/graphical_tests_for_rails/graphic-volunteer-tests.rb
107
113
  - test/graphical_tests_for_rails/in-workflow-order-tests.rb
108
- - test/graphical_tests_for_rails/picture-applier-tests.rb
109
- - test/graphical_tests_for_rails/text-applier-tests.rb
114
+ - test/graphical_tests_for_rails/jumbled-string-canonicalizer-tests.rb
115
+ - test/graphical_tests_for_rails/new-style-picture-applier-tests.rb
116
+ - test/graphical_tests_for_rails/old-style-picture-applier-tests.rb
117
+ - test/graphical_tests_for_rails/user-intention-tests.rb
110
118
  - test/sample-files/opening-tests.rb
111
119
  rdoc_options:
112
120
  - --main
@@ -116,8 +124,8 @@ extra_rdoc_files:
116
124
  - LICENSE.txt
117
125
  - Manifest.txt
118
126
  - README.txt
119
- executables: []
120
-
127
+ executables:
128
+ - interpret-intentions.rb
121
129
  extensions: []
122
130
 
123
131
  requirements: []
@@ -148,16 +156,7 @@ dependencies:
148
156
  requirements:
149
157
  - - ">="
150
158
  - !ruby/object:Gem::Version
151
- version: 1.0.1
152
- version:
153
- - !ruby/object:Gem::Dependency
154
- name: fluid
155
- version_requirement:
156
- version_requirements: !ruby/object:Gem::Version::Requirement
157
- requirements:
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: 1.0.1
159
+ version: 1.0.2
161
160
  version:
162
161
  - !ruby/object:Gem::Dependency
163
162
  name: hoe
@@ -1,644 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>ActiveLayerIndex</key>
6
- <integer>0</integer>
7
- <key>AutoAdjust</key>
8
- <true/>
9
- <key>CanvasColor</key>
10
- <dict>
11
- <key>w</key>
12
- <string>1</string>
13
- </dict>
14
- <key>CanvasOrigin</key>
15
- <string>{0, 0}</string>
16
- <key>CanvasScale</key>
17
- <real>1</real>
18
- <key>ColumnAlign</key>
19
- <integer>1</integer>
20
- <key>ColumnSpacing</key>
21
- <real>36</real>
22
- <key>CreationDate</key>
23
- <string>2007-07-21 13:07:58 -0500</string>
24
- <key>Creator</key>
25
- <string>Brian Marick</string>
26
- <key>DisplayScale</key>
27
- <string>1 in = 1 in</string>
28
- <key>GraphDocumentVersion</key>
29
- <integer>5</integer>
30
- <key>GraphicsList</key>
31
- <array>
32
- <dict>
33
- <key>Bounds</key>
34
- <string>{{144.9, 23}, {289, 14}}</string>
35
- <key>Class</key>
36
- <string>ShapedGraphic</string>
37
- <key>FitText</key>
38
- <string>YES</string>
39
- <key>Flow</key>
40
- <string>Resize</string>
41
- <key>FontInfo</key>
42
- <dict>
43
- <key>Color</key>
44
- <dict>
45
- <key>w</key>
46
- <string>0</string>
47
- </dict>
48
- <key>Font</key>
49
- <string>Helvetica</string>
50
- <key>Size</key>
51
- <real>12</real>
52
- </dict>
53
- <key>ID</key>
54
- <integer>179</integer>
55
- <key>Notes</key>
56
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
57
- {\fonttbl\f0\fswiss\fcharset77 Helvetica;}
58
- {\colortbl;\red255\green255\blue255;}
59
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
60
-
61
- \f0\fs24 \cf0 type: button\
62
- name: run\
63
- active: no}</string>
64
- <key>Shape</key>
65
- <string>Rectangle</string>
66
- <key>Style</key>
67
- <dict>
68
- <key>fill</key>
69
- <dict>
70
- <key>Color</key>
71
- <dict>
72
- <key>b</key>
73
- <string>0.901961</string>
74
- <key>g</key>
75
- <string>0.901961</string>
76
- <key>r</key>
77
- <string>0.901961</string>
78
- </dict>
79
- <key>Draws</key>
80
- <string>NO</string>
81
- </dict>
82
- <key>shadow</key>
83
- <dict>
84
- <key>Draws</key>
85
- <string>NO</string>
86
- </dict>
87
- <key>stroke</key>
88
- <dict>
89
- <key>Color</key>
90
- <dict>
91
- <key>b</key>
92
- <string>0.592391</string>
93
- <key>g</key>
94
- <string>0.592391</string>
95
- <key>r</key>
96
- <string>0.592391</string>
97
- </dict>
98
- <key>Draws</key>
99
- <string>NO</string>
100
- </dict>
101
- </dict>
102
- <key>Text</key>
103
- <dict>
104
- <key>Text</key>
105
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
106
- {\fonttbl\f0\fswiss\fcharset77 Helvetica;}
107
- {\colortbl;\red255\green255\blue255;}
108
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
109
-
110
- \f0\fs24 \cf0 Objects that participate in the graphical tests for rails}</string>
111
- </dict>
112
- <key>Wrap</key>
113
- <string>NO</string>
114
- </dict>
115
- <dict>
116
- <key>Bounds</key>
117
- <string>{{71.5, 375.202}, {187, 52}}</string>
118
- <key>Class</key>
119
- <string>ShapedGraphic</string>
120
- <key>FitText</key>
121
- <string>YES</string>
122
- <key>FontInfo</key>
123
- <dict>
124
- <key>Color</key>
125
- <dict>
126
- <key>w</key>
127
- <string>0</string>
128
- </dict>
129
- <key>Font</key>
130
- <string>Helvetica</string>
131
- <key>Size</key>
132
- <real>12</real>
133
- </dict>
134
- <key>ID</key>
135
- <integer>37</integer>
136
- <key>Line</key>
137
- <dict>
138
- <key>ID</key>
139
- <integer>36</integer>
140
- <key>Position</key>
141
- <real>0.48107233643531799</real>
142
- <key>RotationType</key>
143
- <integer>0</integer>
144
- </dict>
145
- <key>Shape</key>
146
- <string>Rectangle</string>
147
- <key>Style</key>
148
- <dict>
149
- <key>shadow</key>
150
- <dict>
151
- <key>Draws</key>
152
- <string>NO</string>
153
- </dict>
154
- <key>stroke</key>
155
- <dict>
156
- <key>Draws</key>
157
- <string>NO</string>
158
- </dict>
159
- </dict>
160
- <key>Text</key>
161
- <dict>
162
- <key>Text</key>
163
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
164
- {\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Oblique;}
165
- {\colortbl;\red255\green255\blue255;}
166
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
167
-
168
- \f0\fs24 \cf0 It does that by converting the \
169
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
170
-
171
- \f1\i graphic
172
- \f0\i0 into lines of text and then\
173
- using a... }</string>
174
- <key>VerticalPad</key>
175
- <integer>5</integer>
176
- </dict>
177
- </dict>
178
- <dict>
179
- <key>Class</key>
180
- <string>LineGraphic</string>
181
- <key>Head</key>
182
- <dict>
183
- <key>ID</key>
184
- <integer>35</integer>
185
- </dict>
186
- <key>ID</key>
187
- <integer>36</integer>
188
- <key>OrthogonalBarAutomatic</key>
189
- <true/>
190
- <key>OrthogonalBarPosition</key>
191
- <real>-1</real>
192
- <key>Points</key>
193
- <array>
194
- <string>{165, 355.5}</string>
195
- <string>{165, 450.5}</string>
196
- </array>
197
- <key>Style</key>
198
- <dict>
199
- <key>stroke</key>
200
- <dict>
201
- <key>HeadArrow</key>
202
- <string>0</string>
203
- <key>LineType</key>
204
- <integer>2</integer>
205
- <key>TailArrow</key>
206
- <string>0</string>
207
- </dict>
208
- </dict>
209
- <key>Tail</key>
210
- <dict>
211
- <key>ID</key>
212
- <integer>5</integer>
213
- </dict>
214
- </dict>
215
- <dict>
216
- <key>Bounds</key>
217
- <string>{{92.5, 191}, {145, 24}}</string>
218
- <key>Class</key>
219
- <string>ShapedGraphic</string>
220
- <key>FitText</key>
221
- <string>YES</string>
222
- <key>FontInfo</key>
223
- <dict>
224
- <key>Color</key>
225
- <dict>
226
- <key>w</key>
227
- <string>0</string>
228
- </dict>
229
- <key>Font</key>
230
- <string>Helvetica</string>
231
- <key>Size</key>
232
- <real>12</real>
233
- </dict>
234
- <key>ID</key>
235
- <integer>32</integer>
236
- <key>Line</key>
237
- <dict>
238
- <key>ID</key>
239
- <integer>31</integer>
240
- <key>Position</key>
241
- <real>0.52906984090805054</real>
242
- <key>RotationType</key>
243
- <integer>0</integer>
244
- </dict>
245
- <key>Shape</key>
246
- <string>Rectangle</string>
247
- <key>Style</key>
248
- <dict>
249
- <key>shadow</key>
250
- <dict>
251
- <key>Draws</key>
252
- <string>NO</string>
253
- </dict>
254
- <key>stroke</key>
255
- <dict>
256
- <key>Draws</key>
257
- <string>NO</string>
258
- </dict>
259
- </dict>
260
- <key>Text</key>
261
- <dict>
262
- <key>Text</key>
263
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
264
- {\fonttbl\f0\fswiss\fcharset77 Helvetica;}
265
- {\colortbl;\red255\green255\blue255;}
266
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
267
-
268
- \f0\fs24 \cf0 ...makes use of a set of...}</string>
269
- <key>VerticalPad</key>
270
- <integer>5</integer>
271
- </dict>
272
- </dict>
273
- <dict>
274
- <key>Class</key>
275
- <string>LineGraphic</string>
276
- <key>Head</key>
277
- <dict>
278
- <key>ID</key>
279
- <integer>5</integer>
280
- </dict>
281
- <key>ID</key>
282
- <integer>31</integer>
283
- <key>OrthogonalBarAutomatic</key>
284
- <true/>
285
- <key>OrthogonalBarPosition</key>
286
- <real>-1</real>
287
- <key>Points</key>
288
- <array>
289
- <string>{165, 157.5}</string>
290
- <string>{165, 243.5}</string>
291
- </array>
292
- <key>Style</key>
293
- <dict>
294
- <key>stroke</key>
295
- <dict>
296
- <key>HeadArrow</key>
297
- <string>0</string>
298
- <key>LineType</key>
299
- <integer>2</integer>
300
- <key>TailArrow</key>
301
- <string>0</string>
302
- </dict>
303
- </dict>
304
- <key>Tail</key>
305
- <dict>
306
- <key>ID</key>
307
- <integer>3</integer>
308
- </dict>
309
- </dict>
310
- <dict>
311
- <key>Bounds</key>
312
- <string>{{69, 451}, {192, 80}}</string>
313
- <key>Class</key>
314
- <string>ShapedGraphic</string>
315
- <key>ID</key>
316
- <integer>35</integer>
317
- <key>Shape</key>
318
- <string>Rectangle</string>
319
- <key>Text</key>
320
- <dict>
321
- <key>Text</key>
322
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
323
- {\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fswiss\fcharset77 Helvetica-Oblique;
324
- }
325
- {\colortbl;\red255\green255\blue255;}
326
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\slleading100\qc\pardirnatural
327
-
328
- \f0\b\fs24 \cf0 TextApplier\
329
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
330
-
331
- \f1\b0 \cf0 converts the lines into a series of messages, which are sent to the
332
- \f2\i target}</string>
333
- <key>VerticalPad</key>
334
- <integer>5</integer>
335
- </dict>
336
- <key>TextPlacement</key>
337
- <integer>0</integer>
338
- </dict>
339
- <dict>
340
- <key>Bounds</key>
341
- <string>{{330, 126.25}, {192, 153.5}}</string>
342
- <key>Class</key>
343
- <string>ShapedGraphic</string>
344
- <key>ID</key>
345
- <integer>7</integer>
346
- <key>Shape</key>
347
- <string>Rectangle</string>
348
- <key>Text</key>
349
- <dict>
350
- <key>Text</key>
351
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
352
- {\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;}
353
- {\colortbl;\red255\green255\blue255;}
354
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\slleading100\qc\pardirnatural
355
-
356
- \f0\b\fs24 \cf0 GraphicVolunteerPool\
357
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
358
-
359
- \f1\b0 \cf0 contains a set of named volunteers that can handle particular kinds of graphics. The
360
- \f0\b PictureApplier
361
- \f1\b0 is given those names and asks the pool for the appropriate volunteers. At that time, each volunteer is also told what
362
- \f0\b TextApplier
363
- \f1\b0 to use.}</string>
364
- <key>VerticalPad</key>
365
- <integer>5</integer>
366
- </dict>
367
- <key>TextPlacement</key>
368
- <integer>0</integer>
369
- </dict>
370
- <dict>
371
- <key>Bounds</key>
372
- <string>{{270, 558}, {192, 137}}</string>
373
- <key>Class</key>
374
- <string>ShapedGraphic</string>
375
- <key>ID</key>
376
- <integer>6</integer>
377
- <key>Shape</key>
378
- <string>Rectangle</string>
379
- <key>Text</key>
380
- <dict>
381
- <key>Text</key>
382
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
383
- {\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;}
384
- {\colortbl;\red255\green255\blue255;}
385
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\slleading100\qc\pardirnatural
386
-
387
- \f0\b\fs24 \cf0 PictureApplier\
388
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
389
-
390
- \f1\b0 \cf0 text}</string>
391
- <key>VerticalPad</key>
392
- <integer>5</integer>
393
- </dict>
394
- <key>TextPlacement</key>
395
- <integer>0</integer>
396
- </dict>
397
- <dict>
398
- <key>Bounds</key>
399
- <string>{{69, 244}, {192, 111}}</string>
400
- <key>Class</key>
401
- <string>ShapedGraphic</string>
402
- <key>ID</key>
403
- <integer>5</integer>
404
- <key>Shape</key>
405
- <string>Rectangle</string>
406
- <key>Text</key>
407
- <dict>
408
- <key>Text</key>
409
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
410
- {\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fswiss\fcharset77 Helvetica-Oblique;
411
- }
412
- {\colortbl;\red255\green255\blue255;}
413
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\slleading100\qc\pardirnatural
414
-
415
- \f0\b\fs24 \cf0 GraphicVolunteer\
416
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
417
-
418
- \f1\b0 \cf0 is presented with a graphic. If it has been programmed to match such a
419
- \f2\i graphic
420
- \f1\i0 , it volunteers to apply that graphic to a
421
- \f2\i target
422
- \f1\i0 .}</string>
423
- <key>VerticalPad</key>
424
- <integer>5</integer>
425
- </dict>
426
- <key>TextPlacement</key>
427
- <integer>0</integer>
428
- </dict>
429
- <dict>
430
- <key>Bounds</key>
431
- <string>{{69, 71}, {192, 86}}</string>
432
- <key>Class</key>
433
- <string>ShapedGraphic</string>
434
- <key>ID</key>
435
- <integer>3</integer>
436
- <key>Shape</key>
437
- <string>Rectangle</string>
438
- <key>Text</key>
439
- <dict>
440
- <key>Text</key>
441
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
442
- {\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fswiss\fcharset77 Helvetica-Oblique;
443
- }
444
- {\colortbl;\red255\green255\blue255;}
445
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\slleading100\qc\pardirnatural
446
-
447
- \f0\b\fs24 \cf0 PictureApplier\
448
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
449
-
450
- \f1\b0 converts an array of Graffle
451
- \f2\i graphics
452
- \f1\i0 into messages that are sent to some
453
- \f2\i target
454
- \f1\i0 object.}</string>
455
- <key>VerticalPad</key>
456
- <integer>5</integer>
457
- </dict>
458
- <key>TextPlacement</key>
459
- <integer>0</integer>
460
- </dict>
461
- </array>
462
- <key>GridInfo</key>
463
- <dict/>
464
- <key>GuidesLocked</key>
465
- <string>NO</string>
466
- <key>GuidesVisible</key>
467
- <string>YES</string>
468
- <key>HPages</key>
469
- <integer>1</integer>
470
- <key>ImageCounter</key>
471
- <integer>1</integer>
472
- <key>IsPalette</key>
473
- <string>NO</string>
474
- <key>KeepToScale</key>
475
- <false/>
476
- <key>Layers</key>
477
- <array>
478
- <dict>
479
- <key>Lock</key>
480
- <string>NO</string>
481
- <key>Name</key>
482
- <string>Layer 1</string>
483
- <key>Print</key>
484
- <string>YES</string>
485
- <key>View</key>
486
- <string>YES</string>
487
- </dict>
488
- </array>
489
- <key>LayoutInfo</key>
490
- <dict/>
491
- <key>LinksVisible</key>
492
- <string>NO</string>
493
- <key>MagnetsVisible</key>
494
- <string>NO</string>
495
- <key>MasterSheet</key>
496
- <string>Master 1</string>
497
- <key>MasterSheets</key>
498
- <array>
499
- <dict>
500
- <key>ActiveLayerIndex</key>
501
- <integer>0</integer>
502
- <key>AutoAdjust</key>
503
- <true/>
504
- <key>CanvasColor</key>
505
- <dict>
506
- <key>w</key>
507
- <string>1</string>
508
- </dict>
509
- <key>CanvasOrigin</key>
510
- <string>{0, 0}</string>
511
- <key>CanvasScale</key>
512
- <real>1</real>
513
- <key>ColumnAlign</key>
514
- <integer>1</integer>
515
- <key>ColumnSpacing</key>
516
- <real>36</real>
517
- <key>DisplayScale</key>
518
- <string>1 in = 1 in</string>
519
- <key>GraphicsList</key>
520
- <array/>
521
- <key>GridInfo</key>
522
- <dict/>
523
- <key>HPages</key>
524
- <integer>1</integer>
525
- <key>IsPalette</key>
526
- <string>NO</string>
527
- <key>KeepToScale</key>
528
- <false/>
529
- <key>Layers</key>
530
- <array>
531
- <dict>
532
- <key>Lock</key>
533
- <string>NO</string>
534
- <key>Name</key>
535
- <string>Layer 1</string>
536
- <key>Print</key>
537
- <string>YES</string>
538
- <key>View</key>
539
- <string>YES</string>
540
- </dict>
541
- </array>
542
- <key>LayoutInfo</key>
543
- <dict/>
544
- <key>Orientation</key>
545
- <integer>2</integer>
546
- <key>OutlineStyle</key>
547
- <string>Basic</string>
548
- <key>RowAlign</key>
549
- <integer>1</integer>
550
- <key>RowSpacing</key>
551
- <real>36</real>
552
- <key>SheetTitle</key>
553
- <string>Master 1</string>
554
- <key>UniqueID</key>
555
- <integer>1</integer>
556
- <key>VPages</key>
557
- <integer>1</integer>
558
- </dict>
559
- </array>
560
- <key>ModificationDate</key>
561
- <string>2007-07-21 14:14:22 -0500</string>
562
- <key>Modifier</key>
563
- <string>Brian Marick</string>
564
- <key>NotesVisible</key>
565
- <string>NO</string>
566
- <key>Orientation</key>
567
- <integer>2</integer>
568
- <key>OriginVisible</key>
569
- <string>NO</string>
570
- <key>OutlineStyle</key>
571
- <string>Basic</string>
572
- <key>PageBreaks</key>
573
- <string>YES</string>
574
- <key>PrintInfo</key>
575
- <dict>
576
- <key>NSBottomMargin</key>
577
- <array>
578
- <string>float</string>
579
- <string>0</string>
580
- </array>
581
- <key>NSLeftMargin</key>
582
- <array>
583
- <string>float</string>
584
- <string>0</string>
585
- </array>
586
- <key>NSPaperSize</key>
587
- <array>
588
- <string>size</string>
589
- <string>{612, 792}</string>
590
- </array>
591
- <key>NSRightMargin</key>
592
- <array>
593
- <string>float</string>
594
- <string>0</string>
595
- </array>
596
- <key>NSTopMargin</key>
597
- <array>
598
- <string>float</string>
599
- <string>0</string>
600
- </array>
601
- </dict>
602
- <key>ReadOnly</key>
603
- <string>NO</string>
604
- <key>RowAlign</key>
605
- <integer>1</integer>
606
- <key>RowSpacing</key>
607
- <real>36</real>
608
- <key>SheetTitle</key>
609
- <string>Canvas 1</string>
610
- <key>SmartAlignmentGuidesActive</key>
611
- <string>YES</string>
612
- <key>SmartDistanceGuidesActive</key>
613
- <string>YES</string>
614
- <key>UniqueID</key>
615
- <integer>1</integer>
616
- <key>UseEntirePage</key>
617
- <true/>
618
- <key>VPages</key>
619
- <integer>1</integer>
620
- <key>WindowInfo</key>
621
- <dict>
622
- <key>CurrentSheet</key>
623
- <string>0</string>
624
- <key>DrawerOpen</key>
625
- <false/>
626
- <key>DrawerTab</key>
627
- <string>Outline</string>
628
- <key>DrawerWidth</key>
629
- <real>209</real>
630
- <key>FitInWindow</key>
631
- <false/>
632
- <key>Frame</key>
633
- <string>{{152, 0}, {594, 746}}</string>
634
- <key>ShowRuler</key>
635
- <false/>
636
- <key>ShowStatusBar</key>
637
- <true/>
638
- <key>VisibleRegion</key>
639
- <string>{{0, 0}, {579, 632}}</string>
640
- <key>Zoom</key>
641
- <string>1</string>
642
- </dict>
643
- </dict>
644
- </plist>