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
> >
>

Reply via email to