BrowserView.st
changeset 2739 1b0b1520670b
parent 2733 d14737c26fca
child 2742 0e2c624f20c5
equal deleted inserted replaced
2738:d0782fb4dfd3 2739:1b0b1520670b
  7053     ] ifFalse:[
  7053     ] ifFalse:[
  7054         spc := 0
  7054         spc := 0
  7055     ].
  7055     ].
  7056 
  7056 
  7057     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
  7057     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
       
  7058     vpanel snapMode:#both.
  7058     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
  7059     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
  7059 
  7060 
  7060     v := HVScrollableView for:SelectionInListView
  7061     v := HVScrollableView for:SelectionInListView
  7061                           miniScrollerH:true miniScrollerV:false
  7062                           miniScrollerH:true miniScrollerV:false
  7062                           in:hpanel.
  7063                           in:hpanel.
  7127     "create subviews for browsing a single class"
  7128     "create subviews for browsing a single class"
  7128 
  7129 
  7129     |vpanel hpanel frame v|
  7130     |vpanel hpanel frame v|
  7130 
  7131 
  7131     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
  7132     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
       
  7133     vpanel snapMode:#both.
  7132 
  7134 
  7133     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
  7135     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
  7134     frame := View origin:(0.0 @ 0.0) corner:(0.5 @ 1.0)in:hpanel.
  7136     frame := View origin:(0.0 @ 0.0) corner:(0.5 @ 1.0)in:hpanel.
  7135     styleSheet name == #win95 ifTrue:[frame rightInset:1].
  7137     styleSheet name == #win95 ifTrue:[frame rightInset:1].
  7136 
  7138 
  7137     self createTogglesIn:frame.
  7139     self createTogglesIn:frame.
  7138 
  7140 
  7139     v := ScrollableView for:SelectionInListView in:frame.
  7141     v := ScrollableView for:SelectionInListView in:frame.
  7140     v origin:(0.0 @ 0.0)
  7142     v origin:(0.0 @ 0.0)
  7141       extent:[frame width
  7143       extent:[frame width
  7142 	      @
  7144               @
  7143 	      (frame height 
  7145               (frame height 
  7144 	       - ViewSpacing
  7146                - ViewSpacing
  7145 	       - instanceToggle height
  7147                - instanceToggle height
  7146 	       - instanceToggle borderWidth
  7148                - instanceToggle borderWidth
  7147 	       + v borderWidth)].
  7149                + v borderWidth)].
  7148     methodCategoryListView := v scrolledView.
  7150     methodCategoryListView := v scrolledView.
  7149     methodCategoryListView delegate:self.
  7151     methodCategoryListView delegate:self.
  7150 
  7152 
  7151     self createMethodListViewIn:hpanel atX:0.5.
  7153     self createMethodListViewIn:hpanel atX:0.5.
  7152     self createCodeViewIn:vpanel.
  7154     self createCodeViewIn:vpanel.
  7165     "setup subviews to browse a method category"
  7167     "setup subviews to browse a method category"
  7166 
  7168 
  7167     |vpanel v|
  7169     |vpanel v|
  7168 
  7170 
  7169     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
  7171     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
       
  7172     vpanel snapMode:#both.
  7170 
  7173 
  7171     v := self createMethodListViewIn:vpanel atX:0.0.
  7174     v := self createMethodListViewIn:vpanel atX:0.0.
  7172     v corner:(1.0 @ 0.25).
  7175     v corner:(1.0 @ 0.25).
  7173 
  7176 
  7174     self createCodeViewIn:vpanel.
  7177     self createCodeViewIn:vpanel.
  7207     "setup subviews to browse a class category"
  7210     "setup subviews to browse a class category"
  7208 
  7211 
  7209     |vpanel hpanel frame v|
  7212     |vpanel hpanel frame v|
  7210 
  7213 
  7211     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
  7214     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
       
  7215     vpanel snapMode:#both.
  7212 
  7216 
  7213     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
  7217     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
  7214     frame  := View origin:(0.0 @ 0.0) corner:(0.33 @ 1.0) in:hpanel.
  7218     frame  := View origin:(0.0 @ 0.0) corner:(0.33 @ 1.0) in:hpanel.
  7215     styleSheet name == #win95 ifTrue:[frame rightInset:1].
  7219     styleSheet name == #win95 ifTrue:[frame rightInset:1].
  7216 
  7220 
  7238     "setup subviews to browse a class hierarchy"
  7242     "setup subviews to browse a class hierarchy"
  7239 
  7243 
  7240     |vpanel hpanel frame v cls|
  7244     |vpanel hpanel frame v cls|
  7241 
  7245 
  7242     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
  7246     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
       
  7247     vpanel snapMode:#both.
  7243 
  7248 
  7244     "
  7249     "
  7245      notice: we use a different ratio here
  7250      notice: we use a different ratio here
  7246     "
  7251     "
  7247     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.4) in:vpanel.
  7252     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.4) in:vpanel.
  7259     self createMethodListViewIn:hpanel atX:0.66.
  7264     self createMethodListViewIn:hpanel atX:0.66.
  7260     self createCodeViewIn:vpanel atY:0.4.
  7265     self createCodeViewIn:vpanel atY:0.4.
  7261 
  7266 
  7262     cls := aClass.
  7267     cls := aClass.
  7263     cls isMeta ifTrue:[
  7268     cls isMeta ifTrue:[
  7264 	cls := cls soleInstance
  7269         cls := cls soleInstance
  7265     ].
  7270     ].
  7266     currentClassHierarchy := currentClass := actualClass := cls.
  7271     currentClassHierarchy := currentClass := actualClass := cls.
  7267     self updateClassList.
  7272     self updateClassList.
  7268     classListView setSelectElement:aClass name; makeSelectionVisible.
  7273     classListView setSelectElement:aClass name; makeSelectionVisible.
  7269     self updateMethodCategoryList.
  7274     self updateMethodCategoryList.
  7270     self updateMethodList.
  7275     self updateMethodList.
  7271     self updateCodeView.
  7276     self updateCodeView.
  7272 
  7277 
  7273     aClass isMeta ifTrue:[
  7278     aClass isMeta ifTrue:[
  7274 	self instanceProtocol:false
  7279         self instanceProtocol:false
  7275     ].
  7280     ].
  7276 
  7281 
  7277     "Modified: / 15.9.1998 / 22:21:03 / cg"
  7282     "Modified: / 15.9.1998 / 22:21:03 / cg"
  7278 !
  7283 !
  7279 
  7284 
  7289     "setup subviews to browse classes from a list"
  7294     "setup subviews to browse classes from a list"
  7290 
  7295 
  7291     |vpanel hpanel frame l v|
  7296     |vpanel hpanel frame l v|
  7292 
  7297 
  7293     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
  7298     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
       
  7299     vpanel snapMode:#both.
  7294 
  7300 
  7295     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
  7301     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
  7296     frame := View origin:(0.0 @ 0.0) corner:(0.33 @ 1.0) in:hpanel.
  7302     frame := View origin:(0.0 @ 0.0) corner:(0.33 @ 1.0) in:hpanel.
  7297     styleSheet name == #win95 ifTrue:[frame rightInset:1].
  7303     styleSheet name == #win95 ifTrue:[frame rightInset:1].
  7298 
  7304 
  7306 
  7312 
  7307     self createMethodListViewIn:hpanel atX:0.66.
  7313     self createMethodListViewIn:hpanel atX:0.66.
  7308     self createCodeViewIn:vpanel.
  7314     self createCodeViewIn:vpanel.
  7309 
  7315 
  7310     l := (aList collect:[:entry | 
  7316     l := (aList collect:[:entry | 
  7311 		entry isBehavior ifTrue:[
  7317                 entry isBehavior ifTrue:[
  7312 		    entry name
  7318                     entry name
  7313 		] ifFalse:[
  7319                 ] ifFalse:[
  7314 		    entry
  7320                     entry
  7315 		]]) asOrderedCollection.
  7321                 ]]) asOrderedCollection.
  7316     doSort ifTrue:[
  7322     doSort ifTrue:[
  7317 	l sort.
  7323         l sort.
  7318     ].
  7324     ].
  7319     classListView list:l.
  7325     classListView list:l.
  7320     gotClassList := true.
  7326     gotClassList := true.
  7321 
  7327 
  7322     self updateMethodCategoryList.
  7328     self updateMethodCategoryList.
  7331     "setup subviews to browse a class as full text"
  7337     "setup subviews to browse a class as full text"
  7332 
  7338 
  7333     |vpanel hpanel v|
  7339     |vpanel hpanel v|
  7334 
  7340 
  7335     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
  7341     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
       
  7342     vpanel snapMode:#both.
  7336 
  7343 
  7337     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
  7344     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
  7338 
  7345 
  7339     v := ScrollableView for:SelectionInListView in:hpanel.
  7346     v := ScrollableView for:SelectionInListView in:hpanel.
  7340     v origin:(0.0 @ 0.0) corner:(0.5 @ 1.0).
  7347     v origin:(0.0 @ 0.0) corner:(0.5 @ 1.0).
  7358     "setup subviews to browse a classes full protocol"
  7365     "setup subviews to browse a classes full protocol"
  7359 
  7366 
  7360     |vpanel hpanel frame v cls|
  7367     |vpanel hpanel frame v cls|
  7361 
  7368 
  7362     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
  7369     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
       
  7370     vpanel snapMode:#both.
  7363 
  7371 
  7364     "
  7372     "
  7365      notice: we use a different ratio here
  7373      notice: we use a different ratio here
  7366     "
  7374     "
  7367     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.4) in:vpanel.
  7375     hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.4) in:vpanel.
  7382     self createMethodListViewIn:hpanel atX:0.66.
  7390     self createMethodListViewIn:hpanel atX:0.66.
  7383     self createCodeViewIn:vpanel atY:0.4.
  7391     self createCodeViewIn:vpanel atY:0.4.
  7384 
  7392 
  7385     cls := aClass.
  7393     cls := aClass.
  7386     cls isMeta ifTrue:[
  7394     cls isMeta ifTrue:[
  7387 	cls := cls soleInstance
  7395         cls := cls soleInstance
  7388     ].
  7396     ].
  7389     currentClassHierarchy := actualClass := acceptClass := currentClass := cls.
  7397     currentClassHierarchy := actualClass := acceptClass := currentClass := cls.
  7390     fullProtocol := true.
  7398     fullProtocol := true.
  7391 
  7399 
  7392     self updateClassList.
  7400     self updateClassList.
  7393     self updateMethodCategoryList.
  7401     self updateMethodCategoryList.
  7394     self updateMethodList.
  7402     self updateMethodList.
  7395     self updateCodeView.
  7403     self updateCodeView.
  7396     self updateVariableList.
  7404     self updateVariableList.
  7397     aClass isMeta ifTrue:[
  7405     aClass isMeta ifTrue:[
  7398 	self instanceProtocol:false
  7406         self instanceProtocol:false
  7399     ].
  7407     ].
  7400 
  7408 
  7401     "Modified: / 15.9.1998 / 22:20:06 / cg"
  7409     "Modified: / 15.9.1998 / 22:20:06 / cg"
  7402 !
  7410 !
  7403 
  7411 
  7405     "setup subviews to browse methods from a list"
  7413     "setup subviews to browse methods from a list"
  7406 
  7414 
  7407     |vpanel v|
  7415     |vpanel v|
  7408 
  7416 
  7409     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
  7417     vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
       
  7418     vpanel snapMode:#both.
  7410 
  7419 
  7411     v := ScrollableView for:SelectionInListView in:vpanel.
  7420     v := ScrollableView for:SelectionInListView in:vpanel.
  7412     v origin:(0.0 @ 0.0) corner:(1.0 @ 0.25).
  7421     v origin:(0.0 @ 0.0) corner:(1.0 @ 0.25).
  7413     classMethodListView := v scrolledView.
  7422     classMethodListView := v scrolledView.
  7414     classMethodListView contents:aList.
  7423     classMethodListView contents:aList.
  7416 
  7425 
  7417     classMethodListView doubleClickAction:[:lineNr | self classMethodBrowse].
  7426     classMethodListView doubleClickAction:[:lineNr | self classMethodBrowse].
  7418 
  7427 
  7419     self createCodeViewIn:vpanel.
  7428     self createCodeViewIn:vpanel.
  7420     aList size == 1 ifTrue:[
  7429     aList size == 1 ifTrue:[
  7421 	classMethodListView setSelection:1.
  7430         classMethodListView setSelection:1.
  7422 	self classMethodSelection:1. 
  7431         self classMethodSelection:1. 
  7423     ].
  7432     ].
  7424     self updateCodeView.
  7433     self updateCodeView.
  7425     "/ kludge - get trap icons
  7434     "/ kludge - get trap icons
  7426     self updateClassMethodListWithScroll:false keepSelection:true
  7435     self updateClassMethodListWithScroll:false keepSelection:true
  7427 
  7436 
 14166 ! !
 14175 ! !
 14167 
 14176 
 14168 !BrowserView class methodsFor:'documentation'!
 14177 !BrowserView class methodsFor:'documentation'!
 14169 
 14178 
 14170 version
 14179 version
 14171     ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.631 2000-08-23 16:18:43 cg Exp $'
 14180     ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.632 2000-08-30 10:11:55 cg Exp $'
 14172 ! !
 14181 ! !
 14173 BrowserView initialize!
 14182 BrowserView initialize!