public class TextDocumentSelection extends Selection
| Constructor and Description |
|---|
TextDocumentSelection(TextSelection selection)
Construct a TextDocumentSelection with TextSelection.
|
| Modifier and Type | Method and Description |
|---|---|
void |
cut()
Delete the selection from the document the other matched selection in the
same container element will be updated automatically because the start
index of the following selections will be changed when the previous
selection has been deleted.
|
void |
pasteAtEndOf(Selection positionItem)
Paste this selection just after a specific selection.
|
void |
pasteAtFrontOf(Selection positionItem)
Paste this selection just before a specific selection.
|
protected void |
refresh(int offset)
A quick method to update the index of this
Selection. |
protected void |
refreshAfterFrontalDelete(Selection deletedItem)
When a selected item has been deleted, the
Selections after
this deleted Selection should be refreshed, as these
Selections index have been changed. |
protected void |
refreshAfterFrontalInsert(Selection insertedItem)
When a selected item has been inserted, the
Selection after
the inserted item should be refresh, as these Selections
index have been changed. |
void |
replaceWithTextDocument(TextDocument textDocument)
Replace the Searched Content with a TextDocument with Styles.
|
getElement, getIndex, getNavigationpublic TextDocumentSelection(TextSelection selection)
selection - the TextSelection to be decorated.public void replaceWithTextDocument(TextDocument textDocument) throws Exception
Note: You need cache the TextNavigation.nextSelection item because after you replace currtenTextSelection with TextDocument, TextNavigation.nextSelection will search from the inserted Content, it will make you into a loop if the Search keyword also can be found in the new inserted Content.
The right way to use this replaceWithTextDocument(TextDocument textDocument) method should like this:
search = new TextNavigation("SIMPLE", doc);
TextSelection currtenTextSelection,nextTextSelection=null;
while (search.hasNext()) {
if(nextTextSelection!=null){
currtenTextSelection=nextTextSelection;
}else {
currtenTextSelection = (TextSelection) search.nextSelection();
}
nextTextSelection = (TextSelection) search.nextSelection();
if(currtenTextSelection!=null){
TextDocumentSelection nextParagraphSelection = new TextDocumentSelection(currtenTextSelection);
try {
nextParagraphSelection.replaceWithTextDocument(sourcedoc);
} catch (Exception e) {
e.printStackTrace();
}
}
}
if(nextTextSelection!=null){
TextDocumentSelection nextParagraphSelection = new TextDocumentSelection(nextTextSelection);
try {
nextParagraphSelection.replaceWithTextDocument(sourcedoc);
} catch (Exception e) {
e.printStackTrace();
}
}
textDocument - the reference TextDocument to replace.Exceptionpublic void cut()
throws InvalidNavigationException
cut in class SelectionInvalidNavigationException - if the selection is unavailable.public void pasteAtEndOf(Selection positionItem) throws InvalidNavigationException
pasteAtEndOf in class SelectionpositionItem - a selection that is used to point out the positionInvalidNavigationException - if the selection is unavailable.public void pasteAtFrontOf(Selection positionItem) throws InvalidNavigationException
pasteAtFrontOf in class SelectionpositionItem - a selection that is used to point out the positionInvalidNavigationException - if the selection is unavailable.protected void refresh(int offset)
SelectionSelection.protected void refreshAfterFrontalDelete(Selection deletedItem)
SelectionSelections after
this deleted Selection should be refreshed, as these
Selections index have been changed.refreshAfterFrontalDelete in class SelectiondeletedItem - the deleted Selectionprotected void refreshAfterFrontalInsert(Selection insertedItem)
SelectionSelection after
the inserted item should be refresh, as these Selections
index have been changed.refreshAfterFrontalInsert in class SelectioninsertedItem - the inserted SelectionCopyright © 2010-2015 The Apache Software Foundation. All Rights Reserved.