Provided by: xmanpages-ja_4.1.0.20011224-6_all bug

EDITRES の使用
       editres 4:

       メニューバー             ユーザが   editres  の機能にアクセスするための
                                ポップアップメニューの集合 である。

       ペイン                   ペインを使うとアプリケーションツリー表示を直観
                                的にスクロールさせること ができる。

       メッセージ領域           editres が期待する操作に関するユーザへの情報を
                                表示する。

       アプリケーションウィジェットツリー
                                この領域は選択されたアプリケーションのウィ
                                ジェットツリーを表示するため に使われる。

       editres   のセッションを開始するには、コマンドメニューから  Get  Widget
       Tree メニュー項目を選択する。するとポインタカーソルの  形が十字形に変わ
       る。 ここで、ユーザは調べたいアプリケーションの任意のウィンドウをクリッ
       クし て、これを選択する。アプリケーションが editres  プロトコルをサポー
       トし  ている場合は、editres  はアプリケーションのウィジェットツリーをツ
       リーウィ  ンドウに表示する。アプリケーションが  editres  プロトコルをサ
       ポートして いない場合には、editres は数秒後にメッセージ領域にその旨を表
       示する。

       ウィジェットツリーを取得すると、他のメニューオプションが選択できるよう
       になる。それぞれの機能については以下で説明する。

コマンド
       Get Widget Tree
               editres  プロトコルをサポートしている任意のアプリケーション上で
               クリック することで、ウィジェットツリーを取得することができる。

       Refresh Current Widget Tree
               editres  が認識するのは現時点で存在しているウィジェットだけであ
               る。 しかし、ほとんどのアプリケーションは動作中にウィジェットの
               生成と破棄を 行う。このメニュー項目を選択すると、editres はアプ
               リケーションにウィジェッ トツリーを送り直すように要求する。これ
               により、情報をアプリケーションの 新しい状態へ更新することができ
               る。

               例えば、xman は起動時には topbox に対するウィジェットしか生成し
               ない。ユーザが Manual Page ボタンを実際にクリックするまでは、マ
               ニュアルページウィンドウは全く生成されない。 マニュアルページが
               生成される前に   xman   のウィジェットツリーを取得した場   合に
               は、ユーザはマニュアルページが表示された後にウィジェットツリー
               を更 新しようと考えるだろう。これによって、マニュアルページのリ
               ソースも編集 することができる。

       Dump Widget Tree to a File
               アプリケーションに関する文書を作るために、アプリケーションの
               ウィジェッ トツリー全体を ASCII  ファイルにダンプできると便利な
               ことが多い。このファ イルは後でマニュアルページに取り入れること
               ができる。メニュー項目を選択 すると、ポップアップダイアログが現
               れる。このダイアログにファイル名を入  力してから、okay を選択す
               るかリターンキーを押すこと。ファイルダ イアログをキャンセルする
               には cancel ボタンを押すこと。

       Show Resource Box
               このコマンドは、選択中のアプリケーションに対するリソースボック
               スをポッ   プアップさせる。リソースボックス(詳しくは後述)を使っ
               て、ユーザはウィ ジェットツリー表示内で選択されているウィジェッ
               トに対してどのリソースを   設定できるのかを正確に知ることができ
               る。この機能を使うときに選択できる    ウィジェットは1つだけであ
               る。そうでない場合、editres はリソースボック スをポップアップさ
               せず、エラーメッセージをメッセージ領域に表示す る。

       Set Resource
               このコマンドは、選択された全てのウィジェットの任意のリソースを
               設定する ための簡単なダイアログボックスをポップアップさせる。こ
               のダイアログには リソース名とその値を入力しなければならない。タ
               ブキーを押すことによって、     リソース名フィールドとリソース値
               フィールドを行き来することができる。

       Quit    editres を終了する。

ツリー操作コマンド
       Tree   メニューには、ウィジェットツリーの操作を行うためのコマンド  があ
       る。

       Select Widget in Client
              このメニュー項目を使って、アプリケーション内の任意のウィジェット
              を選択  することができる。editres はウィジェットツリー表示におけ
              る対応する要素 をハイライト表示させる。 メニュー項目を選択すると
              ポインタカーソルの形は再び十字形になるので、ユー  ザは表示させた
              いウィジェット内でポインタのボタン(どれでもよい)を押す。    ウィ
              ジェットによっては完全に子孫ウィジェットの陰になることもあるの
              で、  この方法を使って全てのウィジェットを選択できるわけではない
              が、この機構  は、ウィジェットツリーの要素と実際のアプリケーショ
              ンの要素の対応を取る ために大変便利である。

       Select All
       Unselect All
       Invert All
              これらの関数を使って、ユーザはウィジェットツリーの全てのウィ
              ジェットに    対して選択、選択解除、選択状態反転を行うことができ
              る。

       Select Children
       Select Parents
              これらの関数は、現在選択されているウィジェットの直接の親や子を選
              択する。

       Select Descendants
       Select Ancestors
              これらの関数は、現在選択されているウィジェットの全ての祖先や全て
              の子孫 を選択する。親子関係の検索は再帰的に行われる。

       Show Widget Names
       Show Class Names
       Show Widget Windows
              ツリーウィジェットが最初に表示されたとき、ツリー内の各ウィジェッ
              トのラ  ベルはウィジェット名に対応する。これらの関数は、ツリー内
              の全ての  ウィジェットのラベルを変更し、アプリケーションのクラス
              名、ID、各ウィ    ジェットに関連づけられたウィンドウをを表示させ
              る。

       加えて、ツリー操作のそれぞれにはキーボードアクセラレータがある。入力
       フォーカスがツリー内の個別のウィジェットにあれば、操作はそのウィジェッ
       トだけに影響を及ぼす。フォーカスがツリーの背景にあれば、影響は対応する
       メニュー項目と全く同じである。

       示されているトランスレーションエントリはアプリケーションの任意のウィ
       ジェットに適用できる。そのウィジェットが  Tree   ウィジェットの子孫なら
       ば、 これはそのウィジェットのみに影響し、そうでなければツリーメニューの
       コマ ンドと同じ効果を持つ。

       Flash Active Widgets
              このコマンドは Select Widget in Client  コマンドの反対の動作をす
              る。つまり、アプリケーションの対応するウィジェットを  numFlashesflashColor  色にフラッシュさせることによって、ウィジェットツ
              リー 内で現在選択されているウィジェットをユーザに示す。

                   キー      オプション               トランスレーションのエントリ

                   space     選択解除                 Select(nothing)
                   w         選択                     Select(widget)
                   s         選択                     Select(all)
                   i         反転                     Select(invert)
                   c         子を選択                 Select(children)
                   d         子孫を選択               Select(descendants)
                   p         親を選択                 Select(parent)
                   a         祖先を選択               Select(ancestors)
                   N         ウィジェット名表示       Relabel(name)
                   C         クラス名表示             Relabel(class)
                   I         ウィジェットID表示       Relabel(id)
                   W         ウィジェットウィンドウ表示Relabel(window)

              ウィジェット上でボタン1をクリックすると、そのウィジェットが選択
              された  ウィジェットのセットに追加される。  ウィジェット上でボタ
              ン2をクリックすると、他のウィジェットを全て選択解 除し、そのウィ
              ジェットだけを選択する。   ウィジェット上でボタン2をクリックする
              と、ラベル表示がウィジェットのイ  ンスタンス名とクラス名の間で切
              り替わる。

リソースボックスの使い方
       リソースボックスは5つの領域に分かれている。それぞれの領域について、ス
       クリーンに現れる順、つまり上から下の順番で説明する。

       リソース行
              リソースボックスの一番上にあるこの領域は、現在のリソース名を表示
              する。  このリソース名はファイルにセーブしたり適用したりするとき
              に使われる正確 なものである。

       ウィジェット名とクラス
              この領域を使って、ユーザはこのリソースが適用されるウィジェットを
              正確に 選択することができる。この領域には4つ行があり、最初の行に
              は選択された ウィジェットとその祖先全てと制約の強いドット(.)セパ
              レータが表示   される。2番目の行には、特定のものを指さない各ウィ
              ジェットのクラス名と 制約の緩いスター(*)セパレータが表示される。
              3番目の行には、Any Widget と呼ばれる特殊ボタンのセットがある。こ
              のボタンは、任意のウィジェットにマッチするようにこのレベルを一般
              化する。 最後の行には、Any Widget  Chain  と呼ばれる特殊ボタンの
              セットがあ る。このボタンは1つのレベルをゼロ個以上のレベルにマッ
              チするものに変化 させる。

              この領域の初期状態は、リソース名とドットセパレータを用いる最制限
              された  状態になっている。この領域で他のボタンを選択することによ
              り、制限を緩め  てより多くのウィジェットが指定にマッチするように
              できる。極端な場合とし  て全ての Any Widget Chain ボタンを選択す
              ることもでき、この場合に  はアプリケーションの全てのウィジェット
              にマッチする。異なるボタンを選択      すると、ツリー表示は更新さ
              れ、現在のリソース指定によってどのウィジェッ  トが影響を受けたの
              かが正確に示される。

       通常リソースと constraint 情報リソース
              次の領域を使って、セットする通常のリソースと constraint 情報のリ
              ソース      の名前を選択することができる。ウィジェットによっては
              constraint 情報の リソースを持たないものもあり、その場合には領域
              は現れない。

       リソース値
              この領域を使うと、リソース値を入力することができる。この値はリ
              ソースファ  イルに記述するときのように正確に入力しなければならな
              い。

              \n - これは改行文字に置き換えられる。

              \### - #  は任意の8進値である。これは、このシーケンスを8進値とし
              て解釈  した1バイトの値に置換される。  例えば、\000 を指定すると
              NULL バイトの値を格納することができる。

              \<new-line> - これは縮められてなくなる。

              \\ - これはバックスラッシュ1つに縮められる。

       コマンド領域
              この領域にはいくつかのコマンドボタンがある。これらのボタンはこの
              セクショ ンで説明する。

       Set Save File
              このボタンを使って、ユーザはリソースがセーブされるファイルを変更
              するこ      とができる。このボタンを押すとダイアログボックスが現
              れ、ユーザにファイ      ル名を問い合わせる。ファイル名を入力した
              ら、リターンキーを押すか  okayボタンをクリックすること。セーブす
              るファイルを変えないでダイ  アログを消すには cancel ボタンを押す
              こと。

       Save   このボタンは先に述べたリソース行を現在のセーブファイルの末尾に追
              加する。セーブファイルが指定されていなければ、Set Save File ダイ
              アログがポップアップし、ユーザにファイル名を問い合わせる。

       Apply  このボタンを押すと、前述の   リソース行   にマッチする全てのウィ
              ジェッ トに対して XtSetValues の呼び出しが試みられる。指定された
              値はマッチす  るウィジェット全てに直接適用される。この動作は、リ
              ソースエディタに動的  な操作感覚を与えようとするものである。この
              機能を使うとユーザはアプリケー  ションを外から操作できるようにな
              るので、これを扱いたくないかもしれない。    そこで、特定のアプリ
              ケーションが SetValues リクエストをブロックできる ようにするフッ
              クが提供されている(後述の editresリクエストのブロック を参照)。

              残念ながら、X ツールキットとリソースマネージャによるウィジェット
              の設計  の制限により、本質的に静的なシステムに無理に動的な挙動を
              させようとする  と、おかしな結果が生じてしまう。適用の結果と、リ
              ソース値をセーブしてア  プリケーョンを再起動して得られる結果が同
              じである保証はない。  この機能は変更で実現されるだいたいの感じを
              ユーザにつかませようとするも  のであり、得られる結果はかなり疑わ
              しい。とは言うものの、これは  editres の最も素晴らしい機能の一つ
              であるので、筆者はユーザがこのツールで遊び、  このツールでできる
              ことを確認することをお勧めする。

       Save and Apply
              このボタンは、前述の Save と Apply アクションを1つのボタンにした
              もので ある。

       Popdown Resource Box
              このボタンを押すと、リソースボックスがディスプレイから消える。

EDITRES リクエストのブロック
       editres プロトコルは Athena  ウィジェットセットに組み込まれている。これ
       により、Xaw  とリンクされた全てのアプリケーションはリソースエディタと通
       信することができる。これは非常に柔軟性が高くて便利なツールであるが、と
       ても簡単に悪用されてしまう。そこで、全ての  Xaw  アプリケーションは後述
       の editresBlock リソースに値を指定して、editres に内部情報を漏ら させな
       いようにすることやプロトコルの  SetValues の部分を無効にす ることができ
       る。

       editresBlock (Class EditresBlock)
               このアプリケーションが editres プロトコルに課すブロッキングのタ
               イプを 指定する。

       指定できる値を以下に示す:

       all            全てのリクエストをブロックする。

       setValues      SetValues リクエストを全てブロックする。これはアプリケー
                      ションを実際に  変更する唯一の  editres   リクエストなの
                      で、この指定は事実上アプリケーショ  ンを読み込みしかでき
                      なくする。

       none           全ての editres リクエストを認める。

       これらのリソースは editres ではなく Xaw アプリケーションに設定す るとい
       う点に注意すること。これにより、editres が生成した全部あるいは一 部のリ
       クエストを個々のアプリケーションで止めることができる。当然ながら、
       editres  も  Xaw アプリケーションなので、editres で表示や修正を行なうこ
       とも可能である(再帰的にもなる)が、これらのコマンドは   editres   自身の
       editresBlock リソースの設定でブロックすることができる。

