RichTextArea (クラス)
public RichTextArea {inherits {BaseTextControl-of RichTextString, RichTextStringDataModel, RichTextStringDataModelWritableRange }}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.CONTROL-LOGICAL.

複数行の編集可能なリッチ テキスト コントロールを実装します。

説明

RichTextArea は、ユーザーが任意の文字列を入力し、視覚的な書式設定 (太字、斜体など) を適用できるようにするコントロールです。データ内の改行はハード改行を示します。
RichTextArea がユーザー操作の完了を認識するのは、ユーザーがキーボード フォーカスを RichTextArea の外に移動したときのみです。
RichTextArea の値は RichTextString で、これは RichTextArea 内で書式設定するテキストで構成されています。

予期されたイベント

ValueChanged: キー入力が行われたとき、編集 Command (切り取り、貼り付けなど) が起こったとき、または set-value-with-events が呼び出されると発生します。
ValueFinished: フォーカスが失われたとき、または set-value-with-events が呼び出されると発生します。最後の ValueFinished 以降に value が変更された場合、このイベントは必ず発生します。ただし、value が変更されていない場合でも発生することがあります。
Commit: Dialog.commit が呼び出されたときに Dialog によって送られます。
PointerPressPointerReleaseRawKeyPress 用に記述されたイベント ハンドラはトリガされません。代わりに ValueChangedValueFinished または KeyPress を使用します。

注意事項

コントロールの SelectionContext で呼び出される Command を実行するのではなく、コントロールの選択を直接操作するには、 selected-range アクセッサを使用して下さい。
一般的に、実際の描画はサブクラスで使用しないよう選択されていない限り、このコントロールの UI デリゲートオブジェクト (RichTextAreaUI) によって行なわれます。SCSK 株式会社によって提供されるコントロールは標準の look-and-feel で定義されている UI デリゲートオブジェクトを使用します。
このオブジェクトは、"RichTextArea"、"RichTextArea/format-panel"、"RichTextArea/string-box"のスタイル ルールを記述することによってスタイル化することが出来ます。詳細は スキンが適用されたテキストコントロール をご覧下さい。

ビジュアル テスト

このクラスは、CurlRichEdit ビジュアル テスト タイプを実装します。
すべての Visual によってサポートされる既定のビジュアル テスト アクションの他に、このクラスのオブジェクトは次のアクションをサポートします。
アクション 引数 説明
Activate <none> コントロールをアクティブにします。
Bold val:String ("ON" または "OFF")font-weight プロパティを FontWeight.bold (ON) か FontWeight.normal (OFF) に設定します。
Color "#num" フォーマットの val:StringUI オブジェクトのフォーマットパネルのカラーインデックス num に基づく color プロパティを設定します。既定の UI オブジェクトは以下の値をサポートします。: 0 (白), 1 (黒), 2 (茶), 3 (マゼンタ), 4 (赤), 5 (オレンジ), 6 (黄), 7 (緑), 8 (シアン), 9 (青), 10 (紫), 11 (グレー)。
ClearSelection <none> すべてのテキストの選択を解除します。
Delete start-index:int, end-index:int一定範囲のテキストを削除します。
FontFamily val:Stringフォント名プロパティを val に設定します。
FontSize val:StringDistance に変換された valfont-size プロパティに設定します。既定の UI でサポートされるのは以下です。: 8pt、9pt、10pt、11pt、12pt、14pt、16pt、18pt、20pt、22pt、24pt、26pt、28pt、36pt、48pt、72pt
Insert text:String, index:inttext 文字列を位置 index に挿入します。
Italic val:String ("ON" または "OFF")font-weight プロパティを FontWeight.bold (ON) か FontWeight.normal (OFF) に設定します。
LineThrough val:String ("ON" または "OFF")text-line-through? プロパティを true (ON) か false (OFF) に設定します。
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:StringTestPlayer.clarify-string を介して val をデコード後、これによりコントロールの値が設定されます。
SetSelection index:int編集ボックスのキャレット位置を設定します。
Underline val:String ("ON" または "OFF")text-underline? プロパティを true (ON) か false (OFF) に設定します。
すべての Visual によってサポートされる既定のビジュアル テスト プロパティの他に、このクラスのオブジェクトは次のビジュアル テスト プロパティをサポートします。
プロパティ 説明
value:Stringコントロールの現在値です。
caret-position:int 現在のキャレット位置です。
end_selection:int 現在の選択の最終インデックスです。テキストが選択されていない場合、caret-position の値と一致します。
start_selection:int 現在の選択の先頭インデックスです。テキストが選択されていない場合、caret-position の値と一致します。

