Window クラス (qx.ui.window.Window) を拡張する親ウィジェットがあり、このウィンドウには子がいくつかあります ( childControlImpl をオーバーライドして子を作成しました)。
ここで、子クラスの 1 つから親クラスのメソッドにアクセスしたいと思います。メソッドを呼び出すオブジェクトを作成したくありません。代わりに、getLayoutParentメソッドを使用してこれを行いたいと考えています。
しかし、子クラスからgetLayoutParentメソッドを呼び出すことができる場合、アクセスできるのは組み込みメソッドだけですが、作成したメソッドにはアクセスできません。
どうすればこれを行うことができますか?
コード サンプル:
qx.Class.define("project.WrkAttrWindow",{
extend : qx.ui.window.Window,
construct: function() {
this.base(arguments);
this.__table = this._createChildControl("table");
},
members: {
__table:null
_createChildControlImpl : function(id)
{
var control;
switch(id)
{
case "table":
control = new project.WrkAttrTable();
this.add(control);
break;
}
return control || this.base(arguments, id);
},
getPrjId:function() {
console.log(I want to call this function);
}
});
子ウィジェット
qx.Class.define("project.WrkAttrTable",{
extend: qx.ui.table.Table,
statics: {
colKeys:["id","name","description"]
},
construct: function() {
this.base(arguments);
//some code here
},
members:
{
//call parent method from here
this.getLayoutParent().getPrjId(); // does not work
}
});