Hello

2012/11/22 Igor Stasenko <[email protected]>

> On 22 November 2012 12:32, Igor Stasenko <[email protected]> wrote:
> > On 22 November 2012 11:47, Stephan Eggermont <[email protected]> wrote:
> >> Hi Igor,
> >>
> >> The TxText model to me seems to mix two concerns.
> >> The storage of the text and manipulating it? Both cursor positioning
> >> and selection manipulation are view dependent, and there might
> >> be more than one.
> >>
> >
> > No. Please read my other replies to topic.
> >
> > - you have text model
> > - you have positions (in text)
> > - you have selection which is two positions
> > - you define operations, like insert, cut, replace which involving
> > text and positions in them.
> > - you cannot manipulate(edit) text without using positions
> >
> > where you see view dependent stuff?
> > It is completely orthogonal.
> >
>
> perhaps you talking about 'selection' which is part of TxModel state?
> then i agree that we may need to separate concerns here:
>  - text storage
>  - text selection.
>
> but you can do it even right now:
>
> | text selection |
> text := TxModel new.
> selection := TxSelection on: text.
>
> selection replaceWith: 'ABC'.
> selection all.
> selection start moveRight.
> selection end moveLeft.
> selection replaceWith: '---'.
> text asString
>  'A---C'
>
> i think we should remove 'selection' from TxModel class.
> And instead provide a protocol for getting a new one, i.e.:
>
> selection := text newSelection.
>

Agree with this

Reply via email to