JP2004206668A - 簡易ビューによるユーザインターフェイス要素表現 - Google Patents

簡易ビューによるユーザインターフェイス要素表現 Download PDF

Info

Publication number
JP2004206668A
JP2004206668A JP2003125922A JP2003125922A JP2004206668A JP 2004206668 A JP2004206668 A JP 2004206668A JP 2003125922 A JP2003125922 A JP 2003125922A JP 2003125922 A JP2003125922 A JP 2003125922A JP 2004206668 A JP2004206668 A JP 2004206668A
Authority
JP
Japan
Prior art keywords
node
user interface
interface element
selectively
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003125922A
Other languages
English (en)
Other versions
JP4694107B2 (ja
Inventor
Peter Francis Ostertag
フランシス オスタータグ ピーター
Mark James Finocchio
ジェームズ フィノッキオ マーク
Michael Edward Dulac Winser
エドワード デュラック ウィンザー マイケル
Benjamin Franklin Wang Jen-Shong Carter
フランクリン ワン ジェン−ション カーター ベンジャミン
Nicholas Kramer
クラマー ニコラス
Samuel Watkins Bent
ワトキンス ベント サミュエル
Namita Gupta
グプタ ナミタ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004206668A publication Critical patent/JP2004206668A/ja
Application granted granted Critical
Publication of JP4694107B2 publication Critical patent/JP4694107B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Digital Computer Display Output (AREA)

Abstract

【課題】合成ユーザインターフェイス要素の表現を簡易化する。
【解決手段】選択的可視化可能ノードを定義し、その定義に従って、ノードを表示する。1つまたは複数のユーザインタフェースの表現の簡易ビューが提供される。たとえば、ユーザインタフェース要素を階層表現において表現するいくつかのノードを、選択的可視化可能にすることができる。このようなノードをある状況下で可視化させることができ、他の状況下で非可視化させることができる。この例示的方法では、簡易表現ビュー(たとえば、選択的可視化可能ノードを可視化しない)が提供される。
【選択図】 図5

Description

【0001】
【発明の属する技術分野】
技術分野は、ユーザインターフェイス要素の内部表現に関する。
【0002】
【従来の技術】
コンピュータの急増により、ソフトウェアユーザインターフェイスの分野において革新が起こっている。たとえば、ユーザインターフェイスをプログラマによって作成かつ操作することができる多数のツールが現在、入手可能である。さらに現在、ユーザインターフェイス要素を、webページまたはワードプロセッシングドキュメントなど、ドキュメントに入れることができる。
【0003】
ユーザインターフェイス要素は多数の形態を取ることができ、これら形態は編集ボックス、リストボックス、スクロールバー、ピックリスト、プッシュボタンなどである。ユーザインターフェイス要素はユーザに対して単一の合成アイテムのように見える可能性があるが、これは実際にはコンピュータ内で、いくつかの別々のアイテムまたは副要素が共に結合されているものとして表現することができる。さらに、これらの各副要素自体を他の副要素から合成することができる。この方法では、ユーザインターフェイス要素が、他のより複雑なユーザインターフェイス要素を構築するためのビルディングブロックとしての機能を果たすことができる。このような手法は有用であり、これはユーザインターフェイスを管理するソフトウェア(たとえば、ユーザインターフェイスフレームワーク)がある共通要素を合成要素に組み立てる場合、その定義を再利用できるからである。
【0004】
【発明が解決しようとする課題】
しかし、ユーザインターフェイス要素を合成ユーザインターフェイス要素として表現することによって導入された複雑さには、問題がある可能性がある。たとえば、新しい、あるいは臨時のプログラマは、どのように合成ユーザインターフェイスが組み立てられるかということ、または第1にその合成ユーザインターフェイスが合成であることさえも知ることを望まないかも知れない。このようなプログラマはむしろ、合成ユーザインターフェイス要素を扱うときにこのような複雑さを避けるであろう。実際には、経験のあるプログラマでさえ、このような複雑さを扱うことを避けることを望む可能性がある。したがって、合成ユーザインターフェイス要素の表現をどうにか簡易化する必要がある。
【0005】
【課題を解決するための手段】
本明細書に記載するように、1つまたは複数のユーザインターフェイスの表現の簡易ビューが提供される。たとえば、ユーザインターフェイス要素を階層表現において表現するいくつかのノードを、選択的可視化可能(selectively exposable)にすることができる。このようなノードをある状況下で可視化させることができ、他の状況下で非可視化(unexposed)させることができる。この例示的方法では、簡易表現ビュー(たとえば、選択的可視化可能ノードを可視化しない)が提供される。
【0006】
1つの実施では、ユーザインターフェイスサービスを提供する場合、様々なオペレーションを、ユーザインターフェイスの表現の簡易ビューにおいて実行することができる。たとえば、オペレーションを実行する場合、選択的可視化可能ノードを非可視化させることができる。このような手法は、表現の詳細を知られることを望まないプログラマにとって有用となる可能性がある。
【0007】
たとえば、複数のユーザインターフェイス要素を単一の合成ユニットに合成することができ、単一の合成ユニットにおいてオペレーションを実行することができる。合成ユニットが複数のユーザインターフェイス要素から構成されるという事実を、ユーザインターフェイス要素の表現の簡易ビューにおいてはっきり見ることができる。したがって、プログラムはこの表現を、非可視化されたノードにかまわずに調査かつ操作することができる。結果として、プログラマはより単純なコードまたはマークアップを書くことができる。また、プログラマは、合成ユニットのための複数のノードを含む可能性のある、下にある構造を完全に熟知する必要がない。
【0008】
したがって、簡易ビューを提供するユーザインターフェイスサービスは、ソフトウェアを再利用することができる強力なツールを提供することができ、レベルが高度でないユーザはユーザインターフェイス要素と基礎的レベルで対話することができる。
【0009】
さらなる特徴および利点は、添付の図面を参照して行われる、例示した実施形態の以下の詳細な説明から明らかになるであろう。
【0010】
【発明の実施の形態】
概観
ここに記載する様々な技術は、ユーザインターフェイス要素の作成、提示および操作に有用である。ユーザインターフェイス要素は多数の形態を取ることができ、これはグラフィカルなプッシュボタン、編集ボックス、スクロールバー、ピックリスト、ドロップダウンメニュー、ACTIVEXコントロール、イメージなどである。ユーザインターフェイス要素はプログラムの一部として(たとえば、プログラムの機能をコントロールするために)、あるいはドキュメント内に出現させることができる。このようなユーザインターフェイス要素の内部表現の簡易ビューは、ユーザインターフェイス要素のためのプログラミングをより単純にすることができる。たとえば、臨時のまたは高度でないプログラマは簡易ビューと対話しながらプログラムを書くことができ、ある複雑さを熟知するようになる必要はない。また、より高度なプログラマは、このような複雑さを阻止し、可能性のあるプログラミングの誤りを回避することを望むことができる。
【0011】
望むなら、ここに記載する技術(たとえば、簡易ビュー)を、ユーザインターフェイスサービスの一部として提供することができる。したがって、このサービスと対話するプログラムは、この機能を望むように利用することができる。
【0012】
ある実施形態では、ユーザインターフェイス要素を、簡易ビューと共に階層表現を有するものとして定義することができる。このような定義を呼び出して、簡易ビューと共に階層表現を作成することができる。続いて、オペレーションを階層表現において実行することができる。このようなオペレーションを、階層表現のフル(詳細)または簡易ビューのいずれにおいても実行することができる。
【0013】
ユーザインターフェイス要素は、複数のユーザインターフェイス要素を含む合成ユーザインターフェイス要素であり、主(たとえば、親)ノードを可視化することができ、合成ユーザインターフェイス要素のための他のノードを選択的可視化可能として定義することができる。非可視化される場合、表現のビューは主ノードを示すが、他の選択的可視化可能ノードを示さない。したがって、合成ユーザインターフェイス要素のための、複数のノードではなく1つのノードを可視化することができる。
【0014】
合成ユーザインターフェイス要素の表現のフルビューを比較的複雑にすることができ、ここでは、ユーザインターフェイス要素を表現する階層表現に複数のノードが存在する可能性がある。フルビューを操作することを望むプログラマは、様々なノードおよびそれらの階層関係を知るようになることに直面する。ここで説明するように、代わりに、プログラムは簡易ビューを使用してオペレーションを実行することができる。
【0015】
簡易ビューでは、オペレーションをノード(たとえば、階層における親または子ノード)上で実行する場合、非可視化されたノードを無視することができる。たとえば、子をノードに追加する場合、非可視化された中間ノードを無視またはスキップすることができる。したがって、ユーザインターフェイスの階層表現の簡易ビューにおいて子をノードに追加するためのリクエストは実際には、そのノードの適切な子ノード(たとえば、合成ユーザインターフェイス要素の1つの要素を表現するもの)に子を追加する結果となる可能性がある。このような手法は有用であり、これは簡易ビューにおいて子を追加するために、ユーザインターフェイス要素を形成する複数のノードの複雑さおよびそれらの相互関係の知識が必要とされないからである。
【0016】
たとえば、リストボックスを、階層関係における複数のノードとして表現することができ、ノードのうち1つを、特定のノードとして指定し、子ノードとしてリストボックスについて表示された選択を受けることができる。しかし、プログラマは、このような複雑さを熟知するようになることを望まない可能性がある。
【0017】
簡易ビューを使用すると、このようなオペレーションを容易に実行することができ、これは、追加のユーザ選択をユーザインターフェイス要素の主ノードの子として追加する(たとえば、簡易ビューを介する)ことによって行われる。簡易ビューでは、子を主ノードに追加するためのリクエストが、子を適切なノード(たとえば、主ノードの子孫)に追加するためのリクエストとして実施される。このように、プログラムは、ユーザインターフェイス要素の簡易表現を使用して、オペレーションをユーザインターフェイス要素において実行することができる。結果として、プログラマはフルビューの複雑さを知るようになる必要がなく、より単純なコードまたはマークアップを使用することができる。
【0018】
簡易ビューを実施する1つの方法は、表現における様々なノードをカプセル化の親またはカプセル化のコンテナとして定義することである。このように、特定のノードを主ノード(たとえば、カプセル化の親)として指定することができ、別の(たとえば、子)ノードを、(たとえば、親ノードが簡易ビューにおいて複数の子を有するか、あるいはこれから有するようになる場合に)子を受けるための特定のノードとして指定することができる。
【0019】
簡易ビューを実施するもう1つの方法は、選択的可視化可能ノードを定義することであり、これは、その複数の子が、簡易ビューにおける選択的可視化可能ノードの兄弟の兄弟と見なされるような方法で行われる。
【0020】
本明細書に記載するように、子を追加すること以外のいくつかのオペレーションを実行して、ユーザインターフェイス要素表現について学習し、あるいはこれを操作することができる。加えて、オペレーションを、表現におけるいずれかのノードにおいて実行することができ、およびオペレーションはなお簡易ビューを利用することができる。
【0021】
さらに、(たとえば、追加されたノードについての)プロパティ値を、選択的可視化可能ノードに照らして決定することができる。いくつかの場合、主ノード(たとえば、選択的可視化可能ノードを無視する主ノード)、直接の(たとえば、非可視化された)親、またはそれらの組み合わせに関連付けられたプロパティ値を使用することが望ましい可能性がある。
【0022】
ユーザインターフェイス要素表現に関するいくつかの詳細が隠されるが、合成ユーザインターフェイス要素のための主ノードおよび選択的可視化可能ノードは時として、「カプセル化された」ユーザインターフェイス要素を形成すると言われる。
【0023】
簡易ビューと対話するプログラムまたはマークアップ言語を、存在の表現の複雑さのいくつかについて阻止することができる。したがって、合成ユーザインターフェイス要素を複数のユーザインターフェイス要素から組み立てることができ、合成ユーザインターフェイスを使用するプログラムのための追加の複雑さを導入することはない。このような手法は、ユーザインターフェイス要素の開発者が新しいものを作成する場合、既存のユーザインターフェイス要素を再利用するように助長することができ、ユーザインターフェイス要素を扱うときに不要な複雑さを導入することがないので有用である可能性がある。さらに、選択的可視化可能ノードを指定する定義のネスティングをサポートすることができる。
【0024】
ユーザインターフェイス要素の例示的階層表現
ユーザインターフェイス要素をソフトウェアにおいて表現するための1つの方法は、これを、様々なノードを有する階層ツリーの形態で格納することである。図1は、ユーザインターフェイス要素の例示的階層表現100を示す。ノード110および120は、図では親子関係を有する。たとえば、ノード110は、子要素120の親要素である。表現100は複数のノードを含むので、これは時として「合成」ユーザインターフェイス要素を表現すると言われる。合成ユーザインターフェイス要素の場合、ノード110は1つの視覚的提示に対応することができ、ノード120は別の視覚的提示に対応することができる。しかし、ノード110または120のうち少なくとも1つは視覚的描写を有していない可能性がある。
【0025】
表現100における1つまたは複数のノードを、選択的可視化可能として指定することができる。この実施例では、ノード120がそのように指定される。表現100の簡易ビューを提示する場合、選択的可視化可能ノード120が非可視化される。結果として、ユーザインターフェイス要素の階層表現100を表現するノードのうちルートノード110のみが可視化される。したがって、可視化されたノード110は時として「主」ノードと呼ばれる。
【0026】
多数の要素を含むはるかにより多くの複雑なユーザインターフェイスを、図1に示す方法で表現することができる。各要素はそれ自体で他のユーザインターフェイス要素を含んでおり、図1に図示しない複雑さの追加のレイヤ(たとえば、選択的可視化可能ノードを含む、より多くのノード)を追加することができる。さらに、様々な子ノードを、他のユーザインターフェイス要素の表現のための主ノードにすることができる。
【0027】
図1は、ユーザインターフェイス要素の階層表現のフルビューを示し、これは選択的可視化可能な子ノード(たとえば、ノード120)を含む。しかし、様々なオペレーションをユーザインターフェイス要素の表現について実行する場合、階層表現100のフルビューは望ましくない可能性がある。たとえば、ノード120との直接対話は、ある状況では不要である可能性がある。そうである場合、図2に示す表現の例示的簡易ビュー200を提示することができる。
【0028】
例示的簡易ビュー200はただ1つのノード210のみを示す。ノード210は、フルビューのノード110および120の組み合わせの表現(たとえば、ノード120がノード110内にカプセル化される)、または単にフルビューのノード110の表現にすることができる。
【0029】
ユーザインターフェイス要素の別の例示的階層表現
別の例示的階層表現300を図3に示す。この実施例では、ノード310、320および325が、合成ユーザインターフェイス要素を表現するノードのセット330である。ノードのセット330のうち、ノード310は主ノードであり、残りのノード320および325が選択的可視化可能として定義される。もう1つのノード340は選択的可視化可能ではなく、選択的可視化可能ノード320のうち1つの子として示される。表現300は選択的可視化可能ノードを含み、フルビューがリクエストされた場合、これが提供される。
【0030】
対応する簡易ビューを図4に示す。簡易ビューがリクエストされる場合、選択的可視化可能ノード320および325は可視化されない。その代わりに、簡易ビュー400はノード410(たとえば、ノード310、または、ノード310、320および325の組み合わせ)およびノード340を示す。
【0031】
このとき図3を参照すると、ノード320のうち1つを、その下に簡易ビューの子(たとえばノード340)が格納されるノードとして指定することができる。このようなノードは時として(たとえば、カプセル化されたノードについての)「コンテナ」ノードと呼ばれる。
【0032】
したがって、ユーザインターフェイスの比較的複雑な表現を、望むなら簡易形態で提示することができる。このような複雑なユーザインターフェイスの階層表現のフルビュー300を、階層表現における選択的可視化可能ノードに関心を有していないユーザによって書かれたプログラムについては提供する必要がない可能性がある。たとえば、プログラマは、選択的可視化可能ノード320および325に関係するユーザインターフェイス要素の存在、または、それらの機能性または外観の定義に関心を有していない可能性がある。しかし、プログラムはノード340と対話する必要がある可能性がある。したがって、時として、関心のあるノードのみを示すユーザインターフェイスの階層表現の簡易ビュー400を提供することが望ましい。
【0033】
本明細書に記載する技術を、追加またはより少数のノードを有する様々な他の表現に適用することができる。
【0034】
例示的簡易ビュー実施の概観
図5は、ユーザインターフェイス要素の表現の簡易ビューを(たとえば、ユーザインターフェイスサービスにおいて)実施するための例示的方法500を示す。510で、階層表現を有するユーザインターフェイス要素が定義される。たとえば、この定義は複数のノードを含むことができ、そのうちのいくつかが選択的可視化可能である。
【0035】
定義が作成された後、520で、これを呼び出してユーザインターフェイスを作成することができる。たとえば、定義済ユーザインターフェイス要素の階層表現を、この定義を介して作成し、格納することができる。
【0036】
530で、1つまたは複数のオペレーションをこの表現において実行することができる。このようなオペレーションを、この表現における選択的可視化可能ノードを可視化することなく、階層表現の簡易ビューを介して実行することができる。
【0037】
望むなら、この定義の呼び出し、および表現におけるオペレーションの実行を、表現のフルビューを参照することなく行うことができる。したがって、プログラマはフルビューの詳細を知る必要がなく、コードまたはマークアップを書くことができる。実際には、図示したアクションのいずれか1つが独立して有用である可能性があり、すべてを一度に、あるいは同じプログラムによって実行する必要はない。
【0038】
簡易ビューを有するユーザインターフェイス要素を定義するための例示的方法図6は、簡易ビューと共に階層表現を有するユーザインターフェイス要素の定義を受信するための例示的方法を示す。この定義は、マークアップ言語(たとえば、XMLまたはHTML)またはプログラミング言語(たとえば、Java(登録商標)またはC++)など様々な言語を使用して作成することができる。したがって、この定義をプログラムから受信することができ、あるいはマークアップドキュメントにおいて指定することができる。
【0039】
610で、ユーザインターフェイス要素の表現について格納される1つまたは複数のノードの指示が受信される。たとえば、ユーザインターフェイス要素(たとえば、副要素)を指定することができる。この定義は、複数の要素の間の階層関係を指示することができる。このような定義は、合成ユーザインターフェイス要素を形成する様々な要素のためのノード定義を含むことができる。
【0040】
620で、少なくとも1つの選択的可視化可能ノードの指示が受信される。望むなら、選択的可視化可能ノードを、定義において指定するのではなく自動的に選択することができる。定義済ユーザインターフェイス要素の表現の簡易ビューが提供される場合、選択的可視化可能ノードが非可視化される。次いで630で、この定義を後に呼び出すために格納することができる。
【0041】
簡易ビューを有する定義済ユーザインターフェイス要素を呼び出すための例示的方法
定義(たとえば、図6に示す方法を介して定義されたものなど)を呼び出すことによって、ユーザインターフェイス要素のインスタンスを作成することができる。図7は、簡易ビューを有するユーザインターフェイス要素の定義を呼び出すための例示的方法を示す。710で、ユーザインターフェイス要素を作成するためのリクエストが受信される。このようなリクエストを、プログラムにより(たとえば、ソフトウェアプログラムから)、あるいはマークアップドキュメントから受信することができる。このリクエストが、ユーザインターフェイス要素を定義したものと同じエンティティから受信される必要はない。
【0042】
720で、ユーザインターフェイス要素の階層表現の定義を使用して、(たとえば、合成ユーザインターフェイス要素を形成するユーザインターフェイス要素に対応する)ユーザインターフェイスの階層表現における適切なノードを作成する。表現のフルビューがリクエストされた場合、作成されたノードが提供される。
【0043】
730で、適切なノード(たとえば、定義によって指定されたもの)が、選択的可視化可能として指定される。簡易ビュー(たとえば、その中でユーザインターフェイス要素が表現される表現のもの)がリクエストされる場合、このような選択的可視化可能ノードは可視化されない(たとえば、遭遇されない)。
【0044】
ノードがユーザインターフェイス要素の表現のビューにおいて可視化されるかどうかは、ユーザインターフェイス要素がレンダリングされる場合、対応するユーザインターフェイス要素が表示装置上で表示される(たとえば、隠される)かどうかに無関係である。
【0045】
簡易ビューを有するユーザインターフェイス要素においてオペレーションを実行するための例示的方法
ユーザインターフェイスの定義が呼び出されて、ユーザインターフェイス要素の階層表現が作成された後(たとえば、図7に示すように)、オペレーションをこの表現について実行することができる。このようなオペレーションは、表現のフルまたは簡易ビューのいずれについても実行することができる。簡易ビューにおいて実行されるオペレーションには、たとえば、ノードの子を列挙すること、子をノードに追加すること、ノードの子を除去すること、および階層表現内でナビゲートすることが含まれる。
【0046】
ユーザインターフェイス要素の表現の簡易ビューにおいてオペレーションを実行するための例示的方法を図8に示す。810で、オペレーションをユーザインターフェイス要素(たとえば、合成ユーザインターフェイス要素の主ノード)において実行するためのリクエストが受信される。820で、リクエストされたオペレーションが、ユーザインターフェイス要素の階層表現の簡易ビューを使用して実行される。このオペレーションは、結果として階層表現の修正となる可能性があり(たとえば、ノードを追加あるいは除去するとき)、あるいは、表現が変更されない可能性がある(たとえば、ノードを列挙するか、あるいはノード内でナビゲートするとき)。
【0047】
たとえば、簡易ビューを使用してノードの子を列挙するためのリクエストは、子ノードが選択的可視化可能として指定される場合、結果としてノードの子ノード(または孫ノード)に格納された子の列挙となる可能性がある。
【0048】
簡易ビューにおいて選択的可視化可能な子を有する親ノードに子を追加するためのリクエストは、簡易ビューにおいて可視の親ノードにすることができるか、あるいはそうすることができないユーザ要素の表現のフルビューの階層において、その子がその適切な場所に追加される結果となる可能性がある。
【0049】
したがって、簡易ビューでは、子が親ノードの真下に直接追加されたかのように見えるようになる。子を含むオペレーションでは、ユーザインターフェイス要素の階層表現の定義を使用して、階層表現のフルビュー内で子を追加あるいは発見するための適切な場所を発見することができる。このように、プログラムを、簡易ビューと対話するように書くことができ、プログラマが、隠されたノードおよび階層内のそれらの構成を含むフルビューの詳細を知る必要のある困難から保護される。
【0050】
コンボボックスに関係する例示的実施
以下の実施例のいくつかは、コンボボックスとして知られる例示的ユーザインターフェイス要素に関係する様々な処理を記載する。記載する技術を、このとき存在するかあるいは後に開発されるいかなる数のユーザインターフェイス要素にも適用することができる。
【0051】
例示的コンボボックスユーザインターフェイス要素
図9は、一般にコンボボックスとして知られる例示的ユーザインターフェイス要素905を示す。この実施例では、コンボボックス905は、いくつかのユーザインターフェイス要素を含む合成ユーザインターフェイス要素であり、いくつかのユーザインターフェイス要素はさらにユーザインターフェイス要素を含む。コンボボックス905は、入力ボックス910、ドロップダウンボタン930およびポップアップウィンドウ920を含む。一般に、ユーザがドロップダウンボタン930をクリックする場合、ポップウィンドウ920が表示される。この実施例では、ポップアップウィンドウ920はリストボックス925を含む(たとえば、ポップアップウィンドウ920から視覚的に区別がつかない)。しかし、ポップアップウィンドウ920は、代替または追加のユーザインターフェイス要素(たとえば、ドロップダウンメニュー)を含むことができる。リストボックス925はまた、それ自体の要素を有する合成ユーザインターフェイス要素でもあり、これは、グリッドパネル935、および、グリッドパネル935内に含まれるリストアイテム940中をスクロールするためのスクロールバー945を含む、スクロールビューワ926(たとえば、これもまたポップアップウィンドウ920から視覚的に区別がつかない)などである。
【0052】
コンボボックス905の例示的例示では、リストボックス要素925が、スクロールビューワ要素926およびポップアップ要素920から視覚的に区別がつかないものとして示される。したがって、この例示では、ポップアップウィンドウ920はリストボックス要素925を含み、これは、グリッドパネル935をスクロールビューワ926内に含まれた空のプレースホルダに追加することによって形成される。他の構成が可能である。たとえば、ポップウィンドウ920はリストボックス925以外のユーザ要素を含むことが可能である。さらに、スクロールビューワ926が、その空のプレースホルダ内に含まれたグリッドパネル935以外の要素(たとえば、メニュー)を有することも可能である。
【0053】
スクロールバー945をまた、合成ユーザインターフェイス要素として表現することもでき、これは、スクロールボタン950、951、955および956およびスクロールサム960などの要素を含む。いかなる数の変形形態も、図示のコンボボックス905の代わりに使用することができる。たとえば、要素を除去することができ、追加の要素を追加することができ、あるいは代替要素を定義することができる。たとえば、水平スクロールバー(図示せず)を追加して、水平に長いリストアイテム中のスクロールにおいてユーザを支援することもできる。
【0054】
コンボボックスユーザインターフェイス要素の例示的表現(フルビュー)
図10Aは、フルビューがリクエストされるときに(たとえば、ユーザインターフェイスサービスによって)提供されるコンボボックス(たとえば、図9に示すもの)の例示的階層表現1000を示す。図のように、ノードが階層様式におけるツリー構造において構成される。
【0055】
コンボボックスのための主ノードが1005で、階層の最上位ノードとして表現される。コンボボックスの他の要素(たとえば、図9に示すものなど)も階層表現内のノードとして、ポップアップ1020、入力ボックス1010、およびドロップダウンボタン1030として表現される。ポップアップ1020が、リストボックス1025を含むものとして示される。リストボックス1025は、スクロールビューワ1026をさらに含む階層表現の親ノードである。
【0056】
スクロールビューワ1026自体が、階層表現内の親ノードである。スクロールビューワノード1026は、プレースホルダ要素1035、垂直スクロールバー1030および水平スクロールバー1040に対する親ノードである。上で図9に関して述べたように、親のリストボックス1025とその子要素のスクロールビューワ1026の間に視覚的な違いはない。これは、グリッドパネル要素1045をプレースホルダ要素ノード1035の子ノードとして追加することによって、リストボックス1025が形成されるからである。しかし、スクロールビューワ1026を他のユーザ要素と組み合わせて使用して、他のより複雑なユーザインターフェイス要素を形成するために、他の子ノードをプレースホルダ要素の下に追加することができる。最後に、リストアイテム1050A、1050Bおよび1050Cは、グリッドパネル1045の子である。
【0057】
この実施例は、どのように合成ユーザインターフェイス要素を他のユーザインターフェイス要素から構築することができ、およびしたがって多数のノードによって表現することができるかを例示する。たとえば、リストボックス合成ユーザインターフェイス要素を、リストボックスノード1025およびその子孫ノードとして定義することができる。コンボボックス合成ユーザインターフェイス要素を構築するために、入力ノード1010、ポップアップノード1020およびボタンノード1030をコンボボックスノード1005の下で結合することができる。最後に、リストボックス合成ユーザインターフェイス要素(たとえば、リストボックスノード1020およびその子孫)を(たとえば、マークアップを介して、あるいはプログラムにより)ポップアップノード1020の下に挿入することができる。リストボックス合成ユーザインターフェイス要素への単純な参照は、結果としてリストボックスノード1025およびその子孫の作成となる可能性がある。実際には、リストアイテムに関係付けられたノード(たとえば、ノード1050A、1050Bおよび1050C)が、リストボックスユーザインターフェイス要素の定義内に含まれない可能性がある。
【0058】
この実施例に示す多数のノードのネスティングが、ユーザインターフェイス要素の定義および操作の複雑さを増す可能性がある。コンボボックス表現は比較的複雑であるが、さらにより複雑な実施例を実施することができる。しかし、これらの技術を、より単純な実施例に適用することもできる。
【0059】
この実施例では、ノードのセット1060はノード1010、1020、1025、1026、1030、1031A、1031B、1033、1034A、1034B、1035、1040、1041A、1041B、1043、1044A、1044Bおよび1045を含み、これらが選択的可視化可能として定義されている。この表現の簡易ビューが提示される場合、選択的可視化可能ノードが可視化されない。
【0060】
ユーザインターフェイス要素の階層表現の簡易ビューが望まれる可能性がある。たとえば、階層表現の相対的複雑さ(たとえば、どこにリストアイテムを子として追加するか)を扱う必要なしに、追加のリストアイテムを追加することが望ましい可能性がある。
【0061】
コンボボックスユーザインターフェイス要素の例示的表現(簡易ビュー)
合成ユーザインターフェイス要素は複雑な複数のノードを含むことができるが、ユーザインターフェイス要素の階層表現の簡易ビューを提供することが望ましい可能性がある。図11は、コンボボックス(たとえば、図9のものなど)の簡易ビューがリクエストされるときに提供される例示的階層表現1100(たとえば、図10Aの表現1000に対応するもの)を示す。この実施例では、リストアイテムのためのノード1050A、1050Bおよび1050Cが、コンボボックスの主ノード1105の直接の子として示される。図示しない他のノードは時として、コンボボックスノード1105によって「カプセル化」されると言われる。簡易ビューを使用すると、リストアイテムの操作に関係するプログラムはリストアイテムを主ノード1105の子として見なすことができ、合成ユーザインターフェイス要素における他の要素に関係するロジックを含む必要がない。コンボボックスユーザインターフェイス要素の定義は十分な情報を含むことができ、これにより簡易ビューのためのオペレーションを階層表現のフルビューのための適切なオペレーションに変換することができる。
【0062】
簡易ビューを有するユーザインターフェイス要素の例示的ネスティング
本明細書に記載する構成はまたネスティングをサポートすることもできる。ネスティングでは、他のユーザインターフェイス要素内の選択的可視化可能ノードを有するユーザインターフェイス要素が存在する可能性があり、他のユーザインターフェイス要素自体は選択的可視化可能ノードを有する。このようなネスティングを様々な方法で解決することができる。たとえば、合成ユーザインターフェイス要素におけるノードのいくつかを、可視化されるもの(たとえば、簡易ビューにおいて視認可能)として指定することができるが、ユーザインターフェイス要素が部分的に別の合成ユーザインターフェイス要素からなる(たとえば、その内部にカプセル化される)場合、このようなノードを選択的可視化可能(たとえば、簡易ビューにおいて不可視)と見なすことができ、これは、このようなノードが、(たとえば、カプセル化実行合成ユーザインターフェイス要素によって)選択的可視化可能として指定されるカプセル化実行合成ユーザインターフェイス要素を表現する階層の領域内にあるという事実による。
【0063】
さらに、このようなネスティングは相対性をサポートすることができる。たとえば、ノードを、それにおいてオペレーションを実行するためのリクエストが行われるノードに応じて、選択的可視化可能と見なされる可能性があり、あるいは見なされる可能性がない。すなわち、別のユーザインターフェイス要素内にカプセル化されたノードにおいてオペレーションを実行するためのリクエストは、結果として、カプセル化実行ユーザインターフェイス要素においてオペレーションを実行するときに見られないノードを示すビューとなる可能性がある。
【0064】
図10Bは、図10Aで表現するものなど、コンボボックスの例示的階層表現を示す。簡潔にするため、スクロールバーに関係付けられたノードのいくつかを省略する。
【0065】
この実施例では、スクロールビューワノード1026が、スクロールビューワノード1026、コンテナ要素ノード1035および様々なスクロールバーノード(たとえば、ノード1030)を含む合成ユーザインターフェイス要素の主ノードである。簡易ビューにおいてスクロールビューワノード1026において実行されるオペレーションでは、合成ユーザインターフェイス要素の他のノードが選択的可視化可能であると見なされ(たとえば、スキップされ)、スクロールビューワノード1026によってカプセル化される。たとえば、子ノードを簡易ビューにおいてスクロールビューワノード1026に追加するためのリクエストは、子ノードがコンテナ要素ノード1035に追加される結果となる。このように、カプセル化境界(encapsulation boundary)1090が定義される。
【0066】
同様に、リストボックスノード1025は、スクロールビューワノード1026(たとえば、およびそれによってカプセル化されたノード)およびグリッドパネル1045を含む合成ユーザインターフェイス要素の主ノードである。リストボックスノード1025において実行されるオペレーションでは、合成ユーザインターフェイス要素の他のノードが選択的可視化可能であると見なされ(たとえば、スキップされ)、リストボックスノード1025によってカプセル化される。このように、カプセル化境界1080が定義される。
【0067】
さらに、コンボボックスノード1005は、入力ノード1010、ポップアップノード1020、ボタンノード1030およびリストボックスノード1025(たとえば、およびそれによってカプセル化されたノード)を含む合成ユーザインターフェイスの主ノードである。コンボボックスノード1005において実行されるオペレーションでは、合成ユーザインターフェイス要素の他のノードが選択的可視化可能であると見なされ(たとえば、スキップされ)、コンボボックスノード1005によってカプセル化される。このように、カプセル化境界1070が定義される。リストボックスノード1025自体がカプセル化境界の一部であるので、有効カプセル化境界1095が実施される。すなわち、コンボボックスノード1005において実行されるオペレーションでは、コンボボックスノード1005およびリストアイテムノード1050A−Cを除く図示のノードが選択的可視化可能であると見なされ(たとえば、スキップされ)、コンボボックス1005によってカプセル化される。たとえば、子ノードを簡易ビューにおいてコンボボックスノード1005に追加するためのリクエストは、子ノードがグリッドパネルノード1045に追加される結果となる。
【0068】
簡易ビューを有するユーザインターフェイス要素を表現するための例示的方法様々な方法を使用して簡易ビューを提供することができる。1つのこのような方法は、ユーザインターフェイス要素の表現内に、ノードについての様々なプロパティを格納することである。以下の実施例は、プロパティ(たとえば、「カプセル化の親」および「カプセル化のコンテナ」)を使用して、表現におけるどのノードが選択的可視化可能であるかを指定することを記載する。
【0069】
ノードの適切なプロパティ(たとえば、「カプセル化の親」)をTRUEに設定することによって、階層におけるそのノードの下のノードが選択的可視化可能として指定される(たとえば、簡易ビューにおいて可視化されない)。
【0070】
本明細書に記載したように、このようなノードは時として「主」ノードと呼ばれる。さらに、階層における主ノードの下の特定のノードが、TRUEに設定された適切なプロパティ(たとえば、「カプセル化のコンテナ」)を有する場合、特定のノードの子が選択的可視化可能ではないとして指定される(たとえば、簡易ビューにおいて可視化される)。このような場合、特定のノードの子が、簡易ビューのための主ノードの子であると見なされる。そのため、子が簡易ビューを介して主ノードに追加される場合、子が実際には、TRUEに設定されたプロパティ(たとえば、「カプセル化のコンテナ」)を有する特定のノードの子として追加される。
【0071】
図10Bに関して記載するようなネスティングをサポートすることができる。この実施例では、カプセル化境界の最上部のノード(たとえば、主ノード)は適切なプロパティ(たとえば、「カプセル化の親」プロパティ)を設定することができ、カプセル化境界の最下部のノードは適切なプロパティ(たとえば、「カプセル化のコンテナ」プロパティ)を設定することができる。このように、カプセル化境界を、適切な設定を介して定義することができる。
【0072】
図12は、ユーザインターフェイス要素の階層表現内のノードの様々なプロパティの値を示すことを介して、簡易ビューを有するユーザインターフェイス要素を表現するための例示的方法1200を示す。階層表現のノードは、ノード自体、その子またはその親を選択的に可視化することに関係付けられたプロパティを有することができる。このようなプロパティを設定することによって、簡易ビューを有するユーザインターフェイス要素を表現することができ、簡易ビューを介してオペレーションを表現において実行することができる。
【0073】
1210で、ユーザインターフェイスの階層表現の少なくとも1つのノードが、主ノード(たとえば、選択的非可視化されたノードをカプセル化するもの)としての機能を果たすように選択される。1220で、選択されたノードにおけるIsEncapsulatingParentプロパティが「TRUE」に設定される。1230で、主ノードの子孫が、簡易ビューにおける主ノードのいずれかの子(たとえば、このとき存在するか、あるいは後に追加されるもの)のためのコンテナとしての機能を果たすように選択される。次いで1240で、子孫ノードのIsEncapsulatingContainerプロパティが「TRUE」に設定される。
【0074】
この実施例において説明したようにプロパティを設定することによって、それによりコンテナ、および、主ノードとコンテナの間のいずれかの中間子孫(たとえば、子)が選択的可視化可能として定義される(たとえば、簡易ビューにおいてスキップされ、あるいは親内に「カプセル化」される)。コンテナの下の子ノードは簡易ビューにおいて可視化される(たとえば、可視となる)。
【0075】
いくつかの構成では、なおいかなる子要素も存在しない可能性がある。このような場合、葉ノードの適切なプロパティを設定することができる。続いて、簡易ビューを介して子が追加される場合、子が葉ノードの下に入れられる。
【0076】
コンボボックスの例示的マークアップ定義
その表現の簡易ビューを有するユーザインターフェイス要素を、様々な方法で定義することができる。1つのこのような方法は、マークアップ言語(たとえば、HTMLまたはXML)を介するものであり、これを処理し、後に呼び出すために格納することができる。図13は、XMLで書かれた簡易ビュー(たとえば、図11に示すものなど)を有するコンボボックスの例示的定義を示す。
【0077】
定義されたコンボボックスのインスタンスが作成される場合、適切なプロパティを階層表現の様々なノードについて設定して、所望の簡易ビューを達成することができる。階層表現の様々なノードのプロパティを定義するスキームを、マークアップ言語を除く他のタイプの言語において使用するように適合可能にすることができる。
【0078】
この実施例では、ネスティングが達成される。図13の定義は、結果として図10Bに示す構成となる可能性がある。
【0079】
コンボボックスの例示的プログラム定義
簡易ビューを有するユーザインターフェイス要素をプログラムにより定義することもできる(たとえば、C++またはJava(登録商標)などのプログラミング言語による)。たとえば、図14Aおよび14Bは、簡易ビューを有するコンボボックスの階層表現のプログラム定義を示す。
【0080】
図13のマークアップ定義および図14Aおよび14Bのプログラム定義は共に、簡易ビューにおいて可視化されたコンボボックスの子(すなわち、リストアイテム)を保持するためのリストボックス要素を含むポップアップ要素を有するものとして定義されたコンボボックスを示す。リストボックス要素(それ自体が合成コントロールであるもの)がさらに、簡易ビューにおいて可視化されるリストボックスの子(すなわち、リストアイテム)を保持するためのグリッドパネルを含むスクロールビューワ要素を有するものとして定義される。
【0081】
再度、プログラム定義の実施例では、ネスティングが達成される。図14Aおよび14Bの定義は、結果として図10Bに示す構成となる可能性がある。したがって、合成ユーザインターフェイス要素(たとえば、コンボボックス)が様々なユーザインターフェイス要素の組み立てを介して定義され、そのそれぞれが選択的可視化可能ノードを備えることができる。合成ユーザインターフェイス要素に組み立てられる場合、カプセル化されたユーザインターフェイス要素内で選択的可視化可能ノードがどのように定義されるかの詳細が、外側のレベルの(たとえば、カプセル化を実行する)ユーザインターフェイス要素において動作するときに透過的なままであるような方法で、ネスティングを処理することができる。
【0082】
コンボボックス定義の例示的マークアップ呼び出し
ユーザインターフェイス要素の定義(たとえば、図13および14に示すものなど)を呼び出して、ユーザインターフェイス要素の表現を作成することができ、これは簡易ビューにおいて非可視化されたままであるいかなる選択的可視化可能ノードをも含む。このような呼び出しを様々な方法で達成することができる(たとえば、マークアップ言語を介して、あるいはプログラムによる)。
【0083】
定義(たとえば、図13および14に示すものなど)の例示的呼び出し1500を図15に、XMLで書かれたものとして示す。タグ「<COMBO BOX>」を1510に含めることによって、この呼び出しが先に作成されたコンボボックスの定義を使用し、これによりコンボボックスの階層表現の簡易ビューを容易にする。この実施例のように、呼び出しの一部における他の労力は、コンボボックスの完全な階層表現のいかなる知識も有することなくリストアイテム1520を指定することのみである。したがって、コンボボックスが実際には複数の他のユーザインターフェイス要素から構成されるとしても、図15の呼び出しの構造は、コンボボックスの階層表現の簡易ビューに対応することができる。このように、ユーザインターフェイス要素を再利用して合成コントロールを作成することが助長される。この実施例では、簡易ビューをシステムによって使用することができ、これは呼び出しがXMLにおいて実行されるという事実による。
【0084】
コンボボックス定義の例示的プログラム呼び出し
同様に、コンボボックスを呼び出すスキームが、図16に示す定義のプログラム呼び出し1600に引き継がれる。この実施例を、様々なプログラミング言語(たとえば、Java(登録商標)およびC++)において実施することができる。1610のコード行「COMBOBOX=NEW COMBOBOX()」は、先に作成された定義を呼び出す。上でマークアップバージョンについて記載した利点はまたプログラム呼び出しにも当てはまる。簡易ビューではなくフルビューにアクセスするために、他の言語を使用することができる(たとえば、「COMBOBOX.FULLVIEW.ELEMENTS」など)。
【0085】
簡易ビューにおいてオペレーションを実行するための例示的方法
ソフトウェアまたはマークアップが定義済ユーザインターフェイス要素を呼び出した後、簡易ビューを有するユーザインターフェイス要素の階層表現が作成され、オペレーションのために使用可能である。オペレーションには、子の追加、子の除去、子の列挙、何が簡易ビューにおけるノードの親ノードであるかを問い合わせること、および、ユーザインターフェイス要素の階層表現をナビゲートするための様々なオペレーションが含まれる。これらのオペレーションの結果は、それらが階層表現の簡易ビューを使用して実行されるか、フルビューを使用して実行されるかによって異なる可能性がある。
【0086】
様々な実施形態では、プログラムは、簡易ビューが望まれるかどうかを指定することができる。あるいは、いくつかのシナリオでは、コンテキストから簡易ビューが望まれることを仮定することができる。
【0087】
簡易ビューにおける子の追加または子の除去など、いくつかのオペレーションでは、ユーザインターフェイス要素の階層表現の定義を使用して、どのようにオペレーションをフルビューにおいて実行するべきであるかを決定することができる。
【0088】
図17は、簡易ビューにおいてオペレーションを実行する、すなわち、子をユーザインターフェイス要素(たとえば、このような要素を表現するノード)に追加するための例示的方法1700を示す。1710で、ユーザインターフェイス要素の階層表現の簡易ビューにおけるノードに子を追加するための指示が受信される。1720で、ユーザインターフェイスの階層表現が定義されている方法に基づいて、選択的可視化可能ノードがスキップされ、1730で、新しい子ノードが、定義に従って適切なノードに(たとえば、「TRUE」に設定された「カプセル化のコンテナ」プロパティを有するノードに)追加される。
【0089】
図17に例示したプロセスを、図18に示すように使用して、新しい子1850を、コンボボックスの階層表現の簡易ビューに追加することができる。コンボボックスの定義が呼び出された後、新しい子1850Dなど、新しい子をコンボボックスの階層表現の簡易ビューに追加することができ、これを図19に示す。階層表現の定義を使用して、図19の簡易ビューにおける新しい子1850Dの追加が、図18に示すような階層表現のフルビューにおける適切な場所への追加として変換されるようになる。
【0090】
オペレーションを実行するための例示的詳細
コンボボックスユーザインターフェイス要素の例示的階層表現1800を図18に示す。子をコンボボックス(たとえば、ノード1005)に追加するためのリクエストが受信される場合、「カプセル化の親」プロパティがノード1005で検出され、トラバーサルが、「カプセル化のコンテナ」プロパティを有する関連付けられた子孫ノードまで進行する。この実施例では、ポインタ1855を介してトラバーサルを達成することができる。「カプセル化の親」プロパティがノード1025で検出されるので、トラバーサルが継続して、「カプセル化のコンテナ」プロパティを有する関連付けられた子孫ノードまで進行する。この実施例では、ノード1045へのポインタ1860を介してトラバーサルを達成することができる。次いで、新しい子が子ノード1850Dとしてノード1045に追加される。
【0091】
望むなら、直接ポインタ1880を実施して、子が追加される適切なノードへより直接的にナビゲートすることができる。加えて、主ノードへ戻るポインタ1885を含めることができる。
【0092】
図19に示すように、新しい子が簡易ビューに追加される場合、呼び出し側プログラムには、新しい子1850Dがコンボボックスの主ノード1905の子として追加されているかのように見えるようになる。しかし、このオペレーションは実際には(たとえば、ユーザインターフェイスサービスによって)、図18のフルビューにおいて新しい子1850Dを(たとえば、グリッドパネルノード1045の下に)追加することとして実施される。
【0093】
ネスティングを様々な方法で処理することができる。たとえば、ポインタを図のように使用して、カプセル化の中間レベルをスキップすることができる。または、階層表現のトラバース中にネスティングのレベルを追跡することができる。レベルに基づいて、どのノードがスキップされるかを決定することができる。トラバーサルはまた、(たとえば、子ノードによる、その親を列挙するためのリクエストにおいて)階層の最下部から最上部へ進行することもできる。
【0094】
選択的可視化可能ノードの代替表現
選択的可視化可能ノードの代替表現2000を図20Aに示す。この実施例では、特定のノード2020が特に、表現のフルビューにおいて選択的可視化可能として指定される。
【0095】
対応する簡易ビュー2050を図20Bに示す。図のように、特定のノード2020の子2030Bおよび2030Cが、親ノード2010の子(たとえば、ノード2030A)の兄弟であると見なされる。すなわち、特定のノード2020の子2030Bおよび2030Cが、親ノード2020の兄弟(たとえば、フルビューにおける兄弟2030A)の兄弟であると見なされる。
【0096】
このような実施を様々な方法で達成することができる。1つの実施例では、特殊なプロパティ(たとえば、「隠れコンテナ」)が、簡易ビューがリクエストされるときに可視化されない特定のノード2020についてtrueに設定される。
【0097】
代替表現の例示的実施
いくつかのユーザインターフェイス要素のシナリオでは、ノードを、指定された位置から(たとえば、データベースから)生成することが望ましい可能性がある。たとえば、図21は例示的リストボックス2100を例示する。1つまたは複数のリストアイテム2110をデータベースまたは他のデータソースから生成することが望ましい可能性がある。
【0098】
コンテンツをデータベースから生成する、1つのこのような方法は、特殊な要素をユーザインターフェイス要素の階層表現内に含めることである。特殊な要素は簡易ビューでは非可視化されたままであることが可能であるが、なおコンテンツを生成し、およびフルビューにおいて存在するように動作することができる。望むなら、特殊な要素をデータソースにバインドして、コンテンツをリストアイテム2110などのユーザインターフェイス要素に自動的に挿入することができる。
【0099】
1つのこのような要素が「リピータ」と呼ばれる。図22は、リストボックス(たとえば、図21に示すものなど)の階層表現2200を例示し、これは、リストアイテム2230および2240など、リストアイテムのいくつかを自動的に生成するために階層表現に挿入されたリピータノード2220を含む。
【0100】
リピータの使用により、ユーザインターフェイス開発者が、リピータを(たとえば、データベースからの)レコードの集まりにバインドすることによって、自動的にコンテンツを生成することもできる。さらに、テンプレートコンテナ2221および2222をリピータ2220に関連付けて、リピータの特定の子についてのコンテンツを生成中であるデータベースにおける特定のレコードに関係付けられた情報を含めることができる。この実施例では、リストアイテム2230および2240がデータソースのレコードにバインドされて、テキストコンテンツ2235および2245(たとえば、レコードの名前、位置または別のフィールド)が生成される。図22は、各テンプレートコンテナ2221および2222に関連付けられた単一の子要素(リストアイテム2235および2240)のみを示すが、多数の子要素(たとえば、人の電話番号、名前およびイメージ)を有することが可能である。
【0101】
リストボックスの階層表現2200のフルビューでは、リピータ2220が、リストボックスノード2205およびフローパネルノード2210の子ノードのうちの1つであるかのように見える。テンプレートコンテナ2221および2222はリピータ2220の子として現れる。
【0102】
しかし、リストボックスの定義を呼び出すプログラムは、リピータをフローパネルノード2210の子として見ることを予想することができない。また、リストボックスの定義はルールを、リストアイテム以外の何物をもフローパネル2210の子として受け入れないように設定することができる。したがって、リピータ2220およびテンプレートコンテナ2221および2222が、簡易ビューが使用されるときにリストボックスの階層表現内で可視化されることは望ましくない(たとえば、隠されるべきである)。
【0103】
リピータ2220およびテンプレートコンテナ2221および2222をリストボックスの階層表現の簡易ビューにおいて可視化しないことによって、リストアイテム2230および2240が効果的に、それらの親の兄弟の兄弟、リピータ2220(たとえば、リストアイテムノード2250の兄弟)としてプロモートされる。このような簡易ビュー2300を図23に示し、ここでは図22のリピータ2220が可視化されず、リストアイテム2230、2240および2250が図23において兄弟として現れる。
【0104】
例示的代替表現の作成
選択的可視化可能ノード(たとえば、リピータ)の代替表現を作成するための例示的方法2400を図24に示す。2410で、階層表現を有するユーザインターフェイス要素が選択される。2430で、階層表現のうち少なくとも1つのノードが、選択的可視化可能である(たとえば、階層表現の簡易ビューにおいて可視化されない)として指定される。
【0105】
たとえば、このような指定を、指定されたノードの「隠れコンテナ」プロパティを「TRUE」に設定することによって達成することができる。リピータのクラスコンストラクタはこのようなプロパティを、リピータがインスタンス化されるときにそのプロパティが設定されるように、設定することができる。
【0106】
リピータを望むように達成することができる(たとえば、リピータを有するものとして定義されたユーザインターフェイス要素の呼び出しにおいて自動的に)。しかし、呼び出し側プログラムは、非可視化されるリピータを説明する必要はなく、これは自動的にリストアイテムをポピュレートする。呼び出し側プログラムに関する限り、これはただユーザインターフェイス要素の定義を呼び出しているだけであり、ユーザインターフェイス要素がリピータを有するものとして定義されるという知識を有していない。
【0107】
または、呼び出し側プログラムがリピータに気付いている場合でさえ、リピータに関連付けられたリストアイテムを処理するソフトウェアまたはマークアップは、リピータに関係する複雑さを熟知する必要がない。簡易ビューでは、ユーザインターフェイス要素は単に、リピータなしにリストアイテムを有するように現れる。
【0108】
ユーザインターフェイス要素におけるリピータの例示的マークアップ呼び出し
ユーザインターフェイス要素はリピータを様々な方法で呼び出すことができる。1つのこのような方法は、マークアップ言語(たとえば、XMLまたはHTML)を介することである。図25は、XMLを使用して、リピータノードを含む例示的な2500のリストボックスを例示する。このリピータの呼び出しは、(たとえば、適切なコンストラクタを含む)リピータクラスの以前の定義に依拠し、したがって、リピータの「隠れコンテナ」プロパティを「TRUE」として指定することは必要ではない。
【0109】
ユーザインターフェイス要素におけるリピータの例示的プログラム呼び出し
リピータを、ユーザインターフェイス要素において使用するために、プログラムによって(たとえば、C++またはJAVA(登録商標)など、プログラミング言語において)呼び出すこともできる。図26は、リストボックスのためのリピータの例示的プログラム呼び出しを有するコード2600を例示する。
【0110】
ユーザインターフェイス要素におけるリピータの例示的代替呼び出し
図27は、ユーザインターフェイス要素におけるリピータの代替マークアップ呼び出し2710を含むマークアップ言語を例示する。図示の実施例は、テンプレートコンテナについての複数(たとえば、2つ)の子ノード(たとえば、テンプレートコンテナ2221および2222)の結果となり、その一方は図についてのもの、もう一方は顧客名についてのものである。
【0111】
実施例のいずれかにおいて、リピータを呼び出すことによって、2710で、呼び出し側ユーザまたはプロセスはただ1つのリストアイテム(たとえば、ソースを指示するもの)を定義してリストボックスを完成させる必要があり、結果として生じるリストアイテムがリピータによって、(たとえば、ソースへの参照を介した)呼び出しにおいて自動的に生成される。
【0112】
図28は、リピータ機能を使用することなく、多数のリストアイテムを有するリストボックスの例示的定義を示す。したがって、リストアイテム2810が明示的にマークアップにおいてリストされ、対応するデータベースが更新されるときに更新されないようになる。したがって、ユーザインターフェイス要素内のリピータの可用性(たとえば、データソースにバインドする能力を含む)は、多数のあるいは動的に更新された選択を有するユーザインターフェイス要素を提供する場合、結果としてより効率的なコードまたはマークアップを生じる可能性がある。
【0113】
代替表現を介したオペレーションの実行
オペレーションが、簡易ビューを介して、記載された表現において実行される場合、「隠れコンテナ」として指定された、適切に指定されたノード(たとえば、リピータノード)が可視化されない。再度図22を参照すると、リストアイテム2230および2240は、他のいずれかのリストアイテムとしての挙動を示すことができ、レンダリングされたリストボックスのユーザによって選択することができる。
【0114】
さらに、簡易ビューを介したリストアイテム2230の親を求めるリクエストには、2230の親ノードがフローパネルノード2210である(リピータ2220またはテンプレート2221ではない)ことを指示することによって答えられる。したがって、ノード2220および2221(たとえば、「隠れコンテナ」として指定されたもの)がスキップされる(たとえば、可視化されない)。別法として、フローパネルおよびスクロールビューワが選択的可視化可能として指定された場合、リストアイテム2230の親が簡易ビューではリストボックス2205となる。
【0115】
ある機能性を、望むなら禁止にすることができる。たとえば、リピータ2220によってポピュレートされたリストアイテム2230および2240の追加または削除を禁止することができる。
【0116】
別の代替表現の例示的実施
選択的可視化可能ノードを有するユーザインターフェイス要素の別の例示的表現を、指定されたノードのみが簡易ビューにおいて可視化されるようにノードを指定することによって、達成することができる。たとえば、ノードの子孫(たとえば、すべての子孫)が選択的可視化可能と見なされ、簡易ビューにおいて表示されない。このような表現は、ユーザインターフェイス要素のための唯一のノードが簡易ビューにおいて可視化されるものとなる。
【0117】
たとえば、図20Aに示すユーザインターフェイス要素の表現では、ノード2010がそのように指定された場合、子孫(たとえば、ノード2020、2030A、2030Bおよび2030C)が選択的可視化可能であると指定される。結果として生じる表現は、ノード2010(たとえば、主ノード)のみがその簡易ビューにおいて可視化されるものとなる。
【0118】
望むなら、子をこのような簡易ビューに追加するためのオペレーションが結果としてエラーとなる可能性があり、これは、ノード2010が簡易ビューの子ノードをサポートしないものとして定義されるからである。このような簡易ビューを使用した子列挙オペレーションの実行は、同じ理由で誤ったものとなる可能性があるか、あるいは空のセットが提供される可能性がある。
【0119】
このような表現は、あるユーザにとってほとんど関心のないものであるユーザインターフェイスのビューのすべての詳細を隠すために有用である可能性がある。記載した表現を、いくつかの方法で達成することができる。たとえば、子孫が選択的可視化可能であることを指示する単一のプロパティを設定することができる。「カプセル化の親」コンテナプロパティをTRUEに設定して、結果としてこのような構成を生じることができる(たとえば、TRUEに設定された「カプセル化のコンテナ」を有する、対応するノードがない場合)。
【0120】
イメージの例示的表現
これらの技術の別の例示的実施は、イメージの内部表現を、イメージが使用不可能である場合に提示されるテキストを指示するテキストを有する選択的可視化可能な子を有するものとして実施することである。主ノードはイメージを含むことができ、選択的可視化可能な子は対応するテキストを表現することができる。このように、簡易ビューを、選択的可視化可能な子の知識なしに操作することができる。
【0121】
ノードのプロパティを決定する例示的方法
どのプロパティ値をノードが引き受ける(たとえば、継承する)かを決定する場合、選択的可視化可能ノードを考慮に入れることができる。望むなら、このようなノード(たとえば、および主ノードから取られたプロパティ)を無視することができ、このようなノードは、引き受けられるためのプロパティ値を決定することができ、あるいは選択的可視化可能ノードが主ノードと結合して動作して、どのプロパティ値が引き受けられるかを決定することができる。このような決定は、たとえば、ノードを表現に追加するときに関連する可能性がある。
【0122】
階層におけるノードは、他のノードについての所望のプロパティを、(たとえば、スタイルシートを介して設定された)プロパティルールを介して指示することができる。たとえば、ノードは、子のフォントプロパティが「太字」となるように指定することができる。
【0123】
たとえば、図10Aにおいて、プロパティルールで主ノード1005の子のフォントプロパティが「太字」となるべきであると述べているが、リストボックスノード1025に関連付けられたプロパティルールはその子が「斜体」のフォントプロパティを有することを要求する場合、1050Aなどのリストアイテムのプロパティが何になるべきであるかについて不明瞭である。
【0124】
1つの実施では、選択的可視化可能でない子ノードの継承可能プロパティは、簡易ビューにおいて最も近い親から継承される。上の実施例では、簡易ビューが図11に示すものなら、簡易ビューにおいてリストアイテム1050A、1050Bおよび1050Cについて最も近い親は主ノード1105である。したがって、この実施形態では、コンボボックスのフォントプロパティがリストアイテムによって引き受けられるようになる。
【0125】
別の実施では、簡易ビューにおいて最も近い親は、その選択的可視化可能な子ノードのいずれかのプロパティルールのいずれかが、選択的可視化可能でない子ノードに適用されるべきであるかどうかを問い合わせるためのルールを含むことができる。たとえば、プロパティルールを適用するプロセスは、リストボックスに関連付けられたプロパティルールが、コンボボックスに関連付けられたプロパティルールの代わりにリストアイテムに適用される必要があるかどうかを問い合わせることができる。
【0126】
別の実施では、上に記載したような隠れコンテナの子ノードのプロパティを、階層表現の簡易ビューにおける直接の親ノードではなく、隠れコンテナ自体によって設定されたプロパティルールから決定することができる。
【0127】
望むなら、柔軟性のあるプロパティ決定をサポートすることができる実施の組み合わせを提供することができる。
【0128】
合成ユーザインターフェイス要素を容易にすること
本明細書に記載した様々な技術を使用して、合成ユーザインターフェイス要素の定義、作成およびそれとの対話を容易にすることができる。たとえば、呼び出しを、合成ユーザインターフェイスとなることが起こる特定のユーザインターフェイス要素の単純な指示にすることができる。この呼び出しは、ユーザインターフェイス要素を表現するための複数のノードを作成する結果となる可能性がある。
【0129】
しかし、合成ユーザインターフェイス要素を定義するプログラマは、様々なノードが選択的可視化可能であることを指示するための処置を取ることができる。したがって、定義を呼び出すプログラマは、このようなノードが可視化されない簡易ビューへプログラムすることを選択すること(または、デフォルトによりこのようなビューを提供されること)ができる。このような場合、定義を呼び出すプログラマは、合成コントロールが実際には複数のノードから構成されることを承知している必要はない。
【0130】
さらに、これらの追加のコントロールの定義は、それらのコントロール定義内で合成コントロールをネストすることができる。どのノードが選択的可視化可能にされるかについての指示を保持して、ネスティングを容易に実施できるようにすることができる。このように、第1の合成コントロールを、第2の合成コントロールを含むものとして定義することができ、簡易ビューが正しく提示されるようになる(たとえば、第2の合成コントロールについて選択的可視化可能として指定されたノードが、第2の合成コントロールについて選択的可視化可能となる)。望むなら、第2の合成コントロールの主ノードをまた選択的可視化可能として指示することもできる。
【0131】
ネスティングを例示するために有用な実施例には、図14Aおよび14Bに示すコンボボックスのプログラム定義が含まれる。この実施例では、コンボボックスがリストボックスから構成される。リストボックス定義は、リストボックス内で選択的に可視化されたノードを達成するためにプロパティを設定することを含む。さらに、リストボックス自体はスクロールビューワの定義を呼び出し、これ自体は、スクロールビュー内で選択的に可視化されたノードを達成するためにプロパティを設定する。しかし、コンボボックスにアクセスするソフトウェアまたはマークアップに対して、ネスティングを実施して、リストボックスの内部の詳細(たとえば、選択的可視化可能ノードをその中に含むもの)が(たとえば、コンボボックスの簡易ビューにアクセスするときに)現れないようにすることができる。
【0132】
他方では、リストボックスにおいて実行されたオペレーションはなお、その中のノードが選択的可視化可能であるという事実を利用することができる(たとえば、オペレーションを簡易ビューにおけるリストボックスにおいて実行するとき)。したがって、選択的可視化可能性(selective exposability)をネスト可能かつ相対的にすることができる。
【0133】
代替物
例示した実施形態を参照して、本発明の原理を記載かつ例示したが、例示した実施形態を、このような原理から逸脱することなく、構成および詳細において修正できることは理解されよう。
【0134】
たとえば、様々なユーザインターフェイス要素を共に組み合わせ、およびネストして、より複雑な表現を提供することができる。ユーザインターフェイス要素を、プログラムへのインターフェイスの一部として提供することができ、あるいはドキュメント(たとえば、webページまたはワードプロセッシングドキュメント)内に埋め込むことができる。本明細書に記載した技術をまた、階層形態において表現することができる他のいかなるドキュメントまたはファイルにも適用することができる。
【0135】
特定のプロパティ名を上で使用するが、他のプロパティスキームを使用して、階層表現においてノードを選択的に可視化することができる。
【0136】
本明細書に記載したプログラム、プロセスまたは方法は、いかなる特定のタイプのコンピュータ装置にも関係付けられず、あるいはそれに限定されないことを理解されたい。様々なタイプの汎用または専用コンピュータ装置を、本明細書に記載した教示と共に使用することができ、あるいはこれに従ってこれらのコンピュータ装置はオペレーションを実行することができる。本明細書に記載したアクションを、このようなアクションを実行するためのコンピュータ実行可能命令を含むコンピュータ可読媒体によって達成することができる。ソフトウェアにおいて図示した、例示した実施形態の要素を、ハードウェアにおいて実施することができ、その逆も可能である。本発明の原理を適用することができる多数の可能な実施形態に鑑みて、詳細な実施形態は例示的でしかなく、本発明の範囲を限定するものとして取られるべきでないことを理解されたい。むしろ、本発明として、特許請求の範囲およびその同等物の範囲および精神内に入る可能性のあるこのようなすべての実施形態を主張する。
【図面の簡単な説明】
【図1】簡易ビューを有するユーザインターフェイス要素の例示的表現の図である。
【図2】図1のユーザインターフェイス要素表現の例示的簡易ビューの図である。
【図3】簡易ビューを有するもう1つの例示的ユーザインターフェイス要素の表現の図である。
【図4】図3のユーザインターフェイス要素表現の例示的簡易ビューの図である。
【図5】ユーザインターフェイス要素の表現の簡易ビューを実施するための例示的方法の流れ図である。
【図6】簡易ビューによる表現を有するユーザインターフェイス要素の定義を処理するための例示的方法の流れ図である。
【図7】図6で処理されるものなど、簡易ビューを有するユーザインターフェイス要素の定義を呼び出すための例示的方法の流れ図である。
【図8】図7で作成されるものなど、ユーザインターフェイス要素の階層表現においてオペレーションを実行するための例示的方法の流れ図である。
【図9】コンボボックスと呼ばれる例示的ユーザインターフェイス要素のスクリーンショットの図である。
【図10A】図9に示すものなど、コンボボックスの例示的階層表現の図である。
【図10B】図10のものに類似したコンボボックスの例示的階層表現の図であり、および例示的カプセル化境界を含む図である。
【図11】図10に示すものなど、コンボボックスの階層表現の例示的簡易ビューの図である。
【図12】選択的可視化可能ノードを有するユーザインターフェイス要素の階層表現を作成するための例示的方法の流れ図である。
【図13】少なくとも1つの要素を選択的可視化可能として指示することを含む、コンボボックスのための例示的マークアップ定義の図である。
【図14A】
少なくとも1つの要素を選択的可視化可能として指示することを含む、コンボ
ボックスのための例示的プログラム定義の図である。
【図14B】
図14Aの例示的プログラム定義の続きの図である。
【図15】
図13または図14AおよびBで定義されるものなど、コンボボックスの例示
的マークアップ呼び出しの図である。
【図16】
図13または図14AおよびBで定義されるものなど、コンボボックスの例示
的プログラム呼び出しの図である。
【図17】
ユーザインターフェイス要素表現の簡易ビューを使用してオペレーションを実
行するための例示的方法の流れ図である。
【図18】
図9のものなど、コンボボックスの階層表現の例示的フルビューの図であり、
簡易ビューを介してオペレーションを実行した後、適切なノードが簡易ビューに
おいて非可視化されるとして指定される図である。
【図19】
図18の表現に対応する例示的簡易ビューの図である。
【図20A】
ユーザインターフェイス要素のための選択的可視化可能ユーザノードの代替表
現の図である。
【図20B】
図20Aに示す表現に対応する簡易ビューの図である。
【図21】
リピータ機能を使用するリストボックスユーザインターフェイス要素のスクリ
ーンショットの図である。
【図22】リピータを含むユーザインターフェイス要素の例示的階層表現の図である。
【図23】図22に対応する例示的簡易ビューの図である。
【図24】図22のものなど、リピータを含むユーザインターフェイス要素の階層表現を作成するための例示的方法の流れ図である。
【図25】選択的可視化可能として指定されたリピータの例示的マークアップ呼び出しの図である。
【図26】選択的可視化可能として指定されたリピータの例示的プログラム呼び出しの図である。
【図27】選択的可視化可能として指定されたリピータのもう1つの例示的マークアップ呼び出しの図である。
【図28】リピータ機能を使用することのない、図21のものなど、リストボックスの例示的マークアップ定義の図である。
【符号の説明】
100、300、1000、1100、1800、2200 階層表現
110、310、1005、1105、1905、2010 主ノード
200、400、2050、2300 簡易ビュー
120、320、325、1010、1020、1025、1026、1030、1031A、1031B、1033、1034A、1034B、1035、1040、1041A、1041B、1043、1044A、1044B、1045、2020 選択的可視化可能ノード
1050A、1050B、1050C、2250、2230、2240 リストアイテム
1850D 新しい子

Claims (37)

  1. オペレーションをユーザインターフェイス要素の階層表現において実行するためのリクエストを処理する方法であって、
    前記オペレーションを実行するための前記リクエストを受信するステップと、
    前記オペレーションを前記階層表現の簡易ビューについて実行するステップと
    を含むことを特徴とする方法。
  2. 請求項1に記載の方法を実行するためのコンピュータ実行可能命令を含むことを特徴とするコンピュータ可読媒体。
  3. 前記階層表現は、合成ユーザインターフェイス要素を形成する複数のノードを含み、
    前記ノードの適切なサブセットは、ユーザインターフェイス要素を前記合成ユーザインターフェイス要素内で形成する
    ことを特徴とする請求項1に記載の方法。
  4. 前記階層表現における少なくとも1つのノードが選択的可視化可能として指定され、
    前記指定されたノードが前記簡易ビューにおいて可視化されない
    ことを特徴とする請求項1に記載の方法。
  5. 前記階層において選択的可視化可能として指定されたノードを、前記簡易ビューにおいてスキップすることによって、前記オペレーションが実行されることを特徴とする請求項1に記載の方法。
  6. 前記階層におけるノードにおいてプロパティを設定することによって、ノードが前記階層において選択的可視化可能として指定されることを特徴とする請求項5に記載の方法。
  7. 前記オペレーションは、前記表現においてノードの子ノードを列挙するためのリクエストであり、
    前記オペレーションが前記簡易ビューにおいて実行され、それにより前記ノードの少なくとも1つの直接の子が前記簡易ビューにおいて可視化されない
    ことを特徴とする請求項1に記載の方法。
  8. 前記オペレーションは、前記表現においてノードの親ノードを提供するためのリクエストであり、
    前記オペレーションが前記簡易ビューにおいて実行され、それにより前記ノードの直接の親が前記簡易ビューにおいて可視化されない
    ことを特徴とする請求項1に記載の方法。
  9. 前記オペレーションは、前記表現において1つまたは複数の子ノードをノードに追加するためのリクエストであり、
    前記オペレーションが前記簡易ビューにおいて実行され、それにより前記子ノードが前記ノードの子孫に追加される
    ことを特徴とする請求項1に記載の方法。
  10. 前記オペレーションは、ノードについてのプロパティを提供するためのリクエストであり、
    前記ノードの少なくとも1つの選択的に可視化された先祖ノードのプロパティが無視される
    ことを特徴とする請求項1に記載の方法。
  11. 前記オペレーションは、ノードについてのプロパティを提供するためのリクエストであり、
    前記ノードの少なくとも1つの選択的に可視化された先祖ノードのプロパティが、前記プロパティに基づいて選択的に無視あるいは考慮される
    ことを特徴とする請求項1に記載の方法。
  12. 前記オペレーションは、ノードについてのプロパティを提供するためのリクエストであり、
    前記ノードの少なくとも1つの選択的に可視化された先祖ノードのプロパティルールが無視される
    ことを特徴とする請求項1に記載の方法。
  13. 前記オペレーションは、ノードについてのプロパティを提供するためのリクエストであり、
    前記ノードの少なくとも1つの選択的に可視化された先祖ノードのルールが、前記プロパティに基づいて選択的に無視あるいは考慮される
    ことを特徴とする請求項1に記載の方法。
  14. ユーザインターフェイス要素を表現する方法であって、
    複数のノードを有する前記ユーザインターフェイス要素の階層表現を作成するステップと、
    前記表現における少なくとも1つのノードを選択的可視化可能として指定するステップと
    を含むことを特徴とする方法。
  15. 前記ノードの先祖においてプロパティを設定することによって、前記ノードが選択的可視化可能として指定されることを特徴とする請求項14に記載の方法。
  16. 前記ノードの親においてプロパティを設定することによって、前記ノードが選択的可視化可能として指定されることを特徴とする請求項15に記載の方法。
  17. 前記選択的可視化可能ノードのうち少なくとも1つが、先祖ノードの簡易ビューの複数の子を受けるためのノードとして指定されることを特徴とする請求項14に記載の方法。
  18. 前記選択的可視化可能ノードにおいてプロパティを設定することによって、前記選択的可視化可能ノードがそのように指定されることを特徴とする請求項17に記載の方法。
  19. 前記選択的可視化可能ノードは、合成ユーザインターフェイス要素内でネストされたユーザインターフェイス要素を含む複数のノードのうちの1つであることを特徴とする請求項14に記載の方法。
  20. 前記選択的可視化可能ノードは、ユーザインターフェイス要素を表現する複数のノードのうちの1つであり、
    前記ユーザインターフェイス要素を表現する前記ノードは、前記ユーザインターフェイス要素の定義内で選択的可視化可能として定義されていない少なくとも1つのノードを含み、
    前記ユーザインターフェイス要素を表現する前記ノードが合成ユーザインターフェイス要素内でネストされ、
    前記合成ユーザインターフェイス要素は、前記ユーザインターフェイス要素を表現する前記ノードが選択的可視化可能として指定されることの指示を含み、
    選択的可視化可能でないとして指定された前記ノードを、前記ユーザインターフェイス要素を表現する前記ノードのうち1つを介して参照される場合、選択的可視化可能でないとして処理し、
    そうでない場合、選択的可視化可能でないとして指定された前記ノードを、選択的可視化可能として処理する
    ことを特徴とする請求項14に記載の方法。
  21. 選択的可視化可能として指定された前記ノードは、前記階層表現において前記ノードの下に複数のノードを生成するためのデータを提供するように動作可能であることを特徴とする請求項14に記載の方法。
  22. 前記データはデータベースから生じることを特徴とする請求項21に記載の方法。
  23. 前記ノードの下の前記複数のノードはリストアイテムであることを特徴とする請求項21に記載の方法。
  24. 合成ユーザインターフェイス要素を定義する方法であって、
    合成ユーザインターフェイス定義におけるユーザインターフェイス要素についての複数の定義を参照するステップと、
    前記合成ユーザインターフェイス定義において、前記ユーザインターフェイス要素のための少なくとも1つのノードを選択的可視化可能として指定するステップと
    を含むことを特徴とする方法。
  25. 前記ユーザインターフェイス要素についての定義のうち少なくとも1つ自体は、その中の前記ノードのうち1つを選択的可視化可能として指定することを特徴とする請求項24に記載の方法。
  26. 前記合成ユーザインターフェイス要素はコンボボックスを含むことを特徴とする請求項24に記載の方法。
  27. 前記ユーザインターフェイス要素のためのノード、前記ユーザインターフェイス要素のための親ノード、および前記ユーザインターフェイス要素のための先祖ノードのうち1つまたは複数のプロパティを適切に指定することによって、ノードが選択的可視化可能として指定されることを特徴とする請求項24に記載の方法。
  28. 請求項24に記載の合成ユーザインターフェイス定義を呼び出すステップと、
    前記合成ユーザインターフェイス要素の表現の簡易ビューについてのリクエストに応答して、前記選択的可視化可能ノードのユーザインターフェイス要素を可視化しないステップとを含むことを特徴とする方法。
  29. カプセル化されたユーザインターフェイス要素を表現するデータ構造をその上で符号化しているコンピュータ可読媒体であって、前記データ構造は、
    主ノードと、
    前記主ノードに階層的に関係付けられた1つまたは複数の選択的可視化可能ノードと
    を含むことを特徴とするコンピュータ可読媒体。
  30. 前記データ構造は、前記選択的可視化可能ノードが非可視化される場合、前記選択的可視化可能ノードのうちどのノードが前記主ノードの子を受けるかについての指定をさらに含むことを特徴とする請求項29に記載のコンピュータ可読媒体。
  31. ユーザインターフェイスサービスであって、
    ユーザインターフェイス要素の定義を受け入れるためのコードを含み、前記定義は簡易ビューの指定を含み、さらに、
    前記ユーザインターフェイス要素の階層表現を、前記定義に基づいて作成するためのコードと、
    オペレーションを前記階層表現において、前記簡易ビューを介して実行するためのリクエストに応答するコードと
    を含むことを特徴とするユーザインターフェイスサービス。
  32. 前記簡易ビューは少なくとも1つの選択的可視化可能ノードを含むことを特徴とする請求項31に記載のユーザインターフェイスサービス。
  33. ユーザインターフェイスサービスであって、
    ユーザインターフェイス要素の定義を受け入れる手段を含み、前記定義は簡易ビューの指定を含み、さらに、
    前記ユーザインターフェイス要素の階層表現を、前記定義に基づいて作成する手段と、
    オペレーションを前記階層表現において、前記簡易ビューを介して実行するためのリクエストに応答する手段と
    を含むことを特徴とするユーザインターフェイスサービス。
  34. ユーザインターフェイス要素関係のオペレーションを実行するための方法であって、
    簡易ビューを有する前記ユーザインターフェイス要素の階層表現の定義を受信するステップと、
    前記定義を呼び出すステップと、
    前記オペレーションを、前記ユーザインターフェイス要素の前記階層表現の前記簡易ビューにおいて実行するステップと
    を含むことを特徴とする方法。
  35. 前記定義は、前記ユーザインターフェイスの前記階層表現のフルビュー内でノードを、前記簡易ビューにおいて非可視化されるとして選択的に定義するステップを含むことを特徴とする請求項34に記載の方法。
  36. 前記階層表現を含む前記ノードのプロパティを適切に設定することによって、前記フルビューにおける前記ノードが、前記簡易ビューにおいて非可視化されるとして定義されることを特徴とする請求項35に記載の方法。
  37. 合成ユーザインターフェイス要素の副要素を自動的に生成するための方法であって、
    ユーザインターフェイス要素ジェネレータを、前記ユーザインターフェイス要素を表現するデータ構造に挿入するステップと、
    前記ユーザインターフェイス要素ジェネレータをデータソースに関連付けるステップと、
    前記データソースを使用してユーザインターフェイス要素を生成するステップとを含み、
    前記ユーザインターフェイス要素ジェネレータは、前記合成ユーザインターフェイス要素の階層表現の簡易ビューにおいて選択的可視化可能である
    ことを特徴とする方法。
JP2003125922A 2002-12-18 2003-04-30 簡易ビューによるユーザインターフェイス要素表現 Expired - Fee Related JP4694107B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/323,504 2002-12-18
US10/323,504 US7337401B2 (en) 2002-12-18 2002-12-18 User interface element representation with simplified view

Publications (2)

Publication Number Publication Date
JP2004206668A true JP2004206668A (ja) 2004-07-22
JP4694107B2 JP4694107B2 (ja) 2011-06-08

Family

ID=23259480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003125922A Expired - Fee Related JP4694107B2 (ja) 2002-12-18 2003-04-30 簡易ビューによるユーザインターフェイス要素表現

Country Status (14)

Country Link
US (1) US7337401B2 (ja)
EP (1) EP1435567A3 (ja)
JP (1) JP4694107B2 (ja)
KR (1) KR100863125B1 (ja)
CN (1) CN100351822C (ja)
AU (1) AU2003200656B2 (ja)
BR (1) BR0300828A (ja)
CA (1) CA2422417C (ja)
MX (1) MXPA03009824A (ja)
MY (1) MY140453A (ja)
NO (1) NO327715B1 (ja)
RU (2) RU2314559C2 (ja)
TW (1) TWI221990B (ja)
ZA (1) ZA200301626B (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949957B2 (en) * 2002-12-31 2011-05-24 International Business Machines Corporation Edit selection control
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US7707255B2 (en) * 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
EP1711891B1 (en) * 2004-02-03 2010-12-15 Corizon Limited Method and apparatus for composite user interface creation
US7913177B1 (en) * 2004-03-08 2011-03-22 Adobe Systems Incorporated System and method for managing instantiation of interface elements in rich internet applications
US7860838B2 (en) * 2004-06-04 2010-12-28 Hewlett-Packard Development Company, L.P. Dynamic hierarchical data structure tree building and state propagation using common information model
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US7574677B2 (en) * 2004-09-13 2009-08-11 Sap Ag System and method for a transparent record
US7523129B1 (en) * 2004-09-15 2009-04-21 Microsoft Corporation Data-binding enhancements
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US7543278B2 (en) * 2004-10-15 2009-06-02 Microsoft Corporation System and method for making a user interface element visible
US8713063B2 (en) * 2005-01-13 2014-04-29 International Business Machines Corporation Method and system for automatically hiding irrelevant parts of hierarchical structures in computer user interfaces
US7886290B2 (en) 2005-06-16 2011-02-08 Microsoft Corporation Cross version and cross product user interface
KR100774874B1 (ko) * 2005-07-30 2007-11-08 엘지전자 주식회사 플라즈마 표시장치와 그 구동방법
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US20070061745A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Nested views in an electronic file system
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US20070288854A1 (en) * 2006-06-13 2007-12-13 Nokia Corporation Reusable XForms processor
KR100879983B1 (ko) * 2006-09-01 2009-01-23 삼성전자주식회사 Htc를 이용한 독립 컴포넌트 제공 시스템 및 독립컴포넌트를 이용한 이벤트 처리 방법
KR101288970B1 (ko) * 2006-11-28 2013-07-24 삼성전자주식회사 렌더링 장치 및 방법
CN100504771C (zh) * 2007-06-08 2009-06-24 腾讯科技(深圳)有限公司 一种生成应用程序界面的方法及系统
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8782555B2 (en) 2007-08-30 2014-07-15 Microsoft Corporation Nested user interfaces for multiple displays
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
EP2308048A1 (en) * 2008-07-23 2011-04-13 Koninklijke Philips Electronics N.V. Displaying music metadata in a plurality of hierarchical levels
WO2010107476A1 (en) * 2009-03-19 2010-09-23 Duke University Inhibiting gsnor
US8799353B2 (en) 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US8302014B2 (en) 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
CN102479212B (zh) * 2010-11-30 2016-06-22 国际商业机器公司 识别网页上键盘不可访问节点的方法以及装置
EP3040946B1 (en) * 2014-12-30 2019-11-13 Dassault Systèmes Viewpoint selection in the rendering of a set of objects
CN104503769B (zh) * 2015-01-07 2017-06-20 山东鲁能智能技术有限公司 一种基于xml配置文件的字符点阵液晶界面实现方法
US9685142B2 (en) * 2015-11-03 2017-06-20 International Business Machines Corporation Obtaining and displaying relationships between elements
CN107454478B (zh) * 2017-08-01 2020-06-16 武汉斗鱼网络科技有限公司 网络直播客户端中弹幕输入框卡顿处理方法及系统
EP3803563A1 (en) 2018-06-03 2021-04-14 Apple Inc. Framework providing application programming interface for user interfaces and animation
CN111782210B (zh) * 2019-04-04 2024-10-18 阿里巴巴集团控股有限公司 页面管理方法、装置、电子设备及计算机可读介质
CN110516205B (zh) * 2019-07-19 2023-04-07 平安科技(深圳)有限公司 数据结构图的展示方法、装置、计算机设备及存储介质
CN113064971A (zh) * 2021-04-12 2021-07-02 苏州城方信息技术有限公司 一种基于交互式图结构的政策文本关系的挖掘与表达方法
CN113885766B (zh) * 2021-09-24 2024-02-09 远光软件股份有限公司 组织架构图的展示方法、装置、存储介质及终端设备
CN113849247B (zh) * 2021-09-26 2024-04-30 上海哔哩哔哩科技有限公司 直播间页面元素的显示方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210722A (ja) * 1991-08-24 1993-08-20 Internatl Business Mach Corp <Ibm> グラフィックス・ディスプレイ・ツール
JPH10124280A (ja) * 1996-10-22 1998-05-15 Toshiba Corp ウィンドウシステムにおける表示方法
JPH1145197A (ja) * 1997-07-25 1999-02-16 Fuji Xerox Co Ltd 階層構造提示装置及び階層構造提示方法
JP2000259303A (ja) * 1999-03-05 2000-09-22 Hitachi Information Systems Ltd データ表示装置およびデータ表示方法ならびに該方法を記録した記録媒体
JP2002014753A (ja) * 2000-05-16 2002-01-18 Internatl Business Mach Corp <Ibm> インライン・ツリー・フィルタリングを有するグラフィカル・ユーザ・インターフェースを有するコンピュータ・システム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2525546B2 (ja) 1992-09-08 1996-08-21 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックリソ―ス・エディタ
EP0603425A1 (en) * 1992-12-22 1994-06-29 International Business Machines Corporation Representation of n-ary trees
US5588099A (en) 1994-09-01 1996-12-24 Microsoft Corporation Method and system for automatically resizing tables
US5649222A (en) 1995-05-08 1997-07-15 Microsoft Corporation Method for background spell checking a word processing document
US5860073A (en) 1995-07-17 1999-01-12 Microsoft Corporation Style sheets for publishing system
US6128016A (en) * 1996-12-20 2000-10-03 Nec Corporation Graphic user interface for managing a server system
US5953724A (en) * 1997-11-24 1999-09-14 Lowry Software, Incorporated Global database library data structure for hierarchical graphical listing computer software
US6029170A (en) 1997-11-25 2000-02-22 International Business Machines Corporation Hybrid tree array data structure and method
US6061679A (en) 1997-11-25 2000-05-09 International Business Machines Corporation Creating and searching a data structure ordered by ranges of key masks associated with the data structure
US6249284B1 (en) 1998-04-01 2001-06-19 Microsoft Corporation Directional navigation system in layout managers
US6169546B1 (en) 1998-04-01 2001-01-02 Microsoft Corporation Global viewer scrolling system
US6169984B1 (en) 1998-04-01 2001-01-02 Microsoft Corporation Global incremental type search navigation directly from printable keyboard character input
US6285366B1 (en) * 1998-06-30 2001-09-04 Sun Microsystems, Inc. Hierarchy navigation system
US6108698A (en) * 1998-07-29 2000-08-22 Xerox Corporation Node-link data defining a graph and a tree within the graph
US6381605B1 (en) 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6671853B1 (en) 1999-07-15 2003-12-30 International Business Machines Corporation Method and system for selectively streaming markup language documents
US7039863B1 (en) 1999-07-23 2006-05-02 Adobe Systems Incorporated Computer generation of documents using layout elements and content elements
US6662342B1 (en) 1999-12-13 2003-12-09 International Business Machines Corporation Method, system, and program for providing access to objects in a document
US6775678B1 (en) 2000-04-11 2004-08-10 Microsoft Corporation Data structure and method of storing a digital document
US6883137B1 (en) 2000-04-17 2005-04-19 International Business Machines Corporation System and method for schema-driven compression of extensible mark-up language (XML) documents
IE20010467A1 (en) 2000-05-16 2001-11-28 Garrett O'carroll A document processing system and method
KR100694238B1 (ko) * 2000-09-28 2007-03-14 가부시키가이샤 리코 구조편집방법, 영상구조편집방법, 오브젝트의 내용구조관리방법, 오브젝트의 내용구조표시방법, 컨텐츠관리방법 및 기록매체
BR0107329A (pt) 2000-10-17 2002-08-27 Koninkl Philips Electronics Nv Processo de codificação para codificar um elemento de descrição de uma instância de um esquema tipo xml, processo de decodificação para decodificar um fragmento compreendendo um conteúdo e uma sequência de informação de identificação, codificador para codificar um elemento de descrição de uma instância de um esquema tipo xml, decodificador para decodificar um fragmento compreendendo um conteúdo e uma sequência de informação de identificação, sistema de transmissão, sinal para transmissão através de uma rede de transmissão, e, tabela destinada a ser usada em um codificador
US6732109B2 (en) 2001-01-31 2004-05-04 The Eon Company Method and system for transferring information between a user interface and a database over a global information network
US6910040B2 (en) 2002-04-12 2005-06-21 Microsoft Corporation System and method for XML based content management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210722A (ja) * 1991-08-24 1993-08-20 Internatl Business Mach Corp <Ibm> グラフィックス・ディスプレイ・ツール
JPH10124280A (ja) * 1996-10-22 1998-05-15 Toshiba Corp ウィンドウシステムにおける表示方法
JPH1145197A (ja) * 1997-07-25 1999-02-16 Fuji Xerox Co Ltd 階層構造提示装置及び階層構造提示方法
JP2000259303A (ja) * 1999-03-05 2000-09-22 Hitachi Information Systems Ltd データ表示装置およびデータ表示方法ならびに該方法を記録した記録媒体
JP2002014753A (ja) * 2000-05-16 2002-01-18 Internatl Business Mach Corp <Ibm> インライン・ツリー・フィルタリングを有するグラフィカル・ユーザ・インターフェースを有するコンピュータ・システム

Also Published As

Publication number Publication date
JP4694107B2 (ja) 2011-06-08
EP1435567A2 (en) 2004-07-07
TW200411419A (en) 2004-07-01
US20040122789A1 (en) 2004-06-24
NO20031008L (no) 2004-06-21
KR100863125B1 (ko) 2008-10-15
CA2422417A1 (en) 2004-06-18
KR20040054465A (ko) 2004-06-25
AU2003200656B2 (en) 2010-09-16
BR0300828A (pt) 2004-08-17
NO327715B1 (no) 2009-09-14
AU2003200656A1 (en) 2004-07-08
US7337401B2 (en) 2008-02-26
RU2314559C2 (ru) 2008-01-10
NO20031008D0 (no) 2003-03-04
RU2383918C2 (ru) 2010-03-10
EP1435567A3 (en) 2008-02-13
CN100351822C (zh) 2007-11-28
TWI221990B (en) 2004-10-11
ZA200301626B (en) 2004-02-26
CN1508704A (zh) 2004-06-30
CA2422417C (en) 2011-06-28
RU2007115294A (ru) 2008-10-27
MY140453A (en) 2009-12-31
MXPA03009824A (es) 2004-06-30

Similar Documents

Publication Publication Date Title
JP4694107B2 (ja) 簡易ビューによるユーザインターフェイス要素表現
US5991534A (en) Method and apparatus for editing a software component
JP4972254B2 (ja) リフレッシュ可能なWebクエリを作成するための統合された方法
RU2365978C2 (ru) Интерфейс программирования для компьютерной платформы
US5933139A (en) Method and apparatus for creating help functions
JP5284509B2 (ja) ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム
US6275227B1 (en) Computer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor
Ko et al. Barista: An implementation framework for enabling new tools, interaction techniques and views in code editors
Vanderdonckt et al. Flexible reverse engineering of web pages with vaquista
US8166396B2 (en) User interface rendering
US6678889B1 (en) Systems, methods and computer program products for locating resources within an XML document defining a console for managing multiple application programs
JP2000003274A (ja) コンピュータ上で実行可能なエディタのテキスト要素生成方法及びエディタのテキスト要素生成装置並びにエディタ上にテキスト要素を生成させるように構成されたプログラムを記憶したコンピュータ読み取り可能な記憶媒体
Florins et al. Splitting rules for graceful degradation of user interfaces
JP4577847B2 (ja) コンテンツを作成するためのオーサリング・システム、ソフトウェア、および方法
JP2013518321A (ja) パターンベースのユーザインターフェース
US20040133595A1 (en) Generation of persistent document object models
Ferrans et al. HyperWeb: a framework for hypermedia-based environments
JP2007538314A (ja) 汎用ユーザインターフェースコマンドアーキテクチャ
MacDonald Pro. NET 2.0 Windows Forms and Custom Controls in VB 2005
JP2001154834A (ja) コンテンツ作成方法および装置、ならびに、記録媒体
Betermieux et al. Task-driven composition of web user interfaces
JP2008052387A (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
CN118295656A (zh) 一种基于组件的插槽设置方法及装置
Ding A design tool for object-oriented development

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20101227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101227

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110218

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110223

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees