VerticalPanelView.st
changeset 6760 0ad6b40a111f
parent 6749 1ba3302417a6
equal deleted inserted replaced
6759:41d9af4f8f63 6760:0ad6b40a111f
     1 "{ Encoding: utf8 }"
       
     2 
       
     3 "
     1 "
     4  COPYRIGHT (c) 1989 by Claus Gittinger
     2  COPYRIGHT (c) 1989 by Claus Gittinger
     5 	      All Rights Reserved
     3 	      All Rights Reserved
     6 
     4 
     7  This software is furnished under a license and may be used
     5  This software is furnished under a license and may be used
   759 	vLayout := aSymbol.
   757 	vLayout := aSymbol.
   760 	self layoutChanged
   758 	self layoutChanged
   761     ]
   759     ]
   762 
   760 
   763     "Modified: 17.8.1997 / 15:19:58 / cg"
   761     "Modified: 17.8.1997 / 15:19:58 / cg"
   764 ! !
       
   765 
       
   766 !VerticalPanelView methodsFor:'accessing-visibility'!
       
   767 
       
   768 beVisible
       
   769     "after making the views visible check the vertical layout"
       
   770 
       
   771     super beVisible.
       
   772 
       
   773     (realized and:[OperatingSystem isMSWINDOWSlike])
       
   774         ifFalse:[ ^ self ].
       
   775 
       
   776     self sensor enqueueMessage:#beVisiblePostUpdate for:self.
       
   777 !
       
   778 
       
   779 beVisiblePostUpdate
       
   780     "after making the views visible check the vertical layout; called by #beVisible"
       
   781 
       
   782    | sviews |
       
   783 
       
   784     self isVisible ifFalse:[ ^ self ].
       
   785     sviews := self subViewsToConsider.
       
   786     sviews size > 1 ifFalse:[ ^ self].
       
   787 
       
   788     sviews do:[: eachChild |
       
   789         eachChild isView ifTrue:[ | h |
       
   790             h := eachChild getAttribute:#VerticalPanelPreferredHeight.  "/ see: #storePreferredHeight:for:
       
   791             h isNil ifTrue:[ eachChild height: 0. h :=  eachChild computePreferredExtent y. ].  
       
   792             eachChild height: h
       
   793         ].
       
   794     ].
       
   795     self setChildPositions.
       
   796     mustRearrange := false.
       
   797 !
       
   798 
       
   799 storePreferredHeight: aHeight for: aView
       
   800     "called by UISpecification #buildViewWithLayoutFor to setup up a specific view"
       
   801 
       
   802     OperatingSystem isMSWINDOWSlike ifFalse:[ ^ self ].   "/ supported only for windows!!!!
       
   803 
       
   804     (aView isView and:[aHeight isInteger and:[aHeight > 0]])
       
   805         ifTrue:[ aView setAttribute:#VerticalPanelPreferredHeight to: aHeight ].  "/ see: #beVisiblePostUpdate
       
   806 ! !
   762 ! !
   807 
   763 
   808 !VerticalPanelView methodsFor:'layout'!
   764 !VerticalPanelView methodsFor:'layout'!
   809 
   765 
   810 setChildPositions
   766 setChildPositions