SelectionInListView.st
changeset 2246 d89a4611e5b2
parent 2235 b51a9d465386
child 2247 7994ab3193f9
equal deleted inserted replaced
2245:e561458f9232 2246:d89a4611e5b2
  1681 ! !
  1681 ! !
  1682 
  1682 
  1683 !SelectionInListView methodsFor:'change & update'!
  1683 !SelectionInListView methodsFor:'change & update'!
  1684 
  1684 
  1685 update:something with:aParameter from:changedObject
  1685 update:something with:aParameter from:changedObject
  1686     |list start stop size idx|
  1686     |listValue start stop size idx|
  1687 
  1687 
  1688     changedObject == model ifTrue:[
  1688     changedObject == model ifTrue:[
  1689         something == aspectMsg ifTrue:[
  1689         something == aspectMsg ifTrue:[
  1690             listChannel isNil ifTrue:[
  1690             listChannel isNil ifTrue:[
  1691                 self getListFromModel
  1691                 self getListFromModel
  1707         ].
  1707         ].
  1708     ].
  1708     ].
  1709     changedObject == listChannel ifFalse:[
  1709     changedObject == listChannel ifFalse:[
  1710         ^ super update:something with:aParameter from:changedObject
  1710         ^ super update:something with:aParameter from:changedObject
  1711     ].
  1711     ].
  1712     list := listChannel value.
  1712     listValue := listChannel value.
  1713 
  1713 
  1714     something == #at: ifTrue:[
  1714     something == #at: ifTrue:[
  1715         idx := aParameter isCollection ifTrue:[aParameter at:1]
  1715         idx := aParameter isCollection ifTrue:[aParameter at:1]
  1716                                       ifFalse:[aParameter].
  1716                                       ifFalse:[aParameter].
  1717         ^ self at:aParameter put:(list at:idx).
  1717         ^ self at:aParameter put:(listValue at:idx).
  1718     ].
  1718     ].
  1719 
  1719 
  1720     something == #insert: ifTrue:[
  1720     something == #insert: ifTrue:[
  1721         ^ self add:(list at:aParameter) beforeIndex:aParameter
  1721         listValue == list ifTrue:[self halt].
       
  1722         ^ self add:(listValue at:aParameter) beforeIndex:aParameter
  1722     ].
  1723     ].
  1723 
  1724 
  1724     something == #remove: ifTrue:[
  1725     something == #remove: ifTrue:[
  1725         ^ self removeIndex:aParameter
  1726         ^ self removeIndex:aParameter
  1726     ].
  1727     ].
  1727 
  1728 
  1728     something == #insertCollection: ifTrue:[
  1729     something == #insertCollection: ifTrue:[
  1729         (size := aParameter last) ~~ 0 ifTrue:[
  1730         (size := aParameter last) ~~ 0 ifTrue:[
  1730             self size == 0 ifTrue:[
  1731             (self size == 0 or:[size > 50]) ifTrue:[
  1731                 self getListFromModel
  1732                 self getListFromModel
  1732             ] ifFalse:[
  1733             ] ifFalse:[
       
  1734                 listValue == list ifTrue:[self halt].
  1733                 start := aParameter first.
  1735                 start := aParameter first.
  1734 
  1736                 "/ self addAll:(listValue copyFrom:start to:start+size-1) beforeIndex:start.
  1735                 size timesRepeat:[
  1737                 size timesRepeat:[
  1736                     self add:(list at:start) beforeIndex:start.
  1738                     self add:(listValue at:start) beforeIndex:start.
  1737                     start := start + 1
  1739                     start := start + 1
  1738                 ]
  1740                 ]
  1739             ]
  1741             ]
  1740         ].
  1742         ].
  1741         ^ self
  1743         ^ self
  1761     something == #replace: ifTrue:[
  1763     something == #replace: ifTrue:[
  1762         start := aParameter first.
  1764         start := aParameter first.
  1763         stop  := aParameter last.
  1765         stop  := aParameter last.
  1764 
  1766 
  1765         start to:stop do:[:anIndex|
  1767         start to:stop do:[:anIndex|
  1766             self at:anIndex put:(list at:anIndex)
  1768             self at:anIndex put:(listValue at:anIndex)
  1767         ].
  1769         ].
  1768         ^ self
  1770         ^ self
  1769     ].
  1771     ].
  1770 
  1772 
  1771     self getListFromModel.
  1773     self getListFromModel.
  3791 ! !
  3793 ! !
  3792 
  3794 
  3793 !SelectionInListView class methodsFor:'documentation'!
  3795 !SelectionInListView class methodsFor:'documentation'!
  3794 
  3796 
  3795 version
  3797 version
  3796     ^ '$Header: /cvs/stx/stx/libwidg/SelectionInListView.st,v 1.179 2000-08-23 18:01:26 cg Exp $'
  3798     ^ '$Header: /cvs/stx/stx/libwidg/SelectionInListView.st,v 1.180 2000-08-30 13:11:35 stefan Exp $'
  3797 ! !
  3799 ! !