JP4991153B2 - リッチなユーザインターフェースのデザインのためのスタイリングメカニズム - Google Patents

リッチなユーザインターフェースのデザインのためのスタイリングメカニズム Download PDF

Info

Publication number
JP4991153B2
JP4991153B2 JP2006005190A JP2006005190A JP4991153B2 JP 4991153 B2 JP4991153 B2 JP 4991153B2 JP 2006005190 A JP2006005190 A JP 2006005190A JP 2006005190 A JP2006005190 A JP 2006005190A JP 4991153 B2 JP4991153 B2 JP 4991153B2
Authority
JP
Japan
Prior art keywords
style
computer
processing device
property
properties
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.)
Expired - Fee Related
Application number
JP2006005190A
Other languages
English (en)
Other versions
JP2006244465A (ja
Inventor
ゴスマン ジョン
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 JP2006244465A publication Critical patent/JP2006244465A/ja
Application granted granted Critical
Publication of JP4991153B2 publication Critical patent/JP4991153B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A62LIFE-SAVING; FIRE-FIGHTING
    • A62DCHEMICAL MEANS FOR EXTINGUISHING FIRES OR FOR COMBATING OR PROTECTING AGAINST HARMFUL CHEMICAL AGENTS; CHEMICAL MATERIALS FOR USE IN BREATHING APPARATUS
    • A62D1/00Fire-extinguishing compositions; Use of chemical substances in extinguishing fires
    • A62D1/0071Foams
    • AHUMAN NECESSITIES
    • A62LIFE-SAVING; FIRE-FIGHTING
    • A62DCHEMICAL MEANS FOR EXTINGUISHING FIRES OR FOR COMBATING OR PROTECTING AGAINST HARMFUL CHEMICAL AGENTS; CHEMICAL MATERIALS FOR USE IN BREATHING APPARATUS
    • A62D1/00Fire-extinguishing compositions; Use of chemical substances in extinguishing fires
    • A62D1/0028Liquid extinguishing substances
    • A62D1/0035Aqueous solutions
    • A62D1/0042"Wet" water, i.e. containing surfactant
    • AHUMAN NECESSITIES
    • A62LIFE-SAVING; FIRE-FIGHTING
    • A62DCHEMICAL MEANS FOR EXTINGUISHING FIRES OR FOR COMBATING OR PROTECTING AGAINST HARMFUL CHEMICAL AGENTS; CHEMICAL MATERIALS FOR USE IN BREATHING APPARATUS
    • A62D3/00Processes for making harmful chemical substances harmless or less harmful, by effecting a chemical change in the substances
    • A62D3/30Processes for making harmful chemical substances harmless or less harmful, by effecting a chemical change in the substances by reacting with chemical agents
    • A62D3/32Processes for making harmful chemical substances harmless or less harmful, by effecting a chemical change in the substances by reacting with chemical agents by treatment in molten chemical reagent, e.g. salts or metals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • 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
    • AHUMAN NECESSITIES
    • A62LIFE-SAVING; FIRE-FIGHTING
    • A62DCHEMICAL MEANS FOR EXTINGUISHING FIRES OR FOR COMBATING OR PROTECTING AGAINST HARMFUL CHEMICAL AGENTS; CHEMICAL MATERIALS FOR USE IN BREATHING APPARATUS
    • A62D2101/00Harmful chemical substances made harmless, or less harmful, by effecting chemical change

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Emergency Management (AREA)
  • Chemical & Material Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、一般にグラフィックス編集の分野に関する。より詳細には、本発明は、コンピューティング環境内でグラフィカルオブジェクトおよび他のタイプのオブジェクトに属性を適用するために使用される、スタイルメカニズムを提供するシステムおよび方法に関する。
スタイルとは、当業者には明らかなように、一般には特定の出版物中での、または特定の出版社によって使用される、文書の提示方法である。スタイルは、たとえばMICROSOFT WORDやMICROSOFT VISIO(登録商標)で、テキスト、線および/またはフィルの提示方法を定義するのに使用されている。このスタイルの定義は、文書全体を通して一様な体裁を提供するために、テキスト、線および/またはフィルのいくつかの特徴を強制する。
スタイルが一般的な意味でまだ実施されていない領域の1つが、ユーザインターフェース(UI)のデザインである。そこでは、UIのデザイン定義が、デザインタイム時、ランタイム時のいずれにおいても定義され、実施され、維持されることが望ましい。この目標を達成するために、ウェブページデザインに使用されるCSS(カスケーディングスタイルシート)やXSL(拡張スタイル言語)などの試みが行われてきた。しかし、これらの方法はいずれも複雑で理解し難いことで有名である。より重要なことには、これらの方法を効率的に利用するソフトウェアツール、特にデザインの直接操作および理解を可能にするWYSIWYG(What You See Is What You Get)ツールを作成することが極めて困難であることが分かっている。
1つの問題は、ランタイムソフトウェアでそれらのルールを実施し、インターフェースの機能性を損なわずにルールを変更できるようにしながら、ソフトウェアデザインタイムツールがどのようにUIスタイルを定義できるかということである。具体的には、スタイリングメカニズムは、汎用でありUIデザインのあらゆる面に適用可能であり、グラフィックスおよび開発ツールを介して操作でき、UIデザイナーが容易に習得できるほどシンプルで親しみ易いメカニズムであるべきである。しかし、これらの特徴を提供する従来のスタイルメカニズムは存在しない。
したがって、上述の機能を提供するスタイリングメカニズムが必要である。本発明は、そのようなソリューションを提供する。
本発明は、ユーザインターフェース内のオブジェクトに適用されることにより、そのオブジェクトの任意の属性を定義するスタイルモデルを実施するための方法を対象とする。このモデルは、2つの部分に分けられている。すなわち、ユーザインターフェースのルックアンドフィールに影響を及ぼすためにスタイル定義を使用する「ランタイム」と、ユーザインターフェースのルックアンドフィールを定義するWYSIWYGツールによって提示される経験である「デザインタイム」である。デザインタイムは、ランタイムオブジェクトに関して実施することができる。スタイルに関連付けられるプロパティは、デザインタイムUIを使用してオブジェクトに対して設定し、ランタイム時に実施することができる。スタイルは、変更を多くのオブジェクトに適用するための簡単なメカニズムを提供するために、テーマ別にグループ分けすることができる。
本発明のその他の特徴および利点は、添付の図面を参照しながら行われる例示的実施形態についての以下の詳細な説明により、明らかになるであろう。
前述の要約、および好ましい実施形態についての以下の詳細な説明は、添付の図面と併せて参照することにより、よりよく理解されよう。本発明を説明するために、図面には本発明の例示的な構成が示されているが、本発明は開示された特定の方法および手段に限定されない。
例示的コンピューティング環境
図1は、本発明を実施することができる、適切なコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の使用範囲または機能に関するいかなる限定も示唆するものではない。また、コンピューティング環境100も、例示的動作環境100中で示される構成要素の1つまたはそれらの組合せに依存するか、あるいはそれらを必要としていると解釈すべきではない。
本発明は、他の多くの汎用または専用のコンピューティングシステム環境または構成で動作可能である。本発明での使用に適した周知のコンピューティングシステム、環境および/または構成の例としては、パーソナルコンピュータ、サーバコンピュータ、携帯型またはラップトップ型装置、マルチプロセッサシステム、マイクロプロセッサに基づくシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のうちのいずれかを含む分散コンピューティング環境などがあるが、それだけには限定されない。
本発明は、コンピュータで実行される、例えばプログラムモジュールなどのコンピュータ実行命令という一般的なコンテキストで説明することができる。一般的に、プログラムモジュールとしては、特定のタスクの実行または特定の抽象データ型の実施を行うルーチン、プログラム、オブジェクト、構成要素、データ構造などがある。本発明は、通信ネットワークまたは他のデータ送信媒体を介してリンクされたリモート処理装置によってタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールまたは他のデータを、メモリ記憶装置を含むローカルおよびリモートのいずれのコンピュータ記憶媒体にも置くことができる。
図1を参照すると、本発明を実施するための例示的システムは、コンピュータ110の形をとる汎用コンピューティングデバイスを含む。コンピュータ110の構成要素には、処理装置120、システムメモリ130、およびシステムメモリを含めたシステムの様々な構成要素を処理装置120に結合するシステムバス121が含まれ得るが、それだけには限定されない。システムバス121は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのいずれかを使用したローカルバスを含めて、いくつかのバス構造のタイプのいずれでもよい。限定ではなく例を挙げると、これらのバスアーキテクチャとしては、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、PCI(Peripheral Component Interconnect)バス(メザニンバスとも呼ばれる)、PCI−Express(Peripheral Component Interconnect Express)バス、SMBus(Systems Management Bus)などがある。
コンピュータ110は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110がアクセスできる利用可能などんな媒体でもよく、揮発性および不揮発性の媒体、着脱式および非着脱式の媒体を含む。限定ではなく例を挙げると、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体としては、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなど、情報の記憶に用いられる任意の方法または技術で実装される揮発性および不揮発性の媒体、着脱式および非着脱式の媒体がある。コンピュータ記憶媒体としては、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、DVDまたは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶装置、あるいは所望の情報を記憶し、コンピュータ110がアクセスできるような他の任意の媒体があるが、それだけには限定されない。通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波や他の搬送機構などの変調データ信号の形で実施し、それには任意の情報送達媒体が含まれる。「変調データ信号」という用語は、その1つまたは複数の特徴が、信号に含まれる情報を符号化するように設定または変更された信号を意味する。限定ではなく例を挙げると、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響、RF、赤外線、その他の無線媒体などの無線媒体がある。上記の任意の組合せも、コンピュータ可読媒体の範囲に含まれるものとする。
システムメモリ130は、例えばROM131やRAM132など揮発性および/または不揮発性のメモリの形をとるコンピュータ記憶媒体を含む。一般に、例えば起動の際にコンピュータ110内の要素間での情報の転送を助ける基本ルーチンを含む基本入出力システム(BIOS)133が、ROM131に格納されている。RAM132は、一般に、直ちに処理装置120からアクセス可能であり、および/または処理装置120が操作を加えているデータおよび/またはプログラムモジュールを含む。限定ではなく例を挙げると、図1はオペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。
コンピュータ110は、他の着脱式および非着脱式、揮発性および不揮発性のコンピュータ記憶媒体を含むことができる。あくまで一例として、図1は、非着脱式で不揮発性の磁気媒体を読み書きするハードディスクドライブ141、着脱式で不揮発性の磁気ディスク152を読み書きする磁気ディスクドライブ151、およびCD−ROMや他の光媒体など着脱式で不揮発性の光ディスク156を読み書きする光ディスクドライブ155を示す。この例示的動作環境で使用できる他の着脱式および非着脱式、揮発性および不揮発性のコンピュータ記憶媒体としては、磁気テープカセット、フラッシュメモリカード、DVD、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどがあるが、それだけには限定されない。ハードディスクドライブ141は、一般にインターフェース140などの非着脱式メモリインターフェースを介してシステムバス121に接続されており、磁気ディスクドライブ151および光ディスクドライブ155は、一般にインターフェース150などの着脱式メモリインターフェースを介してシステムバス121に接続されている。
上に説明し、図1に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ110用のコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを記憶する。たとえば、図1では、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を記憶しているものとして示してある。これらの構成要素は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じでもよく、異なっていてもよいことに留意されたい。ここでは、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147が少なくとも異なるコピーであることを示すために別の参照番号を付けた。ユーザは、キーボード162や一般にマウス、トラックボールまたはタッチパッドと呼ばれるポインティングデバイス161などの入力装置を介して、コンピュータ110に命令および情報を入力することができる。他の入力装置(図示せず)としては、マイクロホン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナなどがある。これらおよび他の入力装置は、システムバスに結合されているユーザ入力インターフェース160を介して処理装置120に接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)など他のインターフェースおよびバス構造によって接続することもできる。モニタ191または他のタイプの表示装置も、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続されている。モニタに加え、コンピュータは、出力周辺インターフェース195を介して接続することができるスピーカ197やプリンタ196などの他の周辺出力装置を含み得る。
コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を使用したネットワーク環境で動作することもできる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードでよく、図1ではメモリ記憶装置181しか図示されていないが、一般にはコンピュータ110に関連して説明した上述の多くのまたは全ての要素を含む。図示された論理接続は、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173を含むが、他のネットワークを含むこともできる。これらのネットワーク環境は、オフィス、事業体規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的となっている。
LANネットワーク環境で使用する場合、コンピュータ110はネットワークインターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーク環境で使用する場合、コンピュータ110は、一般にインターネットなどのWAN173上での通信を確立するためのモデム172または他の手段を含む。モデム172は、内部モデムでも外部モデムでもよく、ユーザ入力インターフェース160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク環境では、コンピュータ110に関連して図示されたプログラムモジュールあるいはその一部を、リモートメモリ記憶装置に記憶することができる。限定ではなく例として、図1ではリモートアプリケーションプログラム185がメモリ装置181上にあるものとして示してある。図示されたネットワーク接続は例示的であり、コンピュータ間の通信リンクを確立するための他の手段を使用することもできることが理解できよう。
UIデザインのためのスタイリングの例示的実施形態
一般に、現代のユーザインターフェース(UI)は、UI内の要素(たとえばボタン、四角形、ウィンドウ)およびこれら要素のプロパティ(たとえば色、位置、テキスト値)を表す1組のオブジェクトによって定義される。本発明は、「スタイル」を、色、位置、ジオメトリなどを含み、ただしそれだけには限定されない1組のプロパティと、たとえば緑、画面の中央、楕円など、これらのプロパティへの値の割当てとして実施する。各スタイルは、一意的にそのスタイルを参照するために使用することができる名前または他の識別子をもつことができ、スタイルはUI定義によるオブジェクトに適用することができる。たとえば、ユーザインターフェースデザイナーは、前景色および背景色がそれぞれ黒および白と定義される「ゼブラ」、および前景色および背景色がそれぞれ黒およびオレンジと定義される「タイガー」の2つのスタイルを定義することができる。「ゼブラ」を1組のボタンおよびリストボックスに適用した場合、それらは黒と白で提示され、あるいはデザイナーは「タイガー」を適用して黒とオレンジのスキームを得ることができる。
本発明のスタイル定義メカニズムは、2つの部分に分けることができる。すなわち、UIのルックアンドフィールに影響を及ぼすためにスタイル定義を使用する「ランタイム」成分と、ユーザインターフェースのルックアンドフィールを定義するのに使用されるWYSIWYGツールによって提示される経験である「デザインタイム」成分の2つである。デザインタイム成分は、ランタイムオブジェクトに関して実施することができる。
ランタイムスタイルオブジェクト
スタイルオブジェクトは、値が割り当てられた、名前付きの1組のプロパティである。プロパティは、任意のクラスのプロパティでよい。TypeおよびPropertyの名前を与えることによってコモンランゲージランタイム(CRL)および他のオブジェクトシステムがそのプロパティを参照できるような、プロパティ参照用の一般的なメカニズムが使用される。たとえば、「Button.Background」。ただし、「Button」がType名であり、「Background」がそのタイプのプロパティの名前である。CLRは、本件特許出願人から市販の.NETフレームワークの一部であり、プログラムの実行を管理し、共通のオブジェクト指向クラスの共有を可能にする。
したがって、たとえば以下のように、XMLでStyleを宣言することが可能である。
Figure 0004991153
スタイル継承が実施されている場合、スタイルは他のスタイルに基づいてよい。すなわち、あるスタイルが、ある親スタイルから任意のプロパティおよび/または値の対を獲得することができる。新規スタイルでのプロパティ割当てが優先され、したがって親での設定を「オーバーライド」すると言われる。たとえば
Figure 0004991153
スタイルの擬似C#クラス定義は、以下のような定義でもよい。
Figure 0004991153
各要素はスタイルと呼ばれるプロパティを含み、その値はスタイルのIDである。このプロパティの値が、その要素のスタイルとなる。
Figure 0004991153
名前が付けられ、共有されるリソースは、任意のプロパティタイプで定義することができる。
Figure 0004991153
任意のスタイル化可能なプロパティの値は、ある要素上にローカル値があるかどうか確かめることによって決定される。ローカル値がない場合、要素のスタイルからのプロパティ値が使用される。
スタイルおよびリソースは、テーマ別にまとめることができる。テーマは、1組のコンテンツの全体的な外観を容易に切り替えられるようにする、1群のスタイル定義である。
Figure 0004991153
ローカルなテーマは、既存のスタイルをオーバーライドすることができ、あるいはその1組のスタイルを拡張することができる。したがって、ユーザはあるアプリケーション内の全てのボタンについて、それぞれのボタンのスタイルプロパティを変更する必要なしに、デフォルトのボタン背景の変更を選ぶことができる。さらに、全てのコントロールが、周知のスタイル名のうちのいずれかであるデフォルトのスタイルプロパティを指定することが好ましい。たとえば、ボタンクラスは、それ自体のデフォルトスタイルを「SystemButtonStyle」と定義することができる。
本発明によれば、上記についていくつかの変形形態が可能である。第1の変形形態によれば、任意に範囲を定められたテーマを定義することができる。その場合、テーマを、ツリー構造のどのレベルにも導入することができる。したがって、テーマがスタイルをオーバーライドし、パネルまたはボタン内に新しいスタイルを導入することができる。第2の変形形態では、スタイルとテンプレートは同じ物として定義される。テンプレードが、それが付属する制御に対してプロパティの設定もできる場合、ここで定義されるスタイルは単にテンプレートの1サブセットである。第3の変形形態は、強く型付けされたスタイルである。スタイルは、(QueryGroupsと同様に)複数組の関連するプロパティに分けることができる。それらの関連するプロパティは、全てのテキストプロパティ、ストロークプロパティなどでもよい。この変形形態では、制御は、各スタイルタイプ毎に異なるプロパティをもつはずである。これは非常に柔軟であり、スタイルに対して有用な構造を強制する。
ランタイム時には、オブジェクトを識別するためのスタイル名を使用して、オブジェクトにスタイルリストを提供させることにより、それらのオブジェクトに適用することができる。たとえば、
Figure 0004991153
オブジェクト上のプロパティの実際値は先行計算によって決定される。まず、オブジェクトに対して直接設定された任意のプロパティが適用され、次いで、スタイルリストが順にウォークされ、既に設定されていないプロパティがあれば、現スタイルから適用される。したがって、上述の例では、Buttonに対して直接設定されなかったプロパティがMyStyle中にあればそれが適用され、次いでOtherStyleのプロパティのうちButtonに対して直接設定されなかった、またはMystyleによって設定されたプロパティがあればそれが適用される。
一般に、{s1、s2、s3、...sn}というスタイルリストをもつオブジェクトOが与えられた場合、最終プロパティ値は以下の順に適用される。
Oに対して設定されている任意のプロパティ
s1に対して設定され、Oに対して設定されていない任意のプロパティ
s2に対して設定され、Oまたはs1に対して設定されていない任意のプロパティ
...
snに対して設定され、O、s1、s2、...sn−1に対して設定されていない任意のプロパティ
ここで図2を参照すると、本発明のランタイム成分によって実行される処理のフローチャートが示されている。処理は、各オブジェクト(「O」)毎に、ステップ200で開始される。ステップ202で、Oに対して設定されたスタイルプロパティが適用される。次いで、ステップ204で、次のスタイルが選択される。ステップ206で、スタイルに関連する次のプロパティがスタイルから適用される。ステップ208で、そのプロパティがOに対して設定されているかどうかが判定される。そうでない場合、ステップ210でプロパティが設定され、そうである場合は、処理はステップ212に進み、スタイル内に残っているプロパティがあるかどうかが判定される。そうである場合、処理はステップ206に戻り、そうでない場合は、処理はステップ214に進み、適用すべきスタイルが残っているかどうかが判定される。そうである場合、処理はステップ204に戻るが、そうでない場合は、処理はステップ216で終了する。
本発明によれば、1組のユーザインターフェースツールがスタイルリストを名前で表示することができ、それらの名前が表しているプロパティに対してデザイナーがプロパティおよび値を割り当てられるようにする。さらに、ツールは、UIの要素へのスタイルの適用をもたらす。そのようなUIの例示的なデザインが、図3および図4に示してある。ランタイム成分は、UI要素にプロパティ割当てを獲得させ、スタイルの定義または適用を変更することによってその要素が新しいプロパティ割当てを獲得できるようにする。本発明の拡張形態では、単一のオブジェクトに対して複数のスタイルが適用でき、それによって色スタイルとフォントスタイルが混合できるようになり、オブジェクト指向の概念であるクラス継承を取り入れたスタイル継承によって、スタイルをより容易に管理および再利用できるようになる。
図3および図4を参照すると、図示された例示的ダイアログボックスを使用してスタイルを定義することができる。UIにより、オブジェクトに対してプロパティを直接設定できるようになる。UIを使用することにより、オブジェクトが選択でき、そこからプロパティを抽出することができる。次いで、抽出されたプロパティをスタイルとして名付けることができる。スタイルは、オブジェクトを指し示し、そのスタイルを名前で設定することによって、適用することができる。図3に示したように、選択されたボタンは「ブルーベリー」スタイルから色プロパティを獲得している。スタイルをメタリックに変更するだけで、図4に示したように1組のプロパティ全体が変更される。
したがって、本発明は、リソースモデルと互換性がある、簡単でありツール化可能なメカニズムを提供する。これはXMLで実施することができるため、シリアル化が可能となり、容易にデバッグできるようになる。本発明を様々な図に示した好ましい実施形態に関して説明したが、本発明から逸脱することなく、本発明の同様の機能を実行するために他の類似の実施形態を使用してよく、あるいは説明した実施形態に改変または追加を行ってもよいことが理解されよう。たとえば、本出願で説明した本発明は、有線または無線に関わらず任意のコンピューティングデバイスまたは環境に適用することができ、通信ネットワークを介して接続され、ネットワークを介して対話する任意の数のそうしたコンピューティングデバイスに適用することができることが当業者には理解されよう。さらに、特に無線ネットワーク接続された装置の数が増え続ける中で、ハンドヘルドデバイスのオペレーティングシステムや他のアプリケーション特有のオペレーティングシステムを含めて様々なコンピュータプラットホームが企図されていることも強調しておきたい。さらに、本発明は複数の処理チップまたはデバイス内で、またはそれらにまたがって実施することができ、記憶も同様に複数のデバイス間で実現することができる。したがって、本発明はどの単一の実施形態にも限定されるべきではなく、添付の特許請求の範囲に従って、その広さおよび範囲を解釈すべきである。
本発明の諸態様を実施することができる例示的なコンピューティング環境を示すブロック図である。 本発明による、ランタイム成分によって実行される処理のフローチャートである。 例示的なデザインタイムユーザインターフェースを示す図である。 例示的なデザインタイムユーザインターフェースを示す図である。
符号の説明
100 コンピューティング環境
120 処理装置
121 システムバス
130 システムメモリ
134 オペレーティングシステム
135 アプリケーションプログラム
136 その他のプログラムモジュール
137 プログラムデータ
140 非着脱式不揮発性メモリインターフェース
144 オペレーティングシステム
145 アプリケーションプログラム
146 その他のプログラムモジュール
147 プログラムデータ
150 着脱式不揮発性メモリインターフェース
160 ユーザ入力インターフェース
161 マウス
162 キーボード
170 ネットワークインターフェース
171 ローカルエリアネットワーク
172 モデム
173 ワイドエリアネットワーク
180 リモートコンピュータ
185 リモートアプリケーションプログラム
190 ビデオインターフェース
191 モニタ
195 出力周辺インターフェース
196 プリンタ
197 スピーカ

Claims (8)

  1. ランタイム中にユーザインターフェース内のグラフィカルオブジェクトにスタイルを適用するコンピュータ実行方法であって、前記コンピュータ実行方法は、
    処理装置が、前記スタイルを定義する1または複数のプロパティおよび対応するプロパティ値をユーザ入力によって設定させるグラフィックデザインインターフェースを、出力装置を介して表示するステップと、
    前記処理装置が、前記グラフィックデザインインターフェースを介して前記ユーザ入力を受信するステップと、
    前記処理装置が、前記ユーザ入力、およびスタイルリストに基づき前記スタイルを決定するステップであって、前記スタイルリストは、1または複数のプロパティおよび対応するプロパティ値、ならびに適用順を各々に含む複数のスタイルを含み、かつ予めシステムメモリに格納され、前記スタイルを決定するステップは、
    前記ユーザ入力により設定されたプロパティおよび対応するプロパティ値に基づき、第1のスタイルを決定するステップと、
    前記適用順に基づき、前記スタイルリストから第2のスタイルを決定するステップと、
    前記第1のスタイルに含まれないプロパティであって前記第2のスタイルに含まれるプロパティと、対応するプロパティ値に基づき、前記第1のスタイルを更新するステップと、
    前記適用順に基づき、前記スタイルリストから第Nのスタイルを決定するステップであって、前記Nは、3以上の整数であって、前記スタイルリストに含まれるスタイルの数+1の値に一致する、決定するステップと
    前記更新された第1のスタイルに含まれないプロパティであって前記第Nのスタイルに含まれるプロパティと、対応するプロパティ値とに基づき、前記更新された第1のスタイルをさらに更新するステップであって、以降、前記スタイルリストに含まれるスタイルがなくなるまで、前記第Nのスタイルを決定するステップと、前記更新された第1のスタイルをさらに更新するステップとを繰り返す、更新するステップと、
    を含む、決定するステップと、
    前記処理装置が、前記決定されたスタイルを、高水準言語のフォーマットに格納するステップと、
    前記処理装置が、前記格納され決定されたスタイルを適用して、前記ユーザインターフェース内の前記グラフィカルオブジェクトを前記出力装置を介して表示するステップと
    備えたことを特徴とするコンピュータ実行方法。
  2. 前記第1のスタイル乃至前記第Nのスタイルのうちの少なくとも1つは、親スタイルからプロパティおよび対応するプロパティ値を継承することを特徴とする請求項1に記載のコンピュータ実行方法。
  3. 前記親スタイルの前記プロパティおよび対応するプロパティ値が前記第1のスタイル乃至前記第Nのスタイルのうちの少なくとも1つによってオーバーライドされることを特徴とする請求項2に記載のコンピュータ実行方法。
  4. 前記処理装置が、前記グラフィカルオブジェクトに対してローカルなプロパティを適用するステップをさらに備えたことを特徴とする請求項1に記載のコンピュータ実行方法。
  5. 前記処理装置が、前記ユーザ入力に基づき、前記スタイルをテーマ別にまとめて前記高水準言語のフォーマットに格納するステップをさらに備え、前記テーマは、1群のスタイル定義であることを特徴とする請求項1に記載のコンピュータ実行方法。
  6. 前記処理装置が、ローカルなテーマを適用することによって前記スタイルをオーバーライドするステップをさらに備えたことを特徴とする請求項5に記載のコンピュータ実行方法。
  7. 請求項1乃至6のうちの1つに記載のコンピュータ実行方法のうちの1つを実行させるコンピュータ実行可能命令を有することを特徴とするコンピュータ可読記憶媒体。
  8. 処理装置と、
    前記処理装置と接続され、請求項1乃至6のうちの1つに記載のコンピュータ実行方法のうちの1つを前記処理装置に実行させるコンピュータ実行可能命令を記憶したシステムメモリと
    を備えたことを特徴とするシステム。
