前へ 次へ 目次 文書セット ホーム


第 5 章

 

その他のエディタ


はじめに

Sun WorkShop Visual には、頻繁に行う作業が簡単に実行できるように特殊なエディタが用意されています。こ れらのエディタを使用して、以下の作業を実行することができます。

本章では、これらのエディタをすべて使用して学習用インタフェ ースをカスタマイズします。エディタはウィジェットリソースパネルから呼び出され、編 集結果はリソースパネルのそれぞれのフィールドに追加されます。また、「ツール」メニ ューからカラー選択パネル、ピックスマップ・エディタ、フォント選択パネルを表示する こともできます。これらのエディタは、選択した任意のウィジェットに対して個別に使用 することができます。

色の設定

前景色および背景色はすべてのウィジェットの基本要素であるた め、これらのリソースはコアリソースパネルに配置されています。階層内のウィジェット に対してこれらの色を設定するには、次の手順に従って操作を行います。

    1. 階層内で「Strawberry」トグルボタンアイコンを選択します。

    2. ツールバー上の「コアリソース」ボタンをクリック、あるいはウィジェットメニューをプ ルダウンして、「コアリソース」をクリックします。

    前章では、リソースパネルの右側のテキストボックスに直接リソ ースの設定値を入力しました。しかし、本章で説明するエディタを使用するには、コアリ ソースパネルの左側にあるボタンをクリックします。

    3. 「表示」ページで「前景色」プッシュボタンをクリックします。

    図 5-1 に示されるようなカラー選択パネルが表示されます。

 

    図 5-1 カラー選択パネル

X カラーリストからの選択

「X カラー」には、すでに名前の付いた色が多数表示されています。初めてインタフェースの 色を選択する場合には、これらの標準の色を使用することをお勧めします。

    1. スクロールリストに表示されている X カラーを下方にスクロールします。

    2. 色を選択します。

    色を選択するときは、現在カラー選択エディタ上で選ばれている 色がダイアログの右上部に表示されます。左側にはウィジェットの現在の色が表示される ので、2 つの色を比較することができます。

    maroon (くり色) のような暗い赤みがかった色を選択します。これらの色は、リストの中程にまとめられて います。選択された色はカラー選択パネルの上部に表示されます。

    3. カラー選択の「適用」をクリックします。

    これにより、選択した色がコアリソースパネル上の「前景色」リ ソースに適用されます。これをウィジェットに適用するには、以下の操作を行う必要があ ります。

    4. コアリソースパネルの「適用」をクリックします。

    ダイナミックディスプレイでは「Strawberry」トグルボタンの色 が変化します。前景色の代わりに背景色が変わって見える場合がありますが、心配する必 要はありません。これは、階層内でウィジェットが選択されているために、前景色と背景 色を入れ替えることによってその選択をダイナミックディスプレイで反映させているため です。

    本当の色を確認するためには以下の操作を行います。

    5. 階層内でシェルを選択します。

    これで、ダイナミックディスプレイには「Strawberry」トグルボ タンの正しい前景色ならびに背景色が表示されます。

色の構成要素の使用

X カラーリストからの選択は、色を指定する方法の 1 つにすぎません。別の方法として、構成要素を使用して色を作成する、というものがあり ます。次は、この方法を使用して「Strawberry」トグルボタンの背景色を設定します。

    1. 階層内で「Strawberry」トグルボタンを選択します。

    2. コアリソースパネルで、「背景色」をクリックします。

    3. スライダを使用して、色を変更します。

    カラー選択の上部にあるスライダを使用すると、色の三原色であ る赤、緑、青の要素、色相、彩度および明度を個々に制御することができます。変更は、 カラー選択パネルの上部に即座に反映されます。「カラー名」テキストボックスには、選 択した値を連結した値が表示されます。

    これは背景色であるため、淡い (彩度の低い) 色を使用すると良いでしょう。明るい色を使用することにより、暗めの色を使用している ラベルとのコントラストがはっきりします。

    4. 希望通りの色になったら、「X カラーリストからの選択」の手順 3 と手順 4 を繰り返してその色を適用します。

    次のセクションへ進む前に、カラー選択パネルで選択した色を変 更しないでください。

カラーオブジェクト

視覚的効果の高いインタフェースを作成するためには、使用する 色に一貫性を持たせることが大切です。Sun WorkShop Visual には、ユーザーの指定する名前に色を設定する、カラーオブジェクト機能があります。こ の機能を使用して、学習用インタフェースの中央部にあるすべてのウィジェットに同一の 背景色を適用します。

    1. 階層内で「Strawberry」トグルボタンを選択します。

    2. コアリソースパネルで、「背景色」をクリックします。

    3. カラー選択パネル内でカラーオブジェクトのリストの下にある「名前」テキストフィール ドの中をクリックします。

    4. 次のように入力します。
    background

    5. 「バインド」をクリックします。

    選択した色が「background」という名前のカラーオブジェクトに 設定されます。「選択」ボックスには、background が山括弧で囲まれて表示されます。

    6. カラー選択パネルおよびコアリソースパネルで「適用」をクリックします。

    背景色リソースに対する設定をカラーオブジェクト名として入力 すると、次の操作によって、その他のウィジェットにこの背景色を適用することができま す。

    7. 階層内で「Vanilla」トグルボタンを選択します。

    8. コアリソースパネルで、「背景色」テキストフィールドをダブルクリックします。

    9. 次のように入力します。
    <background>

    角括弧を使用しなければいけないことに注意してください。オブ ジェクト名と文字列値は、角括弧により区別されます。たとえば、カラーオブジェクト名 <red> は、色としての red とは区別されます。

    10. 「適用」をクリックします。

    「Vanilla」トグルボタンの色が変更されます。次に、この背景色 を「Chocolate」トグルボタンおよび同じ背景色を使用するその他のウィジェットに適用 します。

カラーオブジェクトのバインド変更

カラーオブジェクトを使用する場合、そのカラーオブジェクトを 参照する、すべてのウィジェットの色を容易に変更することができます。このため、 さまざまな色を簡単に試すことができます。

    1. カラー選択パネルで、「カラーオブジェクト」リストの「background」をクリックします 。

    カラー選択パネルの右上部に背景色が表示され、オブジェクトの リストの下にあるテキストフィールドに「background」が表示されます。

    2. カラー選択パネルの上部にあるスライダを使用して色を変更します。

    3. 「バインド」をクリックします。

    カラーオブジェクトを参照するすべてのリソースが新しい色に変 更され、その変更はただちにダイナミックディスプレイに反映されます。

新しい色の作成、作成した色のカラーオブジェクトへの設定、カ ラーオブジェクトのカラーリソースへの割り当てを実行してみてください。また、X カラーリストの色をカラーオブジェクトに割り当てることも可能です。これらの手順を繰 り返すことにより、ユーザー独自のカラーパレットを構築することができます。カラーオ ブジェクトに割り当てる色は変更する場合もあるため、カラーオブジェクト名は色の名前 ではなく、「background」のように機能の名前にします。

カラーオブジェクトはデザインファイルに保存されます。つまり 、デザインファイルが異なっている場合には、違う色を保存するために同じ名前を使用で きるということを意味します。たとえば、あるデザインではカラーオブジェクト「backgr ound」が黄色であり、別のデザインでは青であるかもしれません。しかし、同一のデザイ ン内では、「 background 」のようなオブジェクト名は常に同じ色を参照します。

「グローバル」 にすると、複数のファイルでカラーオブジェクトを共有できます。コードを生成するとき に適切なトグルを設定して、カラーオブジェクトのファイル間での共有を制御します。詳 細は、「大域オブジェクト関数」を参照してください。

フォントの設定

フォント選択パネルを使用すると、ウィジェットで表示するテキ ストのフォントスタイルおよびサイズを選択することができます。使用可能なフォントス タイルはシステムによって決定されるため、新しいフォントを作成することはできません 。

これまで、学習用インタフェース内のすべてのテキストにはデフ ォルトフォントを使用してきました。本セクションでは、フォント選択パネルを使用して 以下の作業を行います。

本セクションでは、テキスト文字列での単一のフォントの使用に ついて説明します。単一のラベル文字列に複数のフォントを使用することができる複合フ ォントオブジェクトについては、「コンパウンド文字列」で説明しています。

フォントの選択

学習用インタフェースの視覚的効果を高めるために、図 5-2 に示すように、いくつかのフォントをデフォルトから斜体に変更します。

 

    図 5-2 フォント設定前および設定後のトグルボタン

まず、フォント選択パネルを表示します。

    1. 「Double Scooper」ラジオボタンをダブルクリックして、リソースパネルを表示します。

    2. リソースパネルの「表示」ページで、「フォント」をクリックします。

    図 5-3 に示されるフォント選択パネルが表示されます。

 

    図 5-3 フォント選択パネル

フォント選択パネルの領域

フォント選択パネルは、システムで使用可能なすべてのフォント のリストを表示します。マシンによってインストールされているフォントが異なるため、 表示されるリストが図とは異なる場合があります。

リスト内には非常に多くのフォントが存在します。これらのフォ ントは、メニューバーを使用してフォントファミリ、ウェート (線の太さ)、およびポイントサイズなどの基準ごとにフィルタすることができます。

フォントリストの下にあるトグルボタンを使用すると、スケーラ ブルフォント、非スケーラブルフォント、あるいはその両方を選択することができます。

リストからフォントを選択すると、「フォント名」および「選択 」フィールドに名前が表示されます。

フォント選択パネルは、フォントオブジェクトおよびそれに関連 付けられているフォントリストタグの一覧も表示します。単純なフォントオブジェクトは 、フォント名の別名としても使用することができます。「コンパウンド文字列」では、複合フォントオブジェクトの使用について説 明します。

フォントリストのフィルタ

これから「Double Scooper」ラベルのフォントを 14 ポイントの太字 (bold) の斜体 (oblique) Helvetica 書体に変更します (ワークステーションにこのフォントがインストールされていない場合には、別のフォン トを選択してください)。リスト内には多数のフォントがあるため、条件を設定してリス トをフィルタすると良いでしょう。「フォント名」および「選択」フィールドには、行わ れた変更が反映されます。

    1. メニューバーから Family メニューをプルダウンして「Helvetica」を選択します。

    これにより、リストから Helvetica 以外のすべてのフォントが取り除かれます。

    2. Weight メニューをプルダウンして「bold」を選択します。

    3. Slant メニューをプルダウンして、「oblique」を表わす「o」を選択します。

    4. PtSize (ポイントサイズ) メニューをプルダウンして「140」を選択します。

    ポイントサイズはポイントの 10 倍で指定されるため、これで 14 ポイントフォントを選択することになります。

これらの操作を行うと、フォントリストの項目数は約 4 個に減少します。代表的なフォント名を図 5-4 に示します。1 つのフォントを指定するためには数多くのフィールドが必要とされますが、それらのフィ ールドのほとんどは高度な印刷にのみ使用されるものです。最も頻繁に使用する可能性が あるフィールドは、Family、Weight、Slant および PtSize です。また、75 dpi (インチごとのドット数) または 100 dpi などの表示解像度の指定が必要な場合もあります。これらのフィールドを図 5-4 に示します。

 

    図 5-4 代表的なフォント名

図 5-4 の例では、水平および垂直の両方に 100 dpi を指定しています。これはほとんどのワークステーションディスプレイに適しています。

    5. ResX メニューをプルダウンして、解像度 100 または 75 dpi を選択します。

使用するディスプレイに適した解像度を選択してください。適し た解像度がわからない場合は 100 dpi を使用してください。

フォントの適用

これまで行なった操作で、インタフェースのフォントを指定する ことができました。次は、このフォントを「Double Scooper」ラジオボタンに適用します。

    1. フォント選択パネルの「適用」をクリックします。

    リソースパネルの「フォント」リソースに選択したフォントが適 用されます。

    2. リソースパネルの「適用」をクリックします。

    「Double Scooper」ラジオボタンには、大きめで太字の斜体フォントのラベルが付きます。

    3. 「Small」ラジオボタンを選択します。

    4. フォント選択パネルの PtSize メニューをプルダウンして、「100」を選択します。

    フィルタリングが変更された場合には、「サンプルテキスト」ボ タンを押して、テキスト例を表示しなおすことができます。フォントによっては、読み込 みに大変長い時間を要するものがあるため、Sun WorkShop Visual はテキスト例の再表示を自動的には行いません。

    5. フォント選択パネルおよびリソースパネルで「適用」をクリックします。

    「Small」ラジオボタンには、「Double Scooper」ラベルよりも小さめの太字傾斜フォントのラベルが付けられます。先に進む前 に、以下の操作でフォント選択パネルをリセットしてすべてのフォントを表示します。

    6. フォント選択パネルの下部にある「すべてのフォント」をクリックします。

    フォントフィルタのすべての要素は「*」にリセットされ、使用可 能なすべてのフォントが表示されます。

スケーラブルフォント

ラジオボタンで使用するフォントは非スケーラブルフォントです 。非スケーラブルフォントとは、固定されたポイントサイズでのみ使用できるフォントの ことです。X は、任意のサイズで表示できるスケーラブルフォントもサポートしています。スケーラブ ルフォントを選択するには、以下の操作を行います。

    1. フォント選択パネルで「非スケーラブル」トグルをクリアします。

    リストからすべての非スケーラブルフォントが取り除かれ、リス トが空になります。

    2. 「スケーラブル」トグルを設定します。

    リストにスケーラブルフォントが追加されます。これらのフォン トは、ピクセルサイズまたはポイントサイズを調整することによってサイズを指定するこ とができます。ピクセルサイズは、フォント記述子の最初の数字フィールドであり、ポイ ントサイズは、2 番目の数字フィールドです。これらのフィールドは両方とも、すべてのスケーラブルフォ ントに対して最初 (デフォルトサイズ) は 0 に設定されています。

    3. 「Vanilla」トグルボタンを選択します。

    4. リスト内でフォント名の 1 つをクリックします。

    選択したフォントは、「フォント名」、「選択」、「サンプルテ キスト」フィールドに表示されます。

    5. 「フォント名」フィールド (「選択」フィールドではない) をクリックします。

    6. 2 番目の数字フィールド (ポイントサイズフィールド) を編集して 240 (24 ポイント) にします。

    7. Return キー を押すか、「サンプルテキスト」ボタンをクリックして、そのテキストサイズの例を表示 します。

スケーラブルフォントを使用する場合、ピクセルサイズまたはポ イントサイズのどちらか (両方ではありません) に対して 0 以外の値を指定します。0 が指定されているフィールドは、明示的に指定された値に合わせて調整されます。両方の フィールドに 0 以外の値を指定した場合、それらの値が一致しないとエラーメッセージが表示されます。

ポイントサイズ値 (ポイントの 10 倍で指定) は、通常ピクセルサイズ値よりも大きな値です。ポイントサイズ 240 は、30 から 35 の間のピクセルサイズに相当します。正確な比率は、画面の解像度と特定のフォントによ り異なります。

Sun WorkShop Visual にはアウトラインスケールとビットスケールの 2 種類のスケーラブルフォントがあります。サンプルテキストがギザギザになっている場合 、そのフォントはビットスケールです。アウトラインスケールのフォントのみをリストす るためには、Fndry メニューをプルダウンして「bitstream」を選択します。

動作を確認し、フォント選択パネルを非スケーラブルフォントに 設定しなおします。

    8. 「非スケーラブル」トグルをクリックします。

単純フォントオブジェクト

これまで、2 個のラジオボタンに対して、個々にフォントの設定を行いました。この方法で複数のウィ ジェットに同じフォントを設定する場合、後で変更を行う際にはそれぞれのウィジェット に対して個別に変更作業を行う必要があります。また、Sun WorkShop Visual がアプリケーションに対して生成したコードは、各ラベルに対して同じフォントをロード するために個別にシステムの呼び出しを実行することになり、効率が悪くなります。

したがって、複数のウィジェットが同一のフォントを使用する場 合には、単純フォントオブジェクトを作成します。すると、プログラミングと保守の両方 を容易に行うことができます。フォントオブジェクトは、フォントのリストの別名です。 単純フォントオブジェクトは、1 要素からなるリストの別名です。

    1. メニューを使用して 12 ポイントの bold oblique helvetica フォントを選択します。

    X フォントのリストに複数のフォントが表示される場合には、その中の 1 つを選択します。

    2. フォントオブジェクトのリストの下にある「名前」フィールドに次のように入力します。
    option_labels

    フォントオブジェクトの指定は変更される場合があるため、その 名前には、サイズやスタイルではなく機能名を付けるようにします。

    3. 「バインド」をクリックします。

    「option_labels」という名前のフォントオブジェクトが作成され ます。この中のリストには、12 ポイントの helvetica フォント 1 つだけしか含まれていません。これには、フォントリストタグ <default> が関連付けられています。フォントリストタグの使用については、「コンパウンド文字列」で説明します。

「選択」フィールドは自動的に更新を行なって名前「<option_ labels>」を表示します。山括弧 (<>) は、それがフォント名ではなくフォントオブジェクトであることを示します。このフォン トは、「適用」をクリックした場合にリソースに適用されます。この段階ではまだ適用し ないでください。後ですべてのトグルボタンに対して、一括してフォントオブジェクトを 適用します。

    4. 3 個のトグルボタン「Vanilla」「Chocolate」「Strawberry」および 3 個のラベル「Topping1」「Topping2」「Topping3」をすべて選択します。

    これを行うには、ウィジェットを囲むように矩形をドラッグする か、ウィジェットを 1 つ選択してから、Shift キーを押したまま残りの 2 つを選択します。

    5. フォント選択パネルで「適用」をクリックします。

    フォントオブジェクトがトグルボタンに適用されます。

    6. リソースパネルで「適用」をクリックします。

    フォントオブジェクトが、現在選択されているウィジェットすべ てに適用されます。

    現段階で、インタフェースは図 5-5 のようになります。

 

    図 5-5 フォントを適用したインタフェース

フォントオブジェクトの変更

トグルボタンおよびラベルのテキストは、フォントオブジェクト が設定されたフォントで表示されています。このフォントスタイルは、フォントオブジェ クトを別のフォントに設定するだけで変更できます。

    1. Slant メニューをプルダウンして「regular」を表わす「r」を選択します。

    2. Family メニューをプルダウンして「Times」を選択します。

    フォントリストは 12 ポイントの太字 Times フォントを表示します。リストが空の場合は、異なるフォントファミリを選択します。

    3. 「バインド」をクリックします。

    フォントオブジェクトが、Times フォントに対応して変更され、すべてのラベルおよびトグルボタンはダイナミックディス プレイ上で即座に変更されます。

フォントオブジェクトはデザインファイルと一緒に保存されます 。これは、異なるデザインファイルでは異なるフォントを持つフォントオブジェクトに対 しても、同じ名前が使用できることを意味します。たとえば、あるデザインではフォント オブジェクト option_labels が Helvetica であり、別のデザインでは同じ名前のフォントオブジェクトが Times である場合もあります。

フォントオブジェクトを 「グローバル」 にすると、複数のファイルで共有できます。コードを生成するときに適切なトグルを設定 して、フォントオブジェクトのファイル間での共有を制御します。詳細は、「大域オブジェクト関数」 を参照してください。

ピックスマップの選択

ラベルおよびボタンには、テキスト文字列の代わりにピックスマ ップを使用することができます。Sun WorkShop Visual では、ピックスマップの作成および適用を行うための 2 種類のエディタを備えています。まず最初に、ピックスマップ選択パネルを使用して、ピ ックスマップのウィジェットへの適用の基礎を学習します。その後、ピックスマップエデ ィタを使用してカスタムピックスマップをいくつか作成します。

Sun WorkShop Visual では、標準 X ビットマップエディタを使用して作成されたビットマップを使用することができます。ま た、パブリックドメインの Xpm 形式のピックスマップを使用することが可能で、その形式のピックスマップを構築するた めのエディタも含まれています。 Xpm ライブラリは、Sun WorkShop Visual に含まれています。

ビットマップとピックスマップ

Xpm 形式のピックスマップは、その他のどのユーティリティで作成されたものでも使用するこ とができます。ビットマップとはモノクロで Xbm 形式のもの、ピックスマップとはカラーで Xpm 形式のものを指します。ただし、Sun WorkShop Visual ピックスマップエディタを使用することで X ビットマップを編集することもできます。この編集を行う場合、Sun WorkShop Visual はビットマップを 2 色のピックスマップに変換し、 Xpm 形式で描画します。このピックスマップを 2 色のままにしておくこともできますが、他の色を追加することもできます。

ビットマップの選択

