*テキストカーソル [#z51ebe63]
テキストカーソルを使うと,一文字ずつ文字を取り扱ったり,センテンスごと,単語ごと,段落ごとに Writer のドキュメントを取り扱ったりできます。特に,文字のプロパティのフォーマットが出来ます。
なお,テキストカーソルだけで文字を入力したり,フィールドや表を挿入することはできません。コンテンツの入力,挿入にはテキストオブジェクトを使用し,テキストカーソルはその位置を示すために用います。
#contents
**テキストカーソルの取得 [#p1ca170a]
テキストカーソルはテキストオブジェクトから取得します。
Sub textcursor_1
Dim oDoc As Object
Dim oText As Object
Dim oTextCursor As Object
oDoc = ThisComponent
oText = oDoc.getText()
oTextCursor = oText.createTextCursor()
End Sub
**テキストカーソルの移動 [#a788696e]
テキストカーソルは移動することが出来ます。移動したときに文字を選択することもできます。
**最初または最後へ移動 [#v46620dd]
テキストカーソルをコンテンツの最初へ移動するメソッド ''gotoStart'' および,コンテンツの最後へ移動するメソッド ''gotoEnd'' が利用できます。これらのメソッドの引数に選択するかどうかを boolean 型で指定します。true にした場合,現在の位置から最初または最後の位置まで選択されます。
void gotoStart( boolean bExpand )
void gotoEnd( boolean bExpand )
-bExpand: 選択するかどうか
**文字数分移動 [#fc9fe5f2]
テキストカーソルを現在の位置から指定した文字数分だけ移動できるメソッドは,右への移動に ''goRight'' メソッドを,左への移動には ''goLeft'' メソッドを使用します。
boolean goRight ( integer nChar, boolean bExpand )
boolean goLeft ( integer nChar, boolean bExpand )
-nChar: 移動する文字数
-bExpand: 選択するかどうか
戻り値は指定した移動文字数分だけ移動できたかどうかを示します。指定した文字数分だけの文字数がなければ false を戻します。
**段落,行,単語 [#r61de6a5]
テキストカーソルは段落,行,単語単位での移動ができます。
***段落 [#z19a5cd5]
テキストカーソルの位置が段落の最初かどうか判断する ''isStartOfParagraphi'' メソッド,段落の終わりかどうか判断する ''isEndOfParagraph'' メソッドがあります。また,段落の最初に移動する ''gotoStartOfParagraph'' ,段落の最後に移動する ''gotoEndOfParagraph'' ,次の段落に移動する ''gotoNextParagraph'' ,一つ前の段落に移動する ''gotoPreviousParagraph'' があります。
boolean isStartOfParagraph ( void )
boolean isEndOfParagraph ( void )
boolean gotoStartOfParagraph ( boolean bExpand )
boolean gotoEndOfParagraph ( boolean bExpand )
boolean gotoNextParagraph ( boolean bExpand )
boolean gotoPreviousParagraph ( boolean bExpand )
-bExpand: 選択するかどうか
***行 [#z69f72d1]
テキストカーソル位置が行の最初かどうかを判断する ''isStartOfSentence'' ,行の最後かどうか判断する ''isEndOfSentence'' メソッドがあります。また,次の行の最初に移動する ''gotoNextSentence'' ,一つ前の行に移動する ''gotoPreviousSentence'' ,行の最初に移動する ''gotoStartOfSentence'' ,行の最後に移動する ''gotoEndOfSentence'' メソッドがあります。
boolean isStartOfSentence ( void )
boolean isEndOfSentence ( void )
boolean gotoStartOfSentence ( boolean bExpand )
boolean gotoEndOfSentence ( boolean bExpand )
boolean gotoNextSentence ( boolean bExpand )
boolean gotoPreviousSentence ( boolean bExpand )
-bExpand: 選択するかどうか
***単語 [#tec363fc]
テキストカーソル位置が単語の最初の位置かどうかを調べる ''isStaratOfWord'' ,単語の最後の位置かどうかを調べる ''isEndOfWord'' メソッドがあります。また,テキストカーソル位置を次の単語へ移動する ''gotoNextWord'' ,一つ前の単語に移動する ''gotoPreviousWord'' ,単語の最後に移動する ''gotoEndOfWord'' ,単語の最初に移動する ''gotoStartOfWord'' メソッドがあります。
boolean isStartOfWord ( void )
boolean isEndOfWord ( void )
boolean gotoNextWord ( boolean bExpand )
boolean gotoPreviousWord ( boolean bExpand )
boolean gotoEndOfWord ( boolean bExpand )
boolean gotoStartOfWord ( boolean bExpand )
-bExpand: 選択するかどうか
**テキストカーソル選択範囲の変更 [#i9225c3e]
テキストカーソルは選択ができるため,選択範囲の最初の位置と最後の位置があります。テキストカーソルで範囲が選択されているかどうかを判断する ''isCollapsed'' メソッドでは,選択範囲の最初の位置と最後の位置が同じかどうかを判断します。
boolean isCollapsed( void )
また,選択されている状態を解除するメソッドがあります。選択を解除して最初の位置にカーソル位置を移動する ''collapseToStart'' メソッドおよび,選択を解除して最後の位置にカーソルを移動する ''collapseToEnd'' メソッドがあります。
void collapseToStart( void )
void collapseToEnd( void )