org.odftoolkit.simple.common.navigation
Class TextDocumentSelection

java.lang.Object
  extended by org.odftoolkit.simple.common.navigation.Selection
      extended by org.odftoolkit.simple.common.navigation.TextDocumentSelection

public class TextDocumentSelection
extends Selection

This is a decorator class of TextSelection, which help user replace a text content with a TextDocument, all Styles be included.


Field Summary
 
Fields inherited from class org.odftoolkit.simple.common.navigation.Selection
search
 
Constructor Summary
TextDocumentSelection(TextSelection selection)
          Construct a TextDocumentSelection with TextSelection.
 
Method Summary
 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.
 
Methods inherited from class org.odftoolkit.simple.common.navigation.Selection
getElement, getIndex, getNavigation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TextDocumentSelection

public TextDocumentSelection(TextSelection selection)
Construct a TextDocumentSelection with TextSelection. Then user can replace text content with a TextDocument.

Parameters:
selection - the TextSelection to be decorated.
Method Detail

replaceWithTextDocument

public void replaceWithTextDocument(TextDocument textDocument)
                             throws Exception
Replace the Searched Content with a TextDocument with Styles.

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();

}

}

Parameters:
textDocument - the reference TextDocument to replace.
Throws:
Exception

cut

public void cut()
         throws InvalidNavigationException
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.

Specified by:
cut in class Selection
Throws:
InvalidNavigationException - if the selection is unavailable.

pasteAtEndOf

public void pasteAtEndOf(Selection positionItem)
                  throws InvalidNavigationException
Paste this selection just after a specific selection.

Specified by:
pasteAtEndOf in class Selection
Parameters:
positionItem - a selection that is used to point out the position
Throws:
InvalidNavigationException - if the selection is unavailable.

pasteAtFrontOf

public void pasteAtFrontOf(Selection positionItem)
                    throws InvalidNavigationException
Paste this selection just before a specific selection.

Specified by:
pasteAtFrontOf in class Selection
Parameters:
positionItem - a selection that is used to point out the position
Throws:
InvalidNavigationException - if the selection is unavailable.

refresh

protected void refresh(int offset)
Description copied from class: Selection
A quick method to update the index of this Selection.

Specified by:
refresh in class Selection
Parameters:
offset - the offset that the index should be added.

refreshAfterFrontalDelete

protected void refreshAfterFrontalDelete(Selection deletedItem)
Description copied from class: Selection
When a selected item has been deleted, the Selections after this deleted Selection should be refreshed, as these Selections index have been changed.

Specified by:
refreshAfterFrontalDelete in class Selection
Parameters:
deletedItem - the deleted Selection

refreshAfterFrontalInsert

protected void refreshAfterFrontalInsert(Selection insertedItem)
Description copied from class: Selection
When a selected item has been inserted, the Selection after the inserted item should be refresh, as these Selections index have been changed.

Specified by:
refreshAfterFrontalInsert in class Selection
Parameters:
insertedItem - the inserted Selection


Copyright © 2010-2017 The Apache Software Foundation. All Rights Reserved.