テキスト エディタ ウィジットは複数行テキスト ボックスと似ていますが、テキスト エディタ ウィジットではカスタマイズ可能なScintilla編集コンポーネントを使用するため、テキストのカスタマイズ(フォント、色、サイズ)、構文スタイル、折りたたみ、オートコンプリート、キーワードのハイライトなどの追加機能がサポートされています。また、Softimage Script Editor に表示されるメニュー オプションの一部と同じ機能を有効にできます。 これらも、String 型の基本パラメータに関連付けられています。
これらを作成するには、PPGLayout.AddItem または PPGLayout::AddItem メソッドを、siControlTextEditor コントロール タイプ列挙型とともに使用します。
var oTextWidget = oLayout.AddItem( "TextEditorWidget", "Text Editor Widget", siControlTextEditor );
次に、テキスト エディタ(Scintilla)ウィジットの機能のいくつかについて、設定方法のヒントを示します。
キーワード リストを使用して、テキスト エディタ内のテキストをハイライトできます。また、タイプ中にオートコンプリート機能を利用できます。 キーワード リストは、スペースで区切り、次の 2 つの方法のいずれかで指定します。
リストを、PPGItem.SetAttribute または PPGItem::PutAttribute メソッドに、siUIKeywords 値とともに渡します。
oTextWidget.SetAttribute( siUIKeywords, "X3DObject Property Camera Parameter Light" )
キーワード リストを含むファイルの場所を siUIKeywordFile とともに指定します。
oTextWidget.SetAttribute( siUIKeywordFile, "C:\temp\xsi_om.keywords" )
オートコンプリートは、デフォルトでコマンドとキーワードの両方に有効です。コマンドかキーワードのいずれか、または両方に対して無効にするには、siAutoCompleteMode 値のいずれかを使用します。 たとえば以下のようになります。
oTextWidget.SetAttribute( siUIAutoComplete, siNone )
コメントおよびプリプロセッサ ステートメントの色をカスタマイズできます。また、コメントに別のフォントを指定することもできます(たとえば、コメントに Arial を使用し、主要なコードには Courier New を使用するなど)。 たとえば以下のようになります。
oTextWidget.SetAttribute( siUICommentFont, "Verdana" ) // verdana and fuscia comments oTextWidget.SetAttribute( siUICommentColor, 0xFF00FF ) oTextWidget.SetAttribute( siUIPreprocessorColor, 0x808080 ) // gray preprocessor text
折りたたみとは、関数やサブルーチンなどのコード ブロックを折りたたんだり、展開したりする機能です。 大きな関数を折りたたむことができれば、スクリプト エディタでコードを読みやすくできます。 折りたたみを有効にするには、次のように指定します。
oTextWidget.SetAttribute( siUIFolding, true )
[ファイル]および[編集]メニューを表示するには、siUIToolbar を true に設定します。
oTextWidget.SetAttribute( siUIToolbar, true )
また、[ファイル]メニューで使用できるメニュー オプションを制限するには、siTextEditorCapability 列挙値のいずれかを siUICapability 値とともに渡します。 たとえば、[新規作成]および[開く]オプションを無効にするには、siCanLoad 値を使用します。
oTextWidget.SetAttribute( siUICapability, siCanLoad )
いくつかのオプションがあり、テキスト エディタ ウィジットで、下に示す変数を PPGItem.SetAttribute または PPGItem::PutAttribute メソッドに渡すことによって有効にできます。
設定内容 |
構文 |
フォントを、指定したファミリ名に変更する |
oTextWidget.SetAttribute( siUIFont, "Comic Sans MS" ) |
フォントのサイズを変更する |
oTextWidget.SetAttribute( siUIFontSize, 10 ) |
ウィジットの高さを設定する(ピクセル数) |
oTextWidget.SetAttribute( siUIHeight, 500 ) |
背景カラーを設定する |
oTextWidget.SetAttribute( siUIBackgroundColor, 0xCCCCFF ) |
テキストのカラーを設定する |
oTextWidget.SetAttribute( siUIForegroundColor, 0xCC3366 ) |
True を指定すると、水平スクロール バーが表示される |
oTextWidget.SetAttribute( siUIHorizontalScroll, true ) |
True を指定すると、垂直スクロール バーが表示される |
oTextWidget.SetAttribute( siUIVerticalScroll, true ) |
True を指定すると、行番号が表示される |
oTextWidget.SetAttribute( siUILineNumbering, true ) |
True を指定すると、長い行での折り返しが有効になる |
oTextWidget.SetAttribute( siUILineWrap, true ) |
マージンの幅を設定する(文字数) |
oTextWidget.SetAttribute( siUIMarginWidth, 5 ) |