diff -r 10e8e0510baa -r a8468f4e83f0 UIPainter.st --- a/UIPainter.st Sat Jun 21 17:06:18 1997 +0200 +++ b/UIPainter.st Mon Jun 23 10:19:58 1997 +0200 @@ -602,21 +602,25 @@ #'level:' -1 #'adjust:' #left ) - #(#ActionButtonSpec - #'name:' 'raiseGallery' - #'layout:' #(#LayoutFrame 322 0 1 0 421 0 23 0) + #(#ToggleSpec + #'name:' 'galleryLabel' + #'layout:' #(#LayoutFrame -162 1.0 1 0 -82 1.0 23 0) #'flags:' 0 #'label:' 'Gallery' - #'initiallyInvisible:' true - #'model:' #raiseGallery + #'model:' #galleryShown + #'isTriggerOnDown:' true + #'showLamp:' true + #'lampColor:' #(#Color 100.0 100.0 0.0) ) - #(#ActionButtonSpec - #'name:' 'raisePainter' - #'layout:' #(#LayoutFrame 424 0 1 0 524 0 23 0) + #(#ToggleSpec + #'name:' 'painterLabel' + #'layout:' #(#LayoutFrame -81 1.0 1 0 -1 1.0 23 0) #'flags:' 0 #'label:' 'Painter' - #'initiallyInvisible:' true - #'model:' #raisePainter + #'model:' #painterShown + #'isTriggerOnDown:' true + #'showLamp:' true + #'lampColor:' #(#Color 100.0 100.0 0.0) ) ) ) @@ -661,27 +665,6 @@ doubleClick objectList selectGroup -! - -raiseGallery - |top| - - top := selectionPanel window. - top map. - top bePartner. - (builder componentAt:#raiseGallery) beInvisible. - -! - -raisePainter - |top| - - top := self painter topView. - top map. - top bePartner. - (builder componentAt:#raisePainter) beInvisible. - - ! ! !UIPainter methodsFor:'active help'! @@ -742,6 +725,17 @@ ^ self painter enableChannel ! +galleryShown + |holder| + + (holder := builder bindingAt:#galleryShown) isNil ifTrue:[ + builder aspectAt:#galleryShown put:(holder := true asValue). + holder addDependent:self + ]. + ^ holder + +! + menuAlignment |menu channel| @@ -823,6 +817,17 @@ ! +painterShown + |holder| + + (holder := builder bindingAt:#painterShown) isNil ifTrue:[ + builder aspectAt:#painterShown put:(holder := true asValue). + holder addDependent:self + ]. + ^ holder + +! + tabList "automatically generated by UIPainter ..." @@ -871,8 +876,27 @@ ]. layoutTool update ]. - self modifiedChannel value:false - ] + ^ self modifiedChannel value:false + ]. + + self galleryShown == someObject ifTrue:[ + (self galleryShown value) ifTrue:[ + self raiseUIView:(selectionPanel window) + ] ifFalse:[ + self hideUIView:(selectionPanel window) + ]. + ^ self + ]. + + self painterShown == someObject ifTrue:[ + (self painterShown value) ifTrue:[ + self raiseUIView:(self painter topView) + ] ifFalse:[ + self hideUIView:(self painter topView) + ]. + ^ self + ]. + ! ! !UIPainter methodsFor:'event handling'! @@ -942,8 +966,18 @@ !UIPainter methodsFor:'private'! +hideUIView:aView + aView beIndependent. + aView unmap. +! + painter ^ objectList painter +! + +raiseUIView:aView + aView map. + aView bePartner. ! ! !UIPainter methodsFor:'queries'! @@ -1009,22 +1043,18 @@ closeRequestFor:aTopView "handle a close request for a specific view " - |topView id| + |topView| topView := self window. topView == aTopView ifTrue:[ super closeRequestFor:aTopView ] ifFalse:[ - "/ aTopView beSlave. - aTopView beIndependent. - - aTopView unmap. - - aTopView = selectionPanel window ifTrue:[id := #raiseGallery] - ifFalse:[id := #raisePainter]. - - (builder componentAt:id) beVisible. + aTopView = selectionPanel window ifTrue:[ + self galleryShown value:false + ] ifFalse:[ + self painterShown value:false + ]. topView raise. ]. ! @@ -1433,13 +1463,13 @@ top := self painter topView. top realized ifFalse:[ - self raisePainter + self painterShown value:true ]. top raise. top := selectionPanel window. top realized ifFalse:[ - self raiseGallery + self galleryShown value:true ]. top raise. !