コンストラクタ
default:RichTextArea を作成します。
コンストラクタ public {RichTextArea.default
value:#RichTextString = null,
prompt:#RichTextString = null,
max-chars:int = -1,
data-model:#RichTextStringDataModel = null,
ui-object:#RichTextAreaUI = null,
...
}

プロパティ
display-formatting-panel?:テキストの書式設定パネルを表示します。
ローカル オプション public RichTextArea.display-formatting-panel?:bool =true
distinguish-unset-attributes?:テキスト属性の値が設定解除されるときに、その属性の既定値に置き換えられるかどうかを指定します。
ローカル オプション public RichTextArea.distinguish-unset-attributes?:bool =false
editable?:ユーザーがテキスト コントロールに値を入力できるかどうかを指定します。既定では、true です。
ローカル オプション public RichTextArea.editable?:bool =true
style-element:スタイリングの目的のための、この Visual の "要素" や "型" です。
アクセサ public RichTextArea.style-element:String
test-type-name:このオブジェクトをテストのメソッドとプロパティにマッピングするために、ビジュアル テスト インフラストラクチャが使用するタイプ名。
アクセサ public RichTextArea.test-type-name:#String
value:RichTextString としての、このコントロールの値。
アクセサ public RichTextArea.value:RichTextString
セッター public RichTextArea.value:RichTextString
writable?:選択コンテキストのテキストが、現在編集可能であるかどうかを示します。
アクセサ 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
プロパティ 継承 MultiUIControlFrame: _ui-object, _ui-set-locally?, control-appearance-changeable?, display-context, focus-object, look-and-feel, options-present-here, ui-object
プロパティ 継承 ValueControl-of: value-as-any, value-type
プロパティ 継承 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?
プロパティ 継承 SelectionContext: selection-context-active?
プロパティ 継承 BaseFrame: child, clonable-class?, completely-clonable-children?, graphical-children, halign-spec, hstretch?-spec, ordered-children, reverse-ordered-children, valign-spec, vstretch?-spec, width-first?
プロパティ 継承 CommandBinding: bound-command, bound-command-impl
プロパティ 継承 Control: control-container, dialog, focus-skin, form, skin
プロパティ 継承 CommandContext: commands
プロパティ 継承 ActiveTraversor: _active-traversal-container, active-traversal-container, mnemonic, tab-index, takes-focus?, valid?, validation-result
プロパティ 継承 EventTarget: event-handlers
プロパティ 継承 GetBoundsBox: layout-locally-valid?, layout-valid?
プロパティ 継承 Visual: _style-element, cursor, data-source, dragee, graphical-parent, has-key-focus?, input-method-enabled?, input-method-keyboard-mode, name, options, style-class, style-manager, style-options, test-child?, test-description, test-name, test-parent?, test-visible?, tooltip, user-data
プロパティ 継承 Box: clip-child-shadows?
プロパティ 継承 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, possibly-displayed?, selection-context, shadow-color, shadow-spec, visual-parent, vorigin, width
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 OptionListInterface: option-register-proc, registered-option-keys

メソッド
become-active-from-traversal:トラバースによるアクティブ化に応答します。
public {RichTextArea.become-active-from-traversal
forward?:bool = true
}:bool
create-command:時間をかけてコマンドを作成します。
public {RichTextArea.create-command name:String}:#Command
create-data-model:この RichTextAreaRichTextStringDataModel を作成します。
protected {RichTextArea.create-data-model
value:any
}:RichTextStringDataModel
create-default-ui-object:このオブジェクトに適切な UI オブジェクトを作成します。
protected {RichTextArea.create-default-ui-object}:ControlUI
format-as-curl-source-fragment:RichTextArea の値をソース コードとしてフォーマットします。
public final {RichTextArea.format-as-curl-source-fragment
out:#TextOutputStream = null
}:String
format-as-html-fragment:RichTextArea の値を HTML 形式にフォーマットします。
public final {RichTextArea.format-as-html-fragment
out:#TextOutputStream = null
}:String
get-command:存在する場合は Command を、それ以外の場合は null を返します。
public {RichTextArea.get-command name:String}:#Command
get-test-property:このオブジェクトのテスト プロパティ値を返します。
public {RichTextArea.get-test-property name:String}:any
handle-observer-message:監視対象のオブジェクトがメッセージを送信するときにこのメソッドを呼び出します。Observer はこのメソッドを実装して、変更が発生したときに処理を実行する必要があります。
protected {RichTextArea.handle-observer-message
sender:Observable,
message:any
}:void
parse-curl-source-fragment:ソース コード部分を RichTextArea の値として解析します。
public final {RichTextArea.parse-curl-source-fragment}:bool
test-run:オブジェクトに対してビジュアル テスト アクションを実行します。
public {RichTextArea.test-run action:String, args:FastArray}:any
メソッド 継承 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
メソッド 継承 MultiUIValueControlFrame-of: unset-property
メソッド 継承 MultiUIControlFrame: generate-ui-object, handle-look-and-feel-change, on-focus-in, option-changed, option-lookup-here, option-propagate-notify, react-to-state-change, react-to-visual-change, request-key-focus, set-layout
メソッド 継承 ControlFrame: become-active, clear
メソッド 継承 SelectionContext: on-selection-changed, overdraw-selection, selection-context-request-activate
メソッド 継承 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
メソッド 継承 Control: on-pointer-press
メソッド 継承 GuiEventTarget: handle-delegate-event, 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-gesture, on-gesture-begin, on-gesture-end, on-gesture-magnify, on-gesture-pan, on-gesture-rotate, on-gesture-swipe, on-gesture-tap, on-gesture-touch, 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
メソッド 継承 CommandContext: add-command, command-enabled?, command-supported?, do-command, request-update-commands
メソッド 継承 BasicBox: contains-point?, find-graphic-at, handle-crossing, on-pointer-envelope-event, pointer-enter-occurred, pointer-leave-occurred
メソッド 継承 StandardActiveTraversor: fire-event-at-container, handle-mnemonic, on-key-press
メソッド 継承 Observer: observe, stop-observing
メソッド 継承 ActiveTraversor: mark-invalid, mark-valid
メソッド 継承 EventTarget: accepts-event-class?, add-event-handler, event-handler-present?, remove-event-handler, verify-event
メソッド 継承 GetBoundsBox: get-bounds, get-elastic-bounds-into, get-nonparent-bounds-into, request-layout, validate-layout
メソッド 継承 Visual: add, add-from-init-args, 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, refresh-style-options, release-key-focus, scroll-to-include, test-record, transform-from-display-coordinates, transform-from-graphical-root-coordinates, transform-to-display-coordinates, transform-to-graphical-root-coordinates
メソッド 継承 BasicEventTarget: enqueue-event
メソッド 継承 Box: compare-children, find-test-children, get-delimited-child-text-selection, get-gui-path-to-child, get-range-as-selected-text, get-visible-rect-in-root-into, graphical-child-visible-at, make-gui-mark, search-next-here, search-prev-here
メソッド 継承 GraphicOptions: any-to-Distance, get-display-context
メソッド 継承 Graphic: create-pagination-state, detach, draw-range-as-selected, draw-shadow, find-ancestor, find-graphical-ancestor, fire-inferior-crossing-event, get-graphical-root, get-gui-path, 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
メソッド 継承 DataBindingTarget: add-data-binding, get-data-binding, refresh-data-binding, remove-data-binding, update-data-binding, validate-data-binding
メソッド 継承 OptionListInterface: add-option, add-style-option, 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-option, remove-style-option, remove-styles, set-option-by-name, set-style-option-by-name, unset-option-by-name, unset-style-option-by-name
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {RichTextArea.default
value:#RichTextString = null,
prompt:#RichTextString = null,
max-chars:int = -1,
data-model:#RichTextStringDataModel = null,
ui-object:#RichTextAreaUI = null,
...
}

RichTextArea を作成します。

value: RichTextArea の初期の value。null の場合は値が設定されず、RichTextArea.has-value? は false になり、prompt が指定されていればそれが代わりに表示されます。
prompt: RichTextArea.has-value?false の場合に表示される、初期の prompt RichTextString
max-chars: max-chars の初期値。RichTextArea に入力する最大文字数を指定します。
data-model: この RichTextArea の初期の data-model。この値が null の場合は、初期データ モデルを作成するために create-data-model メソッドが呼び出されます。
ui-object: 描画とイベントを処理する UI デリゲート。
...: 追加オプションを指定します。



プロパティ詳細
display-formatting-panel? (ローカル オプション)
public RichTextArea.display-formatting-panel?:bool =true

テキストの書式設定パネルを表示します。

説明

書式設定パネルには通常、多様な書式属性を変更するためのコントロールが含まれています。たとえば、フォントと色のリストが含まれる場合があります。

注意事項

場合によっては、書式設定パネルにあるコントロールに応じて属性値が適切に形成されないことがあります。たとえば、選択範囲に下線付きのテキストと付いていないテキストが含まれる場合、テキストの下線を制御するボタンはどの値にも対等しない中間形体をとります。
不明瞭でなくてもコントロールには不明の値を表す場合にも、同様の動作が使われます。たとえば、RichTextString のフォント サイズをフォント サイズ コントロールには認識できない値に設定すると、このコントロールは既知の値のセットにこの値を追加するか、値が知られていないことを仮定した上で操作される必要があります。
どちらの状況においても、ユーザーが値の設定動作を実行した場合には、コントロールはこの値を既知の矛盾しない値に設定する必要があります。


distinguish-unset-attributes? (ローカル オプション)
public RichTextArea.distinguish-unset-attributes?:bool =false

テキスト属性の値が設定解除されるときに、その属性の既定値に置き換えられるかどうかを指定します。

説明

既定では、RichTextString に適用される属性は設定解除できます。このオプションが true の場合、設定解除された各属性の値はその属性の既定値に置き換えられ、これが有効になることを意味します。false の場合、設定解除された属性の値は独立したものとして扱われることを意味します。
テキストの描写には常に有効な値が使われるので、このオプションがテキストの可視的な外観に影響を及ぼすことはありません。ただし、このオプションが false の場合には、RichTextArea の書式設定パネルを使ってテキスト属性の値を設定解除することができるようになります。
このオプションは、valueformat-as-curl-source-fragmentformat-as-html-fragment および RichTextAttributeCommand.get-current-value に影響を与えます。詳細はこれらの項目を参照してください。


editable? (ローカル オプション)
public RichTextArea.editable?:bool =true

ユーザーがテキスト コントロールに値を入力できるかどうかを指定します。既定では、true です。

注意事項

この値を false に設定することで、値の属性も変更されません。
導入: バージョン 6.0


style-element (アクセサ)
アクセサ public RichTextArea.style-element:String

