日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトルページ
目次
まえがき
第1章:DEC入力サーバライブラリ
   ≫ 概要
   ≫ DIMsクラスのリソース
   ≫ パブリック・ルーチン
   ≫ サンプル・ファイル
PDF
OpenVMS ホーム
日本語 HP DECwindows Motif for OpenVMS

日本語 HP DECwindows Motif for OpenVMS
DEC 入力サーバ・ライブラリ


目次



各DIMsウィジェットは,ウィジェット自身の動作を決定する一連のデータを持っています。これをDIMsクラスと呼びます。この節では,DIMsクラスの各リソースの意味とその使用方法を説明します。

次の表に,プログラマがデータを指定するために使用する DIMsクラスのリソースを示します。各リソースは, DIMsSetTriggerKeys()を使用して設定および変更を行うDIMsNtriggerKeysを除いて, DIMsClassCtxCreate()使用時にのみ設定できます。 DIMsClassCtxCreate()およびDIMsSetTriggerKeys()については, 第 1.5 節 を参照してください。

次の表の備考の欄は, DIMsクラスの作成時にリソースの設定が必須(M)であるか,あるいは任意(O)であるかを示しています。

名前 省略時の値 備考
DIMsNlocale NULL DIMsLocaleInfo M
DIMsNserverName NULL DIMsStringList M
DIMsNversion 動的 DIMsVersion O
DIMsNextIMAttr NULL DIMsExtAttr O
DIMsNextICAttr NULL DIMsExtAttr O
DIMsNsupportStyles NULL DIMsSupportStyles M
DIMsNsupportEncodings Compound Text DIMssStringList O
DIMsNtriggerKeys NULL DIMsTriggerKeys O
DIMsNgetExtIMValuesCb NULL XPointer O
DIMsNcreateICCb NULL XPointer O
DIMsNdestroyICCb NULL XPointer O
DIMsNsetExtICValuesCb NULL XPointer O
DIMsNgetExtICValuesCb NULL XPointer O
DIMsNsetICFocusCb NULL XPointer O
DIMsNunsetICFocusCb NULL XPointer O
DIMsNresetICCb NULL XPointer O
DIMsNprocessEventCb NULL XPointer M
DIMsNsetAreaCb NULL XPointer O
DIMsNsetAreaNeededCb NULL XPointer O
DIMsNsetSpotLocationCb NULL XPointer O
DIMsNsetColormapCb NULL XPointer O
DIMsNsetStdColormapCb NULL XPointer O
DIMsNsetForegroundCb NULL XPointer O
DIMsNsetBackgroundCb NULL XPointer O
DIMsNsetBgPixmapCb NULL XPointer O
DIMsNsetFontSetCb NULL XPointer O
DIMsNsetLineSpaceCb NULL XPointer O
DIMsNsetCursorCb NULL XPointer O
DIMsNgetFilterEventsCb 動的 XPointer O
DIMsNgetAreaCb NULL XPointer O
DIMsNgetAreaNeededCb NULL XPointer O
DIMsNgetSpotLocationCb NULL XPointer O
DIMsNgetColormapCb NULL XPointer O
DIMsNgetStdColormapCb NULL XPointer O
DIMsNgetForegroundCb NULL XPointer O
DIMsNgetBackgroundCb NULL XPointer O
DIMsNgetBgPixmapCb NULL XPointer O
DIMsNgetFontSetCb NULL XPointer O
DIMsNgetLineSpaceCb NULL XPointer O
DIMsNgetCursorCb NULL XPointer O
DIMsNclientdata NULL XPointer O
DIMsNtriggerNotifyCb NULL XPointer O
DIMsNtransport X/ char O
DIMsNsetStringConversionCb NULL XPointer O
DIMsNsetStringConversionCallbackCb NULL XPointer O
DIMsNsetResetStateCb NULL XPointer O
DIMsNgetResetStateCb NULL XPointer O
DIMsNsetHotKeyCb NULL XPointer O
DIMsNgetHotKeyCb NULL XPointer O
DIMsNsetHotKeyStateCb NULL XPointer O
DIMsNgetHotKeyStateCb NULL XPointer O
DIMsNsetPreeditStateCb NULL XPointer O
DIMsNgetPreeditStateCb NULL XPointer O
DIMsNsetPreeditStateCallbackCb NULL XPointer O

以下の項で,これらのリソースについて説明します。

1.4.1 DIMsNlocale

DIMsウィジェットがサポートするロケールを指定します。このリソースの値はDIMsLocaleInfo型で,次の構造体へのポインタです。

                     typedef struct_DIMsLocaleInfo { 
                             char    *language; 
                             short   num_support_codesets; 
                             char    **support_codesets; 
                     }  DIMsLocaleInfoRec, *DIMsLocaleInfo; 

