190 ! |
190 ! |
191 |
191 |
192 origin:anOrigin corner:aCorner in:aTopview |
192 origin:anOrigin corner:aCorner in:aTopview |
193 window := SimpleView origin:anOrigin corner:aCorner in:aTopview |
193 window := SimpleView origin:anOrigin corner:aCorner in:aTopview |
194 |
194 |
195 ! ! |
|
196 |
|
197 !UIPropertyView::Dimension class methodsFor:'interface specs'! |
|
198 |
|
199 specificationAlignmentOrigin |
|
200 "this window spec was automatically generated by the ST/X UIPainter" |
|
201 |
|
202 "do not manually edit this - the painter/builder may not be able to |
|
203 handle the specification if its corrupted." |
|
204 |
|
205 " |
|
206 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationAlignmentOrigin |
|
207 UIPropertyView::Dimension new openInterface:#specificationAlignmentOrigin |
|
208 " |
|
209 |
|
210 <resource: #canvas> |
|
211 |
|
212 ^ |
|
213 |
|
214 #(#FullSpec |
|
215 #'window:' |
|
216 #(#WindowSpec |
|
217 #'name:' 'uIPainterView' |
|
218 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
219 #'label:' 'unnamed' |
|
220 #'bounds:' #(#Rectangle 0 0 250 365) |
|
221 ) |
|
222 #'component:' |
|
223 #(#SpecCollection |
|
224 #'collection:' |
|
225 #( |
|
226 #(#LabelSpec |
|
227 #'name:' 'label2' |
|
228 #'layout:' #(#AlignmentOrigin 49 0 68 0 1 0) |
|
229 #'label:' 'top' |
|
230 #'level:' 0 |
|
231 #'adjust:' #right |
|
232 #'hasCharacterOrientedLabel:' true |
|
233 ) |
|
234 #(#LabelSpec |
|
235 #'name:' 'label3' |
|
236 #'layout:' #(#Point 58 13) |
|
237 #'label:' 'relative' |
|
238 #'level:' 0 |
|
239 #'adjust:' #center |
|
240 #'hasCharacterOrientedLabel:' true |
|
241 ) |
|
242 #(#LabelSpec |
|
243 #'name:' 'label4' |
|
244 #'layout:' #(#Point 154 14) |
|
245 #'label:' 'offset' |
|
246 #'level:' 0 |
|
247 #'adjust:' #center |
|
248 #'hasCharacterOrientedLabel:' true |
|
249 ) |
|
250 #(#LabelSpec |
|
251 #'name:' 'label5' |
|
252 #'layout:' #(#AlignmentOrigin 63 0 140 0 1 0) |
|
253 #'label:' 'align H' |
|
254 #'level:' 0 |
|
255 #'adjust:' #right |
|
256 #'hasCharacterOrientedLabel:' true |
|
257 ) |
|
258 #(#LabelSpec |
|
259 #'name:' 'label6' |
|
260 #'layout:' #(#AlignmentOrigin 63 0 166 0 1 0) |
|
261 #'label:' 'align V' |
|
262 #'level:' 0 |
|
263 #'adjust:' #right |
|
264 #'hasCharacterOrientedLabel:' true |
|
265 ) |
|
266 #(#InputFieldSpec |
|
267 #'name:' 'editField1' |
|
268 #'layout:' #(#LayoutFrame 58 0 41 0 115 0 59 0) |
|
269 #'model:' #leftFraction |
|
270 #'tabable:' true |
|
271 #'type:' #numberOrNil |
|
272 #'immediateAccept:' true |
|
273 #'acceptOnLeave:' true |
|
274 #'acceptOnReturn:' true |
|
275 #'acceptOnTab:' true |
|
276 #'acceptOnLostFocus:' true |
|
277 #'hasBorder:' false |
|
278 ) |
|
279 #(#InputFieldSpec |
|
280 #'name:' 'editField2' |
|
281 #'layout:' #(#LayoutFrame 58 0 68 0 115 0 86 0) |
|
282 #'model:' #topFraction |
|
283 #'tabable:' true |
|
284 #'type:' #numberOrNil |
|
285 #'immediateAccept:' true |
|
286 #'acceptOnLeave:' true |
|
287 #'acceptOnReturn:' true |
|
288 #'acceptOnTab:' true |
|
289 #'acceptOnLostFocus:' true |
|
290 #'hasBorder:' false |
|
291 ) |
|
292 #(#InputFieldSpec |
|
293 #'name:' 'editField5' |
|
294 #'layout:' #(#LayoutFrame 68 0 140 0 125 0 158 0) |
|
295 #'model:' #leftAlignmentFraction |
|
296 #'tabable:' true |
|
297 #'type:' #numberOrNil |
|
298 #'immediateAccept:' true |
|
299 #'acceptOnLeave:' true |
|
300 #'acceptOnReturn:' true |
|
301 #'acceptOnTab:' true |
|
302 #'acceptOnLostFocus:' true |
|
303 #'hasBorder:' false |
|
304 ) |
|
305 #(#InputFieldSpec |
|
306 #'name:' 'editField6' |
|
307 #'layout:' #(#LayoutFrame 68 0 166 0 125 0 184 0) |
|
308 #'model:' #topAlignmentFraction |
|
309 #'tabable:' true |
|
310 #'type:' #numberOrNil |
|
311 #'immediateAccept:' true |
|
312 #'acceptOnLeave:' true |
|
313 #'acceptOnReturn:' true |
|
314 #'acceptOnTab:' true |
|
315 #'acceptOnLostFocus:' true |
|
316 #'hasBorder:' false |
|
317 ) |
|
318 #(#InputFieldSpec |
|
319 #'name:' 'editField3' |
|
320 #'layout:' #(#LayoutFrame 154 0 41 0 212 0 59 0) |
|
321 #'model:' #leftOffset |
|
322 #'tabable:' true |
|
323 #'type:' #numberOrNil |
|
324 #'immediateAccept:' true |
|
325 #'acceptOnLeave:' true |
|
326 #'acceptOnReturn:' true |
|
327 #'acceptOnTab:' true |
|
328 #'acceptOnLostFocus:' true |
|
329 #'hasBorder:' false |
|
330 ) |
|
331 #(#InputFieldSpec |
|
332 #'name:' 'editField4' |
|
333 #'layout:' #(#LayoutFrame 154 0 68 0 212 0 86 0) |
|
334 #'model:' #topOffset |
|
335 #'tabable:' true |
|
336 #'type:' #numberOrNil |
|
337 #'immediateAccept:' true |
|
338 #'acceptOnLeave:' true |
|
339 #'acceptOnReturn:' true |
|
340 #'acceptOnTab:' true |
|
341 #'acceptOnLostFocus:' true |
|
342 #'hasBorder:' false |
|
343 ) |
|
344 #(#ActionButtonSpec |
|
345 #'name:' 'button1' |
|
346 #'layout:' #(#LayoutFrame 119 0 41 0 138 0 59 0) |
|
347 #'label:' '' |
|
348 #'model:' #makeRelativeLeft |
|
349 #'isTriggerOnDown:' false |
|
350 #'autoRepeat:' false |
|
351 ) |
|
352 #(#ActionButtonSpec |
|
353 #'name:' 'button2' |
|
354 #'layout:' #(#LayoutFrame 119 0 68 0 138 0 86 0) |
|
355 #'label:' '' |
|
356 #'model:' #makeRelativeTop |
|
357 #'isTriggerOnDown:' false |
|
358 #'autoRepeat:' false |
|
359 ) |
|
360 #(#ActionButtonSpec |
|
361 #'name:' 'button3' |
|
362 #'layout:' #(#LayoutFrame 217 0 41 0 236 0 59 0) |
|
363 #'label:' '' |
|
364 #'model:' #makeOffsetLeft |
|
365 #'isTriggerOnDown:' false |
|
366 #'autoRepeat:' false |
|
367 ) |
|
368 #(#ActionButtonSpec |
|
369 #'name:' 'button4' |
|
370 #'layout:' #(#LayoutFrame 217 0 68 0 236 0 86 0) |
|
371 #'label:' '' |
|
372 #'model:' #makeOffsetTop |
|
373 #'isTriggerOnDown:' false |
|
374 #'autoRepeat:' false |
|
375 ) |
|
376 #(#ActionButtonSpec |
|
377 #'name:' 'button8' |
|
378 #'layout:' #(#LayoutFrame 119 0 102 0 138 0 120 0) |
|
379 #'label:' '' |
|
380 #'model:' #makeRelativeLeftTop |
|
381 #'isTriggerOnDown:' false |
|
382 #'autoRepeat:' false |
|
383 ) |
|
384 #(#ActionButtonSpec |
|
385 #'name:' 'button9' |
|
386 #'layout:' #(#LayoutFrame 217 0 102 0 236 0 120 0) |
|
387 #'label:' '' |
|
388 #'model:' #makeOffsetLeftTop |
|
389 #'isTriggerOnDown:' false |
|
390 #'autoRepeat:' false |
|
391 ) |
|
392 #(#LabelSpec |
|
393 #'name:' 'label7' |
|
394 #'layout:' #(#AlignmentOrigin 49 0 102 0 1 0) |
|
395 #'label:' 'all' |
|
396 #'level:' 0 |
|
397 #'adjust:' #right |
|
398 #'hasCharacterOrientedLabel:' true |
|
399 ) |
|
400 #(#LabelSpec |
|
401 #'name:' 'label1' |
|
402 #'layout:' #(#AlignmentOrigin 49 0 41 0 1 0) |
|
403 #'label:' 'left' |
|
404 #'level:' 0 |
|
405 #'adjust:' #right |
|
406 #'hasCharacterOrientedLabel:' true |
|
407 ) |
|
408 #(#DividerSpec |
|
409 #'name:' 'separator1' |
|
410 #'layout:' #(#Rectangle 154 142 203 153) |
|
411 #'orientation:' #horizontal |
|
412 ) |
|
413 #(#DividerSpec |
|
414 #'name:' 'separator2' |
|
415 #'layout:' #(#Rectangle 154 173 203 184) |
|
416 #'orientation:' #horizontal |
|
417 ) |
|
418 #(#DividerSpec |
|
419 #'name:' 'separator3' |
|
420 #'layout:' #(#Rectangle 145 152 155 173) |
|
421 #'orientation:' #vertical |
|
422 ) |
|
423 #(#DividerSpec |
|
424 #'name:' 'separator4' |
|
425 #'layout:' #(#Rectangle 203 152 213 173) |
|
426 #'orientation:' #vertical |
|
427 ) |
|
428 #(#ActionButtonSpec |
|
429 #'name:' 'alignBR' |
|
430 #'layout:' #(#Rectangle 201 172 213 184) |
|
431 #'label:' '' |
|
432 #'model:' #makeAlignBottomRight |
|
433 #'isTriggerOnDown:' false |
|
434 #'autoRepeat:' false |
|
435 ) |
|
436 #(#ActionButtonSpec |
|
437 #'name:' 'alignTL' |
|
438 #'layout:' #(#Rectangle 145 141 157 153) |
|
439 #'label:' '' |
|
440 #'model:' #makeAlignTopLeft |
|
441 #'isTriggerOnDown:' false |
|
442 #'autoRepeat:' false |
|
443 ) |
|
444 #(#ActionButtonSpec |
|
445 #'name:' 'alignTR' |
|
446 #'layout:' #(#Rectangle 201 141 213 153) |
|
447 #'label:' '' |
|
448 #'model:' #makeAlignTopRight |
|
449 #'isTriggerOnDown:' false |
|
450 #'autoRepeat:' false |
|
451 ) |
|
452 #(#ActionButtonSpec |
|
453 #'name:' 'alignBL' |
|
454 #'layout:' #(#Rectangle 145 171 157 183) |
|
455 #'label:' '' |
|
456 #'model:' #makeAlignBottomLeft |
|
457 #'isTriggerOnDown:' false |
|
458 #'autoRepeat:' false |
|
459 ) |
|
460 #(#ActionButtonSpec |
|
461 #'name:' 'alignTC' |
|
462 #'layout:' #(#Rectangle 173 141 185 153) |
|
463 #'label:' '' |
|
464 #'model:' #makeAlignTopCenter |
|
465 #'isTriggerOnDown:' false |
|
466 #'autoRepeat:' false |
|
467 ) |
|
468 #(#ActionButtonSpec |
|
469 #'name:' 'alignBC' |
|
470 #'layout:' #(#Rectangle 173 172 185 184) |
|
471 #'label:' '' |
|
472 #'model:' #makeAlignBottomCenter |
|
473 #'isTriggerOnDown:' false |
|
474 #'autoRepeat:' false |
|
475 ) |
|
476 #(#ActionButtonSpec |
|
477 #'name:' 'alignLC' |
|
478 #'layout:' #(#Rectangle 145 156 157 168) |
|
479 #'label:' '' |
|
480 #'model:' #makeAlignLeftCenter |
|
481 #'isTriggerOnDown:' false |
|
482 #'autoRepeat:' false |
|
483 ) |
|
484 #(#ActionButtonSpec |
|
485 #'name:' 'alignRC' |
|
486 #'layout:' #(#Rectangle 201 156 213 168) |
|
487 #'label:' '' |
|
488 #'model:' #makeAlignRightCenter |
|
489 #'isTriggerOnDown:' false |
|
490 #'autoRepeat:' false |
|
491 ) |
|
492 #(#ActionButtonSpec |
|
493 #'name:' 'alignC' |
|
494 #'layout:' #(#Rectangle 173 156 185 168) |
|
495 #'label:' '' |
|
496 #'model:' #makeAlignCenter |
|
497 #'isTriggerOnDown:' false |
|
498 #'autoRepeat:' false |
|
499 ) |
|
500 ) |
|
501 ) |
|
502 ) |
|
503 |
|
504 |
|
505 ! |
|
506 |
|
507 specificationExtent |
|
508 "this window spec was automatically generated by the ST/X UIPainter" |
|
509 |
|
510 "do not manually edit this - the painter/builder may not be able to |
|
511 handle the specification if its corrupted." |
|
512 |
|
513 " |
|
514 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationExtent |
|
515 UIPropertyView::Dimension new openInterface:#specificationExtent |
|
516 " |
|
517 |
|
518 <resource: #canvas> |
|
519 |
|
520 ^ |
|
521 |
|
522 #(#FullSpec |
|
523 #'window:' |
|
524 #(#WindowSpec |
|
525 #'name:' 'uIPainterView' |
|
526 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
527 #'label:' 'unnamed' |
|
528 #'bounds:' #(#Rectangle 0 0 224 251) |
|
529 ) |
|
530 #'component:' |
|
531 #(#SpecCollection |
|
532 #'collection:' |
|
533 #( |
|
534 #(#LabelSpec |
|
535 #'name:' 'label1' |
|
536 #'layout:' #(#AlignmentOrigin 99 0 45 0 1 0) |
|
537 #'label:' 'horizontal:' |
|
538 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
539 #'level:' 0 |
|
540 #'adjust:' #left |
|
541 #'hasCharacterOrientedLabel:' true |
|
542 ) |
|
543 #(#LabelSpec |
|
544 #'name:' 'label2' |
|
545 #'layout:' #(#AlignmentOrigin 99 0 72 0 1 0) |
|
546 #'label:' 'vertical:' |
|
547 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
548 #'level:' 0 |
|
549 #'adjust:' #left |
|
550 #'hasCharacterOrientedLabel:' true |
|
551 ) |
|
552 #(#InputFieldSpec |
|
553 #'name:' 'editField1' |
|
554 #'layout:' #(#LayoutFrame 104 0 45 0 197 0 63 0) |
|
555 #'model:' #leftOffset |
|
556 #'tabable:' true |
|
557 #'type:' #numberOrNil |
|
558 #'immediateAccept:' true |
|
559 #'acceptOnLeave:' true |
|
560 #'acceptOnReturn:' true |
|
561 #'acceptOnTab:' true |
|
562 #'acceptOnLostFocus:' true |
|
563 #'hasBorder:' false |
|
564 ) |
|
565 #(#InputFieldSpec |
|
566 #'name:' 'editField2' |
|
567 #'layout:' #(#LayoutFrame 104 0 72 0 197 0 90 0) |
|
568 #'model:' #rightOffset |
|
569 #'tabable:' true |
|
570 #'type:' #numberOrNil |
|
571 #'immediateAccept:' true |
|
572 #'acceptOnLeave:' true |
|
573 #'acceptOnReturn:' true |
|
574 #'acceptOnTab:' true |
|
575 #'acceptOnLostFocus:' true |
|
576 #'hasBorder:' false |
|
577 ) |
|
578 #(#LabelSpec |
|
579 #'name:' 'extentLabel' |
|
580 #'layout:' #(#LayoutFrame 9 0 20 0 63 0 37 0) |
|
581 #'label:' 'Extent:' |
|
582 #'level:' 0 |
|
583 #'adjust:' #center |
|
584 #'hasCharacterOrientedLabel:' true |
|
585 ) |
|
586 ) |
|
587 ) |
|
588 ) |
|
589 |
|
590 ! |
|
591 |
|
592 specificationLayoutFrame |
|
593 "this window spec was automatically generated by the ST/X UIPainter" |
|
594 |
|
595 "do not manually edit this - the painter/builder may not be able to |
|
596 handle the specification if its corrupted." |
|
597 |
|
598 " |
|
599 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationLayoutFrame |
|
600 UIPropertyView::Dimension new openInterface:#specificationLayoutFrame |
|
601 " |
|
602 |
|
603 <resource: #canvas> |
|
604 |
|
605 ^ |
|
606 |
|
607 #(#FullSpec |
|
608 #'window:' |
|
609 #(#WindowSpec |
|
610 #'name:' 'uIPainterView' |
|
611 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
612 #'label:' 'unnamed' |
|
613 #'bounds:' #(#Rectangle 0 0 238 291) |
|
614 ) |
|
615 #'component:' |
|
616 #(#SpecCollection |
|
617 #'collection:' |
|
618 #( |
|
619 #(#LabelSpec |
|
620 #'name:' 'label left' |
|
621 #'layout:' #(#AlignmentOrigin 60 0 43 0 1 0) |
|
622 #'label:' 'left' |
|
623 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
624 #'level:' 0 |
|
625 #'adjust:' #center |
|
626 #'hasCharacterOrientedLabel:' true |
|
627 ) |
|
628 #(#LabelSpec |
|
629 #'name:' 'label top' |
|
630 #'layout:' #(#AlignmentOrigin 60 0 71 0 1 0) |
|
631 #'label:' 'top' |
|
632 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
633 #'level:' 0 |
|
634 #'adjust:' #center |
|
635 #'hasCharacterOrientedLabel:' true |
|
636 ) |
|
637 #(#LabelSpec |
|
638 #'name:' 'label right' |
|
639 #'layout:' #(#AlignmentOrigin 60 0 99 0 1 0) |
|
640 #'label:' 'right' |
|
641 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
642 #'level:' 0 |
|
643 #'adjust:' #center |
|
644 #'hasCharacterOrientedLabel:' true |
|
645 ) |
|
646 #(#LabelSpec |
|
647 #'name:' 'label bottom' |
|
648 #'layout:' #(#AlignmentOrigin 60 0 127 0 1 0) |
|
649 #'label:' 'bottom' |
|
650 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
651 #'level:' 0 |
|
652 #'adjust:' #center |
|
653 #'hasCharacterOrientedLabel:' true |
|
654 ) |
|
655 #(#LabelSpec |
|
656 #'name:' 'label relative' |
|
657 #'layout:' #(#Point 65 14) |
|
658 #'label:' 'relative' |
|
659 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
660 #'level:' 0 |
|
661 #'adjust:' #center |
|
662 #'hasCharacterOrientedLabel:' true |
|
663 ) |
|
664 #(#LabelSpec |
|
665 #'name:' 'label offset' |
|
666 #'layout:' #(#Point 159 14) |
|
667 #'label:' 'offset' |
|
668 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
669 #'level:' 0 |
|
670 #'adjust:' #center |
|
671 #'hasCharacterOrientedLabel:' true |
|
672 ) |
|
673 #(#LabelSpec |
|
674 #'name:' 'label all relative' |
|
675 #'layout:' #(#AlignmentOrigin 60 0 161 0 1 0) |
|
676 #'label:' 'all' |
|
677 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
678 #'level:' 0 |
|
679 #'adjust:' #center |
|
680 #'hasCharacterOrientedLabel:' true |
|
681 ) |
|
682 #(#InputFieldSpec |
|
683 #'name:' 'relative E1' |
|
684 #'layout:' #(#LayoutFrame 65 0 43 0 113 0 61 0) |
|
685 #'model:' #leftFraction |
|
686 #'type:' #numberOrNil |
|
687 #'immediateAccept:' true |
|
688 #'acceptOnLeave:' true |
|
689 #'acceptOnReturn:' true |
|
690 #'acceptOnTab:' true |
|
691 #'acceptOnLostFocus:' true |
|
692 #'hasBorder:' false |
|
693 ) |
|
694 #(#InputFieldSpec |
|
695 #'name:' 'relative E2' |
|
696 #'layout:' #(#LayoutFrame 65 0 71 0 113 0 89 0) |
|
697 #'model:' #topFraction |
|
698 #'type:' #numberOrNil |
|
699 #'immediateAccept:' true |
|
700 #'acceptOnLeave:' true |
|
701 #'acceptOnReturn:' true |
|
702 #'acceptOnTab:' true |
|
703 #'acceptOnLostFocus:' true |
|
704 #'hasBorder:' false |
|
705 ) |
|
706 #(#InputFieldSpec |
|
707 #'name:' 'relative E3' |
|
708 #'layout:' #(#LayoutFrame 65 0 99 0 113 0 117 0) |
|
709 #'model:' #rightFraction |
|
710 #'type:' #numberOrNil |
|
711 #'immediateAccept:' true |
|
712 #'acceptOnLeave:' true |
|
713 #'acceptOnReturn:' true |
|
714 #'acceptOnTab:' true |
|
715 #'acceptOnLostFocus:' true |
|
716 #'hasBorder:' false |
|
717 ) |
|
718 #(#InputFieldSpec |
|
719 #'name:' 'relative E4' |
|
720 #'layout:' #(#LayoutFrame 65 0 127 0 113 0 145 0) |
|
721 #'model:' #bottomFraction |
|
722 #'type:' #numberOrNil |
|
723 #'immediateAccept:' true |
|
724 #'acceptOnLeave:' true |
|
725 #'acceptOnReturn:' true |
|
726 #'acceptOnTab:' true |
|
727 #'acceptOnLostFocus:' true |
|
728 #'hasBorder:' false |
|
729 ) |
|
730 #(#InputFieldSpec |
|
731 #'name:' 'offset E1' |
|
732 #'layout:' #(#LayoutFrame 159 0 43 0 210 0 61 0) |
|
733 #'model:' #leftOffset |
|
734 #'type:' #numberOrNil |
|
735 #'immediateAccept:' true |
|
736 #'acceptOnLeave:' true |
|
737 #'acceptOnReturn:' true |
|
738 #'acceptOnTab:' true |
|
739 #'acceptOnLostFocus:' true |
|
740 #'hasBorder:' false |
|
741 ) |
|
742 #(#InputFieldSpec |
|
743 #'name:' 'offset E2' |
|
744 #'layout:' #(#LayoutFrame 159 0 71 0 210 0 89 0) |
|
745 #'model:' #topOffset |
|
746 #'type:' #numberOrNil |
|
747 #'immediateAccept:' true |
|
748 #'acceptOnLeave:' true |
|
749 #'acceptOnReturn:' true |
|
750 #'acceptOnTab:' true |
|
751 #'acceptOnLostFocus:' true |
|
752 #'hasBorder:' false |
|
753 ) |
|
754 #(#InputFieldSpec |
|
755 #'name:' 'offset E3' |
|
756 #'layout:' #(#LayoutFrame 159 0 99 0 210 0 117 0) |
|
757 #'model:' #rightOffset |
|
758 #'type:' #numberOrNil |
|
759 #'immediateAccept:' true |
|
760 #'acceptOnLeave:' true |
|
761 #'acceptOnReturn:' true |
|
762 #'acceptOnTab:' true |
|
763 #'acceptOnLostFocus:' true |
|
764 #'hasBorder:' false |
|
765 ) |
|
766 #(#InputFieldSpec |
|
767 #'name:' 'offset E4' |
|
768 #'layout:' #(#LayoutFrame 159 0 127 0 210 0 145 0) |
|
769 #'model:' #bottomOffset |
|
770 #'type:' #numberOrNil |
|
771 #'immediateAccept:' true |
|
772 #'acceptOnLeave:' true |
|
773 #'acceptOnReturn:' true |
|
774 #'acceptOnTab:' true |
|
775 #'acceptOnLostFocus:' true |
|
776 #'hasBorder:' false |
|
777 ) |
|
778 #(#ActionButtonSpec |
|
779 #'name:' 'relative B1' |
|
780 #'layout:' #(#LayoutFrame 117 0 43 0 136 0 61 0) |
|
781 #'label:' ' ' |
|
782 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
783 #'model:' #makeRelativeLeft |
|
784 #'isTriggerOnDown:' false |
|
785 #'autoRepeat:' false |
|
786 ) |
|
787 #(#ActionButtonSpec |
|
788 #'name:' 'relative B2' |
|
789 #'layout:' #(#LayoutFrame 117 0 71 0 136 0 89 0) |
|
790 #'label:' ' ' |
|
791 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
792 #'model:' #makeRelativeTop |
|
793 #'isTriggerOnDown:' false |
|
794 #'autoRepeat:' false |
|
795 ) |
|
796 #(#ActionButtonSpec |
|
797 #'name:' 'relative B3' |
|
798 #'layout:' #(#LayoutFrame 117 0 99 0 136 0 117 0) |
|
799 #'label:' ' ' |
|
800 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
801 #'model:' #makeRelativeRight |
|
802 #'isTriggerOnDown:' false |
|
803 #'autoRepeat:' false |
|
804 ) |
|
805 #(#ActionButtonSpec |
|
806 #'name:' 'relative B4' |
|
807 #'layout:' #(#LayoutFrame 117 0 127 0 136 0 145 0) |
|
808 #'label:' ' ' |
|
809 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
810 #'model:' #makeRelativeBottom |
|
811 #'isTriggerOnDown:' false |
|
812 #'autoRepeat:' false |
|
813 ) |
|
814 #(#ActionButtonSpec |
|
815 #'name:' 'relative BAll' |
|
816 #'layout:' #(#LayoutFrame 117 0 161 0 136 0 179 0) |
|
817 #'label:' ' ' |
|
818 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
819 #'model:' #makeRelativeAll |
|
820 #'isTriggerOnDown:' false |
|
821 #'autoRepeat:' false |
|
822 ) |
|
823 #(#ActionButtonSpec |
|
824 #'name:' 'offset B1' |
|
825 #'layout:' #(#LayoutFrame 214 0 43 0 233 0 61 0) |
|
826 #'label:' '' |
|
827 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
828 #'model:' #makeOffsetLeft |
|
829 #'isTriggerOnDown:' false |
|
830 #'autoRepeat:' false |
|
831 ) |
|
832 #(#ActionButtonSpec |
|
833 #'name:' 'offset B2' |
|
834 #'layout:' #(#LayoutFrame 214 0 71 0 233 0 89 0) |
|
835 #'label:' '' |
|
836 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
837 #'model:' #makeOffsetTop |
|
838 #'isTriggerOnDown:' false |
|
839 #'autoRepeat:' false |
|
840 ) |
|
841 #(#ActionButtonSpec |
|
842 #'name:' 'offset B3' |
|
843 #'layout:' #(#LayoutFrame 214 0 99 0 233 0 117 0) |
|
844 #'label:' '' |
|
845 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
846 #'model:' #makeOffsetRight |
|
847 #'isTriggerOnDown:' false |
|
848 #'autoRepeat:' false |
|
849 ) |
|
850 #(#ActionButtonSpec |
|
851 #'name:' 'offset B4' |
|
852 #'layout:' #(#LayoutFrame 214 0 127 0 233 0 145 0) |
|
853 #'label:' '' |
|
854 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
855 #'model:' #makeOffsetBottom |
|
856 #'isTriggerOnDown:' false |
|
857 #'autoRepeat:' false |
|
858 ) |
|
859 #(#ActionButtonSpec |
|
860 #'name:' 'offset BAll' |
|
861 #'layout:' #(#LayoutFrame 214 0 161 0 233 0 179 0) |
|
862 #'label:' ' ' |
|
863 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
864 #'model:' #makeOffsetAll |
|
865 #'isTriggerOnDown:' false |
|
866 #'autoRepeat:' false |
|
867 ) |
|
868 ) |
|
869 ) |
|
870 ) |
|
871 |
|
872 ! |
|
873 |
|
874 specificationLayoutOrigin |
|
875 "this window spec was automatically generated by the ST/X UIPainter" |
|
876 |
|
877 "do not manually edit this - the painter/builder may not be able to |
|
878 handle the specification if its corrupted." |
|
879 |
|
880 " |
|
881 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationLayoutOrigin |
|
882 UIPropertyView::Dimension new openInterface:#specificationLayoutOrigin |
|
883 " |
|
884 |
|
885 <resource: #canvas> |
|
886 |
|
887 ^ |
|
888 |
|
889 #(#FullSpec |
|
890 #'window:' |
|
891 #(#WindowSpec |
|
892 #'name:' 'uIPainterView' |
|
893 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
894 #'label:' 'unnamed' |
|
895 #'bounds:' #(#Rectangle 0 0 238 303) |
|
896 ) |
|
897 #'component:' |
|
898 #(#SpecCollection |
|
899 #'collection:' |
|
900 #( |
|
901 #(#LabelSpec |
|
902 #'name:' 'label1' |
|
903 #'layout:' #(#AlignmentOrigin 52 0 44 0 1 0) |
|
904 #'label:' 'left' |
|
905 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
906 #'level:' 0 |
|
907 #'adjust:' #center |
|
908 #'hasCharacterOrientedLabel:' true |
|
909 ) |
|
910 #(#LabelSpec |
|
911 #'name:' 'label2' |
|
912 #'layout:' #(#AlignmentOrigin 52 0 71 0 1 0) |
|
913 #'label:' 'top' |
|
914 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
915 #'level:' 0 |
|
916 #'adjust:' #center |
|
917 #'hasCharacterOrientedLabel:' true |
|
918 ) |
|
919 #(#LabelSpec |
|
920 #'name:' 'label3' |
|
921 #'layout:' #(#Point 57 12) |
|
922 #'label:' 'relative' |
|
923 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
924 #'level:' 0 |
|
925 #'adjust:' #center |
|
926 #'hasCharacterOrientedLabel:' true |
|
927 ) |
|
928 #(#LabelSpec |
|
929 #'name:' 'label4' |
|
930 #'layout:' #(#Point 154 13) |
|
931 #'label:' 'offset' |
|
932 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
933 #'level:' 0 |
|
934 #'adjust:' #center |
|
935 #'hasCharacterOrientedLabel:' true |
|
936 ) |
|
937 #(#InputFieldSpec |
|
938 #'name:' 'editField1' |
|
939 #'layout:' #(#LayoutFrame 57 0 44 0 114 0 62 0) |
|
940 #'model:' #leftFraction |
|
941 #'tabable:' true |
|
942 #'type:' #numberOrNil |
|
943 #'immediateAccept:' true |
|
944 #'acceptOnLeave:' true |
|
945 #'acceptOnReturn:' true |
|
946 #'acceptOnTab:' true |
|
947 #'acceptOnLostFocus:' true |
|
948 #'hasBorder:' false |
|
949 ) |
|
950 #(#InputFieldSpec |
|
951 #'name:' 'editField2' |
|
952 #'layout:' #(#LayoutFrame 57 0 71 0 114 0 89 0) |
|
953 #'model:' #topFraction |
|
954 #'tabable:' true |
|
955 #'type:' #numberOrNil |
|
956 #'immediateAccept:' true |
|
957 #'acceptOnLeave:' true |
|
958 #'acceptOnReturn:' true |
|
959 #'acceptOnTab:' true |
|
960 #'acceptOnLostFocus:' true |
|
961 #'hasBorder:' false |
|
962 ) |
|
963 #(#InputFieldSpec |
|
964 #'name:' 'editField3' |
|
965 #'layout:' #(#LayoutFrame 154 0 44 0 212 0 62 0) |
|
966 #'model:' #leftOffset |
|
967 #'tabable:' true |
|
968 #'type:' #numberOrNil |
|
969 #'immediateAccept:' true |
|
970 #'acceptOnLeave:' true |
|
971 #'acceptOnReturn:' true |
|
972 #'acceptOnTab:' true |
|
973 #'acceptOnLostFocus:' true |
|
974 #'hasBorder:' false |
|
975 ) |
|
976 #(#InputFieldSpec |
|
977 #'name:' 'editField4' |
|
978 #'layout:' #(#LayoutFrame 154 0 71 0 212 0 89 0) |
|
979 #'model:' #topOffset |
|
980 #'tabable:' true |
|
981 #'type:' #numberOrNil |
|
982 #'immediateAccept:' true |
|
983 #'acceptOnLeave:' true |
|
984 #'acceptOnReturn:' true |
|
985 #'acceptOnTab:' true |
|
986 #'acceptOnLostFocus:' true |
|
987 #'hasBorder:' false |
|
988 ) |
|
989 #(#ActionButtonSpec |
|
990 #'name:' 'button1' |
|
991 #'layout:' #(#LayoutFrame 119 0 44 0 138 0 62 0) |
|
992 #'label:' '' |
|
993 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
994 #'model:' #makeRelativeLeft |
|
995 #'isTriggerOnDown:' false |
|
996 #'autoRepeat:' false |
|
997 ) |
|
998 #(#ActionButtonSpec |
|
999 #'name:' 'button2' |
|
1000 #'layout:' #(#LayoutFrame 119 0 71 0 138 0 89 0) |
|
1001 #'label:' '' |
|
1002 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1003 #'model:' #makeRelativeTop |
|
1004 #'isTriggerOnDown:' false |
|
1005 #'autoRepeat:' false |
|
1006 ) |
|
1007 #(#ActionButtonSpec |
|
1008 #'name:' 'button3' |
|
1009 #'layout:' #(#LayoutFrame 216 0 44 0 235 0 62 0) |
|
1010 #'label:' '' |
|
1011 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1012 #'model:' #makeOffsetLeft |
|
1013 #'isTriggerOnDown:' false |
|
1014 #'autoRepeat:' false |
|
1015 ) |
|
1016 #(#ActionButtonSpec |
|
1017 #'name:' 'button4' |
|
1018 #'layout:' #(#LayoutFrame 216 0 71 0 235 0 89 0) |
|
1019 #'label:' '' |
|
1020 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1021 #'model:' #makeOffsetTop |
|
1022 #'isTriggerOnDown:' false |
|
1023 #'autoRepeat:' false |
|
1024 ) |
|
1025 #(#ActionButtonSpec |
|
1026 #'name:' 'button8' |
|
1027 #'layout:' #(#LayoutFrame 119 0 103 0 138 0 121 0) |
|
1028 #'label:' '' |
|
1029 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1030 #'model:' #makeRelativeLeftTop |
|
1031 #'isTriggerOnDown:' false |
|
1032 #'autoRepeat:' false |
|
1033 ) |
|
1034 #(#ActionButtonSpec |
|
1035 #'name:' 'button9' |
|
1036 #'layout:' #(#LayoutFrame 216 0 103 0 235 0 121 0) |
|
1037 #'label:' '' |
|
1038 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1039 #'model:' #makeOffsetLeftTop |
|
1040 #'isTriggerOnDown:' false |
|
1041 #'autoRepeat:' false |
|
1042 ) |
|
1043 #(#LabelSpec |
|
1044 #'name:' 'label5' |
|
1045 #'layout:' #(#AlignmentOrigin 52 0 103 0 1 0) |
|
1046 #'label:' 'all' |
|
1047 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1048 #'level:' 0 |
|
1049 #'adjust:' #center |
|
1050 #'hasCharacterOrientedLabel:' true |
|
1051 ) |
|
1052 ) |
|
1053 ) |
|
1054 ) |
|
1055 |
|
1056 ! |
|
1057 |
|
1058 specificationPoint |
|
1059 "this window spec was automatically generated by the ST/X UIPainter" |
|
1060 |
|
1061 "do not manually edit this - the painter/builder may not be able to |
|
1062 handle the specification if its corrupted." |
|
1063 |
|
1064 " |
|
1065 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationPoint |
|
1066 UIPropertyView::Dimension new openInterface:#specificationPoint |
|
1067 " |
|
1068 |
|
1069 <resource: #canvas> |
|
1070 |
|
1071 ^ |
|
1072 |
|
1073 #(#FullSpec |
|
1074 #'window:' |
|
1075 #(#WindowSpec |
|
1076 #'name:' 'uIPainterView' |
|
1077 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
1078 #'label:' 'unnamed' |
|
1079 #'bounds:' #(#Rectangle 0 0 238 303) |
|
1080 ) |
|
1081 #'component:' |
|
1082 #(#SpecCollection |
|
1083 #'collection:' |
|
1084 #( |
|
1085 #(#LabelSpec |
|
1086 #'name:' 'label1' |
|
1087 #'layout:' #(#AlignmentOrigin 75 0 19 0 1 0) |
|
1088 #'label:' 'origin x:' |
|
1089 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1090 #'level:' 0 |
|
1091 #'adjust:' #center |
|
1092 #'hasCharacterOrientedLabel:' true |
|
1093 ) |
|
1094 #(#LabelSpec |
|
1095 #'name:' 'label2' |
|
1096 #'layout:' #(#AlignmentOrigin 75 0 46 0 1 0) |
|
1097 #'label:' 'origin y:' |
|
1098 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1099 #'level:' 0 |
|
1100 #'adjust:' #center |
|
1101 #'hasCharacterOrientedLabel:' true |
|
1102 ) |
|
1103 #(#InputFieldSpec |
|
1104 #'name:' 'editField1' |
|
1105 #'layout:' #(#LayoutFrame 77 0 19 0 170 0 37 0) |
|
1106 #'model:' #absLeft |
|
1107 #'tabable:' true |
|
1108 #'type:' #numberOrNil |
|
1109 #'immediateAccept:' true |
|
1110 #'acceptOnLeave:' true |
|
1111 #'acceptOnReturn:' true |
|
1112 #'acceptOnTab:' true |
|
1113 #'acceptOnLostFocus:' true |
|
1114 #'hasBorder:' false |
|
1115 ) |
|
1116 #(#InputFieldSpec |
|
1117 #'name:' 'editField2' |
|
1118 #'layout:' #(#LayoutFrame 77 0 46 0 170 0 64 0) |
|
1119 #'model:' #absTop |
|
1120 #'tabable:' true |
|
1121 #'type:' #numberOrNil |
|
1122 #'immediateAccept:' true |
|
1123 #'acceptOnLeave:' true |
|
1124 #'acceptOnReturn:' true |
|
1125 #'acceptOnTab:' true |
|
1126 #'acceptOnLostFocus:' true |
|
1127 #'hasBorder:' false |
|
1128 ) |
|
1129 ) |
|
1130 ) |
|
1131 ) |
|
1132 |
|
1133 ! |
|
1134 |
|
1135 specificationRectangle |
|
1136 "this window spec was automatically generated by the ST/X UIPainter" |
|
1137 |
|
1138 "do not manually edit this - the painter/builder may not be able to |
|
1139 handle the specification if its corrupted." |
|
1140 |
|
1141 " |
|
1142 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationRectangle |
|
1143 UIPropertyView::Dimension new openInterface:#specificationRectangle |
|
1144 " |
|
1145 |
|
1146 <resource: #canvas> |
|
1147 |
|
1148 ^ |
|
1149 |
|
1150 #(#FullSpec |
|
1151 #'window:' |
|
1152 #(#WindowSpec |
|
1153 #'name:' 'uIPainterView' |
|
1154 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
1155 #'label:' 'unnamed' |
|
1156 #'bounds:' #(#Rectangle 0 0 238 303) |
|
1157 ) |
|
1158 #'component:' |
|
1159 #(#SpecCollection |
|
1160 #'collection:' |
|
1161 #( |
|
1162 #(#LabelSpec |
|
1163 #'name:' 'label1' |
|
1164 #'layout:' #(#AlignmentOrigin 80 0 19 0 1 0) |
|
1165 #'label:' 'origin x:' |
|
1166 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1167 #'level:' 0 |
|
1168 #'adjust:' #left |
|
1169 #'hasCharacterOrientedLabel:' true |
|
1170 ) |
|
1171 #(#LabelSpec |
|
1172 #'name:' 'label2' |
|
1173 #'layout:' #(#AlignmentOrigin 80 0 46 0 1 0) |
|
1174 #'label:' 'origin y:' |
|
1175 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1176 #'level:' 0 |
|
1177 #'adjust:' #left |
|
1178 #'hasCharacterOrientedLabel:' true |
|
1179 ) |
|
1180 #(#InputFieldSpec |
|
1181 #'name:' 'editField1' |
|
1182 #'layout:' #(#LayoutFrame 81 0 19 0 174 0 37 0) |
|
1183 #'model:' #leftOffset |
|
1184 #'tabable:' true |
|
1185 #'type:' #numberOrNil |
|
1186 #'immediateAccept:' true |
|
1187 #'acceptOnLeave:' true |
|
1188 #'acceptOnReturn:' true |
|
1189 #'acceptOnTab:' true |
|
1190 #'acceptOnLostFocus:' true |
|
1191 #'hasBorder:' false |
|
1192 ) |
|
1193 #(#InputFieldSpec |
|
1194 #'name:' 'editField2' |
|
1195 #'layout:' #(#LayoutFrame 81 0 46 0 174 0 64 0) |
|
1196 #'model:' #topOffset |
|
1197 #'tabable:' true |
|
1198 #'type:' #numberOrNil |
|
1199 #'immediateAccept:' true |
|
1200 #'acceptOnLeave:' true |
|
1201 #'acceptOnReturn:' true |
|
1202 #'acceptOnTab:' true |
|
1203 #'acceptOnLostFocus:' true |
|
1204 #'hasBorder:' false |
|
1205 ) |
|
1206 #(#LabelSpec |
|
1207 #'name:' 'label4' |
|
1208 #'layout:' #(#AlignmentOrigin 80 0 74 0 1 0) |
|
1209 #'label:' 'corner x:' |
|
1210 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1211 #'level:' 0 |
|
1212 #'adjust:' #left |
|
1213 #'hasCharacterOrientedLabel:' true |
|
1214 ) |
|
1215 #(#LabelSpec |
|
1216 #'name:' 'label5' |
|
1217 #'layout:' #(#AlignmentOrigin 80 0 101 0 1 0) |
|
1218 #'label:' 'corner y:' |
|
1219 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1220 #'level:' 0 |
|
1221 #'adjust:' #left |
|
1222 #'hasCharacterOrientedLabel:' true |
|
1223 ) |
|
1224 #(#InputFieldSpec |
|
1225 #'name:' 'editField3' |
|
1226 #'layout:' #(#LayoutFrame 81 0 74 0 174 0 92 0) |
|
1227 #'model:' #rightOffset |
|
1228 #'tabable:' true |
|
1229 #'type:' #numberOrNil |
|
1230 #'immediateAccept:' true |
|
1231 #'acceptOnLeave:' true |
|
1232 #'acceptOnReturn:' true |
|
1233 #'acceptOnTab:' true |
|
1234 #'acceptOnLostFocus:' true |
|
1235 #'hasBorder:' false |
|
1236 ) |
|
1237 #(#InputFieldSpec |
|
1238 #'name:' 'editField4' |
|
1239 #'layout:' #(#LayoutFrame 81 0 101 0 174 0 119 0) |
|
1240 #'model:' #bottomOffset |
|
1241 #'tabable:' true |
|
1242 #'type:' #numberOrNil |
|
1243 #'immediateAccept:' true |
|
1244 #'acceptOnLeave:' true |
|
1245 #'acceptOnReturn:' true |
|
1246 #'acceptOnTab:' true |
|
1247 #'acceptOnLostFocus:' true |
|
1248 #'hasBorder:' false |
|
1249 ) |
|
1250 ) |
|
1251 ) |
|
1252 ) |
|
1253 |
|
1254 ! ! |
|
1255 |
|
1256 !UIPropertyView::Dimension methodsFor:'accessing'! |
|
1257 |
|
1258 forView:aView |
|
1259 "set the view the layout derives from |
|
1260 " |
|
1261 forView := aView. |
|
1262 selection := nil. |
|
1263 self selection:(UIPainterView layoutType:forView) |
|
1264 |
|
1265 |
|
1266 ! |
|
1267 |
|
1268 layout |
|
1269 "returns current layout |
|
1270 " |
|
1271 |layout| |
|
1272 |
|
1273 selection notNil ifTrue:[ |
|
1274 layout := self perform:(('get', selection asString) asSymbol). |
|
1275 ]. |
|
1276 ^ layout |
|
1277 ! |
|
1278 |
|
1279 layoutType |
|
1280 "returns current layoutType |
|
1281 " |
|
1282 ^ selection |
|
1283 ! ! |
|
1284 |
|
1285 !UIPropertyView::Dimension methodsFor:'accessing hierarchy'! |
|
1286 |
|
1287 window |
|
1288 ^ noteBook |
|
1289 |
|
1290 |
|
1291 ! ! |
|
1292 |
|
1293 !UIPropertyView::Dimension methodsFor:'initialization'! |
|
1294 |
|
1295 initialize |
|
1296 "initialize channels |
|
1297 " |
|
1298 |layoutAspects| |
|
1299 |
|
1300 super initialize. |
|
1301 |
|
1302 layoutAspects := IdentityDictionary new. |
|
1303 |
|
1304 #( bottomFraction bottomOffset |
|
1305 leftFraction leftOffset |
|
1306 topFraction topOffset |
|
1307 rightFraction rightOffset |
|
1308 leftAlignmentFraction topAlignmentFraction |
|
1309 absLeft absTop |
|
1310 ) |
|
1311 do:[:aKey| |
|
1312 layoutAspects at:aKey put:(ValueHolder new) |
|
1313 ]. |
|
1314 self aspects:layoutAspects. |
|
1315 |
|
1316 |
|
1317 ! |
|
1318 |
|
1319 origin:anOrigin corner:aCorner in:aTopView |
|
1320 "set dimensions |
|
1321 " |
|
1322 noteBook := NoteBookView origin:anOrigin corner:aCorner in:aTopView. |
|
1323 window := noteBook canvas. |
|
1324 |
|
1325 noteBook direction:#bottom. |
|
1326 noteBook useIndex:true. |
|
1327 layoutTypes := #( #LayoutFrame #AlignmentOrigin #LayoutOrigin #Point #Rectangle ). |
|
1328 noteBook list:#( 'Frame' 'Alig.Origin' 'LayoutOrigin' 'Point' 'Rectangle' ). |
|
1329 |
|
1330 noteBook action:[:anIndex| |
|
1331 anIndex notNil ifTrue:[self selection:(layoutTypes at:anIndex)]. |
|
1332 ]. |
|
1333 |
|
1334 ! ! |
|
1335 |
|
1336 !UIPropertyView::Dimension methodsFor:'layout access'! |
|
1337 |
|
1338 getAlignmentOrigin |
|
1339 "returns current layout as alignmentOrigin |
|
1340 " |
|
1341 |layout| |
|
1342 |
|
1343 layout := AlignmentOrigin new. |
|
1344 |
|
1345 layout leftOffset:((aspects at:#leftOffset) value) ? 0. |
|
1346 layout topOffset:((aspects at:#topOffset) value) ? 0. |
|
1347 layout leftFraction:((aspects at:#leftFraction) value) ? 0. |
|
1348 layout topFraction:((aspects at:#topFraction) value) ? 0. |
|
1349 |
|
1350 layout leftAlignmentFraction:((aspects at:#leftAlignmentFraction) value) ? 0. |
|
1351 layout topAlignmentFraction:((aspects at:#topAlignmentFraction) value) ? 0. |
|
1352 |
|
1353 ^ layout |
|
1354 ! |
|
1355 |
|
1356 getExtent |
|
1357 "returns current extent |
|
1358 " |
|
1359 ^ Point x:(((aspects at:#leftOffset) value) ? 0) |
|
1360 y:(((aspects at:#rightOffset) value) ? 0) |
|
1361 ! |
|
1362 |
|
1363 getLayoutFrame |
|
1364 "returns current layout as layoutFrame |
|
1365 " |
|
1366 |layout| |
|
1367 |
|
1368 layout := LayoutFrame new. |
|
1369 |
|
1370 layout leftOffset:((aspects at:#leftOffset) value) ? 0. |
|
1371 layout rightOffset:((aspects at:#rightOffset) value) ? 0. |
|
1372 layout topOffset:((aspects at:#topOffset) value) ? 0. |
|
1373 layout bottomOffset:((aspects at:#bottomOffset) value) ? 0. |
|
1374 layout leftFraction:((aspects at:#leftFraction) value) ? 0. |
|
1375 layout rightFraction:((aspects at:#rightFraction) value) ? 0. |
|
1376 layout topFraction:((aspects at:#topFraction) value) ? 0. |
|
1377 layout bottomFraction:((aspects at:#bottomFraction) value) ? 0. |
|
1378 |
|
1379 ^ layout |
|
1380 ! |
|
1381 |
|
1382 getLayoutOrigin |
|
1383 "returns current layout as layoutOrigin |
|
1384 " |
|
1385 |layout| |
|
1386 |
|
1387 layout := LayoutOrigin new. |
|
1388 |
|
1389 layout leftOffset:((aspects at:#leftOffset) value) ? 0. |
|
1390 layout topOffset:((aspects at:#topOffset) value) ? 0. |
|
1391 layout leftFraction:((aspects at:#leftFraction) value) ? 0. |
|
1392 layout topFraction:((aspects at:#topFraction) value) ? 0. |
|
1393 |
|
1394 ^ layout |
|
1395 ! |
|
1396 |
|
1397 getPoint |
|
1398 "returns current layout as point |
|
1399 " |
|
1400 ^ Point x:(((aspects at:#absLeft) value) ? 0) |
|
1401 y:(((aspects at:#absTop) value) ? 0) |
|
1402 ! |
|
1403 |
|
1404 getRectangle |
|
1405 "returns current layout as rectangle |
|
1406 " |
|
1407 ^ Rectangle left:(((aspects at:#leftOffset) value) ? 0) |
|
1408 top:(((aspects at:#topOffset) value) ? 0) |
|
1409 right:(((aspects at:#rightOffset) value) ? 0) |
|
1410 bottom:(((aspects at:#bottomOffset) value) ? 0) |
|
1411 ! ! |
|
1412 |
|
1413 !UIPropertyView::Dimension methodsFor:'layout fetch'! |
|
1414 |
|
1415 fetchAlignmentOrigin |
|
1416 "fetch alignmentOrigin |
|
1417 " |
|
1418 |layout type extent| |
|
1419 |
|
1420 type := UIPainterView layoutType:forView. |
|
1421 layout := forView geometryLayout. |
|
1422 |
|
1423 layout isLayout ifTrue:[ |
|
1424 (aspects at:#leftOffset) value:(layout leftOffset). |
|
1425 (aspects at:#leftFraction) value:(layout leftFraction). |
|
1426 (aspects at:#topOffset) value:(layout topOffset). |
|
1427 (aspects at:#topFraction) value:(layout topFraction). |
|
1428 |
|
1429 type == #AlignmentOrigin ifTrue:[ |
|
1430 (aspects at:#leftAlignmentFraction) value:(layout leftAlignmentFraction). |
|
1431 (aspects at:#topAlignmentFraction) value:(layout topAlignmentFraction). |
|
1432 ^ self |
|
1433 ] |
|
1434 ] ifFalse:[ |
|
1435 layout := forView computeOrigin. |
|
1436 |
|
1437 (aspects at:#leftOffset) value:(layout x). |
|
1438 (aspects at:#leftFraction) value:0. |
|
1439 (aspects at:#topOffset) value:(layout y). |
|
1440 (aspects at:#topFraction) value:0. |
|
1441 ]. |
|
1442 (aspects at:#leftAlignmentFraction) value:0. |
|
1443 (aspects at:#topAlignmentFraction) value:0. |
|
1444 ! |
|
1445 |
|
1446 fetchExtent |
|
1447 "fetch extent |
|
1448 " |
|
1449 |extent| |
|
1450 |
|
1451 extent := forView computeExtent. |
|
1452 |
|
1453 (aspects at:#leftOffset) value:(extent x). |
|
1454 (aspects at:#rightOffset) value:(extent y). |
|
1455 |
|
1456 ! |
|
1457 |
|
1458 fetchLayoutFrame |
|
1459 "fetch layoutFrame |
|
1460 " |
|
1461 |layout| |
|
1462 |
|
1463 layout := UIPainterView asLayoutFrameFromView:forView. |
|
1464 |
|
1465 (aspects at:#leftOffset) value:(layout leftOffset). |
|
1466 (aspects at:#leftFraction) value:(layout leftFraction). |
|
1467 (aspects at:#topOffset) value:(layout topOffset). |
|
1468 (aspects at:#topFraction) value:(layout topFraction). |
|
1469 (aspects at:#rightOffset) value:(layout rightOffset). |
|
1470 (aspects at:#bottomOffset) value:(layout bottomOffset). |
|
1471 (aspects at:#rightFraction) value:(layout rightFraction). |
|
1472 (aspects at:#bottomFraction) value:(layout bottomFraction). |
|
1473 ! |
|
1474 |
|
1475 fetchLayoutOrigin |
|
1476 "fetch layoutOrigin |
|
1477 " |
|
1478 |layout| |
|
1479 |
|
1480 layout := UIPainterView asLayoutFrameFromView:forView. |
|
1481 |
|
1482 (aspects at:#leftOffset) value:(layout leftOffset). |
|
1483 (aspects at:#leftFraction) value:(layout leftFraction). |
|
1484 (aspects at:#topOffset) value:(layout topOffset). |
|
1485 (aspects at:#topFraction) value:(layout topFraction). |
|
1486 ! |
|
1487 |
|
1488 fetchPoint |
|
1489 "fetch point |
|
1490 " |
|
1491 |origin| |
|
1492 |
|
1493 origin := forView computeOrigin. |
|
1494 |
|
1495 (aspects at:#absLeft) value:(origin x). |
|
1496 (aspects at:#absTop) value:(origin y). |
|
1497 |
|
1498 ! |
|
1499 |
|
1500 fetchRectangle |
|
1501 "fetch rectangle |
|
1502 " |
|
1503 |origin corner| |
|
1504 |
|
1505 origin := forView computeOrigin. |
|
1506 corner := forView computeCorner. |
|
1507 |
|
1508 (aspects at:#leftOffset) value:(origin x). |
|
1509 (aspects at:#rightOffset) value:(corner x). |
|
1510 (aspects at:#topOffset) value:(origin y). |
|
1511 (aspects at:#bottomOffset) value:(corner y). |
|
1512 |
|
1513 ! ! |
|
1514 |
|
1515 !UIPropertyView::Dimension methodsFor:'layout make align'! |
|
1516 |
|
1517 makeAlignBottomCenter |
|
1518 self makeAlignLeft:0.5 top:1 |
|
1519 |
|
1520 |
|
1521 ! |
|
1522 |
|
1523 makeAlignBottomLeft |
|
1524 self makeAlignLeft:0 top:1 |
|
1525 |
|
1526 |
|
1527 ! |
|
1528 |
|
1529 makeAlignBottomRight |
|
1530 self makeAlignLeft:1 top:1 |
|
1531 |
|
1532 |
|
1533 ! |
|
1534 |
|
1535 makeAlignCenter |
|
1536 self makeAlignLeft:0.5 top:0.5 |
|
1537 |
|
1538 ! |
|
1539 |
|
1540 makeAlignLeft:leftAlignmentFraction top:topAlignmentFraction |
|
1541 |lAF tAF lO tO ext| |
|
1542 |
|
1543 lAF := (aspects at:#leftAlignmentFraction) value ? 0. |
|
1544 tAF := (aspects at:#topAlignmentFraction) value ? 0. |
|
1545 ext := forView computeExtent. |
|
1546 |
|
1547 (aspects at:#leftAlignmentFraction) value:leftAlignmentFraction. |
|
1548 (aspects at:#topAlignmentFraction) value:topAlignmentFraction. |
|
1549 |
|
1550 lO := (aspects at:#leftOffset) value ? 0. |
|
1551 tO := (aspects at:#topOffset) value ? 0. |
|
1552 |
|
1553 lO := lO + (ext x * (leftAlignmentFraction - lAF)). |
|
1554 tO := tO + (ext y * (topAlignmentFraction - tAF)). |
|
1555 |
|
1556 (aspects at:#leftOffset) value:(lO rounded). |
|
1557 (aspects at:#topOffset) value:(tO rounded). |
|
1558 ! |
|
1559 |
|
1560 makeAlignLeftCenter |
|
1561 self makeAlignLeft:0 top:0.5 |
|
1562 |
|
1563 ! |
|
1564 |
|
1565 makeAlignRightCenter |
|
1566 self makeAlignLeft:1 top:0.5 |
|
1567 |
|
1568 ! |
|
1569 |
|
1570 makeAlignTopCenter |
|
1571 self makeAlignLeft:0.5 top:0 |
|
1572 |
|
1573 ! |
|
1574 |
|
1575 makeAlignTopLeft |
|
1576 self makeAlignLeft:0 top:0 |
|
1577 |
|
1578 ! |
|
1579 |
|
1580 makeAlignTopRight |
|
1581 self makeAlignLeft:1 top:0 |
|
1582 |
|
1583 |
|
1584 ! ! |
|
1585 |
|
1586 !UIPropertyView::Dimension methodsFor:'layout make relative/absolute'! |
|
1587 |
|
1588 makeLayout:what xOrY:xOrY offset:aBool |
|
1589 |extent fraction offset fractSymb offsetSymb| |
|
1590 |
|
1591 extent := (forView superView computeExtent) perform:xOrY. |
|
1592 fractSymb := (what, 'Fraction') asSymbol. |
|
1593 offsetSymb := (what, 'Offset') asSymbol. |
|
1594 |
|
1595 fraction := (aspects at:fractSymb) value. |
|
1596 offset := (aspects at:offsetSymb) value. |
|
1597 |
|
1598 aBool ifTrue:[ |
|
1599 offset := offset + ((fraction * extent) asInteger). |
|
1600 fraction := 0. |
|
1601 ] ifFalse:[ |
|
1602 fraction := (fraction + (offset / extent)) asFloat. |
|
1603 |
|
1604 (fraction > 1.0) ifTrue:[ fraction := 1.0 ]. |
|
1605 (fraction < 0.0) ifTrue:[ fraction := 0 ]. |
|
1606 offset := 0. |
|
1607 ]. |
|
1608 (aspects at:offsetSymb) value:offset. |
|
1609 (aspects at:fractSymb) value:fraction. |
|
1610 ! |
|
1611 |
|
1612 makeOffsetAll |
|
1613 self makeOffsetLeft. |
|
1614 self makeOffsetTop. |
|
1615 self makeOffsetRight. |
|
1616 self makeOffsetBottom. |
|
1617 |
|
1618 |
|
1619 ! |
|
1620 |
|
1621 makeOffsetBottom |
|
1622 self makeLayout:'bottom' xOrY:#y offset:true. |
|
1623 |
|
1624 |
|
1625 ! |
|
1626 |
|
1627 makeOffsetLeft |
|
1628 self makeLayout:'left' xOrY:#x offset:true. |
|
1629 |
|
1630 ! |
|
1631 |
|
1632 makeOffsetLeftTop |
|
1633 self makeOffsetLeft. |
|
1634 self makeOffsetTop. |
|
1635 |
|
1636 ! |
|
1637 |
|
1638 makeOffsetRight |
|
1639 self makeLayout:'right' xOrY:#x offset:true. |
|
1640 |
|
1641 ! |
|
1642 |
|
1643 makeOffsetTop |
|
1644 self makeLayout:'top' xOrY:#y offset:true. |
|
1645 |
|
1646 ! |
|
1647 |
|
1648 makeRelativeAll |
|
1649 self makeRelativeLeft. |
|
1650 self makeRelativeTop. |
|
1651 self makeRelativeRight. |
|
1652 self makeRelativeBottom. |
|
1653 |
|
1654 |
|
1655 ! |
|
1656 |
|
1657 makeRelativeBottom |
|
1658 self makeLayout:'bottom' xOrY:#y offset:false. |
|
1659 |
|
1660 |
|
1661 ! |
|
1662 |
|
1663 makeRelativeLeft |
|
1664 self makeLayout:'left' xOrY:#x offset:false. |
|
1665 |
|
1666 ! |
|
1667 |
|
1668 makeRelativeLeftTop |
|
1669 self makeRelativeLeft. |
|
1670 self makeRelativeTop. |
|
1671 |
|
1672 ! |
|
1673 |
|
1674 makeRelativeRight |
|
1675 self makeLayout:'right' xOrY:#x offset:false. |
|
1676 |
|
1677 ! |
|
1678 |
|
1679 makeRelativeTop |
|
1680 self makeLayout:'top' xOrY:#y offset:false. |
|
1681 |
|
1682 ! ! |
|
1683 |
|
1684 !UIPropertyView::Dimension methodsFor:'selection'! |
|
1685 |
|
1686 selection |
|
1687 ^ selection |
|
1688 |
|
1689 ! |
|
1690 |
|
1691 selection:aLayoutType |
|
1692 |spec idx| |
|
1693 |
|
1694 selection == aLayoutType ifFalse:[ |
|
1695 (selection := aLayoutType) notNil ifTrue:[ |
|
1696 self perform:(('fetch', selection asString) asSymbol). |
|
1697 spec := ('specification', selection asString) asSymbol. |
|
1698 spec := self class perform:spec. |
|
1699 ]. |
|
1700 self buildFromSpec:spec. |
|
1701 ]. |
|
1702 idx := layoutTypes findFirst:[:type| type == aLayoutType ]. |
|
1703 noteBook setSelection:idx. |
|
1704 ! ! |
195 ! ! |
1705 |
196 |
1706 !UIPropertyView::Specification methodsFor:'accessing'! |
197 !UIPropertyView::Specification methodsFor:'accessing'! |
1707 |
198 |
1708 specEdited |
199 specEdited |
1751 ] |
242 ] |
1752 |
243 |
1753 |
244 |
1754 ! ! |
245 ! ! |
1755 |
246 |
|
247 !UIPropertyView::Dimension class methodsFor:'interface specs'! |
|
248 |
|
249 specificationAlignmentOrigin |
|
250 "this window spec was automatically generated by the ST/X UIPainter" |
|
251 |
|
252 "do not manually edit this - the painter/builder may not be able to |
|
253 handle the specification if its corrupted." |
|
254 |
|
255 " |
|
256 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationAlignmentOrigin |
|
257 UIPropertyView::Dimension new openInterface:#specificationAlignmentOrigin |
|
258 " |
|
259 |
|
260 <resource: #canvas> |
|
261 |
|
262 ^ |
|
263 |
|
264 #(#FullSpec |
|
265 #'window:' |
|
266 #(#WindowSpec |
|
267 #'name:' 'uIPainterView' |
|
268 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
269 #'label:' 'unnamed' |
|
270 #'bounds:' #(#Rectangle 0 0 250 365) |
|
271 ) |
|
272 #'component:' |
|
273 #(#SpecCollection |
|
274 #'collection:' |
|
275 #( |
|
276 #(#LabelSpec |
|
277 #'name:' 'label2' |
|
278 #'layout:' #(#AlignmentOrigin 49 0 68 0 1 0) |
|
279 #'label:' 'top' |
|
280 #'level:' 0 |
|
281 #'adjust:' #right |
|
282 #'hasCharacterOrientedLabel:' true |
|
283 ) |
|
284 #(#LabelSpec |
|
285 #'name:' 'label3' |
|
286 #'layout:' #(#Point 58 13) |
|
287 #'label:' 'relative' |
|
288 #'level:' 0 |
|
289 #'adjust:' #center |
|
290 #'hasCharacterOrientedLabel:' true |
|
291 ) |
|
292 #(#LabelSpec |
|
293 #'name:' 'label4' |
|
294 #'layout:' #(#Point 154 14) |
|
295 #'label:' 'offset' |
|
296 #'level:' 0 |
|
297 #'adjust:' #center |
|
298 #'hasCharacterOrientedLabel:' true |
|
299 ) |
|
300 #(#LabelSpec |
|
301 #'name:' 'label5' |
|
302 #'layout:' #(#AlignmentOrigin 63 0 140 0 1 0) |
|
303 #'label:' 'align H' |
|
304 #'level:' 0 |
|
305 #'adjust:' #right |
|
306 #'hasCharacterOrientedLabel:' true |
|
307 ) |
|
308 #(#LabelSpec |
|
309 #'name:' 'label6' |
|
310 #'layout:' #(#AlignmentOrigin 63 0 166 0 1 0) |
|
311 #'label:' 'align V' |
|
312 #'level:' 0 |
|
313 #'adjust:' #right |
|
314 #'hasCharacterOrientedLabel:' true |
|
315 ) |
|
316 #(#InputFieldSpec |
|
317 #'name:' 'editField1' |
|
318 #'layout:' #(#LayoutFrame 58 0 41 0 115 0 59 0) |
|
319 #'model:' #leftFraction |
|
320 #'tabable:' true |
|
321 #'type:' #numberOrNil |
|
322 #'immediateAccept:' true |
|
323 #'acceptOnLeave:' true |
|
324 #'acceptOnReturn:' true |
|
325 #'acceptOnTab:' true |
|
326 #'acceptOnLostFocus:' true |
|
327 #'hasBorder:' false |
|
328 ) |
|
329 #(#InputFieldSpec |
|
330 #'name:' 'editField2' |
|
331 #'layout:' #(#LayoutFrame 58 0 68 0 115 0 86 0) |
|
332 #'model:' #topFraction |
|
333 #'tabable:' true |
|
334 #'type:' #numberOrNil |
|
335 #'immediateAccept:' true |
|
336 #'acceptOnLeave:' true |
|
337 #'acceptOnReturn:' true |
|
338 #'acceptOnTab:' true |
|
339 #'acceptOnLostFocus:' true |
|
340 #'hasBorder:' false |
|
341 ) |
|
342 #(#InputFieldSpec |
|
343 #'name:' 'editField5' |
|
344 #'layout:' #(#LayoutFrame 68 0 140 0 125 0 158 0) |
|
345 #'model:' #leftAlignmentFraction |
|
346 #'tabable:' true |
|
347 #'type:' #numberOrNil |
|
348 #'immediateAccept:' true |
|
349 #'acceptOnLeave:' true |
|
350 #'acceptOnReturn:' true |
|
351 #'acceptOnTab:' true |
|
352 #'acceptOnLostFocus:' true |
|
353 #'hasBorder:' false |
|
354 ) |
|
355 #(#InputFieldSpec |
|
356 #'name:' 'editField6' |
|
357 #'layout:' #(#LayoutFrame 68 0 166 0 125 0 184 0) |
|
358 #'model:' #topAlignmentFraction |
|
359 #'tabable:' true |
|
360 #'type:' #numberOrNil |
|
361 #'immediateAccept:' true |
|
362 #'acceptOnLeave:' true |
|
363 #'acceptOnReturn:' true |
|
364 #'acceptOnTab:' true |
|
365 #'acceptOnLostFocus:' true |
|
366 #'hasBorder:' false |
|
367 ) |
|
368 #(#InputFieldSpec |
|
369 #'name:' 'editField3' |
|
370 #'layout:' #(#LayoutFrame 154 0 41 0 212 0 59 0) |
|
371 #'model:' #leftOffset |
|
372 #'tabable:' true |
|
373 #'type:' #numberOrNil |
|
374 #'immediateAccept:' true |
|
375 #'acceptOnLeave:' true |
|
376 #'acceptOnReturn:' true |
|
377 #'acceptOnTab:' true |
|
378 #'acceptOnLostFocus:' true |
|
379 #'hasBorder:' false |
|
380 ) |
|
381 #(#InputFieldSpec |
|
382 #'name:' 'editField4' |
|
383 #'layout:' #(#LayoutFrame 154 0 68 0 212 0 86 0) |
|
384 #'model:' #topOffset |
|
385 #'tabable:' true |
|
386 #'type:' #numberOrNil |
|
387 #'immediateAccept:' true |
|
388 #'acceptOnLeave:' true |
|
389 #'acceptOnReturn:' true |
|
390 #'acceptOnTab:' true |
|
391 #'acceptOnLostFocus:' true |
|
392 #'hasBorder:' false |
|
393 ) |
|
394 #(#ActionButtonSpec |
|
395 #'name:' 'button1' |
|
396 #'layout:' #(#LayoutFrame 119 0 41 0 138 0 59 0) |
|
397 #'label:' '' |
|
398 #'model:' #makeRelativeLeft |
|
399 #'isTriggerOnDown:' false |
|
400 #'autoRepeat:' false |
|
401 ) |
|
402 #(#ActionButtonSpec |
|
403 #'name:' 'button2' |
|
404 #'layout:' #(#LayoutFrame 119 0 68 0 138 0 86 0) |
|
405 #'label:' '' |
|
406 #'model:' #makeRelativeTop |
|
407 #'isTriggerOnDown:' false |
|
408 #'autoRepeat:' false |
|
409 ) |
|
410 #(#ActionButtonSpec |
|
411 #'name:' 'button3' |
|
412 #'layout:' #(#LayoutFrame 217 0 41 0 236 0 59 0) |
|
413 #'label:' '' |
|
414 #'model:' #makeOffsetLeft |
|
415 #'isTriggerOnDown:' false |
|
416 #'autoRepeat:' false |
|
417 ) |
|
418 #(#ActionButtonSpec |
|
419 #'name:' 'button4' |
|
420 #'layout:' #(#LayoutFrame 217 0 68 0 236 0 86 0) |
|
421 #'label:' '' |
|
422 #'model:' #makeOffsetTop |
|
423 #'isTriggerOnDown:' false |
|
424 #'autoRepeat:' false |
|
425 ) |
|
426 #(#ActionButtonSpec |
|
427 #'name:' 'button8' |
|
428 #'layout:' #(#LayoutFrame 119 0 102 0 138 0 120 0) |
|
429 #'label:' '' |
|
430 #'model:' #makeRelativeLeftTop |
|
431 #'isTriggerOnDown:' false |
|
432 #'autoRepeat:' false |
|
433 ) |
|
434 #(#ActionButtonSpec |
|
435 #'name:' 'button9' |
|
436 #'layout:' #(#LayoutFrame 217 0 102 0 236 0 120 0) |
|
437 #'label:' '' |
|
438 #'model:' #makeOffsetLeftTop |
|
439 #'isTriggerOnDown:' false |
|
440 #'autoRepeat:' false |
|
441 ) |
|
442 #(#LabelSpec |
|
443 #'name:' 'label7' |
|
444 #'layout:' #(#AlignmentOrigin 49 0 102 0 1 0) |
|
445 #'label:' 'all' |
|
446 #'level:' 0 |
|
447 #'adjust:' #right |
|
448 #'hasCharacterOrientedLabel:' true |
|
449 ) |
|
450 #(#LabelSpec |
|
451 #'name:' 'label1' |
|
452 #'layout:' #(#AlignmentOrigin 49 0 41 0 1 0) |
|
453 #'label:' 'left' |
|
454 #'level:' 0 |
|
455 #'adjust:' #right |
|
456 #'hasCharacterOrientedLabel:' true |
|
457 ) |
|
458 #(#DividerSpec |
|
459 #'name:' 'separator1' |
|
460 #'layout:' #(#Rectangle 154 142 203 153) |
|
461 #'orientation:' #horizontal |
|
462 ) |
|
463 #(#DividerSpec |
|
464 #'name:' 'separator2' |
|
465 #'layout:' #(#Rectangle 154 173 203 184) |
|
466 #'orientation:' #horizontal |
|
467 ) |
|
468 #(#DividerSpec |
|
469 #'name:' 'separator3' |
|
470 #'layout:' #(#Rectangle 145 152 155 173) |
|
471 #'orientation:' #vertical |
|
472 ) |
|
473 #(#DividerSpec |
|
474 #'name:' 'separator4' |
|
475 #'layout:' #(#Rectangle 203 152 213 173) |
|
476 #'orientation:' #vertical |
|
477 ) |
|
478 #(#ActionButtonSpec |
|
479 #'name:' 'alignBR' |
|
480 #'layout:' #(#Rectangle 201 172 213 184) |
|
481 #'label:' '' |
|
482 #'model:' #makeAlignBottomRight |
|
483 #'isTriggerOnDown:' false |
|
484 #'autoRepeat:' false |
|
485 ) |
|
486 #(#ActionButtonSpec |
|
487 #'name:' 'alignTL' |
|
488 #'layout:' #(#Rectangle 145 141 157 153) |
|
489 #'label:' '' |
|
490 #'model:' #makeAlignTopLeft |
|
491 #'isTriggerOnDown:' false |
|
492 #'autoRepeat:' false |
|
493 ) |
|
494 #(#ActionButtonSpec |
|
495 #'name:' 'alignTR' |
|
496 #'layout:' #(#Rectangle 201 141 213 153) |
|
497 #'label:' '' |
|
498 #'model:' #makeAlignTopRight |
|
499 #'isTriggerOnDown:' false |
|
500 #'autoRepeat:' false |
|
501 ) |
|
502 #(#ActionButtonSpec |
|
503 #'name:' 'alignBL' |
|
504 #'layout:' #(#Rectangle 145 171 157 183) |
|
505 #'label:' '' |
|
506 #'model:' #makeAlignBottomLeft |
|
507 #'isTriggerOnDown:' false |
|
508 #'autoRepeat:' false |
|
509 ) |
|
510 #(#ActionButtonSpec |
|
511 #'name:' 'alignTC' |
|
512 #'layout:' #(#Rectangle 173 141 185 153) |
|
513 #'label:' '' |
|
514 #'model:' #makeAlignTopCenter |
|
515 #'isTriggerOnDown:' false |
|
516 #'autoRepeat:' false |
|
517 ) |
|
518 #(#ActionButtonSpec |
|
519 #'name:' 'alignBC' |
|
520 #'layout:' #(#Rectangle 173 172 185 184) |
|
521 #'label:' '' |
|
522 #'model:' #makeAlignBottomCenter |
|
523 #'isTriggerOnDown:' false |
|
524 #'autoRepeat:' false |
|
525 ) |
|
526 #(#ActionButtonSpec |
|
527 #'name:' 'alignLC' |
|
528 #'layout:' #(#Rectangle 145 156 157 168) |
|
529 #'label:' '' |
|
530 #'model:' #makeAlignLeftCenter |
|
531 #'isTriggerOnDown:' false |
|
532 #'autoRepeat:' false |
|
533 ) |
|
534 #(#ActionButtonSpec |
|
535 #'name:' 'alignRC' |
|
536 #'layout:' #(#Rectangle 201 156 213 168) |
|
537 #'label:' '' |
|
538 #'model:' #makeAlignRightCenter |
|
539 #'isTriggerOnDown:' false |
|
540 #'autoRepeat:' false |
|
541 ) |
|
542 #(#ActionButtonSpec |
|
543 #'name:' 'alignC' |
|
544 #'layout:' #(#Rectangle 173 156 185 168) |
|
545 #'label:' '' |
|
546 #'model:' #makeAlignCenter |
|
547 #'isTriggerOnDown:' false |
|
548 #'autoRepeat:' false |
|
549 ) |
|
550 ) |
|
551 ) |
|
552 ) |
|
553 |
|
554 |
|
555 ! |
|
556 |
|
557 specificationExtent |
|
558 "this window spec was automatically generated by the ST/X UIPainter" |
|
559 |
|
560 "do not manually edit this - the painter/builder may not be able to |
|
561 handle the specification if its corrupted." |
|
562 |
|
563 " |
|
564 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationExtent |
|
565 UIPropertyView::Dimension new openInterface:#specificationExtent |
|
566 " |
|
567 |
|
568 <resource: #canvas> |
|
569 |
|
570 ^ |
|
571 |
|
572 #(#FullSpec |
|
573 #'window:' |
|
574 #(#WindowSpec |
|
575 #'name:' 'uIPainterView' |
|
576 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
577 #'label:' 'unnamed' |
|
578 #'bounds:' #(#Rectangle 0 0 224 251) |
|
579 ) |
|
580 #'component:' |
|
581 #(#SpecCollection |
|
582 #'collection:' |
|
583 #( |
|
584 #(#LabelSpec |
|
585 #'name:' 'label1' |
|
586 #'layout:' #(#AlignmentOrigin 99 0 45 0 1 0) |
|
587 #'label:' 'horizontal:' |
|
588 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
589 #'level:' 0 |
|
590 #'adjust:' #left |
|
591 #'hasCharacterOrientedLabel:' true |
|
592 ) |
|
593 #(#LabelSpec |
|
594 #'name:' 'label2' |
|
595 #'layout:' #(#AlignmentOrigin 99 0 72 0 1 0) |
|
596 #'label:' 'vertical:' |
|
597 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
598 #'level:' 0 |
|
599 #'adjust:' #left |
|
600 #'hasCharacterOrientedLabel:' true |
|
601 ) |
|
602 #(#InputFieldSpec |
|
603 #'name:' 'editField1' |
|
604 #'layout:' #(#LayoutFrame 104 0 45 0 197 0 63 0) |
|
605 #'model:' #leftOffset |
|
606 #'tabable:' true |
|
607 #'type:' #numberOrNil |
|
608 #'immediateAccept:' true |
|
609 #'acceptOnLeave:' true |
|
610 #'acceptOnReturn:' true |
|
611 #'acceptOnTab:' true |
|
612 #'acceptOnLostFocus:' true |
|
613 #'hasBorder:' false |
|
614 ) |
|
615 #(#InputFieldSpec |
|
616 #'name:' 'editField2' |
|
617 #'layout:' #(#LayoutFrame 104 0 72 0 197 0 90 0) |
|
618 #'model:' #rightOffset |
|
619 #'tabable:' true |
|
620 #'type:' #numberOrNil |
|
621 #'immediateAccept:' true |
|
622 #'acceptOnLeave:' true |
|
623 #'acceptOnReturn:' true |
|
624 #'acceptOnTab:' true |
|
625 #'acceptOnLostFocus:' true |
|
626 #'hasBorder:' false |
|
627 ) |
|
628 #(#LabelSpec |
|
629 #'name:' 'extentLabel' |
|
630 #'layout:' #(#LayoutFrame 9 0 20 0 63 0 37 0) |
|
631 #'label:' 'Extent:' |
|
632 #'level:' 0 |
|
633 #'adjust:' #center |
|
634 #'hasCharacterOrientedLabel:' true |
|
635 ) |
|
636 ) |
|
637 ) |
|
638 ) |
|
639 |
|
640 ! |
|
641 |
|
642 specificationLayoutFrame |
|
643 "this window spec was automatically generated by the ST/X UIPainter" |
|
644 |
|
645 "do not manually edit this - the painter/builder may not be able to |
|
646 handle the specification if its corrupted." |
|
647 |
|
648 " |
|
649 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationLayoutFrame |
|
650 UIPropertyView::Dimension new openInterface:#specificationLayoutFrame |
|
651 " |
|
652 |
|
653 <resource: #canvas> |
|
654 |
|
655 ^ |
|
656 |
|
657 #(#FullSpec |
|
658 #'window:' |
|
659 #(#WindowSpec |
|
660 #'name:' 'uIPainterView' |
|
661 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
662 #'label:' 'unnamed' |
|
663 #'bounds:' #(#Rectangle 0 0 238 291) |
|
664 ) |
|
665 #'component:' |
|
666 #(#SpecCollection |
|
667 #'collection:' |
|
668 #( |
|
669 #(#LabelSpec |
|
670 #'name:' 'label left' |
|
671 #'layout:' #(#AlignmentOrigin 60 0 43 0 1 0) |
|
672 #'label:' 'left' |
|
673 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
674 #'level:' 0 |
|
675 #'adjust:' #center |
|
676 #'hasCharacterOrientedLabel:' true |
|
677 ) |
|
678 #(#LabelSpec |
|
679 #'name:' 'label top' |
|
680 #'layout:' #(#AlignmentOrigin 60 0 71 0 1 0) |
|
681 #'label:' 'top' |
|
682 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
683 #'level:' 0 |
|
684 #'adjust:' #center |
|
685 #'hasCharacterOrientedLabel:' true |
|
686 ) |
|
687 #(#LabelSpec |
|
688 #'name:' 'label right' |
|
689 #'layout:' #(#AlignmentOrigin 60 0 99 0 1 0) |
|
690 #'label:' 'right' |
|
691 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
692 #'level:' 0 |
|
693 #'adjust:' #center |
|
694 #'hasCharacterOrientedLabel:' true |
|
695 ) |
|
696 #(#LabelSpec |
|
697 #'name:' 'label bottom' |
|
698 #'layout:' #(#AlignmentOrigin 60 0 127 0 1 0) |
|
699 #'label:' 'bottom' |
|
700 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
701 #'level:' 0 |
|
702 #'adjust:' #center |
|
703 #'hasCharacterOrientedLabel:' true |
|
704 ) |
|
705 #(#LabelSpec |
|
706 #'name:' 'label relative' |
|
707 #'layout:' #(#Point 65 14) |
|
708 #'label:' 'relative' |
|
709 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
710 #'level:' 0 |
|
711 #'adjust:' #center |
|
712 #'hasCharacterOrientedLabel:' true |
|
713 ) |
|
714 #(#LabelSpec |
|
715 #'name:' 'label offset' |
|
716 #'layout:' #(#Point 159 14) |
|
717 #'label:' 'offset' |
|
718 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
719 #'level:' 0 |
|
720 #'adjust:' #center |
|
721 #'hasCharacterOrientedLabel:' true |
|
722 ) |
|
723 #(#LabelSpec |
|
724 #'name:' 'label all relative' |
|
725 #'layout:' #(#AlignmentOrigin 60 0 161 0 1 0) |
|
726 #'label:' 'all' |
|
727 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
728 #'level:' 0 |
|
729 #'adjust:' #center |
|
730 #'hasCharacterOrientedLabel:' true |
|
731 ) |
|
732 #(#InputFieldSpec |
|
733 #'name:' 'relative E1' |
|
734 #'layout:' #(#LayoutFrame 65 0 43 0 113 0 61 0) |
|
735 #'model:' #leftFraction |
|
736 #'type:' #numberOrNil |
|
737 #'immediateAccept:' true |
|
738 #'acceptOnLeave:' true |
|
739 #'acceptOnReturn:' true |
|
740 #'acceptOnTab:' true |
|
741 #'acceptOnLostFocus:' true |
|
742 #'hasBorder:' false |
|
743 ) |
|
744 #(#InputFieldSpec |
|
745 #'name:' 'relative E2' |
|
746 #'layout:' #(#LayoutFrame 65 0 71 0 113 0 89 0) |
|
747 #'model:' #topFraction |
|
748 #'type:' #numberOrNil |
|
749 #'immediateAccept:' true |
|
750 #'acceptOnLeave:' true |
|
751 #'acceptOnReturn:' true |
|
752 #'acceptOnTab:' true |
|
753 #'acceptOnLostFocus:' true |
|
754 #'hasBorder:' false |
|
755 ) |
|
756 #(#InputFieldSpec |
|
757 #'name:' 'relative E3' |
|
758 #'layout:' #(#LayoutFrame 65 0 99 0 113 0 117 0) |
|
759 #'model:' #rightFraction |
|
760 #'type:' #numberOrNil |
|
761 #'immediateAccept:' true |
|
762 #'acceptOnLeave:' true |
|
763 #'acceptOnReturn:' true |
|
764 #'acceptOnTab:' true |
|
765 #'acceptOnLostFocus:' true |
|
766 #'hasBorder:' false |
|
767 ) |
|
768 #(#InputFieldSpec |
|
769 #'name:' 'relative E4' |
|
770 #'layout:' #(#LayoutFrame 65 0 127 0 113 0 145 0) |
|
771 #'model:' #bottomFraction |
|
772 #'type:' #numberOrNil |
|
773 #'immediateAccept:' true |
|
774 #'acceptOnLeave:' true |
|
775 #'acceptOnReturn:' true |
|
776 #'acceptOnTab:' true |
|
777 #'acceptOnLostFocus:' true |
|
778 #'hasBorder:' false |
|
779 ) |
|
780 #(#InputFieldSpec |
|
781 #'name:' 'offset E1' |
|
782 #'layout:' #(#LayoutFrame 159 0 43 0 210 0 61 0) |
|
783 #'model:' #leftOffset |
|
784 #'type:' #numberOrNil |
|
785 #'immediateAccept:' true |
|
786 #'acceptOnLeave:' true |
|
787 #'acceptOnReturn:' true |
|
788 #'acceptOnTab:' true |
|
789 #'acceptOnLostFocus:' true |
|
790 #'hasBorder:' false |
|
791 ) |
|
792 #(#InputFieldSpec |
|
793 #'name:' 'offset E2' |
|
794 #'layout:' #(#LayoutFrame 159 0 71 0 210 0 89 0) |
|
795 #'model:' #topOffset |
|
796 #'type:' #numberOrNil |
|
797 #'immediateAccept:' true |
|
798 #'acceptOnLeave:' true |
|
799 #'acceptOnReturn:' true |
|
800 #'acceptOnTab:' true |
|
801 #'acceptOnLostFocus:' true |
|
802 #'hasBorder:' false |
|
803 ) |
|
804 #(#InputFieldSpec |
|
805 #'name:' 'offset E3' |
|
806 #'layout:' #(#LayoutFrame 159 0 99 0 210 0 117 0) |
|
807 #'model:' #rightOffset |
|
808 #'type:' #numberOrNil |
|
809 #'immediateAccept:' true |
|
810 #'acceptOnLeave:' true |
|
811 #'acceptOnReturn:' true |
|
812 #'acceptOnTab:' true |
|
813 #'acceptOnLostFocus:' true |
|
814 #'hasBorder:' false |
|
815 ) |
|
816 #(#InputFieldSpec |
|
817 #'name:' 'offset E4' |
|
818 #'layout:' #(#LayoutFrame 159 0 127 0 210 0 145 0) |
|
819 #'model:' #bottomOffset |
|
820 #'type:' #numberOrNil |
|
821 #'immediateAccept:' true |
|
822 #'acceptOnLeave:' true |
|
823 #'acceptOnReturn:' true |
|
824 #'acceptOnTab:' true |
|
825 #'acceptOnLostFocus:' true |
|
826 #'hasBorder:' false |
|
827 ) |
|
828 #(#ActionButtonSpec |
|
829 #'name:' 'relative B1' |
|
830 #'layout:' #(#LayoutFrame 117 0 43 0 136 0 61 0) |
|
831 #'label:' ' ' |
|
832 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
833 #'model:' #makeRelativeLeft |
|
834 #'isTriggerOnDown:' false |
|
835 #'autoRepeat:' false |
|
836 ) |
|
837 #(#ActionButtonSpec |
|
838 #'name:' 'relative B2' |
|
839 #'layout:' #(#LayoutFrame 117 0 71 0 136 0 89 0) |
|
840 #'label:' ' ' |
|
841 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
842 #'model:' #makeRelativeTop |
|
843 #'isTriggerOnDown:' false |
|
844 #'autoRepeat:' false |
|
845 ) |
|
846 #(#ActionButtonSpec |
|
847 #'name:' 'relative B3' |
|
848 #'layout:' #(#LayoutFrame 117 0 99 0 136 0 117 0) |
|
849 #'label:' ' ' |
|
850 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
851 #'model:' #makeRelativeRight |
|
852 #'isTriggerOnDown:' false |
|
853 #'autoRepeat:' false |
|
854 ) |
|
855 #(#ActionButtonSpec |
|
856 #'name:' 'relative B4' |
|
857 #'layout:' #(#LayoutFrame 117 0 127 0 136 0 145 0) |
|
858 #'label:' ' ' |
|
859 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
860 #'model:' #makeRelativeBottom |
|
861 #'isTriggerOnDown:' false |
|
862 #'autoRepeat:' false |
|
863 ) |
|
864 #(#ActionButtonSpec |
|
865 #'name:' 'relative BAll' |
|
866 #'layout:' #(#LayoutFrame 117 0 161 0 136 0 179 0) |
|
867 #'label:' ' ' |
|
868 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
869 #'model:' #makeRelativeAll |
|
870 #'isTriggerOnDown:' false |
|
871 #'autoRepeat:' false |
|
872 ) |
|
873 #(#ActionButtonSpec |
|
874 #'name:' 'offset B1' |
|
875 #'layout:' #(#LayoutFrame 214 0 43 0 233 0 61 0) |
|
876 #'label:' '' |
|
877 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
878 #'model:' #makeOffsetLeft |
|
879 #'isTriggerOnDown:' false |
|
880 #'autoRepeat:' false |
|
881 ) |
|
882 #(#ActionButtonSpec |
|
883 #'name:' 'offset B2' |
|
884 #'layout:' #(#LayoutFrame 214 0 71 0 233 0 89 0) |
|
885 #'label:' '' |
|
886 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
887 #'model:' #makeOffsetTop |
|
888 #'isTriggerOnDown:' false |
|
889 #'autoRepeat:' false |
|
890 ) |
|
891 #(#ActionButtonSpec |
|
892 #'name:' 'offset B3' |
|
893 #'layout:' #(#LayoutFrame 214 0 99 0 233 0 117 0) |
|
894 #'label:' '' |
|
895 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
896 #'model:' #makeOffsetRight |
|
897 #'isTriggerOnDown:' false |
|
898 #'autoRepeat:' false |
|
899 ) |
|
900 #(#ActionButtonSpec |
|
901 #'name:' 'offset B4' |
|
902 #'layout:' #(#LayoutFrame 214 0 127 0 233 0 145 0) |
|
903 #'label:' '' |
|
904 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
905 #'model:' #makeOffsetBottom |
|
906 #'isTriggerOnDown:' false |
|
907 #'autoRepeat:' false |
|
908 ) |
|
909 #(#ActionButtonSpec |
|
910 #'name:' 'offset BAll' |
|
911 #'layout:' #(#LayoutFrame 214 0 161 0 233 0 179 0) |
|
912 #'label:' ' ' |
|
913 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
914 #'model:' #makeOffsetAll |
|
915 #'isTriggerOnDown:' false |
|
916 #'autoRepeat:' false |
|
917 ) |
|
918 ) |
|
919 ) |
|
920 ) |
|
921 |
|
922 ! |
|
923 |
|
924 specificationLayoutOrigin |
|
925 "this window spec was automatically generated by the ST/X UIPainter" |
|
926 |
|
927 "do not manually edit this - the painter/builder may not be able to |
|
928 handle the specification if its corrupted." |
|
929 |
|
930 " |
|
931 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationLayoutOrigin |
|
932 UIPropertyView::Dimension new openInterface:#specificationLayoutOrigin |
|
933 " |
|
934 |
|
935 <resource: #canvas> |
|
936 |
|
937 ^ |
|
938 |
|
939 #(#FullSpec |
|
940 #'window:' |
|
941 #(#WindowSpec |
|
942 #'name:' 'uIPainterView' |
|
943 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
944 #'label:' 'unnamed' |
|
945 #'bounds:' #(#Rectangle 0 0 238 303) |
|
946 ) |
|
947 #'component:' |
|
948 #(#SpecCollection |
|
949 #'collection:' |
|
950 #( |
|
951 #(#LabelSpec |
|
952 #'name:' 'label1' |
|
953 #'layout:' #(#AlignmentOrigin 52 0 44 0 1 0) |
|
954 #'label:' 'left' |
|
955 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
956 #'level:' 0 |
|
957 #'adjust:' #center |
|
958 #'hasCharacterOrientedLabel:' true |
|
959 ) |
|
960 #(#LabelSpec |
|
961 #'name:' 'label2' |
|
962 #'layout:' #(#AlignmentOrigin 52 0 71 0 1 0) |
|
963 #'label:' 'top' |
|
964 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
965 #'level:' 0 |
|
966 #'adjust:' #center |
|
967 #'hasCharacterOrientedLabel:' true |
|
968 ) |
|
969 #(#LabelSpec |
|
970 #'name:' 'label3' |
|
971 #'layout:' #(#Point 57 12) |
|
972 #'label:' 'relative' |
|
973 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
974 #'level:' 0 |
|
975 #'adjust:' #center |
|
976 #'hasCharacterOrientedLabel:' true |
|
977 ) |
|
978 #(#LabelSpec |
|
979 #'name:' 'label4' |
|
980 #'layout:' #(#Point 154 13) |
|
981 #'label:' 'offset' |
|
982 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
983 #'level:' 0 |
|
984 #'adjust:' #center |
|
985 #'hasCharacterOrientedLabel:' true |
|
986 ) |
|
987 #(#InputFieldSpec |
|
988 #'name:' 'editField1' |
|
989 #'layout:' #(#LayoutFrame 57 0 44 0 114 0 62 0) |
|
990 #'model:' #leftFraction |
|
991 #'tabable:' true |
|
992 #'type:' #numberOrNil |
|
993 #'immediateAccept:' true |
|
994 #'acceptOnLeave:' true |
|
995 #'acceptOnReturn:' true |
|
996 #'acceptOnTab:' true |
|
997 #'acceptOnLostFocus:' true |
|
998 #'hasBorder:' false |
|
999 ) |
|
1000 #(#InputFieldSpec |
|
1001 #'name:' 'editField2' |
|
1002 #'layout:' #(#LayoutFrame 57 0 71 0 114 0 89 0) |
|
1003 #'model:' #topFraction |
|
1004 #'tabable:' true |
|
1005 #'type:' #numberOrNil |
|
1006 #'immediateAccept:' true |
|
1007 #'acceptOnLeave:' true |
|
1008 #'acceptOnReturn:' true |
|
1009 #'acceptOnTab:' true |
|
1010 #'acceptOnLostFocus:' true |
|
1011 #'hasBorder:' false |
|
1012 ) |
|
1013 #(#InputFieldSpec |
|
1014 #'name:' 'editField3' |
|
1015 #'layout:' #(#LayoutFrame 154 0 44 0 212 0 62 0) |
|
1016 #'model:' #leftOffset |
|
1017 #'tabable:' true |
|
1018 #'type:' #numberOrNil |
|
1019 #'immediateAccept:' true |
|
1020 #'acceptOnLeave:' true |
|
1021 #'acceptOnReturn:' true |
|
1022 #'acceptOnTab:' true |
|
1023 #'acceptOnLostFocus:' true |
|
1024 #'hasBorder:' false |
|
1025 ) |
|
1026 #(#InputFieldSpec |
|
1027 #'name:' 'editField4' |
|
1028 #'layout:' #(#LayoutFrame 154 0 71 0 212 0 89 0) |
|
1029 #'model:' #topOffset |
|
1030 #'tabable:' true |
|
1031 #'type:' #numberOrNil |
|
1032 #'immediateAccept:' true |
|
1033 #'acceptOnLeave:' true |
|
1034 #'acceptOnReturn:' true |
|
1035 #'acceptOnTab:' true |
|
1036 #'acceptOnLostFocus:' true |
|
1037 #'hasBorder:' false |
|
1038 ) |
|
1039 #(#ActionButtonSpec |
|
1040 #'name:' 'button1' |
|
1041 #'layout:' #(#LayoutFrame 119 0 44 0 138 0 62 0) |
|
1042 #'label:' '' |
|
1043 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1044 #'model:' #makeRelativeLeft |
|
1045 #'isTriggerOnDown:' false |
|
1046 #'autoRepeat:' false |
|
1047 ) |
|
1048 #(#ActionButtonSpec |
|
1049 #'name:' 'button2' |
|
1050 #'layout:' #(#LayoutFrame 119 0 71 0 138 0 89 0) |
|
1051 #'label:' '' |
|
1052 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1053 #'model:' #makeRelativeTop |
|
1054 #'isTriggerOnDown:' false |
|
1055 #'autoRepeat:' false |
|
1056 ) |
|
1057 #(#ActionButtonSpec |
|
1058 #'name:' 'button3' |
|
1059 #'layout:' #(#LayoutFrame 216 0 44 0 235 0 62 0) |
|
1060 #'label:' '' |
|
1061 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1062 #'model:' #makeOffsetLeft |
|
1063 #'isTriggerOnDown:' false |
|
1064 #'autoRepeat:' false |
|
1065 ) |
|
1066 #(#ActionButtonSpec |
|
1067 #'name:' 'button4' |
|
1068 #'layout:' #(#LayoutFrame 216 0 71 0 235 0 89 0) |
|
1069 #'label:' '' |
|
1070 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1071 #'model:' #makeOffsetTop |
|
1072 #'isTriggerOnDown:' false |
|
1073 #'autoRepeat:' false |
|
1074 ) |
|
1075 #(#ActionButtonSpec |
|
1076 #'name:' 'button8' |
|
1077 #'layout:' #(#LayoutFrame 119 0 103 0 138 0 121 0) |
|
1078 #'label:' '' |
|
1079 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1080 #'model:' #makeRelativeLeftTop |
|
1081 #'isTriggerOnDown:' false |
|
1082 #'autoRepeat:' false |
|
1083 ) |
|
1084 #(#ActionButtonSpec |
|
1085 #'name:' 'button9' |
|
1086 #'layout:' #(#LayoutFrame 216 0 103 0 235 0 121 0) |
|
1087 #'label:' '' |
|
1088 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1089 #'model:' #makeOffsetLeftTop |
|
1090 #'isTriggerOnDown:' false |
|
1091 #'autoRepeat:' false |
|
1092 ) |
|
1093 #(#LabelSpec |
|
1094 #'name:' 'label5' |
|
1095 #'layout:' #(#AlignmentOrigin 52 0 103 0 1 0) |
|
1096 #'label:' 'all' |
|
1097 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1098 #'level:' 0 |
|
1099 #'adjust:' #center |
|
1100 #'hasCharacterOrientedLabel:' true |
|
1101 ) |
|
1102 ) |
|
1103 ) |
|
1104 ) |
|
1105 |
|
1106 ! |
|
1107 |
|
1108 specificationPoint |
|
1109 "this window spec was automatically generated by the ST/X UIPainter" |
|
1110 |
|
1111 "do not manually edit this - the painter/builder may not be able to |
|
1112 handle the specification if its corrupted." |
|
1113 |
|
1114 " |
|
1115 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationPoint |
|
1116 UIPropertyView::Dimension new openInterface:#specificationPoint |
|
1117 " |
|
1118 |
|
1119 <resource: #canvas> |
|
1120 |
|
1121 ^ |
|
1122 |
|
1123 #(#FullSpec |
|
1124 #'window:' |
|
1125 #(#WindowSpec |
|
1126 #'name:' 'uIPainterView' |
|
1127 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
1128 #'label:' 'unnamed' |
|
1129 #'bounds:' #(#Rectangle 0 0 238 303) |
|
1130 ) |
|
1131 #'component:' |
|
1132 #(#SpecCollection |
|
1133 #'collection:' |
|
1134 #( |
|
1135 #(#LabelSpec |
|
1136 #'name:' 'label1' |
|
1137 #'layout:' #(#AlignmentOrigin 75 0 19 0 1 0) |
|
1138 #'label:' 'origin x:' |
|
1139 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1140 #'level:' 0 |
|
1141 #'adjust:' #center |
|
1142 #'hasCharacterOrientedLabel:' true |
|
1143 ) |
|
1144 #(#LabelSpec |
|
1145 #'name:' 'label2' |
|
1146 #'layout:' #(#AlignmentOrigin 75 0 46 0 1 0) |
|
1147 #'label:' 'origin y:' |
|
1148 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1149 #'level:' 0 |
|
1150 #'adjust:' #center |
|
1151 #'hasCharacterOrientedLabel:' true |
|
1152 ) |
|
1153 #(#InputFieldSpec |
|
1154 #'name:' 'editField1' |
|
1155 #'layout:' #(#LayoutFrame 77 0 19 0 170 0 37 0) |
|
1156 #'model:' #absLeft |
|
1157 #'tabable:' true |
|
1158 #'type:' #numberOrNil |
|
1159 #'immediateAccept:' true |
|
1160 #'acceptOnLeave:' true |
|
1161 #'acceptOnReturn:' true |
|
1162 #'acceptOnTab:' true |
|
1163 #'acceptOnLostFocus:' true |
|
1164 #'hasBorder:' false |
|
1165 ) |
|
1166 #(#InputFieldSpec |
|
1167 #'name:' 'editField2' |
|
1168 #'layout:' #(#LayoutFrame 77 0 46 0 170 0 64 0) |
|
1169 #'model:' #absTop |
|
1170 #'tabable:' true |
|
1171 #'type:' #numberOrNil |
|
1172 #'immediateAccept:' true |
|
1173 #'acceptOnLeave:' true |
|
1174 #'acceptOnReturn:' true |
|
1175 #'acceptOnTab:' true |
|
1176 #'acceptOnLostFocus:' true |
|
1177 #'hasBorder:' false |
|
1178 ) |
|
1179 ) |
|
1180 ) |
|
1181 ) |
|
1182 |
|
1183 ! |
|
1184 |
|
1185 specificationRectangle |
|
1186 "this window spec was automatically generated by the ST/X UIPainter" |
|
1187 |
|
1188 "do not manually edit this - the painter/builder may not be able to |
|
1189 handle the specification if its corrupted." |
|
1190 |
|
1191 " |
|
1192 UIPainter new openOnClass:UIPropertyView::Dimension andSelector:#specificationRectangle |
|
1193 UIPropertyView::Dimension new openInterface:#specificationRectangle |
|
1194 " |
|
1195 |
|
1196 <resource: #canvas> |
|
1197 |
|
1198 ^ |
|
1199 |
|
1200 #(#FullSpec |
|
1201 #'window:' |
|
1202 #(#WindowSpec |
|
1203 #'name:' 'uIPainterView' |
|
1204 #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
1205 #'label:' 'unnamed' |
|
1206 #'bounds:' #(#Rectangle 0 0 238 303) |
|
1207 ) |
|
1208 #'component:' |
|
1209 #(#SpecCollection |
|
1210 #'collection:' |
|
1211 #( |
|
1212 #(#LabelSpec |
|
1213 #'name:' 'label1' |
|
1214 #'layout:' #(#AlignmentOrigin 80 0 19 0 1 0) |
|
1215 #'label:' 'origin x:' |
|
1216 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1217 #'level:' 0 |
|
1218 #'adjust:' #left |
|
1219 #'hasCharacterOrientedLabel:' true |
|
1220 ) |
|
1221 #(#LabelSpec |
|
1222 #'name:' 'label2' |
|
1223 #'layout:' #(#AlignmentOrigin 80 0 46 0 1 0) |
|
1224 #'label:' 'origin y:' |
|
1225 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1226 #'level:' 0 |
|
1227 #'adjust:' #left |
|
1228 #'hasCharacterOrientedLabel:' true |
|
1229 ) |
|
1230 #(#InputFieldSpec |
|
1231 #'name:' 'editField1' |
|
1232 #'layout:' #(#LayoutFrame 81 0 19 0 174 0 37 0) |
|
1233 #'model:' #leftOffset |
|
1234 #'tabable:' true |
|
1235 #'type:' #numberOrNil |
|
1236 #'immediateAccept:' true |
|
1237 #'acceptOnLeave:' true |
|
1238 #'acceptOnReturn:' true |
|
1239 #'acceptOnTab:' true |
|
1240 #'acceptOnLostFocus:' true |
|
1241 #'hasBorder:' false |
|
1242 ) |
|
1243 #(#InputFieldSpec |
|
1244 #'name:' 'editField2' |
|
1245 #'layout:' #(#LayoutFrame 81 0 46 0 174 0 64 0) |
|
1246 #'model:' #topOffset |
|
1247 #'tabable:' true |
|
1248 #'type:' #numberOrNil |
|
1249 #'immediateAccept:' true |
|
1250 #'acceptOnLeave:' true |
|
1251 #'acceptOnReturn:' true |
|
1252 #'acceptOnTab:' true |
|
1253 #'acceptOnLostFocus:' true |
|
1254 #'hasBorder:' false |
|
1255 ) |
|
1256 #(#LabelSpec |
|
1257 #'name:' 'label4' |
|
1258 #'layout:' #(#AlignmentOrigin 80 0 74 0 1 0) |
|
1259 #'label:' 'corner x:' |
|
1260 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1261 #'level:' 0 |
|
1262 #'adjust:' #left |
|
1263 #'hasCharacterOrientedLabel:' true |
|
1264 ) |
|
1265 #(#LabelSpec |
|
1266 #'name:' 'label5' |
|
1267 #'layout:' #(#AlignmentOrigin 80 0 101 0 1 0) |
|
1268 #'label:' 'corner y:' |
|
1269 #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993) |
|
1270 #'level:' 0 |
|
1271 #'adjust:' #left |
|
1272 #'hasCharacterOrientedLabel:' true |
|
1273 ) |
|
1274 #(#InputFieldSpec |
|
1275 #'name:' 'editField3' |
|
1276 #'layout:' #(#LayoutFrame 81 0 74 0 174 0 92 0) |
|
1277 #'model:' #rightOffset |
|
1278 #'tabable:' true |
|
1279 #'type:' #numberOrNil |
|
1280 #'immediateAccept:' true |
|
1281 #'acceptOnLeave:' true |
|
1282 #'acceptOnReturn:' true |
|
1283 #'acceptOnTab:' true |
|
1284 #'acceptOnLostFocus:' true |
|
1285 #'hasBorder:' false |
|
1286 ) |
|
1287 #(#InputFieldSpec |
|
1288 #'name:' 'editField4' |
|
1289 #'layout:' #(#LayoutFrame 81 0 101 0 174 0 119 0) |
|
1290 #'model:' #bottomOffset |
|
1291 #'tabable:' true |
|
1292 #'type:' #numberOrNil |
|
1293 #'immediateAccept:' true |
|
1294 #'acceptOnLeave:' true |
|
1295 #'acceptOnReturn:' true |
|
1296 #'acceptOnTab:' true |
|
1297 #'acceptOnLostFocus:' true |
|
1298 #'hasBorder:' false |
|
1299 ) |
|
1300 ) |
|
1301 ) |
|
1302 ) |
|
1303 |
|
1304 ! ! |
|
1305 |
|
1306 !UIPropertyView::Dimension methodsFor:'accessing'! |
|
1307 |
|
1308 forView:aView |
|
1309 "set the view the layout derives from |
|
1310 " |
|
1311 forView := aView. |
|
1312 self selection:(UIPainterView layoutType:forView). |
|
1313 ! |
|
1314 |
|
1315 layout |
|
1316 "returns current layout |
|
1317 " |
|
1318 |layout| |
|
1319 |
|
1320 selection notNil ifTrue:[ |
|
1321 layout := self perform:(('get', selection asString) asSymbol). |
|
1322 ]. |
|
1323 ^ layout |
|
1324 ! |
|
1325 |
|
1326 layoutType |
|
1327 "returns current layoutType |
|
1328 " |
|
1329 ^ selection |
|
1330 ! ! |
|
1331 |
|
1332 !UIPropertyView::Dimension methodsFor:'accessing hierarchy'! |
|
1333 |
|
1334 window |
|
1335 ^ noteBook |
|
1336 |
|
1337 |
|
1338 ! ! |
|
1339 |
|
1340 !UIPropertyView::Dimension methodsFor:'initialization'! |
|
1341 |
|
1342 initialize |
|
1343 "initialize channels |
|
1344 " |
|
1345 |layoutAspects| |
|
1346 |
|
1347 super initialize. |
|
1348 |
|
1349 layoutAspects := IdentityDictionary new. |
|
1350 |
|
1351 #( bottomFraction bottomOffset |
|
1352 leftFraction leftOffset |
|
1353 topFraction topOffset |
|
1354 rightFraction rightOffset |
|
1355 leftAlignmentFraction topAlignmentFraction |
|
1356 absLeft absTop |
|
1357 ) |
|
1358 do:[:aKey| |
|
1359 layoutAspects at:aKey put:(ValueHolder new) |
|
1360 ]. |
|
1361 self aspects:layoutAspects. |
|
1362 |
|
1363 |
|
1364 ! |
|
1365 |
|
1366 origin:anOrigin corner:aCorner in:aTopView |
|
1367 "set dimensions |
|
1368 " |
|
1369 noteBook := NoteBookView origin:anOrigin corner:aCorner in:aTopView. |
|
1370 window := noteBook canvas. |
|
1371 |
|
1372 noteBook direction:#bottom. |
|
1373 noteBook useIndex:true. |
|
1374 layoutTypes := #( #LayoutFrame #AlignmentOrigin #LayoutOrigin #Point #Rectangle ). |
|
1375 noteBook list:#( 'Frame' 'Alig.Origin' 'LayoutOrigin' 'Point' 'Rectangle' ). |
|
1376 |
|
1377 noteBook action:[:anIndex| |
|
1378 anIndex notNil ifTrue:[self selection:(layoutTypes at:anIndex)]. |
|
1379 ]. |
|
1380 |
|
1381 ! ! |
|
1382 |
|
1383 !UIPropertyView::Dimension methodsFor:'layout access'! |
|
1384 |
|
1385 getAlignmentOrigin |
|
1386 "returns current layout as alignmentOrigin |
|
1387 " |
|
1388 |layout| |
|
1389 |
|
1390 layout := AlignmentOrigin new. |
|
1391 |
|
1392 layout leftOffset:((aspects at:#leftOffset) value) ? 0. |
|
1393 layout topOffset:((aspects at:#topOffset) value) ? 0. |
|
1394 layout leftFraction:((aspects at:#leftFraction) value) ? 0. |
|
1395 layout topFraction:((aspects at:#topFraction) value) ? 0. |
|
1396 |
|
1397 layout leftAlignmentFraction:((aspects at:#leftAlignmentFraction) value) ? 0. |
|
1398 layout topAlignmentFraction:((aspects at:#topAlignmentFraction) value) ? 0. |
|
1399 |
|
1400 ^ layout |
|
1401 ! |
|
1402 |
|
1403 getExtent |
|
1404 "returns current extent |
|
1405 " |
|
1406 ^ Point x:(((aspects at:#leftOffset) value) ? 0) |
|
1407 y:(((aspects at:#rightOffset) value) ? 0) |
|
1408 ! |
|
1409 |
|
1410 getLayoutFrame |
|
1411 "returns current layout as layoutFrame |
|
1412 " |
|
1413 |layout| |
|
1414 |
|
1415 layout := LayoutFrame new. |
|
1416 |
|
1417 layout leftOffset:((aspects at:#leftOffset) value) ? 0. |
|
1418 layout rightOffset:((aspects at:#rightOffset) value) ? 0. |
|
1419 layout topOffset:((aspects at:#topOffset) value) ? 0. |
|
1420 layout bottomOffset:((aspects at:#bottomOffset) value) ? 0. |
|
1421 layout leftFraction:((aspects at:#leftFraction) value) ? 0. |
|
1422 layout rightFraction:((aspects at:#rightFraction) value) ? 0. |
|
1423 layout topFraction:((aspects at:#topFraction) value) ? 0. |
|
1424 layout bottomFraction:((aspects at:#bottomFraction) value) ? 0. |
|
1425 |
|
1426 ^ layout |
|
1427 ! |
|
1428 |
|
1429 getLayoutOrigin |
|
1430 "returns current layout as layoutOrigin |
|
1431 " |
|
1432 |layout| |
|
1433 |
|
1434 layout := LayoutOrigin new. |
|
1435 |
|
1436 layout leftOffset:((aspects at:#leftOffset) value) ? 0. |
|
1437 layout topOffset:((aspects at:#topOffset) value) ? 0. |
|
1438 layout leftFraction:((aspects at:#leftFraction) value) ? 0. |
|
1439 layout topFraction:((aspects at:#topFraction) value) ? 0. |
|
1440 |
|
1441 ^ layout |
|
1442 ! |
|
1443 |
|
1444 getPoint |
|
1445 "returns current layout as point |
|
1446 " |
|
1447 ^ Point x:(((aspects at:#absLeft) value) ? 0) |
|
1448 y:(((aspects at:#absTop) value) ? 0) |
|
1449 ! |
|
1450 |
|
1451 getRectangle |
|
1452 "returns current layout as rectangle |
|
1453 " |
|
1454 ^ Rectangle left:(((aspects at:#leftOffset) value) ? 0) |
|
1455 top:(((aspects at:#topOffset) value) ? 0) |
|
1456 right:(((aspects at:#rightOffset) value) ? 0) |
|
1457 bottom:(((aspects at:#bottomOffset) value) ? 0) |
|
1458 ! ! |
|
1459 |
|
1460 !UIPropertyView::Dimension methodsFor:'layout fetch'! |
|
1461 |
|
1462 fetchAlignmentOrigin |
|
1463 "fetch alignmentOrigin |
|
1464 " |
|
1465 |layout type extent| |
|
1466 |
|
1467 type := UIPainterView layoutType:forView. |
|
1468 layout := forView geometryLayout. |
|
1469 |
|
1470 layout isLayout ifTrue:[ |
|
1471 (aspects at:#leftOffset) value:(layout leftOffset). |
|
1472 (aspects at:#leftFraction) value:(layout leftFraction). |
|
1473 (aspects at:#topOffset) value:(layout topOffset). |
|
1474 (aspects at:#topFraction) value:(layout topFraction). |
|
1475 |
|
1476 type == #AlignmentOrigin ifTrue:[ |
|
1477 (aspects at:#leftAlignmentFraction) value:(layout leftAlignmentFraction). |
|
1478 (aspects at:#topAlignmentFraction) value:(layout topAlignmentFraction). |
|
1479 ^ self |
|
1480 ] |
|
1481 ] ifFalse:[ |
|
1482 layout := forView computeOrigin. |
|
1483 |
|
1484 (aspects at:#leftOffset) value:(layout x). |
|
1485 (aspects at:#leftFraction) value:0. |
|
1486 (aspects at:#topOffset) value:(layout y). |
|
1487 (aspects at:#topFraction) value:0. |
|
1488 ]. |
|
1489 (aspects at:#leftAlignmentFraction) value:0. |
|
1490 (aspects at:#topAlignmentFraction) value:0. |
|
1491 ! |
|
1492 |
|
1493 fetchExtent |
|
1494 "fetch extent |
|
1495 " |
|
1496 |extent| |
|
1497 |
|
1498 extent := forView computeExtent. |
|
1499 |
|
1500 (aspects at:#leftOffset) value:(extent x). |
|
1501 (aspects at:#rightOffset) value:(extent y). |
|
1502 |
|
1503 ! |
|
1504 |
|
1505 fetchLayoutFrame |
|
1506 "fetch layoutFrame |
|
1507 " |
|
1508 |layout| |
|
1509 |
|
1510 layout := UIPainterView asLayoutFrameFromView:forView. |
|
1511 |
|
1512 (aspects at:#leftOffset) value:(layout leftOffset). |
|
1513 (aspects at:#leftFraction) value:(layout leftFraction). |
|
1514 (aspects at:#topOffset) value:(layout topOffset). |
|
1515 (aspects at:#topFraction) value:(layout topFraction). |
|
1516 (aspects at:#rightOffset) value:(layout rightOffset). |
|
1517 (aspects at:#bottomOffset) value:(layout bottomOffset). |
|
1518 (aspects at:#rightFraction) value:(layout rightFraction). |
|
1519 (aspects at:#bottomFraction) value:(layout bottomFraction). |
|
1520 ! |
|
1521 |
|
1522 fetchLayoutOrigin |
|
1523 "fetch layoutOrigin |
|
1524 " |
|
1525 |layout| |
|
1526 |
|
1527 layout := UIPainterView asLayoutFrameFromView:forView. |
|
1528 |
|
1529 (aspects at:#leftOffset) value:(layout leftOffset). |
|
1530 (aspects at:#leftFraction) value:(layout leftFraction). |
|
1531 (aspects at:#topOffset) value:(layout topOffset). |
|
1532 (aspects at:#topFraction) value:(layout topFraction). |
|
1533 ! |
|
1534 |
|
1535 fetchPoint |
|
1536 "fetch point |
|
1537 " |
|
1538 |origin| |
|
1539 |
|
1540 origin := forView computeOrigin. |
|
1541 |
|
1542 (aspects at:#absLeft) value:(origin x). |
|
1543 (aspects at:#absTop) value:(origin y). |
|
1544 |
|
1545 ! |
|
1546 |
|
1547 fetchRectangle |
|
1548 "fetch rectangle |
|
1549 " |
|
1550 |origin corner| |
|
1551 |
|
1552 origin := forView computeOrigin. |
|
1553 corner := forView computeCorner. |
|
1554 |
|
1555 (aspects at:#leftOffset) value:(origin x). |
|
1556 (aspects at:#rightOffset) value:(corner x). |
|
1557 (aspects at:#topOffset) value:(origin y). |
|
1558 (aspects at:#bottomOffset) value:(corner y). |
|
1559 |
|
1560 ! ! |
|
1561 |
|
1562 !UIPropertyView::Dimension methodsFor:'layout make align'! |
|
1563 |
|
1564 makeAlignBottomCenter |
|
1565 self makeAlignLeft:0.5 top:1 |
|
1566 |
|
1567 |
|
1568 ! |
|
1569 |
|
1570 makeAlignBottomLeft |
|
1571 self makeAlignLeft:0 top:1 |
|
1572 |
|
1573 |
|
1574 ! |
|
1575 |
|
1576 makeAlignBottomRight |
|
1577 self makeAlignLeft:1 top:1 |
|
1578 |
|
1579 |
|
1580 ! |
|
1581 |
|
1582 makeAlignCenter |
|
1583 self makeAlignLeft:0.5 top:0.5 |
|
1584 |
|
1585 ! |
|
1586 |
|
1587 makeAlignLeft:leftAlignmentFraction top:topAlignmentFraction |
|
1588 |lAF tAF lO tO ext| |
|
1589 |
|
1590 lAF := (aspects at:#leftAlignmentFraction) value ? 0. |
|
1591 tAF := (aspects at:#topAlignmentFraction) value ? 0. |
|
1592 ext := forView computeExtent. |
|
1593 |
|
1594 (aspects at:#leftAlignmentFraction) value:leftAlignmentFraction. |
|
1595 (aspects at:#topAlignmentFraction) value:topAlignmentFraction. |
|
1596 |
|
1597 lO := (aspects at:#leftOffset) value ? 0. |
|
1598 tO := (aspects at:#topOffset) value ? 0. |
|
1599 |
|
1600 lO := lO + (ext x * (leftAlignmentFraction - lAF)). |
|
1601 tO := tO + (ext y * (topAlignmentFraction - tAF)). |
|
1602 |
|
1603 (aspects at:#leftOffset) value:(lO rounded). |
|
1604 (aspects at:#topOffset) value:(tO rounded). |
|
1605 ! |
|
1606 |
|
1607 makeAlignLeftCenter |
|
1608 self makeAlignLeft:0 top:0.5 |
|
1609 |
|
1610 ! |
|
1611 |
|
1612 makeAlignRightCenter |
|
1613 self makeAlignLeft:1 top:0.5 |
|
1614 |
|
1615 ! |
|
1616 |
|
1617 makeAlignTopCenter |
|
1618 self makeAlignLeft:0.5 top:0 |
|
1619 |
|
1620 ! |
|
1621 |
|
1622 makeAlignTopLeft |
|
1623 self makeAlignLeft:0 top:0 |
|
1624 |
|
1625 ! |
|
1626 |
|
1627 makeAlignTopRight |
|
1628 self makeAlignLeft:1 top:0 |
|
1629 |
|
1630 |
|
1631 ! ! |
|
1632 |
|
1633 !UIPropertyView::Dimension methodsFor:'layout make relative/absolute'! |
|
1634 |
|
1635 makeLayout:what xOrY:xOrY offset:aBool |
|
1636 |extent fraction offset fractSymb offsetSymb| |
|
1637 |
|
1638 extent := (forView superView computeExtent) perform:xOrY. |
|
1639 fractSymb := (what, 'Fraction') asSymbol. |
|
1640 offsetSymb := (what, 'Offset') asSymbol. |
|
1641 |
|
1642 fraction := (aspects at:fractSymb) value. |
|
1643 offset := (aspects at:offsetSymb) value. |
|
1644 |
|
1645 aBool ifTrue:[ |
|
1646 offset := offset + ((fraction * extent) asInteger). |
|
1647 fraction := 0. |
|
1648 ] ifFalse:[ |
|
1649 fraction := (fraction + (offset / extent)) asFloat. |
|
1650 |
|
1651 (fraction > 1.0) ifTrue:[ fraction := 1.0 ]. |
|
1652 (fraction < 0.0) ifTrue:[ fraction := 0 ]. |
|
1653 offset := 0. |
|
1654 ]. |
|
1655 (aspects at:offsetSymb) value:offset. |
|
1656 (aspects at:fractSymb) value:fraction. |
|
1657 ! |
|
1658 |
|
1659 makeOffsetAll |
|
1660 self makeOffsetLeft. |
|
1661 self makeOffsetTop. |
|
1662 self makeOffsetRight. |
|
1663 self makeOffsetBottom. |
|
1664 |
|
1665 |
|
1666 ! |
|
1667 |
|
1668 makeOffsetBottom |
|
1669 self makeLayout:'bottom' xOrY:#y offset:true. |
|
1670 |
|
1671 |
|
1672 ! |
|
1673 |
|
1674 makeOffsetLeft |
|
1675 self makeLayout:'left' xOrY:#x offset:true. |
|
1676 |
|
1677 ! |
|
1678 |
|
1679 makeOffsetLeftTop |
|
1680 self makeOffsetLeft. |
|
1681 self makeOffsetTop. |
|
1682 |
|
1683 ! |
|
1684 |
|
1685 makeOffsetRight |
|
1686 self makeLayout:'right' xOrY:#x offset:true. |
|
1687 |
|
1688 ! |
|
1689 |
|
1690 makeOffsetTop |
|
1691 self makeLayout:'top' xOrY:#y offset:true. |
|
1692 |
|
1693 ! |
|
1694 |
|
1695 makeRelativeAll |
|
1696 self makeRelativeLeft. |
|
1697 self makeRelativeTop. |
|
1698 self makeRelativeRight. |
|
1699 self makeRelativeBottom. |
|
1700 |
|
1701 |
|
1702 ! |
|
1703 |
|
1704 makeRelativeBottom |
|
1705 self makeLayout:'bottom' xOrY:#y offset:false. |
|
1706 |
|
1707 |
|
1708 ! |
|
1709 |
|
1710 makeRelativeLeft |
|
1711 self makeLayout:'left' xOrY:#x offset:false. |
|
1712 |
|
1713 ! |
|
1714 |
|
1715 makeRelativeLeftTop |
|
1716 self makeRelativeLeft. |
|
1717 self makeRelativeTop. |
|
1718 |
|
1719 ! |
|
1720 |
|
1721 makeRelativeRight |
|
1722 self makeLayout:'right' xOrY:#x offset:false. |
|
1723 |
|
1724 ! |
|
1725 |
|
1726 makeRelativeTop |
|
1727 self makeLayout:'top' xOrY:#y offset:false. |
|
1728 |
|
1729 ! ! |
|
1730 |
|
1731 !UIPropertyView::Dimension methodsFor:'selection'! |
|
1732 |
|
1733 selection |
|
1734 ^ selection |
|
1735 |
|
1736 ! |
|
1737 |
|
1738 selection:aLayoutType |
|
1739 |spec idx| |
|
1740 |
|
1741 selection == aLayoutType ifFalse:[ |
|
1742 (selection := aLayoutType) notNil ifTrue:[ |
|
1743 self perform:(('fetch', selection asString) asSymbol). |
|
1744 spec := ('specification', selection asString) asSymbol. |
|
1745 spec := self class perform:spec. |
|
1746 ]. |
|
1747 self buildFromSpec:spec. |
|
1748 ]. |
|
1749 idx := layoutTypes findFirst:[:type| type == aLayoutType ]. |
|
1750 noteBook setSelection:idx. |
|
1751 |
|
1752 selection == aLayoutType ifFalse:[ |
|
1753 (selection := aLayoutType) notNil ifTrue:[ |
|
1754 self perform:(('fetch', selection asString) asSymbol). |
|
1755 spec := ('specification', selection asString) asSymbol. |
|
1756 spec := self class perform:spec. |
|
1757 ]. |
|
1758 self buildFromSpec:spec. |
|
1759 ]. |
|
1760 idx := layoutTypes findFirst:[:type| type == aLayoutType ]. |
|
1761 noteBook setSelection:idx. |
|
1762 noteBook enabled:(forView notNil). |
|
1763 |
|
1764 ! ! |
|
1765 |
1756 !UIPropertyView class methodsFor:'documentation'! |
1766 !UIPropertyView class methodsFor:'documentation'! |
1757 |
1767 |
1758 version |
1768 version |
1759 ^ '$Header$' |
1769 ^ '$Header$' |
1760 |
1770 |