JPH09507322A - 複合文書のパーツ間のインタフェースを提供するフレーム構造 - Google Patents

複合文書のパーツ間のインタフェースを提供するフレーム構造

Info

Publication number
JPH09507322A
JPH09507322A JP7518182A JP51818295A JPH09507322A JP H09507322 A JPH09507322 A JP H09507322A JP 7518182 A JP7518182 A JP 7518182A JP 51818295 A JP51818295 A JP 51818295A JP H09507322 A JPH09507322 A JP H09507322A
Authority
JP
Japan
Prior art keywords
parts
shape
document
frame
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7518182A
Other languages
English (en)
Other versions
JP3950937B2 (ja
Inventor
ピエソル,カート,ダブリュー.
スッサー,ジョシュア,ビー.
ロゼス,リチャード,シー.
Original Assignee
アップル コンピュータ,インコーポレイテッド
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 アップル コンピュータ,インコーポレイテッド filed Critical アップル コンピュータ,インコーポレイテッド
Publication of JPH09507322A publication Critical patent/JPH09507322A/ja
Application granted granted Critical
Publication of JP3950937B2 publication Critical patent/JP3950937B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Abstract

(57)【要約】 コンピュータシステムにおける文書中心型ユーザインタフェースアーキテクチュアは、全ての文書の基本的な構築ブロックとして、パーツを採用する。全てのデータはパーツとしてシステムに格納される。そのパーツは、内容と付随するエディタとから構成される。その内容とエディタの機能性とは、パーツが位置する場所に係わりなく、デスクトップ上の或いはフォルダ内の文書であろうと、ユーザに利用可能となっている。他のパーツに関してコンテナとして、パーツは機能する。これによって、マルチメディア或いは複合文書のコンパイルや編集を容易にする。フレームと名付けられたデータ構造は、主たるパーツと従属のパーツとの間のインタフェースとして機能する。そして、この2つのパーツによって、互いの内部制約に関する広範な知識を必要とせずとも、図形構造に関して調整することが可能になる。

Description

【発明の詳細な説明】 複合文書のパーツ間のインタフェースを提供するフレーム構造発明の属する分野 本発明はコンピュータとそのコンピュータの人間の利用者との間のインタフェ ースに関し、特に、複合文書の創成と操作における柔軟性をより高めたコンピュ ータと人間とのインタフェースアーキテクチュアに関する。発明の背景 現在、パーソナルコンピュータにおいて利用される多くのアプリケーションは 、単一のモノシリックプログラムとして書かれており、これらの1つ1つで実行 される特定の基本的な機能をもつように設計されている。例えば、ワードプロセ シングプログラムは、テキスト文書を創成し編集するために設計されている。一 方、テキスト処理のためには設計されていないが、他の多くのプログラムもまた 、付随的に文字を使用することもある。例えば、帳票プログラムでは文字をその 帳票内に情報の行と列とを表すための記述子として挿入することが可能である。 同様に、ペインティングや描画プログラムのような図形プログラムは、そのペイ ンティングをした図形や描画した図形内にラベルとしてテキストを用いることが できるようになっている。これらの異なる種類のプログラム全ては、テキスト編 集機能を提供しているが、テキストが編集される方法は互いに異なっている。ア プリケーションのいくつかは、この機能に関して非常に大きな能力をもっている が、他のものではその能力かなり限定されている。結果として、ユーザは同じ仕 事、例えば、テキスト編集を実行するために異なる種類のアプリケーション夫々 に関して、異なる方法を学ぶことが要求されている。 それゆえ、必要とするときにはいつでもテキストのような文書のコンポーネン トを用いることができるとともに、それが存在する特定の環境に係わりなく、 同時に統一した方法でこれを創成したり編集できるアーキテクチュアを備えるこ とが望まれている。そのような方法を用いるなら、テキストがワードプロセシン グ文書、帳票、図形文書、或いは、他の文書の中に存在しようと、文字を編集た めに同じコマンドセットを用いることが可能である。ユーザはただ1つのテキス トエディタについてのみ学べばよく、これによって編集過程はもっと快適なもの になる。 さらにこれらの考え方に沿って、文書自身の中で複合文書のコンポーネントを 編集できることが望まれている。本発明の中では、複合文書とは、2つ以上の異 なる種類のプログラムが用いられて1つの統合された情報としての形をなすもの である。例えば、それには、図形プログラムによって創成された図形を含むテキ スト文書がある。これら2つの種類の情報は互いに包含しあうという関係をもっ ている。即ち、テキスト文書は、図形オブジェクトがテキスト文書とともに移動 し、そのテキスト(コンテナ)文書によって影響されるというように、図形オブ ジェクトのコンテナとして機能する。 過去において、この種の複合文書は2つの別個のアプリケーションを実行する ことによって創成された。ワードプロセシングプログラムはその文書のテキスト 部分を創成するために用いられた。別の図形アプリケーションは図形を生成する ために用いられた。これら2つのプログラムでの生成物を単一の文書に組み込む ために、図形はある特定のデータタイプ或いは形式で保存され、このデータ構造 の内容がワードプロセシング文書内に、例えば、カット・ペースト操作を用いて 、置かれる。これら別々の形の情報を1つの文書にまとめることは、しばしば、 プレゼンテーションマネージャとして言及される第3のアプリケーションによっ て達成されていた。 さて、一度、図形がワードプロセシング文書に埋め込まれたなら、その内容は 静的なものとなる。もし、その図形を変更する必要があるなら、ユーザは図形プ ログラムを呼び出して、もとの図面を取り出し、そのプログラム内でその図形を 編集する必要がある。その編集が複合文書の外でなされると、ユーザは その変更がなされたように複合文書内でその変更を見ることはできない。その改 訂された図面はその後ワードプロセシング文書内に元々の図面の代わりに埋め込 まれねばならない。 種々のアプリケーションの間を切り替えるための必要を克服するために、複合 文書の種々のコンポーネントがその複合文書内で編集できるようにすることが望 ましい。このやり方は時間を節約し手順を簡略にするのみならず、ユーザがそれ らが作られている複合文書内の文脈で変更をそのまま見ることができるようにも する。 従って、本発明の目的は、タスクが実行される環境に係わりなく、そのタスク に対して一貫したユーザインタフェースが備えられたシステムを提供することで ある。さらに、このような考え方に沿って、本発明はまた、複合文書の主たるパ ーツと埋め込まれたパーツとの間でのインタフェースとしての役割を果たす新し いデータ構造を提供し、これらのパーツ間での協働を容易にすることを別の目的 としている。発明の概略説明 これらの目的を追求かつ達成するため、本発明は、以前は不可能であった方法 で異なる種類全ての情報伝達要素が文書内で結合され操作できるようにする統一 されたインタフェースを備える。本発明の文脈にそえば、文書はインタフェース の要素であると考えられ、そのインタフェースの目的はユーザに情報を提示し、 その情報、例えば、テキスト文書や図形文書が編集できるようにすることである 。 インタフェースの統一性は、タスクを達成するために、以下、“パーツ”とし て言及される基本構築ブロックを採用した文書中心のアーキテクチュアを通して 備えられる。1つのパーツは、内容とその操作子という2つの主要なコンポーネ ントで構成される自己完結型の要素である。これら2つのコンポーネントは、そ のパーツがシステム内のどこに存在していようと、例えば、フォルダ 内やデスクトップ上の文書の要素として、常にユーザから利用可能である。その パーツの操作子は、パーツの内容に関するどんな種類のエディタでもよいし、ビ ューワでもよいし、必要であるなら、ユーザによってそれは選択可能である。例 えば、パーツの内容がテキストであるなら、そのパーツのコンポーネントである エディタは、ユーザが親しんでいるどんなワードプロセッサでもよい。そのワー ドプロセッサは、テキストが埋め込まれているところではどこでも、そのパーツ のテキスト内容を編集するために用いられる。従って、たとえ、そのパーツが非 テキスト文書、例えば、帳票内に埋め込まれていても、そのパーツのテキストの 内容は、依然として、ユーザが選択したワードプロセッサで編集できる。 この特徴を示すインタフェースは、より単純でより強力であるという顕著な固 有の特性を有している。その単純さは、ユーザはテキストを編集するといった特 定のタスクを実行するために1つの方法を学べば良いという事実に起因する。同 時に、そのテキストエディタは、多くのアプリケーションで現在見られるそれほ ど性能のよくないものを置き換えてしまう十分な機能をもったモジュールであり 得るために非常に強力であるといえる。 パーツの2つの基本的なコンポーネントは、パーツをオブジェクト(その固有 の内容のために)としても、(その固有の操作子或いはエディタに起因する)ア プリケーションとしても機能させ得る。これらの特徴により、パーツは数多くの 機能を提供する。例えば、どの文書もパーツであり、どのパーツも文書として作 用する。これを例示すると、テキストパーツは、文字を含む文書であり、図形パ ーツは線や円を含む文書である。 このパーツの別の特徴は、それがコンテナとして機能することである。例えば 、1つのパーツは別のパーツを含むことができる。さらに、パーツは、それが含 むパーツの種類に限定されない。むしろ、1つのパーツがどんな種類のパーツを 含むことができるなら、それは全種類のパーツを含むこともできる。このパーツ の特徴は、本発明を複合文書の創成に理想的なアーキテクチュアにし ている。文書はパーツを含んでいるので、それは文書や操作子を変えることなく 異なる種類の情報を表現する全ての種類のパーツを自動的に含むことができる。 これらの特徴により、ユーザインタフェースでは所望の結果を生み出すように 異なるパーツを調整することで複合文書を構成するようになる。この意味で本発 明のインタフェースは、アプリケーション指向というよりはむしろ文書中心型で ある。即ち、従来のアプリケーションは本発明のインタフェースの役割を果たし ていないが、本発明はパーツを形成するために結合されるデータからは分離して いる。 このインタフェースの別の特徴はパーツをユーザに表現する方法である。パー ツは、そのパーツのハンドルを提供する小さな絵ともいえるアイコンとして表現 され、そのアイコンによって全体が操作できるようになっている。例えば、アイ コンはデスクトップ上とウィンドウ間でドラッグされるし、そのアイコン自体が ドラッグ操作によって他のアイコンをドロップする目的地ともなり得る。また、 パーツの内容は、従来のアプリケーションに類似したデスクトップ上のウィンド ウによって定義されたワークスペースに拡大される。 パーツはまたフレームとしても表現される。フレームはパーツを表現する表示 画面のある領域である。アイコンのように、フレームはパーツにハンドルを提供 し、そのハンドルによって全体として操作が可能になる。フレームもデスクトッ プ上やウィンドウ間でドラッグされ、それ自体がドラッグ操作によるドロップ先 を提供しており、オープンされてウィンドウとなったり、クローズさされてフレ ームに戻ったりする。しかしながら、アイコンとは異なり、フレームでパーツの 内容を見ることや編集することができる。 フレームとは、例えば文書のような主たる(コンテナ)パーツと、埋め込まれ た従たるパーツとの間のインタフェースとして機能するデータ構造である。フレ ームは、数多くの属性から成り立っており、その属性のいくつかは主たる(コン テナ)パーツによって、またあるものは埋め込まれた従たるパーツによ って制御される。このようなフレームの媒介によって、主たる(コンテナ)パー ツと埋め込まれた従たるパーツに関する操作子は、主たる(コンテナ)パーツ内 で埋め込まれた従たるパーツに与えられる空間割り当てを調整する。 ユーザインタフェースに関し、基本的構築ブロックとしてパーツを利用するこ とによって、パーソナルコンピュータのアプリケーションでは以前には利用不可 能であった能力が備えられる。これらの能力は、これ以降、本発明の好適な実施 例での具体例を参照して説明する。図面の簡単な説明 図1はコンピュータシステムの主要な要素のブロック図である。 図2A−図2Bは夫々表示画面の例であり、フォルダから文書にパーツを ドラッグする様子を示している。 図3は夫々表示画面の例であり、フレームを起動する様子を示している。 図4はアクティブなフレーム内で選択されたフレームの様子を示す図であ る。 図5は複合文書のレイアウトを定義する基本プリミティブの様子を示す図 である。 図6A−図6Cはフレームとファセット構造の例を示す図である。 図7A−図7Fはフレームとファセット属性に関し、埋め込まれた従属パ ーツと主たる(コンテナ)パーツとの間で発生する調整の例を示すフローを示す 図である。 図8はエディタを立ち上げる過程を示すフローチャートである。 図9A−図9Eはデスクトップと文書との間でのパーツのドラッグを示す 表示画面の移り変わりを示す図である。 図10−図10Bはパーツをドラッグしてドロップする過程を示すフロー チャートである。 図11−図11Cは、あるパーツから別のパーツにマテリアルを複写す る様子を示す表示画面の移り変わりを示す図である。 図12A−図12Cは、あるパーツから別のパーツにマテリアルを複写す る様子を示す表示画面の移り変わりを示す図である。 図13A−図13Cは、あるパーツから別のパーツにマテリアルを複写す る様子を示す表示画面の移り変わりを示す図である。 図14は、あるパーツから別のパーツにマテリアルを置く過程を示すフロ ーチャートである。 図15は、アクセス制限されたパーツを示す表示画面である。 図16は、パーツビン示す表示画面である。実施例の詳細な説明 本発明とこれによって得られる利点の理解とを容易にするために、本発明の特 徴をアップルコンピュータ株式会社によって供給されるマッキントッシュ しながら、関連技術に詳しいものにとっては、本発明の原理はこの特定の動作環 境によって限定されるものではないことが理解されよう。むしろ、本発明を基礎 とする概念は、文書、特に、複合文書のコンパイルや編集に統一されたインタフ ェースを提供することが望ましいどんな種類のコンピュータオペレーティングシ ステムにも適用できる。 本発明において用いられる典型的な種類のコンピュータシステムは、図1に示 したブロック図のような構成である。ただし、そのコンピュータそれ自体の構造 は、本発明の一部を構成している訳ではない。ここでは、本発明の特徴がどのよ うにコンピュータの構造と協働しているかを、後のでの理解のために簡単に説明 する。図1において、システムは種々の外部周辺装置12を接続したコンピュー タ10を含んでいる。コンピュータ10は、中央処理装置(CPU)14、通常 はRAM16とROM18を有するスタティックメモリと磁気或いは光学ディス ク20のような不揮発性記憶装置とが組み込まれた主記憶とを含 んでいる。CPU14は、内部バス22を介してこれらメモリの1つ1つと交信 する。周辺装置12は、キーボード24のようなデータ入力装置と、マウス、ト ラックボール等のようなポインティング・カーソル制御装置26とを含んでいる 。CRTモニタやLCDスクリーンのような表示装置28は、コンピュータ内で 処理されている情報、例えば、文書の内容を可視化して表示する。この情報のハ ードコピーはプリンタ30或いは同様の装置によって備えられる。これらの外部 周辺装置各々は、コンピュータの1つ以上の入出力ポートによって、CPU14 と交信する。 本発明は、特に、CPU14がキーボード24やカーソル制御装置26によっ て操作される情報を取り扱う方法を制御したり、また、操作された情報がユーザ に対して表示装置30を通して表示される方法を制御するシステムに関するもの である。本発明の原理を用いるインタフェースの例が図2Aと図2Bに示されて いる。これらの図は、ワークスペース36を定義するデスクトップ34を図示し ている。また、そのデスクトップにはメニューバー38が含まれている。ワーク スペース36の中には、2つのウィンドウ40、42がある。左側のウィンドウ 40は、種々のパーツを表現するアイコンを含むフォルダのウィンドウである。 図2Aに示されているように、3つのアイコン44はテキストパーツに属し、4 番目のアイコン45は図形パーツを表現し、さらに別のアイコン46は帳票46 を表現している。6番目のアイコン48は、プレゼンテーションスライドの創成 のために用いられるパーツを表現するステーショナリアイコンである。図2Aに おいて、右側のウィンドウ42は、テキスト文書を含んでいる。即ち、その文書 はテキストパーツ50を含んでいる。このテキストパーツはウィンドウ42の中 にテキストをタイプすることにより、或いは、そのウィンドウ内にアイコンによ って表現され以前に創成されたテキストパーツをオープンすることにより創成さ れる。 図2Bは図形アイコン45が左側のウィンドウ40のフォルダから右側のウィ ンドウ42のテキスト文書にドラッグされた操作の結果を図示している。図 2Aと図2Bに示されているようなデスクトップ・メタフォーを備えたユーザイ ンタフェースでは知られているように、ドラッギングとは、オブジェクトがデス クトップ上やウィンドウ内でカーソル制御装置26を起動することで、移動され たり複写されたりするときになされる操作である。一度、図形アイコンが文書内 に置かれたなら、その内容は、フレーム52に表示される。その文書は今や図形 要素とテキスト要素とを含んでいるのであるから、それは複合文書として言及さ れる。 複合文書において、例えば、エディタのような異なるプログラム実行モジュー ルは共働し、単一の統合された情報を生成する。そのような実行モジュール各々 は、その文書の全情報の内容の1つのセグメント、即ち、パーツを制御する。包 含されているものは、その文書のパーツを互いに関連づけるために用いられる。 包含されているものは、ユーザが包含されたパーツ或いは従属する埋め込まれた パーツが主たる(コンテナ)パーツとともに移動したり、或いは、主たるパーツ によって影響を受けることを期待する論理的な関係を表現する。 テキスト50とフレーム52内にある図形要素は別々のパーツに属し、これら のパーツがいっしよになって複合文書を作り上げる。前述したように、パーツは 、内容とその内容に関する操作子とで構成される自己完結型のエンティティであ る。これら2つのコンポーネントは、いつもそのパーツがアクセスされるとき、 それがデスクトップのどこに位置しているかに関わらず、利用可能である。従っ て、図2Aに示されているように、図形アイコン45がウィンドウ40のフォル ダに位置しているとき、そのアイコンは図形要素とその要素に関するエディタと を含むパーツを表現している。そのパーツがウィンドウ42の文書に移動すると き、その内容はその移動とともに移動し、その内容に関するエディタの機能もユ ーザには利用可能である。 この特徴で重要なことは、パーツの内容がどこに位置していようと、その内容 が常に編集可能であるか、さもなければ操作可能であるという事実である。従っ て、図2Bの複合文書において、テキストの内容50はその文書内で、例 えば、そのテキストを初めに創成するために用いられたのと同じワードプロセッ サを用いることによって、編集可能である。図形エディタがフレーム52内でパ ーツのコンポーネントとして存在しているのであるから、そのパーツの図形の内 容が適宜、直接編集可能となる。従って、パーソナルコンピュータに関する以前 のアプリケーションとは異なって、ユーザは例えば、デスクトップ34の他のウ ィンドウにおいて図形アプリケーションをオープンし、望むように図形情報を編 集し、それから編集された図形をウィンドウ42の文書にイクスポートするとい った必要はない。むしろ、ユーザは、中間的な工程を導入することなく、直接ウ ィンドウ42の文書の内容の中でフレーム52の内容を編集できる。そのユーザ はアプリケーションよりむしろ文書の内容に注意を向け、周辺の文書によって備 えられる文脈を利用できる。 それ故に、パーツとは、基幹システム技術で自律性のある自己完結的なオブジ ェクトである。それは、どんな種類のソフトウェアエンジンでも環境でも使用す ることができ、ユーザはパーツについて特別なエディタの操作を学ぶ必要はない 。そのカテゴリーのパーツのエディタが基幹システムで表現されている限り、ユ ーザは、そのパーツの能力を十分に利用することができる。さらに、もし、テキ スト部分が特別なテキストエディタ(ワードプロセッサ)で生成されたなら、ユ ーザはただそのテキストエディタをそのパーツに用いるように限定されている訳 ではない。もし、そのユーザが異なるワードプロセッサのコマンドにより親しん でいるなら、そのプロセッサを、コンピュータシステムでの全てのテキストパー ツに関する好適なエディタとして指定できる。 パーツは、文書やその内容にのみ限定されない。むしろ、システム内のどのオ ブジェクトもパーツを構成する。従って、ウィンドウ40のフォルダは、パーツ であり、その内容はアイコン44−48である。同様に、デスクトップ34それ 自身もパーツであり、ダイヤログボックスや他のユーザインタフェースオブジェ クトも同様である。 フレームとアイコンは、パーツの2者択一的な表示である。ユーザは、パー ツのフレーム表示とアイコン表示とを切り替えることができ、これは、適当なキ ーボードからのコマンドやメニューコマンドによってなされる。もし、文書が大 きく、例えば、数ページにも及ぶなら、その一部分だけしかフレームに表示され ない。それゆえ、アイコンのようなフレームは、ウィンドウ内にオープンするこ とができ、これによって、例えば、これをスクロールして大きなパーツの全ての 内容を見る事ができ、ウィンドウ内で利用可能な機能、例えば、拡大機能、を用 いて編集することができる。同様に、そのパーツはウィンドウ表示からクローズ してフレーム表示に戻すこともできる。フレームは、その内容を適宜編集するこ とができるという点で、アイコンと異なる。フレームはまた、1つのフレーム、 或は、複数のフレームがウィンドウ内に存在するので、ウィンドウとも異なる。 ウィンドウは、オブジェクトの遷移的なビューであり、それは、ただパーツが編 集されたり、検証されたりするときにのみ、オープンされたままになる。これに 対して、フレームは、パーツの内容の永久的な表示方法である。 パーツ、それはアイコン或はフレームの表示形式をとっているが、それは、他 のパーツのコンテナとしても働く。図2Bの例において、文字50はフレーム内 に存在するが、そのフレームの境界は、ウィンドウ42のそれと同じである。こ の比較的大きなフレームは、図形パーツに関する比較的小さなフレーム52を含 んでいる。その文字部分は、ウィンドウの最外部にあるので、それば、“ルート パーツ”とラベルが付される。一般的にいって、そのルートパーツは、ウィンド ウに関する基本的な編集方針を確立する。 ルートパーツは、図2Aで示されるアイコン48のような、ステイショナリア イコンによって生成される。一般に、ステイショナリアイコンは、予め定義され たパーツを表現し、物理世界におけるペーパ台についてのメタフォーとして機能 する。新しい文書が生成されるとき、人はペーパ台より未使用の用紙を一枚むし りとり、文書の内容、例えば、単語や図面などをその上に置く。ステイショナリ アイコンも同様の役割を果たすのである。ユーザが新しい文字文書 を生成したい場合、テキスト文書ステイショナリアイコンが、例えば、それをダ ブルクリックすることによって、オープンされる。これに応答して、そのステイ ショナリアイコンは、それ自身のコピーを生成し(或は、“むしりとり”)、ウ ィンドウやフレーム内にそれをオープンする。このコピーは、最初は何の内容も 入っていないブランクか、或は、レターヘッドや会社のロゴのような所定の情報 をもった普通のパーツである。それから、ユーザは、その文書に付加的な内容、 例えば、文字をいれる。 ステイショナリそれ自身は、ウィンドウとしてもフレームとしてもオープンは されず、ただアイコンとして存在する。はぎとられたコピーのみが、オープンす るのである。従って、ステイショナリアイコンが文書内にドラッグされた場合、 それ自身をフレーム内にオープンするというよりむしろ、コピーがむしりとられ 、文書内に置かれ、そのコピーがフレーム内でオープンするのである。ステイシ ョナリアイコンそれ自身は、移動前に占めていた位置に戻る。これによって、ス テイショナリが間違って文書に挿入されたり、或は、失われてしまうことを防い でいる。 フレームは、コンテナとして機能するのであるから、それはウィンドウの良く 知られた性質を示すことになる。例えば、ユーザが図形オブジェクトのような固 有の内容を選択すると、選択された内容を含むフレームはアクティブになる。パ ーツがアクティブであると、それはコマンドやキーボードのイベントを受け付け 、そのメニューと他のユーザインタフェースオプションが表示される。フレーム のアクティベーションの例が図3Aと図3Bに示されている。図3Aは、テキス トと図形部分とを有する複合文書を含むウィンドウ54を有したデスクトップを 示す。この複合文書において、テキストはその文書のルートパーツを形成する。 図3Aの例では、そのテキストの一部56が選択され、反転表示されている。こ の場合、選択されたパーツを含むフレームは、ウィンドウ自身の境界に接してい る。デスクトップのメニューバー58は、テキストを編集するために適切なコマ ンドを含んでいる。 図3Bは、図形要素、即ち、三角形60が選択された例を示している。その図 形要素を含むフレームが、今度はアクティブになり、その境界線は、点線62に よって示されている。そのアクティブフレームが今回は図形パーツであるので、 メニューバー58のコマンドは、図形の内容を編集するのに適切なものに変えら れる。さらに、パレット64がデスクトップに表示され、アクティブフレームの 図形の内容を編集するのに必要なツールを備える。 フレームをアクティベートすることに加え、ユーザは、また、フレームを選択 しても良い。そのフレーム選択は、例えば、フレームをアクティベートしてその 境界が見えるようにし、その後、カーソルのポインタをフレームの境界上に位置 させる一方、カーソル制御装置のボタンを押してすることで達成される。図4は 、図形の内容とテキストの内容の両方を含むフレーム66を図示している。その フレームの境界68は、点線によって示され、それがアクティブフレームである という事実を示している。そのアクティブフレームの中に、テキストの内容を含 むフレーム70がある。このフレームは、カーソル72のポインタをフレームの 境界73の上に位置させる一方、カーソル制御装置のボタンを押すことによって 選択される。フレーム72が選択されたという事実を示すために、選択フレーム 72の境界73は、アクティブフレーム66のそれとは異なる外観となる。例え ば、その境界は、図4にしめすように、広くなる。さらに加えて、サイズ変更ハ ンドル74が備えられ、これを用いてフレームの形やサイズをよく知られた方法 で変化させることができる。 一般に、パーツの内容の一部或はいくつかが選択されたときはいつでも、選択 された要素を含む最小のフレームがアクティブフレームとなる。従って、フレー ム70内の1つのワードが、例えば、カーソルをそのワードに位置付けしてカー ソル制御ボタンをクリックすることによって、選択されると、フレーム70はそ の状態が選択状態よりアクティブ状態へと変化する。同時に、フレーム66の境 界は目には見えなくなる。なぜなら、このフレームは、もはやアクティブでもな ければ、選択されている訳でもないからである。逆に、もしフレ ーム66が、その境界68上をクリックすることで選択されたなら、境界73が 消滅し、境界68が現れるようになり、フレーム66を含むフレーム(或はウィ ンドウ)の境界(図4には示されていない)が高輝度表示になって、それがアク ティブであることを示す。 図3A、図3B、図4の例において、フレームは矩形であるように示されてい る。さて、この形はたいていの種類のパーツの内容を表示するためには好ましい ものであるが、フレームの形は、矩形に限定される必要はない。むしろ、そのフ レームは、その表示内容に適するようにどんな形をとっても良い。 フレームは、パーツそれ自身の要素ではない。むしろ、クレームは文書のレイ アウトを定義するプリミティブを形成する3つの別々のデータ構造の1つである 。これら3つのデータ構造は、カンバスとフレームと変換とを有している。図5 において、カンバス75は文書の全体的な文脈を表現するデータ構造である。こ れは、座標空間の説明と一連の図形コマンドを画像や表現形式の中に取り込むメ カニズムとを含んでいる。カンバスの例は、コンピュータ画面、プリンタに関す るページ記述言語、コンピュータディスプレイについての表示リスト上でのビッ トマップ或はピクセルマップである。 フレーム76は、主たる(コンテナ)パーツと埋めこまれるパーツとの間で共 有情報貯蔵所としての役目を果たすデータ構造である。変換は、図形コマンドに 適用される1連の幾何学的説明を表現しているデータ構造である。図5の例にお いて、その変換は、参照点、例えば、カンバス75の左上端の点からのオフセッ ト77として表現される。他の種類の変換としては、スケーリング、回転、ねじ れ、歪みなどがある。一般的に言って、変換とは、カンバス75上でのフレーム 76の位置や方向性についての幾何学的な説明である。それは、実際のところ、 2次元的或は3次元的なものである。 主たる(コンテナ)パーツと埋めこまれるパーツとの間でのインタフェースと して機能するために、フレーム各々が多くの特徴的な属性をもったデータ構造な のである。これらの属性のいくつかは、種々の“シェイプ”と呼ばれる。 これらシェイプ各々は、主たる(コンテナ)パーツと埋めこまれるパーツとの間 で共有されるある文書文脈を定義する領域の幾何学的な説明を表現する。シェイ プのいくつかは主たる(コンテナ)パーツで制御され、一方、他のものは埋めこ まれるパーツによって決定される。一般に、これらの種々のシェイプは、文書の 文脈の座標空間の任意の領域、例えば、カンバスを表現できる。この点、フレー ムのシェイプは、隣接領域と同様に分離領域を表現できる。 フレームの特徴的なシェイプは、図6Aに示されている。この図において、左 側の図はテキスト(ルートパーツ)と三角形によって表現される図形パーツとを 含む複合文書を示す。一方、右側の図は図形パーツに関するフレームのシェイプ の属性を示している。 フレームの特徴的な属性の1つは、フレームシェイプである。そのシェイプは 、主たる(コンテナ)パーツ(テキスト)によって決定され、その埋め込まれた パーツ(図形要素)にそのレイアウトを示すために用いる幾何学的な領域を記述 する。図6Aにおいて、フレームシェイプは、外の実線の境界78によって示さ れている。そのシェイプによって示される領域は、スケーリングやライン切断や 、埋め込まれたパーツに関するエディタによってなされねばならないその他類似 のレイアウト決定に影響する。ただ、主たる(コンテナ)パーツだけが直接にフ レームシェイプを変更できる。このシェイプが主たる(コンテナ)パーツによっ て変更されたとき、通知が埋め込まれたパーツに対してなされ、適切な変更が埋 め込まれたパーツの表示及び/或は内容においてもなされるようにしている。 フレームのさらに別の特徴的な属性は、図6Aに内側に斜線が施されている境 界79で示されている使用中シェイプである。このシェイプは、埋め込まれたパ ーツによって決定され、主たる(コンテナ)パーツに対して、その埋め込まれた パーツによって実際に使用されている幾何学領域の部分を説明する。このシェイ プは、必要に応じてフレームシェイプのサブセットになる。主たる(コンテナ) パーツは、使用中シェイプに引張ってくる事が許されているのではな く、使用中シェイプの外側の領域、それがたとえ、フレームシェイプ78の内側 であっても、その領域に引張ってくることは自由である。その埋め込まれたパー ツが使用中シェイプを変更でき、それがなされたときには、その埋め込まれたパ ートはその変更を主たる(コンテナ)パーツに通知する。 フレームの他の2つの属性は、そのグループタグとその変換である。主たる( コンテナ)パーツが埋め込まれるに適当な空間を備えることができないとき、そ の埋め込まれたパーツは主たる(コンテナ)パーツから新しいフレームを要求す ることができる。そのグループタグは、数字のような識別子であり、それは、与 えられた主たる(コンテナ)パーツにおいて一連の関連したフレームをただ一つ だけ識別する。ここで、主たるパーツ(コンテナ)の全ては、単一の埋め込まれ たパーツと関連している。主たる(コンテナ)パーツはそのフレームグループタ グを用いてグループにおける種々のフレームの幾何学的な関係を制御する。 フレーム変換は、フレーム内の埋め込まれたパーツを表示するために用いられ る全ての図形コマンドに適用されることになる幾何学的な変換を特定するデータ 構造である。例えば、そのパーツが90°回転させられるとするなら、フレーム 内に表示されている全ての項目もその角度だけ回転する。この変換は、注目フレ ーム内に囲まれている全てのフレームと埋め込まれているパーツそれ自身に適用 される。フレーム変換はその埋め込まれたパーツによって制御される。 主たる(コンテナ)パーツと埋め込まれたパーツとの間の関係において係わり 合う別のデータ構造は、フレームのファセットである。ファセットは、特定の配 置と、主たる(コンテナ)パーツと埋め込まれたパーツとの間の幾何学的関係と 関連のあるクリッピング情報を表現する。フレームのように、ファセットもまた 多くの特徴的な属性をもっている。これらの1つはその属性が関連するフレーム である。ファセットの属性の別のグループは、種々のシェイプを定義する。ファ セットのシェイプは図6B及び図6Cに示されている。これら2 つの図の例において、ルートパーツはテキスト文書であり、これは3つの図形パ ーツ、即ち、三角形、楕円、表を含んでいる。図6Bの右側の図は三角形のパー ツに関するファセットのシェイプを示し、図6Cの右側の図は楕円のパーツに関 するファセットのシェイプを示す。説明を明瞭にするために、これら2つのパー ツに関するフレームのシェイプ78と80は夫々、図6Bと図6Cとに示されて いる。 ファセットの属性の1つはクリッピングシェイプである。クリッピングシェイ プは、埋め込まれたパーツに、パーツの内容が描画或は表示可能な幾何学的領域 を説明する。図6Bと図6Cの例において、不透明な三角形の図形パーツの右下 部は表が重なりあっている。それゆえ、その三角形のクリッピングシェイプ81 は、その表によって重なりあっているこの部分を除外する。クリッピングシェイ プは、コンテナ(主たるパーツ)、即ち、図6Bで図示された例のルートパーツ を形成するテキスト文書によって決定される。そのコンテナ(主たるパーツ)だ けがクリッピングシェイプを変更でき、そして、それがなされたときには、その 変更を埋め込まれたパーツに通知する。 ファセットの特徴的な属性である他のシェイプは、そのアクティブシェイプで あり、それは図6Bにおいて細い実線の三角形のシェイプ82で示されている。 このシェイプは、埋め込まれたパーツによって決定され、フレームシェイプや使 用中シェイプとは独立である。これは、主たる(コンテナ)パーツに、埋め込ま れたパーツがカーソル制御入力のような幾何学的に関係したイベントを受信する べき幾何学的領域を説明する。この領域内でイベントが発生したときにはいつで も、ユーザインタフェースはそのイベントを主たる(コンテナ)パーツではなく むしろ、埋め込まれたパーツに伝える。しかしながら、主たる(コンテナ)パー ツは、その埋め込まれたパーツのアクティブシェイプ82の外側の領域で発生す るイベントには自由に応答する。 ファセットのもう1つの特徴的な属性は、ファセット変換である。このデータ 構造は、主たる(コンテナ)パーツによって制御され、その主たる(コンテ ナ)パーツ内で埋め込まれたパーツを表示するために用いられる全ての図形コマ ンドに適用される変換を特定する。即ち、この変換は、主たる(コンテナ)パー ツのカンバス上で情報がどこにどのように表示されるかを指示する。この変換は 、注目ファセット内で入れ子になった全てのファセットと、埋め込まれたパーツ に適用する。 これら2つの属性に加えて、ファセットは他のシェイプを含む。これらの1つ は不透明シェイプである。このシェイプは埋め込まれたパーツによって制御され 、主たる(コンテナ)パーツにそのクリッピングシェイプのどの領域が不透明で あるかを説明する。不透明領域は、埋め込まれたパーツがパーツの描画結果を用 い、その埋め込まれたパーツがそれ自身の表示を完成させるために隠す領域のこ とである。図6Bと図6Cの例において、楕円は不透明であり、クリッピングシ ェイプ83と同一の広がりをもつフレームシェイプ80(これらは図6Cで別々 に描かれているが)のフレーム内に含まれている。このパーツは、所望の色、例 えば、青の透明な網を、それが隠すものに施す。表示中、このパーツはカンバス 上で以前描画された結果を用い、その網の下ではより青みがかったようにするた めに、描かれた色を変更する。 このパーツに関する不透明シェイプ84は、図6Cに示されている。このシェ イプは、埋め込まれたパーツ、即ち、楕円によって制御される。それは表示シス テムによって用いられ、z軸方向、即ち、表示平面に垂直方向に関し、埋め込ま れたパーツの下側に現れるパーツに関する表示及びクリッピング情報の順序を決 定する。埋め込まれたパーツが不透明領域のシェイプを変更すると、そのパーツ は主たる(コンテナ)パーツに通知する。 ファセットのもう1つの特徴的なシェイプは、オーバラップシェイプである。 このシェイプは主たる(コンテナ)パーツによって制御され、その埋め込まれた パーツに、主たる(コンテナ)パーツの不透明な内容によって隠されたクリッピ ングシェイプの部分について、説明する。三角形のパーツに関するオーバラップ シェイプ85は、図6Bに示されている。その図に示されているように、 クリッピングシェイプ81内の幾何学的領域が楕円パーツについての不透明シェ イプ84に一致している。説明を明瞭なものとするために、図6Bにおいて、オ ーバラップシェイプ85はクリッピングシェイプ81からオフセットがあるよう に図示されている。しかしながら、実際には、オーバラップシェイプの上と左の 境界は、クリッピングシェイプの端と一致する。 主たる(コンテナ)パーツの不透明な内容は、埋め込まれたパーツの表示コー ドの結果を必要とする内容であり、これによって主たる(コンテナ)パーツは不 透明な内容を正しく描画することができる。その埋め込まれたパーツがこの領域 におけるその内容の何かを変更したときにはいつでも、そのパーツは主たる(コ ンテナ)パーツに通知を行なって必要な表示変更がなされるようにしなければな らない。 フレームとファセットは各々、特徴的なシェイプやこれらに関係した他の特徴 的な属性をもつことが理解できる。一般的に言って、フレームの属性は持続性が あり、文書に関するファイルとともに保存される。これとは反対に、ファセット の属性は一時的なものであり、文書が画面上に表示中にだけ現れるものである。 そのフレームデータ構造は、主たる(コンテナ)パーツとその埋め込まれたパ ーツが、互いの内部制約をできる限り知らないようにして、文書構造を互いに調 整できるようにしている。主たる(コンテナ)パートとその埋め込まれたパート との間で発生する調整の例は、図7A−図7Fに示されている。これらのケース 各々において、シェイプデータ構造は主たる(コンテナ)パーツとその埋め込ま れたパーツとの間でやりとりされる。そのような全ての場合において、主たる( コンテナ)パーツは、その埋め込まれたパーツの座標系からそれ自身の座標系へ そのシェイプを変換する役目を負っている。図7Aの例では、フレームシェイプ は、コンテナで変更されている。この手順は、ユーザからのコマンドで始まり、 例えば、1つ以上のフレームサイズ変更ハンドルを移動させることによって、フ レームのサイズを変更する。ステップ701では、主た る(コンテナ)パーツは、その埋め込まれたパーツのために、新たなフレームシ ェイプを決定し、その新しいシェイプをフレームに通知する。主たる(コンテナ )パーツは、コンテナフレームの座標空間から埋め込まれたフレームの座標空間 へとシェイプを変換する役目を負っている。この新しいシェイプはフレームシェ イプとして格納され、その埋め込まれたパーツにはステップ702でその変更が 通知される。ステップ703では、その組み込まれたパーツは、自分自身を新し いフレームシェイプに調整する。例えば、テキストエディタがテキストのレイア ウトのためのマージンをリセットするかもしれない。もし、使用中シェイプ、及 び、アクティブシェイプがフレームシェイプのマージンと異なっているならば、 その埋め込まれたパーツもまた、これら新しいシェイプを計算する。その時に、 制御は、新しい使用中及びアクティブシェイプの通知を行なって、主たる(コン テナ)パーツに戻る。ステップ704では主たる(コンテナ)パーツは、新しい フレームシェイプに対応するためにフレームのファセットのクリッピングシェイ プを変更し、その新しいクリッピングシェイプをファセットに通知する。 図7Bは、埋め込まれたパーツが新しいフレームシェイプを要求するときに発 生する手順を図示している。この要求は、内容が正しくレイアウトされるために 付加的な空間を必要とする組み込まれたパーツの内容の編集結果として、もたら されるかもしれない。ステップ705では、埋め込まれたパーツが新しいフレー ムシェイプを必要とするという決定がなされ、新しいシェイプのための表示フレ ームに要求が伝えられる。古いシェイプは、後で必要とされる場合に備えて、埋 め込まれたパーツによって保存される。ステップ706では、表示フレームはそ の要求を主たる(コンテナ)パーツに伝え、そのパーツはその要求を主たる(コ ンテナ)パーツの座標空間でのものに変換する。ステップ707では、主たる( コンテナ)パーツは、その要求への返答方法を決定する。それは、望まれた形に 対する要求を認めるかもしれないし、或は、より小さい形が要求されていると決 定するかもしれない。フレームシェイプが一度決定さ れたなら、そのフレームのファセットに関するクリッピングシェイプもまた変形 され、その許されたシェイプに関して、通知がフレームに与えられる。ステップ 708では、表示フレームは、主たる(コンテナ)フレームの座標でのシェイプ を埋め込まれたフレームでのシェイプに変換する。その新しい形は、フレームシ ェイプとして保存され、そのフレームシェイプは、埋め込まれたパーツに伝えら れる。ステップ709では、埋め込まれたパートは、そのファセットの使用中シ ェイプとアクティブシェイプを変更して、新しいフレームシェイプに合わせるよ うにする。 図7Cは、主たる(コンテナ)パーツがファセットのクリッピングシェイプを 変更する場合の手順を図示している。図6Bにおいて、例えば、クリッピングシ ェイプを変更する必要は、表示フレームによって囲まれた領域の一部が異なるパ ーツの内容に重なるようになってしまうようにするといったユーザの動作の結果 として、発生するかもしれない。ステップ710では、主たる(コンテナ)パー トは、ファセットのために新しいクリッピングシェイプを決定し、この新しいシ ェイプをそのファセットに通知する。ステップ711では、ファセットは、その 通知を埋め込まれたパーツに伝える。これに応答して、ステップ712では、埋 め込まれたパーツは、その内容が適切にレイアウトされるように変更することで 、それ自身を新しいクリッピングシェイプに合わせる。 図7Dは、埋め込まれたパーツが、その使用中シェイプを変更する場合の手順 を図示している。再び、そのような変更の必要は、ユーザによってそのパーツの 内容を編集するときに、発生するかもしれない。ステップ713では、埋め込ま れたパーツは、新しい使用中シェイプをその表示フレームのために取り上げ、こ の新しいシェイプをフレームに通知する。ステップ714では、その表示フレー ムは、主たる(コンテナ)パーツにその通知を伝える。これに応答してステップ 715では、主たる(コンテナ)パーツは、それ自身を新しい使用中シェイプに 合わせる。例えば、主たる(コンテナ)パーツは、その内容がレイアウトされる 仕方を変更して、新しいシェイプにそって以前とは異なるよ うにするかもしれない。 図7Eは埋め込まれたパーツがその不透明シェイプを変更する手順を示した図 である。この変更は、その埋め込まれたパーツの内容を編集する結果としてもた らされるかもしれない。ステップ716では、その埋め込まれたパーツはファセ ットについての新しい不透明シェイプを決定し、そのファセットにこの新しいシ ェイプを通知する。ステップ717では、そのファセットはこの通知を主たる( コンテナ)パーツに伝える。これに応答して、ステップ718では、その主たる (コンテナ)パーツはそれ自身を新しい不透明シェイプに合わせる。例えば、そ のパーツはその内容が並べられている方法を変更したり、或は、新しいシェイプ に合わせるために表示状態を変更する。 不透明シェイプが変更されるとき、同様に、対応するオーバラップシェイプを 変更する必要があるかもしれない。例えば、図6Bと図6Cにおいて図示された 不透明な楕円のシェイプが変更されたなら、オーバラップシェイプ85もまた変 更されねばならない。図7Fにおいて、ステップ719では、主たる(コンテナ )パーツは、ファセットに関して新しいオーバラップされたシェイプを選択し、 そのファセットにこのシェイプを通知する。ステップ720では、そのファセッ トは埋め込まれたパーツにこの新しいシェイプを伝える。これに往応答して、ス テップ721では、埋め込まれたパーツはその表示を調整して新しいシェイプを 組み込めるようにする。次に、埋め込まれたパーツは主たる(コンテナ)パーツ にその新しいオーバラップシェイプの内容を通知して、ステップ722で主たる (コンテナ)パーツが、例えば、青みがかったその表示を調整できるようにする 。一般的に言って、オーバラップシェイプの内容がそのシェイプ自身の変更、或 は、その内容の編集のために変更されたときにはいつでも、その埋め込まれたパ ーツはこの変更を主たる(コンテナ)パーツに伝え、その表示が適切に調整され るようにしなければならない。 従って、フレームとファセットは、埋め込まれたパーツと主たる(コンテナ) パーツとの間での必要とされる空間割り当てがすぐさま調整されることを可能 にするデータ構造である。種々のシェイプと他の属性を用いることで、フレーム とファセットとによって、その主たる(コンテナ)パーツや埋め込まれたパーツ が、各々のパーツに他のパーツの内容や振る舞いに関しての詳細な情報をもつよ うに要求することなく、その内容の表示のために効率的に利用可能な空間を利用 できるようにしている。従って、複合文書が非常に柔軟に組み合わせられるので ある。 パーツに関するエディタや他の操作子は、従来のコンピュータシステムにおけ るアプリケーションプログラムに類似している。パーツの内容を表示し、そして 、適切な場合には、その内容を変更修正するユーザインタフェースを与えるため に必要な機能を提供しているのはソフトウェア要素である。それには、メニュー 、コントローラ、ツールパレット、他のインタラクション技術が含まれるかもし れない。他のパーツを含むことが可能なパーツに関し、そのエディタは、その内 容が表示される場合には、含まれるパーツを考慮する。例えば、テキストエディ タは、そのパーツの内容を包み込み、それが組み込まれた図形パーツの使用中シ ェイプでは現れないようにする。 従来のアプリケーションで提供される機能を用いるために、プログラムが立ち あげられるか或はブートされねばならない。言い換えると、それは、システムの アクティブなメモリ、例えば、RAM16に格納されている必要がある。 同じような方法で、パーツに関するエディタは、システムのメモリ或はCPUが アクセス可能なメモリで実行されねばならない。これを行うために、エディタは 、システムにインストールされている必要がある。例えば、それは、ハードディ スク20のフォルダに格納され、関連パーツがアクセスされたときに呼び出され る。システム資源を浪費しないために、全てのインストールされたエディタは、 常時システムメモリにはロードしなくとも良い。むしろ、それらは必要な時に、 立ちあげることができる。例えば、パーツに関するエディタは、そのパーツが文 書内にドラッグされたとき、その時が編集機能がおそらく必要な時であるので、 立ちあげればよい。 エディタや他の操作子を立ちあげる過程は、図8のフローチャートに図示され ている。その図を参照して説明すると、ステップ801では、システムは起動さ れるべきパーツを探す。このステップのアクセスは、マウスボタンが押されたと きにいつでも生成されるイベントフラグに応答してなされる。或は、このアクセ スは、スクリプトでのステップでも良い。一度、パーツの起動が検出されると、 システムはそのパーツに関連するエディタを識別する(ステップ802)。この 点、夫々のパーツは、それに関連した一定の特性を有している。これらの内の1 つは、そのパーツに関するエディタを指示するポインタである。2つの他の特性 は、例えば、それがテキストであるか、図形であるか、帳票であるかなどの、そ のパーツのカテゴリと、そのタイプである。タイプは、そのパーツの内容に関す るフォーマットの指標となる。例えば、1つのテキストパートは、それが同じカ テゴリ(テキスト)に属していても、“ワードプロセッサA”タイプのもので有 り得るし、別のタイプは“ワードプロセッサB”で有り得る。しばしば、パーツ のタイプは、パーツの内容で用いられた最後のエディタによって決定される。一 般的に言って、カテゴリとは、1セットのパーツのタイプであり、カテゴリが、 与えられたパーツに適用可能であるパーツエディタやビューワのセットを決定す る。パーツの特性は、その内容とともに保存される。例えば、全てのパーツの特 性は、そのパーツの内容とともに格納される“特性シート”に含まれている。 一度、エディタ(或はパーツのタイプ)がステップ802で認識されたなら、 システムはそのエディタが既にメモリ上で実行しているかどうかを判別する(ス テップ803)。もし、そうであれば、システムはメインルーチンに戻り、ユー ザからのさらなる動作を待つ。もし、エディタがまだ実行していないなら、シス テムはステップ802で識別されたエディタがシステムにインストールされてい るかどうかをチェックする(ステップ804)。もし、ステップ802で識別さ れたエディタがシステムにインストールされているなら、そのエディタはステッ プ805で立ちあげられ、パーツの内容を編集できるようにされる。 しかしながら、パーツエディタが現在システムにインストールされていないと いう場合も有り得る。この場合、ステップ804での決定は“ネガティブ”とな り、これに応答して、システムはユーザがパーツのカテゴリに関して好適なエデ ィタを選択したかどうかを判別する(ステップ806)。即ち、ユーザは、好適 な、或は、デフォルトのエディタをパーツの夫々異なるカテゴリに関して選択す ることができる。従って、もし、ユーザが特定のワードプロセッサの機能コマン ドに良く親しんでいるなら、そのプロセッサがテキストカテゴリの全てのパーツ に関しての好適なテキストエディタとして選択される。もし、好適なエディタが 選択されたなら、システムはその好適なエディタがシステムにインストールされ ているかどうかをチェックする(ステップ807)。そして、もし、そうであれ ば、ステップ808でそれは立ちあげられる。 もし、好適なエディタが指定されなかったなら、或は、その好適なエディタが システムに存在しなかったなら、ステップ809では、パーツのそのカテゴリに ついて何かのエディタがシステムに存在するかどうかのチェックがなされる。も し、何のエディタもなければ、適切な警告がユーザに与えられ(ステップ810 )、そして、システムはバックグラウンドルーチンに戻る。もし、そのカテゴリ について1つ以上のエディタが利用可能であれば、それらはリストアップされ、 ユーザはその1つを選択するように促される(ステップ811)。 ユーザによるその選択に応答して、選択されたエディタが立ちあげられ(ステッ プ812)、それは、パーツのそのカテゴリについての好適なエディタとして保 管される(ステップ813)。システムは、それから、バックグラウンドルーチ ンに戻り、ユーザからのさらなる入力を待つ。 ユーザは、いつでも、例えば、適切なメニューコマンドを通して、パーツにつ いて指定されたエディタを変更する機会が与えられている。このコマンドを実施 することによって、ユーザは、パーツの特性の1つとして格納されているポイン タを、システムにインストールされている異なるエディタの位置に変えるように できる。メニューコマンドは、また、ユーザが、例えば、文書レベル (文書の全てのテキストパーツは同じエディタをもつ)やグローバルレベル(シ ステムにわたる)といった異なるレベルで好適なエディタを選択できるように備 えられている。ユーザがメニューにアクセスし、パーツのエディタを選択したり 、変更したりするときにはいつでも、パーツのカテゴリについて適切なインスト ール済みのエディタのセットだけがユーザに選択させるために表示される。 もし望むなら、システムはメモリ上で実行しているエディタ各々が使用された 最新時刻の記録を保存できる。もし、エディタが所定時間の間に使用されなかっ たなら、システムは自動的にそのエディタをメモリから消去し、これによってシ ステム資源の浪費を防いでいる。また、文書がクローズされたとき、その文書の パーツに関連したエディタもまた、それが現在オープンされている他のパーツ、 例えば、他の文書に属していないならば、クローズされる。 パーツの自律的な性質のために、種々のパーツのコンテナは、決して特別なタ イプに限定されるものではない。例えば、過去において、テキスト文書は特定の データフォーマットである場合にのみ図形や他の内容を含むことができた。この 種の制約は、本発明のアーキテクチュアによって取り除かれる。基本的に、どん なパーツも他のパーツに対しては、“ブラックボックス”となっている。主たる (コンテナ)パーツはその中に含む他のパーツの内部構造やセマティックスにつ いての情報をもつ必要はない。主たる(コンテナ)パーツは、単に、それが含む 他のパーツについてはラッパとしてのみ機能する。この種のアーキテクチュアは 、複合文書のコンパイルや編集を非常に楽なものにしている。 さらに説明を続けるが、文書はデスクトップそれ自身の上に位置したアイコン によって表現される。図9Aにおいて、図示されたデスクトップは、テキスト文 書を含むウィンドウ89を含んでいる。また、デスクトップ上にあるものとして 、図形文書のアイコン90がある。ウィンドウとアイコンの各々は、夫々のパー ツを表現している。ウィンドウ内に位置したテキスト文書の場合には、パーツは フレームの形で表現されている。そして、そのフレームの境界はウィ ンドウ自身の境界と接している。本発明に従えば、アイコンによって表現された パーツは、ダイアログボックスなどのようなものを介する必要なく、直接ユーザ によって操作され、テキスト文書の中に置かれる。この操作は、この後、図9A −図9E、及び、図10A−図10Bのフローチャートを参照して説明する。 アイコン90によって表現される図形文書をウィンドウ89内のテキスト文書 本体に置くためには、ユーザは、まず、そのアイコン上にマウスのポインタを位 置づけ(ステップ1001)、そして、マウスボタンを押してそのアイコンを選 択する(ステップ1002)。これに応答して、システムはそのアイコンの表示 を高輝度にし、それが選択されたという事実を示す(ステップ1003)。図9 Aの例では、アイコン90の高輝度化は、そのアイコンの絵とタイトルの反転表 示によって示されている。 そのマウスボタンを押さえたまま、ユーザはそのカーソルを図形パーツの所望 の位置にまで移動させる(ステップ1004)。図9Bに図示されているように 、選択されたアイコンは、そのカーソルの動きに合わせて移動する。カーソルに 合わせたアイコンの移動は、“ドラッグ”操作として知られている。そのアイコ ンが所望の位置にまでドラッグされると、アイコンのゴーストアウトライン91 がデスクトップ上には残り、その元々の位置を示す。或は、その代わりに、その ゴーストアウトラインがカーソルとともに移動して、ステップ1005に図示さ れているように、完全な形のアイコン表示がその元々の位置に残っていても良い 。 このアイコンのドラッグの間、システムはそのカーソルがウィンドウに入った かどうかを判別する(ステップ1006)。アイコン90がウィンドウ89の内 側に位置すると、ウィンドウそれ自身が高輝度表示に変わる。そのシステムがド ラッグされたアイコンがウィンドウ内のフレームに入ったことを検出すると(ス テップ1007)、そのフレームは適当に高輝度表示され、そのフレームがドラ ッグされたオブジェクトを受け付けたことを示す(ステップ100 8)。もし、そのフレームの外側にでてしまうまでそのアイコンがドラッグされ 続けるなら、そのフレームの高輝度表示はなくなる(ステップ1009)。逆に 、複数のフレームが互いに内側に入れ子になっているなら、順々に入れ子になっ ているフレーム各々は、そのアイコンがその内側にドラッグされていくにつれ、 アクティブになる。このようにして、システムは、アクティブになるフレームと 、カーソル制御ボタンが放された場合にアイコンがドロップされる場所とに関し てフィードバックを備えている。 一旦、ドラッグされたアイコンが所望の位置にきたなら、ユーザはマウスボタ ンを放す(ステップ1010)。この時点で、システムはそのパーツに関する好 適な表示方法を決定する。例えば、それが、アイコンとして表示されるべきか、 或は、フレームとして表示されるべきかなどである(ステップ1011)。図9 A−図9Eの例では、パーツが文書の中に置かれているので、その好適な表示方 法は、フレームとなっている。従って、図9Cに示されているように、そのマウ スボタンが放されたときに、そのカーソルの位置に対応する場所を左上隅として 図形パーツはフレーム96として表示される(ステップ1012)。また、図9 Cに示されているように、そのフレームは、太い点線の境界で、また、サイズ変 更ハンドルが付加されて表現され、それが、選択されたパーツであることを示し ている。 逆の操作が、そのパーツを文書からデスクトップに戻すために実行される。さ らにその上、そのパーツをコピーし、その内容がその文書内に残るようにし、一 方でそのパーツの別の表示がデスクトップに置かれるようにすることもできる。 これを行うために、ユーザは、そのフレームをドラッグしながら、キーボード上 のコントロール或はオプションキーのような機能キーを押す。マウスボタンの押 下とともに同時に機能キーを押下することで、システムにコピー動作が実行され ることを指示する。その時、マウスボタンを押さえつづけながら、図9Dに示す ようにユーザがフレームをデスクトップまでドラッグする。ここで、図形パーツ の内容98がテキスト文書の中に残り、そのパーツの第2のコ ピーがフレーム96に現れる。一旦、フレームがデスクトップ上の所望の位置に 移動したなら、マウスボタンを放し、システムは再びパーツに関する好適な表示 方法を決定する。この場合、そのパーツはデスクトップに位置しているのである から、その好適な表示はアイコンである。従って、パーツのアイコン表示90が 、図9Eに示されるようにデスクトップに表示される。 或は、コピー操作が移動操作に優先しているなら、コントロールキーを押下す ることなくパーツをドラッグすることによってコピーがなされ、パーツが選択さ れドラッグされた時点で、そのコントロールキーが押下されたとき、移動操作を 実行することができる。 本発明のシステムにおいて、パーツは直接にデスクトップと文書との間で操作 されるのであるから、デスクトップのメタフォーはより良く保存される。即ち、 ユーザは、ダイアログボックスなどに書き込むといった中間的な操作を行うこと なく、デスクトップから所望のパーツをピックアップし、それを直接に文書の中 に置く。その結果、新しい内容を文書内に持ち込むために必要な時間や数多くの ステップを減らすことができる。 デスクトップと文書との間でのオブジェクトをドラッグしたりドロップする機 能をシステムがインプリメントした場合の1つの方法に関するさらに詳しい情報 は、1993年3月3日出願の、出願番号08/058,260、発明者がロバ ート G.ジョンソン ジュニア、マーク L.スターン、デビット L.エバン ス、名称が“コンピュータ制御表示システムにおけるアプリケーションプログラ ムとファイルシステムとの間の改良型データ操作装置と方法”という発明に説明 されている。その開示内容はここで参照のために、本願に組み込まれている。 さて、上述のように、パーツ各々はある特性をもち、その特性はその好適な表 示で参照される。この特性は、与えられたパーツ中に含まれるパーツが、従来よ りフォルダと文書ウィンドウの両方に関係づけられている振る舞いを得るために 、通常、アイコンとして表示されるか、或は、フレームとして表示され るかを決定する。一般的に言って、全てのパーツは、デスクトップパーツか或は 文書パーツかに分類される。デスクトップパーツは、フォルダ、プリンタ、或は 、メールボックスのような他のパーツを含むことか、或は、そこで動作すること が、その目的である。デスクトップパーツに含まれるパーツに関する好適な表示 は、アイコンのようなものである。文書パーツは、最終的には、テキスト文書や 図形文書のような用紙或は他のハードコピー上にプリントされることが、その目 的となるものである。文書パーツに含まれるパートに関する好適な表示は、フレ ームのようなものである。従って、図9A−図9Cに図示されている動作を参照 すると、図形パーツは、それがデスクトップにある時には、アイコンとして表示 され(図9A)、しかし、それが文書の中に置かれるときにはフレーム表示に変 更される(図9C)。同様に、そのパーツは文書からデスクトップに移動すると 、その表示はフレームからアイコンに変化する(図9C−図9E)。もちろん、 ユーザには、例えば、キーボードやメニューコマンドを通して、どんなパーツの 表示でも変更できるオプションが備えられている。 上述したように、ステーショナリパーツは、それが、ただアイコンで表示され るという点で異なる。それは、1つのデスクトップパーツから別のパーツに移動 できる。従って、例えば、フォルダ内の普通のパーツのように扱うことができる 。しかしながら、ステーショナリパーツを文書パーツに移動させようと試みても 、ステーショナリパーツのコピーが代わりに、文書パーツに置かれ、そのコピー がフレームとして現れる。 全体としてパーツを移動させることに加えて、ユーザはパーツの内容のいくつ か或は全てを選択し、移動できる。パーツ各々は、それ固有のタイプの内容を有 している。例えば、テキストパーツはテキスト文字を含んでいるし、図形パーツ は図形要素などを含んでいる。ユーザは、1つのパーツの固有の内容のいくつか 、即ち、ドナーパーツを選択し、これらを異なるパーツ、即ち、目的とする行き 先のパーツに移動したりコピーしたりできる。この種の動作が発生するときに3 つのシナリオが有り得る。即ち、(1)ドナーパーツと行き先パ ーツとは両方とも同じ固有のタイプのデータを含んでいる。(2)ドナーパーツ と行き先パーツとは異なるタイプのデータを含むが、行き先パーツはドナーパー ツから受信するデータのカテゴリを組み入れることができる。(3)ドナーパー ツと行き先パーツとは異なるタイプのデータであり、行き先パーツはドナーパー ツから受信するデータのカテゴリを組み入れるようには調整されていない。これ ら3つの場合の夫々について、図示した例を参照して以下に説明する。 最初のシナリオの場合、ドナーパーツと行き先パーツとは同じタイプのパーツ である。例えば、それらの固有の内容は、テキスト文字であるかもしれず、それ らは、同じワードプロセッサによって生成されたかもしれない。図11Aは、2 つのテキスト文書100、102が夫々、デスクトップ上の2つのウィンドウに ある例について図示している。左側の文書100の文字の一部104が選択され ており、このことが反転表示で示されている。この選択されたテキストは、右側 のウィンドウの文書102にコピーされることになっている。従って、ユーザが 機能キーを押しながらマウスボタンを押下し、もし必要なら、選択されたテキス ト104のコピー105を図11Bに示されているように、右側の文書102に ドラッグしてもってくる。一旦、カーソルが第2の文書102に入ると、この文 書は高輝度表示になる。左側の文書100は今やアクティブではないので、それ は文書102の後ろに置かれ、そのタイトルバーはもはや高輝度表示ではなくな る。 一旦、コピーされたテキストが所望の位置にくれば、ユーザはマウスボタンを 放し、図11Cに図示されているように、その文書にそのテキストを置く。第1 の文書から第2の文書にコピーされたテキストは、第2のテキストの固有の内容 と同じタイプであるので、そのテキストは第2の文書の内容に組み込まれる。言 い換えると、選択されたテキストが一旦、第2の文書に置かれると、それはもは やそれ自身の独立した主体性をもたなくなる。むしろ、行き先の文書の固有の内 容の一部となる。従って、行き先の文書の元々の内容のために用 いられたのと同じエディタで、それは編集できる。 上述した第2のシナリオの場合、ドナーパーツと行き先パーツの固有の内容は 異なるタイプであるが、行き先パーツはドナーパーツに含まれるカテゴリの情報 を取り扱うことができる。図12Aにおいて、テキストエディタの能力を十分に 用いて生成された文書100から選択されたテキスト106は、ダイヤログボッ クス108にコピーされることになっている。この例において、選択されたテキ スト106は、ある形式に合わせられる。即ち、それは太字の属性をもっており 、また、イタリックフォントとなっている。しかしながら、ダイヤログボックス はだた普通のテキストを取り扱うだけである。 前の例と類似した方法で、選択されたテキスト106のコピーがテキスト文書 からダイヤログボックスにドラッグされる。そのカーソルがダイヤログボックス に入ると、それは図12Bに図示されているように表示の最上部に移動する。一 旦、選択されたテキストのコピーが、ダイヤログボックスの適切な位置にくると 、ユーザはマウスボタンを放し、これを適切に“ドロップ”する。この時点で、 システムはそのドロップされたテキストがダイヤログボックスの固有の内容とは 同じタイプではない、即ち、普通の書式ではなくある形式をもっている、ことを 判別する。しかしながら、それは、テキストであるので、互換性のあるカテゴリ に属している。従って、システムはあるスタイルをもったテキストを、そのスタ イルの属性を取り除くことによって、普通のテキストに変換し、それから、それ を、図12Cに示されているように、固有の内容の一部としてダイヤログボック スの中に組み入れる。さて、オリジナルの文書100で2行にわたってラップさ れているコピーされたテキストは、例えば、選択されたテキストのコピーには存 在したキャリッジリターンを除去することで、ダイヤログボックス108の中で 変換過程の一部として1行に再ラップされる。 上述の第3のシナリオの場合には、ドナー文書の固有の内容は、行き先パーツ と比較して、異なるタイプであり、互換性のないカテゴリにある。図13Aにお いて、テキスト文書100から選択されたテキスト104は、図形文書1 10にコピーされることになっている。再び、ユーザは、テキスト文書100か ら選択されたテキストのコピー105を図形文書110にドラッグする。そのカ ーソルが行き先文書に入るや否や、図形文書110は高輝度表示となる(図13 B)。そのテキストのコピー105が一旦、適切な位置にくれば、ユーザはマウ スボタンを放し、そのテキストを図形文書にドロップする。この場合、選択され たもの、即ち、テキストのカテゴリは、行き先文書の固有の内容、即ち、図形要 素とは、互換性をもっていない。従って、システムはドナー文書と同じタイプ( テキスト)の新しいパーツを生成し、選択されたもののコピーをそのパーツに挿 入し、行き先文書にその新しいパーツを組み込む。このようにして、新しいパー ツは、行き先文書の中でそれ自身の独自性を保持することなる。それは、それ自 身の固有の内容、即ち、テキスト文字と、それに関連したテキストエディタとを 有するようになる。その新しい生成物は、別の分離したパーツであるので、図形 文書内には、図13Cに図示されるように、フレーム112として留まる。フレ ーム112は、そのフレームの回りの境界によって図示されてるように、選択さ れたオブジェクトとして留まる。 選択されたテキストのコピーが、テキスト文書から図形文書に移動するとき、 デスクトップのメニューバー114は、図13Aと図13Bとに図示されてるよ うに、テキスト文書に関連したコマンドを留めている。しかしながら、そのコピ ーされたテキストが図形文書に一旦、ドロップされたなら、図13Cに示されて いるように、メニューバー114で利用可能なコマンドはテキストエディタに合 わせたものから、図形エディタに合わせたものに切り替わる。さらに、図形エデ ィタに関連したツールバー116がデスクトップに現れる。なぜなら、図形文書 が今やアクティブな文書であり、その文書に選択されたパーツが位置しているか らである。しかしながら、もし、ユーザがフレーム112の中にカーソルを位置 させ、文字や単語を選択するなら、ツールバー116が取り除かれ、メニューバ ー114のコマンドがテキストの編集のために適切なものに変わる。 要約すれば、1つの文書から他の文書に内容が移動するとき、システムはその 内容が行き先文書にその固有内容の一部として組み込まれるかどうか、或は、行 き先文書の中で自律的なパーツとして組み込まれねばならないかを判断する。こ のプロセスを実行するシステムの動作が、図14のフローチャートには図示され ている。ユーザが1つのオブジェクトを選択し、それを意図する行き先にドラッ グした後に、システムは選択されたオブジェクトが元々存在したパーツのタイプ を判別する(ステップ1401)。例えば、選択されたオブジェクトは、普通の テキストであるかもしれないし、ある書式のテキストであるかもしれないし、図 形要素などであるかもしれない。夫々のパーツについて格納されている特性の1 つは、それがどのタイプのパーツであるかを識別し、そして、そのパーツから移 動される或はコピーされるオブジェクト各々もまた、その識別されたタイプであ るとして認識される。パーツのタイプが識別された後、そのタイプが行き先文書 のタイプと同じであるかどうか判定される(ステップ1402)。もし、そうで あれば、選択された内容は、行き先の文書に組み込まれるか或は挿入され、その 固有の内容の一部となる(ステップ1403)。もし、選択された情報が、行き 先文書のタイプと同じではない場合、システムはそれが同じカテゴリに属してい るかどうかを判別する(ステップ1404)。例えば、もし、選択された情報が 、ある書式スタイルをもったテキストであり、その行き先の文書では普通のテキ ストであれば、それらは異なるタイプではあるが、同じカテゴリに属している。 もし、選択された情報が行き先文書と同じカテゴリに属していれば、システムは 選択された情報を行き先文書と同じタイプに変換する(ステップ1405)。例 えば、あるワードプロセッサで生成されたテキストが、異なるワードプロセッサ によって採用されているフォーマットに変換される。或は、図形文書はあるファ イルフォーマットから別のものに変換される。一旦、その変換が完了すると、選 択された情報は、行き先文書の内容に組み込まれる(ステップ1403)。もし 、その選択された情報が、行き先文書と同じカテゴリに属していなければ、新し いパーツが、その選択され た情報がその内容となるように生成され(ステップ1406)、そして、その新 しいパーツがフレームとして行き先文書に組み込まれる(ステップ1407)。 パーツの自律的な性質のため、パーツは、種々のユーザの間での情報交換を非 常に容易にする。文書、例えば、ルートパーツは、幾つかの他のパーツを含んで いる。ユーザはその文書全体を取り出すことができ、それを眺め、所望ならその 個々のパーツを編集できる。或は、個々のパーツは夫々がデスクトップに置かれ 、多くのユーザによって共有されるが、一方、その文書へのアクセスは全体とし て保護される。 これらのことをさらに詳しく述べると、パーツ1つ1つは限定されたアクセス 権で保護される。例えば、幾つかの異なるパーツを含む文書は多くの異なる種類 の人々への配布が目的となっていることもある。それらのパーツのいくつかは、 ある種類の人々には公開したくはない機密情報を含んでいるかもしれない。本発 明の主旨によれば、これら個々のパーツは、限定されたアクセス権で保護される 。そして、その内容は適切なパスワードや或は他のアクセス手段を有した人々に よってのみ回覧される。言い換えると、アクセス制限機能はパーツの別の特徴的 な性質である。 図15において、図示されている文書118は、多くのパーツから構成され、 そのパーツ1つ1つは、破線で示されたフレーム内に含まれている。パーツの1 つ120へのアクセスは制限されている。例えば、そのパートは機密の帳票デー タを含んでいるかもしれない。このパーツへのアクセスが制限されているので、 その内容はそのフレームには表示されない。むしろ、そのフレームは不透明とな っており、キー122のような適切なシンボルを表示し、パスワードなどのよう なものがそれにアクセスするためには必要であることを示す。 文書118はシステムのユーザによってオープンされ、その概要レイアウトと 機密ではないパーツの情報を見ることができる。しかしながら、機密のパーツ1 20の中に含まれているデータは、そのパートにアクセスする適切なパス ワードを有した人達だけが見ることができる。そのような人がそのパートを選択 すると、その不透明カバーが取り去られ、その内容が表示される。 その内容はアクセスされないが、制限されたパーツの他の特性は、そのパスワ ードを有していないシステムユーザに対しても、やはり、利用可能である。例え ば、文書中のそのパーツの位置は変更できるし、それを選択し、そのフレームの 境界にあるサイズ変更ハンドルを移動させて、そのサイズを変更することもでき る。同じように、そのアクセスが制限されたパーツはどこにでもコピーすること ができる。しかしながら、そのアクセス制限は、どこにそれがコピーされようと も、そのコピーされたものにも付加されたままである。 制限されたアクセス権をもつパーツは、それに埋め込まれる他のパーツをもつ ことができる。その結果、あるユーザが適切なパスワードを有しておらず、パー ツの内容にアクセスするならば、それに含まれる他のパーツもまた、制限されて 見る事はできない。一旦、パスワードが受け付けられたなら、そのパスワードは 自動的に全ての組み込まれたパーツにも伝えられ、それらの制限が解除されて、 ユーザの手を煩わせる事なく見る事ができる。しかしながら、もちろん、その埋 め込まれたパーツがそれに関連した異なるパスワードをもつことはでき、たとえ ユーザが1つの制限があるパーツにアクセスできようとも、それに含まれる他の パーツへのアクセスはさらに制限されていることもある。 従って、本発明は文書内レベルでは文書の内容へのアクセスを制限できる。そ のアクセス権はパーツ単位に特定されたものであり、そのパーツのデータがどこ に位置しているかに関わらず、有効である。この方法によれば、文書全体にわた る広範なアクセス制限を課すことなく、文書中で特権を与えられていないパーツ はユーザによるアクセスが可能となる。複数の著者をもつ大きな文書において、 パーツ毎にアクセス制限を設けることができることで、著者たちが文書を概観し 協力して作業を行うときなどに、より融通性の効いたものになる。 パーツの操作と複合文書のコンパイルを容易にするために、“パーツビン”と 呼ばれる特別なタイプのパーツが備えられる。パーツビンの一例を図16に 示す。図16において、文書がウィンドウ130でオープンされ、その文書に対 するパーツビン132がウィンドイドと言われる別の領域に現れている。そのウ ィンドイドは、ウィンドウ130と関係をもち、その結果、もしその文書が画面 の前面にきたならば、そのウィンドイドもそれとともに画面の前面にくる。 パーツビン132は本質的には他のパーツに関するソースとして機能するユー ザ定義パレットである。それは他のパーツを含むのみであり、固有の内容はもた ない。パーツビンの中にあるパーツは、“冷凍された”という特性をもっている 。即ち、カーソルがフレーム内にある間にユーザがふつうにマウスボタンを押す と、カーソルの位置にある最も小さな要素が選択される。図16において、通常 の場合、もしカーソルが帳票フレーム134の1つのセルに置かれ、そこでカー ソル制御ボタンが押されると、そのセルの内容が選択される。しかし、ユーザは 、異なったオブジェクト、例えば、実際に選択されたセルを含む帳票全体を選択 することを意図していたのかもしれない。そうするために、ユーザは、カーソル をフレーム内の他の領域、しかし、所望のパーツ内に埋め込まれた他のパーツの 外側に移動させなければならない。しかしながら、このような要求はパーツビン 内のパーツを冷凍(フリーズ)することによってなくすことができる。この場合 、ユーザはパーツのどこにカーソルが存在していてもマウスをクリックし、パー ツ全体を選択することができる。従って、パーツビン内に位置するパーツは、た とえそれが他の埋め込めれたパーツを含むフレームとして表現されていても、全 体として取り扱われる。 パーツビンのパーツは、その内容が変えられないようにロックすることもでき る。パーツビンのロックされたときの特性は、ウィンドイドのヘッダにあるパッ ドロック記号136によって表される。ユーザがもし、ロックされたパーツビン の外にあるパーツをドラッグしようと試みても、そのパーツのコピーが自動的に とられ、その元々のパーツはパーツビンの中に残り、これによって、ビンの内容 の完全性が保証される。ユーザがパーツビンをカスタマイズできる ように、パーツビンのロックは、例えば、パッドロック記号136をクリックす ることによって解除することができ、そして、そのパーツを変更する。 本発明のこの特徴を示す別の実施例では、文書毎に付随のパーツビンをもたせ るようにできる。この“文書パーツビン”により、標準的なパーツセットを文書 に結合させておくことができ、これによって、その文書のユーザはすぐに利用可 能なパーツをもつことができる。コマンドを起動することで、ユーザはその文書 パーツビンをウィンドイド等に表示させることができる。付随のパーツビンをも った文書はそれに制限的な特性をもつことができる。これによって、その文書内 に置くことができるパーツだけが、そのビン内のものとなる。その制限的な特性 をもった文書に他のパーツを置こうと試みても、それは拒否される。この特性は 、文書のユーザがある一定のパーツとだけ作業ができることを保証し、これによ って、文書に関連した訓練やサポートやメンテナンスを削減することができる。 例えば、データ入力フォームに関するパーツビンは、そのフォームのデータを入 力するために必要なパーツだけをもつことになる。その結果、訓練を受けていな いユーザが、もしかすれば正しく用いることができない予想もしていないパーツ に出くわすことはない。パーツに関するこの制限によって、組織が文書の内容を 制御することが可能になる。 以上説明したユーザの利点に加えて、本発明のアーキテクチュアは、ソフトウ ェアの開発者にも益をもたらす。例えば、帳票プログラムは基本的には数字を処 理するように設計されている。そして、この分野で経験を積んだ開発者はこの機 能に関しては最も効率的に時間を用いることができる。しかしながら、そのユー ザは公式や数値の中でもテキストを編集できなければならないので、テキストエ ディタも帳票アプリケーションの必要なパーツである。従来のプログラムでも必 要ではあるが、テキストエディタのプログラムを書かねばならないことは帳票プ ログラムの開発者にとってやっかいなことでる。しかしながら、ユーザが選択し たテキストエディタが帳票における別々のパーツとして利用可能である環境では 、帳票開発者はもはやテキストエディタを書く必要はない。 その開発者は自分の時間を帳票プログラムのより本質的な部分に専ら用いること ができ、以前には帳票の数値処理機能に付随した他の機能を開発するために用い ていた時間のために利用することができなかった時間を用いて、特別な機能を組 み込むことができるようになる。 さらに、ソフトウェアの開発者は次に新しい機能を付加することや存在するバ グを修正することを決断した場合には、その仕事はより簡単なものとなる。特に 、開発者はプログラムの帳票部分にのみ注意を集中すればよく、テキストエディ タのような付随コンポーネントに注意を払う必要はない。 さて本発明は、そこにある原理の理解を容易にするためにここで説明した特定 の実施例に限定されるものではない。例えば、テキストや図形は文書のコンポー ネントを表現するために例示のために用いられたものである。従って、パーツの コンポーネントはこれら2つの特定の範疇に限定されるものではない。むしろ、 パーツの内容は、ビデオ、音、アニメーション等を含むどんな種類の媒体でも良 い。本発明の範囲には、前述の実施例ではなく、以下に添付した請求の範囲によ って規定され、その請求の範囲の意味するところと一致する全ての同等物が含ま れるものである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ),AM, AT,AU,BB,BG,BR,BY,CA,CH,C N,CZ,DE,DK,ES,FI,GB,GE,HU ,JP,KE,KG,KP,KR,KZ,LK,LT, LU,LV,MD,MG,MN,MW,NL,NO,N Z,PL,PT,RO,RU,SD,SE,SI,SK ,TJ,TT,UA,US,UZ,VN (72)発明者 スッサー,ジョシュア,ビー. アメリカ合衆国 カリフォルニア州 95062 サンタ クルズ,ハモンド アベ ニュー 111 (72)発明者 ロゼス,リチャード,シー. アメリカ合衆国 カリフォルニア州 95070 サラトガ,アトリウム ドライブ 12099

Claims (1)

  1. 【特許請求の範囲】 1. 文書の第1のコンポーネントが前記文書のコンポーネントを含む第2のコ ンポーネントに埋め込まれ、コンポーネント各々がそれに付随する内容とこれら 内容に関する操作子を含む複合文書の創成及び/或いは操作を行うコンピュータ システムにおける、前記第1及び第2のコンポーネントの間の関係を定義するイ ンタフェースの方法であって、 前記第1及び第2のコンポーネントの間で共有され、前記第2のコンポー ネントによって決定され、前記第1のコンポーネントの内容を収容するために利 用可能な前記第2のコンポーネント内の領域を定義する第1のシェイプと、前記 第1のコンポーネントによって決定され、前記第1のコンポーネントの内容が実 際に位置する前記領域の一部を定義する第2のシェイプとを含む情報を含む第1 のデータ構造を格納する手段と、 前記第1のデータ構造に関連し、前記第1及び第2のコンポーネントとの間の 幾何学的関係に関し、前記第2のコンポーネントによって決定され、前記第1の コンポーネントの内容が表示される前記領域の一部を定義する第3のシェイプを 含む情報を含む第2のデータ構造を格納する手段とを有することを特徴とするイ ンタフェースの方法。 2. 前記第2のデータ構造に含まれる前記共有される情報は、前記第1のコン ポーネントによって決定され、前記システムへのユーザ入力が前記第1のコンポ ーネントに関する操作子に伝えられる役目を果たす前記第3のシェイプの一部を 定義する第4のシェイプを含むことを特徴とする請求項1に記載のインタフェー スの方法。 3. 前記第2のデータ構造は、第2のコンポーネントの内容を隠す第1のコン ポーネントの領域を識別する不透明なシェイプと、第2のコンポーネントの内容 によって隠される第1のコンポーネントの領域を識別するオーバラップさ れるシェイプとを定義する情報を含むことを特徴とする請求項1に記載のインタ フェースの方法。 4. 前記第1のデータ構造は、前記第1のコンポーネントの内容を表示するた めに用いられる全てのコマンドに適用される幾何学変換を特定する情報を格納す ることを特徴とする請求項1に記載のインタフェースの方法。 5. 前記第2のデータ構造は、前記第1のコンポーネントの内容を表示するた めに用いられる全てのコマンドに適用される幾何学変換を特定する情報を格納す ることを特徴とする請求項4に記載のインタフェースの方法。 6. 文書のコンポーネントが内容を有したパーツとして格納され、前記パーツ がその内容に関して付随する操作子を備え、第2のパーツ内に第1のパーツが埋 め込まれる構成の、コンピュータシステムにおける複合文書を生成する複合文書 生成方法であって、 前記第2のパーツの内容内に前記第1のパーツの内容に割り当てられる領 域を決定する第1決定工程と、 前記領域に対応したフレームシェイプを設定し、前記フレームシェイプに 前記第1のパーツに関する前記操作子を通知する設定通知工程と、 前記第1のパーツに関する前記操作子によって、前記フレームシェイプ内 に前記第1のパーツの内容のレイアウトを決定し、前記第1のパーツの内容によ って占有される前記領域のサブセットに対応して用いられるシェイプを決定し、 前記用いられるシェイプに前記第2のパーツに関する操作子を通知する第2決定 工程と、 前記第1のパーツに関する前記操作子によって、前記用いられるシェイプ のサブセットに対応し、前記フレームシェイプと前記用いられるシェイプとは独 立なアクティブシェイプを決定する第3決定工程と、 前記文書の内容の操作に関連したユーザ入力事象を検出する検出工程と、 検出されたユーザ入力事象が前記アクティブシェイプ内で発生したことが 判別されたときには、前記検出されたユーザ入力事象を前記第1のパーツに関す る操作子に呈示する呈示工程と、 前記第1のパーツに関する操作子によって、前記検出されたユーザ入力事 象に応答する応答工程とを有することを特徴とする複合文書生成方法。 7. 少なくとも、前記用いられるシェイプの前記領域の外側に前記第2のパー ツの内容のいくらかを表示する表示工程をさらに有することを特徴とする請求項 6に記載の複合文書生成方法。 8. 少なくとも2つのパーツ、即ち、1つの従属するパーツが主たるパーツで ある他のパーツに埋め込まれ含まれるような構成であり、各々のパーツは内容と その内容に関する付随の操作子で構成されるような複合文書を扱うコンピュータ システムにおける前記複合文書の表示を行う複合文書表示方法であって、 前記従属のパーツについて利用可能である主たるパーツ内で領域を定義す るフレームシェイプと、実際に前記従属するパーツによって用いられる前記フレ ームシェイプ内における領域を定義する使用シェイプとに関する情報を含むフレ ームデータ構造を格納する格納工程と、 前記主たるパーツによってフレームシェイプを決定し、前記フレームデー タ構造に前記フレームシェイプの通知を行う第1通知工程と、 前記主たるパーツの座標空間から前記従属するパーツの座標空間に前記フ レームシェイプを変換する変換工程と、 前記従属のパーツに前記変換されたフレームシェイプを通知する第2通知 工程と、 前記従属のパーツによって、前記フレームシェイプに準拠した利用シェ イプを決定する決定工程と、 前記主たるパーツに前記決定された利用シェイプの通知を行う第3通知工 程と、 前記利用シェイプの領域内に前記従属するパーツの内容を、少なくとも、 いくらか表示する表示工程とを有することを特徴とする複合文書表示方法。 9. 前記主たるパーツによるフレームシェイプの決定は、前記従属するパーツ からの要求に応じて実行されることを特徴とする請求項8に記載の複合文書表示 方法。 10.クリッピングシェイプに関し、前記従属するパーツの内容が表示できる前 記フレームシェイプ内の領域を定義する情報を含むファセットデータ構造を格納 する工程と、 前記主たるパーツにおいて前記クリッピングシェイプを決定する工程と、 前記クリッピングシェイプに関し、前記従属するパーツに通知を行う工程 と、 前記クリッピングシェイプの領域内でのみ前記従属するパーツの内容を表 示する工程とをさらに有することを特徴とする請求項8に記載の複合文書表示方 法。 11.前記ファセットデータ構造は、さらに、前記主たるパーツの内容を隠す前 記クリッピングシェイプの領域を認識する不透明なシェイプを定義する情報を含 み、 前記主たるパーツに前記不透明なシェイプの通知を行う工程と、 前記主たるパーツから前記従属のパーツに、前記不透明なシェイプ内の前 記主たるパーツの内容の情報を提供する工程と、 前記従属のパーツによってなされる隠しに従って、前記内容の表示を変更 する工程とをさらに有することを特徴とする請求項10に記載の複合文書表示方 法。 12.前記ファセットデータ構造は、さらに、前記主たるパーツの内容によって 隠される前記クリッピングシェイプの領域を認識するオーバラップしたシェイプ を定義する情報を含み、 前記従属するパーツに前記オーバラップしたシェイプの通知を行う工程と 、 前記従属したパーツから前記主たるパーツに、前記オーバラップしたシェ イプ内の前記従属したパーツの内容の情報を提供する工程と、 前記主たるパーツによってなされる隠しに従って、前記内容の表示を変更 する工程とをさらに有することを特徴とする請求項10に記載の複合文書表示方 法。 13.前記オーバラップされたシェイプ内で前記従属したパーツの内容が変更さ れるときはいつでも、前記従属のパーツから前記主たるパーツに通知を行う工程 と、 前記主たるパーツによってなされる隠しに従って、前記変更された内容の 表示を変更する工程とをさらに有することを特徴とする請求項12に記載の複合 文書表示方法。 14.前記ファセットデータ構造は、幾何学変換を定義する情報を含み、 前記クリッピングシェイプの内容全てに前記変換を適用する工程をさらに 含むことを特徴とする請求項10に記載の複合文書表示方法。 15.前記フレームデータ構造は、幾何学変換を定義する情報を含み、 前記クリッピングシェイプ内に表示される内容全てに前記変換を適用する 工程をさらに含むことを特徴とする請求項10に記載の複合文書表示方法。 16.前記フレームシェイプの内側で、かつ、前記利用シェイプの領域の外側に 、少なくとも、前記主たるパーツの内容のいくつかを表示する工程をさらに含む ことを特徴とする請求項8に記載の複合文書表示方法。 17.前記従属するパーツに関する操作子によって、前記利用シェイプを変更す る工程と、 前記主たるパーツに前記変更された利用シェイプを通知する工程と、 前記変更された利用シェイプに従って、前記主たるパーツの内容の表示を 変更する工程とをさらに有することを特徴とする請求項16に記載の複合文書表 示方法。
