(クラス)
複数行の編集可能なリッチ テキスト コントロールを実装します。
説明
RichTextArea は、ユーザーが任意の文字列を入力し、視覚的な書式設定 (太字、斜体など) を適用できるようにするコントロールです。データ内の改行はハード改行を示します。
RichTextArea がユーザー操作の完了を認識するのは、ユーザーがキーボード フォーカスを RichTextArea の外に移動したときのみです。
RichTextArea の値は
RichTextString で、これは
RichTextArea 内で書式設定するテキストで構成されています。
注意事項
一般的に、実際の描画はサブクラスで使用しないよう選択されていない限り、このコントロールの UI デリゲート オブジェクト(
RichTextAreaUI)によって行われます。Curl, Inc. によって提供されるコントロールは標準の look-and-feel で定義されている UI デリゲート オブジェクトを使用します。
ビジュアル テスト
このクラスは、CurlRichEdit ビジュアル テスト タイプを実装します。
すべての
Visual によってサポートされる既定のビジュアル テスト アクションの他に、このクラスのオブジェクトは次のアクションをサポートします。
| アクション | 引数 | 説明 |
| Activate | <none> | コントロールをアクティブにします。 |
| Bold | val:bool | 太字プロパティを val に設定します。 |
| Color | val:String | 色プロパティを val に設定します。 |
| ClearSelection | <none> | すべてのテキストの選択を解除します。 |
| Delete | start-index:int, end-index:int | 一定範囲のテキストを削除します。 |
| FontFamily | val:String | フォント名プロパティを val に設定します。 |
| FontSize | val:String | フォント サイズ プロパティを val に設定します。 |
| Insert | text:String, index:int | text 文字列を位置 index に挿入します。 |
| Italic | val:bool | 斜体プロパティを val に設定します。 |
| LineThrough | val:bool | 取り消し線プロパティを val に設定します。 |
| Replace | text:String, start-index:int, end-index:int | start-index から end-index までの範囲を text 文字列で置き換えます。 |
| Set | val:String | コントロールの値を設定します。 |
| SetCaretPos | start-index:int, end-index:int | 一定範囲のテキストを選択します。 |
| SetSecure | val:String | TestPlayer.clarify-string を介して val をデコード後、これによりコントロールの値が設定されます。 |
| SetSelection | index:int | 編集ボックスのカレット位置を設定します。 |
| Underline | val:bool | 下線プロパティを val に設定します。 |
すべての
Visual によってサポートされる既定のビジュアル テスト プロパティの他に、このクラスのオブジェクトは次のビジュアル テスト プロパティをサポートします。
| プロパティ | 説明 |
| value:String | コントロールの現在値です。 |
| caret-position:int | 現在のカレット位置です。 |
| end_selection:int | 現在の選択の最終インデックスです。テキストが選択されていない場合、caret-position の値と一致します。 |
| start_selection:int | 現在の選択の先頭インデックスです。テキストが選択されていない場合、caret-position の値と一致します。 |
| コンストラクタ public | {RichTextArea.default} |
ローカル オプション public RichTextArea.display-formatting-panel?:
bool =true
ローカル オプション public RichTextArea.distinguish-unset-attributes?:
bool =false
| editable?: | ユーザーがテキスト コントロールに値を入力できるかどうかを指定します。既定では、true です。 |
ローカル オプション public RichTextArea.editable?:
bool =true
アクセサ public RichTextArea.style-element:
String
| test-type-name: | このオブジェクトをテストのメソッドとプロパティにマッピングするために、ビジュアル テスト インフラストラクチャが使用するタイプ名。 |
アクセサ public RichTextArea.test-type-name:#
String
アクセサ public RichTextArea.value:
void
アクセサ public RichTextArea.writable?:
bool プロパティ 継承 BaseTextControl-of:
can-redo?, can-undo?, container, data-model, form-value, has-value?, max-chars, pending-value?, prompt, record-for-undo?, selected-range, selection プロパティ 継承 ControlFrame:
color, control-color, control-content-background, enabled?, font-family, font-size, font-style, font-weight, text-breakable?, text-line-through?, text-preserve-whitespace?, text-underline?, visible? プロパティ 継承 BaseFrame:
child, clonable-class?, completely-clonable-children?, graphical-children, halign-spec, hstretch?-spec, ordered-children, reverse-ordered-children, valign-spec, vstretch?-spec, width-first? プロパティ 継承 Visual:
_style-element, cursor, data-source, dragee, input-method-enabled?, input-method-keyboard-mode, name, options, options-present-here, style-class, style-manager, style-options, test-description, test-name, test-parent?, test-visible?, tooltip, user-data プロパティ 継承 Graphic:
avoid-page-break?, background, border-color, border-spec, border-style, border-width, cell-border-spec, cell-border-width, cell-margin, discrete-select-in-range?, graphic-selectable, height, horigin, is-paginating?, layout, margin, opaque-to-events?, option-parent, outside-margin, pagination-state, parent, selection-context, shadow-color, shadow-spec, vorigin, width
| public | {RichTextArea.become-active-from-traversal}:bool |
| protected | {RichTextArea.create-default-ui-object}:ControlUI |
| public final | {RichTextArea.format-as-curl-source-fragment}:String |
| public final | {RichTextArea.format-as-html-fragment}:String |
| public | {RichTextArea.get-test-property name:String}:any |
| protected | {RichTextArea.handle-observer-message}:void |
| public final | {RichTextArea.parse-curl-source-fragment}:bool |
| test-run: | オブジェクトに対してビジュアル テスト アクションを実行します。 |
メソッド 継承 BaseTextControl-of:
clear-undo-stack, delete-selection, end-undo-typing-sequence, note-selection-context-activated, note-selection-context-deactivated, on-focus-out, record-typing-deletion-for-undo, record-typing-for-undo, redo, replace-selection-with-string, request-undo-stack-depth-limit, select-all, select-nothing, set-value-with-events, undo, unset-value メソッド 継承 BaseFrame:
add-internal, after-reposition, allocate-layout-object, attempt-revalidate-layout, before-reposition, clone-appearance-helper, compute-child-bounds, compute-parent-elastic, constrain-height, constrain-width, draw, end-pagination, get-height-preference, get-text, get-width-preference, install-child-bounds, internal-remove-child, note-attached, note-detaching, notify-option-children, paginate, pick-child, propagate-request-layout, register-options, set-size メソッド 継承 GuiEventTarget:
handle-event, on-action, on-cancel-mode, on-command-changed, on-commit, on-composition-change-event, on-composition-result-event, on-context-menu-event, on-current-record-change-request, on-current-record-changed, on-destroy-notify, on-destroy-requested, on-drag-over, on-drag-pointer, on-drag-started, on-drop, on-end-composition-event, on-focus-event, on-grab-release, on-gui-event, on-input-method-event, on-key-event, on-pointer-button, on-pointer-crossing, on-pointer-event, on-pointer-motion, on-pointer-release, on-pointer-scroll, on-raw-key-event, on-raw-key-press, on-raw-key-release, on-reset, on-selectable-added, on-selectable-removed, on-selection-context-activated, on-selection-context-deactivated, on-selection-event, on-start-composition-event, on-start-event, on-stop-event, on-view-activate, on-view-deactivate, on-window-close, remove-event-handlers-for-event-class メソッド 継承 Visual:
add, add-from-init-args, add-option, add-style-option, animate, change-cursor, clonable-appearance?, clone-appearance, get-focus-manager, get-layout-context, get-test-parent, get-view, maybe-fire-attach-event, maybe-fire-detach-event, non-keyword-init-arg, note-caret-position, on-drag-leave, on-pointer-leave, pop-cursor, prepare-test-object, prepare-test-parent, push-cursor, quantize-width, release-key-focus, remove-option, remove-style-option, scroll-to-include, test-record, transform-from-display-coordinates, transform-from-graphical-root-coordinates, transform-to-display-coordinates, transform-to-graphical-root-coordinates メソッド 継承 Graphic:
create-pagination-state, detach, draw-range-as-selected, draw-shadow, find-ancestor, find-graphical-ancestor, fire-inferior-crossing-event, get-graphical-root, get-origin-in-graphical-ancestor, get-origin-in-root, get-pagination-state, get-top-left-in-ancestor, get-visible-bounds-into, on-drag-enter, on-inspection, on-pointer-enter, paint-with-decorations, replace-with, request-draw, request-draw-rect, request-pointer-trace, search-next, search-prev, start-pagination, xy-offset-to メソッド 継承 OptionListInterface:
change-option-parent-notify, clone-options, get-option, get-option-by-name, keyword-init-arg, local-add-notify, local-remove-notify, name-to-option-key, new-option-item, option-change-notify, option-lookup, option-set?, propagate-option-change, remove-styles, set-option-by-name, set-style-option-by-name, unset-option-by-name, unset-style-option-by-name
(コンストラクタ)
| public | {RichTextArea.default} |
RichTextArea を作成します。
max-chars:
max-chars の初期値。
RichTextArea に入力する最大文字数を指定します。
ui-object: 描画とイベントを処理する UI デリゲート。
...: 追加オプションを指定します。
(ローカル オプション)
public RichTextArea.display-formatting-panel?:
bool =true
テキストの書式設定パネルを表示します。
説明
書式設定パネルには通常、多様な書式属性を変更するためのコントロールが含まれています。たとえば、フォントと色のリストが含まれる場合があります。
注意事項
場合によっては、書式設定パネルにあるコントロールに応じて属性値が適切に形成されないことがあります。たとえば、選択範囲に下線付きのテキストと付いていないテキストが含まれる場合、テキストの下線を制御するボタンはどの値にも対等しない中間形体をとります。
不明瞭でなくてもコントロールには不明の値を表す場合にも、同様の動作が使われます。たとえば、
RichTextString のフォント サイズをフォント サイズ コントロールには認識できない値に設定すると、このコントロールは既知の値のセットにこの値を追加するか、値が知られていないことを仮定した上で操作される必要があります。
どちらの状況においても、ユーザーが値の設定動作を実行した場合には、コントロールはこの値を既知の矛盾しない値に設定する必要があります。
(ローカル オプション)
public RichTextArea.distinguish-unset-attributes?:
bool =false
テキスト属性の値が設定解除されるときに、その属性の既定値に置き換えられるかどうかを指定します。
説明
既定では、
RichTextString に適用される属性は設定解除できます。このオプションが true の場合、設定解除された各属性の値はその属性の既定値に置き換えられ、これが有効になることを意味します。false の場合、設定解除された属性の値は独立したものとして扱われることを意味します。
テキストの描写には常に有効な値が使われるので、このオプションがテキストの可視的な外観に影響を及ぼすことはありません。ただし、このオプションが false の場合には、RichTextArea の書式設定パネルを使ってテキスト属性の値を設定解除することができるようになります。
(ローカル オプション)
public RichTextArea.editable?:
bool =true
ユーザーがテキスト コントロールに値を入力できるかどうかを指定します。既定では、true です。
注意事項
この値を false に設定することで、値の属性も変更されません。
導入:
バージョン 6.0
(アクセサ)
アクセサ public RichTextArea.style-element:
String スタイリングの目的のための、この Visual の "要素" や "型" です。
説明
オーバーライド
Visual のサブクラスのスタイルが他のオブジェクトと異なる場合、このゲッターは適切な文字列を返すようにオーバーライドされる必要があります。 慣例では,この文字列はクラス名または、オブジェクトを生成するマークアップの名前です。
オーバーライドでは、空の文字列でないかぎり、self._style-elementを返さなければなりません。
導入:
バージョン 6.0
(アクセサ)
アクセサ public RichTextArea.test-type-name:#
String このオブジェクトをテストのメソッドとプロパティにマッピングするために、ビジュアル テスト インフラストラクチャが使用するタイプ名。
説明
ビジュアル テストを正しく実行するには、テストは次のいずれかのタイプでなければなりません。特定のテスト タイプの詳細については、リストされている実装例の test-run および get-test-property メソッドの説明を参照してください。
オブジェクトのセマンティクスに近い、いずれかの定義済みテスト タイプの使用を検討してください。ただし、テスト タイプを変更せずにオブジェクトにテストのアクションとプロパティを追加する方が簡単な場合もあります。
(アクセサ)
アクセサ public RichTextArea.value:
void RichTextString としての、このコントロールの値。
注意事項
このオプションが true の場合、RichTextString で設定解除されたテキスト属性はその既定値で設定されたかのように扱われます。これは、この RichTextString を後で同じオプションが false に設定されている RichTextArea の値に代入しても、既定値が継続して使われることを意味します。
オプションが false の場合、設定解除されたテキスト属性は独立した値として扱われます。これは、RichTextString を別の RichTextArea の値に代入しても、属性は設定解除されたままであることを意味します。
(アクセサ)
アクセサ public RichTextArea.writable?:
bool 選択コンテキストのテキストが、現在編集可能であるかどうかを示します。
説明
(メソッド)
| public | {RichTextArea.become-active-from-traversal}:bool |
トラバースによるアクティブ化に応答します。
説明
forward?: トラバースが前方に移動する場合 (Tab キー) は true、後方に移動する場合 (Shift + Tab キー) は false です。一般にユーザー コードでは既定値 true を使用します。
戻り値
このオブジェクトがアクティブになる予定であれば true、それ以外の場合は false です。
(メソッド)
時間をかけてコマンドを作成します。
説明
オーバーライド
要求されたときにこの
CommandContext で動的にインスタンス化する必要があるコマンドの場合は、このメソッドをオーバーライドします。スーパークラスから動的に作成されたコマンドも同様に継承したい場合は、必ずこのメソッドのスーパークラスの実装も呼び出してください。
なお、コマンドは、クラスのコンストラクタでメソッド
CommandContext.add-command を呼び出して指定することもできます。パフォーマンスの理由と、サブクラスでコマンドをオーバーライドできるようにするために、このメソッドを代わりに使用することを推奨します。
(メソッド)
この RichTextArea の RichTextStringDataModel を作成します。
注意事項
通常、このメソッドは直接呼び出されません。data-model が null の場合に、RichTextArea のコンストラクタによって呼び出されます。サブクラスでこのメソッドをオーバーライドして、異なる型の RichTextStringDataModel を返すことができます。
(メソッド)
| protected | {RichTextArea.create-default-ui-object}:ControlUI |
このオブジェクトに適切な UI オブジェクトを作成します。
説明
このメソッドは、現在の
LookAndFeel がこのコントロールの UI オブジェクトを指定しない場合にのみ使用されます。
(メソッド)
| public final | {RichTextArea.format-as-curl-source-fragment}:String |
RichTextArea の値をソース コードとしてフォーマットします。
戻り値
説明
取得するソース コードは部分的なもので、 有効なアプレット、パッケージまたはスクリプトではありません。これをアプレットとして使用するには、{curl 6.0 applet} を含む文字列にこれを追加します。
このメソッドで取得するソース コードは、RichTextArea の内容に視覚的に似たものを作成するのに十分といえます。 このソース コード部分の内部構文は常に同じということはなく、今後のリリースで変更される可能性があります。
注意事項
たとえば、既定のフォント サイズが 10pt でこのオプションが true の場合、ソース コードではフォント サイズ属性を12pt に明示的に設定することになります。
その他の場合は属性値を未定義のままにします。コンテンツがそのコンテキストから属性値を継承して書式設定されるようにする場合には、属性値を未定義にしておくと便利です。
例
この例では、ソース コード部分をどのように使用できるかを示しています。
| 例:
RichTextArea の Curl ソース部分の使用 |
 |
{let rta:RichTextArea = {RichTextArea}}
{value rta}
{CommandButton label = "Publish",
{on e:Action do
{{View
{evaluate
{rta.format-as-curl-source-fragment}
}
}.show}
{e.consume}
}
}
| |
(メソッド)
| public final | {RichTextArea.format-as-html-fragment}:String |
RichTextArea の値を HTML 形式にフォーマットします。
戻り値
説明
取得する HTML は部分的なもので、有効な HTML ドキュメントではありません。これを HTML ドキュメントとして使用するには次のように囲みます。
<html>
<head>
<title>My sample document</title>
</head>
<body>
<p>...fragment...</p>
</body>
</html>このメソッドで取得する HTML 部分は、
RichTextArea の内容に視覚的に似たものを作成するのに十分といえます。呼び出し側のコードではこの部分の内部構文をあらかじめ予想しないでください。これは、内部構文が常に同じということはなく、今後のリリースで変更される可能性があるためです。
注意事項
たとえば、既定のフォント サイズが 10pt でこのオプションが true の場合、ソース コードではフォント サイズ属性を12pt に明示的に設定することになります。
その他の場合は属性値を未定義のままにします。コンテンツがそのコンテキストから属性値を継承して書式設定されるようにする場合には、属性値を未定義にしておくと便利です。
(メソッド)
存在する場合は Command を、それ以外の場合は null を返します。
説明
WritableTextSelectionContext のコマンドのほかに、このオブジェクトは次のコマンドを提供します。
- modify-font-family (値の型 : String)
- modify-font-size (値の型 : Distance)
- modify-font-weight (値の型 : FontWeight)
- modify-font-style (値の型 : FontStyle)
- modify-color (値の型 : FillPattern)
- modify-text-underline? (値の型 : bool)
- modify-text-line-through? (値の型 : bool)
(メソッド)
| public | {RichTextArea.get-test-property name:String}:any |
このオブジェクトのテスト プロパティ値を返します。
説明
既定の実装では、リフレクションを使用してオブジェクトの実行時プロパティの値を取得します。プロパティを実行時のインターフェイスではなくテスト環境に追加する場合は、サブクラスでこのメソッドをオーバーライドする必要があります。
注意事項
(メソッ