メソッドは、包含するクラスの中で宣言されます。
クラスにされた構成要素の構造体の型を変更すると、そのクラスのメソッドへの 参照が無効になる可能性があります。
たとえば、フォームがクラスにされており、メソッドを持つボタンがフォームの子である場合 を考えてみましょう。この組み合わせに対して生成されるコードには、form::method() という 参照が含まれます。しかし、フォームの構造体が変更されると、form::method は無効になります。 構造体の型を変更した場合には、次の 2 つの対処方法があります。1 つ目は、別のクラスで メソッドを宣言すること、2 つ目はメソッドを単純なコールバックに戻すことです。
上記のような理由でメソッドが無効になってしまった場合は、「無効化されたメソッド」ダイアログが表示されます。 このダイアログの左側には関連するメソッドを持つクラス化された構成要素の依存情報が表示され、 右側にはその依存関係に影響を受けるすべてのメソッドが表示されます。左側のリストから項目を選択すると、 右側のリストの中でその依存関係に関連するメソッドが選択されます。
このダイアログでは、選択されたメソッドを別のクラスで宣言し直すことができます。 右側のリストからメソッドを選択すると、メソッド名、そのメソッドが現在属しているクラス、 新しい宣言先のクラスが、各テキストフィールドに表示されます。
宣言先としては、ウィジェット階層を上にたどって次に見つかったクラスが提示されます。
「宣言」ボタンを押すと、選択されている無効になったメソッドが「提示されたクラス」フィールドに表示 されているクラス中で、再宣言されます。
「すべてを宣言」ボタンを押すと、無効になった各メソッドがそれぞれの「提示されたクラス」中で再宣言されます。
このダイアログで再宣言されなかったメソッドは、コールバックに戻ってしまいますので 注意してください。
関連項目: