JP2008181541A - コンピュータ・システムにおいてオブジェクト指向アプリケーション・インターフェイスを提供する方法および装置 - Google Patents
コンピュータ・システムにおいてオブジェクト指向アプリケーション・インターフェイスを提供する方法および装置 Download PDFInfo
- Publication number
- JP2008181541A JP2008181541A JP2008043555A JP2008043555A JP2008181541A JP 2008181541 A JP2008181541 A JP 2008181541A JP 2008043555 A JP2008043555 A JP 2008043555A JP 2008043555 A JP2008043555 A JP 2008043555A JP 2008181541 A JP2008181541 A JP 2008181541A
- Authority
- JP
- Japan
- Prior art keywords
- data
- command
- display
- generating
- program code
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
- G06F3/04855—Interaction with scrollbars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
Abstract
【解決手段】コンピュータ・システムは、プロセッサ、表示装置、およびカーソル位置決定デバイスとオブジェクト指向アプリケーション・プログラムとの間のオブジェクト指向アプリケーション・インターフェイスを有する。カーソル位置決定デバイスは、表示装置上の画像を制御するデバイス・イベント信号を生成するユーザ・ボタンを有する。オブジェクト指向アプリケーション・プログラムは、特定の機能を実行する論理およびデータを有する複数のオブジェクトを含む。対話オブジェクトは、デバイス・イベント信号に応答して、アイコンの表示からサムネイル表示に表示を変更する。対話可能オブジェクトは、アプリケーションアドレス空間に生成され、データおよびデータを操作するメソッドを含む。
【選択図】図17
Description
・何をモデル化するか
ワードプロセッサではこれは入力しようとするテキストであり、スプレッドシートではそれはセル内の値と公式である。
・データをどのように表現し提供するか
再び、ワードプロセッサでは文字が適当な改行および改ページを用いて画面上に“見るものが得るもの”(wysiwyg)形式で表示され、スプレッドシートでは表またはグラフとして表示され、構造化グラフィック・プログラム(例えばマックドロー(MacDraw))では、グラフィック・オブジェクトの組として表示される。
・何が選択可能か
ワードプロセッサアプリケーションでは、選択されるのは文字の範囲であり、構造化グラフィック・プログラムではグラフィック・オブジェクトの組である。
・この選択の上で動作するコマンドは何か
ワードプロセッサではコマンドは文字のスタイルをボールドに変更することかもしれない。構造化グラフィック・プログラムにおけるコマンドはグラフィック・オブジェクトを回転させることかもしれない。第1B図は本発明による表示を示す。表示の前面にピクチャーをもってくるためのコマンドは41に描かれている。グラフィック情報のプレゼンテーションは40に描かれている。最後に、特定のグラフィック・オブジェクト、円の選択が42に示されている。
ワードプロセッサ・プログラムでは、選択されるのは文字の範囲であり、構造化グラフィック・プログラムではグラフィック・オブジェクトの組である。スプレッドシートではセルの範囲である。本発明は、システムがサポートする全ての基本的なデータ形式のために選択クラスを提供する。ユーザによりなされた選択を表す抽象ベース・クラスは選択されたデータの、アドレス空間から独立した指定を提供する。テキストでは、これは文字に対する一対のポインタよりはむしろ文字の数値範囲であるであろう。この限定は、他のユーザとの(リアルタイムでの)共同作業のとき、選択された範囲が他のマシンとの間で交換されるので重要である。ベース・クラスはまたジェネリック・プロトコルをオーバライドして、この選択に対応する持続的選択を生成する。持続的選択はアンカー・オブジェクトのサブクラスであり、持続的選択が変更の編集から生き延びなければならないので、対応する短命な選択より重いと考えられる。例えば、持続的テキスト選択は、テキストがその前後に挿入されるときそれ自身を調整しなければならない。アンカーはハイパーメディアのリンク、データ・フローのリンクおよびアノテーションの実行に際して使用される。
本発明内の抽象化にプラグを差し込む利益は、概念的モデルを提供するよりも大きい。フレームワークにプラグを差すことはベース・オペレーティング・システム中に構成された多くの複雑な特徴を提供する。これは、比較的小さいメソッドをコールすることによりフレームワークが多数のユーザ特徴を実行することを意味する。フレームワークのための符号化への投資がいくつかの特徴に渡って影響をもたらす。
本発明はマルチレベル・アンドゥをサポートするように設計されている。この特徴を折り込むことは、しかしながら、開発者の側に余分な努力を要求しない。システムは、生成されるすべてのコマンド・オブジェクトを単に思い出すだけである。対応するコマンド・オブジェクトが存在する限り、ユーザは、データへの特定の変更をアンドゥ、即ち取り消すことができる。システムが、コマンドを保存し、どのコマンドをアンドゥあるいはリドゥ(再実行)すべきかを決定するので、ユーザはアンドゥの手順を折り込まない。
上記のように、ドキュメントは、ある過去の時の状態から始め、そのとき以降なされたコマンド・オブジェクトのシーケンスを適用することにより再構築することができる。このためユーザは故障の場合に仕事を回復することができ、リアルタイム協同作業をサポートすることができる。コマンド・オブジェクトは選択されたものについて動作し、それらの選択されたものはアドレス空間に独立である。従って、選択されたオブジェクトをネットワークを介して協同作業者に送ることができ、遠隔マシンで使用することができる。同じことがコマンド・オブジェクトについても言える。1人の協同作業者が行ったコマンドを他の者に送り同じようにそれらの者のマシンで実行することができる。協同作業者が同一のデータコピーから始めるならば、コピーは協同作業者が変更を行うにつれて“同期して”残る。選択の生成はコマンド・オブジェクトを使用して行うので、すべての協同作業者は同じ現在の選択をもつ。
コマンド・オブジェクトのシーケンスを管理するようにシステムを設計すると、システムワイドのスクリプト機能を実行することが可能となる。コマンド・オブジェクトのシーケンスはローカルアクションのスクリプトと等価である。スクリプト機能は、あるドキュメントに適用されるコマンド・オブジェクトを単にトラッキング(追尾)し続ける。スクリプト機能はまた、スクリプトに際して選択オブジェクトを使用する。この機能は、適用する選択を変えることによりスクリプトの注文化を提供する。コマンド・オブジェクトはそれらが特定の選択に適用できるかどうかを示すためのプロトコルを含むので、システムはユーザのスクリプトの変更が妥当であることを確認する。
アンカーとして知られている持続的な選択はリンク・オブジェクトにより接続されることができる。リンク・オブジェクトは、その終点を形成する2つのアンカーへの参照を有する。システムでは、リンクは双方向であり、両端は等しい能力を有する。リンクのより高いレベルの使用はリンクに方向を課すことができる。単一リンク・オブジェクトは2つの標準的特徴、即ち運行とデータ・フローとをサポートする。ユーザはリンクの一端から他端へ運行する。通常、これは指定アンカーを含み、持続的な選択をハイライトとするドキュメントをオープンすることを含む。正確な振る舞いは宛先でのアンカー・オブジェクトにより決定される。例えば、アニメーションへのリンクはアニメーションを演ずることができる。データベースクエリーへのリンクはクエリーを実行する。
本発明はシステムワイドの注釈の機能をサポートする。この機能により著者(使用者)は見直しのためドキュメントのドラフトを分配することができる。見直し者はドキュメントにポスト・ノート(posted note) 添付することができ、実行されたとき著者にドキュメントを戻す。著者はポスト・ノートを調べ、それぞれについてアクションを取る(著者はドキュメント内のポスト・ノートを生成することができる)。見直し者が著者と同じソフトウェアをもつ必要はない。代わりに、見直し者は標準注釈アプリケーションを使用することができる。このアプリケーションは著者のドラフトからデータを読み、注釈可能なプレゼンテーションを生成する(そのようなプレゼンテーションの生成は標準データ・カプセルプロトコルの一部である)。
データ表現は、モデル化するデータは何かとの質門への答えと関係する。本発明はデータのモデル化を助ける機能を提供する。テキスト、構造化グラフィックス、サウンドおよび映像を含めて、特定のデータ形式をモデル化するためのクラスがある。これらの特定のクラスに加えて、本発明は問題をモデル化するのを助ける多数の他の抽象化、コレクション(収集)クラス、同時の制御と回復フレームワーク、およびC++言語自身を提供する。本発明の主題では、特定データ形式のためのデータ・モデルをカプセル化するクラスはカプセル化クラスのサブクラスである。
開発者は、カプセル化クラスから導かれるクラスを生成することにより特定形式のデータ表現に対するコンテナを生成する。例えばグラフィック・オブジェクト、様式化されたテキスト、スプレッドシートのセルのようなシステム内の各形式のデータのために、ある形式のデータのためのコンテナとして働く異なる導かれたクラスが存在しなければならない。カプセル化クラスの各々は、それに含まれるデータをアクセスし、修正するための形式の特定プロトコルを提供する。このプロトコルは、一般に、データを表示するためのプレゼンテーションにより、またデータを修正するためのコマンドにより使用される。形式特定プロトコルに加えて、カプセル化クラスは、“ブラック・ボックス”としてのデータ・カプセルの他のエイリアン(異なる見知らぬ)形式への埋め込みをサポートするジェネリック・プロトコルを提供する。このプロトコルは導かれたクラスの中で実行され、カプセル化データのためにプレゼンテーション、編集および選択の生成をサポートしなければならない。コンテナは、エイリアン・データ形式の埋め込みをサポートするように、このジェネリック・プロトコルを理解する必要があるにすぎない。
データ形式の設計者は、特定形式のデータのための表現を設計するときに、C++ オブジェクト・モデルと、選択されるべき豊富な標準クラスの組との両方をもっている。データを表現するためのユニークなクラスを設計する前に、本発明により提供されるクラスが、常に考慮されるべきである。これにより、システム内の既存のクラスに同様なあるいは同一の機能を提供する新しいクラスを生成する無駄な努力を軽減することができる。これらのうちで最も基本となるのがC++ オブジェクト・モデルである。設計者は、ユーザが扱うクラスを表現するためにユーザのメンタル(精神的)モデルに近づける1または2以上のクラスを生成することができる。
カプセル化クラスは、カプセル内に含まれるデータの種々のクラスのプレゼンテーションを生成するためのプロトコルを提供する。プレゼンテーションは、寸描プレゼンテーション、“ブラウズ・オンリ”(拾い読み)プレゼンテーション、選択可能プレゼンテーションおよび編集可能プレゼンテーションを含む。プレゼンテーションのためのサイズのネゴシエーションを行い、選ばれたサイズ内にデータを適応させるためのプロトコルがまた存在する。このプロトコルを実行するカプセル化クラスのサブクラスは、他のカプセルへのデータの埋め込みをサポートする。現在サポートされているプレゼンテーションは、以下のものを含む。
カプセル化クラスに含まれるデータが変更されたとき、クライアント(例えばデータの使用者)に変更を通知する必要がある。カプセルは標準通知サポートのための組込クラスにあり、カプセルがデータ表現への変更をクライアントに通知することを可能とする。クライアントは、特定の変更についての通知あるいはすべての変更についての通知のためのカプセルに接続することができる。変更が起きたとき、カプセルはすべての関連するクライアントに変更についての通知を伝搬するように、このモデルに依頼する。
このセクションでは、どのようにしてシステムがデータをユーザにプレゼンテーションするかについて説明する。データが一旦システムに表現されると、適当な意味ある方法でデータをユーザにプレゼンテーションすることがユーザ・インターフェイスの役割である。ユーザ・インターフェイスはユーザとモデル化データの間のダイアログを確立する。このダイアログはユーザがデータを見、あるいは他に知覚することを可能とし、ユーザにデータを修正あるいは処理する機会を与える。このセクションはデータ表現に焦点を当てている。
開発者は、データ・カプセルと相互作用するようにデータのプレゼンテーションを容易にするクラスを生成する。プレゼンテーションからデータ・モデルを分離することにより、本発明は同じデータの多数のプレゼンテーションを容易にする。アップル社のマッキントッシュ・ファインダのようなアプリケーションは、同一データを多数にプレゼンテーションすることを制限された形で既にサポートしている。同じ時間に同じデータを異なる観点で表示することを可能とすることはある場合には有用である。これらの異なる観点は、同じデータの4つの異なる観点を示す3D−CADプログラムのような同じクラスのインスタンスであってもよい。各種のプレゼンテーションのため、ユーザには、モデルを表示することができるビューと、モデルを選択し修正できるトラッキング(追尾)ツールと追尾コマンドの組を前もって書くことを要求されていた。
最も簡単なプレゼンテーション形式はデータの名称である。名称はデータの内容あるいは形式を示すテキスト・ストリングである。例としては、“第4章”、“1990年連邦税収”、“すべきこと”等がある。他の簡単なプレゼンテーション形式であるアイコンは、データの小さいグラフィックプレゼンテーションである。それは通常データ形式を示す。例としては、本、レポート、金融モデル、サウンドあるいは映像の記録、図面等がある。しかしながら、また、それらは印刷しているプリンタのようなステータスを表示し、あるいは図面の縮尺図のような内容を示してもよい。最後に、寸描プレゼンテーションはモデル・データの小さいビューである。たとえば、縮尺された図、本の内容の表、縮尺された手紙、あるいは長い書類の縮尺された最初のページである。拾い読みプレゼンテーションは、ユーザが通常のサイズでデータを見ることを可能とするが、データのいずれも選択しあるいは修正することはできない。
選択可能プレゼンテーションは、ユーザがデータを見、調べ、データから情報を抽出することを可能とする。これらのプレゼンテーションは、コンテクスト、即ち、何がデータか、データはどこか、データはいつ生成されたかを提供する。それはリスト、グリッドのような構造化手法でデータを外観としてあるいは部分的にプレゼンテーションするのを助けることができる。それはまた、データ要素間の関係、データのコンテナあるいは同胞との関係、あるいは他の依存性を表示するのに有用である。
・サウンドの記録−コントロール・パネルは可聴プレゼンテーションを実行する。ビューは音楽のスコアとしてあるいは一連の波形としてサウンドを表す。ビューはサンプル番号あるいは時間表示を含む。
編集可能プレゼンテーションは、データの修正を行うことを除いて、対話的プレゼンテーションと同様である。編集可能プレゼンテーションは、マウスあるいは他のポインタでデータの直接の処理を可能とすることによりこれを行う。また、データがメニュー項目と他のコントロールを介してシンボル的に処理されることを可能とする。
プレゼンテーションは、データとプレゼンテーションされるべき他の情報とを決定するためにデータ・カプセルと相互に作用する(対話する)。プレゼンテーションは要求されるデータをモデルにクエリー(照会)する。プレゼンテーションは含まれるデータのすべてあるいは一部だけをプレゼンテーションしてもよいし、あるいはデータ・カプセルのデータから導かれてもよい。
アクティブな単一のモデルの多くのプレゼンテーションが一時に存在することができるので、データは、協同作業者を含めて多くのソースから変更され得る。モデル・データに関して、各プレゼンテーションは自身を更新し続ける責任がある。これは、モデルのすべてあるいは部分が変更するとき、通知を登録することにより達成される。プレゼンテーションと関連するデータにある変更が生じたとき、プレゼンテーションは通知を受け取り、そのビューを更新する。変更通知は以下にリストされている手法のいずれかで発生することが可能である。第1に、変更通知は実際にモデル・データを変更するデータ・カプセル内のメソッドから生成される。第2に、変更通知は変更を引き起こすコマンドから発生される。前に述べたように、これら2つのアプローチには利益がある。データ・カプセル内から通知を発生することはデータが変化するときにはいつでもクライアントは通知されることを保証する。コマンドからの通知の発生は、“高級”通知を可能とし、複雑な変更により生成される通知の混乱を減少させる。
通知フレームワークは、オブジェクト間の変更情報を伝搬するための機構を提供する。フレームワークは、オブジェクトが、それらが依存するオブジェクトに関係することを表し、オブジェクトの変更についての通知を受け取ることを可能とする。標準インターフェイスはクライアントに通知を提供するクラスのために提供される。通知者クラスはクライアントのリストを管理しそれらのクライアントに通知をデスパッチする手段を通知ソース・オブジェクトに提供する。通知者オブジェクトは通知を受け取るオブジェクトのクラスについての特別の知識を要求しない。接続オブジェクトは通知者からの通知のデスパッチを特定の通知受信オブジェクトに提供する。これらの接続オブジェクトは通知が受信者の異なるクラスにどのようにして配信されるかを特定することを可能とする。最後に、通知オブジェクトは変更について記述した情報を転送し、インタレストは通知ソース・オブジェクトを記述する。
第18図は通知ソース・オブジェクトに対するオブジェクト発生識別フローチャートである。処理はターミナル1800で始まり、機能ブロック1810まですぐに通過する。そこでは、通知受信オブジェクトがそれ自身への接続を生成する。その後、機能ブロック1820で、通知受信オブジェクトは1またはそれ以上の通知ソース・オブジェクトからの1またそれ以上の通知に対して適切なインタレストを加える。これらのインタレストは通知ソース・オブジェクトにより定義される。
データ仕様はデータ処理の選択を発行することを目的とする。ユーザが表現に含まれるデータを処理しなければならないとき、データはそのデータのサブセットを特定できなければならない。ユーザは一般にこの仕様を“選択”と呼び、システムはすべての選択クラスが降りたベース・クラスを提供する。本発明はまたシステムがサポートする基本的データ形式のすべてのための選択クラスを提供する。
表現内のデータのサブセットの仕様を含むオブジェクトはモデル選択クラスである。テキスト表現の場合には、ある可能な選択仕様は一対の文字オフセットである。構造化グラフィック・モデルでは、各形状にはユニークなIDが割り当てられなければならず、選択仕様は1組のユニークなIDである。仕様のどれもが選択データを直接ポイントせず、それらをデータの多数のコピーに適用することができる。
選択は、データをアクセスし修正する表現プロトコルを理解し、ローカル・アドレス空間でデータを見つける方法を知る。コマンド・オブジェクトはデータ選択を介して表現データをアクセスし、従って仕様からローカル・モデル内のリアル・データに変換する知識を要求しない。それは選択オブジェクトの仕事であり、アドレス空間独立仕様からリアル・データへのアクセスを提供する。テキスト・カプセルでは処理はある範囲内に含まれる実際の文字に対するカプセルをクエリーすることを要求できる。グラフィック・エディタのようなベース・モデルでは、選択はリアル・オブジェクトの代用物を保持する。カプセルはリアル・オブジェクトへ代用物を変換するためのルックアップ機能を提供する。
モデル選択クラスは選択間のデータの交換のためのプロトコルを提供する。形式ネゴシエーション、データの吸収、埋め込み、および運び出しを行うためのプロトコルを実行することにより、導かれたクラスは標準編集コマンドのほとんどのサポートを提供する。これは、システムにより提供される(カット、コピー、ペースト、データをプッシュ等の)編集コマンドが、表現されたデータ形式のために機能し、各アプリケーションの再実行を要求しないということを意味する。モデル選択クラスは、また、アンカーとリンクの交換のために直接にサポートを提供するが、表現データの交換をサポートするためいくつかのキーメソッドの導かれたクラスの実行上にある。
仕様を生成するユーザ・インターフェイスは一般にはデータの表現の応答性である。多数の機構がデータ形式とプレゼンテーション・スタイルに基づいて使用可能である。選択を生成するための最も好ましいユーザ・インターフェイスは直接実行である。簡単なグラフィック・モデルでは、マウスでオブジェクトを直接クリックしあるいはマウス・トラッカーを用いていくつかのオブジェクトを横切って選択ボックスをドラッグすることによりオブジェクトを選択することができる。テキストでは、選択はファインド・コマンドの結果として生成することができる。選択が生成される他の共通の手法は、“ファインド”のようなメニューコマンドの結果としてである。コマンドが発行されたあと、ドキュメントは適切な場所にスクロールされ、サーチされたテキストが選択される。
データ修正(Data Modeification)は質問を発する:この選択に関して動作することができるコマンドは何か?
ユーザが表現内に含まれるデータを修正すべきとき、システムはなされるべき修正の形式を正確に特定できなければならない。例えば、ワードプロセッサ・プログラムでは、ユーザは選択された範囲の文字のスタイルを変更することを望むことができる。あるいは、構造化グラフィック・プログラムでは、ユーザはグラフィック・オブジェクトの回転を望むことができる。データ・カプセルに含まれるデータを修正するすべてのユーザのアクションは、“コマンド・オブジェクト”により表現される。
ユーザによりなされたコマンドを表すアブストラクト・ベース・クラスはモデル・コマンド・オブジェクトである。モデル・コマンド・オブジェクトのサブクラスはドゥ、アンドゥ、リドゥされることができるというようなユーザ・アクションの意味を捉える。これらのサブクラスはそれらを生成するために使用されるユーザ・インターフェイス技術から独立している。MacAPPと異なり、ユーザ・アクションの意味が知られるとすぐに、デバイス・イベントがシステムによりコマンド・オブジェクトに翻訳される。
ハンドル・ドゥ(HandleDo)、
ハンドル・アンドゥ(HandleUndo)、
ハンドル・リドゥ(HandleRedo)。
コマンド・オブジェクトは、ユーザ・アクションの意味を捉える。実際、コマンドは(種々のユーザ・インターフェイス技術を用いて)ユーザにより最も多く生成されるが、同様に他の手法で生成することができる“ワーク・リクエスト”を表す。重要な概念は、コマンド・オブジェクトがデータ・カプセルに含まれるデータを修正するための唯一の手段を表すことである。データ・カプセルへのすべての変更は、無限のアンドゥの利益、保存無しのモデル、本発明の他の特徴が実現されるべきならば、コマンド・オブジェクトにより処理されなければならない。
本発明は、多くのユーザ・インターフェイス・コマンドと同様に、カット、コピー、ペースト、ハイパーメディア・リンクのスタート、リンクの完了、リンクの運行、リンクに関するデータのプッシュ、リンクに関するデータのプルのためのジェネリック・コマンドを提供することに加えて、全ての組込データ形式のための多数の組込コマンド・オブジェクトを提供する。
このドキュメントの前のセクションは、本発明の基本的な特徴に焦点を当てた。本発明には、さらに進んだ特徴を実行する多くの追加される機能がある。特に、これらの機能は、モデルベースのトラッキング(追尾)、ファイリング、アンカー、および共同作業を含む。
トラッキング(追尾)は、直接処理ユーザ・インターフェイスの心臓部である。トラッキングにより、ユーザは、テキストの範囲を選択し、オブジェクトをドラッグし、オブジェクトを再サイズ調整し、オブジェクトを描くことが可能となる。本発明は、モデルを実際に修正することにより多数のビュー(表示)、および多数のマシンに渡る機能にトラッキングを拡張する。トラッカーは、モデルにコマンドを発行し、モデルはすべての関係するビューへ変更通知を発行する。
持続性選択即ち“アンカー”はデータの仕様を表現する点で選択と非常によく似ている。違いは、アンカーはデータへの変更に渡って維持されるので、アンカーは編集変更を生き続けなければならない点である。ドキュメントの初期で述べたグラフィック選択の実行は持続的である。しかしながら、テキスト選択の実行はない。ユーザが選択の前にテキストを挿入しあるいはデリートするならば、文字オフセットを調整しなければならない。テキストアンカーを実行するためには2つのアプローチがある。第1に、テキスト表現は、スタイルが維持される手法と同様に、テキスト内を指すマーカーの集まりを維持する。アンカーはマーカーを参照するユニークなIDを含む。テキストが変更されたとき、マーカーはユニークにされるが、アンカーは同じままである。他のアプローチは、テキストに対する編集履歴を維持することである。アンカーは時間スタンプと同様に1対の文字位置を含むことができる。テキストが編集される毎に、履歴は更新され、変更(例えば、時間Tに位置Xからデリートされた5文字)を記録する。アンカーが使用されるとき、システムは、最後に使用されたとき以来起きた編集変更に基づいて文字位置を補正しなければならない。適切な時に、履歴は凝縮され、アンカーは永久的に更新される。
ファイリングはデータを永久格納に保存しあるいは永久格納から再生するプロセスである。ユーザがファイリング作業をするためにしなければならないことは、データ・カプセルのための一連の操作を実行することのみである。本発明のデフォルト・ファイリングは”イメージ”ベースである。ユーザがドキュメントを開くとき、ドキュメントの内容全体はメモリに読み出される。ユーザがドキュメントを閉じるとき、ドキュメントの内容の全体がディスクに書き込まれる。このアプローチは、簡単で、フレキシブルで、理解しやすいので採用された。異なるフォーマットでデータを格納するためには、前もって存在する標準のファイル・フォーマットとの互換性を保つために、2つのアプローチが可能である。第1に、カプセル・クラスは実際のデータへの参照を一連の流れとすることができ、実際のデータを見つけるために参照を使用することができ、あるいは新しいサブクラスがファイル・サブクラスを生成し、リターンするように定義することができる。
同時ネットワーク共同作業は、2人あるいはそれ以上の人が同時に同じドキュメントを編集することを意味する。システムはまた共同作業ポリシーを確立する。即ち、ユーザがデータを変更するときあるいは自由に変更させるとき後退させられるかどうかである。開発者は共同作業ポリシーあるいは共同作業の機構を心配する必要はない。
混乱の減少を助けモデル選択を増強するため、ドキュメント・アーキテクチャは協同作業者のイニシャルと望ましいハイライトの束について情報を含む協同作用者クラスを提供する。
多数の選択をサポートするために、ユーザは、各協同作業者が選択を有するのでプレゼンテーション・ビューを修正しなければならない。アクティブな協同作業者の選択が変わるとき、標準変更通知が送られる。受動的協同作業者の選択が変わるとき異なる通知イベントが送られる。ビューは両方のイベントのために登録すべきである。どちらかのイベントに応答して取られたアクションも通常同じなので、両方のイベントのために同じハンドラー・メソッドを登録することにより経済性が実現される。
本発明のこの部分は、基本的に、先に議論されたオペレーティング・システム・フレームワークの基本上に構築するユーザ・インターフェイスの観点に焦点が絞られる。ユーザ・インターフェイスの第1の観点はユーザがコントロールとして参照する種々のオブジェクトあるいはデータとの対話(相互作用)を管理することを可能とする機構である。
ユーザが他のオブジェクトあるいはデータを処理するよう対話するオブジェクトはコントロールと呼ぶ。コントロールはオブジェクトあるいはデータの現在の状態を決定するためのコマンドを使用する。ユーザとの適切な対話に続いて、コントロールはコマンド・パラメータを更新し、それが実行されるようにする。コントロールの例はメニュー、ボタン、チェックボックス、およびらラジオ・ボタンである。
コントロールのある集まりは、コントロール・パネルと呼ばれる。コントロール・パネル内のコントロールは一般に実際のデータに作用する(これはデフォルトであり、必要はない)。それらのアクションは通常直接的であり、互いに独立である。コントロール・パネルは必要によりコントロールの間で入力フォーカスの進行を制御する。コントロール・パネルはシステムですべてのユーザ・インターフェイスに渡って共有されるであろう。
コントロールの他の集まりはダイアログ・ボックスと呼ばれる。ダイアログ・ボックス内のコントロールは一般にプロトタイプのデータに作用する(これはデフォルトであり、必要はない)。それらのアクションは通常グループ内に一緒に集められ、その後ユーザが Apply ボタンを押すとき一緒に実行される。ダイアログ・ボックスは必要によりコントロールの間で入力フォーカスの進行を制御する。
3つのアクションの役割を提供して、アクションにおけるコントロールを説明する。第2図は種々のコントロールを示す。役割の例はコントロール(この場合チェックボックス)、コマンド、選択およびデータ・カプセルと似た手法により使用される。
チェックボックス200−チェックボックスの役割はデータ・カプセル内に格納されたブール値を表示して変更を容易にすることである。この値はチェックの存在不存在により表現される。
コマンド210−コマンドの役割はデータ・カプセルから値を得てチェックボックスからの方向に変更することである。
選択220−選択の役割はコマンドとデータとの間をインターフェイスすることである。
データ230−データはアクションの目標として採用される。
誰でもが第3図に示されるようによりよく互いを知りたい。コマンド310はコントロールが興味があるデータがどの通知を送ることができるかをチェックボックス300に知らせる(コマンド310がどのようにして知るかは他の者に関係がない)。チェックボックス300は次に通知のためにデータ320に接続する。
何かがデータに起きる−それは第4図に示されるように通知を送る。チェックボックス400はインタレストを表現したそれらについて聞く。第4図では、データからの通知はチェックボックス内にXを置くことにより反映される情報を太くする(ボールドにする)ように表現する。
ユーザはこのシーンで、第6図に示されるようにチェックボックス600を一度押す。チェックボックス600はコマンド610のセット値メソッドを用いて選択を介してデータ620の値をセットする。全体のプロセスを第7図に再び示す。
コントロール・パネルは第8図に示されるように一セットのコントロールを含む単なるウィンドゥである。これらのコントロールは現在の選択に作用するコマンドを含む。コントロールはコマンドがアクティブならばイネーブルされる。ユーザとの適切な対話に続いて、コントロールはコマンドを実行し、データを変更する。
コントロール・パネルの例として第8図に示すサウンド・コントローラを考える。このコントロール・パネルはサウンドの再生を制御する4つのボタン800,802,804および806を含む。各ボタンは上記の“アクション時のコントロール”のセクションに述べられたように実行する。
ダイアログ・ボックスは、それが一セットのコントロールを含む単純なウィンドゥであるという点でコントロール・パネルと同様である。しかしながら、選択されたデータへ作用するコントロールに変わって、それらは他のコマンドのパラメータに作用する。Applyボタンが押されるまでだけが修正されたリアル・データである。
ダイアログ・ボックスの例として第9図に示すカラー・エディタを考える。それは3つのスライダを含む。一つはカラーの赤900、一つは青910、および一つは緑920の成分のためのスライダである。スライダを望みの値に調整したあと、ユーザはアプライ930を押して選択した範囲のカラーを変更する。
以下のセクションはコントロールおよびダイアログ領域のクラスとそれらの基本的なメソッドを説明する。
コントロールは1またはそれ以上のコマンドへのユーザ・インターフェイスである。コントロールはその名称通りにコマンドについての情報を表示し、また、それが現在のコンテキストの中でアクティブか否かを表示する。適切なユーザとの対話に続いて、コントロールはコマンドを実行する。適切なとき、コントロールはコマンドが修正するデータの現在値を得て、それをユーザに表示する。コマンドを実行する前にこのデータの新しい値を示すコマンド・パラメータをセットすることができる。
単一の通知者はコントロールの多くのサブクラスの中で共有される。特定のコントロールインスタンス内のインタレストを表すために、インタレストは特定されなければならない。コントロールインタレストは特定のコントロールを指すポインタを含むインタレストである。このクラスはサブクラス無しで、通常そのまま使用される内部クラスである。
各通知者はコントロールの多くのサブクラスの中で共有されている。コントロールがどこに通知を送るかを区別するために、通知は特定されなければならない。コントロールの通知はその通知を送ったコントロールへのポインタを含む。このクラスはサブクラス無しで通常そのまま使用される。
コントロールのプレゼンターはコントロールを包むので、プレゼンテーション・データ・カプセルにより含まれることができる。それはすべてのプレゼンター・オブジェクトが提供する標準的な振る舞いを提供する。このクラスはサブクラス無しで通常そのまま使用される。
コントロール選択は、コントロール・プレゼンターの中に包まれプレゼンテーションの際に格納される単一のコントロールと付加的にその中のコマンドを特定する。
ユニコントロールは、単一のコマンドを提供し、適切なユーザとの対話に続いて実行させられるコントロールのためのアブストラクト・ベース・クラスである。この形式のコントロールの例はボタンとチェックボックスである。
ボタンは押されるとコマンドを実行するユニコントロールである。このクラスは通常サブクラス無しで使用され、単にコマンドをセットして離れる。
チェックボックスはブール値をセットするコマンドへのユーザ・インターフェイスである。適切なユーザとの対話に続いて、チェックボックスは、値を変更するようにコマンド・メソッドをコールしてそのコマンドを実行する。このクラスは通常サブクラス無しで使用され、単にコマンドとその値のゲッターとセッターをセットし、離れる。
スライダは、単一浮動小数点値を表示して適切なユーザとの対話に続いて変更されることを可能とするユニコントロールである。スライダの例は第9図と第10図に示した。
マルチコントロールはいくつかのコマンドを提供するコントロールのためのアブストラクト・ベース・クラスであり、適切なユーザとの対話に続いてそれらを変更することを可能とする。この形式のコントロールの例はラジオ・ボタンとメニューである。
ラジオ・ボタンは2あるいはそれ以上のブール値を表示するマルチコントロールであり、適切なユーザとの対話に続いてそれらを変更することが可能となる。ラジオ・ボタンは、第11図に示すように、正確に1つのボタンが選択されるという制約を有する。紙(Paper) が選択されると、1100でその円が黒くされる。プラスチック(Plastic)が選択されると、1110でその円が選択される。両方を選択されることはできない。
コマンドは、オブジェクトへのあるいはオブジェクトのセットへのリクエストをカプセル化して特定のアクションを行う。コマンドは通常、ボタンを押すことや、メニュー項目を選択すること、あるいは直接処理のようなエンド・ユーザ・アクションに応答して実行される。コマンドは、そのアピアレンス(appearance)を決定するためにコントロールにより使用することができるそれら自身についての種々の情報(例えば、名称グラフィック、キー等価、それらがアクティブか否か)を提供することができる。サブクラスは、コマンドがアクティブか否かを決定するために、現在の選択、アクティブ・ユーザ・インターフェイス要素、あるいは他のパラメータを調べるメソッドを処理しなければならない。サブクラスは、このコマンドがアクティブか否かに影響を与えることができる通知インタレストを戻すようにゲット・アクティブ・インタレストをオーバライドしなければならない。
データプレゼンテーションはテンプレートから生成され、ユーザ・インターフェイス・オブジェクト内の期間保存される。すべてのデータを有するものはシステム内ではモデルである。モデルはデータの処理を含み実行する。データ交換は、カット、コピー、ペースト動作を介して実行される。データの参照は、選択、アンカーおよびリンクにより提供される。データ・モデルは他の中に埋め込むことができる。ユーザは、関連するユーザ・インターフェイスにより提供されるプレゼンテーション(例えば、アイコン、寸描、フレーム、ウィンドゥ、ダイアログ、コントロール・パネル)を介してモデルと対話する。データ・モデルはすべてのプレゼンテーションを生成し、他のオブジェクトへのアクセスメソッドを代理し、ユーザ・インターフェイスと呼ばれる。
コマンド・オブジェクトを異なる手法で用いることにより、コントロール群の2つの独立した振る舞いを制御することができる。第1は、それらが直ちにデータに影響を与えるか否か、あるいは設定が効果を上げる前に、ユーザがOKを押さなければならないか否かである。第2はそれらが互いに独立か否か、あるいは設定が原子動作を提供するか否かである。
データにすぐに影響を与えるコントロールは、リアル・モデル・データを特定する選択を含むコマンドを有する。ユーザがコントロールを処理するときコマンドはこのデータを変更する。データが変わるとき、それは変更通知を送り、データの状態に依存するビューとコントロールは正確に現在の状態を反映する。
リアル・データを変更しないよう設計されたコントロールは代わりにプロトタイプのデータに作用しなければならない。リアル・モデル・データはユーザがOKボタンを押すような他のアクションを取るまで変更されない。これは2つの手法で達成される。
互いに独立に動作するコントロールはコントロール・パネルあるいはダイアログ期間が完了した後、個々にアンドゥできるアクションを要求し表現する。これはコントロールにより実行された場合の、コマンドの通常の振る舞いである。
コントロールの他のセットは一緒に働き、原子動作としてアンドゥされ、リドゥされるように設計される。これは、ダイアログ・ボックスあるいはコントロールが開始されるときアンドゥ・スタック上にマークを置くことにより達成される。終了したとき、コントロール・パネルを解散させることによりあるいは(上記IIBのように)ユーザがOKボタンを押すときに、マークがアンドゥ・スタック上に置かれたときから実行されるコマンドのすべてが単一のコマンド群に集められる。この群は単一群としてアンドゥあるいはリドゥされることができる。
(上記IIBのように、通常OKボタンに伴う)CANCEL(キャンセル)ボタンを含むコントロール・パネルは、上記IIIBで述べた技術と同様な技術である。マークは、ダイアログ・ボックスあるいはコントロール・パネルが開始されるときアンドゥ・スタック上に置かれる。ユーザがCANCELボタンを押すと、マークがアンドゥ(Undo)・スタックに置かれる前のすべてのコマンドがアンドゥ(Undo)される。この技術はコントロールがデータに直ちに影響を与えるか否かにかかわらず働く。
他のオブジェクトあるいはデータを処理するようユーザが対話するオブジェクトはコントロールと呼ぶ。コントロールの例は、メニュー、ボタン、チェックボックス、およびラジオ・ボタンである。各コントロールはコマンドを含み、それはエンド・ユーザ・アクションを実行する。コマンドは選択オブジェクトにより特定されるデータに作用する。ユーザがコントロールを処理するとき、それはコマンド内にパラメータをセットしてそれが実行されるようにする。このようにして、データ値を変更する。
ユーザが他のオブジェクトあるいはデータを処理するように対話するオブジェクトは、コントロールと呼ばれる。コントロールの例はメニュー、ボタン、チェックボックス、ラジオ・ボタンである。各コントロールはコマンドを含み、それはエンド−ユーザのアクションを処理する。コマンドは選択オブジェクトにより特定されるデータに作用する。ユーザがコントロールを処理するときそれはコマンド内にパラメータをセットしてそれが実行されるようにする。これにより、データ値が変更される。ユーザが他のアクションを実行するまでデータが遅延して変更されることは、本発明の1つの特徴である。例えば、ダイアログ・ボックス内のコントロールはユーザがOKボタンを押すまで、データ値を変更しようとしない。
ラベルはグラフィックあるいはテキスト・ストリングを含むグラフィック・オブジェクトである。それらはウィンドゥ、メニュー、ボタン、および他のコントロールを同定するために使用される。ラベルはそれらのコンテナの状態に従ってそれらの外見を変えることができる。それらは中間明度の灰色のバックグラウンド上に描かれ、特別の状態を表示する必要のないときに自然に現われる。ラベルは、非アクティブのとき、禁止されているとき、あるいは選択されたとき、その外見を変える。
ウィンドゥ・タイトルはウィンドゥが正面最上部でないとき非アクティブにセットされる。同様に、コントロールのラベルはコントロールが正面最上部のウィンドゥあるいはコンテナ内にないとき非アクティブにセットされる。グラフィック・ラベルは、薄暗く出現させるために、非アクティブのとき55%の白と混ぜられている。テキスト・ラベルでは、非アクティブペイントはHSVカラー・モデルの飽和成分を処理することにより自然のペイントから導かれる。飽和は、非アクティブのとき0.45倍される。
コントロール・ラベルはコントロールが特定のコンテキスト中で適用しないときには薄暗くされる。グラフィック・ラベルは非アクティブのときには薄暗くするため46%の白と混ぜられている。テキスト・ラベルでは、禁止ペイントはHSVカラー・モデルの飽和成分を処理することにより自然のペイントから導かれる。飽和は、禁止のときに0.54倍される。
コントロール・ラベルはコントロールが処理されるにつれてハイライトにされる。グラフィックとテキストはそれらの自然状態で描かれ、ハイライト状態のときに白いバックグラウンド上に描かれる。
コントロールはオブジェクトあるいはデータの現在の状態を決定するためのコマンドを使用する。ユーザとの適切な対話に続いて、コントロールはコマンド・パラメータを更新してそれが実行されるようにする。例えばチェックボックスはコマンド・パラメータをオンあるいはオフにセットして、そのコマンドを実行してデータ値を変更する。コントロールはその機能を示すようにラベルを表示する。このラベルはグラフィックあるいはテキスト・ストリングを含むグラフィック・オブジェクトである。コントロールが状態を変えるとき、ラベルは、開発者が付加的なコードを書くことを要求することなく自動的にその出現を変える。これらの状態は、アクティブ/非アクティブ、イネーブル/ディスエーブルおよび選択/非選択を含む。
タイトルはその目的を示すためにウィンドゥ内に表示される。例えばドキュメントを編集するためのウィンドゥのためのタイトルは通常ドキュメントの名称である。ラベル・オブジェクトはタイトルの追尾を保つために使用される。このラベルはグラフィックあるいはテキスト・ストリングを含むグラフィック・オブジェクトである。ウィンドゥが状態を変えると、ラベルは、開発者が付加的なコードを書くことを要求することなく、その出現を自動的に調整する。ウィンドゥはアクティブあるいは非アクティブのどちらかである。スマート・ウィンドゥ・ラベル処理は第16図のフローチャートで示され、その詳細論理はそれを参照して説明される。
ユーザ・インターフェイス要素の多くの視覚的測面は、多くの要素間で共通である。例としてシャドウ、境界、およびラベルがある。個々の可視的特徴はデコレーションとして参照される。デコレーションは他のグラフィックスと結合されてウィンドゥとコントロールのような特定のユーザ・インターフェイス要素の可視的形状を形成する。本発明の主題は多くのことなる形式のデコレーションをサポートすることである。
他のオブジェクトの後ろに描かれるデコレーションはバックグラウンドと呼ばれる。1つの形式のバックグランドは周囲の描画面とフラッシュするように描かれる。それはフレームつきであるいはフレーム無しで描かれてもよい。他の形式のバックグランドはハイライトとシャドウつきで描かれ、それは回りの描画面から持ち上げられているように見える。最後の形式のバックグランドはハイライトとシャドウつきで描かれ、それは周囲の描画面より後退して見える。
他のオブジェクトあるいはエリアを囲むデコレーションは境界と呼ぶ。境界の例はフレームとシャドウである。フレームはリアル・ワールド内でのペイントを包み込むフレームのように他のグラフィックを囲む境界である。バックグランドのように、フレームは、周囲の描画面よりしたに後退したように、フラッシュするように、あるいはそれより持ち上がったように描くことができる。シャドウはオブジェクトの回りにシャドウを加える特定の形式の境界であり、周囲面より浮いているかのようにそれを見せる。
塗りつぶしはデコレーションの基本的カラーを表す。すべての他のペイントは塗りつぶしから導かれる。塗りつぶしはfFillPaintと呼ばれるカラー・フィールド内に管理者により格納される。塗りつぶしは通常、デコレーションが生成されるときに作成者により特定される。しかしながら、カラーが特定されないと、中間色グレーが選択される。
フレーム・ペイントはデコレーションの回りに線を描くために使用され可視的なコントラストを提供する。フレーム・ペイントはfFramePaintと呼ばれるTColorのフィールド内にデコレーションにより格納される。フレーム・ペイントはデコレーションが生成されるとき開発者により特定されてもよい。しかしながら、フレーム・ペイントが特定されないと、塗りつぶしから自動的に計算される。これはHSVカラー・モデルの飽和と値成分を処理することによりなされる。飽和は最大値が1として、4倍される。値は4で割られる。
ハイライト・ペイントは、オブジェクトが実際の3次元オブジェクトであるならば光がそのオブジェクトにあたる線を描くために使用される。ハイライト・ペイントはfHighlightPaintと呼ばれるTColorフィールド内にデコレーションにより格納される。ハイライト・ペイントはデコレーションが生成されるとき開発者により特定されてもよい。しかしながら、ハイライト・ペイントが特定されないと、塗りつぶしから自動的に計算される。これはHSVカラー・モデルの飽和と値成分を処理することによりなされる。飽和は0.8倍される。値は最大値を1として、1.25倍される。
シャドウ・ペイントは、オブジェクトが実際の3次元オブジェクトであるならば光がそのオブジェクトにあたる線を描くために使用される。ハイライト・ペイントはfHighlightPaintと呼ばれるTColorフィールド内にデコレーションにより格納される。ハイライト・ペイントはデコレーションを生成するとき開発者が特定してもよい。しかしながら、ハイライト・ペイントが特定されないと、塗りつぶしから自動的に計算される。これはHSVカラー・モデルの飽和と値成分を処理することによりなされる。飽和は0.8倍される。値は最大値を1として、1.25倍される。
グラフィック・ユーザ・インターフェイスはマウスを動かし、それらを選択するためにオブジェクトをクリックし、移動またはコピーのためにオブジェクトをドラッグし、その後それらをオープンするためにダブル・クリックすることにより処理される。これらのオペレーションは直接操作あるいは対話と呼ばれる。マウスをユーザが押し、動かし、離すことに対応するイベントのシーケンスは入力シンタクスと呼ばれる。あるイベント・シーケンスは、セマンティック・オペレーションと呼ばれる特定のアクションを示すために使用される。
局所化はアプリケーションを更新するプロセスであり、特定の場所のユニークな表現に従う。それは、言語の翻訳、グラフィック置換、およびインターフェイス要素の再配向を含む。例えば、ラベル、タイトル、およびメッセージの中で使用されるテキストは選択された言語に依存する。その方向と配向はメニュー、メニュー・バー・タイトル、スクロールバーあるいはツールバーの配置と配向に影響を与える。同様に、アイコンと他のグラフィックシンボルの選択は開発に依存する。不幸にも、メモリ内にユーザ・インターフェイス要素の多くの局在化されたバージョンをもつことは非常に高いものとなる。代わりに、ユーザ・インターフェイス要素の局在化バージョンは、メモリ内で要求されるまでディスク上に保たれる。
オブジェクト指向オペレーティング・システムのグラフィック・ユーザ・インターフェイスのユーザは、しばしば、マウスを動かし、オブジェクトを選択するためにクリックし、移動あるいはコピーのためにオブジェクトをドラッグし、その後オブジェクトをオープンするためにダブル・クリックする。これらの動作は直接操作あるいは対話と呼ばれる。マウスをユーザが押し、移動し、離すことに対応するイベントのシーケンスは入力シンタクスと呼ぶ。あるイベント・シーケンスが特定のアクションを示すために使用され、セマンティック動作と呼ばれる。本発明は、Select(選択),Peek(ピーク),Move(移動),AutoScroll(自動スクロール)およびDrag/Drop(Copy)(ドラッグ/ドロップ)(コピー)をサポートするオブジェクトのセマンティック動作に入力シンタクスを翻訳するための方法と装置を開示する。
(a)ユーザがマウス・ボタンを押したときオプション・キーが押されていたら、システムは変数fInteractionTypeを定数kDragにセットすることによりドラッグ・モードに入る。その後システムは動作の目標として選択されたオブジェクトを用いてドラッグ動作を進める。あるいは、
(b)オプション・キーが押されていなかったならば、システムは変数fInteractionTypeを定数kSelectにセットすることにより選択モードに入る。その後、選択動作が進められる。
12 システム・バス
14 ランダム・アクセス・メモリ(RAM)
16 リード・オンリ・メモリ(ROM)
18 I/Oアダプタ
20 ディスク・ユニット
22 ユーザ・インターフェイス・アダプタ
24 キーボード
26 マウス
28 スピーカー
32 マイクロフォン
34 通信アダプタ
36 表示アダプタ
38 表示装置
Claims (66)
- プロセッサと表示装置とを含むコンピュータ・システムにおいて、ポインタ画像を制御するユーザ操作ボタンを有するカーソル位置決定デバイスと、特定の機能を実行する論理とデータを有する複数のオブジェクトを含むオブジェクト指向アプリケーション・プログラムとの間のオブジェクト指向アプリケーション・インターフェイスを提供する装置であって、
(a)前記オブジェクト指向アプリケーション・プログラムにおける論理とデータを有する複数のオブジェクトの1つであって、前記表示装置にアイコンおよびサムネイルの両方を表示する論理と、前記表示装置上で前記アイコンを操作する論理とを含む対話可能オブジェクトと、
(b)前記カーソル位置決定デバイスのユーザ操作ボタンの押下に応答して、デバイス・イベント信号を生成する手段と、
(c)前記表示装置上の前記ポインタ画像の物理的な位置に応答して、デバイス位置信号を生成する手段と、
(d)前記デバイス・イベント信号に応答して、前記ユーザ操作ボタンが所定の時間間隔でいつ押下されたかを検出するタイミング手段と、
ピークしきい値を格納する記憶手段と、
前記所定の時間間隔および前記ピークしきい値に応答して、前記ユーザ操作ボタンが前記ピークしきい値よりも長く押下されたときピークメッセージを生成する手段と、
前記ピークメッセージに応答して、前記対話オブジェクトの論理を用いて前記アイコンの表示から前記サムネイル表示に前記表示装置を変更する手段とを含む対話オブジェクトと
を備えたことを特徴とする装置。 - 前記表示装置は、表示領域を有し、
前記装置は、
(e)前記対話可能オブジェクトと協働して、前記アイコンが前記表示装置のどこに位置するかを判定する手段と、
前記表示装置上の選択された領域の境界を判定する手段と、
前記アイコンが前記表示装置のどこに位置するか、および前記境界に応答して、前記アイコンが前記境界に位置したときに位置信号を生成する手段とを含むビュー・オブジェクトをさらに備え、
前記対話オブジェクトは、前記デバイス・イベント信号、前記位置信号および前記デバイス位置信号に応答して、前記対話可能オブジェクトの論理を用いて、前記ポインタ画像が動き、前記アイコンが前記境界に位置したとき、前記アイコンを動かすことを特徴とする請求項1に記載のオブジェクト指向アプリケーション・インターフェイスを提供する装置。 - 前記表示装置は、表示領域を有し、
前記装置は、
(e)前記対話可能オブジェクトと協働して、前記アイコンが表示されている前記表示領域における表示位置を判定する手段と、
前記表示領域内の選択された領域の境界を判定する手段と、
前記表示位置および前記境界に応答して、前記アイコンが前記境界に位置したときに位置信号を生成する手段とを含むビュー・オブジェクトをさらに備え、
前記対話オブジェクトは、
前記デバイス・イベント信号、前記位置信号および前記デバイス位置信号に応答して、前記ビュー・オブジェクトの論理を用いて、前記ポインタ画像が動き、前記アイコンが前記境界に位置したとき、前記アイコンを動かす手段と、
前記デバイス・イベント信号、前記位置信号および前記デバイス位置信号に応答して、前記ビュー・オブジェクトの論理を用いて、前記アイコンが前記境界の外にあるとき前記動き操作を停止する手段と
を含むことを特徴とする請求項1に記載のオブジェクト指向アプリケーション・インターフェイスを提供する装置。 - 前記デバイス・イベント信号、前記位置信号および前記デバイス位置信号に応答して、前記ビュー・オブジェクトの論理を用いて、前記アイコンが前記境界の中にあるとき前記動き操作を続行する手段をさらに備えたことを特徴とする請求項3に記載のオブジェクト指向アプリケーション・インターフェイスを提供する装置。
- 前記表示装置は、表示領域を有し、
前記装置は、
(e)前記対話可能オブジェクトと協働して、前記アイコンが表示されている前記表示領域における表示位置を判定する手段と、
前記表示領域内の選択された領域の境界を判定する手段と、
前記表示位置および前記境界に応答して、前記アイコンが前記境界に位置したときに位置信号を生成する手段とを含むビュー・オブジェクトをさらに備え、
前記対話オブジェクトは、
前記デバイス・イベント信号、前記位置信号および前記デバイス位置信号に応答して、前記対話オブジェクトの論理を用いて、前記ポインタ画像が動き、前記アイコンが前記境界に位置したとき、前記アイコンを動かす手段と、
前記デバイス・イベント信号、前記位置信号および前記デバイス位置信号に応答して、前記対話オブジェクトの論理を用いて、前記アイコンが前記境界の上にあるときスクロール操作を行う手段と
を含むことを特徴とする請求項1に記載のオブジェクト指向アプリケーション・インターフェイスを提供する装置。 - 前記デバイス・イベント信号、前記位置信号および前記デバイス位置信号に応答して、前記対話オブジェクトの論理を用いて、前記アイコンが前記境界の中にあるとき前記スクロール操作を続行する手段をさらに備えたことを特徴とする請求項5に記載のオブジェクト指向アプリケーション・インターフェイスを提供する装置。
- プロセッサと表示装置とを含むコンピュータ・システムにおいて、ポインタ画像を制御するユーザ操作ボタンを有するカーソル位置決定デバイスと、特定の機能を実行する論理とデータを有する複数のオブジェクトを含むオブジェクト指向アプリケーション・プログラムとの間のオブジェクト指向アプリケーション・インターフェイスを提供する方法であって、
(a)前記論理とデータを有する複数のオブジェクトから対話可能オブジェクト生成し、前記オブジェクト指向アプリケーション・プログラムに関連付けられた特定の機能を実行するステップであって、前記対話可能オブジェクトは、前記表示装置にアイコンおよびサムネイルの両方を表示する論理と、前記表示装置上で前記アイコンを操作する論理とを含むステップと、
(b)前記ユーザ操作ボタンの押下に応答して、デバイス・イベント信号を生成するステップと、
(c)前記表示装置上の前記ポインタ画像の物理的な位置に応答して、デバイス位置信号を生成するステップと、
(d1)前記ユーザ操作ボタンが所定の時間間隔でいつ押下されたかを検出するステップと、
(d2)ピークしきい値を格納するステップと、
(d3)前記ユーザ操作ボタンが前記ピークしきい値よりも長く押下されたときピークメッセージを生成するステップと、
(d4)前記対話オブジェクトの論理を用いて前記アイコンから前記サムネイルに前記表示装置を変更するステップとを実行する対話オブジェクトを生成するステップと
を備えたことを特徴とする方法。 - 前記表示装置は、表示領域を有し、
(e1)前記アイコンが表示された前記表示領域における表示位置を判定するステップと、
(e2)前記表示領域内の選択された領域の境界を判定するステップと、
(e3)前記アイコンが前記境界に位置したときに位置信号を生成するステップとを実行するビュー・オブジェクトを生成するステップをさらに備え、
前記対話オブジェクトは、
(d5)前記論理を用いて、前記ポインタ画像が動き、前記アイコンが前記境界に位置したとき、前記アイコンを動かすステップをさらに実行することを特徴とする請求項7に記載のオブジェクト指向アプリケーション・インターフェイスを提供する方法。 - 前記表示装置は、表示領域を有し、
(e1)前記アイコンが表示されている前記表示領域における表示位置を判定するステップと、
(e2)前記表示領域内の選択された領域の境界を判定するステップと、
(e3)前記アイコンが前記境界に位置したときに位置信号を生成するステップとを実行するビュー・オブジェクトを生成するステップをさらに備え、
前記対話オブジェクトは、
(d5)前記ビュー・オブジェクトの論理を用いて、前記ポインタ画像が動き、前記アイコンが前記境界に位置したとき、前記アイコンを動かすステップと、
(d6)前記ビュー・オブジェクトの論理を用いて、前記アイコンが前記境界の外にあるとき前記動き操作を停止するステップとをさらに実行することを特徴とする請求項7に記載のオブジェクト指向アプリケーション・インターフェイスを提供する方法。 - 前記対話オブジェクトは、
(d7)前記ビュー・オブジェクトの論理を用いて、前記アイコンが前記境界の中にあるとき前記動き操作を続行するステップをさらに実行することを特徴とする請求項9に記載のオブジェクト指向アプリケーション・インターフェイスを提供する方法。 - 前記表示装置は、表示領域を有し、
(e)前記特定の機能を実行する論理とデータを有する複数のオブジェクトからビュー・オブジェクトを生成するステップであって、前記特定の機能は、
(e1)前記アイコンが表示されている前記表示領域における表示位置を判定するステップと、
(e2)前記表示領域内の選択された領域の境界を判定するステップと、
(e3)前記アイコンが前記境界に位置したときに位置信号を生成するステップとを実行するステップをさらに備え、
前記対話オブジェクトは、
(d5)前記論理を用いて、前記ポインタ画像が動き、前記アイコンが前記境界に位置したとき、前記アイコンを動かすステップと、
(d6)前記論理を用いて、前記アイコンが前記境界の上にあるときスクロール操作を行うステップとをさらに実行することを特徴とする請求項7に記載のオブジェクト指向アプリケーション・インターフェイスを提供する方法。 - 前記対話オブジェクトは、
前記論理を用いて、前記アイコンが前記境界の中にあるとき前記スクロール操作を続行するステップをさらに実行することを特徴とする請求項11に記載のオブジェクト指向アプリケーション・インターフェイスを提供する方法。 - メモリと該メモリのシステムアドレス空間に格納されたオブジェクト指向オペレーティング・システムを有するコンピュータ・システムで使用する装置であって、デバイス・イベント信号を生成するユーザ入力装置と、前記メモリのアプリケーションアドレス空間に格納されたオブジェクト指向アプリケーション・プログラムとの間のオブジェクト指向アプリケーション・インターフェイスを提供する装置において、
(a)前記アプリケーションアドレス空間に、前記システムアドレス空間に格納された対話可能クラス情報から生成され、前記オブジェクト指向アプリケーション・プログラムによって使用されるデータおよび該データを操作する複数のメソッドを含む対話可能オブジェクトと、
(b)前記システムアドレス空間に、前記システムアドレス空間に格納された対話クラス情報から生成され、前記デバイス・イベント信号に応答して前記対話可能オブジェクトに含まれる前記オブジェクト操作メソッドのうち予め定められた1つを呼び出し、前記データを変更する対話オブジェクトと
を備えたことを特徴とする装置。 - 前記コンピュータ・システムは、表示画面を含み、
前記対話可能オブジェクトは、前記表示画面に表示する画像を定義するデータを含むことを特徴とする請求項13に記載の装置。 - 前記対話可能オブジェクトは、前記画像データを操作することにより前記表示画面上の画像のアピアランスを変更する選択メソッドを含むことを特徴とする請求項14に記載の装置。
- 前記対話可能オブジェクトは、前記表示画面上の画像を動かすムーブ・メソッドを含むことを特徴とする請求項15に記載の装置。
- 前記ユーザ入力装置は、マウスであり、
前記対話オブジェクトは、前記マウスからデバイス・イベント信号を受信し、前記対話可能オブジェクト内のメソッドを呼び出すことを特徴とする請求項16に記載の装置。 - 前記ユーザ入力装置は、キーボードであり、
前記対話オブジェクトは、前記キーボードからデバイス・イベント信号を受信し、前記対話可能オブジェクト内のメソッドを呼び出すことを特徴とする請求項16に記載の装置。 - 前記対話可能オブジェクトは、前記アプリケーションアドレス空間において、前記システムアドレス空間に格納された対話可能クラス情報から生成されることを特徴とする請求項13に記載の装置。
- 前記対話オブジェクトは、前記デバイス・イベント信号に応答して、前記オブジェクト指向アプリケーション・プログラムから要求された動作を判定し、前記操作メソッドのうち所定の1つを呼び出し、前記要求された動作を実行することを特徴とする請求項13に記載の装置。
- 前記対話オブジェクトは、前記デバイス・イベント信号の時間系列に応答して、前記オブジェクト指向アプリケーション・プログラムから要求された動作を判定し、前記操作メソッドのうち所定の1つを呼び出し、前記要求された動作を実行することを特徴とする請求項13に記載の装置。
- 前記コンピュータ・システムは、表示画面を含み、
前記表示画面の一部に情報を表示する手段と、前記デバイス・イベント信号に応答するビュー・オブジェクトにおいて対話オブジェクトのインスタンスを作成する手段とを有するビュー・オブジェクトをさらに備えたことを特徴とする請求項13に記載の装置。 - メモリと該メモリのシステムアドレス空間に格納されたオブジェクト指向オペレーティング・システムを有するコンピュータ・システムで使用するコンピュータ・プログラム製品であって、デバイス・イベント信号を生成するユーザ入力装置と、前記メモリのアプリケーションアドレス空間に格納されたオブジェクト指向アプリケーション・プログラムとの間のオブジェクト指向アプリケーション・インターフェイスを提供するコンピュータ・プログラム製品において、
(a)前記アプリケーションアドレス空間に、前記システムアドレス空間に格納された対話可能クラス情報から対話可能オブジェクトのインスタンスを生成するプログラム・コードであって、前記対話可能オブジェクトは、前記オブジェクト指向アプリケーション・プログラムによって使用されるデータおよび該データを操作する複数のメソッドを含むプログラム・コードと、
(b)前記システムアドレス空間に、前記システムアドレス空間に格納された対話クラス情報から対話オブジェクトのインスタンスを生成するプログラム・コードであって、前記対話オブジェクトは、前記デバイス・イベント信号に応答して前記対話可能オブジェクトに含まれる前記オブジェクト操作メソッドのうち予め定められた1つを呼び出し、前記データを変更するプログラム・コードと
を備えたことを特徴とするコンピュータ・プログラム製品。 - 前記コンピュータ・システムは、表示画面を含み、
前記対話可能オブジェクトは、前記表示画面に表示する画像を定義するデータを含むことを特徴とする請求項23に記載のコンピュータ・プログラム製品。 - 前記対話可能オブジェクトのインスタンスを生成するプログラム・コードは、前記画像データを操作することにより前記表示画面上の画像のアピアランスを変更する選択メソッドを含む前記対話可能オブジェクトのインスタンスを生成することを特徴とする請求項24に記載のコンピュータ・プログラム製品。
- 前記対話可能オブジェクトのインスタンスを生成するプログラム・コードは、前記表示画面上の画像を動かすムーブ・メソッドを含む前記対話可能オブジェクトのインスタンスを生成することを特徴とする請求項25に記載のコンピュータ・プログラム製品。
- 前記ユーザ入力装置は、マウスであり、
前記対話オブジェクトは、前記マウスからデバイス・イベント信号を受信し、前記対話可能オブジェクト内のメソッドを呼び出すプログラム・コードを含むことを特徴とする請求項26に記載のコンピュータ・プログラム製品。 - 前記ユーザ入力装置は、キーボードであり、
前記対話オブジェクトは、前記キーボードからデバイス・イベント信号を受信し、前記対話可能オブジェクト内のメソッドを呼び出すプログラム・コードを含むことを特徴とする請求項26に記載のコンピュータ・プログラム製品。 - 前記システムアドレス空間に前記対話可能クラス情報をロードするプログラム・コードをさらに備え、
前記対話可能オブジェクトのインスタンスを生成するプログラム・コードは、前記アプリケーションアドレス空間において、前記対話可能オブジェクトのインスタンスを生成することを特徴とする請求項23に記載のコンピュータ・プログラム製品。 - 前記対話可能オブジェクトのインスタンスを生成するプログラム・コードは、前記対話オブジェクトは、前記システムアドレス空間において、前記システムアドレス空間に格納された対話可能クラス情報から前記対話可能オブジェクトのインスタンスを生成することを特徴とする請求項23に記載のコンピュータ・プログラム製品。
- 前記対話オブジェクトは、前記デバイス・イベント信号に応答して、前記オブジェクト指向アプリケーション・プログラムから要求された動作を判定し、前記操作メソッドのうち所定の1つを呼び出し、前記要求された動作を実行するプログラム・コードでインスタンス化されることを特徴とする請求項23に記載のコンピュータ・プログラム製品。
- 前記対話オブジェクトは、前記デバイス・イベント信号の時間系列に応答して、前記オブジェクト指向アプリケーション・プログラムから要求された動作を判定し、前記操作メソッドのうち所定の1つを呼び出し、前記要求された動作を実行するプログラム・コードでインスタンス化されることを特徴とする請求項23に記載のコンピュータ・プログラム製品。
- 前記コンピュータ・システムは、表示画面を含み、
前記表示画面の一部に情報を表示する手段と、前記デバイス・イベント信号に応答するビュー・オブジェクトにおいて対話オブジェクトのインスタンスを作成する手段とを有するビュー・オブジェクトのインスタンスを生成するプログラム・コードをさらに備えたことを特徴とする請求項23に記載のコンピュータ・プログラム製品。 - メモリを有するコンピュータ・システムにおいて動的スクリプト機能を実行する装置であって、各々がデータおよび該データを変更するメソッドを含むデータ・オブジェクトを含むドキュメントを前記メモリ内で操作する装置において、
各々が前記ドキュメントからの選択を形成する少なくとも1つのデータ・オブジェクトの定義に依存しないで、アドレス空間を定義するデータを含む複数の選択オブジェクトと、
各々がデータ変更コマンドと、該データ変更コマンドが適用される選択オブジェクトへの参照を含むコマンド・オブジェクトと、
前記メモリに一連のコマンド・オブジェクトからなるスクリプトを記憶する手段と、
前記スクリプトの前記一連のコマンド・オブジェクトの各々において、データ変更コマンドを連続して呼び出することにより前記スクリプトを実行し、各々の参照された選択オブジェクトにより定義された前記データ・オブジェクトにおいて選択されたデータ変更メソッドを実行する手段と
を備えたことを特徴とする装置。 - 前記複数の選択オブジェクトの各々は、コマンド・オブジェクトのメソッドを呼び出すことにより構成されることを特徴とする請求項34に記載の装置。
- 前記選択オブジェクトの少なくとも1つにより定義されたデータ・オブジェクトを変更することにより、前記スクリプトを変更する手段をさらに備えたことを特徴とする請求項34に記載の装置。
- 前記スクリプトを変更する手段は、前記選択オブジェクトの少なくとも1つを変更して、前記定義されたデータ・オブジェクトを同じ前記ドキュメント内で他のデータ・オブジェクトに変更することを特徴とする請求項36に記載の装置。
- 前記複数のコマンド・オブジェクトの各々は、前記データ変更コマンドが、前記選択オブジェクトで定義されたデータを操作することができるか否かを判断するメソッドを含み、前記スクリプトを変更する手段は、前記少なくとも1つ選択オブジェクトに対して前記判定メソッドを呼び出す手段を備えたことを特徴とする請求項37に記載の装置。
- 前記スクリプトを変更する手段は、前記選択オブジェクトの少なくとも1つを変更して、前記定義されたデータ・オブジェクトを異なるドキュメント内のデータ・オブジェクトに変更することを特徴とする請求項36に記載の装置。
- 前記複数のコマンド・オブジェクトの各々は、前記データ変更コマンドが、前記選択オブジェクトで定義されたデータを操作することができるか否かを判断するメソッドを含み、前記スクリプトを変更する手段は、前記少なくとも1つ選択オブジェクトに対して前記判定メソッドを呼び出す手段を備えたことを特徴とする請求項39に記載の装置。
- メモリを有するコンピュータ・システムにおいて動的スクリプト機能を実行するコンピュータ・プログラム製品であって、コンピュータ・プログラムは、各々がデータおよび該データを変更するメソッドを含むデータ・オブジェクトを含むドキュメントを前記メモリ内で操作し、前記コンピュータ・プログラム製品は、コンピュータ読取り可能プログラム・コードを有するコンピュータ利用可能媒体を含み、前記プログラム・コードは、
各々が前記ドキュメントからの選択を形成する少なくとも1つのデータ・オブジェクトの定義に依存しないで、アドレス空間を定義するデータを含む複数の選択オブジェクトのインスタンスを生成するプログラム・コードと、
各々がデータ変更コマンドと、該データ変更コマンドが適用される選択オブジェクトへの参照を含むコマンド・オブジェクトのインスタンスを生成するプログラム・コードと、
前記メモリに一連のコマンド・オブジェクトからなるスクリプトを記憶する手段と、
前記スクリプトの前記一連のコマンド・オブジェクトの各々において、データ変更コマンドを連続して呼び出することにより前記スクリプトを実行し、各々の参照された選択オブジェクトにより定義された前記データ・オブジェクトにおいて選択されたデータ変更メソッドを実行する手段と
を備えたことを特徴とするコンピュータ・プログラム製品。 - 選択オブジェクトを構成するメソッドを含むコマンド・オブジェクトのインスタンスを生成するプログラム・コードと、
前記複数の選択オブジェクトの各々を構成するコマンド・オブジェクトのインスタンスを生成するプログラム・コードと
をさらに備えたことを特徴とする請求項41に記載のコンピュータ・プログラム製品。 - 前記選択オブジェクトの少なくとも1つにより定義されたデータ・オブジェクトを変更することにより、前記スクリプトを変更するプログラム・コードをさらに備えたことを特徴とする請求項41に記載のコンピュータ・プログラム製品。
- 前記スクリプトを変更するプログラム・コードは、前記選択オブジェクトの少なくとも1つを変更して、前記定義されたデータ・オブジェクトを同じ前記ドキュメント内で他のデータ・オブジェクトに変更することを特徴とする請求項43に記載のコンピュータ・プログラム製品。
- 前記複数のコマンド・オブジェクトの各々は、前記データ変更コマンドが、前記選択オブジェクトで定義されたデータを操作することができるか否かを判断するメソッドを含み、前記スクリプトを変更するプログラム・コードは、前記少なくとも1つ選択オブジェクトに対して前記判定メソッドを呼び出す手段を備えたことを特徴とする請求項44に記載のコンピュータ・プログラム製品。
- 前記スクリプトを変更するプログラム・コードは、前記選択オブジェクトの少なくとも1つを変更して、前記定義されたデータ・オブジェクトを異なるドキュメント内のデータ・オブジェクトに変更することを特徴とする請求項43に記載のコンピュータ・プログラム製品。
- 前記複数のコマンド・オブジェクトの各々は、前記データ変更コマンドが、前記選択オブジェクトで定義されたデータを操作することができるか否かを判断するメソッドを含み、前記スクリプトを変更するプログラム・コードは、前記少なくとも1つ選択オブジェクトに対して前記判定メソッドを呼び出す手段を備えたことを特徴とする請求項44に記載のコンピュータ・プログラム製品。
- メモリを有するコンピュータ・システムにおいて更新可能ドキュメントを表示する装置であって、前記ドキュメントは複数のデータ片からなり、各々のデータ片はデータ型を有し、前記装置は、
複数のデータ・モデル・オブジェクトを構成する手段であって、前記データ・モデル・オブジェクトの各々は、前記複数のデータ片の1つと、データ片を操作して所与の更新を生成するための名前を有するメソッドを含む標準インターフェイスとを含み、前記所与の名前と更新は、各データ型について同じである手段と、
ドキュメント・コンテナと、
前記データ・モデル・オブジェクトを前記ドキュメント・コンテナに挿入する手段と、
前記データ・モデル・オブジェクトの各々に応答して、前記データ・モデル・オブジェクトの表示を生成する手段であって、各データ・モデル・オブジェクトにデータの表示を生成する手段と、コンテナとシブリング・オブジェクト間の関係を含む、データ・モデル・オブジェクト間の関係の表示を生成する手段を含む手段と
を備えたことを特徴とする装置。 - 前記ドキュメントは、コマンド・オブジェクトにより更新され、前記コマンド・オブジェクトは、データ・モデル・オブジェクトの前記標準インターフェイスのメソッドの1つを呼び出してそこに含まれるデータ片を変更するメソッドを含むことを特徴とする請求項48に記載の装置。
- 前記標準インターフェイスは、カット、コピーおよびペーストメソッドを含むことを特徴とする請求項48に記載の装置。
- 前記表示を生成する手段は、データ・モデル・オブジェクトと前記ドキュメント・コンテナとの間の関係の表示を生成する手段を含むことを特徴とする請求項48に記載の装置。
- メモリを有するコンピュータ・システムにおいて更新可能ドキュメントを表示するコンピュータ・プログラム製品であって、前記ドキュメントは複数のデータ片からなり、各々のデータ片はデータ型を有し、前記コンピュータ・プログラム製品は、コンピュータ読取り可能プログラム・コードを有するコンピュータ利用可能媒体を含み、
複数のデータ・モデル・オブジェクトを前記メモリに構成するプログラム・コードであって、前記データ・モデル・オブジェクトの各々は、前記複数のデータ片の1つと、データ片を操作して所与の更新を生成するための名前を有するメソッドを含む標準インターフェイスとを含み、前記所与の名前と更新は、各データ型について同じであるプログラム・コードと、
ドキュメント・コンテナを前記メモリに構成するプログラム・コードと、
前記データ・モデル・オブジェクトを前記ドキュメント・コンテナに挿入するプログラム・コードと、
前記データ・モデル・オブジェクトの各々に応答して、前記データ・モデル・オブジェクトの表示、およびコンテナとシブリング・オブジェクト間の関係を含む、データ・モデル・オブジェクト間の関係の表示を生成するプログラム・コードと
を備えたことを特徴とするコンピュータ・プログラム製品。 - 前記ドキュメントは、コマンド・オブジェクトにより更新され、前記コマンド・オブジェクトは、データ・モデル・オブジェクトの前記標準インターフェイスのメソッドの1つを呼び出してそこに含まれるデータ片を変更するメソッドを含むことを特徴とする請求項52に記載のコンピュータ・プログラム製品。
- 前記標準インターフェイスは、カット、コピーおよびペーストメソッドを含むことを特徴とする請求項52に記載のコンピュータ・プログラム製品。
- 前記表示を生成するプログラム・コードは、各データ・モデル・オブジェクトにデータの表示を生成するプログラム・コードと、データ・モデル・オブジェクト間の関係の表示を生成するプログラム・コードとを含むことを特徴とする請求項52に記載のコンピュータ・プログラム製品。
- 前記表示を生成するプログラム・コードは、データ・モデル・オブジェクトと前記ドキュメント・コンテナとの間の関係の表示を生成するプログラム・コードを含むことを特徴とする請求項52に記載のコンピュータ・プログラム製品。
- メモリを有するコンピュータ・システムにおいて更新可能ドキュメント内のデータを表示する装置であって、前記ドキュメントは複数のデータ片からなり、前記装置は、
各々が前記複数のデータ片の1つを含む複数のデータ・モデル・オブジェクトを構成する手段と、
前記データ片が変更されると登録されたオブジェクトに変更通知を生成する手段と、
前記複数のデータ・モデル・オブジェクトうちの1つのデータ片の表示面を生成するビュー・オブジェクトと、
1つのデータ・モデル・オブジェクトとともに前記ビュー・オブジェクトを登録する手段と、
前記ビュー・オブジェクトにおいて、前記変更通知に応答して、前記表示面を更新する手段と
を備えたことを特徴とする装置。 - 前記変更通知を生成する手段は、各データ・モデル・オブジェクトにおいてデータ片が変更されたとき変更通知を生成する手段を含むことを特徴とする請求項57に記載の装置。
- 前記データ・モデルは、コマンド・オブジェクトと対話して前記データ片を変更し、
前記変更通知を生成する手段は、前記コマンド・オブジェクトにおいて変更通知を生成する手段を含むことを特徴とする請求項57に記載の装置。 - 各データ片は、特定のデータ型を有し、前記ビュー・オブジェクトは、前記1つのデータ・モデル・オブジェクトにおいて前記データ片の前記データ型を特定する表示を生成することを特徴とする請求項57に記載の装置。
- 前記ビュー・オブジェクトは、前記1つのデータ・モデル・オブジェクトにおいて前記データ片の複数の表示面を生成することを特徴とする請求項57に記載の装置。
- メモリを有するコンピュータ・システムにおいて更新可能ドキュメント内のデータを表示するコンピュータ・プログラム製品であって、前記ドキュメントは複数のデータ片からなり、前記コンピュータ・プログラム製品は、コンピュータ読取り可能プログラム・コードを有するコンピュータ利用可能媒体を含み、
複数のデータ・モデル・オブジェクトのインスタンスを生成するメソッドを含むデータ・モデル・クラス・コードであって、前記データ・モデル・オブジェクトの各々は、前記複数のデータ片の1つを含むコードと、
前記データ片が変更されると登録されたオブジェクトに変更通知を生成するプログラム・コードと、
前記複数のデータ・モデル・オブジェクトうちの1つのデータ片の表示面を生成するメソッドを含むビュー・クラス情報からビュー・オブジェクトのインスタンスを生成するプログラム・コードと、
1つのデータ・モデル・オブジェクトとともに前記ビュー・オブジェクトを登録するプログラム・コードと、
前記ビュー・クラス情報において、前記変更通知に応答して、前記表示面を更新するプログラム・コードと
を備えたことを特徴とするコンピュータ・プログラム製品。 - 前記変更通知を生成するプログラム・コードは、各データ・モデル・クラス・コードにおいてデータ片が変更されたとき変更通知を生成するプログラム・コードを含むことを特徴とする請求項62に記載のコンピュータ・プログラム製品。
- 前記データ・モデルは、コマンド・オブジェクトと対話して前記データ片を変更し、
前記変更通知を生成するプログラム・コードは、前記コマンド・オブジェクトにおいて変更通知を生成するプログラム・コードを含むことを特徴とする請求項62に記載のコンピュータ・プログラム製品。 - 各データ片は、特定のデータ型を有し、前記ビュー・クラス情報は、前記1つのデータ・モデル・オブジェクトにおいて前記データ片の前記データ型を特定する表示を生成するプログラム・コードを含むことを特徴とする請求項62に記載のコンピュータ・プログラム製品。
- 前記ビュー・クラス情報は、前記1つのデータ・モデル・オブジェクトにおいて前記データ片の複数の表示面を生成するプログラム・コードを含むことを特徴とする請求項62に記載のコンピュータ・プログラム製品。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US99617192A | 1992-12-23 | 1992-12-23 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002009271A Division JP4117132B2 (ja) | 1992-12-23 | 2002-01-17 | オブジェクト指向通知フレームワークシステム及びこれを実行するための方法並びにこれを管理するための方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008181541A true JP2008181541A (ja) | 2008-08-07 |
JP4612069B2 JP4612069B2 (ja) | 2011-01-12 |
Family
ID=25542581
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6515273A Pending JPH08505721A (ja) | 1992-12-23 | 1993-12-14 | オブジェクト指向フレームワーク・システム |
JP2002009270A Pending JP2002278667A (ja) | 1992-12-23 | 2002-01-17 | メニュー型システムおよびメニュー型フレームワークを可能にする方法 |
JP2002009272A Pending JP2002278668A (ja) | 1992-12-23 | 2002-01-17 | スクロールシステムおよびその方法 |
JP2002009271A Expired - Lifetime JP4117132B2 (ja) | 1992-12-23 | 2002-01-17 | オブジェクト指向通知フレームワークシステム及びこれを実行するための方法並びにこれを管理するための方法 |
JP2008043556A Expired - Lifetime JP4393558B2 (ja) | 1992-12-23 | 2008-02-25 | コンピュータ・システムが実行する方法 |
JP2008043554A Expired - Lifetime JP4393557B2 (ja) | 1992-12-23 | 2008-02-25 | コンピュータ・システムで実行される方法 |
JP2008043555A Expired - Lifetime JP4612069B2 (ja) | 1992-12-23 | 2008-02-25 | データを表現し操作する方法 |
Family Applications Before (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6515273A Pending JPH08505721A (ja) | 1992-12-23 | 1993-12-14 | オブジェクト指向フレームワーク・システム |
JP2002009270A Pending JP2002278667A (ja) | 1992-12-23 | 2002-01-17 | メニュー型システムおよびメニュー型フレームワークを可能にする方法 |
JP2002009272A Pending JP2002278668A (ja) | 1992-12-23 | 2002-01-17 | スクロールシステムおよびその方法 |
JP2002009271A Expired - Lifetime JP4117132B2 (ja) | 1992-12-23 | 2002-01-17 | オブジェクト指向通知フレームワークシステム及びこれを実行するための方法並びにこれを管理するための方法 |
JP2008043556A Expired - Lifetime JP4393558B2 (ja) | 1992-12-23 | 2008-02-25 | コンピュータ・システムが実行する方法 |
JP2008043554A Expired - Lifetime JP4393557B2 (ja) | 1992-12-23 | 2008-02-25 | コンピュータ・システムで実行される方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US5717877A (ja) |
EP (1) | EP0664025B1 (ja) |
JP (7) | JPH08505721A (ja) |
CN (1) | CN1091536A (ja) |
AU (1) | AU5827894A (ja) |
CA (1) | CA2145679C (ja) |
DE (1) | DE69310187T2 (ja) |
WO (1) | WO1994015286A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9651782B2 (en) | 2013-02-19 | 2017-05-16 | Mirama Service Inc. | Wearable tracking device |
Families Citing this family (192)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6259446B1 (en) | 1992-12-23 | 2001-07-10 | Object Technology Licensing Corporation | Menu state system |
WO1995031772A1 (en) * | 1994-05-16 | 1995-11-23 | Apple Computer, Inc. | Dialog item interface definition object |
US5877765A (en) * | 1995-09-11 | 1999-03-02 | Microsoft Corporation | Method and system for displaying internet shortcut icons on the desktop |
US5689698A (en) * | 1995-10-20 | 1997-11-18 | Ncr Corporation | Method and apparatus for managing shared data using a data surrogate and obtaining cost parameters from a data dictionary by evaluating a parse tree object |
US6281893B1 (en) * | 1996-04-04 | 2001-08-28 | Sun Microsystems, Inc. | Method and apparatus for providing an object oriented approach to a device independent graphics control system |
US5883625A (en) * | 1996-04-22 | 1999-03-16 | Ast Research, Inc. | Arrangement system for object placement on windows |
US5923877A (en) * | 1996-05-01 | 1999-07-13 | Electronic Data Systems Corporation | Object-oriented programming memory management framework and method |
US5933841A (en) * | 1996-05-17 | 1999-08-03 | Ameritech Corporation | Structured document browser |
US5920868A (en) * | 1996-07-03 | 1999-07-06 | Sun Microsystems, Inc. | Cataloging apparatus for facilitating the re-use of distributed objects in a distributed object system |
US5787425A (en) * | 1996-10-01 | 1998-07-28 | International Business Machines Corporation | Object-oriented data mining framework mechanism |
US6334157B1 (en) * | 1997-03-11 | 2001-12-25 | Microsoft Corporation | Programmatically providing direct access to user interface elements of an application program |
US5857197A (en) * | 1997-03-20 | 1999-01-05 | Thought Inc. | System and method for accessing data stores as objects |
US6046739A (en) * | 1997-03-28 | 2000-04-04 | International Business Machines Corporation | System and method for organizing objects managed within a desktop |
US6518979B1 (en) * | 1997-04-30 | 2003-02-11 | Geodesic Systems, Incorporated | Automatically-maintained customizable user interfaces |
US6335972B1 (en) | 1997-05-23 | 2002-01-01 | International Business Machines Corporation | Framework-based cryptographic key recovery system |
US6268852B1 (en) * | 1997-06-02 | 2001-07-31 | Microsoft Corporation | System and method for facilitating generation and editing of event handlers |
US5999174A (en) * | 1997-07-02 | 1999-12-07 | At&T Corporation | Reusable sparing cell software component for a graphical user interface |
US6335742B1 (en) * | 1997-07-24 | 2002-01-01 | Ricoh Company, Ltd. | Apparatus for file management and manipulation using graphical displays and textual descriptions |
US6658623B1 (en) * | 1997-09-15 | 2003-12-02 | Fuji Xerox Co., Ltd. | Displaying in a first document a selectable link to a second document based on a passive query |
US6292803B1 (en) * | 1997-11-18 | 2001-09-18 | Honeywell International Inc. | Object state change and history management mechanism |
AU1329199A (en) * | 1997-12-01 | 1999-06-16 | Cedara Software Corp. | Architecture for an application framework |
US6184883B1 (en) * | 1998-03-18 | 2001-02-06 | International Business Machines Corporation | Computer system, program product and method utilizing in-focus switch delay for user interface components |
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 |
US6191790B1 (en) | 1998-04-01 | 2001-02-20 | Microsoft Corporation | Inheritable property shading system for three-dimensional rendering of user interface controls |
US6785866B1 (en) * | 1998-05-01 | 2004-08-31 | Adobe Systems Incorporated | Dialogs for multiple operating systems and multiple languages |
US6727923B1 (en) * | 1998-05-08 | 2004-04-27 | Apple Computer, Inc. | Creation and manipulation of internet location objects in a graphical user interface environment |
US8527882B2 (en) * | 1998-06-12 | 2013-09-03 | Gregory J. Swartz | System and method for iconic software environment management |
US7346850B2 (en) | 1998-06-12 | 2008-03-18 | Cygnus Systems, Inc. | System and method for iconic software environment management |
US6618852B1 (en) | 1998-09-14 | 2003-09-09 | Intellichem, Inc. | Object-oriented framework for chemical-process-development decision-support applications |
US6366293B1 (en) | 1998-09-29 | 2002-04-02 | Rockwell Software Inc. | Method and apparatus for manipulating and displaying graphical objects in a computer display device |
US6362839B1 (en) * | 1998-09-29 | 2002-03-26 | Rockwell Software Inc. | Method and apparatus for displaying mechanical emulation with graphical objects in an object oriented computing environment |
US6559860B1 (en) | 1998-09-29 | 2003-05-06 | Rockwell Software Inc. | Method and apparatus for joining and manipulating graphical objects in a graphical user interface |
US6628305B1 (en) | 1998-11-09 | 2003-09-30 | International Business Machines Corporation | Architecture and definition of an extensible, object-oriented graphical user interface framework for managing and administering heterogenous digital library datastores |
US6549878B1 (en) * | 1998-12-31 | 2003-04-15 | Microsoft Corporation | System and method for editing a spreadsheet via an improved editing and cell selection model |
US6563523B1 (en) * | 1999-10-28 | 2003-05-13 | Midway Amusement Games Llc | Graphical control of a time-based set-up feature for a video game |
US8037193B2 (en) | 1999-12-24 | 2011-10-11 | Telstra Corporation Limited | Virtual token |
US7020842B1 (en) * | 2000-03-03 | 2006-03-28 | International Business Machines Corporation | Method and apparatus for providing dynamic assistance for disabled user interface resources |
US7243130B2 (en) * | 2000-03-16 | 2007-07-10 | Microsoft Corporation | Notification platform architecture |
US7743340B2 (en) | 2000-03-16 | 2010-06-22 | Microsoft Corporation | Positioning and rendering notification heralds based on user's focus of attention and activity |
US20020087649A1 (en) * | 2000-03-16 | 2002-07-04 | Horvitz Eric J. | Bounded-deferral policies for reducing the disruptiveness of notifications |
US7417650B1 (en) * | 2000-03-16 | 2008-08-26 | Microsoft Corporation | Display and human-computer interaction for a notification platform |
US7634528B2 (en) * | 2000-03-16 | 2009-12-15 | Microsoft Corporation | Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services |
US8701027B2 (en) * | 2000-03-16 | 2014-04-15 | Microsoft Corporation | Scope user interface for displaying the priorities and properties of multiple informational items |
US8024415B2 (en) * | 2001-03-16 | 2011-09-20 | Microsoft Corporation | Priorities generation and management |
US7444383B2 (en) | 2000-06-17 | 2008-10-28 | Microsoft Corporation | Bounded-deferral policies for guiding the timing of alerting, interaction and communications using local sensory information |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US6954895B1 (en) * | 2000-03-22 | 2005-10-11 | Autodesk, Inc. | Method and apparatus for using and storing objects |
US8086672B2 (en) * | 2000-06-17 | 2011-12-27 | Microsoft Corporation | When-free messaging |
US20020056009A1 (en) * | 2000-08-22 | 2002-05-09 | Affif Filippo L. | Method for interacting with a device using an abstract space |
US6561342B2 (en) * | 2000-11-29 | 2003-05-13 | Charles Lepage | Granular material conveyor |
US20100223295A1 (en) * | 2000-12-06 | 2010-09-02 | Io Informatics, Inc. | Applied Semantic Knowledgebases and Applications Thereof |
US6988109B2 (en) * | 2000-12-06 | 2006-01-17 | Io Informatics, Inc. | System, method, software architecture, and business model for an intelligent object based information technology platform |
US7844666B2 (en) * | 2000-12-12 | 2010-11-30 | Microsoft Corporation | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US7085773B2 (en) * | 2001-01-05 | 2006-08-01 | Symyx Technologies, Inc. | Laboratory database system and methods for combinatorial materials research |
CA2340472C (en) * | 2001-03-12 | 2004-11-09 | Ibm Canada Limited-Ibm Canada Limitee | Incremental actions relating to notify and target models |
US7392485B2 (en) * | 2001-03-30 | 2008-06-24 | Microsoft Corporation | System and method for providing a server control interface |
US20020178243A1 (en) * | 2001-05-15 | 2002-11-28 | Kevin Collins | Apparatus and method for centrally managing network devices |
US6968538B2 (en) * | 2001-06-01 | 2005-11-22 | Symyx Technologies, Inc. | System and methods for integration of custom classes into pre-existing objects models |
US7048962B2 (en) * | 2002-05-02 | 2006-05-23 | Labcoat, Ltd. | Stent coating device |
US6645547B1 (en) * | 2002-05-02 | 2003-11-11 | Labcoat Ltd. | Stent coating device |
US7709048B2 (en) * | 2002-05-02 | 2010-05-04 | Labcoat, Ltd. | Method and apparatus for coating a medical device |
US20040216130A1 (en) * | 2002-08-30 | 2004-10-28 | Keller S. Brandon | Method for saving and restoring data in software objects |
CA2495038C (en) * | 2002-09-30 | 2012-11-06 | Microsoft Corporation | System and method for making user interface elements known to an application and user |
US7386609B2 (en) * | 2003-02-20 | 2008-06-10 | International Business Machines Corporation | Method, system, and program for managing devices in a network |
WO2004080234A1 (en) * | 2003-03-13 | 2004-09-23 | Radiancy Inc. | Electric shaver with removable head cutting by heat |
US8244712B2 (en) * | 2003-03-18 | 2012-08-14 | Apple Inc. | Localized viewing of file system names |
US7457879B2 (en) | 2003-04-01 | 2008-11-25 | Microsoft Corporation | Notification platform architecture |
GB2402507A (en) * | 2003-06-03 | 2004-12-08 | Canon Kk | A user input interpreter and a method of interpreting user input |
US7031885B2 (en) * | 2003-06-27 | 2006-04-18 | Intel Corporation | Method and apparatus for measuring accuracies of fixed-point computations |
US7587421B2 (en) * | 2004-01-30 | 2009-09-08 | International Business Machines Corporation | Method, system, and article of manufacture for generating device specific requests |
WO2006022171A1 (ja) * | 2004-08-25 | 2006-03-02 | Canon Kabushiki Kaisha | 印刷システム、画像供給デバイス及び印刷装置とその制御方法 |
US7657843B2 (en) * | 2005-08-15 | 2010-02-02 | At&T Intellectual Property I, L.P. | Menu promotions user interface |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
JP4959784B2 (ja) | 2007-02-27 | 2012-06-27 | 富士通株式会社 | 生成装置、生成方法、および、生成プログラム |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US9229920B1 (en) * | 2007-04-30 | 2016-01-05 | Oracle America Inc. | Compound undo/redo manager for mixed model edits |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8490019B2 (en) * | 2008-01-29 | 2013-07-16 | Microsoft Corporation | Displaying thumbnail copies of each running item from one or more applications |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US9959870B2 (en) | 2008-12-11 | 2018-05-01 | Apple Inc. | Speech recognition involving a mobile device |
US7925924B2 (en) * | 2009-03-23 | 2011-04-12 | International Business Machines Corporation | Method for command line interface restore points with support for an atomic sets of commands |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US20120311585A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Organizing task items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
DE202011111062U1 (de) | 2010-01-25 | 2019-02-19 | Newvaluexchange Ltd. | Vorrichtung und System für eine Digitalkonversationsmanagementplattform |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8694967B2 (en) * | 2010-06-11 | 2014-04-08 | Microsoft Corporation | User interface inventory |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9472015B2 (en) * | 2012-05-15 | 2016-10-18 | Sap Se | Real-time visualization of transactional data objects |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9330379B2 (en) * | 2012-09-14 | 2016-05-03 | Intel Corporation | Providing notifications of messages for consumption |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
BR112015018905B1 (pt) | 2013-02-07 | 2022-02-22 | Apple Inc | Método de operação de recurso de ativação por voz, mídia de armazenamento legível por computador e dispositivo eletrônico |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
KR101759009B1 (ko) | 2013-03-15 | 2017-07-17 | 애플 인크. | 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것 |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
CN105264524B (zh) | 2013-06-09 | 2019-08-02 | 苹果公司 | 用于实现跨数字助理的两个或更多个实例的会话持续性的设备、方法、和图形用户界面 |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
CN105265005B (zh) | 2013-06-13 | 2019-09-17 | 苹果公司 | 用于由语音命令发起的紧急呼叫的系统和方法 |
JP6163266B2 (ja) | 2013-08-06 | 2017-07-12 | アップル インコーポレイテッド | リモート機器からの作動に基づくスマート応答の自動作動 |
CN104750275B (zh) * | 2013-12-25 | 2018-07-03 | 华为技术有限公司 | 一种滑块的移动速度的确定方法及装置 |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
EP3149728B1 (en) | 2014-05-30 | 2019-01-16 | Apple Inc. | Multi-command single utterance input method |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10481645B2 (en) | 2015-09-11 | 2019-11-19 | Lucan Patent Holdco, LLC | Secondary gesture input mechanism for touchscreen devices |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
WO2018089800A1 (en) | 2016-11-10 | 2018-05-17 | Ronald Scott Visscher | System with a unique and versatile evaluation method |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
CN107423070B (zh) * | 2017-08-03 | 2021-02-23 | 北京奇艺世纪科技有限公司 | 一种页面生成方法及装置 |
US11556234B2 (en) * | 2020-06-12 | 2023-01-17 | Dassault Systemes Solidworks Corporation | WYSIWYG editor for creating and editing a feature control frame for geometric dimensioning and tolerancing in computer-aided design system |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3658427A (en) * | 1969-11-28 | 1972-04-25 | Anthony B Decou | Attitude sensor, and system for controlling attitude of an object |
US3881605A (en) * | 1973-06-29 | 1975-05-06 | Ibm | Object orienting device to assist robot manipulator |
US4082188A (en) * | 1976-06-23 | 1978-04-04 | Hoffmann-La Roche Inc. | Apparatus for color recognition and defect detection of objects such as capsules |
US4677576A (en) * | 1983-06-27 | 1987-06-30 | Grumman Aerospace Corporation | Non-edge computer image generation system |
US4635208A (en) * | 1985-01-18 | 1987-01-06 | Hewlett-Packard Company | Computer-aided design of systems |
US4742356A (en) * | 1985-12-09 | 1988-05-03 | Mcdonnell Douglas Corporation | Method and apparatus for determining remote object orientation and position |
US4704694A (en) * | 1985-12-16 | 1987-11-03 | Automation Intelligence, Inc. | Learned part system |
US4821220A (en) * | 1986-07-25 | 1989-04-11 | Tektronix, Inc. | System for animating program operation and displaying time-based relationships |
US4885717A (en) * | 1986-09-25 | 1989-12-05 | Tektronix, Inc. | System for graphically representing operation of object-oriented programs |
US4939648A (en) * | 1987-12-02 | 1990-07-03 | Schlumberger Technology Corporation | Apparatus and method for monitoring well logging information |
US4891630A (en) * | 1988-04-22 | 1990-01-02 | Friedman Mark B | Computer vision system with improved object orientation technique |
US4953080A (en) * | 1988-04-25 | 1990-08-28 | Hewlett-Packard Company | Object management facility for maintaining data in a computer system |
EP0347162A3 (en) * | 1988-06-14 | 1990-09-12 | Tektronix, Inc. | Apparatus and methods for controlling data flow processes by generated instruction sequences |
US4931783A (en) | 1988-07-26 | 1990-06-05 | Apple Computer, Inc. | Method and apparatus for removable menu window |
US5041992A (en) * | 1988-10-24 | 1991-08-20 | University Of Pittsburgh | Interactive method of developing software interfaces |
JP3178531B2 (ja) | 1988-11-15 | 2001-06-18 | 株式会社日立製作所 | メニュー提示方法およびデータ処理装置 |
US5133075A (en) * | 1988-12-19 | 1992-07-21 | Hewlett-Packard Company | Method of monitoring changes in attribute values of object in an object-oriented database |
US5230063A (en) * | 1989-03-15 | 1993-07-20 | Sun Microsystems, Inc. | Method and apparatus for selecting button function and retaining selected optics on a display |
US5050090A (en) * | 1989-03-30 | 1991-09-17 | R. J. Reynolds Tobacco Company | Object placement method and apparatus |
US5371851A (en) * | 1989-04-26 | 1994-12-06 | Credence Systems Corporation | Graphical data base editor |
US5060276A (en) * | 1989-05-31 | 1991-10-22 | At&T Bell Laboratories | Technique for object orientation detection using a feed-forward neural network |
US5125091A (en) * | 1989-06-08 | 1992-06-23 | Hazox Corporation | Object oriented control of real-time processing |
US5181162A (en) * | 1989-12-06 | 1993-01-19 | Eastman Kodak Company | Document management and production system |
US5198802A (en) | 1989-12-15 | 1993-03-30 | International Business Machines Corp. | Combined keyboard and mouse entry |
US5093914A (en) * | 1989-12-15 | 1992-03-03 | At&T Bell Laboratories | Method of controlling the execution of object-oriented programs |
US5075848A (en) * | 1989-12-22 | 1991-12-24 | Intel Corporation | Object lifetime control in an object-oriented memory protection mechanism |
JPH0758487B2 (ja) | 1990-01-08 | 1995-06-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 表編集装置 |
GB9105278D0 (en) * | 1990-04-27 | 1991-04-24 | Sun Microsystems Inc | Method and apparatus for implementing object-oriented programming using unmodified c for a window-based computer system |
US5168441A (en) * | 1990-05-30 | 1992-12-01 | Allen-Bradley Company, Inc. | Methods for set up and programming of machine and process controllers |
US5177685A (en) * | 1990-08-09 | 1993-01-05 | Massachusetts Institute Of Technology | Automobile navigation system using real time spoken driving instructions |
US5280610A (en) * | 1990-08-14 | 1994-01-18 | Digital Equipment Corporation | Methods and apparatus for implementing data bases to provide object-oriented invocation of applications |
US5327529A (en) | 1990-09-24 | 1994-07-05 | Geoworks | Process of designing user's interfaces for application programs |
US5151987A (en) * | 1990-10-23 | 1992-09-29 | International Business Machines Corporation | Recovery objects in an object oriented computing environment |
US5276816A (en) * | 1990-12-31 | 1994-01-04 | International Business Machines Corporation | Icon object interface system and method |
US5119475A (en) * | 1991-03-13 | 1992-06-02 | Schlumberger Technology Corporation | Object-oriented framework for menu definition |
US5287447A (en) * | 1991-06-28 | 1994-02-15 | International Business Machines Corporation | Method and system for providing container object attributes to a non-container object |
US5371846A (en) * | 1991-10-16 | 1994-12-06 | International Business Machines Corporation | Non-linear scroll bar |
US5416895A (en) * | 1992-04-08 | 1995-05-16 | Borland International, Inc. | System and methods for improved spreadsheet interface with user-familiar objects |
US5630168A (en) * | 1992-10-27 | 1997-05-13 | Pi Systems Corporation | System for utilizing object oriented approach in a portable pen-based data acquisition system by passing digitized data by data type to hierarchically arranged program objects |
US5339433A (en) * | 1992-11-19 | 1994-08-16 | Borland International, Inc. | Symbol browsing in an object-oriented development system |
US5463784A (en) | 1994-08-17 | 1995-11-07 | Alpern; Erwin A. | Hand rail attachment for beds |
-
1993
- 1993-12-14 JP JP6515273A patent/JPH08505721A/ja active Pending
- 1993-12-14 DE DE69310187T patent/DE69310187T2/de not_active Expired - Lifetime
- 1993-12-14 CA CA002145679A patent/CA2145679C/en not_active Expired - Lifetime
- 1993-12-14 WO PCT/US1993/012192 patent/WO1994015286A1/en active IP Right Grant
- 1993-12-14 AU AU58278/94A patent/AU5827894A/en not_active Abandoned
- 1993-12-14 EP EP94904086A patent/EP0664025B1/en not_active Expired - Lifetime
- 1993-12-23 CN CN93112880.3A patent/CN1091536A/zh active Pending
-
1995
- 1995-06-06 US US08/482,314 patent/US5717877A/en not_active Expired - Lifetime
-
1997
- 1997-07-23 US US08/898,768 patent/US6146027A/en not_active Expired - Lifetime
-
1999
- 1999-06-10 US US09/329,578 patent/US6327627B1/en not_active Expired - Fee Related
-
2002
- 2002-01-17 JP JP2002009270A patent/JP2002278667A/ja active Pending
- 2002-01-17 JP JP2002009272A patent/JP2002278668A/ja active Pending
- 2002-01-17 JP JP2002009271A patent/JP4117132B2/ja not_active Expired - Lifetime
-
2008
- 2008-02-25 JP JP2008043556A patent/JP4393558B2/ja not_active Expired - Lifetime
- 2008-02-25 JP JP2008043554A patent/JP4393557B2/ja not_active Expired - Lifetime
- 2008-02-25 JP JP2008043555A patent/JP4612069B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9651782B2 (en) | 2013-02-19 | 2017-05-16 | Mirama Service Inc. | Wearable tracking device |
Also Published As
Publication number | Publication date |
---|---|
EP0664025A1 (en) | 1995-07-26 |
JP2008181540A (ja) | 2008-08-07 |
JP2002297386A (ja) | 2002-10-11 |
JP4393557B2 (ja) | 2010-01-06 |
JP2002278667A (ja) | 2002-09-27 |
EP0664025B1 (en) | 1997-04-23 |
DE69310187T2 (de) | 1997-11-27 |
CA2145679A1 (en) | 1994-07-07 |
US5717877A (en) | 1998-02-10 |
US6146027A (en) | 2000-11-14 |
CN1091536A (zh) | 1994-08-31 |
JP2002278668A (ja) | 2002-09-27 |
US6327627B1 (en) | 2001-12-04 |
JP4393558B2 (ja) | 2010-01-06 |
JP4612069B2 (ja) | 2011-01-12 |
CA2145679C (en) | 2002-10-22 |
AU5827894A (en) | 1994-07-19 |
JP4117132B2 (ja) | 2008-07-16 |
WO1994015286A1 (en) | 1994-07-07 |
JPH08505721A (ja) | 1996-06-18 |
DE69310187D1 (de) | 1997-05-28 |
JP2008176807A (ja) | 2008-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4612069B2 (ja) | データを表現し操作する方法 | |
JP3949159B2 (ja) | オブジェクト指向アプリケーション・インターフェイス | |
JP3839468B2 (ja) | 国際データ処理システム | |
JP3793226B2 (ja) | アトミック・コマンド・システム | |
JP3798014B2 (ja) | バルーン・ヘルプ・システム | |
JP3565850B2 (ja) | オブジェクト指向通知フレームワークシステム | |
JP3602532B2 (ja) | 増分コマンド・オブジェクトを有する並行処理装置 | |
JP3341893B2 (ja) | 並行フレームワーク・システム | |
EP0676067B1 (en) | Dialog system | |
US6259446B1 (en) | Menu state system | |
CA2145678C (en) | Command system | |
JPH08508596A (ja) | ランタイム・ローダ | |
JPH08509824A (ja) | 共同作業システム | |
EP0664020B1 (en) | Scrolling system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080717 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080723 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080818 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080821 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081024 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090126 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090224 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20090527 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090527 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090624 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090807 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090911 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20100514 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100910 |
|
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: 20101014 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131022 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131022 Year of fee payment: 3 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D04 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |