editor/idlのカオス
初回投稿日時: 2010-05-08 17:36:13
カテゴリ: Mozilla Core
SNS:
Tweet (list)
editor/idlにあるインターフェースが中々にカオスです。前からですが。
- nsIEditor.idl
nsEditorにアクセスするための外部インターフェース。- nsIEditorIMESupport.idl
- IME関連の機能にアクセスするための外部インターフェース。
nsEditorで実装。 - nsIEditorMailSupport.idl
- 引用して貼り付け、等のメール関連に特化した機能だけを集めた外部インターフェース。
nsPlaintextEditorで実装。 - nsIHTMLEditor.idl
nsHTMLEditorにアクセスするための外部インターフェース。- nsIPlaintextEditor.idl
nsPlaintextEditorにアクセスするための外部インターフェース。
エディタの実装と、その利用に関してはこれらのインターフェースが利用されますが、まず問題の一点目は、実装をもとにインターフェースがデザインされているため、利用者からはさっぱり分からないこの分け方。また、二点目は無駄にnsIEditorからQIが必要なため、コードが無駄に読みにくくなっていることです。
ひとまず、nsIEditorIMESupportはnsIEditorに統合しようと企んでいます。
それが終われば、nsIEditorMailSupport.idlも同様にできるかなぁとは思いますが、ユーザ次第というところでしょうか(拡張レベルでもこの辺にアクセスしてくるのは希だとは思いますので、そこまでは考えていませんが)。
これをやってしまうと、今度はnsIEditorがふくれあがってきますが、ここには実装に必要なだけのメソッドが大量にあります。これらを別のインターフェースに移して、もうちょっとわかりやすくできないかなぁと考えてるところです。