メソッド宣言

コールバックをメソッドとして追加する場合は効率的に処理するために、 X-Designer はメソッドの宣言をそのウィジェットの包含するクラスに追加します。包含するクラスであるウィジェットを選択し、「ウィジェット」メニューから「メソッド宣言」を 選択することにより、メソッド宣言の表示、追加および削除を行うことができます。

どのクラスが包含するクラスかを特定するには、「表示」メニューの「構造の色」 を使用して、メソッドに追加したウィジェットの一番近い祖先ウィジェットを 選択します。もちろん C++ クラスとして定義されている場合も、このウィジェットは同じです。


メソッドのアクセス制御

デフォルトでは、X-Designer の追加するメソッドのアクセスは「公開」です。「メソッド宣言」ダイアログにある「アクセス」オプションメニューを使用すると、 個々のコールバック・メソッドに対するアクセスを選択できます。


純粋仮想メソッド

「純粋仮想」トグルを設定すると、非静的メンバー関数を純粋仮想関数として宣言することができます。たとえば、このトグルをメニューバークラスのコールバック・メソッド OnNew() に設定した場合、X-Designer はメソッドを 以下のように宣言します。



class menubar_c:public xd_XmMenuBar_c { ... public: ... virtual void OnNew( Widget, XtPointer ) = 0; };

この関数は純粋仮想関数であるため、menubar_c は 抽象クラスとなり、menubar_c::OnNew() の実装を行う必要はありません。menubar_c の インスタンスを作成することはできませんが、他のクラスの基底クラスとして 使用できるようになります。

X-Designer はデフォルトで、メソッドを純粋仮想ではなく 公開アクセスを持つものとして宣言します。


コールバック・メソッドの削除

コールバック・メソッドをウィジェットから削除するということは、単にそのメソ ッド (ウィジェットへのコール) の使用を止めるということを意味します。X-Designer でコールバック・メソッドを追加すると、 メソッドの宣言が自動的に追加されます。メソッドの宣言も一緒に削除したい場合は、 包含するクラスであるウィジェットのメソッド宣言リストから宣言を削除する必要が あります。


関連項目: