JPH09507322A - A frame structure that provides an interface between the parts of a compound document - Google Patents

A frame structure that provides an interface between the parts of a compound document

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
Japanese (ja)
Other versions
JP3950937B2 (en
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/en
Application granted granted Critical
Publication of JP3950937B2 publication Critical patent/JP3950937B2/en
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】 コンピュータシステムにおける文書中心型ユーザインタフェースアーキテクチュアは、���ての文書の基本的な構築ブロックとして、パーツを採用する。全ての���ー���は���ーツ���して���ステムに格納される。そのパーツは、内容と付随するエディタとから構成される。その内容とエディタの機能性とは、パーツが位置する場所に係わりなく、デスクトップ上の或いはフォルダ内の文書であろうと、ユーザに利用可能となっている。他のパーツに関してコンテナとして、パーツは機能する。これによって、マルチメディア或いは複合文書のコンパイルや編集を容易にする。フレームと名付けられたデータ構造は、主たるパーツと従属のパーツとの間のインタフェースとして機能する。そして、この2つのパーツによって、互いの内部制約に関する広範な知識を必要とせずとも、図形構造に関して調整することが可能になる。 (57) [Summary] Document-centric user interface architectures in computer systems employ parts as the basic building blocks of all documents. All data is stored in the system as parts. The part consists of the content and the associated editor. The content and functionality of the editor are available to the user, regardless of where the part is located, whether it is a document on the desktop or in a folder. A part acts as a container for other parts. This facilitates compilation and editing of multimedia or compound documents. A data structure named a frame acts as an interface between the main part and the subordinate parts. And these two parts allow adjustments in the graphical structure without requiring extensive knowledge of each other's internal constraints.

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は文書の全体的な文脈を表現するデータ構造である。こ れは、座標空間の説明と一連の図形コマンドを画像や表現形式の中に取り込むメ カニズムとを含んでいる。カンバスの例は、コンピュータ画面、プリンタに関す るページ記述言語、コンピュータディスプレイについての表示リスト上でのビッ トマップ或はピクセルマップである。 フレーム7��は、主たる(コンテナ)パーツと埋めこまれるパーツとの間で共 有情報貯蔵所としての役目を果たすデータ構造である。変換は、図形コマンドに 適用される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に格納されている必要がある。 同じような方法で、パーツに関するエディタは、システムのメモリ或はCP���が アクセス可能なメモリで実行されねばならない。これを行うために、エディタは 、システムにインストールされている必要がある。例えば、それは、ハードディ スク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つの特定の範疇に限定されるものではない。むしろ、 パーツの内容は、ビデオ、音、アニメーション等を含むどんな種類の媒体でも良 い。本発明の範囲には、前述の実施例ではなく、以下に添付した請求の範囲によ って規定され、その請求の範囲の意味するところと一致する全ての同等物が含ま れるものである。Detailed Description of the Invention         A frame structure that provides an interface between the parts of a compound documentField of the invention   The present invention is an interface between a computer and a human user of the computer. In particular, a computer with more flexibility in creating and manipulating compound documents. Interface architecture between data and humans.Background of the Invention   Many applications currently used in personal computers are , Written as a single monolithic program, run on each of these It is designed to have the specific basic functions that are performed. For example, word processing The Sing program is designed to create and edit text documents. one However, it is not designed for text processing, but many other programs also , Characters may be used incidentally. For example, in a form program, It can be inserted as a descriptor for representing rows and columns of information in a form. Similarly, graphics programs such as painting and drawing programs can It is possible to use text as a label inside You can do it. All these different kinds of programs are text Although it provides a compilation function, the way text is edited differs from each other. A Some of the applications have tremendous power in this feature. But others have quite limited capabilities. As a result, users are Different types of applications to perform things such as text editing There are demands to learn different ways to do.   Therefore, whenever you need it, a text-like document component Can be used, regardless of the particular environment in which it exists, It has an architecture that allows it to be created and edited in a uniform way at the same time Is desired. If you use such a method, the text will be Editing text, whether it exists in a document, form, graphic document, or other document It is possible to use the same command set for User has only one text You only need to learn about the editor, which makes the editing process more comfortable. become.   Furthermore, in line with these ideas, the compound document component is It is desired to be able to edit. In the present invention, a compound document is two or more different documents. Formed as a single piece of integrated information using different types of programs It is. For example, it includes a text containing a graphic created by a graphics program. There is a strike document. These two types of information are related to each other. ing. That is, in the text document, the graphic object moves with the text document. However, the shape of the It functions as a container for the project.   In the past, this kind of compound document runs two separate applications Was created by The word processing program is the text of the document Used to create parts. Another shape application creates a shape Used for Combine the products of these two programs into a single document In order to save a graphic in a particular data type or format, this data structure Content in a word processing document, for example using cut and paste operations Placed. Combining these different forms of information into a single document is often A third application, referred to as the presentation manager, Was achieved.   Now, once the shape is embedded in a word processing document, its content is It will be static. If the shape needs to be changed, the user can Program, retrieve the original drawing, and within the program Need to edit. If the edit is done outside the compound document, the user You cannot see the change in the compound document as it was made. The break The revised drawing is then embedded in the word processing document instead of the original drawing. Must be rare.   Composite to overcome the need to switch between different applications It is desirable to allow various components of a document to be edited within that compound document. Good. This approach not only saves time and simplifies the procedure, but it also So that you can see the changes as they are in the context of the compound document in which they are made I do.   Therefore, it is an object of the present invention, regardless of the environment in which a task is executed, that task By providing a system with a consistent user interface for is there. Furthermore, in line with such an idea, the present invention also provides the main pattern of compound documents. A new interface that acts as an interface between the gate and the embedded part. Another purpose is to provide a better data structure and facilitate collaboration between these parts. AndBrief description of the invention   In order to pursue and achieve these objectives, the present invention provides a previously impossible method. Unification so that all different types of communication elements can be combined and operated in the document Interface provided. In the context of the present invention, a document is an interface , The purpose of the interface is to present information to the user, To be able to edit that information, for example a text or graphic document. .   In order to accomplish the task, the uniformity of the interface is referred to as “part” below. Through a document-centric architecture that employs the basic building blocks referred to as Be provided. One part is the two main components: content and its controls. It is a self-contained element composed of components. These two components are No matter where the parts are located in the system, for example, folders It is always available to the user as an element of the document in or on the desktop. That The control of the part can be any kind of editor for the content of the part, It can also be a viewer or it can be selected by the user if desired. An example For example, if the content of a part is text, it is a component of that part. The editor can be any word processor with which the user is familiar. That word A processor is a part of a processor wherever text is embedded. Used to edit the text content of. Therefore, even if the part is Even if it is embedded in a text document, such as a form, The content is still editable in the user-selected word processor.   Interfaces that exhibit this feature are notable for being simpler and more powerful. It has certain characteristics. Its simplicity has the advantage that the user edits the text. Due to the fact that one has to learn one way to perform a given task. same Sometimes that text editor is similar to that currently found in many applications. It is a module with enough functions to replace the one with poor performance. Can be said to be very powerful to get.   The two basic components of a part are the part, the object (its unique (Due to its own controls or editor) It can also function as an application. Due to these features, many parts Provide the function. For example, every document is a part, and every part is a document. To use. To illustrate this, a text part is a document that contains characters and a graphic part. Art is a document containing lines and circles.   Another feature of this part is that it acts as a container. For example One part can include another part. In addition, the parts include It is not limited to the type of parts. Rather, what kind of part is one part If it can be included, it can also include all kinds of parts. This part Features make the invention an ideal architecture for creating compound documents. ing. Since a document contains parts, it does not change the document or controls. It can automatically include all types of parts that represent different types of information.   These features allow the user interface to produce the desired result. By adjusting different parts, a compound document is constructed. In this sense Ming's interface is document-centric rather than application-oriented. is there. That is, the conventional application plays the role of the interface of the present invention. However, the invention separates it from the data that is combined to form the part. I have.   Another feature of this interface is the way parts are presented to the user. Par Tsu is expressed as an icon that can be called a small picture that provides the handle of the part And the whole thing can be operated by the icon. For example, eye The icon is dragged between the desktop and the window, and the icon itself It can also be a destination for dropping other icons by dragging. Also, The content of the part is similar to that of a conventional application Expanded to the workspace defined by C.   Parts are also represented as frames. Frame is a display that represents parts This is an area with a screen. Like the icon, the frame provides a handle for the part However, the handle enables operation as a whole. The frame is also a desk Is dragged on the screen or between windows, and is itself the destination of the drag operation. It can be opened to become a window or closed to Back to home. However, unlike the icon, You can see and edit the contents.   Frames are the main (container) parts, such as documents, and embedded It is a data structure that functions as an interface with subordinate parts. Frame The framework consists of a number of attributes, some of which are Tena) parts, and some by embedded subordinate parts. Is controlled. With such a frame mediation, the main (container) par The controls for the sub-parts embedded in the main part (container) are Adjust the space allocation given to subordinate parts embedded in.   Use parts as a basic building block for the user interface. Previously not available in personal computer applications by The ability that was capable is provided. These capabilities will hereafter be preferred practice of the invention. Description will be made with reference to a specific example.Brief description of the drawings       FIG. 1 is a block diagram of the main elements of a computer system.       FIGS. 2A and 2B are examples of display screens. Parts are added from a folder to a document. It shows how to drag.       FIG. 3 is an example of each display screen, and shows how a frame is activated.       FIG. 4 is a diagram showing a state of a frame selected in the active frame. You.       FIG. 5 is a diagram showing the appearance of basic primitives that define the layout of a compound document. It is.       6A to 6C are diagrams showing examples of frames and facet structures.       7A-7F show embedded dependent patterns for frame and facet attributes. A flow showing an example of adjustment that occurs between the parts and the main (container) parts is shown. FIG.       FIG. 8 is a flowchart showing the process of starting the editor.       9A-9E show dragging parts between the desktop and the document. It is a figure which shows the change of a display screen.       10 to 10B are flowcharts showing a process of dragging and dropping a part. It is a chart.       11-11C show copying material from one part to another It is a figure which shows the change of the display screen which shows a mode.       12A-12C copy material from one part to another It is a figure which shows the change of the display screen which shows a mode.       Figures 13A-13C copy material from one part to another It is a figure which shows the change of the display screen which shows a mode.       Figure 14 is a flow chart showing the process of placing material from one part to another. It is a chart.       FIG. 15 is a display screen showing parts whose access is restricted.       FIG. 16 is a display screen showing a parts bin.Detailed description of examples   To facilitate an understanding of the invention and the advantages afforded thereby, the features of the invention are Macintosh supplied by Apple Computer Co., Ltd. while doing, For those familiar with related technology, The principle of the invention is that this particular motion ring It will be appreciated that it is not limited by boundaries. Rather, Based on the present invention The concept of documents, Especially, Unified interface for compiling and editing compound documents Any type of computer operating system for which it is desirable to provide It can also be applied to stems.   A typical type of computer system used in the present invention is Shown in Figure 1 The block diagram is as shown in FIG. However, The structure of the computer itself Is It does not form part of the present invention. here, What are the characteristics of the present invention? How is it working with the structure of the computer? Briefly explained for later understanding I do. In FIG. The system is a computer with various external peripheral devices 12 connected. Data 10 is included. Computer 10 Central processing unit (CPU) 14, Normal Is a static memory having a RAM 16 and a ROM 18 and a magnetic or optical disk. Main memory incorporating a non-volatile storage device such as It is. CPU14 Communicate with each of these memories via internal bus 22 I do. The peripheral device 12 is A data input device such as a keyboard 24, mouse, G And a pointing cursor control device 26 such as a rackball or the like. . A display device 28 such as a CRT monitor or LCD screen In the computer The information being processed, For example, Visualize and display the contents of the document. This information c The hard copy is provided by the printer 30 or similar device. These outside Each peripheral device One or more input / output ports on your computer CPU14 Communicate with.   The present invention Especially, The CPU 14 controls the keyboard 24 and the cursor control device 26. Control how information is manipulated, Also, The operated information is the user To a system for controlling the manner in which it is displayed through the display device 30 It is. An example of an interface using the principles of the present invention is shown in FIGS. 2A and 2B. I have. These figures are Illustrates a desktop 34 defining a workspace 36 ing. Also, The desktop includes a menu bar 38. work In the space 36, Two windows 40, There is 42. Left window 40 is A window of a folder containing icons that represent various parts. As shown in FIG. 2A, The three icons 44 belong to the text part, 4 The second icon 45 represents a graphic part, Another icon 46 is a form 46. Is expressed. The sixth icon 48 is Creation of presentation slides It is a stationary icon that represents the parts used for. In Figure 2A Be careful The window 42 on the right side is Contains text documents. That is, The document Contains a text part 50. This text part is in window 42 By typing the text into Alternatively, The icon in that window Created by opening the previously created text part It is.   In FIG. 2B, the graphic icon 45 changes from the folder on the left side window 40 to the window on the right side. The result of the operation dragged to the text document of the window 42 is illustrated. Figure User interface with a desktop metaphor as shown in 2A and 2B. Interface, as is known What is dragging? Object is death By activating the cursor control device 26 on the desktop or in the window, Moved It is an operation that is performed when the image is copied or copied. one time, Graphic icon in document Placed in The content is It is displayed in the frame 52. The document is now a figure Since it contains elements and text elements, It is referred to as a compound document It is.   In compound documents, For example, Different program execution modules like editor Le worked together, Generate a single integrated information. Each such execution module Is A segment of the total information content of the document, That is, Control parts. Parcel What is included is Used to relate parts of the document to each other. What is included is User included part or subordinate embedded Parts move with main (container) parts, Alternatively, Main parts Express a logical relationship that you expect to be affected by.   The graphic elements in the text 50 and the frame 52 belong to different parts, these The parts of are combined together to create a compound document. As previously mentioned, The parts are , It is a self-contained entity that consists of content and its associated controls. You. These two components are Whenever that part is accessed, No matter where it is located on the desktop, Available. Follow hand, As shown in FIG. 2A, The graphic icon 45 is displayed in the window 40 When located in Da, The icon is a graphic element and an editor for that element It represents parts including. When the part moves to the document in window 42 Come The contents move with the movement, The function of the editor for the contents is also Available to users.   The important thing about this feature is that No matter where the content of the part is located, Its content Is always editable, The fact is that otherwise it is operable. Follow hand, In the compound document of FIG. 2B, The text content 50 is An example For example, The same word processor that was used to originally create the text. By using the It can be edited. The graphics editor will Since it exists as a component of the arts, Within the figure of that part As appropriate It can be edited directly. Therefore, Before on personal computers Unlike other applications, The user can Other windows of desktop 34 Open the graphics application in Windows, Edit figure information as you wish Gather, Then export the edited figure to the document in window 42 You don't have to. Rather, The user Without introducing intermediate steps Directly The contents of the frame 52 can be edited in the contents of the document in the window 42. That user Pay attention to the content of the document rather than the application, Prepared by surrounding documents The available context is available.   Therefore, What are parts? Autonomous self-contained object with core system technology It is a vector. that is, Works with any type of software engine or environment Can Users do not have to learn special editor operations for parts . As long as the editor for the parts in that category is represented by the core system, You User The ability of the part can be fully utilized. further, if, Tech If the strike part was generated by a special text editor (word processor), You User is limited to just using that text editor for that part. is not. if, The user is familiar with commands from different word processors If you are That processor All text pars in computer systems It can be specified as the preferred editor for tools.   The parts are It is not limited to documents and their contents. Rather, Which one in the system Objects also make up parts. Therefore, The folder in window 40 is parts And The contents are icons 44-48. Similarly, Desktop 34 it I am also a part, Dialog boxes and other user interface objects The same is true for Kuto.   Frames and icons It is an alternative display of parts. The user Par You can switch between the frame display and the icon display of the this is, Suitable key It is done by commands from the keyboard and menu commands. if, Large document listen, For example, If it spans several pages, Only part of it is displayed in the frame Absent. therefore, A frame like an icon Can be opened in a window And by this, For example, Scroll through all of the big parts You can see the contents, Functions available in the window, For example, Magnification function, For Can be edited. Similarly, The part is closed from the window display You can also return to the frame display. The frame is You can edit the contents as appropriate. In that you can Different from the icon. The frame is also One frame, Or, Since there are multiple frames in the window, Different from windows. The window is Is a transitional view of the object, that is, Just parts Gathered, Only when verified It remains open. to this for, The frame is It is a permanent method of displaying the contents of parts.   parts, It takes the form of an icon or frame, that is, other Also works as a container for parts. In the example of FIG. 2B, Character 50 in frame Exists in The border of that frame is It is the same as that of the window 42. This The relatively large frame of Includes a relatively small frame 52 for graphic parts It is. The character part is Since it is at the outermost part of the window, Then "root Labeled as "Parts". Generally speaking, The root part is Wind Establish a basic editorial policy regarding c.   The root parts are Like the icon 48 shown in FIG. 2A, Stationary Generated by the icon. In general, The stationery icon is Predefined Expressing the parts, Functions as a metaphor for paper machines in the physical world I do. When a new document is generated, A person strips an unused sheet of paper from the paper table. Ritori, The content of the document, For example, Put words, drawings, etc. on it. Stationery The icon plays a similar role. User has new text document If you want to generate Text document stationery icon, For example, Da it By bull clicking Opened. In response to this, That stay The iconic icon is Creates a copy of itself (or "Mushitori"), C Open it in a window or frame. This copy is At first nothing Blank or not included Or, Certain information, such as letterhead or company logo It is an ordinary part with. then, The user Additional content to the document, For example, Enter letters.   Stationary itself Open as a window or frame not, It just exists as an icon. Only the stripped copy, Open It is. Therefore, If the stationery icon is dragged into the document, Rather than opening itself into the frame The copy is stripped off , Placed in the document, That copy opens in the frame. Stacy Yonari icon itself Return to the position it occupied before the move. by this, S The stationery is incorrectly inserted in the document, Or, Prevent it from being lost I'm out.   The frame is Because it functions as a container, It's a good window It will show known properties. For example, If the user is If you select the available content, The frame containing the selected content becomes active. Pa When the arts are active, It accepts commands and keyboard events , The menu and other user interface options are displayed. flame An example of the activation of is shown in FIGS. 3A and 3B. Figure 3A Texting A desktop with a window 54 containing a compound document having Show. In this compound document, The text forms the root part of the document. In the example of FIG. 3A, Part 56 of that text is selected, It is highlighted. This in the case of, The frame containing the selected parts is Touches the border of the window itself You. The menu bar 58 on the desktop A suitable frame for editing text Included.   FIG. 3B shows Graphic element, That is, The example in which the triangle 60 is selected is shown. The figure The frame containing the shape element Now it ’s active, The border is On the dotted line 62 Thus, it is shown. Since the active frame is a figure part this time, The command on the menu bar 58 is Change the content of the shape to something suitable for editing It is. further, Palette 64 is displayed on the desktop, Of active frame It has the tools needed to edit the contents of a graphic.   In addition to activating the frame, The user Also, Select frame You may. The frame selection is For example, Activate the frame and Make the boundaries visible, afterwards, Position cursor on frame border While letting This is accomplished by pressing a button on the cursor control device. Figure 4 , A frame 66 is shown that includes both graphic and textual content. That The frame border 68 is Indicated by the dotted line, It is an active frame Shows the fact that In that active frame, Contains text content There is a frame 70. This frame is Move the cursor 72 pointer to the frame While positioned on the boundary 73, By pressing a button on the cursor control device To be selected. To show the fact that frame 72 was selected, Selection frame The boundary 73 of 72 is The appearance is different from that of the active frame 66. example If The boundary is As shown in Figure 4, Get wider In addition, Resize c Is equipped with a handle 74 Well-known method of frame shape and size using this Can be changed with.   In general, Whenever some or some of the content of a part is selected, Choice The smallest frame containing the specified element becomes the active frame. Therefore, Frey One word in Mu 70 For example, Position the cursor on the word and By clicking the sol control button, Once selected, Frame 70 The state of changes from the selected state to the active state. at the same time, Border of frame 66 The world becomes invisible. Because This frame is No longer active if, This is because it has not been selected. vice versa, If you Arm 66 If selected by clicking on that border 68, Border 73 Disappeared, Boundary 68 will appear, Frames including frame 66 (or Window (not shown in FIG. 4) becomes a high-intensity display, That is Indicates that it is an active.   3A, FIG. 3B, In the example of FIG. The frame is shown to be rectangular You. Now, This shape is preferred for displaying the contents of most types of parts But The shape of the frame is It need not be limited to a rectangle. Rather, That Lame, Any shape may be adopted to suit the displayed contents.   The frame is It is not an element of the part itself. Rather, Claim is a document ray Is one of three separate data structures that form the primitive that defines the out . These three data structures are It has a canvas, a frame and a transformation. Figure 5 At The canvas 75 is a data structure that represents the overall context of the document. This This is A method for importing a description of the coordinate space and a series of graphic commands into an image or expression format. It includes canism. An example of a canvas is Computer screen, Related to printer Page description language, Bits on the display list for computer displays Map or pixel map.   The frame 76 is Both the main (container) parts and the embedded parts It is a data structure that serves as a stored information repository. The conversion is To shape commands It is a data structure representing a series of applied geometrical descriptions. In the example of Figure 5 And The conversion is Reference point, For example, Offset from the upper left corner of canvas 75 Expressed as To 77. For other types of conversion, scaling, rotation, screw And There are distortions. Generally speaking, What is conversion? Frame on canvas 75 It is a geometrical description of the position and directionality of 76. that is, As a matter of fact, It is two-dimensional or three-dimensional.   An interface between the main (container) parts and the embedded parts And to function, Each frame has a data structure with many characteristic attributes. Of. Some of these attributes are It is called various "shapes". Each of these shapes Between the main (container) part and the embedded part Represents a geometrical description of an area that defines a document context shared by. Shay Some of the controls are controlled by the main (container) parts, on the other hand, Others are buried Determined by the parts to be covered. In general, These various shapes Of the document Any region of the coordinate space of the context, For example, Can express the canvas. In this respect, Frey The shape of the mu Separated regions can be expressed in the same manner as adjacent regions.   The characteristic shape of the frame is It is shown in FIG. 6A. In this figure, left The figure on the side shows text (root parts) and graphic parts represented by triangles. Indicates the containing compound document. on the other hand, The figure on the right shows the shape of the frame related to the figure part. Indicates the attributes of.   One of the characteristic attributes of the frame is It is a frame shape. The shape is , Determined by the main (container) parts (text), Its embedded Describes the geometric area used to show the layout of a part (graphic element) I do. In FIG. 6A, The frame shape is Indicated by the outer solid border 78 Have been. The area represented by that shape is Scaling and line cutting , Other similarities that must be done by the editor for embedded parts Influence the layout decision of. However, Only the main (container) parts are directly You can change the ram shape. This shape depends on the main (container) parts When changed, Notifications are made for embedded parts, Appropriate changes are buried The display and / or the content of the embedded parts are also made.   Yet another distinguishing attribute of frames is Boundary with diagonal lines on the inside of Fig. 6A The in-use shape shown at field 79. This shape is Embedded pad Determined by the For the main (container) parts, Its embedded Describe the part of the geometrical area that is actually used by the part. This shape Is Subset of the frame shape if necessary. Main (container) The parts are It may not be allowed to pull into the shape during use. And The area outside the active shape, Even if it Inside the frame shape 78 Even It is free to pull in that area. Its embedded par Tsu can change the shape while in use, When that was done, That embedded pad Will notify the main (container) part of the change.   The other two attributes of the frame are The group tag and its conversion. main( (Container) When it is not possible to provide adequate space for the parts to be embedded, So Embedded parts require a new frame from the main (container) part Can be The group tag is Is a number-like identifier, that is, Giving Only one series of related frames in the obtained main (container) parts Only identify. here, All of the main parts (containers) are Single embedded It is related to the parts. The main (container) parts are the frame group Controls the geometric relationships of the various frames in the group.   Frame conversion is Used to display embedded parts in the frame Data identifying geometric transformations that will be applied to all geometric commands Structure. For example, If the part can be rotated 90 degrees, flame All the items displayed inside also rotate by that angle. This conversion is Attention Applies to all frames enclosed within the room and embedded parts themselves Is done. Frame conversion is controlled by the embedded parts.   Engage in the relationship between the main (container) part and the embedded part Another data structure that fits is It is the facet of the frame. Facets are Specific distribution And The geometrical relationship between the main (container) part and the embedded part Represents relevant clipping information. Like a frame, Facets are also It has many characteristic attributes. One of these is the frame the attribute is associated with It is. Another group of facet attributes is Define various shapes. Fa The shape of the set is shown in Figures 6B and 6C. These two In the example of the two figures, The root part is a text document, This is a three figure pattern Arts, That is, triangle, ellipse, Contains a table. The figure on the right side of FIG. 6B shows a triangular par. Shows the facet shape for the The diagram on the right side of Fig. 6C shows the oval parts. Indicates the facet shape to For clarity, These two pars The shapes 78 and 80 of the frame related to Tsu are As shown in FIGS. 6B and 6C. I have.   One of the facet's attributes is the clipping shape. Clipping shape Is In the embedded parts, Geometric area in which the contents of parts can be drawn or displayed Will be explained. In the example of FIGS. 6B and 6C, Lower right of opaque triangular figure part The departments have overlapping tables. therefore, Its triangular clipping shape 81 Is Exclude this part which is overlapped by the table. Clipping shape Is Container (main parts), That is, Example root part illustrated in FIG. 6B Is determined by the text document forming the. That container (main part) You can change the injury clipping shape, And When that was done, That Notify embedded parts of changes.   Other shapes that are characteristic attributes of facets are: With its active shape Yes, It is shown in FIG. 6B by the thin solid triangular shape 82. This shape is Determined by the embedded parts, Frame shape and messenger It is independent of the in-use shape. this is, For the main (container) parts, Embedded Part receives geometrically related events such as cursor control input Explain the geometric region to be used. Whenever an event occurs in this area Also, The user interface is not the main (container) part of the event Rather, Tell the embedded parts. However, Main (container) par Tsu Occurs in a region outside the active shape 82 of the embedded part Respond freely to any event.   Another characteristic attribute of facets is It is a facet conversion. This data The structure is Controlled by the main (container) parts, Its main Na) All graphic frames used to display the embedded parts within the part Specify the transformation that will be applied to the command. That is, This conversion is Main (container) par Indicate where and how the information will be displayed on the Tu canvas. This conversion is , All facets nested within the featured facet, Embedded parts Apply to   In addition to these two attributes, Facets include other shapes. One of these Is an opaque shape. This shape is controlled by the embedded parts , In the main (container) part, which area of that clipping shape is opaque Explain if there is. The opaque area is The embedded part uses the drawing result of the part I The area where the embedded part hides to complete its own display. And. In the example of FIGS. 6B and 6C, The ellipse is opaque, Clipping Frame shape 80 that is coextensive with shape 83 (these are separated in FIG. 6C). It is included in the frame). This part is The desired color, An example For example, Blue transparent mesh, Apply to what it hides. While displaying This part is canvas Using the results previously rendered above, To make it look more bluish under the net In order to Change the color drawn.   The opaque shape 84 for this part is It is shown in FIG. 6C. This she Ip is Embedded parts, That is, Controlled by the ellipse. It is a display system Used by the z-axis direction, That is, Regarding the direction perpendicular to the display plane, Embedded Determines the order of display and clipping information for parts that appear below the Set. When the embedded part changes the shape of the opaque area, The parts Notifies the main (container) parts.   Another characteristic shape of facets is It is an overlap shape. This shape is controlled by the main (container) parts, Its embedded For parts, Clippy hidden by the opaque content of the main (container) part For the ng shape part, explain. Overlap for triangular parts Shape 85 is It is shown in FIG. 6B. As shown in that figure, The geometric area in the clipping shape 81 is an opaque shape for an elliptical part. It matches Ip 84. To make the explanation clear, In FIG. 6B, Oh -Barlap shape 85 is offset from clipping shape 81 Is shown in FIG. However, actually, Above and to the left of the overlap shape The boundary is Matches the edge of the clipping shape.   The opaque contents of the main (container) parts are Display code for embedded parts Content that requires a result of As a result, the main (container) parts are The transparent contents can be drawn correctly. This embedded part is this area Whenever you change something in its content in The parts are mainly ( Must notify the parts to make the necessary display changes. No.   Each frame and facet Characteristic shapes and other features related to them Understand that it has specific attributes. Generally speaking, Frame attributes are persistent Yes, Saved with the document file. On the contrary, Facet Attributes are temporary, A document appears only while it is displayed on the screen.   Its frame data structure is The main (container) parts and their embedded parts Art Try to be as incomprehensible as possible about each other's internal constraints, Align document structures with each other I am able to adjust. Main (container) part and its embedded parts Examples of adjustments that occur between Shown in FIGS. 7A-7F. These cases In each Shape data structure is the main (container) part and its embedding Exchanged with the parts In all such cases, main( Container) parts From the coordinate system of the embedded part to its own coordinate system It is responsible for converting that shape. In the example of FIG. 7A, Frame shape Is It has been changed in the container. This step is It starts with a command from the user, For example, By moving one or more frame resize handles, H Change the size of the rame. In step 701, Main The (container) parts are Because of its embedded parts, New frame Decide the shape, Inform the frame of its new shape. Main (container ) The parts are Coordinate space of the embedded frame from the coordinate space of the container frame It is responsible for converting the shape to. This new shape is a frame shape Stored as an ip, The embedded parts will be modified in step 702. Be notified. In step 703, The built-in parts are Refresh yourself Adjust to a good frame shape. For example, Text editor is text layer May reset the margin for out. if, Shape in use, Over And If the active shape differs from the frame shape margin, The embedded parts are also Calculate these new shapes. At that moment, Control is Notification of new in-use and active shapes, Main (con Tena) Return to parts. In step 704, the main (container) parts are new Clipping shapes on the facets of the frame to accommodate the frame shape Change the Inform the facet of the new clipping shape.   FIG. 7B shows Fired when the embedded part requires a new frame shape. 9 illustrates a procedure that occurs. This request is For the content to be laid out correctly As a result of editing the contents of the embedded parts that require additional space, Bring May be done. In step 705, Embedded parts have a new flavor The decision was made to need a mushape, Display frame for new shape The request is transmitted to the forum. The old shape is In case it is needed later, Buried Saved by embedded parts. In step 706, The display frame is To the main (container) parts, The part is the main requirement Convert to the one in the coordinate space of the part. In step 707, main( Container) parts Decide how to respond to the request. that is, In the desired shape May accept the request for Or, Decided that a smaller shape is required May be fixed. Frame shape is determined once If you can, The clipping shape for that frame's facets is also transformed And Regarding that allowed shape, Notification is given to the frame. Steps In 708, The display frame is Shape at the coordinates of the main (container) frame Convert to a shape with an embedded frame. The new form is Flame Saved as a file, The frame shape is Tell the embedded parts It is. In step 709, The embedded part is The facet in use Change the shape and active shape, I'll match it with the new frame shape I will   FIG. 7C shows The main (container) parts are faceted clipping shapes The procedure when changing is illustrated. In FIG. 6B, For example, Clipping You need to change the shape, Part of the area surrounded by the display frame is different. Results of user actions such as overlapping the contents As May occur. In step 710, Main (container) par Is Determine a new clipping shape for the facets, This new shi Notify the facet of the shape. In step 711, Facets are That Communicate notifications to embedded parts. In response to this, In step 712, Buried The inset parts are By changing so that the contents are laid out properly , Align itself to the new clipping shape.   FIG. 7D shows The embedded parts are Steps to change the shape in use Is illustrated. again, The need for such changes Of the part by the user When editing the content, May occur. In step 713, Embedded The parts are Pick a new in-use shape for its display frame, This Inform the frame of the new shape of the. In step 714, Its display flavor Mu is Communicate the notification to the main (container) parts. Step in response to this At 715, The main (container) parts are Makes itself a new in-use shape Match. For example, The main (container) parts are Its contents are laid out Change the way Along the new shape, it's different than before You might ask.   FIG. 7E is a diagram showing a procedure in which an embedded part changes its opaque shape. It is. This change is As a result of editing the content of the embedded part May be removed. In step 716, The embedded parts are phase A new opaque shape for the This facet is Notify the type. In step 717, The facet is primarily responsible for this notification ( Tell the container) parts. In response to this, In step 718, Its main The (container) part aligns itself with the new opaque shape. For example, So Of parts, change the way the contents are arranged, Or, New shape Change the display status to match.   When the opaque shape changes Similarly, The corresponding overlap shape May need to be changed. For example, As illustrated in FIGS. 6B and 6C. If the shape of the opaque ellipse has changed, Overlap shape 85 is also strange Must be changed. In FIG. 7F, In step 719, Main (container ) The parts are Select a new overlapped shape for the facets, Notify the facet of this shape. In step 720, That facet To tell the embedded part this new shape. In response to this, S In step 721, For embedded parts, adjust the display to create a new shape. Make it possible to incorporate it. next, The embedded parts are the main (container) parts Inform the new overlap shape about Main in step 722 (Container) parts For example, Allows you to adjust the bluish display . Generally speaking, The contents of the overlap shape change itself, Some Is Whenever it's changed for editing its content, That embedded pad Arts told this change to the main (container) parts, The display is adjusted properly Must be done.   Therefore, Frames and facets Embedded parts and main (container) Allows the required space allocation to and from the part to be adjusted immediately It is a data structure to be. By using different shapes and other attributes, flame And by facets, Its main (container) parts and embedded parts But, Each part has detailed information about the content and behavior of the other parts Without asking, Utilize the space available efficiently for displaying its contents I am able to do it. Therefore, Compound documents can be combined very flexibly is there.   Editors and other controls for parts are In a conventional computer system Similar to the application program Display the contents of the parts, And , If appropriate, To give a user interface to change and modify its contents It is a software element that provides the necessary functionality for. To do that, menu , controller, Tool palette, Other interaction technologies may be included Not. Regarding parts that can include other parts, The editor is Among them If Yong is displayed, Consider the included parts. For example, Text eddy Ta Wrap the contents of the part, When using a graphic part that incorporates it Try not to appear in the form.   To use the functionality provided by traditional applications, Program stands Must be given or booted. In other words, that is, system's Active memory, For example, It must be stored in the RAM 16. In a similar way, The editor for parts is System memory or CPU Must be executed in accessible memory. To do this, The editor is , Must be installed on your system. For example, that is, Hard Day Stored in the folder of the disk 20, Called when the related part is accessed You. To avoid wasting system resources, All installed editors are It does not have to be loaded into system memory at all times. Rather, When they need it, I can stand up. For example, The editor for parts is The parts are sentences When dragged into the book, That's when you probably need editing capabilities, so Just stand up.   The process of launching editors and other controls is Illustrated in the flow chart of FIG. ing. With reference to that figure, In step 801, System is booted Find the parts that should be done. The access for this step is When a mouse button is pressed It is done in response to an event flag that is generated anytime. Or, This access Su It can be a script step. one time, When the activation of the part is detected, The system identifies the editor associated with the part (step 802). this point, Each part is It has certain properties associated with it. One of these One is A pointer that points to the editor for the part. Two other characteristics Is For example, Is it text or Is it a figure, Whether it is a form, So And the parts category of That type. The type is Related to the contents of the part It becomes an index of the format. For example, One text part is It is the same Even if it belongs to Tegori (text), Available in "Word Processor A" type Can be Another type could be a "word processor B". often, parts The type of Determined by the last editor used in the content of the part. one Generally speaking, What is a category? It is a set of parts type, Category is Determine the set of part editors and viewers that can be applied to a given part You. The characteristics of the parts are It is saved with its contents. For example, Features of all parts Sex It is included in the "property sheet" that is stored with the content of the part.   one time, If the editor (or type of part) is recognized in step 802, The system determines if the editor is already running in memory ( Step 803). if, in that case, The system returns to the main routine, You Wait for further action from The. if, If the editor is not already running, Cis System has the editor identified in step 802 installed on the system. Whether or not it is checked (step 804). if, Identified in step 802 Installed editor is installed on your system, That editor I got up in 805, You will be able to edit the contents of the part.   However, If the parts editor is not currently installed on your system There is a possibility of saying that. in this case, The decision in step 804 is “negative” And In response to this, The system will allow the user to select a preferred It is determined whether or not the data has been selected (step 806). That is, The user Suitable What Or, Select a default editor for different categories of parts Can be Therefore, if, User can command specific word processor features If you are familiar with Do, The processor is all parts of the text category Selected as the preferred text editor. if, The preferred editor If selected, The system has its preferred editor installed on the system It is checked whether or not (step 807). And if, Be it If In step 808 it is launched.   if, If no preferred editor was specified, Or, Its preferred editor is If it didn't exist in the system, In step 809, In that category of parts A check is then made to see if any editor is present on the system. Also Then Without any editor, An appropriate alert is given to the user (step 810). ), And The system returns to the background routine. if, That category If more than one editor is available for They are listed, The user is prompted to select one (step 811). In response to that selection by the user, The selected editor is launched (step 812), that is, Save as a preferred editor for that category of parts (Step 813). the system, then, Background rouch Back to Wait for further input from the user.   The user anytime, For example, Through the appropriate menu command Parts You are given the opportunity to change the specified editor. Execute this command By, The user Point stored as one of the characteristics of the part The To change the location of different editors installed on your system it can. The menu command is Also, The user For example, Document level (All text parts of a document have the same editor) and global level (system Being able to select the preferred editor at different levels (e.g. across systems) Has been obtained. The user accesses the menu, You can select the part editor , Whenever you make a change, The appropriate instrument for the category of part Only the set of editors that have been installed are displayed for the user to select.   If you want The system used each editor running in memory You can save a record of the latest time. if, Editor not used within a given time If The system automatically erases the editor from memory, By this Prevents waste of system resources. Also, When the document is closed, Of the document The editor associated with the part is also Other parts that are currently open, For example, If it doesn't belong to another document, Closed.   Due to the autonomous nature of the parts, The containers for various parts are Never special It is not limited to ips. For example, In the past, Text documents are specific It could only contain graphics and other content if it was a data format. this The seed constraint is Removed by the architecture of the present invention. fundamentally, Don For other parts, It is a "black box". main (Container) parts are related to the internal structure and the semantics of other parts contained in them. You don't have to have any information. The main (container) parts are simply, It contains For other parts it only functions as a wrapper. This kind of architecture , It makes compiling and editing compound documents much easier.   Further explanation, The document is an icon located on the desktop itself Represented by In FIG. 9A, The desktop shown is Text sentence It includes a window 89 containing books. Also, As on my desktop , There is a graphic document icon 90. Each window and icon Each par It expresses Tsu. For text documents located in the window, The parts are It is expressed in the form of a frame. And The border of that frame is It touches the boundaries of its own. According to the present invention, Represented by an icon The parts are Without having to go through something like a dialog box, Direct user Operated by Placed in a text document. This operation is After this, Figure 9A -Figure 9E, as well as, This will be described with reference to the flowcharts of FIGS. 10A and 10B.   The graphic document represented by the icon 90 is a text document in the window 89. To put it on the body, The user First, Place the mouse pointer over the icon Placement (step 1001), And Press the mouse button to select the icon (Step 1002). In response to this, The system displays that icon To high brightness, Show the fact that it was selected (step 1003). Figure 9 In the example of A, To increase the brightness of the icon 90, Inverted table of the icon and title Indicated by the indication.   Hold down the mouse button, User wants the cursor to be a graphic part To the position (step 1004). As shown in FIG. 9B , The selected icon is Move according to the movement of the cursor. At the cursor To move the combined icons, Known as the "drag" operation. That icon Is dragged to the desired position, Icon ghost outline 91 Remains on the desktop, The original position is shown. Or, Instead, That The ghost outline moves with the cursor, Illustrated in step 1005 As The full icon display may remain in its original position .   While dragging this icon The system has its cursor in a window It is determined whether or not (step 1006). Icon 90 in window 89 Located to the side, The window itself turns into a bright display. The system is When it detects that the dragged icon has entered the frame in the window ( Step 1007), The frame is displayed with high brightness, The frame is Dora Indicates that the grouped object has been accepted (step 100). 8). if, The icon is dragged until it is outside the frame If you continue The high-intensity display of that frame disappears (step 1009). vice versa , If multiple frames are nested inside each other, Nested in order Each frame is As the icon drags inside it, Become active. In this way, the system, With the frame that becomes active , As to where the icon will be dropped when the cursor control button is released And provide feedback.   Once When the dragged icon is in the desired position, User is mouse button Release (step 1010). at this point, The system is good at the parts Determine a suitable display method. For example, that is, Should it be displayed as an icon, Or, It should be displayed as a frame (step 1011). Figure 9 In the example of A-FIG. 9E, Since the parts are placed in the document, Its suitable display The law is It is a frame. Therefore, As shown in FIG. 9C, That mau When the button is released, The place corresponding to the position of the cursor is the upper left corner The graphic parts are displayed as a frame 96 (step 1012). Also, Figure 9 As shown in C, The frame is At the border of the thick dotted line, Also, Size change It is expressed with an additional handle, that is, Indicates the selected part ing.   The reverse operation is Executed to bring the part back from the document to the desktop. Sa Moreover, Copy that part, So that its content remains in the document, one Alternatively, another display of the part can be placed on the desktop. To do this, The user While dragging that frame, On the keyboard Press a control key or a function key such as the Option key. Mouse button press By pressing the function key simultaneously with the bottom, A copy operation is performed on the system Tell that. At that time, While holding down the mouse button, Shown in FIG. 9D The user drags the frame to the desktop. here, Figure parts Content 98 remains in the text document, The second part of that part Pea appears in frame 96. Once The frame is in the desired position on the desktop If you move Release the mouse button, The system again gives a good indication of the parts Decide how. in this case, The part is located on the desktop From The preferred display is an icon. Therefore, Icon display 90 of parts , It is displayed on the desktop as shown in FIG. 9E.   Or, If the copy operation has priority over the move operation, Press the control key Copying is done by dragging the parts without Parts selected When dragged, When that control key is pressed, Move operation Can be executed.   In the system of the present invention, Manipulate parts directly between desktop and document Because it is done Desktop metaphors are better preserved. That is, The user Performing intermediate operations such as writing in dialog boxes Without Pick up the desired parts from the desktop, Directly in the document Put on. as a result, The time and amount of time needed to bring new content into the document The number of steps can be reduced.   A machine for dragging and dropping objects between the desktop and documents More information on one way in which the system implements Noh Is Filed March 3, 1993, Application No. 08/058, 260, The inventor is a donkey G. G. Johnson Jr., Mark L. Stern, David L. Evan The program name is “Application program in computer controlled display system. System and method for improved data manipulation between a file system and a file system ". Have been. The disclosure of which is hereby incorporated by reference.   Now, as mentioned above, each part has a certain characteristic, which is a suitable table. Referenced in the illustration. This characteristic is that the parts included in the given parts are To get the behavior associated with both the folder and the document window , Usually displayed as an icon or as a frame Or decide. Generally speaking, all parts are either desktop parts or It is classified as a document part. Desktop parts can be folders, printers, or Include other parts, such as a mailbox, or work on it But that is the purpose. Suitable display for parts included in desktop parts Is like an icon. The building blocks are ultimately text documents and It can be printed on paper such as graphic documents or other hardcopy. It is the target. The preferred display for the parts included in a document part is It's like a dome. Therefore, see the operation illustrated in FIGS. 9A-9C. The graphic part will then appear as an icon when it is on the desktop. (Fig. 9A), but when it is placed in the document it changes to a frame display. (Fig. 9C). Similarly, when the part moves from the document to the desktop , Its display changes from a frame to an icon (FIGS. 9C-9E). of course, The user will be able to There is an option that can be changed in the display.   As mentioned above, the stationery parts have it just displayed as an icon. The difference is that It moves from one desktop part to another it can. So, for example, you can treat it like a normal part in a folder. . However, if you try to move a stationary part to a document part, , A copy of the stationary part is placed in the document part instead, and its copy Appears as a frame.   In addition to moving the part as a whole, the user You can select or move all. Each part has its own type of content. doing. For example, text parts contain text characters, and graphic parts Includes a graphic element and the like. The user has some of the unique content of a part , I.e., select donor parts and select these different parts, i.e. You can move or copy to the previous part. 3 when this kind of movement occurs There can be one scenario. (1) Donor parts and destination Both parts contain the same specific type of data. (2) Donor parts And destination parts contain different types of data, but the destination parts You can incorporate categories of data that you receive from (3) Donor par Data and destination parts are different types of data. It is not tailored to incorporate the categories of data it receives. this Each of the three cases will be described below with reference to the illustrated example.   In the first scenario, the donor and destination parts are of the same type It is. For example, their unique content may be text characters, which May have been generated by the same word processor. FIG. 11A shows 2 Text documents 100 and 102 in two windows on the desktop, respectively An example is shown. A part 104 of the characters of the document 100 on the left is selected This is shown in reverse video. This selected text is on the right To be copied to the document 102 in the window. Therefore, the user Hold down the function key and press the mouse button to select the selected text, if necessary. A copy 105 of the document 104 to the right document 102, as shown in FIG. 11B. You can drag it. Once the cursor is in the second document 102, this sentence The calligraphy is displayed in high brightness. Document 100 on the left is no longer active, so Is placed behind document 102 and its title bar is no longer highlighted. You.   Once the copied text is in the desired position, the user clicks the mouse button. Release and place the text in the document, as illustrated in FIG. 11C. First The text copied from the second document to the second document is the unique content of the second text. The text is incorporated into the content of the second document as it is of the same type as. Word In other words, once the selected text is placed in the second document, it Or has no independent independence. Rather within the uniqueness of the destination document Become part of the content. Therefore, use it for the original content of the destination document. You can edit it with the same editor that was used.   In the case of the second scenario described above, the specific contents of the donor part and the destination part are The destination part is a different type, but the information of the category included in the donor part Can handle. In Figure 12A, the full power of the text editor The text 106 selected from the document 100 generated using the dialog box It is to be copied to box 108. In this example, the selected text The strike 106 is adapted to a certain format. That is, it has the attributes in bold , Italic font is also used. However, the dialog box It only handles plain text.   In a manner similar to the previous example, a copy of the selected text 106 is now a text document. Is dragged from to the dialog box. The cursor is the dialog box Upon entry, it moves to the top of the display as illustrated in Figure 12B. one Huh, when a copy of the selected text is in the right place in the dialog box The user releases the mouse button and "drops" it appropriately. at this point, The system tells you that the dropped text is unique to the dialog box. That they are not the same type, that is, they have some form rather than the usual form Determine. However, since it is text, it is a compatible category Belong to. Therefore, the system will copy text with a style to its Convert it to plain text by removing the attributes of the file, and then As part of the unique content, as shown in FIG. 12C. Incorporate in the space. Now, wrap the original document 100 over two lines. The copied text that is being copied does not exist in the copy of the selected text, for example. By removing the existing carriage return, in the dialog box 108 It is rewrapped to one line as part of the conversion process.   In the case of the third scenario above, the unique content of the donor document is Compared to, they are of different types and are in incompatible categories. In FIG. 13A And the text 104 selected from the text document 100 is the graphic document 1 It is supposed to be copied to 10. Once again, the user is The copy 105 of the selected text is dragged to the graphic document 110. That power As soon as the cursor enters the destination document, the graphic document 110 is displayed in high brightness (FIG. 13). B). Once the copy 105 of the text is in place, the user can Release the button and drop the text into the graphic document. In this case, selected The text category is the unique content of the destination document It is not compatible with the element. Therefore, the system is the same type as the donor document ( Text) and insert a copy of the selected one into that part. Enter and include the new part in the destination document. In this way, the new par Tsu will retain its own uniqueness in the destination document. It is itself The unique content of yourself, that is, the text characters and the associated text editor To have. The new product is another separate part, so the shape Within the document, it remains as frame 112, as illustrated in Figure 13C. Frame The frame 112 is selected as illustrated by the border around its frame. Remains as a closed object.   When a copy of the selected text moves from a text document to a graphic document, The desktop menu bar 114 is illustrated in Figures 13A and 13B. As such, it retains commands related to text documents. However, the copy Once the imported text has been dropped into the graphic document, it is shown in Figure 13C. As you can see, the commands available on the menu bar 114 match the text editor. It will switch from the combined one to the one suitable for the graphic editor. In addition, the figure editor The toolbar 116 associated with the widget appears on the desktop. Because the graphic document Is now the active document and if the selected part is located in that document It is. However, if the user positions the cursor inside frame 112, If you want to select a letter or word, the toolbar 116 is removed and the menu bar -114 commands change to those appropriate for text editing.   In summary, when content moves from one document to another, the system Whether or not the content is included in the destination document as part of its unique content Determine if it must be incorporated as an autonomous part in the destination document. This The operation of the system for carrying out the process of FIG. ing. The user selects an object and drags it to the intended destination. After logging, the system will type the part in which the selected object originally existed. Is determined (step 1401). For example, the selected object is a normal It may be text, it may be text in some format, and it may be It may be a form factor. One of the stored characteristics for each part Identify which type of part it is and then move from that part. Each object that is moved or copied is also of its identified type. Is recognized as After the type of part is identified, that type is the destination document It is determined whether the type is the same as the type (step 1402). If so If so, the selected content is embedded or inserted into the destination document, It becomes part of the unique content (step 1403). If the selected information is If it is not the same as the type of the destination document, the system indicates that it belongs to the same category. It is determined whether or not (step 1404). For example, if the selected information is , Text with a certain formatting style, which is normal text in the destination document. If they are strikes, they belong to the same category, although they are of different types. If the selected information belongs to the same category as the destination document, the system will The selected information is converted into the same type as the destination document (step 1405). An example For example, if the text produced by one word processor is Converted to the format adopted by. Or, a graphic document is a file File format is converted to another one. Once the conversion is complete, select The selected information is incorporated into the content of the destination document (step 1403). if , If the selected information does not belong to the same category as the destination document, That part is selected Information is generated so that it has its contents (step 1406), and the new information The new parts are incorporated into the destination document as a frame (step 1407).   Due to the autonomous nature of the parts, the parts do not exchange information between different users. Always easy. A document, for example a root part, contains some other parts I have. The user can retrieve the entire document, view it, and if desired, You can edit individual parts. Alternatively, each individual part may be placed on the desktop. , Shared by many users, while accessing the document as a whole Protected.   To further elaborate on these, each part has limited access. Protected by rights. For example, a document containing several different parts may have many different types. It may also be intended for distribution to people. Some of those parts are It may contain sensitive information that some types of people do not want to expose. Departure According to the main idea, these individual parts are protected with limited access rights. . And its contents are available to people who have proper passwords or other means of access. Therefore, it is circulated only. In other words, the access control function is another characteristic of parts. Nature.   In FIG. 15, the illustrated document 118 is made up of many parts, Each of the parts is contained within the frame indicated by the dashed line. One of the parts Access to one 120 is restricted. For example, the part is a confidential form May contain data. Access to this part is restricted, so Its contents are not displayed in that frame. Rather, the frame is opaque And displays the appropriate symbol, such as key 122, to Indicates that something is needed to access it.   The document 118 is opened by the user of the system and its overview layout and You can see information on parts that are not confidential. However, confidential part 1 The data contained in 20 is the appropriate path to access that part. Only those who have the ward can see it. Such a person selects that part Then, the opaque cover is removed and its contents are displayed.   Its contents are not accessed, but other characteristics of the restricted part are its password. It is also available to system users who do not have the code. example You can change the position of that part in the document, select it, and You can also resize it by moving the resize handle at the border. You. In the same way, copy the restricted parts anywhere. Can be. However, that access restriction no matter where it is copied, Also remains attached to its copy.   Parts with limited access rights have other parts embedded in them be able to. As a result, some users do not have the proper password and If you access the contents of a tool, the other parts it contains are also restricted. I can't see it. Once the password is accepted, the password is It will be automatically notified to all built-in parts, those restrictions will be lifted, It can be viewed without bothering the user. However, of course, Insets can have different passwords associated with them, even if Even if a user can access a part that has one restriction, other parts included in it Access to parts may be more restricted.   Therefore, the present invention can limit access to the contents of a document at the intra-document level. So Access rights are specified for each part, and where the data for that part is It is effective regardless of whether or not it is located in. According to this method, the entire document Unprivileged parts in a document without imposing extensive access restrictions Can be accessed by the user. In a large document with multiple authors, By allowing access restrictions to be set for each part, authors can view the document It becomes more flexible when working together.   To facilitate manipulating parts and compiling compound documents It is equipped with a special type of parts called. Figure 16 shows an example of parts bin Show. In FIG. 16, the document is opened in the window 130, and the document is The parts bin 132 to be displayed appears in another area called a windoid. That c The window is associated with the window 130, so that if the document If you come to the front of, that windoid will come to the front of the screen with it.   The parts bin 132 essentially serves as a source for other parts. The Definition Palette. It only contains other parts and has no unique content Absent. The parts in the parts bin have the characteristic of being "frozen" . That is, the user normally presses the mouse button while the cursor is inside the frame. Will select the smallest element at the cursor position. In FIG. 16, normal , If the cursor is placed in one cell of the form frame 134, When the sol control button is pressed, the contents of that cell are selected. But the user , Select different objects, eg whole form, including the actual selected cells It may have been intended to do. To do so, the user must The other areas in the frame, but of other parts embedded in the desired part You have to move it to the outside. However, such requirements are It can be eliminated by freezing the parts inside. in this case , The user clicks the mouse, no matter where the cursor is in the part, You can select the whole set. Therefore, the parts located in the parts bin are Even though it's represented as a frame with other embedded parts, Treated as a body.   Parts in the parts bin can be locked so that the contents cannot be changed. You. The locked property of the parts bin is determined by the padding on the windoid header. It is represented by a drock symbol 136. User Locked Parts Bin If you try to drag a part that is outside the The original parts remain in the parts bin, which causes the contents of the bin to The integrity of is guaranteed. User can customize parts bin To lock the parts bin, click the padlock symbol 136, for example. It can be unlocked by changing the part.   Another embodiment demonstrating this aspect of the invention is to have an associated parts bin for each document. Can be done. Document a standard parts set with this "Document Parts Bin" Can be associated with the document so that it is immediately available to the user of the document. You can have functional parts. By invoking the command, the user can The parts bin can be displayed on a windoid, etc. Also the accompanying parts bin Documents can have restrictive properties on it. This allows you to The only parts that can be placed in are in that bin. Its limiting characteristics Attempts to put other parts on the document with will be rejected. This property is Ensure that users of the document can only work with certain parts of the document, Thus, training, support and maintenance related to documents can be reduced. For example, a parts bin for a data entry form will contain the data for that form. You will have only the parts that you need to exert. As a result, you have not been trained Unexpected parts that cannot be used correctly by some users You will never come across. This limitation on parts allows the organization to It becomes possible to control.   In addition to the user benefits described above, the architecture of the present invention is a software It also benefits the developers of the air. For example, a form program basically processes numbers. Designed to make sense. And developers with experience in this field Time can be used most efficiently for Noh. However, that you The text editor must be able to edit the text even in formulas and numbers. The data is also a necessary part of the form application. Required even for conventional programs Although it is important, it is necessary to write a program for a text editor. This is a nuisance for the program developer. However, if the user chooses In an environment where different text editors are available as separate parts in the form , Form developers no longer need to write text editors. Its developers spend their time exclusively on the more essential parts of the reporting program Can be used to develop other functions that were previously associated with the numerical processing functions of forms. Used special time to configure special features that were not available due to You will be able to embed.   In addition, software developers can then add new features and existing If you decide to fix the bug, the job will be easier. Especially , The developer only needs to focus his attention on the form part of the program. It is not necessary to pay attention to ancillary components such as data.   The present invention now uses the particulars described herein to facilitate understanding of the underlying principles. However, the present invention is not limited to this example. For example, text and graphics are document components. It is used for the sake of illustration to represent an element. Therefore, of the parts Components are not limited to these two specific categories. Rather, The content of the parts can be any kind of medium including video, sound, animation, etc. Yes. The scope of the invention is not limited to the embodiments described above, but to the claims appended below. Included in all equivalents as defined by the claims and consistent with the meaning of the claims. It is what is done.

───────────────────────────────────────────────────── フロントページの続き (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────────────────────────────────────────────────── ─── Continuation of front page    (81) Designated countries 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) Inventor Susser, Joshua, Bee.             United States California             95062 Santa Cruz, Hammond Abe             New 111 (72) Inventor Roses, Richard, C.             United States California             95070 Saratoga, Atrium Drive               12099

Claims (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に記載の複合文書表 示方法。[Claims] 1. A first component of a document is a second component containing a component of said document. What is attached to each component and what is attached to each component Computer for creating and / or manipulating compound document including manipulators for contents An system defining a relationship between the first and second components in the system. Interface method,       Shared between the first and second components, the second component Content to determine the content of the first component, and A first shape defining an area within the second component that is available for use, The content of the first component is determined by the first component. A first shape including information including a second shape defining a portion of the region located at Means for storing the data structure of   Associated with the first data structure and between the first and second components A geometric relationship determined by the second component, the first component being A third shape that defines part of the area where the content of the component is displayed Means for storing a second data structure containing the information it contains. Interface method. 2. The shared information contained in the second data structure is the first information. User input to the system as determined by the component. A part of the third shape that plays a role of being transmitted to the operator related to the component. The interface of claim 1 including a defining fourth shape. Sus way. 3. The second data structure is a first component that hides the contents of the second component. An opaque shape that identifies the region of the component and the content of the second component Overlapping identifying areas of the first component that are hidden by The interface according to claim 1, further comprising information defining a shape to be displayed. Face way. 4. The first data structure is for displaying the contents of the first component. Stores information that identifies the geometric transformation applied to all commands used to The method of interfacing according to claim 1, characterized in that: 5. The second data structure is for displaying the contents of the first component. Stores information that identifies the geometric transformation applied to all commands used to The method of interfacing according to claim 4, characterized in that: 6. Document components are stored as parts with content, said parts Has an attendant for its contents, so that the first part is embedded in the second part. A compound document that creates a compound document in a computer system with a built-in configuration A generation method,       The area assigned to the content of the first part within the content of the second part. A first determining step for determining the area,       Set the frame shape corresponding to the area and set it to the frame shape. A setting notifying step of notifying the operator regarding the first part,       By the operator related to the first part, inside the frame shape The layout of the contents of the first part, and Determine the shape used corresponding to the subset of the area occupied by A second decision to notify the shape used to inform the operator of the second part Process and       The shape used by the manipulator for the first part The frame shape and the used shape are independent. A third determining step for determining a vertical active shape,       A detecting step of detecting a user input event related to the operation of the contents of the document;       That a detected user input event has occurred within the active shape When determined, relate the detected user input event to the first part A presentation step for presenting to the operator       The detected user input is made by the operator related to the first part. And a response step of responding to an elephant. 7. At least outside the region of the used shape, the second par The method further comprises a display step of displaying some of the contents of the tool. 6. The compound document generation method according to item 6. 8. At least two parts, one subordinate part is the main part It is configured to be embedded and included in some other part, and each part has a content A computer that handles compound documents that are composed of associated controls for their contents A compound document display method for displaying the compound document in a system, comprising:       Define a region within the main part that is available for the dependent part Frame shape and the frame shape actually used by the dependent parts. Frame containing information about the used shape and the area that defines the area within the shape. A storage process for storing the framework data structure,       The frame shape is determined by the main parts, and the frame A first notification step for notifying the frame structure of the frame shape,       From the coordinate space of the main part to the coordinate space of the dependent part, A conversion process for converting ram shapes,       A second notification notifying the subordinate part of the converted frame shape Process and       With the subordinate parts, the utilization shape conforming to the frame shape is A decision process to decide the type,       A third notification process for notifying the main part of the determined usage shape About       At least the contents of the subordinate parts in the area of the utilization shape, A method for displaying a compound document, comprising a display step for displaying some. 9. The determination of the frame shape by the main part depends on the dependent parts. 9. The compound document display according to claim 8, which is executed in response to a request from the user. Method. 10. Before clipping shape can display the contents of the subordinate parts Stores a facet data structure that contains information that defines an area within a frame shape And the process of       Determining the clipping shape in the main part,       Notifying the subordinate parts regarding the clipping shape When,       Show the contents of the dependent parts only within the area of the clipping shape. 9. The method for displaying a compound document according to claim 8, further comprising the step of: Law. 11. The facet data structure is also pre-hiding the content of the main part. Contains information that defines an opaque shape that recognizes regions of the clipping shape. See       Notifying the main part of the opaque shape,       From the main part to the dependent part, in front of the opaque shape The process of providing information on the content of the main parts,       Change the display of the content according to the concealment made by the subordinate parts 11. The method of displaying a compound document according to claim 10, further comprising: Law. 12. The facet data structure further depends on the content of the main parts. Overlapping shapes that recognize areas of the clipping shape that are hidden Contains information that defines       Notifying the subordinate parts of the overlapping shapes; ,       From the subordinate part to the main part, the overlapping sheave Providing information about the contents of the dependent parts within the Ip,       Change the display of the content according to the concealment made by the main parts 11. The method of displaying a compound document according to claim 10, further comprising: Law. 13. The contents of the dependent parts within the overlapped shape have changed. Notification of the main part from the dependent part whenever When,       According to the concealment made by the main parts, 13. The composite according to claim 12, further comprising the step of changing the display. Document display method. 14. The facet data structure includes information defining a geometric transformation,       Further applying the transform to all of the contents of the clipping shape 11. The compound document display method according to claim 10, comprising: 15. The frame data structure includes information defining a geometric transformation,       Apply the transformation to everything displayed within the clipping shape The compound document display method according to claim 10, further comprising a step. 16. Inside the frame shape and outside the area of the utilization shape , At least further comprising displaying some of the content of the main part 9. The compound document display method according to claim 8, wherein: 17. The usage shape can be changed by the manipulators for the subordinate parts. Process,       Notifying the main part of the modified usage shape;       According to the changed usage shape, display the contents of the main parts. 17. The compound document table according to claim 16, further comprising a step of changing. How to show.
JP51818295A 1993-12-30 1994-12-27 Interface method, compound document generation method, and compound document display method Expired - Lifetime JP3950937B2 (en)

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 (en) 1997-07-22
JP3950937B2 JP3950937B2 (en) 2007-08-01

Family

ID=22640673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51818295A Expired - Lifetime JP3950937B2 (en) 1993-12-30 1994-12-27 Interface method, compound document generation method, and compound document display method

Country Status (6)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11288412A (en) * 1998-04-02 1999-10-19 Hitachi Ltd Document creation method and system, and computer-readable recording medium recording document creation program
JP2013175189A (en) * 2012-02-24 2013-09-05 Samsung Electronics Co Ltd Method and device for generating captured image for display windows
KR20140051335A (en) * 2011-08-12 2014-04-30 오토이, 인크. Drag and drop of objects between applications

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659742A (en) * 1995-09-15 1997-08-19 Infonautics Corporation Method for storing multi-media information in an information retrieval system
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
US5873076A (en) * 1995-09-15 1999-02-16 Infonautics Corporation Architecture for processing search queries, retrieving documents identified thereby, and method for using same
US5822731A (en) * 1995-09-15 1998-10-13 Infonautics Corporation Adjusting a hidden Markov model tagger for sentence fragments
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
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
US5721902A (en) * 1995-09-15 1998-02-24 Infonautics Corporation Restricted expansion of query terms using part of speech tagging
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
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 (en) * 1998-04-02 1999-10-19 Hitachi Ltd Document creation method and system, and computer-readable recording medium recording document creation program
KR20140051335A (en) * 2011-08-12 2014-04-30 오토이, 인크. Drag and drop of objects between applications
JP2014524612A (en) * 2011-08-12 2014-09-22 オトイ、インコーポレイテッド Drag and drop objects between applications
US10162491B2 (en) 2011-08-12 2018-12-25 Otoy Inc. Drag and drop of objects between applications
JP2013175189A (en) * 2012-02-24 2013-09-05 Samsung Electronics Co Ltd Method and device for generating captured image for display windows

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3849880B2 (en) Computer / human interface system for compound documents
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
US5335323A (en) Computer human interface with multiapplication display
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 (en) System and method for providing a window management mode
US5428734A (en) Method and apparatus for enhancing drag and drop manipulation of objects in a graphical user interface
US9015624B2 (en) Floating command object
JPH0555893B2 (en)
JP2007213589A (en) Method for processing visualized memorandum and electronic device
US20040257346A1 (en) Content selection and handling
JPS63174122A (en) Computer human interface
EP0710388A1 (en) Object-oriented display system
JPH09297675A (en) Customizable device pointer to be used for graphical user interface
JPH09507322A (en) A frame structure that provides an interface between the parts of a compound document
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 (en) Method for handling obscured item on computer display
Gunderloy Developer to designer: GUI design for the busy developer
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