On 23 October 2012 21:01, Denis Kudriashov <[email protected]> wrote: > Hello > > > 2012/10/23 Igor Stasenko <[email protected]> >> >> Also, recently we started working on new text model. With the goal to >> replace an clean Text, >> text editing and text layout in our system (and sure thing , >> rendering). This is also requires a lot of work. > > > I am very interesting in details. Do you have description or code somewhere? > > I always think about new text editor implementation based on Presenty. I > want remove all hardcoded stuff like cursor navigation arrow keys, > copy/paste shortcuts, keyboard based characters input. > User should have facility to specify how execute such primitive actions. For > example, user can just draw characters on screen to input it or input it by > voice. User can add buttons to move cursor, can add visual keyboard (maybe > native for OS). > Take a look at http://www.smalltalkhub.com/#!/~sig/TxText
there's already a working (since tests are green ;) implementation of new text model. And, as you said, you don't have to deal with hardcoded stuff. The text model provides a 'position' API, which can be used to navigate text directly: - moveLeft, moveRight, lineUp, lineDown etc There's also a 'selection' model, which allows you to 'cut' , or 'replace' portions of text at given position. So, the text model designed by having text editor in mind. I am working on making attributes work for it (bold/italic etc).. and then renderer, layouting and editor(s). Well, actually editor will be most simplest piece of puzzle after i finish all the bottom layers :) If you wanna join and help, you're wellcome.. because i am stretched today between many things: NB, Athens, VMs > And I think about subclassing TextMorph to implement my ideas. But TextMorph > is so crappy. So I will be happy if somebody give me clean implementation of > TextMorph. hehe , stand in a line then. You will be after me :) Everyone wants something better than TextMorph, but nobody wants to make it real :) -- Best regards, Igor Stasenko.
