Nice editor! Actually it seems to have similar capabilities to ShareJS (or even more). Well done! 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. 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 > > >