スタイリングの目的のための、この Visual の "要素" や "型" です。

説明

この実装によって Visual._style-elementの値が返されますが、通常は定数を返すためにオーバーライドされます。

オーバーライド

Visual のサブクラスのスタイルが他のオブジェクトと異なる場合、このゲッターは適切な文字列を返すようにオーバーライドされる必要があります。 慣例では,この文字列はクラス名または、オブジェクトを生成するマークアップの名前です。
オーバーライドでは、空の文字列でないかぎり、self._style-elementを返さなければなりません。
導入: バージョン 6.0


test-type-name (アクセサ)
アクセサ public RichTextArea.test-type-name:#String

このオブジェクトをテストのメソッドとプロパティにマッピングするために、ビジュアル テスト インフラストラクチャが使用するタイプ名。

説明

ビジュアル テストを正しく実行するには、テストは次のいずれかのタイプでなければなりません。特定のテスト タイプの詳細については、リストされている実装例の test-run および get-test-property メソッドの説明を参照してください。
オブジェクトのセマンティクスに近い、いずれかの定義済みテスト タイプの使用を検討してください。ただし、テスト タイプを変更せずにオブジェクトにテストのアクションとプロパティを追加する方が簡単な場合もあります。


value (アクセサ)
アクセサ public RichTextArea.value:RichTextString
セッター public RichTextArea.value:RichTextString

RichTextString としての、このコントロールの値。

注意事項

この値は == を使用しての比較はできません。代わりに RichTextString.equal? を使用してください。


この値は distinguish-unset-attributes? オプションの影響を受けます。


このオプションが true の場合、RichTextString で設定を解除されたテキスト属性はその既定値で設定されたかのように扱われます。これは、この RichTextString を後で同じオプションが false に設定されている RichTextArea の値に代入しても、既定値が継続して使われることを意味します。


オプションが false の場合、設定解除されたテキスト属性は独立した値として扱われます。これは、RichTextString を別の RichTextArea の値に代入しても、属性は設定を解除されたままであることを意味します。


値を設定する時、値が変更された時にイベントを発生させる set-value-with-events を使用することを検討してください。


writable? (アクセサ)
アクセサ public RichTextArea.writable?:bool

選択コンテキストのテキストが、現在編集可能であるかどうかを示します。

説明

既定の実装では、滅多に editable? の値を返しません。
詳細に関しては、 WritableTextSelectionContext.writable? を参照してください。





メソッド詳細
become-active-from-traversal (メソッド)
public {RichTextArea.become-active-from-traversal
forward?:bool = true
}:bool

トラバースによるアクティブ化に応答します。

説明

このクラスの既定の実装では、ActiveTraversor.become-active が呼び出されます。トラバースとその以外のアクティブ化方法とを区別する必要がある場合にのみ、既定の実装をオーバーライドします。
forward?: トラバースが前方に移動する場合 (Tab キー) は true、後方に移動する場合 (Shift + Tab キー) は false です。一般にユーザー コードでは既定値 true を使用します。

戻り値

このオブジェクトがアクティブになる予定であれば true、それ以外の場合は false です。


create-command (メソッド)
public {RichTextArea.create-command name:String}:#Command

時間をかけてコマンドを作成します。

説明

通常は直接呼び出されません。代わりに、CommandContext.get-command を呼び出すことを検討してください。

オーバーライド

要求されたときにこの CommandContext で動的にインスタンス化する必要があるコマンドの場合は、このメソッドをオーバーライドします。スーパークラスから動的に作成されたコマンドも同様に継承したい場合は、必ずこのメソッドのスーパークラスの実装も呼び出してください。

なお、コマンドは、クラスのコンストラクタでメソッド CommandContext.add-command を呼び出して指定することもできます。パフォーマンスの理由と、サブクラスでコマンドをオーバーライドできるようにするために、このメソッドを代わりに使用することを推奨します。


create-data-model (メソッド)
protected {RichTextArea.create-data-model
value:any
}:RichTextStringDataModel

この RichTextAreaRichTextStringDataModel を作成します。

value: RichTextArea の値。最初に StringRichTextString に変換する必要があります。null 値は空の文字列として処理します。

注意事項

通常、このメソッドは直接呼び出されません。data-model が null の場合に、RichTextArea のコンストラクタによって呼び出されます。サブクラスでこのメソッドをオーバーライドして、異なる型の RichTextStringDataModel を返すことができます。


create-default-ui-object (メソッド)
protected {RichTextArea.create-default-ui-object}:ControlUI

このオブジェクトに適切な UI オブジェクトを作成します。

説明

このメソッドは、現在の LookAndFeel がこのコントロールの UI オブジェクトを指定しない場合にのみ使用されます。


format-as-curl-source-fragment (メソッド)
public final {RichTextArea.format-as-curl-source-fragment
out:#TextOutputStream = null
}:String

RichTextArea の値をソース コードとしてフォーマットします。

out: データがフォーマットされる TextOutputStream。このパラメータが指定されていない (または null と指定されている) 場合、データは String にフォーマットされて返されます。

戻り値

out が指定されている場合は空の String、それ以外の場合はフォーマットされたデータを含む String

説明

取得するソースコードは部分的なもので、有効なアプレット、パッケージ、スクリプトではありません。これをアプレットとして使用するには、{curl 8.0 applet} を含む文字列にこれを追加します。
このメソッドで取得するソースコードは、RichTextArea の内容に視覚的に似たものを作成するのに十分といえます。このソースコード部分の内部構文は常に同じということはなく、今後のリリースで変更される可能性があります。

注意事項

このメソッドは distinguish-unset-attributes? オプションの影響を受けます。
たとえば、既定のフォント サイズが 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}
    }
}


format-as-html-fragment (メソッド)
public final {RichTextArea.format-as-html-fragment
out:#TextOutputStream = null
}:String

RichTextArea の値を HTML 形式にフォーマットします。

out: データがフォーマットされる TextOutputStream。このパラメータが指定されていない (または null と指定されている) 場合、データは String にフォーマットされて返されます。

戻り値

out が指定されている場合は空の String、それ以外の場合はフォーマットされたデータを含む String

説明

取得する HTML は部分的なもので、有効な HTML ドキュメントではありません。これを HTML ドキュメントとして使用するには次のように囲みます。

<html>
  <head>
    <title>My sample document</title>
  </head>
  <body>
    <p>...fragment...</p>
  </body>
</html>


このメソッドで取得する HTML 部分は、RichTextArea の内容に視覚的に似たものを作成するのに十分といえます。呼び出し側のコードではこの部分の内部構文をあらかじめ予想しないでください。これは、内部構文が常に同じということはなく、今後のリリースで変更される可能性があるためです。

注意事項

このメソッドは distinguish-unset-attributes? オプションの影響を受けます。
たとえば、既定のフォント サイズが 10pt でこのオプションが true の場合、ソース コードではフォント サイズ属性を12pt に明示的に設定することになります。
その他の場合は属性値を未定義のままにします。コンテンツがそのコンテキストから属性値を継承して書式設定されるようにする場合には、属性値を未定義にしておくと便利です。


get-command (メソッド)
public {RichTextArea.get-command name:String}:#Command

存在する場合は 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)
new-value-param の型は、変更する属性が取る型に一致させる必要があります。値の型が一致しない場合は例外が起こります。
変更コマンドは、個々のリッチ テキスト属性の値を操作するのに使います。これらのコマンドは RichTextAttributeCommand のインスタンスです。
詳細は CommandContext を参照してください。


get-test-property (メソッド)
public {RichTextArea.get-test-property name:String}:any

このオブジェクトのテスト プロパティ値を返します。

説明

既定の実装では、リフレクションを使用してオブジェクトの実行時プロパティの値を取得します。プロパティを実行時のインターフェイスではなくテスト環境に追加する場合は、サブクラスでこのメソッドをオーバーライドする必要があります。

注意事項

参照:canonical-test-value


handle-observer-message (メソッド)
protected {RichTextArea.handle-observer-message
sender:Observable,
message:any
}:void

監視対象のオブジェクトがメッセージを送信するときにこのメソッドを呼び出します。Observer はこのメソッドを実装して、変更が発生したときに処理を実行する必要があります。

sender: 変更があった Observable オブジェクトです。
message: これは、Observer からの変更に関する詳細情報が含まれています。詳細情報がない場合は NULL になります。


parse-curl-source-fragment (メソッド)
public final {RichTextArea.parse-curl-source-fragment}:bool

ソース コード部分を RichTextArea の値として解析します。

in: ソース コードを含む StringInterface

戻り値

ソース コード部分の解析中に内容または書式設定が失われたかどうかを示す bool

説明

RichTextArea の現在または以前のバージョンによって生成されたソース コード部分は、内容またはフォーマット情報が失われないように適切に解析する必要があります。
RichTextArea の今後のバージョンから生成されるソース コード部分の解析時には、フォーマット情報が失われる可能性があります (内容は失われません)。
他のソース コード部分が内容を正確に表すかどうか、あるいは解析されるかどうかは保証されていません。このメソッドは、RichTextArea で生成されていないソース コード部分の解析用に用意されたものではありません。現在アプレットで表示されているソース コード部分でさえ、ソース コード部分の厳密な解析規則に準拠しないものがあります。
このような注意を明記した上で、ソースの解析規則の概要を以下に示します。
  • コンパイルが不可能なソース コードはエラーとして扱います。
  • 不明の curl 式は {text} として扱います。 たとえば、curl ヘラルド {curl 1.0 applet} があれば、これを "1.0 applet" という内容として解釈します。
  • 不明のキーワード引数は無視します。
  • 不明の値を持つキーワード引数は無視します。
情報が失われた可能性がある場合、このメソッドは false を返します。

この例では、RichTextArea で生成されたソース コード部分をどのように解析するかを示しています。
例: RichTextArea の Curl ソース部分の解析
{let rta:RichTextArea = {RichTextArea height = 1in}}
{let ta:TextArea = {TextArea width = 10cm, height = 1in}}
{value rta}{br}{value ta}

{CommandButton label = "Format",
    {on e:Action do
        set ta.value = {rta.format-as-curl-source-fragment}
        {e.consume}
    }
}
{CommandButton label = "Parse",
    {on e:Action do
        let success?:bool =
            {rta.parse-curl-source-fragment ta.value}
        {if not success? then
            {popup-message
                title = "Warning",
                {text
                    Some content or formatting may have
                    been lost while parsing the source
                    code fragment.
                }
            }
        }
        {e.consume}
    }
}


test-run (メソッド)
public {RichTextArea.test-run action:String, args:FastArray}:any

オブジェクトに対してビジュアル テスト アクションを実行します。

action: 実行するアクションの名前。
args: ビジュアル テスト アクションの引数。ビジュアル テスト インフラストラクチャは、引数の数と型をチェックしますが、値はチェックしません。実装では、すべての有効な値を処理し、不正な値に対しては例外またはエラーをスローするようにしてください。

説明

このメソッドについての一般的な情報は Visual.test-run のドキュメントをご覧下さい。このオブジェクトの利用可能なアクション一覧については RichTextArea のドキュメントをご覧下さい。

注意事項

ビジュアルテストの基盤外で、このメソッドを使用する場合は、属性を変更する値 ("Bold", "Italic", "Underline", "LineThrough", "FontFamily", "FontSize", "Color") の動作は以下の方法を使用している場合成功しません。
ビジュアルテストの基盤は通常、このようなステップで実行します。