このドキュメントは最後に修正済の3月30日、11:45amでした。

構成者モジュール要約

背景
アーキテクチャー
反対のプラットフォーム
XP Notesおよび警告
ウインドウズ・フロント・エンド
マックフロント・エンド
UNIXフロント・エンド
将来計画

背景

最初のネットスケープHTMLエディターは、最初に紹介されました、1996年のナビゲーターGoldの"2.0"、「金の」様相が本質的にエディターだった場合。 バージョン3.0で、マックとUNIXのバージョンは利用可能でした。 コミュニケーター4.0で、エディターは改名された「構成者」で、同様にメイル・メッセージを書くために使用されました(「メッセージ構成者(Message Composer)」)。
構成者は、いるように設計されました: 構成者は、いるようには設計されませんでした:

アーキテクチャー

一般に、インプリメンテーションに2層は次のとおりです:反対のプラットフォーム(Cross Platform)(「バックエンド」あるいは「XP」)システム、および各プラットフォームに特有のフロント・エンド(「FE」)コード。 私たちは、ページ構成者(Page Composer)モジュールおよびメイル・メッセージ構成者(Mail Message Composer)モジュール--ページとメッセージのコンポーネントによって共有されたXPエディター(XP Editor)核心および視界クラス--に共通のコンポーネントを参照するために用語「エディター」を使用するでしょう。 エディターXP(Editor XP)システムは完全にC++から成ります、内部に反対する、しかし、各フロント・エンドへのインターフェースはそうです、によって、その、グローバル「EDT_"C(EDT_" C)機能。 同様に、各フロント・エンドへのコールバックはグローバルです「FE_"機能、たとえフロント・エンドがほとんどC++の中で書かれていても。

反対のプラットフォーム(「バックエンド」あるいは「XP」コード)

エディターAPI(Editor API)(共有されたストリング定義と同様に)ヘッダーファイルはそうです、の中で、次のものを含んでいる:
edt.h 主要なAPI(Main API)宣言- グローバル機能が始まるすべて「EDT_"
edttypes.h 構造、データ・タイプ、グローバル、定義します。 構造名は始まります、で「EDT_"。 定義する、また、データ・タイプは始まります、で「ED_"
fe_proto.h 各プラットフォームのフロント・エンドに共通の関数宣言。 すべては始まります、で「FE_"
allxpstr.h すべてのプラットフォームによって共有されたメッセージストリング。 [ウインドウズ中で:ストリングを加えたか変更した後、資源コンパイラーによる使用のために「allxpstr.rc」にこのファイルをコピーする。]
反対のプラットフォーム・コードは、解放/レイアウト中のこれらのファイルにほとんど含まれています:
editor.h
fsfile.h ファイルIOのために「テープ・ファイル・システム(Tape File System)は使用された。」
streams.h ファイルとメモリのデータ流れ
edttypep.h 定義する、エディター・クラスへのデータ・タイプのために

もっぱら構成者によって使用されるインプリメンテーション・ファイル:
editor.cpp CEditBuffer方法および他のエディター・オブジェクトにグローバルEDT_機能を写像するインプリメンテーション。
edtbuf.cpp バッファーを編集します。HTMLデータ・オブジェクト木を含んでおり管理します。
edtele.cpp HTMLデータ・オブジェクト
edtcmd.cpp 取消すことができる(複合のレベルの初期の試みから、システムを取消す―私たちが単一のレベルから離れなければ、この層が除去されるべきです、取消す)「コマンド」のためのインターフェース
edtjava.cpp エディターPlugins(Editor Plugins)のためのJavaに関連するコード
edtsave.cpp ファイルおよびイメージ・ロード、保存と出版
edtutil.cpp 文集助手、および選択、オブジェクト・サイジング、オートセーブ・タイマーなどによって使用されるクラス。
fsfile.cpp テープ・ファイル・システム・インプリメンテーション
streams.cpp ファイルとメモリはインプリメンテーションを流します。

解放/レイアウト中の他のファイルは、構成者ピクチャーウィンドーにレイアウトとの構成者特定のコード取り引きを含んでいます。 ほとんどの構成者特定のエリアが"#ifdef EDITORを探索することであることを知るのに単向」ソース・ファイル中で。

XP Notesおよび警告

ウインドウズ・フロント・エンド

ウインドウズ・フロント・エンド(Windows Front End)は、CDocumentがそれがMFCプログラムの中に通常あるほど重要でないこと以外は、ドキュメント/フレーム/視界モデルにほとんど付着するMFCベースのアーキテクチャーです。 CFrame-派生したクラスは、ツールバー、ステータス・ラインおよびメニュー(「クロム」)のようなユーザ・インターフェース要素を含んでいます--ここに、クラス階層はあります:
CFrameWnd->CNSGenFrame->CGenericFrame->CMainFrame->、CEditFrame
ブラウザー・ウィンドウはCMainFrameオブジェクトです。 同様に、視界クラスの階層は次のとおりです:
CView->CGenericView->CNetscapeView->CNetscapeEditView
ほとんどのウインドウズ・メッセージはCNetscapEditViewに敗走させられます。

Winfe Notesおよび警告

マックフロント・エンド

マッキントッシュ・フロント・エンド(Macintosh Front End)は、PowerPlantクラスに基づいたC++の中でほとんど書かれています。 主要なエディター機能性は、CEditView.cp(クラスCHTMLViewに基づいた)およびCEditorWindow.cp(クラスCBrowserWindowに基づいた)で見つけることができます。

UNIXフロント・エンド

(完成)

将来計画

これは私たちの顧客からの入力と同様に、ネットスケープデザイナーおよびエンジニアが示唆した多くの考えの短いバージョンです: