#N struct template3 float x float y float w float h float q;
#N canvas 376 88 576 543 12;
#X obj 248 277 pointer;
#X msg 258 249 next;
#X floatatom 248 357 4 0 0 0 - - - 0;
#N canvas 1008 77 381 425 data3 1;
#X scalar template3 18 85 43 18 741 \;;
#X scalar template3 111 169 75 25 72 \;;
#X scalar template3 111 92 4 15 163 \;;
#X scalar template3 59 61 13 34 563 \;;
#X scalar template3 148 86 37 20 566 \;;
#X scalar template3 173 281 76 48 763 \;;
#X scalar template3 250 187 18 36 543 \;;
#X scalar template3 124 270 78 21 107 \;;
#X scalar template3 264 243 1 33 178 \;;
#X scalar template3 26 88 56 60 132 \;;
#X scalar template3 2 262 66 2 808 \;;
#X scalar template3 270 106 74 51 881 \;;
#X scalar template3 214 286 8 43 180 \;;
#X scalar template3 57 205 51 58 939 \;;
#X scalar template3 216 162 36 43 505 \;;
#X scalar template3 166 146 68 9 614 \;;
#X scalar template3 144 251 56 28 886 \;;
#X scalar template3 228 62 62 1 758 \;;
#X scalar template3 168 229 28 23 654 \;;
#X scalar template3 223 308 73 50 727 \;;
#X restore 269 446 pd data3;
#N canvas 403 522 512 300 template3 0;
#X obj 48 98 filledpolygon q 0 1 0 0 w 0 w h 0 h;
#X text 44 53 five numeric ("float") fields;
#X text 48 118 drawing a rectangle \, interior color q \, border black
and one unit thick \, through the points (0 \, 0) \, (w \, 0) \, (w
\, h) \, and (0 \, h). Note that the three points containing variables
become hot spots for mouse dragging.;
#X obj 46 33 struct template3 float x float y float w float h float
q;
#X text 49 228 Draw the value of q as an Arabic numeral \, at (0 \,
0) \, in black., f 41;
#X obj 49 207 drawnumber q 0 -15 0;
#X restore 269 471 pd template3;
#N canvas 395 94 513 527 stuff 0;
#X obj 182 285 pointer;
#X obj 175 456 append template3 x y w h q;
#X obj 168 48 loadbang;
#X obj 159 106 t b b b;
#X msg 182 237 traverse pd-data3;
#X msg 205 140 \; pd-data3 clear;
#X msg 138 154 0;
#X obj 85 180 f;
#X obj 124 181 + 1;
#X obj 87 156 until;
#X obj 105 210 sel 20;
#X obj 144 236 t b;
#X msg 159 78 bang;
#X obj 77 382 random 300;
#X obj 158 382 random 300;
#X obj 382 382 random 1000;
#X obj 239 382 random 80;
#X obj 311 382 random 80;
#X obj 159 22 inlet;
#X obj 158 408 + 30;
#X obj 182 314 trigger bang bang pointer;
#X connect 0 0 20 0;
#X connect 2 0 12 0;
#X connect 3 0 9 0;
#X connect 3 1 4 0;
#X connect 3 1 6 0;
#X connect 3 2 5 0;
#X connect 4 0 0 0;
#X connect 6 0 7 1;
#X connect 7 0 10 0;
#X connect 7 0 8 0;
#X connect 8 0 7 1;
#X connect 9 0 7 0;
#X connect 10 0 9 1;
#X connect 10 1 11 0;
#X connect 11 0 0 0;
#X connect 12 0 3 0;
#X connect 13 0 1 0;
#X connect 14 0 19 0;
#X connect 15 0 1 4;
#X connect 16 0 1 2;
#X connect 17 0 1 3;
#X connect 18 0 12 0;
#X connect 19 0 1 1;
#X connect 20 0 13 0;
#X connect 20 1 14 0;
#X connect 20 1 15 0;
#X connect 20 1 16 0;
#X connect 20 1 17 0;
#X connect 20 2 1 5;
#X restore 269 422 pd stuff;
#X msg 269 397 remake;
#X obj 248 323 get template3 x y w h q;
#X obj 63 265 set template3 x;
#X obj 63 316 set template3 y;
#X obj 63 367 set template3 w;
#X obj 63 418 set template3 h;
#X obj 63 468 set template3 q;
#X msg 248 223 traverse pd-data3;
#X text 54 22 The "set" object allows you to change numeric values.
In this example \, the template specifies five fields describing the
(x \, y) location \, width \, height \, and color. A new feature is
that the color is also getting printed out under the rectangles. This
is done using the "drawnumber" object in the template., f 65;
#X text 323 396 <= click to randomize;
#X text 54 101 Getting parameter values is as in the previous patch.
However \, as you traverse the list with "next" messages the new pointers
are also sent to the five "set" objects. These have as arguments the
template name and the name of the field they will set. You can drag
on the five number boxes (after selecting an object with "traverse"
and "next" messages) to change its location \, shape \, and color.
, f 65;
#X floatatom 366 357 4 0 0 0 - - - 0;
#X floatatom 327 357 4 0 0 0 - - - 0;
#X floatatom 287 357 4 0 0 0 - - - 0;
#X floatatom 406 357 4 0 0 0 - - - 0;
#X floatatom 63 241 4 0 0 0 - - - 0;
#X floatatom 63 292 4 0 0 0 - - - 0;
#X floatatom 63 343 4 0 0 0 - - - 0;
#X floatatom 63 395 4 0 0 0 - - - 0;
#X floatatom 63 445 4 0 0 0 - - - 0;
#X text 381 222 <= click here first;
#X text 297 249 <= go to next;
#X connect 0 0 7 0;
#X connect 0 0 8 1;
#X connect 0 0 9 1;
#X connect 0 0 10 1;
#X connect 0 0 11 1;
#X connect 0 0 12 1;
#X connect 1 0 0 0;
#X connect 6 0 5 0;
#X connect 7 0 2 0;
#X connect 7 1 19 0;
#X connect 7 2 18 0;
#X connect 7 3 17 0;
#X connect 7 4 20 0;
#X connect 13 0 0 0;
#X connect 21 0 8 0;
#X connect 22 0 9 0;
#X connect 23 0 10 0;
#X connect 24 0 11 0;
#X connect 25 0 12 0;
