On Wed, Aug 10, 2011 at 15:15, Yuri Z <[email protected]> wrote: > Nice editor! > Actually it seems to have similar capabilities to ShareJS (or even more). > Well done!
Thanks! > I think that the best approach for your question would be to insert an > annotation with some unique key/value over the range you desire to update > later. Then, you ll be able to locate the annotation and insert there your > text. > Hope it helps. I'll tried to do this: http://code.google.com/p/wave-editor/source/browse/src/com/appspot/ast/client/editor/annotation/PhoneAnnotationHandler.java but stuck in some place. I'll try to do this in future, thanks for advice. > 2011/8/10 Patrick Coleman <[email protected]> > >> Nice demo! >> >> For some tools useful for getting information from a document, I'd >> recommend >> looking at DocHelpers: >> >> http://code.google.com/p/wave-protocol/source/browse/src/org/waveprotocol/wave/model/document/util/DocHelper.java >> - in particular, getText(doc, start, end) is likely useful if you can get >> the document's selected range. >> >> The code you had at first converted the entire document to an operation and >> tried to get a particular operation as a text op - for things like this, >> best to avoid operations unless you really need low-level stuff, but for >> most things, working with the DOM tree is much nicer, and hopefully there's >> a number of utility classes like DocHelper to make things easier >> (EditorAnnotationHelper and static Point methods also come to mind) >> >> On 10 August 2011 20:28, Anton Starcev <[email protected]> wrote: >> >> > Doodad insert code: >> > >> > Range range = toolbarUpdateListener.getSelectionRange(); >> > final CMutableDocument document = harness.getEditor().getDocument(); >> > final Point<ContentNode> point = document.locate(range.getStart()); >> > document.insertXml(point, XmlStringBuilder. >> > createFromXmlString("<p>paragraph</p>")); >> > harness.getEditor().focus(false); >> > >> > I what to replace "paragraph" with current selected range's characters. >> > >> > Full source: >> > >> > >> http://code.google.com/p/wave-editor/source/browse/src/com/appspot/ast/client/layout/WaveEditor.java >> > >> > result looks like this: >> > http://ast.appspot.com/editor/ >> > >> > On Wed, Aug 10, 2011 at 13:14, David Hearnden <[email protected]> >> wrote: >> > > Hi Anton, >> > > >> > > Could you please clarify what you're trying to do? >> > > >> > > Are you trying to insert a doodad programmatically into a document? Or >> > are >> > > you trying to add code to replace the current browser selection in a >> > > document being edited with a doodad? Or are you trying to make a >> doodad >> > > appear when a user makes a selection over some text? >> > > >> > > -Dave >> > > >> > > On Wed, Aug 10, 2011 at 6:33 PM, Anton Starcev < >> [email protected] >> > >wrote: >> > > >> > >> Hi all, >> > >> >> > >> How can I set doodad over selection? >> > >> >> > >> At first I tried to get text: >> > >> >> > >> Editor richEditor = harness.getRichEditor(); >> > >> DocInitialization docInitialization = >> > >> richEditor.getContent().asOperation(); >> > >> String string = >> > docInitialization.getCharactersString(range.getStart()); >> > >> >> > >> but can't find proper method for that. >> > >> >> > >> >> > >> -- >> > >> Anton Startsev >> > >> >> > > >> > >> > >> > -- >> > Anton Startsev >> > >> > -- Антон Старцев ______________________________________________________________________ [email protected] | www.artlebedev.ru
