equal
deleted
inserted
replaced
532 |
532 |
533 specChannel := nil. |
533 specChannel := nil. |
534 specification := nil. |
534 specification := nil. |
535 aspects := nil. |
535 aspects := nil. |
536 ] ifFalse:[ |
536 ] ifFalse:[ |
|
537 "/ same type of spec - simply change the spec; |
|
538 "/ no need to setup everything |
|
539 |
537 specification class == aSpec class ifTrue:[ |
540 specification class == aSpec class ifTrue:[ |
538 specification := aSpec. |
541 specification := aSpec. |
539 ^ specChannel value:specification. |
542 ^ specChannel value:specification. |
540 ]. |
543 ]. |
|
544 |
541 specChannel notNil ifTrue:[ specChannel release ]. |
545 specChannel notNil ifTrue:[ specChannel release ]. |
542 aspects notNil ifTrue:[ aspects release ]. |
546 aspects notNil ifTrue:[ aspects release ]. |
543 |
547 |
544 specification := aSpec. |
548 specification := aSpec. |
545 |
549 |
551 aspects := UISpecification newBindingsDictionary. |
555 aspects := UISpecification newBindingsDictionary. |
552 aspects builder:builder. |
556 aspects builder:builder. |
553 |
557 |
554 specChannel := specification asValue. |
558 specChannel := specification asValue. |
555 specification class addBindingsTo:aspects for:specification channel:specChannel. |
559 specification class addBindingsTo:aspects for:specification channel:specChannel. |
|
560 |
|
561 "/ arrange for being notified, if any aspect changes |
556 aspects do:[:el| el addDependent:self ]. |
562 aspects do:[:el| el addDependent:self ]. |
557 ]. |
563 ]. |
558 |
564 |
559 selection notNil ifTrue:[ |
565 selection notNil ifTrue:[ |
560 self clearScrolledView. |
566 self clearScrolledView. |
561 selection := nil. |
567 selection := nil. |
562 ]. |
568 ]. |
563 |
569 |
564 "Modified: / 30.1.1998 / 13:50:51 / cg" |
570 "Modified: / 16.7.1998 / 19:39:42 / cg" |
565 ! ! |
571 ! ! |
566 |
572 |
567 !UISpecificationTool methodsFor:'accessing channels'! |
573 !UISpecificationTool methodsFor:'accessing channels'! |
568 |
574 |
569 modifiedHolder:aValueHolder |
575 modifiedHolder:aValueHolder |
666 |
672 |
667 update:something with:someArgument from:someone |
673 update:something with:someArgument from:someone |
668 "any attribute changed its state in the current specification |
674 "any attribute changed its state in the current specification |
669 " |
675 " |
670 someone ~~ modifiedHolder ifTrue:[ |
676 someone ~~ modifiedHolder ifTrue:[ |
|
677 "/ any in the spec has changed. |
|
678 "/ update my modified holders value |
|
679 |
671 modifiedHolder value ~~ true ifTrue:[ |
680 modifiedHolder value ~~ true ifTrue:[ |
672 modifiedHolder value:true |
681 modifiedHolder value:true |
673 ] |
682 ] |
674 ] |
683 ] |
675 |
684 |
676 |
685 "Modified: / 16.7.1998 / 19:25:59 / cg" |
677 ! ! |
686 ! ! |
678 |
687 |
679 !UISpecificationTool methodsFor:'selection'! |
688 !UISpecificationTool methodsFor:'selection'! |
680 |
689 |
681 selection:something |
690 selection:something |