SelectionInTreeView.st
changeset 1305 c8f2fe1fac85
parent 1278 7083a9583174
child 1308 b04e4fb53fb4
equal deleted inserted replaced
1304:e6693ac51d54 1305:c8f2fe1fac85
   819 
   819 
   820 drawVHLinesX:x0 y:y0 toX:x1 start:start stop:stop
   820 drawVHLinesX:x0 y:y0 toX:x1 start:start stop:stop
   821     "redraw from line to line without clearing the background
   821     "redraw from line to line without clearing the background
   822     "
   822     "
   823     |node prevNode parent p1 p2 showVLines showHLine lv nxtPrnt
   823     |node prevNode parent p1 p2 showVLines showHLine lv nxtPrnt
       
   824      showRootNot isFirst
   824 
   825 
   825      x        "{ Class:SmallInteger }"
   826      x        "{ Class:SmallInteger }"
   826      y        "{ Class:SmallInteger }"
   827      y        "{ Class:SmallInteger }"
   827 
   828 
   828      yTop     "{ Class:SmallInteger }"
   829      yTop     "{ Class:SmallInteger }"
   840      startLvI "{ Class:SmallInteger }"
   841      startLvI "{ Class:SmallInteger }"
   841      startLvX "{ Class:SmallInteger }"
   842      startLvX "{ Class:SmallInteger }"
   842      limitLvI "{ Class:SmallInteger }"
   843      limitLvI "{ Class:SmallInteger }"
   843      limitLvX "{ Class:SmallInteger }"
   844      limitLvX "{ Class:SmallInteger }"
   844     |
   845     |
       
   846 
   845     yBot     := y0.
   847     yBot     := y0.
   846     yCtr     := yBot - (fontHeight // 2).
   848     yCtr     := yBot - (fontHeight // 2).
   847     widthLvl := imageInset + imageWidth.
   849     widthLvl := imageInset + imageWidth.
   848     offsHLnX := imageWidth // 2 + (self xOfFigureLevel:-1).
   850     offsHLnX := imageWidth // 2 + (self xOfFigureLevel:-1).
   849 
   851 
   862     buildInArray atAllPut:0.
   864     buildInArray atAllPut:0.
   863 
   865 
   864     start == 1 ifTrue:[
   866     start == 1 ifTrue:[
   865         begHLnY := yCtr + fontHeight.
   867         begHLnY := yCtr + fontHeight.
   866     ].
   868     ].
       
   869     showRootNot := showRoot not.
   867 
   870 
   868     start to:stop do:[:anIndex|
   871     start to:stop do:[:anIndex|
   869         node := listOfNodes at:anIndex.
   872         node := listOfNodes at:anIndex.
   870         yTop := yBot - 1.
   873         yTop := yBot - 1.
   871         yBot := yBot + fontHeight.
   874         yBot := yBot + fontHeight.
   880             ] ifFalse:[
   883             ] ifFalse:[
   881                 level   := node level.
   884                 level   := node level.
   882                 begHLnX := node level * widthLvl + offsHLnX.
   885                 begHLnX := node level * widthLvl + offsHLnX.
   883             ].
   886             ].
   884 
   887 
   885             endHLnX := begHLnX + widthLvl.
   888             isFirst    := parent isNil or:[(showRootNot and:[level == 2])].
       
   889             endHLnX    := begHLnX + widthLvl.
   886             showVLines := begHLnX >= x0 and:[level > drawVLinesFromLevel].
   890             showVLines := begHLnX >= x0 and:[level > drawVLinesFromLevel].
   887             showHLine  := (      x0 < endHLnX
   891             showHLine  := x0 < endHLnX and:[x1 > begHLnX].
   888                             and:[x1 > begHLnX
   892 
   889                             and:[(     parent notNil
   893             (showHLine and:[isFirst]) ifTrue:[
   890                                    or:[showDirectoryIndicatorForRoot
   894                 showHLine := showDirectoryIndicatorForRoot and:[showDirectoryIndicator]
   891                                   and:[showDirectoryIndicator]]
   895             ]
   892                                  )
       
   893                                 ]]
       
   894                           ).
       
   895         ].
   896         ].
   896 
   897 
   897         showHLine ifTrue:[
   898         showHLine ifTrue:[
   898             self displayLineFromX:begHLnX y:yCtr toX:endHLnX y:yCtr
   899             self displayLineFromX:begHLnX y:yCtr toX:endHLnX y:yCtr
   899         ].
   900         ].
  2358 ! !
  2359 ! !
  2359 
  2360 
  2360 !SelectionInTreeView class methodsFor:'documentation'!
  2361 !SelectionInTreeView class methodsFor:'documentation'!
  2361 
  2362 
  2362 version
  2363 version
  2363     ^ '$Header: /cvs/stx/stx/libwidg2/SelectionInTreeView.st,v 1.79 1999-03-23 09:54:46 cg Exp $'
  2364     ^ '$Header: /cvs/stx/stx/libwidg2/SelectionInTreeView.st,v 1.80 1999-04-01 07:08:19 cg Exp $'
  2364 ! !
  2365 ! !