languageフィールドには言語とテリトリを指定します。指定する値は,たとえば ja_JP のように, XNLSに準拠しているものでなければなりません。 DIMsウィジェットが複数のコードセットをサポートしている場合は,ヌル終了文字列の配列としてsupport_codesetsフィールドを指定してください。たとえば日本語DIMsウィジェットの場合, support_codesetsにはeucJP,deckanji,sdeckanji を指定することができます。 DIMsウィジェットがすべてのコード・セットをサポートする場合は, num_support_encodingsに0を, support_codesetsにNULLを指定してください。クライアントがIMSに接続された後,クライアントのロケールはDIMsLocale(w)を使用して得ることができます。 DIMsLocaleについての詳細は, 第 1.5 節 を参照してください。

このリソースはDIMsクラスの作成に必須です。

1.4.2 DIMsNserverName

接続に使用される一連のアトム名を指定します。このリソースの値は, DIMsStringList型で,次の構造体へのポインタです。

                     typedef struct_DIMsStringList { 
                             short   num_of_strings; 
                             char    **string_names; 
                     } DIMsStringListRec, *DIMsStringList; 

num_of_strings フィールドには,接続に使用される別名の数を指定します。 string_namesフィールドには,接続に使用されるアトムの名前を指定するヌル終了文字列の配列を指定します。たとえばOpenVMSでは,日本語IMSの省略時の名前はDEC であり,次のようなアトムが作成されます。

_XIM_ja_JP@DEC 

@DECで終わるアトムは弊社専用ですので,同じ名前でアトムを作成しないでください。 OpenVMS XIM とIMSとの接続方法については, 第 1.3.2 項 および 第 1.3.3 項 を参照してください。

このリソースはDIMsクラスの作成に必須です。

1.4.3 DIMsNversion

DIMsウィジェットがサポートする IM プロトコルのバージョンを範囲で指定します。このリソースの値はDIMsVersion型で,次の構造体へのポインタです。

                     typedef struct_DIMsVersion { 
                             short   highest_major_version; 
                             short   highest_minor_version; 
                             short   lowest_major_version; 
                             short   lowest_minor_version; 
                     } DIMsVersionRec, *DIMsVersion; 

highest_major_versionフィールドには, DIMsクラスがサポートする IM プロトコルの最高メジャー・バージョンを指定します。

highest_minor_versionフィールドには, DIMsクラスがサポートする IM プロトコルの最高マイナー・バージョンを指定します。

lowest_major_versionフィールドには, DIMsクラスがサポートする IM プロトコルの最低メジャー・バージョンを指定します。

lowest_major_versionフィールドには, DIMsクラスがサポートする IM プロトコルの最低マイナー・バージョンを指定します。

本バージョンでは通常次のように設定します。

highest_major_version = 3
highest_minor_version = 0
lowest_major_version = 3
lowest_minor_version = 0

このリソースは任意です。

1.4.4 DIMsNextIMAttr

DIMsウィジェットがサポートする拡張XIM属性(XIM値)を指定します。このリソースが指定されると,クライアントは,これらの拡張XIM値に対してXGetIMValues()を使用することができます。このリソースの値はDIMsExtAttr型で,次の構造体へのポインタです。

                     typedef struct_DIMsExtAttr { 
                             short   num_of_ext_attr; 
                             Attr    ext_attr; 
                     } DIMsExtAttrRec, *DIMsExtAttr; 

num_of_ext_attrフィールドには,拡張XIM属性の数を指定します。 ext_attrフィールドには,拡張XIMの属性の配列を指定します。このフィールドの値はAttr型で,次の構造体へのポインタです。

                     typedef struct_Attr { 
                            unsigned short   type; 
                            char             *attributes; 
                     } AttrRec, *Attr; 

typeフィールドには,属性の型を定義する次のいずれかの値を指定します。

     #define byte_t                  1       /* 8 ビット符号なし整数*/ 
     #define word_t                  2       /* 16 ビット符号なし整数 */ 
     #define long_t                  3       /* 32 ビット符号なし整数 */ 
     #define string_t                4       /* char の配列 */ 
     #define window_t                5       /* Window フォーマット */ 
     #define ximstyles_t             10      /* XIMStyles フォーマット */ 
     #define xrectangle_t            11      /* XRectangle フォーマット */ 
     #define xpoint_t                12      /* XPoint フォーマット */ 
     #define xfontset_t              13      /* XFontSet フォーマット */ 
     #define ximhotkeytriggers_t     15      /* HotKeyTriggers フォーマット */ 
     #define ximhotkeystate_t        16      /* HotKeyState フォーマット */ 
     #define ximstringconversion_t   17      /* StringConversion フォーマット */ 
     #define ximpreeditstate         18      /* Preedit State フォーマット */ 
     #define ximresetstate           19      /* Reset State フォーマット */ 
     #define nestlist_t              0x7fff  /* Nested List フォーマット */ 

