(57)【要約】【課題】ツリービューベースエディタに関するインラインプロパティ編集を対象とするシステムおよび方法を提供すること。【解決手段】ユーザは、ツリービュー内で所望のノードを選択し、その後、そのノードの上でマウスカーソルをホバリングして、スマートタグアンカを表示させる。ユーザが、スマートタグアンカをクリックした時に、オブジェクトプロパティパネルが、ツリー内に注入されて現れ、選択されたノードのプロパティおよび属性を示す。パネルは、ノードの真下など、ノードに視覚的に直接に近接して現れるが、ノードは、ツリー内のその位置に現れる。ツリーは、プロパティパネルがツリーのどの部分も視覚的に隠さないように展開される。複数のパネルを同時に開くことができ、プロパティ情報および属性情報を、さまざまなノードについて視覚的に比較できるようになる。【選択図】図１
2006195968.tif 000002
【特許請求の範囲】
【請求項１】
ツリーのノードに関する情報を管理する方法であって、
情報が望まれるノードを示すステップと、
前記示す時に、前記ノードに視覚的に直接に近接して前記ノードに関する情報を表示するステップであって、前記ノードは、前記ノードに視覚的に直接に近接する前記表示される情報と共に前記ツリー内に視覚的に現れ、前記表示される情報は、前記ツリーのどの部分も視覚的に隠さない、表示するステップとを備えることを特徴とする方法。
【請求項２】
前記表示される情報を変更することを介して前記ノードの前記情報を編集するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記ノードの前記情報は、ソフトウェアデータ構造のノードの少なくとも１つのプロパティを含むことを特徴とする請求項２に記載の方法。
【請求項４】
編集する前記動作は、
前記表示される情報の領域の内側の適当な位置でクリックすることによって、前記情報に対する変更を示すのにマウスを使用するステップを含むことを特徴とする請求項２に記載の方法。
【請求項５】
情報を表示する前記動作は、
前記ノードが前記ツリー内に視覚的に現れている間に、視覚的に前記ノードの下に前記ノードに関する情報を挿入するステップと、
前記表示される情報が前記ツリーのどの部分も視覚的に隠さないように、前記表示される情報のための空間を作るために前記ノードの下で前記ツリーを展開するステップとを含むことを特徴とする請求項１に記載の方法。
【請求項６】
ノードを示す前記動作は、
前記ノードの上でマウスポインタをホバリングするステップと、
表示に使用可能な前記ノードに関する情報があることの指示を前記ノードのとなりに表示するステップと、
前記指示をクリックするステップとを含むことを特徴とする請求項１に記載の方法。
【請求項７】
ノードを示す前記動作は、
マウスを用いてノードを選択するステップと、
前記ノードに関係する情報を表示したいという望みを示すためにキーボードの少なくとも１つのキーをタイプするステップとを含むことを特徴とする請求項１に記載の方法。
【請求項８】
情報が望まれる少なくとも第２ノードを示すステップと、
前記示す時に、前記少なくとも第２ノードに視覚的に直接に近接して前記少なくとも第２ノードに関する情報を表示するステップであって、前記少なくとも第２ノードは、前記少なくとも第２ノードに視覚的に直接に近接する前記表示される情報と共に前記ツリー内に視覚的に現れ、前記表示される情報は、前記ツリーのどの部分も視覚的に隠さない、表示するステップと、
前記少なくとも第２ノード以外のノードの情報を同時に表示するステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項９】
単一の指定された領域内でのマウスクリックによって、すべてのノードに関する前記表示される情報を同時に閉じるステップをさらに備えることを特徴とする請求項８に記載の方法。
【請求項１０】
キーボードで指定されたキーシーケンスをタイプすることによって、すべてのノードに関する前記表示される情報を同時に閉じるステップをさらに備えることを特徴とする請求項８に記載の方法。
【請求項１１】
情報が望まれる前記ノードを示すのと同一の形で示すことによって、前記ノードに関する前記表示される情報を閉じるステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１２】
閉じる前記動作は、
現在表示されている前記ノードに関する情報があることの指示を視覚的に前記ノードのとなりに表示するステップと、
前記指示をクリックするステップと、
前記表示される情報を除去するステップと、
前記表示される情報が前に表示されていた場所に視覚的ギャップがなくなるように前記ツリーを復元するステップとを含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
ツリーのノードに関する情報を管理する方法を実行する命令をその上に有するコンピュータ可読媒体であって、前記方法は、
情報が望まれるノードを示すステップと、
前記示す時に、前記ノードに視覚的に直接に近接して前記ノードに関する情報を表示するステップであって、前記ノードは、前記ノードに視覚的に直接に近接する前記表示される情報と共に前記ツリー内に視覚的に現れ、前記表示される情報は、前記ツリーのどの部分も視覚的に隠さない、表示するステップとを備えることを特徴とするコンピュータ可読媒体。
【請求項１４】
前記表示される情報を変更することを介して前記ノードの前記情報を編集する命令をその上に所有するステップをさらに備えることを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
前記ノードの前記情報は、ソフトウェアデータ構造のノードの少なくとも１つのプロパティを含むことを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１６】
編集する前記動作は、前記表示される情報の領域の内側の適当な位置でクリックすることによって、前記情報に対する変更を示すのにマウスを使用するステップを含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１７】
情報を表示する前記動作は、
前記ノードが前記ツリー内に視覚的に現れている間に、視覚的に前記ノードの下に前記ノードに関する情報を挿入するステップと、
前記表示される情報が前記ツリーのどの部分も視覚的に隠さないように、前記表示される情報の余地を作るために前記ノードの下で前記ツリーを展開するステップとを含むことを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１８】
ノードを示す前記動作は、
前記ノードの上でマウスポインタをホバリングするステップと、
表示に使用可能な前記ノードに関する情報があることの指示を前記ノードのとなりに表示するステップと、
前記指示をクリックするステップとを含むことを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１９】
ノードを示す前記動作は、
マウスを用いてノードを選択するステップと、
前記ノードに関係する情報を表示したいという望みを示すためにキーボードの少なくとも１つのキーをタイプすることとを含むことを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項２０】
ツリーのノードに関する情報を管理する方法を実行するコンピュータ可読命令を搬送する変調されたデータ信号であって、前記方法は、
情報が望まれるノードを示すステップと、
前記示す時に、前記ノードに視覚的に直接に近接して前記ノードに関する情報を表示するステップであって、前記ノードは、前記ノードに視覚的に直接に近接する前記表示される情報と共に前記ツリー内に視覚的に現れ、前記表示される情報は、前記ツリーのどの部分も視覚的に隠さない、表示するステップとを備えることを特徴とする変調されたデータ信号。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィカルユーザインターフェースに関する。具体的には、本発明は、開発環境内でグラフィカルユーザインターフェースを介するツリー要素のプロパティを表示し、編集するシステムおよび方法に関する。
【背景技術】
【０００２】
著作権通知および許可
この特許文書の開示の一部に、著作権保護の対象になる材料が含まれる可能性がある。著作権所有者は、米国特許商標局の特許ファイルまたは記録に現れる特許文書または特許開示の何人による写真複製にも異議を申し立てないが、それ以外のすべての著作権利を留保する。本文書に、次の著作権告示が適用される：Ｃｏｐｙｒｉｇｈｔ  （Ｃ）２００４，Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ。
【０００３】
ほとんどの現代のソフトウェアは、通常、大量のコンピュータ自動化された支援を用いて作成されている。そのような支援は、多数の統合開発環境またはＩＤＥのいずれかを介して市販されている。たとえば、ＭＩＣＲＯＳＯＦＴ社のＶＩＳＵＡＬ  ＳＴＵＤＩＯ（登録商標）、ＢＯＲＬＡＮＤ社のＣ＋＋  ＢＵＩＬＤＥＲ（登録商標）、ＭＥＴＲＯＷＥＲＫ社のＣＯＤＥ  ＷＡＲＲＩＯＲ（登録商標）、およびＩＢＭ社のＷＥＢＳＰＨＥＲＥ  ＳＴＵＤＩＯ（登録商標）のすべてが、ソフトウェア作成を支援するために現在入手可能な製品である。そのような製品は、たとえば、ソフトウェア要素（コードファイル、コントロール、フィールドなど）のプロパティを編集するなど、ある範囲の有用な機能を提供する。
【０００４】
ＩＤＥ内のツリービューベースのエディタは、階層データ構造の編集用であり、ユーザが、ツリー構造で存在する階層を見ながら要素を追加し、階層データ構造を作成することを可能にする。個々のノードのプロパティの編集は、これらのデータ構造の作成の本質的部分であり、したがって、ツリー内で要素を作成し、プロパティをセットするときに、一体化された経験を有することが望ましい。しかし、ツリー内のノードのプロパティの編集は、通常、視覚的に別々のウィンドウまたは場所で行われ、これは、ユーザの焦点を作業している内容（コード、メタデータなど）から動かすので、ユーザの気を散らす。したがって、ユーザが、１つの場所で主要な作業に焦点を合わせたままになる改善された経験を有することが望ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
これに関して、ツリービューベースエディタのユーザに、ユーザが１つの場所で主要な作業に焦点を合わせたままになる、要素プロパティの編集および表示の改善された経験を提供するシステムおよび方法の必要がある。
【課題を解決するための手段】
【０００６】
上述で識別された技術の短所に鑑みて、本発明は、ツリーのノードに関する情報を管理するシステムおよび方法を提供する。
【０００７】
本発明の複数の実施形態について、まず情報が望まれるノードを示すことを含む、ツリーのノードに関する情報を管理する方法が提供される。次に、前記示す時に、ノードに視覚的に直接に近接してノードに関する情報を表示する。ノードは、ノードに視覚的に直接に近接する表示される情報と共に、視覚的にツリー内に現れ、表示される情報は、ツリーのどの部分も視覚的に隠さない。ノードの情報の編集も、表示される情報を変更することを介して達成することができる。
【０００８】
さらなる特性を示すと、ノードの情報は、ソフトウェアデータ構造のノードの少なくとも１つのプロパティを含む。もう１つの特性を示すと、マウスが、表示される情報の領域の内側の適当な位置をクリックすることによって情報に対する変更を示すのに使用される。本発明の他の利益および特徴を、下で説明する。
【０００９】
ツリービューベースエディタでのインラインプロパティ編集のシステムおよび方法を、添付図面を参照してさらに説明する。
【発明を実施するための最良の形態】
【００１０】
次の説明および図面で、本発明のさまざまな実施形態の完全な理解を提供するために、ある特定の詳細を示す。しばしばコンピューティングおよびソフトウェアテクノロジに関連するある周知の詳細は、本発明のさまざまな実施形態を不必要に曖昧にしないようにするために、次の開示では示さない。さらに、当業者は、下で説明する詳細のうちの１つまたは複数なしで本発明の他の実施形態を実践できることを理解するであろう。最後に、次の開示で、ステップおよびシーケンスに関してさまざまな方法を説明するが、そのような説明は、本発明の実施形態の明瞭な実装を提供するためのものであり、これらのステップおよびステップのシーケンスを、本発明の実践に必要なものと解釈すべきではない。
【００１１】
概要
ツリービューベースエディタでオブジェクトプロパティパネルを使用するインラインプロパティ編集を有する統合開発環境（ＩＤＥ）のユーザインターフェースを提供するシステムおよび方法を説明する。説明されるのは、ユーザが、ツリー自体の中で直接に選択されたツリーノードのプロパティを編集できるようにするシステムおよび方法である。まず、オブジェクトプロパティパネルを使用するインラインプロパティ編集の例を示す例示的なツリービューインターフェースを説明する。次に、図１のオブジェクトプロパティパネルを使用するインラインプロパティ編集の処理を説明する。最後に、図４および５に、本明細書に記載のシステムおよび方法と共に使用するのに全般的に適すると認められるコンピューティング環境およびネットワーク化された環境を示す。図４および５の材料は、一般に、例示のためのものなので、対応する説明は、本明細書の末尾「例示的なコンピューティング環境およびネットワーク環境」という題名の節にとっておかれる。
【００１２】
ツリービューインターフェースおよびオブジェクトプロパティパネル
まず図１を参照すると、本発明による、ＭＩＣＲＯＳＯＦＴ  ＶＩＳＵＡＬ  ＳＴＵＤＩＯ（登録商標）での、オブジェクトプロパティパネルを使用するインラインプロパティ編集の例を示すグラフィカルユーザインターフェースのスクリーンショットが示されている。示されているのは、ＩＤＥのツリービュー１０１ベースエディタを含む例示的なユーザインターフェース１００である。図１に示された特定のＩＤＥは、ＭＩＣＲＯＳＯＦＴ  ＶＩＳＵＡＬ  ＳＴＵＤＩＯ（登録商標）のＩＤＥであるが、本明細書で開示される発明は、あらゆるツリービューベースエディタまたは互換ＩＤＥに適用可能である。また、関連して示されているのは、オブジェクトプロパティパネル（プロパティパネル）１０２、ツリービュー１０１のフォーカスがある現在ノード１０３、スマートタグアンカ１０５、普通のプロパティウィンドウ１１１を開くためのリンク１０９、フォーカスがある現在ノード１０３に対する複数の重要なプロパティ１１２、ベースエンティティフィールド１１３、フォーカスがあるノード１０３に対して行うことができるアクションへの複数のリンク１１５、およびプロパティパネル縮小ボタン１１７である。
【００１３】
図１からわかるように、フォーカスがある現在ノード１０３（すなわち選択されたノード１０３）についてプロパティパネル１０２が表示される。選択されたノード１０３は、そのノードに関するあるアクティビティを実行するために、ユーザが、マウスを用いてであれキーボードを用いてであれ、ある形で選択したノードである。図１の例では、ノード「Ｃｕｓｔｏｍｅｒ」が、現在選択されているノード１０３である。しかし、ツリービュー１０１内の他のどのノードでも、ユーザによるそのような選択およびフォーカスの対象にすることができ、潜在的に、その特定のノードのプロパティパネル１０２を表示させることができる。スマートタグアンカ１０５は、選択されたノード１０３に視覚的に近接し、プロパティパネル１０２の表示および縮小に使用される。しかし、プロパティパネル１０２をアクティブ化し、表示する特定のプロセスを、下の図２および３に関する議論で詳細に説明する。
【００１４】
プロパティパネルに、特定の選択されたノード１０３に最も重要な主フィールドおよび必須フィールドを含む変更可能プロパティのリストが含まれる。どのプロパティが重要であるかの定義およびその個数、またはプロパティパネル１０２に表示されるプロパティの定義およびその個数は、ユーザが定義するか、ＩＤＥソフトウェア製造業者が事前に設定することができる。考え方は、プロパティパネル１０２に表示された場合にユーザに最も有用であるプロパティが、一般に、プロパティパネル１０２に表示されるプロパティであるということである。これらは、たとえば、ユーザが操作を望む可能性が最も高いプロパティとすることができる。選択されたノード１０３に関してベースエンティティを割り当てるフィールド１１３も設けることができる。また、たとえば「Ｖｉｅｗ  Ｃｏｄｅ」、「Ａｄｄ  Ｅｎｔｉｔｙ  Ｃｕｂｅ」、および「Ａｄｄ  Ｃｏｌｌａｂｏｒａｔｉｏｎ」など、それに従う時に選択されたノード１０３に関して対応するアクションを実行するさまざまなリンク１１５を、プロパティパネル１０２内で提示することができる。プロパティパネル１０２内に表示できる「Ｍｏｒｅ．．」リンク１０９を介して、ユーザは、プロパティパネル１０２から普通のプロパティウィンドウ１１１にナビゲートし、これは、選択されたノード１０３のすべてのプロパティのビューである。これによって、ユーザが、特定の選択されたノード１０３の「全体像」を得られるようになる。これらの特定のオプションは、例示のみのために図１に示されており、特定のノード１０３のプロパティパネル１０２で使用可能な、選択されたノード１０３に関してアクションを実行するためのより多数のまたはより少数のオプションを有することが、完全に本発明の範囲に含まれる。また、上で説明したものを含む、アクションを実行するか選択されたノード１０３に対応する情報を表示するプロパティパネル１０２内に存在するオプションを、たとえばリンク、ボタン、スマートタグ、ドロップダウンリスト、コンボボックス、選択ボックス、テキストコマンドの入力など、プロパティパネル１０２内のさまざまなインターフェースを介して実施することができ、図１に示されたものまたは本明細書で説明されるものに制限されない。
【００１５】
図１に示されているように、プロパティパネル１０２は、プロパティパネル１０２が表示された時にプロパティパネルがツリービュー１０１内の他のアイテム（たとえば、ノード）を隠さず、おおわないように表示される。言い換えれば、プロパティパネルは、選択されたノード１０３の下のツリービューを展開し、ツリービュー１０１のいずれをもおおわない。たとえば、図１では、フォーカスがある現在ノード１０３（すなわち、Ｃｕｓｔｏｍｅｒノード）の下のノード「Ｐｒｏｐｅｒｔｉｅｓ」が、フォーカスがある現在ノード１０３のプロパティパネル１０２の背後ではなく、その下に視覚的に表示されている。ツリービュー１０１を展開する理由は、ユーザが、複数のツリーノードのプロパティを同時に比較することを望む可能性が高く、その場合に、プロパティパネル１０２が、ツリービュー１０１のどれの内容も隠すことができないからである。
【００１６】
また、複数のノード１０３に対応する複数のプロパティパネル１０２を、ツリービュー１０１内で同時にアクティブ化し、表示することができる。各プロパティパネル１０２は、表示される時に、ツリービュー１０１のどの要素もおおわないようにツリービュー１０１内に挿入される。ユーザが、プロパティパネル１０２のすべてを縮小するか閉じることを望む場合に、プロパティパネル縮小ボタン１１７が、ユーザインターフェース１００内に置かれており、ユーザがそれをクリックした時に、プロパティパネル１０２のすべてが一度に閉じるようになっている。
【００１７】
インラインプロパティ編集処理
次に、図２を参照すると、図１のオブジェクトプロパティパネルを使用するインラインプロパティ編集の処理を示す流れ図が示されている。具体的に言うと、図２には、選択されたノード１０３の図１のプロパティパネル１０２をアクティブ化し、表示し、選択されたノード１０３のプロパティを編集する処理が示されている。まず、ユーザが、マウスカーソルを選択されたノード１０３の上に移動する１２０。次に、スマートタグアンカ矢印１０５を、選択されたノード１０３の上でホバリングしているマウスカーソルの上に表示する１２２。次に、ユーザが、スマートタグアンカ矢印１０５をクリックする１２４。これによって、ツリービュー１０１が展開されて１２６、プロパティパネル１０２が現れる余地を作り、ツリービュー１０１内の他のアイテムがプロパティパネル１０２によって隠されず、おおわれないようにする。次に、選択されたノード１０３のプロパティおよび属性を含むプロパティパネル１０２を、選択されたノード１０３の下に表示する１２８。次に、ユーザは、選択されたノード１０３のプロパティパネル１０２に表示されたプロパティおよび属性を素早く簡単に編集することができる１３０。また、この処理を、ツリービュー１０１内の他の選択されたノードについて繰り返すことができ、プロパティパネル１０２などの複数のプロパティパネルを同時に表示し、ユーザが同時に複数のツリーノードのプロパティを視覚的に比較できるようにすることができる。ユーザは、スマートタグアンカ矢印１０５をもう一度クリックすることによって各プロパティパネルを個別に閉じるか縮小することができ、あるいは、上で説明したように、ユーザインターフェース１００内に置かれたプロパティパネル縮小ボタン１１７をクリックすることによって、開いているプロパティパネルのすべてを同時に閉じることができる。
【００１８】
次に、図３を参照すると、本発明による、図１のオブジェクトプロパティパネルを使用するインラインプロパティ編集の代替処理を示す流れ図が示されている。具体的に言うと、図３には、選択されたノード１０３の図１のプロパティパネル１０２をアクティブ化し、表示するキーストロークのシーケンスまたは「キーボードショートカット」を使用する代替処理が示されている。まず、ユーザが、プロパティを見たいノード１０３を選択する１３２。これは、たとえば、ツリービュー１０１内で所望のノード１０３をクリックすることによって行うことができる。ノードが選択した１３２ならば、ユーザは、たとえばＣｔｒｌ−Ａｌｔ−Ｆ１０などのキーボードショートカットをタイプする１３４。他のキーシーケンスを使用することもできる。これによって、ツリービュー１０１が展開されて１３６、プロパティパネル１０２が現れる余地を作り、ツリービュー１０１内の他のアイテムがプロパティパネル１０２によって隠されず、おおわれないようにする。次に、選択されたノード１０３のプロパティおよび属性を含むプロパティパネル１０２を、選択されたノード１０３の下に表示する１３８。次に、ユーザは、選択されたノード１０３のプロパティパネル１０２に表示されたプロパティおよび属性を素早く簡単に編集することができる１４０。ユーザは、選択されたノード１０３のプロパティの表示および／または設定を終了したならば、上で説明したものと同一の形で、または別の事前定義のキーボードショートカットによって、プロパティパネル１０２を閉じることができる。
【００１９】
本発明の諸態様を含むさまざまな処理およびオブジェクトは、当業者に既知の、ハードウェアまたはソフトウェアのいずれかで実装されるさまざまなツールを使用して開発することができる。たとえば、上で説明したユーザインターフェースは、ＭＩＣＲＯＳＯＦＴ  ＶＩＳＵＡＬ  ＳＴＵＤＩＯ（登録商標）を使用して開発でき、Ｃ＃でコーディングすることができるが、特定のプログラミング言語または開発環境での実装に制限されない。
【００２０】
例示的なコンピューティング環境およびネットワーク環境
図４を参照すると、本発明のさまざまな態様と共に使用するのに適する例示的なコンピューティングデバイスを示すブロック図が示されている。たとえば、ツリービューでのインラインプロパティ編集の処理および方法を実行するコンピュータ実行可能命令は、図４に示されたものなどのコンピューティング環境に常駐し、かつ／またはそこで実行することができる。コンピューティングシステム環境２２０は、適切なコンピューティング環境の１例にすぎず、本発明の使用の範囲または機能性に関する制限を提案することを意図されてはいない。コンピューティング環境２２０を、例示的なオペレーティング環境２２０に図示されたコンポーネントのいずれかまたはその組合せに関する依存性または要件を有するものと解釈してもならない。
【００２１】
本発明の諸態様は、多数の他の汎用または特殊目的のコンピューティングシステム環境または構成と共に動作する。本発明と共に使用するのに適する可能性がある周知のコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成に、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブルコンシューマエレクトロニクス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、および類似物が含まれるが、これらに制限はされない。
【００２２】
本発明の諸態様を、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の全般的な文脈で実施することができる。一般に、プログラムモジュールに、特定のタスクを実行するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明の諸態様を、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実践することができる。分散コンピューティング環境では、プログラムモジュールを、メモリストレージデバイスを含むローカルとリモートの両方のコンピュータ記憶媒体に置くことができる。
【００２３】
本発明の諸態様を実施する例示的なシステムに、コンピュータ２４１の形の汎用コンピューティングデバイスが含まれる。コンピュータ２４１のコンポーネントに、処理ユニット２５９、システムメモリ２２２、およびシステムメモリを含むさまざまなシステムコンポーネントを処理ユニット２５９に結合するシステムバス２２１が含まれる。システムバス２２１は、メモリバス、メモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含む複数のタイプのバス構造のいずれかとすることができる。制限ではなく例として、そのようなアーキテクチャに、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、Ｅｎｈａｎｃｅｄ  ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカルバス、メザニンバスとも称するＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスが含まれる。
【００２４】
コンピュータ２４１に、通常は、さまざまなコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、コンピュータ２４１によってアクセスでき、揮発性媒体および不揮発性媒体、リムーバブル媒体および固定媒体の両方を含む使用可能な媒体のいずれかとすることができる。制限ではなく例として、コンピュータ可読媒体に、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を保管する任意の方法またはテクノロジで実施された、揮発性および不揮発性、リムーバブルおよび固定の両方の媒体が含まれる。コンピュータ記憶媒体に、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、および他のメモリテクノロジ、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）、または他の光学ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは所望の情報の保管に使用でき、コンピュータ２４１によってアクセスできる他のすべての媒体が含まれるが、これに制限はされない。通信媒体によって、通常は、搬送波または他のトランスポート機構などの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータが実施され、通信媒体には、すべての情報配布媒体が含まれる。用語「変調されたデータ信号」は、信号内で情報をエンコードする形でその特性の１つまたは複数を設定または変更された信号を意味する。制限ではなく例として、通信媒体に、有線ネットワークまたは直接配線接続などの有線媒体と、音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体が含まれる。上記のいずれかの組合せも、コンピュータ可読媒体の範囲に含まれなければならない。
【００２５】
システムメモリ２２２に、読取専用メモリ（ＲＯＭ）２２３およびランダムアクセスメモリ（ＲＡＭ）２６０などの揮発性メモリおよび／または不揮発性メモリの形のコンピュータ記憶媒体が含まれる。起動中などにコンピュータ２４１内の要素の間での情報の転送を助ける基本ルーチンを含む基本入出力システム２２４（ＢＩＯＳ）が、通常はＲＯＭ  ２２３に保管される。ＲＡＭ  ２６０には、通常は、処理ユニット２５９から即座にアクセス可能、かつ／または処理ユニット２５９によって現在操作中のデータおよび／またはプログラムモジュールが含まれる。制限ではなく例として、図４に、オペレーティングシステム２２５、アプリケーションプログラム２２６、他のプログラムモジュール２２７、およびプログラムデータ２２８を示す。
【００２６】
コンピュータ２４１に、他のリムーバブル／固定、揮発性／不揮発性のコンピュータ記憶媒体も含めることができる。例のみとして、図４に、固定不揮発性磁気媒体から読み取るかこれに書き込むハードディスクドライブ２３８、リムーバブル不揮発性磁気ディスク２５４から読み取るかこれに書き込む磁気ディスクドライブ２３９、ＣＤ−ＲＯＭまたは他の光媒体などのリムーバブル不揮発性光ディスク２５３から読み取るかこれに書き込む光ディスクドライブ２４０を示す。例示的なオペレーティング環境で使用できる他のリムーバブル／固定、揮発性／不揮発性のコンピュータ記憶媒体に、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、および類似物が含まれるが、これに制限はされない。ハードディスクドライブ２３８は、通常は、インターフェース２３４などの固定メモリインターフェースを介してシステムバス２２１に接続され、磁気ディスクドライブ２３９および光ディスクドライブ２４０は、通常、インターフェース２３５などのリムーバブルメモリインターフェースによってシステムバス２２１に接続される。
【００２７】
上で説明し、図４に示したドライブおよびそれに関連するコンピュータ記憶媒体は、コンピュータ２４１のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。図４では、たとえば、ハードディスクドライブ２３８が、オペレーティングシステム２５８、アプリケーションプログラム２５７、他のプログラムモジュール２５６、およびプログラムデータ２５５を保管するものとして図示されている。これらのコンポーネントを、オペレーティングシステム２２５、アプリケーションプログラム２２６、他のプログラムモジュール２２７、およびプログラムデータ２２８と同一のまたは異なるもののいずれかとすることができることに留意されたい。オペレーティングシステム２５８、アプリケーションプログラム２５７、他のプログラムモジュール２５６、およびプログラムデータ２５５は、最低限でも異なるコピーであることを示すために、異なる符号を与えられている。ユーザは、キーボード２５１および、一般にマウス、トラックボール、またはタッチパッドと称するポインティングデバイス２５２などの入力デバイスを介してコンピュータ２４１にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）に、マイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、または類似物を含めることができる。上記および他の入力デバイスは、しばしば、システムバスに結合されたユーザ入力インターフェース２３６を介して処理ユニット２５９に接続されるが、パラレルポート、ゲームポート、またはｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）などの他のインターフェースおよびバス構造によって接続することができる。モニタ２４２または他のタイプのディスプレイデバイスも、ビデオインターフェース２３２などのインターフェースを介してシステムバス２２１に接続される。モニタのほかに、コンピュータに、スピーカ２４４およびプリンタ２４３など、出力周辺インターフェース２３３を介して接続できる他の周辺出力デバイスも含めることができる。
【００２８】
コンピュータ２４１は、リモートコンピュータ２４６などの１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモートコンピュータ２４６は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常は、上でコンピュータ２４１に関して説明した要素の多くまたはすべてが含まれるが、図４には、メモリストレージデバイス２４７だけを示した。図４に示された論理接続に、ローカルエリアネットワーク（ＬＡＮ）２４５および広域ネットワーク（ＷＡＮ）２４９が含まれるが、他のネットワークも含めることができる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびインターネットでありふれたものである。
【００２９】
ＬＡＮネットワーキング環境で使用される時に、コンピュータ２４１は、ネットワークインターフェースまたはネットワークアダプタ２３７を介してＬＡＮ  ２４５に接続される。ＷＡＮネットワーキング環境で使用される時に、コンピュータ２４１に、通常は、インターネットなどのＷＡＮ  ２４９を介する通信を確立するために、モデム２５０または他の手段が含まれる。モデム２５０は、内蔵または外付けとすることができるが、ユーザ入力インターフェース２３６または他の適当な手段を介してシステムバス２２１に接続することができる。ネットワーク化された環境では、コンピュータ２４１に関して図示されたプログラムモジュールまたはその一部を、リモートメモリストレージデバイスに保管することができる。制限ではなく例として、図４に、メモリデバイス２４７に常駐するものとしてリモートアプリケーションプログラム２４８を示す。図示のネットワーク接続が例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用できることが認識される。
【００３０】
本明細書に記載のさまざまな技法を、ハードウェアまたはソフトウェアに関して、あるいは、適当な場合にこの両方の組合せに関して実施することができることを理解されたい。したがって、本発明の方法および装置、あるいはその態様または部分は、フロッピディスク、ＣＤ−ＲＯＭ、ハードドライブ、または他の機械可読記憶媒体などの有形の媒体で実施されるプログラムコード（すなわち命令）の形をとることができ、このプログラムコードが、コンピュータなどの機械にロードされ、これによって実行される時に、その機械が、本発明を実践する装置になる。プログラマブルコンピュータで実行されるプログラムコードの場合に、コンピューティングデバイスに、一般に、プロセッサ、プロセッサによって可読の記憶媒体（揮発性および不揮発性のメモリおよび／または記憶要素を含む）、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスが含まれる。たとえば、ＡＰＩ、再利用可能コントロール、または類似物の使用を介する、本発明に関して、処理を実施または使用することができる１つまたは複数のプログラムを説明する。そのようなプログラムは、コンピュータシステムと通信するために高水準手続き指向プログラミング言語または高水準オブジェクト指向プログラミング言語で実装されることが好ましい。しかし、望まれる場合に、プログラムを、アセンブリ言語または機械語で実装することができ、どの場合でも、言語は、コンパイルされる言語または解釈される言語とすることができ、ハードウェア実装と組み合わせることができる。
【００３１】
例示的な実施形態では、１つまたは複数の独立型コンピュータシステムの文脈での本発明の態様の使用に言及したが、本発明を、それに制限されるのではなく、ネットワーク環境または分散コンピューティング環境などのすべてのコンピューティング環境に関して実施することができる。さらに、本発明の態様を、複数の処理チップまたは処理デバイスの中またはこれらにまたがって実施することができ、ストレージを、同様に、複数のデバイスにまたがって実現することができる。そのようなデバイスに、パーソナルコンピュータ、ネットワークサーバ、ハンドヘルドデバイス、スーパーコンピュータ、または、自動車および航空機などの他のシステムに統合されたコンピュータを含めることができる。
【００３２】
例示的なネットワーク化されたコンピューティング環境を、図５に示す。当業者は、ネットワークが、すべてのコンピュータ、他のクライアントデバイス、またはサーバデバイスを接続でき、あるいは分散コンピューティング環境で接続できることを諒解することができる。これに関して、任意の個数の処理ユニット、メモリユニット、またはストレージユニットを有するすべてのコンピュータシステムまたは環境、あるいは同時に発生する任意の個数のアプリケーションまたはプロセスを、提供されるシステムおよび方法に関する使用に適すると考えることができる。
【００３３】
分散コンピューティングは、コンピューティングデバイスおよびシステムの間での交換によって、コンピュータリソースおよびサービスの共有を提供する。これらのリソースおよびサービスに、情報の交換、キャッシュストレージ、およびファイルのディスクストレージが含まれる。分散コンピューティングは、ネットワーク接続性を利用し、クライアントがその集合的な威力を活用して企業全体に利益を与えることを可能にする。これに関して、さまざまなデバイスが、本明細書に記載の処理を関係させることができるアプリケーション、オブジェクト、またはリソースを有することができる。
【００３４】
図５に、例示的なネットワーク化された環境または分散コンピューティング環境の概略図を示す。この環境には、コンピューティングデバイス２７１、２７２、２７６、および２７７ならびにオブジェクト２７３、２７４および２７５とデータベース２７８が含まれる。これらのエンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、および２７８は、プログラム、メソッド、データストア、プログラマブルロジックなどを含むか利用することができる。エンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、および２７８は、ＰＤＡ、オーディオ／ビデオデバイス、ＭＰ３プレイヤ、パーソナルコンピュータなどの、同一のまたは異なるデバイスの諸部分にまたがることができる。各エンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、および２７８は、通信ネットワーク２７０を介して別のエンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、および２７８と通信することができる。これに関して、すべてのエンティティが、データベース２７８または他のストレージ要素の維持および更新の責任を負うことができる。
【００３５】
このネットワーク２７０自体に、図５のシステムにサービスを提供する他のコンピューティングエンティティを含めることができ、このネットワーク２７０自体が、複数の相互接続されたネットワークを表すことができる。本発明の態様によれば、各エンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、および２７８に、１つまたは複数の他のエンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、および２７８にサービスを要求するために、ＡＰＩを使用することができる別個の機能プログラムモジュール、もしくは他のオブジェクト、ソフトウェア、ファームウェア、および／またはハードウェアを含めることができる。
【００３６】
２７５などのオブジェクトを、別のコンピューティングデバイス２７６でホスティングできることも諒解されたい。したがって、図示の物理的環境を、接続されたデバイスをコンピュータとして示すことができるが、そのような図示は、単に例示であり、物理的環境は、その代わりに、ＰＤＡ、テレビジョン、ＭＰ３プレイやなどのさまざまなディジタルデバイス、インターフェース、ＣＯＭオブジェクトなどのソフトウェアオブジェクト、および類似物を含むものとして図示または説明することができる。
【００３７】
分散コンピューティング環境をサポートするさまざまなシステム、コンポーネント、およびネットワーク構成がある。たとえば、コンピューティングシステムを、有線システムまたは無線システムによって、ローカルネットワークまたは広範囲に分散したネットワークによって一緒に接続することができる。現在、多くのネットワークが、インターネットに結合されており、インターネットは、広範囲に分散したコンピューティングのインフラストラクチャを提供し、多数の異なるネットワークを含む。そのようなインフラストラクチャを、インターネットに結合されていてもいなくても、提供されるシステムおよび方法と共に使用することができる。
【００３８】
ネットワークインフラストラクチャは、クライアント／サーバアーキテクチャ、ピアツーピアアーキテクチャ、またはハイブリッドアーキテクチャなどのネットワークトポロジのホストを可能にすることができる。「クライアント」は、それが関係しない別のクラスまたはグループのサービスを使用するクラスまたはグループのメンバである。コンピューティングにおいて、クライアントは、別のプログラムによって提供されるサービスを要求する、プロセスすなわち、おおまかには命令またはタスクの組である。クライアントプロセスは、他のプログラムまたはサービス自体に関する動作詳細を「知る」必要なしに、要求されたサービスを使用する。クライアント／サーバアーキテクチャ、特にネットワーク化されたシステムでは、クライアントは、通常、別のコンピュータ、たとえばサーバによって提供される共有ネットワークリソースにアクセスするコンピュータである。図５の例では、すべてのエンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、および２７８を、状況に応じて、クライアント、サーバ、またはその両方と考えることができる。
【００３９】
サーバは、必ずではないが通常、インターネットなどのリモートネットワークまたはローカルネットワークを介してアクセス可能なリモートコンピュータシステムである。クライアントプロセスは、第１コンピュータシステム内でアクティブになることができ、サーバプロセスは、第２コンピュータシステム内でアクティブになることができ、通信媒体を介して互いに通信し、したがって、分散機能性を提供し、サーバの情報収集機能を複数のクライアントが利用できるようになる。すべてのソフトウェアオブジェクトを、複数のコンピューティングデバイスまたはオブジェクトにまたがって分散させることができる。
【００４０】
クライアントおよびサーバは、プロトコル層によって提供される機能性を使用して互いに通信する。たとえば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）は、ワールドワイドウェブ（ＷＷＷ）または「ウェブ」と共に使用される一般的なプロトコルである。通常、インターネットプロトコル（ＩＰ）アドレスなどのコンピュータネットワークアドレスまたはＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）などの他の参照を、サーバコンピュータまたはクライアントコンピュータを互いに識別するのに使用することができる。ネットワークアドレスを、ＵＲＬアドレスと呼ぶことができる。通信は、通信媒体を介して提供することができ、たとえば、クライアントおよびサーバを、大容量通信用のＴＣＰ／ＩＰ接続を介して互いに結合することができる。
【００４１】
図４に示された一般的なフレームワークに従って作ることができる多様なコンピューティング環境および図５の環境などのネットワーク環境でのコンピューティングにおいて発生し得るさらなる多様性に鑑みて、いかなる形であれ、本明細書で提供されるシステムおよび方法を特定のコンピューティングアーキテクチャに制限されると考えることはできない。そうではなく、本発明は、単一の実施形態に制限されるのではなく、添付された請求項に従う範囲で解釈されなければならない。
【図面の簡単な説明】
【００４２】
【図１】本発明による、ＭＩＣＲＯＳＯＦＴ  ＶＩＳＵＡＬ  ＳＴＵＤＩＯ（登録商標）での、オブジェクトプロパティパネルを使用するインラインプロパティ編集の例を示すグラフィカルユーザインターフェースのスクリーンショットである。
【図２】本発明による、図１のオブジェクトプロパティパネルを使用するインラインプロパティ編集の処理を示す流れ図である。
【図３】本発明による、図１のオブジェクトプロパティパネルを使用するインラインプロパティ編集の代替処理を示す流れ図である。
【図４】本発明のさまざまな態様と共に使用するのに適する例示的なコンピューティングデバイスを示すブロック図である。
【図５】多数のコンピュータ化された処理を実施することのできる例示的なネットワーク化されたコンピューティング環境を示す図である。
【符号の説明】
【００４３】
１００  ユーザインターフェース
１０１  ツリービュー
１０２  プロパティパネル
１０３  ノード
１０５  スマートタグアンカ
１０９  リンク
１１１  プロパティウィンドウ
１１２  プロパティ
１１３  ベースエンティティフィールド
１１５  リンク
１１７  プロパティパネル縮小ボタン
１２０  マウスカーソルを選択されたノードの上に移動する
１２２  スマートタグアンカ矢印を表示する
１２４  スマートタグ矢印をクリックする
１２６  ツリービューを展開して、オブジェクトプロパティパネルの余地を作る
１２８  オブジェクトプロパティおよび属性を有するパネルを表示する
１３０  パネルに表示されたプロパティおよび属性を編集する
１３２  マウスを用いてオブジェクトを選択する
１３４  キーボードショートカットをタイプする
１３６  ツリーを展開して、オブジェクトプロパティパネルの余地を作る
１３８  オブジェクトプロパティおよび属性を有するパネルを表示する
１４０  パネルに表示されたプロパティおよび属性を編集する
２２０  コンピューティング環境
２２１  システムバス
２２２  システムメモリ
２２３  （ＲＯＭ）
２２４  ＢＩＯＳ
２２５  オペレーティングシステム
２２６  アプリケーションプログラム
２２７  他のプログラムモジュール
２２８  プログラムデータ
２２９  ＧＰＵ
２３０  ビデオメモリ
２３１  グラフィックスインターフェース
２３２  ビデオインターフェース
２３３  出力周辺インターフェース
２３４  固定不揮発性メモリインターフェース
２３５  リムーバブル不揮発性メモリインターフェース
２３６  ユーザ入力インターフェース
２３７  ネットワークインターフェース
２３８  ハードディスクドライブ
２３９  磁気ディスクドライブ
２４０  光ディスクドライブ
２４１  コンピュータ
２４２  モニタ
２４３  プリンタ
２４４  スピーカ
２４５  ローカルエリアネットワーク
２４６  リモートコンピュータ
２４７  メモリストレージデバイス
２４８  リモートアプリケーションプログラム
２４９  広域ネットワーク
２５０  モデム
２５１  キーボード
２５２  ポインティングデバイス
２５３  リムーバブル不揮発性光ディスク
２５４  リムーバブル不揮発性磁気ディスク
２５５  プログラムデータ
２５６  他のプログラムモジュール
２５７  アプリケーションプログラム
２５８  オペレーティングシステム
２５９  処理ユニット
２６０  （ＲＡＭ）
２７０  通信ネットワーク／バス
２７１  コンピューティングデバイス
２７２  コンピューティングデバイス
２７３  オブジェクト
２７４  オブジェクト
２７５  オブジェクト
２７６  コンピューティングデバイス
２７７  コンピューティングデバイス
２７８  データベース
【図１】
2006195968.tif 000003
【図２】
2006195968.tif 000004
【図３】
2006195968.tif 000005
【図４】
2006195968.tif 000006
【図５】
2006195968.tif 000007