2013/4/27 Denis Kudriashov <dionisi...@gmail.com> > 2013/4/27 Denis Kudriashov <dionisi...@gmail.com> > >> 2013/4/27 stephane ducasse <stephane.duca...@free.fr> >> >>> Nice! >>> Denis did you see the benchs that doru tried to see if we can use Rubric? >>> Because it is interesting to see if we can load and manipulate really >>> large file. >>> >>> Now it would be good that alain releases Rubric with a stable version >>> and check how to take advantage of the new TextMorph. >>> >>> I saw his post. >> And just now I check this test with TxTextMorph with unwrapped strategy. >> Similar results like at Rubric test. nearly 30 secs. >> I generate 50 mb string with almost million lines: >> TxModel building get 10 seconds. Layout building get 20 seconds. >> >> If you want repeat this test you should not use #newTextContents: method. >> You should build text model manually and put it at morph by #textModel:. >> #newTextContents: method should be optimized. When I try test with >> #newTextContents: it was hang on very long time and I stop it. >> >> > And now text editing has no optimization. After each edit full text layout > rebuilt. So pressing some character in our test take another 20 seconds. > It should be just fixed >
And #drawOn: method should be optimized too. I think it is not difficult task. Now each line try to draw on canvas. But morph should draw only visible lines > >> >>> Stef >>> >>> On Apr 26, 2013, at 11:19 PM, Denis Kudriashov <dionisi...@gmail.com> >>> wrote: >>> >>> Hi guys. >>> >>> I'm happy to announce that new text editor based on new text model done. >>> You can load configuration from >>> http://www.smalltalkhub.com/#!/~sig/TxText. Last version: 0.6. >>> See class side example methods. >>> >>> What available now in TxTextMorph: >>> - cursor navigation with move left, right, down, up and mouse click >>> - text selection with move left, right, down, up and mouse movement >>> - editing by keyboard input >>> - text wrap >>> - #addCursor/#removeCursor >>> - #enableSelection. >>> - #beEditable >>> - all keyboard interractions based on shortcuts >>> >>> Little details about navigation and editing: >>> There is TxEditor object which know about cursor position and text >>> selection. Text morph ask him to perform all navigation and editing >>> behaviour. >>> It has cursorMode which knows how to change editor selection when cursor >>> moved. Editor delegates all move actions to cursorPosition by >>> #doesNotUnderstand method. It is simplified adding new navigation methods. >>> For example see TxTextMorph>>enableSelection >>> >>> aTxTextMorph>>moveEditorOn: Character arrowLeft by: #moveLeft. >>> >>> This expression adds two shortcuts: to move editor left and to select >>> text left (when selectionModeModifier active). >>> >>> What next: >>> - Remains standart navigation and editing features like copy/paste, move >>> to line end, to text end and etc. >>> - halo menu items to edit text and layout properties >>> - Edit decorators to get mask behaviour like "(999)***-**-**", pretty >>> numbers like "1'000'000", secrete field like "***" >>> - Value specs to filter inserted text (only numbers, only english and >>> etc) >>> >>> There are some problems with focus behaviour now. And drawing text morph >>> with transparent back color works bad. It will be cool if somebody with >>> good knowledge at this topics can fix it. >>> >>> Best regards, >>> Denis >>> >>> >>> >> >