まず最初に、トグルボタンのラベルを X ビットマップのうちの 1 つに置き換えます。

    1. 階層内で「Cone」プッシュボタンをダブルクリックします。

    2. リソースパネルの「表示」ページで、「ピックスマップ」をクリックします。

    Sun WorkShop Visual は、ピックスマップ選択パネルを表示します。図 5-6 にピックスマップ選択パネルの例を示します。

 

    図 5-6 ピックスマップ選択パネルの例

    3. X ビットマップから任意のビットマップを選択します。

    選択されたビットマップは、ピックスマップウィンドウの上部に 表示されます。

    4. ピックスマップウィンドウで、「適用」をクリックします。

    選択した内容がリソースパネルの「ピックスマップ」リソースに 適用されます。

    5. リソースパネルにおいて、「適用」をクリックします。

    ダイナミックディスプレイにはテキストラベルだけが表示されま すが、この段階では、トグルボタンはテキストラベルとピックスマップラベルの両方を持 っています。ピックスマップラベルを表示するためには、表示するラベルの種類を制御す るリソースを変更する必要があります。

    6. リソースパネルの「設定」ページで、「種類」の設定を「ピックスマップ」に変更します 。

    7. リソースパネルで「適用」をクリックします。

トグルボタンはテキストラベルの代わりにピックスマップを表示 します。この場合、ピックスマップは役に立つ情報を含んでいないため、「種類」リソー スを「文字列」に戻します。

システムに別の X ビットマップファイルがある場合には、それらのファイルを使用することもできます。「 開く」をクリックすると、ファイル選択パネルが表示されます。そのファイル選択パネル を使用すると、ビットマップファイルの検索および X ビットマップのリストへの追加を行うことができます。

また、X ビットマップのリストの下にあるテキストボックスにビットマップの名前を入力して「追 加」をクリックすると、その名前をリストに追加できます。ビットマップがまだ存在して いない場合でも、その名前をリストに追加してリソースに適用することができます。開発 時あるいは実行時など、後からビットマップを供給することができます。

ピックスマップの選択

ピックスマップ選択パネルの右側のリストは、現在定義されてい るピックスマップオブジェクトのリストです。これらは、オブジェクトとしてバインドさ れたピックスマップです。リスト内の名前は、オブジェクトの名前です。新規のピックス マップオブジェクトに命名し、次にピックスマップを作成するか既存のピックスマップま たはビットマップを読み取ることができます。オブジェクトを新規に作成するには、リス トの下にあるテキストボックスに名前を入力します。ピックスマップを作成したオブジェ クトに対応させるには、「編集」ボタンを押します。ピックスマップの読み取り方法また は作成方法については、「ピックスマップの編集」で説明します。

ピックスマップの編集

Sun WorkShop Visual では、ピックスマップ作成のためのエディタを提供しています。ピックスマップエディタ を使用すると、独自のピックスマップを作成する以外にも、以下の作業を行うことができ ます。

ピックスマップを Xpm 1 形式に書き込むか Xpm 3 形式に書き込むかを選択できます。Xpm 3 形式が最新なので、この形式を使用してください。Xpm 1 形式 は、古いピックスマップ操作アプリケーションとの互換性を保証するために提供されてい ます。

Sun WorkShop Visual 上のウィジェットで使用されるすべてのピックスマップは、ピックスマップ・オブジェク トに設定されていなければなりません。まず、図 5-7 に示すように、「Cone」プッシュボタンに対してのピックスマップを作成します。

 

    図 5-7 ピックスマップボタンのある学習用インタフェース

「ピックスマップの選択」から作業を続けている場合には、すでにピックス マップ選択パネルが表示されているため、手順 1 と手順 2 は省くことができます。

    1. 階層内で「Cone」プッシュボタンをダブルクリックします。

    2. リソースパネルの「表示」ページで、「ピックスマップ」をクリックします。

    3. ピックスマップ選択パネルの「ピックスマップ・オブジェクト」部にあるテキストボック スに、次のように入力します。
    cone

    4. 「編集」ボタンをクリックします。

    図 5-8 に示すようなピックスマップ・エディタが表示されます。

 

    図 5-8 ピックスマップエディタ

「ピックスマップ・エディタ」ウィンドウの最上部にはメニュー バーがあり、その下にはツールバーがあります。ウィンドウの左側にはツールパレットが あり、現在設定されている前景色と背景色がツールパレットの下に表示されています。中 央には描画領域があり、その右側には作成したピックスマップが実サイズで表示されます 。

ピックスマップ・エディタのツールバー

図 5-9 に示すツールバーには、次のような操作を行うためのボタンがあります。

 

    図 5-9 ピックスマップ・エディタのツールバー

ピックスマップ・エディタのファイルメニュー

ファイルメニューには、「新規」、「ファイルを開く」、「XPM ファイルを保存」、「閉じる」の 4 つのオプションがあります。

新規

新規は、これまでのイメージをすべて削除して、空白の編集領域 を新規に作成します。変更後にイメージをバインドしていない場合は、警告メッセージが 表示されます。イメージをバインドしたい場合は、「ピックスマップ・オブジェクト」で説明するように「取消し」を選択して からイメージをバインドします。イメージをバインドしたくない場合は、「了解」を押し て処理を続行します。

ファイルを開く

システム上に X ピックスマップファイルがある場合は、それらのファイルを自分のインタフェースに使用 することができます。「ファイル」メニューから「ファイルを開く」を選択すると、ファ イル選択パネルが表示され、ピックスマップ・エディタにピックスマップファイルを読み 込むことができます。Sun WorkShop Visual は、ピックスマップを XPM 3 形式で読み取ります。また、X ビットマップファイルを読み取り、それをピックスマップ・エディタで編集するためのピ ックスマップへの変換も行います。

XPM ファイルを保存

ピックスマップ・エディタの「ファイル」メニューから「XPM ファイルを保存」を選択すると、作成したピックスマップをファイルに書き込むことがで きます。

Sun WorkShop Visual は、XPM 1 形式および XPM 3 形式で書き込みを行います。通常は、ピックスマップは XPM 3 形式で保存します。XPM 1 は、他社製のピックスマップ処理ユーティリティの旧バージョンとの互換性を持たせるた めに用意されています。

閉じる

エディタウィンドウを閉じます。最後にバインドしてから変更を 加えた場合は、警告メッセージが表示されます。イメージをオブジェクトにバインドする 方法については、「ピックスマップ・オブジェクト」を参照してください。

作業の保存

XPM ファイルへのバインドまたは書き込みを行うごとに、作成中のピックスマップの現在の状 態を保存してください。作業中には、頻繁に保存を行うことをお勧めします。

ピックスマップ・エディタの編集メニュー

「編集」メニューには、「元に戻す」、「カット」、「コピー」 、「ペースト」、「消去」、「切り取り」、「すべて選択」の 7 つの項目があります。

「編集」メニューのほとんどのオプションは、ピックスマップの 選択された部分に作用します。選択を行うには、図 5-10 に示すツールパレット上の選択ツールを使用します。

 

    図 5-10 選択ツール

    1. 選択ツールをクリックします。

    2. 描画領域をクリックしてドラッグします。

矩形フレーム内の×印でマークされたピクセルおよびフレーム内 すべてのピクセルが選択されます。イメージの一部を選択した場合は、その領域の寸法と 位置が、ウィンドウ下部のステータス行に表示されます。「編集」メニューの「すべて選 択」オプションを選択すると、イメージ全体を選択することができます。

元に戻す

編集領域での直前のアクションを元に戻します。

カット

イメージの選択部分を削除してクリップボードに移動します。

コピー

イメージの選択部分をクリップボードにコピーします。

ペースト

クリップボードの内容を選択領域にペーストします。選択領域が クリップボード上の領域よりも小さい場合は、クリップボードのイメージの左上を選択領 域の左上に合わせ、クリップボードの領域を選択領域に収まる分だけ描画します。

消去

イメージの選択部分をクリップボードにコピーしないで削除しま す。

切り取り

選択領域を切り取り、その領域だけを表示します。

すべて選択

イメージ全体を選択します。

ピックスマップ・エディタの表示メニュー

「表示」メニューには、「ドラッグカラー」というラベルが付い たプルライトメニュー項目が 1 つあります。この項目は、ドラッグする際の選択矩形の色に関係します。この項目にマウ スポインタをあわせて右側に移動させると、「反転」ラベルおよび「Xor」ラベルが付い た 2 個のラジオボタンが表示されます。これらは、選択矩形の表示方法を説明しています。

ピックスマップ・エディタのイメージメニュー

「イメージ」メニューには「サイズ変更」という項目が 1 つだけあります。「サイズ変更」を選択すると、図 5-11 に示すダイアログが表示されます。

 

    図 5-11 サイズ変更ダイアログ

このダイアログを使用して、ピックスマップエディタ上に表示さ れるピックスマップの大きさを変更することができます。

    1. イメージに大きさ「幅 x 高さ」という形式で新規のサイズを入力します。

    2. 「適合するように縮尺変更」トグルをオンにします。

    ピックスマップエディタ上に表示されるイメージの大きさが、指 定した寸法に適合するように変更されます。

ピックスマップ・エディタの特殊効果メニュー

「特殊効果」メニューには、「水平に反転」、「垂直に反転」、 「180 度回転」、「グレー表示」の 4 つの項目があります。

反転

「水平に反転」では水平方向、「垂直に反転」では垂直方向の軸 を中心に、選択領域の鏡像を作成します。

回転

「180 度回転」は、選択領域を 180 度回転します。すなわち、対角線を中心に選択領域の鏡像を作成します。

グレー表示

この項目は、選択領域の各ピクセルの「排他的論理和 (xor)」をとり、グレー表示の選択領域を作成します。これは、無効状態を示すピックス マップを作成する場合に便利です。

ピックスマップ・エディタのパレットメニュー

「パレット」メニューを使用すると、カラーパレットを編集した り、パレットを新規に読み取ることができます。「パレットを編集」および「パレットを 読み取り」という 2 つの項目があります。

パレットを編集

「カラーパレット」で説明するパレットエディタが呼び出されます。

パレットを読み取り

保存したピックスマップファイルのパレットを読み取ることがで きます。この項目を選択すると、ファイル選択ダイアログが表示され、 Xpm 形式ファイルの名前の入力を求められます。ファイルが読み取られると、既存のパレット が保存したファイルの色のパレットに置き換わります。次に、Sun WorkShop Visual は現在のイメージがあればそのイメージが新規のパレットの色を使用するよう変更します 。Sun WorkShop Visual は、可能な限り最も近い色合わせを使用します。

Sun WorkShop Visual にはいくつかのパレットがキューブファイル (cubennn 形式のファイル) として用意されています。また、Sun WorkShop Visual がアイコン用に使用するパレットも用意されています。これらのファイルは $VISUROOT/lib/palettes にあります。$VISUROOT は、Sun WorkShop Visual のインストールディレクトリです。

ツールパレット

イメージを描画したり色付けする手助けとして、図 5-12 に示すようなツール用のパレットが、ピックスマップ・エディタのウィンドウの左側にあ ります。

 

    図 5-12 ツールパレット

描画ツールはすべて、現在の前景色を使用します。ただし、前景 色ではなく現在の背景色を使用することもできます。「カラーパレット」を参照してください。また、イメージ内の特定の色のイ ンスタンスをすべて変更することもできます。変更の方法については、「カラーパレット」を参照してください。

ウィンドウ上で操作を行うには、以下の描画ツールをいずれか 1 つ選択する必要があります。ツールは常に 1 つだけ選択されている状態になっています。

これは選択ツールです。イメージの矩形領域を選択することがで きます。多くのメニュー機能は、選択領域に対して処理を行います。

これは矩形塗りつぶしツールです。このツールを選択すると、現 在の前景色で塗りつぶされた矩形を描画することができます。

これは塗りつぶしツールです。塗りつぶされた領域上でマウスボ タンをクリックすると、現在の前景色でその領域が塗りつぶされます。



円の輪郭を前景色で描画することができます。円は中心から描画されます。

個々のピクセルを前景色で描画することができます。

このツールを選択すると、前景色で塗りつぶされた円を中心から 描画することができます。

このツールを選択すると、前景色で直線を描画することができま す。

これはドロッパーツールです。このツールを使用して、イメージ から色を選択します。このツールを選択してイメージ内の色をクリックすると、その色が 前景色として設定されます。これを簡単に設定する方法については、「ツールパレット」を参照してください。

このツールを選択すると、矩形の輪郭を前景色で描画することが できます。

ドロッパーツールの短縮操作

任意のツールを選択した状態で、Control キーを押したまま色をクリックすると、ドロッパーツールとまったく同じように、前景色 が設定されます。Control キーを押したままマウスボタン 2 で色をクリックすると、背景色が設定されます。

編集領域へのドラッグ

Motif のドラッグ & ドロップ機能を使用して、ピックスマップおよびピックスマップファイル名を編集領域内 にドラッグすることができます。これは通常、ソース上でマウスボタン 2 を押し、そのソースをピックスマップ・エディタの編集領域までドラッグしてからマウス ボタンを離すことを意味します。この操作ができない場合は、システム管理者にシステム の構成を問い合わせてください。

ドラッグしたピックスマップは、自分で作成したピックスマップ の場合と同様に、編集領域に表示されます。また、そのピックスマップで使用されている 色をすべて含むカラーパレットも追加されます。

カラーパレット

ピックスマップ・エディタでは、カラーパレットは重要です。カ ラーピックスマップを作成するには、使用したい色を指定する必要があります。カラーパ レットでピックスマップ用に定義された色は、そのピックスマップとともに保存されます 。イメージの作成中は、パレット内のどの色が現在の背景色および前景色なのかを知って いる必要があります。

背景色および前景色

ツールパレットの下にある 2 つの矩形の色が、現在の前景色および背景色を示します。前景色は、描画に使用される色 です。背景色は、エディタが残したスペースを塗りつぶすために使用されます。「カット 」および「消去」は、両方とも背景色で塗りつぶされたスペースを残します。これらの操 作については、「ピックスマップ・エディタの編集メニュー」を参照してください。「グレ ー表示」は背景色を使用してグレー表示効果を生成します。「ピックスマップ・エディタの特殊効果メニュー」を参照してください。「 サイズ変更」によりサイズを拡大した場合は、広がったスペースを背景色で塗りつぶしま す。

背景色と前景色の交換

ピックスマップ・エディタで描画する場合は、現在の前景色が使 用されます。ただし、マウスボタン 2 を押したまま描画すると、現在の背景色が使用されます。

カラーパレットの表示

ポインタを背景色か前景色の四角の上に置いてマウスボタンを押 すと、カラーパレットが表示されます。

カラーパレットを編集して、イメージで使用したい色を含めるこ とができます。この方法については、「カラーパレット」で説明します。

背景色および前景色の変更

現在の背景色および前景色を変更するには、カラーパレットを表 示し、新しい色の上でマウスボタンを離します。

イメージ内の色の変更

カラーイメージがあり、特定の色のインスタンスをすべて別の色 に変更したい場合は、以下のようにします。

    1. 変更したい色が現在の前景色であることを確認します。

    2. Control キーを押して、別の前景色を選択します。

    これで、イメージ内の前の色が表示されていた場所には、すべて 新しい色が表示されます。

カラーパレットの編集

「パレット」メニューから「パレットを編集」を選択すると、図 5-13 のようなパレットエディタが表示されます。

 

    図 5-13 パレットエディタ

色の付いた矩形はそれぞれがボタンになっています。色の付いた 矩形を選択するには、その矩形の上でマウスボタンを押します。選択した色の名前がパレ ットエディタウィンドウの最下部に表示されます。

色の削除

「削除」ボタンは、現在選択されている色をパレットから削除し ます。その色がピックスマップ内で使用されていた場合は、その色の代わりに背景色が使 用されます。

色の追加

「新規」ボタンを押すと、パレットの最後尾に色が追加されます 。新しい色は、パレットの最後尾の矩形に表示されます。

色の編集

色を変更するには、その色をダブルクリックするか、またはその 色を選択して「編集」を押します。これで、カラーエディタが呼び出されます。カラーエ ディタについては、「色の設定」を参照してください。

透明色

選択した色に対して「透明」というラベルが付いたトグルを設定 すると、その色はピックスマップでは「透明」になります。これは、最終アプリケーショ ンでピックスマップが表示されるときに、ピックスマップの透明な領域にはその下にある 色が表示されることを意味します。ボタンの背景色などをピックスマップを通して表示す る場合に、このボタンを使用することができます。

ただし、透明色をサポートしているのは XPM です。Motif のプッシュボタンウィジェットおよびラベルウィジェットは、透明色をサポートしていま せん。XPM ライブラリを使用して色「none」をピックスマップを表示しているウィジェットの背景色 に変換することができます。XPM ライブラリの使用方法については、以下のファイルを参照してください。

$VISUROOT/contrib/xpm/doc/xpm.ps

$VISUROOT は Sun WorkShop Visual のインストールディレクトリです。

透明色は、他社のウィジェットの方がサポートが多いことがあり ます。

カラーパレットエディタでは、透明色に対して「none」という名 前が表示されます。

カラーパレットの保存

カラーパレットは、対応するピックスマップと一緒に保存されま す。つまり、カラーパレット用に特別にピックスマップを作成し、別の時にパレットにロ ードすることができます。Sun WorkShop Visualは、そのピクチャーで使用されている色の数に保存される色数を合わせます。カラ ーパレットを保存するためにピックスマップを作成する場合、そのパレットの色それぞれ に1ピクセル対応させてください。

カラーパレットの読み込み

保存したピックスマップからカラーパレットを読み込む方法につ いては、「ピックスマップ・エディタのパレットメニュー」を参照してください。

    注 - 多数の色を使用する場合は、「対話的使用のためのオプション」で説明するように、コマンド行オプショ ン -L を指定して Sun WorkShop Visual を実行してください。こうすると、Sun WorkShop Visual はユーザー専用のカラーマップを使用します。このオプションを指定しないと、多数の色 を使用することができなくなります。

ピックスマップ・エディタの使用

まず、作成するピックスマップのサイズを設定します。

    1. 「イメージ」メニューから「サイズ変更」を選択します。

    2. サイズ変更ダイアログのテキストボックスに次のように入力します。
    40 x 40

    3. 「了解」を押します。

    描画領域の実サイズのピックスマップ表示およびグリッドがサイ ズ変更されます。次に、描画を行います。

    4. 前景色として黒を選択します。

    前景色を変更する方法については、「カラーパレット」を参照してください。

    5. 矩形塗りつぶしツールをクリックします。

    矩形塗りつぶしツールがどれか分からない場合は、「ツールパレット」を参照してください。

    6. 描画領域をクリックしてドラッグを行い、黒く塗りつぶされた矩形を作成します。

    描画領域の実サイズのピックスマップ表示が更新されて、描画し たピックスマップが表示されます。

    7. 描画ツールに慣れるまで、実際に使用して練習します。

    描画作業を実行する前に、編集メニューのオプションを学習し、 カラーパレットに何色か追加しておくと後で役に立ちます。

    8. カラーパレットに何色か追加します。

    カラーパレットの色が増えました。描画ツールを使用して、さら にいろいろと試してみてください。準備ができたら、ツールと色を使用してアイスクリー ムのコーンを表示するピックスマップを作成します。

    9. アイスクリームのコーンを描画します。

ピックスマップ・オブジェクト

完成したピックスマップを表示するには、まずそのピックスマッ プをピックスマップ・オブジェクトに設定する必要があります。

    1. ピックスマップエディタで、「バインド」 フィールドに 「cone」 と入力します。

    2. 「バインド」をクリックするか、「バインド」フィールドで Return キー を押します。

    ピックスマップ選択パネルでは、ピックスマップ・オブジェクト 名がピックスマップ・オブジェクトのリストおよび選択ボックス内に表示されます。

    3. ピックスマップ選択パネルで「適用」をクリックします。

    4. リソースパネルで「適用」をクリックします。

    5. 「設定」のページで、「種類」設定を「ピックスマップ」に変更します。

    6. リソースパネルで「適用」をクリックします。

ピックスマップ・オブジェクトは、カラーオブジェクトに似た動 作を行います。また、複数の場所に同じピックスマップを使用することができます。ピッ クスマップに対して変更を行なった場合は、バインドを行うと即座にダイナミックディス プレイに反映されます。

ピックスマップ・オブジェクトは、デザインファイルと一緒に保 存されます。したがって、異なるデザインファイルでは、ピックスマップ・オブジェクト が異なっている場合であっても同じ名前を使用できることを意味します。たとえば、ある デザインではピックスマップ「 cancel 」が取り消しスタンプの描画であり、別のデザインでは国際禁止記号である場合がありま す。

試しに「Dish」および「Cancel」ボタンに対してピックスマップ ・オブジェクトを作成して追加しても良いでしょう。

参考: 図 5-14 で示されている「Cancel」スタンプは、鉛筆ツールではなく、線ツールで作成されました 。

 

    図 5-14 3 個のピックスマップボタンがある学習用インタフェース

    7. デザインを保存します。

    ピックスマップオブジェクトを 「グローバル」 にすると、複数のファイルで共有できます。コードを生成するときに適切なトグルを設定 して、ピックスマップオブジェクトのファイル間での共有を制御します。詳細は、「大域オブジェクト関数」 を参照してください。

コンパウンド文字列

学習例にあるラベルは、すべて単純なテキスト文字列を使用して います。本章では、内部構造を使用して複雑な文字列の作成を可能にする、Sun WorkShop Visual コンパウンド文字列エディタについて説明します。複合フォントオブジェクトとともに、 これらの文字列を使用すると、複数のフォントを使用するラベル、あるいは全体または一 部が右から左に書かれているラベルを表示することができます。

一般的に、文字列とは、順序付けられた EUC 文字のリストですが、文字列値を持つほとんどの Motif リソースは、異なる種類の文字列表現であるコンパウンド文字列を使用します。

Motif コンパウンド文字列は、テキストおよびテキストフィールドにある通常の文字列を除く、 すべての文字列リソース値に対して使用されます。この場合、Motif コンパウンド文字列と X のコンパウンド・テキストフォーマットを混同しないように気を付けてください。Motif コンパウンド文字列は、その操作を行う Motif ツールキット関数の命名規則により、多くの場合は XmString と呼ばれます。

コンパウンド文字列は、コードを変更することなく、テキストを 複数の言語およびフォントで表示できるようにエンコード (コード化) する手段です。ここでは、複数のフォントで表示される文字列の作成方法を説明します。 複数の言語の使用については、第 22 章「国際化」および Motif のマニュアルを参照してください。Motif のマニュアルの参考資料のリストについては、付録 E「参考資料」を参照してください。

概念上は、コンパウンド文字列は以下に示す 4 種類の構成要素から成ります。

これらの構成要素の型はどのような順序でも構いませんが、一般 に、各テキスト文字列構成要素の前には、フォントリストタグ構成要素を置きます。

コンパウンド文字列をウィジェットのラベルに使用するには、ウ ィジェットのフォントリソースに対してフォントリストを指定します。フォントリストは 、(フォント, タグ) の対の集合です。フォントリストタグは、各テキスト文字列構成要素に対して使用する、 フォントリスト内のフォントを示します。

コンパウンド文字列エディタの機能に慣れるため、Sun WorkShop Visual をワークステーションで実行している時に、以下のような例を実行してください。

この演習では、ラベルウィジェット上で、図 5-15 に示すように The Guardian という新聞名を再現してみます。

 

    図 5-15 最終的なテキスト文字列の外観

複合フォントオブジェクトの作成

以上で、フォントを選択し、ウィジェットに適用する方法を学習 しました。また、1 つのフォントに対応する簡単なフォントオブジェクトも作成しました。複合フォントオブ ジェクトを使用すると、さらに複合視覚的効果が得られます。複合フォントオブジェクト は、フォントのリストに対応しています。文字列の別の部分をリストの異なるフォントを 使用して表示することができます。本節の段階的な例では、複合フォントオブジェクトを 使用します。

ラベルを使用するウィジェットを作成し、そのウィジェットのリ ストに複数のフォントが含まれるフォントオブジェクトを指定します。

    1. フォームの子としてラベルを持つウィジェット階層を作成します。

    2. ラベルウィジェットをダブルクリックして、リソースパネルを表示します。

    3. 「フォント」リソースボタンをクリックして、フォント選択パネルを表示します。

    4. メニューを使用して、24 ポイントの medium italic Times フォントを選択します。

    5. 「フォント・オブジェクト」フィールドの「名前」フィールドに次のように入力します。
    masthead

    6. 「フォント・オブジェクト」フィールド右の「フォントリストタグ」フィールドに、次の ように入力します。
    italic

    7. 「バインド」をクリックします。

    リストに 1 つのフォントを持つ「 masthead 」というフォントオブジェクトが作成されます。このフォントには、「 italic 」とタグが付けられます。

    注 - タグ名は任意に付けることができます。ただし、「フォントリス トタグ」フィールドの上にある「デフォルト」ボタンおよび「UIL」メニューで、事前定 義されているいくつかのタグを選択することができます。「デフォルト」オプションを選 択すると、タグ XmFONTLIST_DEFAULT_TAG が作成されます。UIL メニューには、UIL (Motif のユーザーインタフェース言語) で使用できるタグが提供されています。UIL をご使用の場合にリストにはないタグを使用すると、UIL コンパイラの多くが重大な内部エラーを引き起こすので、注意してください。UIL ユーザーでなければ、UIL オプションは無視してください。

次に、フォントオブジェクトに別のフォントを追加します。2 番目のフォントには、異なるタグを持たせます。

    8. 24 ポイントの bold 標準 Helvetica フォントを選択します。

    9. 「フォントリストタグ」フィールドに、次のように入力します。
    bold

masthead フォントオブジェクト名は変更してはなりません。

    10. 「バインド」をクリックします。

    これにより、フォントオブジェクトリストに bold フォントが追加され、そのフォントに bold というタグが付けられました。これらの 2 個のフォントは、「フォントリストタグ」リスト内でそれぞれのタグを選択すると、「サ ンプルテキスト」フィールドに表示されます。

    この時点で、2 個の異なるフォントを使用した文字列の表示に使用できる、フォントオブジェクトが作成 されました。このフォントオブジェクトをラベルウィジェットに適用します。

    11. フォント選択パネルの「適用」をクリックします。

    12. ラベルリソースパネル内の「適用」をクリックします。

    ラベル内のテキストは、斜体の Times フォントで表示されます。これは、フォントがリストの最初にあるためです。両方のフォ ントを使用してテキスト文字列を表示するためには、コンパウンド文字列を作成する必要 があります。

コンパウンド文字列の作成

リソースパネルの「ラベル」テキストフィールドにテキストを入 力する場合、テキスト文字列構成要素と、改行に対応する区切り文字構成要素だけを含む コンパウンド文字列が作成されます。フォントリストタグを含むコンパウンド文字列を作 成するためには、コンパウンド文字列エディタを使用する必要があります。

    1. リソースパネル内の「ラベル」ボタンをクリックします。

    図 5-16 に示すようなコンパウンド文字列エディタが表示されます。

 

    図 5-16 コンパウンド文字列エディタ

コンパウンド文字列エディタは、現在のフォントリスト名、編集 領域、既存のコンパウンド文字列オブジェクトのリストを含んでいます。フォントリスト 名は、現在ウィジェットで使用しているフォントオブジェクト名に対応させるため、「ma sthead」となっています。

コンパウンド文字列にテキストを入力すると、入力したテキスト は編集領域に表示されます。テキストの表示には、画面上部で指定されているフォントリ ストが使用されます。空のテキスト構成要素および増加方向インジケータなどその他の構 成要素は、記号で表示されます。「記号を表示」トグルを使用して記号の表示をオフにす ると、ウィジェット内でテキストがどのように見えるかを確認することができます。

