Solaris 共通デスクトップ環境 上級ユーザ及びシステム管理者ガイド

第 13 章 手入力によるデータ型の作成

データ型定義は、次の 2 つの方法で作成できます。

この章では、手入力によるデータ型定義の作成方法について説明します。

手入力でデータ型を作成しなければならない理由

データ型を手入力で作成すると、データ型定義の構文に構築されたすべての機能を使用できます。

次のデータ型の機能を使用する場合は、データ型を手入力で作成する必要があります。

データ型定義のコンポーネント: 基準と属性

データ型定義は、次の 2 つの異なるデータベース定義で構成されます。

DATA_ATTRIBUTES 定義に対して、少なくとも 1 つの DATA_CRITERIA 定義がなければなりません。DATA_ATTRIBUTES 定義は、関連する複数の DATA_CRITERIA を持つことができます。

たとえば、ファイル・マネージャでの PostScript ファイルの外観と動作を説明する PostScript ファイルの属性定義を作成できます。次に、PostScript データ型の 2 つの異なる基準を作成できます。1 つの基準はファイル名に基づき、もう 1 つはファイル内容に基づきます。

詳細は、「データ型のデータ基準の定義」を参照してください。

手入力によるデータ型の作成: 一般的な手順

この節では、データ型構成ファイルの作成方法を説明します。

データ型の構成ファイル

データ型定義を含む構成ファイルの要件は次のとおりです。

データベース検索パスの変更については、「検索パスの値の設定」を参照してください。

データ型定義を作成するには

  1. 既存のデータベース・ファイルを開くか、新しいファイルを作成します。

    詳細は、「データ型の構成ファイル」を参照してください。

  2. 次の構文を使って、データ型のデータ属性を定義します。

       DATA_ATTRIBUTES data_type_name
        {
          ICON						image_name
          DESCRIPTION				string
          attribute_field
          attribute_field
          ...
        }

    それぞれの意味は次のとおりです。

    data_type_name - このデータ型に指定する固有の名前

    image_name - アイコン・ファイルのファイル名またはパス。ファイルのベース名を使用します。たとえば、myimage.m.pmmyimage.t.pm というアイコン・ファイルには、myimage を使用します。

    attribute_field - データ型の外観と動作を定義するフィールド

    string - 文字列。内容はデータ型のアイテムヘルプです。

    詳細は、「パーソナル・アクションとデータ型の作成例」を参照してください。

  3. 次の構文を使って、データ型のデータ基準を定義します。

       DATA_CRITERIA criteria_name
        {
          DATA_ATTRIBUTES_NAME	data_type_name
          criteria_field
          criteria_field
          ...
        }

    それぞれの意味は次のとおりです。

    criteria_name - この基準定義の固有の名前

    data_type_name - DATA_ATTRIBUTES 定義で使用する名前

    criteria_field - ファイルをこのデータ型に割り当てるための基準を定義するのに使用するフィールド

    詳細は、「データ型のデータ基準の定義」を参照してください。

  4. データベース・ファイルを保存します。

  5. データ型のアイコンを作成します。

    詳細は、「データ型に使用するアイコン・イメージの指定」を参照してください。

  6. 必要に応じて、属性定義の ACTIONS フィールドにリストされたアクションを作成します。

  7. [デスクトップツール] アプリケーション・グループの [アクションの再読込み] をダブルクリックし、データベースを再読み込みします。

パーソナル・アクションとデータ型の作成例

GIF 画像を表示する xgif というアプリケーションがシステムに含まれているとします。通常は、次のように入力してプログラムを実行します。

xgif filename

GIF 画像は、次の 2 つの方法で表示するものとします。

  1. 新規ファイル HomeDirectory/.dt/types/GifViewer.dt を開きます。

  2. データ型定義を入力します。

       DATA_ATTRIBUTES Gif
        {
          DESCRIPTION				Gif image file.
          ICON						GifIcon
          ACTIONS					View
        }
    
       DATA_CRITERIA Gif_Criteria
        {
          DATA_ATTRIBUTES_NAME			Gif
          NAME_PATTERN						*.gif
        }
  3. GifViewer アクションのアクション定義を入力します。

       ACTION GifViewer
        {
          EXEC_STRING					xgif %(File)Arg_1"Gif file to view:"
          WINDOW_TYPE					NO_STDIO
          DESCRIPTION					Double-click or drop a file to ¥
     										   start the Gif viewer.
        }

    定義に ICON フィールドは含まれないので、アクションはシステムのデフォルト・アイコンを使用します。

  4. 次のマップ・アクションを入力し、GifViewer アクションを、データ型定義にリストされた View アクションに接続します。この表示アクションを Gif 型ファイルに制限するには ARG_TYPE フィールドを使用します。

       ACTION View
        {
          ARG_TYPE				Gif
          TYPE					MAP
          MAP_ACTION			GifViewer
        } 
  5. ファイルを保存します。

  6. [デスクトップツール] アプリケーション・グループの [アクションの再読込み] をダブルクリックし、データベースを再読み込みします。