JP2006005190A 2005-03-03 2006-01-12 リッチなユーザインターフェースのデザインのためのスタイリングメカニズム Expired - Fee Related JP4991153B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/071,766 2005-03-03
US11/071,766 US7917860B2 (en) 2005-03-03 2005-03-03 Simple styling

Publications (2)

Publication Number Publication Date
JP2006244465A JP2006244465A (ja) 2006-09-14
JP4991153B2 true JP4991153B2 (ja) 2012-08-01

Family

ID=36602708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006005190A Expired - Fee Related JP4991153B2 (ja) 2005-03-03 2006-01-12 リッチなユーザインターフェースのデザインのためのスタイリングメカニズム

Country Status (10)

Country Link
US (1) US7917860B2 (ja)
EP (1) EP1698981A3 (ja)
JP (1) JP4991153B2 (ja)
KR (1) KR101238485B1 (ja)
CN (1) CN1828597B (ja)
AU (1) AU2006200283B2 (ja)
BR (1) BRPI0600242A (ja)
CA (1) CA2534331A1 (ja)
MX (1) MXPA06001388A (ja)
RU (1) RU2402063C2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631260B1 (en) * 2006-10-23 2009-12-08 Adobe Systems Inc. Application modification based on feed content
US8850332B2 (en) * 2006-12-28 2014-09-30 International Business Machines Corporation Object selection in web page authoring
US20080238929A1 (en) * 2007-03-30 2008-10-02 Nadim Abdo Local Themeing Of Remote Applications
CN101777048B (zh) * 2009-01-14 2013-04-03 国际商业机器公司 解决web应用复合中UI样式冲突的方法和装置
US9323807B2 (en) * 2010-11-03 2016-04-26 Sap Se Graphical manipulation of data objects
US9026904B2 (en) * 2012-03-14 2015-05-05 International Business Machines Corporation Automatic modification of cascading style sheets for isolation and coexistence
US9595298B2 (en) 2012-07-18 2017-03-14 Microsoft Technology Licensing, Llc Transforming data to create layouts
US9009092B2 (en) * 2012-07-19 2015-04-14 Microsoft Technology Licensing, Llc Creating variations when transforming data into consumable content
US9158438B2 (en) 2013-09-16 2015-10-13 Sap Se Multi-level user interface theming engine
CN105373520A (zh) * 2015-10-13 2016-03-02 金蝶软件(中国)有限公司 设置控件样式属性的方法和装置
US10423711B2 (en) 2015-10-23 2019-09-24 Oracle International Corporation Generating style sheets during runtime
CN112099790B (zh) * 2020-09-10 2024-03-29 北京百度网讯科技有限公司 确定页面主题的方法、装置、设备以及存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2525546B2 (ja) * 1992-09-08 1996-08-21 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックリソ―ス・エディタ
US5561444A (en) * 1992-12-21 1996-10-01 Apple Computer, Inc. Method and apparatus for providing visual feedback during manipulation of text on a computer screen
JP3254793B2 (ja) * 1993-02-16 2002-02-12 富士ゼロックス株式会社 対話処理システムの制御方法
AU2516895A (en) * 1994-05-16 1995-12-05 Apple Computer, Inc. Switching between appearance/behavior themes in graphical user interfaces
US6243102B1 (en) * 1994-05-16 2001-06-05 Apple Computer, Inc. Data-driven layout engine
DE69526218T2 (de) * 1994-05-16 2002-12-12 Apple Computer, Inc. System zur anpassung der erscheinung und des verhaltens graphischer benutzeroberflächen
WO1995031776A1 (en) 1994-05-16 1995-11-23 Apple Computer, Inc. Pattern and color abstraction in a graphical user interface
US5732271A (en) * 1995-01-23 1998-03-24 International Business Machines Corporation Data processing system and method for processing an object oriented development environment employing property inheritance using prototypical objects
US6307574B1 (en) * 1995-05-08 2001-10-23 Apple Computer, Inc. Graphical user interface with hierarchical structure for customizable menus and control objects
JPH09114621A (ja) * 1995-10-16 1997-05-02 Hitachi Ltd Gui画面デザイン支援方法
JPH09114627A (ja) * 1995-10-20 1997-05-02 Ricoh Co Ltd 画像形成装置
US5793368A (en) 1996-11-14 1998-08-11 Triteal Corporation Method for dynamically switching between visual styles
US5905492A (en) * 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
US6188399B1 (en) * 1998-05-08 2001-02-13 Apple Computer, Inc. Multiple theme engine graphical user interface architecture
IL132929A (en) * 1999-11-14 2004-09-27 Ycd Multimedia Dynamic user interface
US6753885B2 (en) * 2000-04-06 2004-06-22 Microsoft Corporation System and theme file format for creating visual styles
US6873337B1 (en) * 2000-04-06 2005-03-29 Microsoft Corporation Application programming interface for changing the visual style
US20020024539A1 (en) * 2000-05-08 2002-02-28 Columbia University System and method for content-specific graphical user interfaces
US6590590B1 (en) * 2000-06-06 2003-07-08 Mustek Systems, Inc. System and method for updating a graphic representation of a window item using an image information reading apparatus
US7028262B2 (en) * 2000-12-29 2006-04-11 International Business Machines Corporation Method and system for designing a theme and associating it with a collaboration space user interface
US7073130B2 (en) * 2001-01-31 2006-07-04 Microsoft Corporation Methods and systems for creating skins
US6791581B2 (en) * 2001-01-31 2004-09-14 Microsoft Corporation Methods and systems for synchronizing skin properties
US7703009B2 (en) * 2001-04-09 2010-04-20 Huang Evan S Extensible stylesheet designs using meta-tag information
AU2002328118A1 (en) 2001-10-04 2003-04-22 Koninklijke Philips Electronics N.V. Method of styling a user interface and device with adaptive user interface
US7143344B2 (en) * 2002-06-12 2006-11-28 Microsoft Corporation Transformation stylesheet editor
JP4368098B2 (ja) * 2002-08-30 2009-11-18 富士通株式会社 携帯端末及びアプリケーションプログラム

Also Published As

Publication number Publication date
KR101238485B1 (ko) 2013-03-04
JP2006244465A (ja) 2006-09-14
BRPI0600242A (pt) 2006-10-24
US20060197779A1 (en) 2006-09-07
CN1828597B (zh) 2012-08-29
CA2534331A1 (en) 2006-09-03
CN1828597A (zh) 2006-09-06
KR20060096265A (ko) 2006-09-11
AU2006200283A1 (en) 2006-09-21
AU2006200283B2 (en) 2011-01-27
RU2402063C2 (ru) 2010-10-20
EP1698981A3 (en) 2007-08-01
RU2006103268A (ru) 2007-08-20
EP1698981A2 (en) 2006-09-06
MXPA06001388A (es) 2006-09-20
US7917860B2 (en) 2011-03-29

Similar Documents

Publication Publication Date Title
JP4991153B2 (ja) リッチなユーザインターフェースのデザインのためのスタイリングメカニズム
US8209663B2 (en) Dynamic generation of formatted user interfaces in software environments
AU2005225076B2 (en) Method, system, and computer-readable medium for applying a global formatting scheme to a chart in an electronic document
JP4812337B2 (ja) フォームタイプを使用してフォームを生成する方法および装置
US6753885B2 (en) System and theme file format for creating visual styles
JP2009508227A (ja) ブラウズモードデザイナ
US9703443B2 (en) Method and system for creating a free-form visual user interface element
US7603624B2 (en) System and method for styling content in a graphical user interface control
US20120167041A1 (en) Selectively enabling runtime editing of an application
CN107408105B (zh) 有条件受控加样式
US20130067322A1 (en) Automatically generated style rules for page design
US20060085745A1 (en) System and method for displaying a user interface object using an associated style
US7685563B2 (en) Reusable customized project system
US20070135945A1 (en) Identifying property relationships
JP2008287365A (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
EP2116933A1 (en) Apparatuses and methods for storage and management of one or more data files containing a device theme
Feldman et al. WPF in Action with Visual Studio 2008: Covers Visual Studio 2008 Service Pack 1 and. NET 3.5 Service Pack 1!
IN Preparation
Liberty et al. Styles and Templates
Brüggemann-Klein et al. Graphical User Interface Tool forDesigningModel-BasedUserInterfaces with UIML
Campbell Application Development
Kuhn et al. In search of a customizable and uniform user interface
Konz Connectors-a framework for building graphical applications in Squeak
Lundholm Introduction to Sweave
JP2010134809A (ja) ソフトウェアモデルを用いたシステム構築方法およびモデリング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120405

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: 20120424

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: 20120507

R150 Certificate of patent or registration of utility model

Ref document number: 4991153

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees