| 日本-日本語 | 
      
  | 
  
      
  | 
  
| 
 | 
     
OpenVMS マニュアル | 
    
  
 
  | 
    
     
日本語 HP DECwindows Motif for OpenVMS
 | 
    
    
  |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 目次 | 
1.4 DIMsクラスのリソース | 
各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 | 
以下の項で,これらのリソースについて説明します。
 DIMsウィジェットがサポートするロケールを指定します。このリソースの値はDIMsLocaleInfo型で,次の構造体へのポインタです。
 
 
1.4.1 DIMsNlocale
![]()
                     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クラスの作成に必須です。
 接続に使用される一連のアトム名を指定します。このリソースの値は, 
DIMsStringList型で,次の構造体へのポインタです。
 
 
1.4.2 DIMsNserverName
![]()
                     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クラスの作成に必須です。
 DIMsウィジェットがサポートする IM プロトコルのバージョンを範囲で指定します。このリソースの値はDIMsVersion型で,次の構造体へのポインタです。
 
 
1.4.3 DIMsNversion
![]()
                     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
                     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値の名前を定義します。この値はヌル終了文字列でなければなりません。
                     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値の名前を定義します。この値はヌル終了文字列でなければなりません。
このリソースは任意です。
 DIMsウィジェットがサポートする入力スタイルを指定します。このリソースの値はDIMsSupportStyles型で,次の構造体へのポインタです。
 
 
1.4.6 DIMsNsupportStyles
![]()
                     typedef struct_DIMsSupportStyles { 
                             short   num_support_styles; 
                             XIMStyle        *support_styles; 
                     } DIMsSupportStylesRec, *DIMsSupportStyles; 
 | 
num_support_stylesフィールドには,サポートする入力スタイルの数を指定します。 support_stylesフィールドには,XIMStyleの配列を指定します。
クライアントがIMSと接続したら,クライアントが選択した入力スタイルを DIMsInputStyle(w)を使用して得ることができます。 DIMsInputStyle についての詳細は 第 1.5 節 を参照してください。
                     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 節 を参照してください。
| 目次 | 
      
  | 
  ||||||||