データ型のデータ属性の定義

DATA_ATTRIBUTES 定義は、データ型の外観と動作を定義します。データ型名を指定し、次の内容を指定する機能を提供します。

データ型に使用するアイコン・イメージの指定

ICON フィールドを使用して、ファイル・マネージャで使用するアイコンを指定します。アイコン・イメージを指定しないと、ファイル・マネージャはラベルだけを表示します。

ICON フィールドの値は次のいずれかです。

作成するアイコンのサイズと、対応するファイル名を表 13-1 に示します。

表 13-1 データ型アイコンのアイコン名とサイズ

サイズ(ピクセル単位) 

ビットマップ名 

ピックスマップ名 

32x32 

name.m.bm

name.m.pm

16x16 

name.t.bm

name.t.pm

データ型とアクションの関連付け

データ型をアクションに関連付けるには、次の 2 つの方法があります。

たとえば次のデータ型定義は、*.rm という命名規則を使用して、システム管理者が作成した特殊な readme ファイルのデータ型を作成します。

DATA_ATTRIBUTES SysReadmeFile
 {
 	ICON						SysReadMe
 	ACTIONS					Open,Respond
 }

DATA_CRITERIA SysReadmeFileCriteria
 {
 	NAME_PATTERN						*.rm
 	DATA_ATTRIBUTES_NAME 			SysReadmeFile
 }

特殊な Respond アクションは、ファイルに対して下記のように定義されます。このアクションは、テキスト・エディタで書き込み可能なファイルのコピーを開きます。ファイルを保存してテキスト・エディタを終了すると、ファイルはシステム管理者にメールで送信されます (メール・アドレスは sysadmin@utd です)。

ACTION Respond
 {
 	ARG_TYPE				SysReadmeFile
 	EXEC_STRING			/bin/sh -c 'cp %Arg_1% $HOME/readme.temp;¥
 							chmod +w $HOME/readme.temp;              ¥
 							dtpad $HOME/readme.temp;                 ¥
 							cat $HOME/readme.temp |                  ¥
 							/usr/bin/mailx sysadmin@utd;             ¥
 							rm $HOME/readme.temp'
 	WINDOW_TYPE			NO_STDIO
 }

データ型に基づいてファイルを隠す

ファイルが非表示のデータ型の場合は、ファイル・マネージャには表示されません。

次のように DATA_ATTRIBUTES 定義の PROPERTIES フィールドを使用して、この型のオブジェクトを隠すよう指定します。

PROPERTIES				invisible

ファイルを処理するときの動作の指定

表 13-2 に示す DATA_ATTRIBUTES フィールドは、主にアプリケーション・プログラマが使用します。ユーザがさまざまなデスクトップ・アクティビティを実行したときのファイルの動作を指定します。

詳細は、開発者環境向けマニュアルの『Solaris 共通デスクトップ環境 プログラマーズ・ガイド』を参照してください。

表 13-2 DATA_ATTRIBUTES フィールドと説明

フィールド 

説明 

MOVE_TO_ACTION

ディレクトリなどのコンテナに対して使用します。このデータ型のコンテナにファイルを移動したときに実行するアクションを指定します。 

COPY_TO_ACTION

ディレクトリなどのコンテナに対して使用します。このデータ型のコンテナにファイルをコピーしたときに実行するアクションを指定します。 

LINK_TO_ACTION

このデータ型のファイルにファイルをリンクしたときに実行するアクションを指定します。 

IS_TEXT

このデータ型のファイルがテキスト・ボックスに表示できるテキストを含むよう指定します。 

MEDIA

対応する ToolTalk メディア型を指定します。 

MIME_TYPE

対応する MIME 型を指定します。 

X400_TYPE

対応する X400 型を指定します。 

データ型のデータ基準の定義

DATA_CRITERIA 定義は、オブジェクト型をファイルまたはディレクトリに割り当てるのに使用する基準を定義します。

使用できるオブジェクト型の基準は、表 13-3 のとおりです。

表 13-3 DATA_CRITERIA の基準と説明

基準 

説明 

ファイル名 

ファイル名は指定したパターンに一致しなければなりません。NAME_PATTERN フィールドを使用します。

ファイル位置 

パスは指定したパターンに一致しなければなりません。PATH_PATTERN フィールドを使用します。

ファイル内容 

ファイル内容の指定した部分が指定したデータに一致しなければなりません。CONTENT フィールドを使用します。

ファイル・モード 

ファイルは指定したアクセス権 (読み取り、書き込み、実行、ディレクトリ) を所有しなければなりません。MODE フィールドを使用します。

シンボリック・リンク

リンク名はオブジェクトがリンクするファイルに基づきます。 

1 つのデータ型に 2 つ以上の基準を使用できます。ただし、NAME_PATTERNPATH_PATTERN を同じデータ型で使用しないでください。