JP51818295A 1993-12-30 1994-12-27 インターフェースの方法、複合文書生成方法、及び複合文書表示方法 Expired - Lifetime JP3950937B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17554993A 1993-12-30 1993-12-30
US08/175,549 1993-12-30
PCT/US1994/014943 WO1995018406A1 (en) 1993-12-30 1994-12-27 Frame structure which provides an interface between parts of a compound document

Publications (2)

Publication Number Publication Date
JPH09507322A true JPH09507322A (ja) 1997-07-22
JP3950937B2 JP3950937B2 (ja) 2007-08-01

Family

ID=22640673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51818295A Expired - Lifetime JP3950937B2 (ja) 1993-12-30 1994-12-27 インターフェースの方法、複合文書生成方法、及び複合文書表示方法

Country Status (6)

Country Link
EP (1) EP0738403B1 (ja)
JP (1) JP3950937B2 (ja)
AU (1) AU1407595A (ja)
CA (1) CA2179747C (ja)
DE (1) DE69430013T2 (ja)
WO (1) WO1995018406A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11288412A (ja) * 1998-04-02 1999-10-19 Hitachi Ltd 文書作成方法及びシステム及び文書作成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2013175189A (ja) * 2012-02-24 2013-09-05 Samsung Electronics Co Ltd ディスプレイウィンドーに対するキャプチャイメージ生成方法及びその装置
KR20140051335A (ko) * 2011-08-12 2014-04-30 오토이, 인크. 애플리케이션들 간의 객체들의 드래그 앤 드롭

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822731A (en) * 1995-09-15 1998-10-13 Infonautics Corporation Adjusting a hidden Markov model tagger for sentence fragments
US5659742A (en) * 1995-09-15 1997-08-19 Infonautics Corporation Method for storing multi-media information in an information retrieval system
US5675788A (en) * 1995-09-15 1997-10-07 Infonautics Corp. Method and apparatus for generating a composite document on a selected topic from a plurality of information sources
US5721902A (en) * 1995-09-15 1998-02-24 Infonautics Corporation Restricted expansion of query terms using part of speech tagging
US5717914A (en) * 1995-09-15 1998-02-10 Infonautics Corporation Method for categorizing documents into subjects using relevance normalization for documents retrieved from an information retrieval system in response to a query
US5640553A (en) * 1995-09-15 1997-06-17 Infonautics Corporation Relevance normalization for documents retrieved from an information retrieval system in response to a query
US5742816A (en) * 1995-09-15 1998-04-21 Infonautics Corporation Method and apparatus for identifying textual documents and multi-mediafiles corresponding to a search topic
US5873076A (en) * 1995-09-15 1999-02-16 Infonautics Corporation Architecture for processing search queries, retrieving documents identified thereby, and method for using same
US6618754B1 (en) * 1995-10-23 2003-09-09 Sun Microsystems, Inc. System for transmission of embedded applications over a network
US5841434A (en) * 1996-11-19 1998-11-24 International Business Machines Corporation System and method for multi-platform implementation of objects on windowing computer systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4723210A (en) * 1984-08-30 1988-02-02 International Business Machines Corp. Superblock structure in a multiple in a data editor
US5142618A (en) * 1986-11-21 1992-08-25 Hitachi, Ltd. Window management apparatus for a document creating apparatus
US4933880A (en) * 1988-06-15 1990-06-12 International Business Machines Corp. Method for dynamically processing non-text components in compound documents
CA2068486C (en) * 1991-08-30 1998-09-15 Stephen S. Fleming System and graphical method for creating an object

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11288412A (ja) * 1998-04-02 1999-10-19 Hitachi Ltd 文書作成方法及びシステム及び文書作成プログラムを記録したコンピュータ読み取り可能な記録媒体
KR20140051335A (ko) * 2011-08-12 2014-04-30 오토이, 인크. 애플리케이션들 간의 객체들의 드래그 앤 드롭
JP2014524612A (ja) * 2011-08-12 2014-09-22 オトイ、インコーポレイテッド アプリケーション間でのオブジェクトのドラッグおよびドロップ
US10162491B2 (en) 2011-08-12 2018-12-25 Otoy Inc. Drag and drop of objects between applications
JP2013175189A (ja) * 2012-02-24 2013-09-05 Samsung Electronics Co Ltd ディスプレイウィンドーに対するキャプチャイメージ生成方法及びその装置

Also Published As

Publication number Publication date
EP0738403A1 (en) 1996-10-23
JP3950937B2 (ja) 2007-08-01
CA2179747C (en) 2004-11-02
DE69430013D1 (de) 2002-04-04
WO1995018406A1 (en) 1995-07-06
AU1407595A (en) 1995-07-17
DE69430013T2 (de) 2002-11-14
EP0738403B1 (en) 2002-02-27
CA2179747A1 (en) 1995-07-06

Similar Documents

Publication Publication Date Title
JP3849880B2 (ja) 複合文書におけるコンピュータ/ヒューマンインタフェースシステム
US5745910A (en) Frame structure which provides an interface between parts of a compound document
US5835919A (en) Computer-human interface system which manipulates parts between a desktop and a document
US5669005A (en) System for automatically embedding or incorporating contents added to a document
US5140677A (en) Computer user interface with window title bar mini-icons
US6275227B1 (en) Computer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor
US5917480A (en) Method and system for interacting with the content of a slide presentation
US5351995A (en) Double-sided, reversible electronic paper
EP0689133B1 (en) Method of displaying multiple sets of information in the same area of a computer screen
KR101099317B1 (ko) 윈도우 관리 모드를 제공하는 시스템 및 방법
US5428734A (en) Method and apparatus for enhancing drag and drop manipulation of objects in a graphical user interface
US9015624B2 (en) Floating command object
EP1363231B1 (en) Overlaying electronic ink
US5502839A (en) Object-oriented software architecture supporting input/output device independence
Gosling et al. The NeWS book: an introduction to the network/extensible window system
JPH0555893B2 (ja)
US20040257346A1 (en) Content selection and handling
JP2006018845A (ja) ソフトウェアメモ
US20170131874A1 (en) Software Design Tool For A User Interface And The Administration Of Proximity Responsive Information Displays In Augmented Reality Or Virtual Reality Environments
EP0710388A1 (en) Object-oriented display system
JPH09507322A (ja) 複合文書のパーツ間のインタフェースを提供するフレーム構造
WO1995018406A9 (en) Frame structure which provides an interface between parts of a compound document
US5802531A (en) Method and system for embedding parts of documents and synchronizing multiple views thereof
JP2007317212A (ja) コンピュータ・ディスプレイ上の不明瞭なアイテムを取り扱う方法
CA2487312C (en) Computer-human interface system for compound documents

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20031127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040810

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061018

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070328

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20070328

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term