リソース
       editres に対して指定可能なアプリケーションリソースを以下に示す:

       numFlashes (Class NumFlashes)
               Show  Active Widgets コマンドを実行したときに、アプリケーション
               の ウィジェットがフラッシュする回数を指定する。

       flashTime (Class FlashTime)
               前述のフラッシュの間の時間の長さ。

       flashColor (Class flashColor)
               アプリケーションのウィジェットをフラッシュさせるために使う色を
               指定する。   フラッシュした領域がすぐにユーザの注意を引く明るい
               色(赤や黄色など)を使 うべきである。

       saveResourcesFile (Class SaveResourcesFile)
               これは、リソースボックス内の  Save   ボタンが押されたときに、リ
               ソー ス行を追加するファイルである。

ウィジェット
       リソースを指定するためには、editres を構成するウィジェットの階層 を知っ
       ておくとよい。以下での記法としては、インデントで階層構造を示す。     ま
       た、最初にウィジェットのクラス名を示し、その後にウィジェットのインス タ
       ンス名を続ける。

       Editres  editres
            Paned  paned
                 Box  box
                      MenuButton  commands
                           SimpleMenu  menu
                           SmeBSB  sendTree
                           SmeBSB  refreshTree
                           SmeBSB  dumpTreeToFile
                           SmeLine  line
                           SmeBSB  getResourceList
                           SmeLine  line
                           SmeBSB  quit
                      MenuButton  treeCommands
                           SimpleMenu  menu
                           SmeBSB  showClientWidget
                           SmeBSB  selectAll
                           SmeBSB  unselectAll
                           SmeBSB  invertAll
                           SmeLine  line
                           SmeBSB  selectChildren
                           SmeBSB  selectParent
                           SmeBSB  selectDescendants
                           SmeBSB  selectAncestors
                           SmeLine  line
                           SmeBSB  showWidgetNames
                           SmeBSB  showClassNames
                           SmeBSB  showWidgetIDs
                           SmeBSB  showWidgetWindows
                           SmeLine  line
                           SmeBSB  flashActiveWidgets
                 Paned  hPane
                      Panner  panner
                      Label  userMessage
                      Grip  grip
                 Porthole  porthole
                      Tree  tree
                           Toggle  <アプリケーション内でのウィジェット名
                           .
                           .
                           .
                           TransientShell  resourceBox
                           Paned  pane
                           Label  resourceLabel
                           Form  namesAndClasses
                           Toggle  dot
                           Toggle  star
                           Toggle  any
                           Toggle  name
                           Toggle  class
                                .
                                .
                                .
                           Label  namesLabel
                           List  namesList
                           Label  constraintLabel
                           List  constraintList
                           Form  valueForm
                           Label  valueLabel
                           Text  valueText
                           Box  commandBox
                           Command  setFile
                           Command  save
                           Command  apply
                           Command  saveAndApply
                           Command  cancel
                           Grip  grip
                 Grip  grip

環境変数
       DISPLAY デフォルトのホストとディスプレイ番号を取得する。

       XENVIRONMENT
               RESOURCE_MANAGER プロパティに格納されているグローバルなリソース
               を上書 きする、リソースファイルの名前を取得する。

ファイル
       <XRoot>/lib/X11/app-defaults/Editres - 必要なリソースの指定

関連項目
       X(7), xrdb(1), Athena ウィジェットセット

制限
       このプログラムはプロトタイプであり、便利な機能をまだたくさん追加した
       い。 しかし、このプログラムはリソースエディタでできることをユーザに示す
       こと ができるものと期待している。

著者
       Chris D. Peterson, formerly MIT X Consortium