attributesフィールドには,拡張XIM値の名前を定義します。この値はヌル終了文字列でなければなりません。

このリソースは任意です。

1.4.5 DIMsNextICAttr

DIMsウィジェットがサポートする拡張XIC属性(XIC値)を指定します。このリソースが指定されると,クライアントはこれらの拡張XIC値に対して XGetICValues() および XSetICValues()を使用することができます。このリソースの値はDIMsExtAttr型で,次の構造体へのポインタです。

                     typedef struct_DIMsExtAttr { 
                             short   num_of_ext_attr; 
                             Attr    ext_attr; 
                     } DIMsExtAttrRec, *DIMsExtAttr; 

num_of_ext_attrフィールドには,拡張XIC属性の数を指定します。 ext_attrフィールドには,拡張XICの配列を指定します。このフィールドの値はAttr型で,次の構造体へのポインタです。

                     typedef struct_Attr { 
                            unsigned short   type; 
                            char             *attributes; 
                     } AttrRec, *Attr; 

typeフィールドには,属性の型を定義する次のいずれかの値を指定します。

     #define byte_t                  1       /* 8 ビット符号なし整数*/ 
     #define word_t                  2       /* 16 ビット符号なし整数 */ 
     #define long_t                  3       /* 32 ビット符号なし整数 */ 
     #define string_t                4       /* char の配列 */ 
     #define window_t                5       /* Window フォーマット */ 
     #define ximstyles_t             10      /* XIMStyles フォーマット */ 
     #define xrectangle_t            11      /* XRectangle フォーマット */ 
     #define xpoint_t                12      /* XPoint フォーマット */ 
     #define xfontset_t              13      /* XFontSet フォーマット */ 
     #define ximhotkeytriggers_t     15      /* HotKeyTriggers フォーマット */ 
     #define ximhotkeystate_t        16      /* HotKeyState フォーマット */ 
     #define ximstringconversion_t   17      /* StringConversion フォーマット */ 
     #define ximpreeditstate         18      /* Preedit State フォーマット */ 
     #define ximresetstate           19      /* Reset State フォーマット */ 
     #define nestlist_t              0x7fff  /* Nested List フォーマット */ 

attributesフィールドには,拡張XIC値の名前を定義します。この値はヌル終了文字列でなければなりません。

このリソースは任意です。

1.4.6 DIMsNsupportStyles

DIMsウィジェットがサポートする入力スタイルを指定します。このリソースの値はDIMsSupportStyles型で,次の構造体へのポインタです。

                     typedef struct_DIMsSupportStyles { 
                             short   num_support_styles; 
                             XIMStyle        *support_styles; 
                     } DIMsSupportStylesRec, *DIMsSupportStyles; 

num_support_stylesフィールドには,サポートする入力スタイルの数を指定します。 support_stylesフィールドには,XIMStyleの配列を指定します。

クライアントがIMSと接続したら,クライアントが選択した入力スタイルを DIMsInputStyle(w)を使用して得ることができます。 DIMsInputStyle についての詳細は 第 1.5 節 を参照してください。

このリソースは必須です。

1.4.7 DIMsNsupportEncodings

DIMsウィジェットがサポートするエンコーディングを指定します。 XIMライブラリはIMS に対して,確定した文字列または前編集の文字列に使用するエンコーディングを決定するよう要求します。 IMSは省略時のエンコーディングとして少なくともCOMPOUND_TEXTをサポートする必要があります。このリソースの値は DIMsStringList型で,次の構造体へのポインタです。

                     typedef struct_DIMsStringList { 
                             short   num_of_strings; 
                             char    **string_names; 
                     } DIMsStringListRec, *DIMsStringList; 

num_of_stringsフィールドには,サポートするエンコーディングの数を指定します。

string_namesフィールドには, DIMsウィジェットのエンコーディングを優先順位の高い順に定義するヌル終了文字列の配列を指定します。たとえば,通信のためのエンコーディングとしてSTRINGを使用したい場合, string_namesフィールドに STRING,COMPOUND_TEXT の順でエンコーディングを指定します。 XIMライブラリがSTRINGエンコーディングをサポートする場合はSTRINGが通信に使用され, STRINGエンコーディングをサポートしない場合は COMPOUND_TEXT が使用されます。

これらの2つのフィールドが指定さていない場合, XIMライブラリはエンコーディングとしてCOMPOUND_TEXTを使用します。クライアントがIMSと接続したら,サポートされているエンコーディングはDIMsEncoding(w)を使用して得ることができます。 DIMsEncodingについての詳細は, 第 1.5 節 を参照してください。


目次

© 2011 Hewlett-Packard Development Company, L.P.