1

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
    }
    });
4

1 に答える 1