KOM を使う / OpenParts の使い方 | ||
---|---|---|
前のページ | 第 3章OpenParts |
時には OpenParts フォーカス処理からあるウィジェットを明示的に排除する必要があります。 その多くが子 Part を扱う場合です。 例えば以下のような状況です:
1つのメインウィジェットと親 Part があるとします。 このウィジェット(Part)は、スプリッターウィジェット(QSplitter)で分けられたいくつかの他の子 Part を埋め込んでいます。 レイアウトを再調整するためにユーザがスプリッターの1つをクリックすると、OpenParts は、子 Part を非アクティブにし、メインウィジェット(親 Part )を用いてアクティブにします。まるでスプリッターウィジェットは、(明らかに)メインウィジェットの子ウィジェットです。 これは、正しい動作ですが、おそらくユーザにはさほど親しみはないでしょう;-)。
これを固定する正しい方法は、このフォーカス処理からスプリッターウィジェットを排除することです。 そうすると実際、OpenParts にこのことを伝えられます。 (例では)スプリッターはメインウィジェット、OPPartIfを継承するメインウィジェットクラスに属しているため API を含んでいます。
利用できる3つの方法は、OPPartIfクラスの Part で、これについては改めて説明する必要はないでしょう:addSeparatedWidget(),removeSeparatedWidget(),isSeparatedWidget()
これで全てです。KOM/OpenParts を有効に利用しましょう:-)。
TODO:
オートローダテンプレートクラス
OPアプリケーション インタフェース + ファクトリー
日本語翻訳:レーザーファイブ <info@laser5.co.jp>