Commit Graph

18 Commits

Author SHA1 Message Date
Nathan Sobo
4e74f1bf2e Fix issues with selections when switching between edit sessions
SelectionViews now update their appearance immediately when constructed. We can't assume they're empty. CursorView doesn't do a blanket `off()` call to its model when it's removed anymore, which was screwing up selection updates when switching back. Only attach selections / cursors when the editor is attached, and extract everything we do into a `renderWhenAttached` method.
2012-06-11 22:01:27 -06:00
Nathan Sobo
cffadcf4a8 Remove CompositeCursor and Selection. Move their remaining methods into Editor 2012-06-11 10:11:33 -06:00
Nathan Sobo
8c52fedd0d Remove last of the extraneous CursorView methods 2012-06-10 21:53:54 -06:00
Nathan Sobo
e0aa49cb53 More CompositeCursor 💄. Preparing to axe it 2012-06-10 21:43:24 -06:00
Nathan Sobo
80cd63227a Remove methods from CompositeCursor + more 💄 2012-06-08 19:08:44 -06:00
Nathan Sobo
b0d1dd217b Cursor *model* clears selection when cursor moves, not the view. 2012-06-08 18:49:18 -06:00
Nathan Sobo
31bd38dfcc Move merging of intersecting selections into EditSession and the Selection model 2012-06-08 13:26:54 -06:00
Nathan Sobo
f3144fe0d8 Base the screen range of the selection view on the selection model 2012-06-08 11:22:12 -06:00
Nathan Sobo
5a37a39b9b Tie creation of SelectionViews to adding Selection models to the EditSession 2012-06-07 18:20:00 -06:00
Nathan Sobo
608c4f48bf Remove more logic from cursor view 2012-06-07 16:58:45 -06:00
Nathan Sobo
f406786a3a Editor subscribes to EditSession for screen line changes. Remove more movement logic from cursor view. 2012-06-07 16:31:40 -06:00
Nathan Sobo
624cf3cbd3 EditSession informs cursor models of buffer changes (instead of Editor informing cursor views) 2012-06-07 15:41:35 -06:00
Nathan Sobo
d872d12e04 Transfer word movement methods into cursor model 2012-06-07 15:33:01 -06:00
Nathan Sobo
21ae28657c Move moveTo(Beginning/FirstCharacter/End)OfLine methods to cursor model
Also, implement move to end of line by adding a clip option to setBufferPosition and passing [row, Infinity]
2012-06-07 11:28:40 -06:00
Nathan Sobo
fccc88acaf Move moveLeft/Right/ToTop/ToBottom methods into cursor model 2012-06-07 10:57:21 -06:00
Nathan Sobo
ddf29e89ec Slave CursorView's screen position to its cursor model. Move moveUp and moveDown methods into cursor model. 2012-06-07 10:47:30 -06:00
Nathan Sobo
7387c553c3 Start introducing Cursor model in EditSession
The old cursor view still does most of the work, but to add a new cursor view we now must add a cursor model to the edit session at the correct position. The editor watches the 'add-cursor' event on edit session and add a corresponding CursorView to the CompositeCursor whenever a model is added. Next step: have the cursor view observe the cursor model and shadow its changes in position.
2012-06-06 21:52:19 -06:00
Nathan Sobo
e167afd794 Rename Cursor to CursorView in preparation for a Cursor model in EditSession 2012-06-06 18:01:08 -06:00