名前に基づいたデータ型

NAME_PATTERN フィールドを使用して、命名要件を指定します。フィールド値には、次のワイルドカードを指定できます。

? - 任意の 1 つの文字を示します。

* - 任意の文字列 (空文字列を含む) を示します。

[cc...] - 角括弧で囲まれた任意の文字 (c) を示します。

[c-c] - c から c までの範囲の任意の文字を示します。

位置に基づいたデータ型

PATH_PATTERN フィールドを使用してパスを指定します。NAME_PATTERN と同じワイルドカードを使用できます。

たとえば、次のデータ型はパスに基づいた基準を使用します。

DATA_ATTRIBUTES Project_Graphics
 {
 	DESCRIPTION			Graphics file for the QS project. Double-click the ¥
 							icon to see the graphic.
 	ICON					QSgraphics
 }

DATA_CRITERIA Project_Graphics_Criteria
 {
 	DATA_ATTRIBUTES_NAME			Project_Graphics
 	PATH_PATTERN						*/projects/QS/graphics/*
 }

名前と位置に基づいたデータ型

ファイル名と位置の両方に基づいたデータ型を作成するには、PATH_PATTERN の値に名前を取り込みます。NAME_PATTERNPATH_PATTERN の両方を同じ基準定義で使用できません。

データ型作成基準としてのファイル・モードの使用

MODE フィールドを使用して、必須アクセス権を指定します。

通常、モード基準は名前、位置、内容に基づいたデータ型作成の組み合わせで使用します。これらの基準によって、データ型をファイルまたはディレクトリに制限したり、必須の読み取り権、書き込み権、実行権を指定したりできます。

MODE フィールドには、論理演算子 (表 13-4) と文字 (表 13-5) を指定できます。

表 13-4 MODE フィールドの論理演算子と説明

演算子 

説明 

!

論理演算子 NOT

&

論理演算子 AND

|

論理 OR

表 13-5 MODE フィールドの文字と説明

文字 

説明 

f

ファイルだけに適用されるデータ型 

d

ディレクトリだけに適用されるデータ型 

r

任意のユーザが読み取れるファイル 

w

任意のユーザが書き込めるファイル 

x

任意のユーザが実行できるファイル 

l

リンクであるファイル 

特定モードのデフォルトは、モードには関係ありません。

内容に基づいたデータ型

CONTENT フィールドを使用して、ファイル内容に基づいたデータ型を作成します。内容に基づいたデータ型の作成には、名前または位置に基づいたデータ型を組み合わせて使用できます。

データ型作成は、ファイルの文字または数字内容に基づいて行われます。ファイルの最初のバイトの番号は 0 です。

たとえば、次のデータ型 Writable_Wingz は、ファイルの最初に WNGZ 文字列が入っていて、書き込み権を持つすべてのファイルに適用されます。

DATA_ATTRIBUTES Writable_Wingz
 {	
 	...
 }

DATA_CRITERIA Writable_Wingz_Criteria
 {
 	CONTENT						0 string WNGZ
 	MODE							w&!d
 	DATA_ATTRIBUTES_NAME	Writable_Wingz
 }

独自の基準を持つデータ型を作成するには

いくつかの独自の基準を持つデータ型を作成できます。つまり、基準のいずれか (または両方) に一致した場合、ファイルはデータ型に割り当てられます。

  1. データ型の DATA_ATTRIBUTES 定義を作成します。

  2. 基準ごとに DATA_CRITERIA 定義を作成します。

    DATA_ATTRIBUTES_NAME フィールドを使用して、各基準を同じ DATA_ATTRIBUTES 定義に接続します。

たとえば、次の定義は Mif データ型を作成します。データ型は名前または内容に基づき作成します。

DATA_ATTRIBUTES Mif
{
 	ICON								Frame
 	ACTION_LIST						Open,Print
 }

DATA_CRITERIA Mif_Name_Criteria
 {
 	DATA_ATTRIBUTES_NAME				Mif
 	NAME_PATTERN							*.mif
 }

DATA_CRITERIA Mif_Content_Criteria
 {
 	DATA_ATTRIBUTES_NAME		Mif
 	CONTENT							1 string MIFFile
 }

ローカライズされたデータ型の作成

データ型の検索パスには、言語に依存した位置を含みます。デスクトップは LANG の値を使用して、データ型定義を検索する場所を決定します。

ローカライズされたデータ型の位置

ローカライズされたデータ型定義は、アクション検索パス上にある正しい言語依存ディレクトリになければなりません。

デフォルト検索パスは次のとおりです。

データ型をローカライズするには

  1. 適切な言語依存ディレクトリ (/etc/dt/appconfig/types/japanese など) にファイルを作成します。

  2. データ型定義を言語に依存した構成ファイルにコピーします。

  3. データ型定義の 1 つ以上のフィールドをローカライズします。