テキスト エディタ ウィジェットは複数行テキスト ボックスと似ていますが、テキスト エディタ ウィジェットではカスタマイズ可能な Scintilla 編集コンポーネントを使用するため、テキストのカスタマイズ(フォント、色、サイズ)、構文スタイル、折りたたみ、オートコンプリート、キーワードのハイライトなどの追加機能がサポートされています。また、Softimage Script Editor に表示されるメニューオプションの一部と同じ機能を有効にできます。これらも、String型の基本パラメータに関連付けられています。
これらを作成するには、次の siControlTextEditor コントロール タイプ列挙型の PPGLayout.AddItem または PPGLayout::AddItem メソッドを使用します。
var oTextWidget = oLayout.AddItem( "TextEditorWidget", "Text Editor Widget", siControlTextEditor );
次に、テキスト エディタ(Scintilla)ウィジットの機能のいくつかについて、設定方法のヒントを示します。
キーワード リストを使用して、テキスト エディタ内のテキストをハイライトできます。また、タイプ中にオートコンプリート機能を利用できます。 キーワード リストは、スペースで区切り、次の 2 つの方法のいずれかで指定します。
次の siUIKeywords 値とともに、リストで PPGItem.SetAttribute または PPGItem::PutAttribute メソッドに渡します。
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 )
[ファイル](File)メニューおよび[編集](Edit)メニューを表示するには、siUIToolbar を true に設定します。
oTextWidget.SetAttribute( siUIToolbar, true )
[ファイル](File)メニュー内の使用可能なオプションを制限するには、siUICapability 値とともに、siTextEditorCapability の列挙値のいずれか 1 つを渡します。たとえば、[新規作成]および[開く]オプションを無効にするには、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 ) |