--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/FileBrowserV2PanelView.st Wed Sep 25 10:00:32 2002 +0200
@@ -0,0 +1,194 @@
+"
+ COPYRIGHT (c) 2002 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+
+
+"
+
+"{ Package: 'stx:libtool' }"
+
+VariablePanel subclass:#FileBrowserV2PanelView
+ instanceVariableNames:'whichView visibilityHolder oldOrigin oldCorner'
+ classVariableNames:'BarHeight'
+ poolDictionaries:''
+ category:'Interface-Tools-File'
+!
+
+!FileBrowserV2PanelView class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2002 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+
+
+"
+!
+
+documentation
+
+"
+ copy of the Panel from CBrowser , if a better HorizontalPanel and VerticalPanel is available
+ the new version can be used here
+"
+! !
+
+!FileBrowserV2PanelView methodsFor:'accessing'!
+
+visible:aState
+ |view1 view2 state|
+
+ state := aState ? true.
+
+ (state == self isVisible or:[subViews size ~~ 2]) ifTrue:[
+ ^ self
+ ].
+
+ view1 := subViews at:1.
+ view2 := subViews at:2.
+
+ state ifTrue:[
+ "
+ MAKE VISIBLE
+ "
+ barHeight := BarHeight.
+ view1 origin:0.0@0.0 corner:oldCorner.
+ view2 origin:oldOrigin corner:1.0@1.0.
+ self resizeSubviews.
+ ] ifFalse:[
+ "
+ MAKE INVISIBLE
+ "
+ BarHeight := barHeight.
+ barHeight := 0.
+ oldCorner := view1 relativeCorner.
+ oldOrigin := view2 relativeOrigin.
+
+ orientation == #vertical ifTrue:[
+ whichView == #first ifTrue:[
+ view1 origin:0.0@0.0 corner:1.0@0.0.
+ view2 origin:0.0@0.0 corner:(view2 corner).
+ ] ifFalse:[
+ view1 origin:0.0@0.0 corner:1.0@1.0.
+ view2 origin:0.0@1.0 corner:(view2 corner).
+ ].
+ ] ifFalse:[
+ whichView == #first ifTrue:[
+ view1 origin:0.0@0.0 corner:0.0@1.0.
+ view2 origin:0.0@0.0 corner:1.0@1.0.
+ ] ifFalse:[
+ view1 origin:0.0@0.0 corner:1.0@1.0.
+ view2 origin:1.0@0.0 corner:1.0@1.0.
+ ]
+ ]
+ ].
+ visibilityHolder notNil ifTrue:[visibilityHolder value:state]
+!
+
+whichView
+ "return the value of the instance variable 'whichView' (automatically generated)"
+
+ ^ whichView
+!
+
+whichView:something
+ "set the value of the instance variable 'whichView' (automatically generated)"
+
+ whichView := something.
+! !
+
+!FileBrowserV2PanelView methodsFor:'accessing mvc'!
+
+visibilityHolder
+ ^ visibilityHolder
+!
+
+visibilityHolder:aHolder
+ visibilityHolder removeDependent:self.
+
+ (visibilityHolder := aHolder) notNil ifTrue:[
+ visibilityHolder addDependent:self.
+
+ realized ifTrue:[
+ self visible:(visibilityHolder value)
+ ]
+ ]
+! !
+
+!FileBrowserV2PanelView methodsFor:'actions'!
+
+toggleVisibility
+
+ self visible:(self isVisible not)
+! !
+
+!FileBrowserV2PanelView methodsFor:'change & update'!
+
+update:what with:aPara from:chgObj
+
+ chgObj == visibilityHolder ifTrue:[
+ ^ self visible:(chgObj value)
+ ].
+ ^ super update:what with:aPara from:chgObj
+
+! !
+
+!FileBrowserV2PanelView methodsFor:'initialization'!
+
+destroy
+ visibilityHolder removeDependent:self.
+ super destroy
+!
+
+initialize
+ orientation := #vertical.
+ whichView := #first.
+
+ super initialize
+!
+
+realize
+ super realize.
+
+ visibilityHolder notNil ifTrue:[
+ self visible:(visibilityHolder value)
+ ]
+! !
+
+!FileBrowserV2PanelView methodsFor:'queries'!
+
+anyNonRelativeSubviews
+ "return true, if any of my subviews has no relative origin/extent"
+
+ "/ cg asking ca: "whats the reason for this ?"
+ "/ ^ subViews notNil
+ ^ super anyNonRelativeSubviews.
+!
+
+isVisible
+ ^ barHeight ~~ 0
+!
+
+specClass
+ ^ FileBrowserV2UISpecifications panelSpecClass
+! !
+
+!FileBrowserV2PanelView class methodsFor:'documentation'!
+
+version
+ ^ '$Header: /cvs/stx/stx/libtool/FileBrowserV2PanelView.st,v 1.1 2002-09-25 07:58:30 penk Exp $'
+! !