「記号を表示」トグルがオンになっていない場合は、次のように します。

    2. 「記号を表示」トグルをクリックします。

    コンパウンド文字列を作成するには、次のようにします。

    3. 編集領域内で I 型カーソルをクリックします。

    カーソルが点滅してエディタがテキスト入力に対して準備ができ ていることを示します。

    4. ワード間にスペースを置かずに、以下の文字列を入力します。
    TheGuardian

    テキストは、図 5-17 に示すように、フォントリストの最初のフォントである斜体の Times フォントを使用して表示されます。

 

    図 5-17 コンパウンド文字列の初期テキスト

テキスト表示を部分ごとに異なるフォントにするためには、コン パウンド文字列にフォントリストタグを挿入する必要があります。

    5. ポインタを The と Guardian の間に配置し、マウスボタン 3 を押します。

    ポップアップメニューが表示されます。このメニューから項目を 選択すると、文字列に対応する型の構成要素が挿入されます。「削除」を選択すると、現 在の構成要素が削除されます。Guardian という単語を bold の Helvetica フォントで表示するためには、ポインタ位置に適切なフォントタグ (bold) を挿入する必要があります。

    6. 「フォントリストタグ」メニューをプルライトして、bold を選択します。

    フォントリストタグを示す記号が挿入され、図 5-18 に示すように表示が変更されます。

 

    図 5-18 フォントリストタグの付いたコンパウンド文字列

タグを誤った位置に挿入した場合は、マウスボタン 1 を使用してタグを移動することができます。

現時点では、The という単語は斜体フォントで正確に表示されていまが、これは Motif がデフォルトでフォントリスト内の最初のフォントを使用するためです。コンパウンド文 字列を完全なものにするためには、文字列の先頭に斜体のタグを挿入します。

    7. ポインタを The の前に配置し、マウスボタン 3 を押します。

    8. 「フォントリストタグ」メニューをプルライトして italic を選択します。

    図 5-19 に示すように 2 番目のフォントリストタグが挿入されます。

 

    図 5-19 フォントリストタグの付いたコンパウンド文字列

これでコンパウンド文字列が完成しました。ラベル上にどのよう に表示されるかを確認します。

    9. 「記号を表示」トグルをクリックして記号の表示をオフにします。

    図 5-20 に表示すように、フォントリストタグを使用せずに文字列が再描画されます。

 

    図 5-20 記号表示のないコンパウンド文字列

コンパウンド文字列オブジェクトの作成

コンパウンド文字列オブジェクトを作成し、それを文字列に結び 付けます。

    1. XmString オブジェクトのリストの下にある「名前」テキストフィールドに、次のように入力します 。
    guardian

    2. 「バインド」をクリックします。

    オブジェクトの名前が XmString オブジェクトリストに表示されます。最後に、コンパウンド文字列オブジェクトをラベル に適用します。

    3. コンパウンド文字列エディタで「適用」をクリックします。

    コンパウンド文字列オブジェクトがラベルリソースパネルに適用 されます。

    4. ラベルリソースパネルで「適用」をクリックします。

    ラベル内のテキストは、選択されたフォントでコンパウンド文字 列を表示します。

増加方向インジケータ

これまで、この演習ではテキストとフォントリストタグという 2 つの構成要素について実例を示してきました。他の 2 つの構成要素は区切り文字として使用される改行と増加方向インジケータです。

改行は、テキスト内の行の分割を行います。テキストの入力中に Return キーを押す、あるいはメニューを使用して改行を挿入することができます。改行の挿入、 移動および削除を行なってみる前に、作業がよくわかるように「記号を表示」トグルがオ ンであることを確認します。

増加方向インジケータを使用すると、左または右からの方向でテ キストを作成することができます。デフォルトの増加方向は左から右となっていますが、 文字列の任意の部分を右から左に表記するように指定することができます。

    1. 「記号を表示」トグルがオフの場合は、「記号を表示」トグルをクリックして、記号を表 示します。

    2. Guar と dian の間にポインタを配置し、マウスボタン 3 を押します。

    3. メニューをプルダウンして「右から左」を選択します。

    コンパウンド文字列は、図 5-21 のように変更されます。

 

    図 5-21 増加方向を変更したコンパウンド文字列

小さなひし形は、「左から右」への増加方向を「右から左」に変 更することを表わしています。矢印は、増加方向インジケータであり、作用するテキスト の開始部分に表示されます。これは「右から左」へのセグメントであるため、テキストの 開始部分は左ではなく右側になります。「左から右」へ変更した場合は、新しいテキスト の開始部分 (左端) に右側を向いている矢印で示されます。

「右から左」方向のセグメントにおいて改行やフォントリストタ グを挿入すると、通常の読み取り方向が左から右である場合には、予想とは反対の効果を 生じるように見える場合があります。

記号は、それに続くテキストに影響を与えます。つまり、「右か ら左」へのセグメントでは、左側にあるテキストに影響を与えますので注意してください 。

最後に、コンパウンド文字列オブジェクト「guardian」を新しい 文字列に結び付けます。

    4. 「バインド」をクリックします。

    図 5-22 に示すように、ラベルテキストが変更されます。

 

    図 5-22 最終的なテキスト文字列の外観

文字列オブジェクトを 「グローバル」 にすると、複数のファイルで共有できます。コードを生成するときに適切なトグルを設定 して、文字列オブジェクトのファイル間での共有を制御します。詳細は、「大域オブジェクト関数」を参照してください。

フォントの変更の更新

新しいフォントオブジェクトを作成する場合、あるいはコンパウ ンド文字列エディタを使用している時に別のフォントオブジェクトを使用する場合、コン パウンド文字列エディタの「フォントの更新」ボタンを押すことにより、ウィジェットの リソースダイアログにある「フォント」フィールドを更新することができます。これによ り、ウィジェットは確実に、エディタが使用しているフォントオブジェクトと同じものを 使用します。フォントオブジェクトの内容を変更した場合は、この操作は必要ではありま せん。別のフォントオブジェクトを使用する場合にのみ、更新の操作が必要です。

コールバックおよびプレリュードの編集

Sun WorkShop Visual は、コールバックおよびコードプレリュードを編集する機能を提供しています。コールバ ックを指定してスタブファイルの生成を一度行うと、この機能を使用することができます 。また、コードプレリュード編集の場合は、一度コードプレリュードを定義してメインの ソースファイルを生成すると、この機能を使用することができます。

まず、コールバックまたはプレリュードが宣言されているウィジ ェットを選択します。コールバックの場合は、編集機能は「コールバック」ダイアログか ら使用することができます。コードプレリュードの場合は、「ウィジェット」メニューか ら使用することができます。「コールバック」ダイアログについては、「コールバックのデザイン」を参照してください。

コールバックまたはプレリュードを編集する場合は、Xterm ウィンドウ内で動作しているテキストエディタが使用できます。使用するエディタは、付 録D「アプリケーションのデフォルト」で説明されている editor リソースのデフォルトによって決まります。

スタブファイルまたはメインのソースファイルをまだ作成してい ない場合は、作成するよう要求するメッセージが表示されます。

コールバック編集の詳細は、「コールバック関数の追加」を参照してください。コードプレリュード編集 の詳細は、「コードプレリュード」で記述します。


前へ 次へ 目次 文書セット ホーム

サン・マイクロシステムズ株式会社
Copyright information. All rights reserved.