Hi, I wrote a modificated qx.ui.mobile.list.List that contains a qx.ui.mobile.embed.Canvas widget. Done by creation and registration of a CanvasListDelegator / CanvasListRenderer.
My problem is, the "canvas drawing" don't appear. Has anybody got a solution / an idea ? Cheers Kora Her you have the Playground example code to reproduce the behaviour: http://demo.qooxdoo.org/devel/playground/#%7B%22code%22%3A%22qx.Class.define%28%2522mobileclient.ui.mobile.list.renderer.CanvasListRenderer%2522%252C%250A%257B%250A%2520%2520extend%2520%253A%2520qx.ui.mobile.list.renderer.Abstract%252C%250A%250A%250A%2520%252F*%250A%2520%2520*****************************************************************************%250A%2520%2520%2520%2520%2520CONSTRUCTOR%250A%2520%2520*****************************************************************************%250A%2520%2520*%252F%250A%250A%2520%2520construct%2520%253A%2520function%28layout%29%250A%2520%2520%257B%250A%2520%2520%2520%2520this.base%28arguments%252C%2520layout%2520%257C%257C%2520new%2520qx.ui.mobile.layout.HBox%28%29.set%28%257B%250A%2520%2520%2520%2520%2520%2520%2520%2520alignY%2520%253A%2520%2522middle%2522%250A%2520%2520%2520%2520%2520%2520%257D%29%29%253B%250A%2520%2520%2520%2520this._init%28%29%253B%250A%2520%2520%257D%252C%250A%250A%250A%250A%250A%2520%252F*%250A%2520%2520*****************************************************************************%250A%2520%2520%2520%2520%2520MEMBERS%250A%2520%2520*****************************************************************************%250A%2520%2520*%252F%250A%250A%2520%2520members%2520%253A%250A%2520%2520%257B%250A%2520%2520%2520%2520__image%2520%253A%2520null%252C%250A%2520%2520%2520%2520__title%2520%253A%2520null%252C%250A%2520%2520%2520%2520__subtitle%2520%253A%2520null%252C%250A%2520%2520%2520%2520__rightContainer%2520%253A%2520null%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Returns%2520the%2520image%2520widget%2520which%2520is%2520used%2520for%2520this%2520renderer.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540return%2520%257Bqx.ui.mobile.basic.Image%257D%2520The%2520image%2520widget%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520getImageWidget%2520%253A%2520function%28%29%2520%257B%250A%2520%2520%2520%2520%2520%2520return%2520this.__image%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Returns%2520the%2520title%2520widget%2520which%2520is%2520used%2520for%2520this%2520renderer.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540return%2520%257Bqx.ui.mobile.basic.Label%257D%2520The%2520title%2520widget%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520getTitleWidget%2520%253A%2520function%28%29%2520%257B%250A%2520%2520%2520%2520%2520%2520return%2520this.__title%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Returns%2520the%2520subtitle%2520widget%2520which%2520is%2520used%2520for%2520this%2520renderer.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540return%2520%257Bqx.ui.mobile.basic.Label%257D%2520The%2520subtitle%2520widget%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520getSubtitleWidget%2520%253A%2520function%28%29%250A%2520%2520%2520%2520%257B%250A%2520%2520%2520%2520%2520%2520return%2520this.__subtitle%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Sets%2520the%2520source%2520of%2520the%2520image%2520widget.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540param%2520source%2520%257BString%257D%2520The%2520source%2520to%2520set%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520setImage%2520%253A%2520function%28source%29%250A%2520%2520%2520%2520%257B%250A%2520%2520%2520%2520%2520%2520this.__image.setSource%28source%29%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Sets%2520the%2520value%2520of%2520the%2520title%2520widget.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540param%2520title%2520%257BString%257D%2520The%2520value%2520to%2520set%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520setTitle%2520%253A%2520function%28title%29%250A%2520%2520%2520%2520%257B%250A%2520%2520%2520%2520%2520%2520this.__title.setValue%28title%29%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Sets%2520the%2520value%2520of%2520the%2520subtitle%2520widget.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540param%2520subtitle%2520%257BString%257D%2520The%2520value%2520to%2520set%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520setSubtitle%2520%253A%2520function%28subtitle%29%250A%2520%2520%2520%2520%257B%250A%2520%2520%2520%2520%2520%2520this.__subtitle.setValue%28subtitle%29%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Inits%2520the%2520widgets%2520for%2520the%2520renderer.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520_init%2520%253A%2520function%28%29%250A%2520%2520%2520%2520%257B%250A%2520%2520%2520%2520%2520%2520canvas%2520%253D%2520this._createCanvas%28%29%253B%250A%2520%2520%2520%2520%2520%2520canvasContainer%2520%253D%2520this._createCanvasContainer%28%29%253B%250A%2520%2520%2520%2520%2520%2520canvasContainer.add%28canvas%29%253B%250A%2520%2520%2520%2520%2520%2520this.add%28canvasContainer%29%253B%250A%250A%2520%2520%2520%2520%2520%2520this.__rightContainer%2520%253D%2520this._createRightContainer%28%29%253B%250A%2520%2520%2520%2520%2520%2520this.add%28this.__rightContainer%252C%2520%257Bflex%253A1%257D%29%253B%250A%250A%2520%2520%2520%2520%2520%2520this.__image%2520%253D%2520this._createImage%28%29%253B%250A%2520%2520%2520%2520%2520%2520this.add%28this.__image%29%253B%250A%250A%2520%2520%2520%2520%2520%2520this.__rightContainer%2520%253D%2520this._createRightContainer%28%29%253B%250A%2520%2520%2520%2520%2520%2520this.add%28this.__rightContainer%252C%2520%257Bflex%253A1%257D%29%253B%250A%250A%2520%2520%2520%2520%2520%2520this.__title%2520%253D%2520this._createTitle%28%29%253B%250A%2520%2520%2520%2520%2520%2520this.__rightContainer.add%28this.__title%29%253B%250A%250A%2520%2520%2520%2520%2520%2520this.__subtitle%2520%253D%2520this._createSubtitle%28%29%253B%250A%2520%2520%2520%2520%2520%2520this.__rightContainer.add%28this.__subtitle%29%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Creates%2520and%2520returns%2520the%2520right%2520container%2520composite.%2520Override%2520this%2520to%2520adapt%2520the%2520widget%2520code.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540return%2520%257Bqx.ui.mobile.container.Composite%257D%2520the%2520right%2520container.%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520_createRightContainer%2520%253A%2520function%28%29%2520%257B%250A%2520%2520%2520%2520%2520%2520return%2520new%2520qx.ui.mobile.container.Composite%28new%2520qx.ui.mobile.layout.VBox%28%29%29%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Creates%2520and%2520returns%2520the%2520right%2520container%2520composite.%2520Override%2520this%2520to%2520adapt%2520the%2520widget%2520code.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540return%2520%257Bqx.ui.mobile.container.Composite%257D%2520the%2520right%2520container.%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520_createCanvasContainer%2520%253A%2520function%28%29%2520%257B%250A%2520%2520%2520%2520%2520%2520return%2520new%2520qx.ui.mobile.container.Composite%28new%2520qx.ui.mobile.layout.VBox%28%29%29%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Creates%2520and%2520returns%2520the%2520image%2520widget.%2520Override%2520this%2520to%2520adapt%2520the%2520widget%2520code.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540return%2520%257Bqx.ui.mobile.basic.Image%257D%2520the%2520image%2520widget.%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520_createCanvas%2520%253A%2520function%28%29%2520%257B%250A%2520%2520%2520%2520%2520%2520var%2520canvas%2520%253D%2520new%2520qx.ui.mobile.embed.Canvas%28%29%253B%250A%250A%2520%2520%2520%2520%2520%2520canvas.setWidth%28100%29%253B%250A%2520%2520%2520%2520%2520%2520canvas.setHeight%28100%29%253B%250A%2520%2520%2520%2520%2520%2520%250A%2520%2520%2520%2520%2520%2520var%2520ctx%253D%2520canvas.getContext2d%28%29%253B%250A%2520%2520%2520%2520%2520%2520ctx.fillStyle%253D%2522%2523FF0000%2522%253B%250A%2520%2520%2520%2520%2520%2520ctx.fillRect%280%252C0%252C150%252C75%29%253B%250A%2520%2520%2520%2520%2520%2520ctx.beginPath%28%29%253B%250A%2520%2520%2520%2520%2520%2520ctx.arc%2875%252C75%252C50%252C0%252CMath.PI*2%252Ctrue%29%253B%2520%252F%252F%2520Outer%2520circle%250A%2520%2520%2520%2520%2520%2520ctx.moveTo%28110%252C75%29%253B%250A%2520%2520%2520%2520%2520%2520ctx.arc%2875%252C75%252C35%252C0%252CMath.PI%252Cfalse%29%253B%2520%2520%2520%252F%252F%2520Mouth%2520%28clockwise%29%250A%2520%2520%2520%2520%2520%2520ctx.moveTo%2865%252C65%29%253B%250A%2520%2520%2520%2520%2520%2520ctx.arc%2860%252C65%252C5%252C0%252CMath.PI*2%252Ctrue%29%253B%2520%2520%252F%252F%2520Left%2520eye%250A%2520%2520%2520%2520%2520%2520ctx.moveTo%2895%252C65%29%253B%250A%2520%2520%2520%2520%2520%2520ctx.arc%2890%252C65%252C5%252C0%252CMath.PI*2%252Ctrue%29%253B%2520%2520%252F%252F%2520Right%2520eye%250A%2520%2520%2520%2520%2520%2520ctx.stroke%28%29%253B%2520%2520%2520%2520%2520%250A%2520%2520%2520%2520%2520%2520return%2520canvas%253B%2520%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Creates%2520and%2520returns%2520the%2520image%2520widget.%2520Override%2520this%2520to%2520adapt%2520the%2520widget%2520code.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540return%2520%257Bqx.ui.mobile.basic.Image%257D%2520the%2520image%2520widget.%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520_createImage%2520%253A%2520function%28%29%2520%257B%250A%2520%2520%2520%2520%2520%2520var%2520image%2520%253D%2520new%2520qx.ui.mobile.basic.Image%28%29%253B%250A%2520%2520%2520%2520%2520%2520image.setAnonymous%28true%29%253B%250A%2520%2520%2520%2520%2520%2520image.addCssClass%28%2522list-itemimage%2522%29%253B%250A%2520%2520%2520%2520%2520%2520return%2520image%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Creates%2520and%2520returns%2520the%2520title%2520widget.%2520Override%2520this%2520to%2520adapt%2520the%2520widget%2520code.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540return%2520%257Bqx.ui.mobile.basic.Label%257D%2520the%2520title%2520widget.%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520_createTitle%2520%253A%2520function%28%29%2520%257B%250A%2520%2520%2520%2520%2520%2520var%2520title%2520%253D%2520new%2520qx.ui.mobile.basic.Label%28%29%253B%250A%2520%2520%2520%2520%2520%2520title.setWrap%28false%29%253B%250A%2520%2520%2520%2520%2520%2520title.addCssClass%28%2522list-itemlabel%2522%29%253B%250A%2520%2520%2520%2520%2520%2520return%2520title%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Creates%2520and%2520returns%2520the%2520subtitle%2520widget.%2520Override%2520this%2520to%2520adapt%2520the%2520widget%2520code.%250A%2520%2520%2520%2520%2520*%250A%2520%2520%2520%2520%2520*%2520%2540return%2520%257Bqx.ui.mobile.basic.Label%257D%2520the%2520subtitle%2520widget.%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520_createSubtitle%2520%253A%2520function%28%29%2520%257B%250A%2520%2520%2520%2520%2520%2520var%2520subtitle%2520%253D%2520new%2520qx.ui.mobile.basic.Label%28%29%253B%250A%2520%2520%2520%2520%2520%2520subtitle.setWrap%28false%29%253B%250A%2520%2520%2520%2520%2520%2520subtitle.addCssClass%28%2522subtitle%2522%29%253B%250A%2520%2520%2520%2520%2520%2520return%2520subtitle%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%250A%2520%2520%2520%2520%252F%252F%2520overridden%250A%2520%2520%2520%2520reset%2520%253A%2520function%28%29%250A%2520%2520%2520%2520%257B%250A%2520%2520%2520%2520%2520%2520this.__image.setSource%28null%29%253B%250A%2520%2520%2520%2520%2520%2520this.__title.setValue%28%2522%2522%29%253B%250A%2520%2520%2520%2520%2520%2520this.__subtitle.setValue%28%2522%2522%29%253B%250A%2520%2520%2520%2520%257D%250A%2520%2520%257D%252C%250A%250A%2520%252F*%250A%2520%2520*****************************************************************************%250A%2520%2520%2520%2520%2520DESTRUCTOR%250A%2520%2520*****************************************************************************%250A%2520%2520*%252F%250A%250A%2520%2520destruct%2520%253A%2520function%28%29%250A%2520%2520%257B%250A%2520%2520%2520%2520this._disposeObjects%28%2522__image%2522%252C%2520%2522__title%2522%252C%2520%2522__subtitle%2522%252C%2520%2522__rightContainer%2522%29%253B%250A%2520%2520%257D%250A%257D%29%253B%250A%250A%250A%250Aqx.Class.define%28%2522mobileclient.ui.mobile.list.CanvasListDelegator%2522%252C%250A%257B%250A%2520%2520implement%2520%253A%2520qx.ui.mobile.list.IListDelegate%252C%250A%2520%2520extend%2520%253A%2520qx.core.Object%252C%250A%250A%2520%2520construct%2520%253A%2520function%28%29%2520%257B%250A%2520%2520%2520%2520this.base%28arguments%29%253B%250A%2520%2520%257D%252C%250A%250A%250A%2520%2520events%2520%253A%2520%257B%250A%2520%2520%257D%252C%250A%250A%2520%2520members%2520%253A%2520%257B%250A%2520%2520%2520%2520%250A%2520%2520%2520%2520%252F%252F%2520overridden%250A%2520%2520%2520%2520_initialize%2520%253A%2520function%28%29%250A%2520%2520%2520%2520%257B%250A%2520%2520%2520%2520%2520%2520this.base%28arguments%29%253B%250A%2520%2520%2520%2520%257D%252C%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Configure%2520the%2520list%2520item%2520renderer%2520with%2520the%2520given%2520data.%2520Mandatory%2520method.%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520%2520configureItem%2520%253A%2520function%28item%252C%2520data%252C%2520row%29%2520%257B%250A%2520%2520%2520%2520%2520%2520%2520item.setImage%28null%29%253B%250A%2520%2520%2520%2520%2520%2520%2520item.setTitle%28row%253C4%2520%253F%2520%28%2522Selectable%2520%2522%2520%252B%2520data.title%29%2520%253A%2520data.title%29%253B%250A%2520%2520%2520%2520%2520%2520%2520item.setSubtitle%28data.subTitle%29%253B%250A%2520%2520%2520%2520%2520%2520%2520item.setSelectable%28row%253C4%29%253B%250A%2520%2520%2520%2520%2520%2520%2520item.setShowArrow%28row%253C4%29%253B%250A%2520%2520%2520%2520%2520%257D%252C%250A%250A%2520%2520%2520%2520%252F**%250A%2520%2520%2520%2520%2520*%2520Creates%2520an%2520instance%2520of%2520the%2520item%2520renderer%2520to%2520use.%250A%2520%2520%2520%2520%2520*%252F%250A%2520%2520%2520%2520createItemRenderer%2520%253A%2520function%28%29%2520%257B%250A%2520%2520%2520%2520%2520%2520var%2520itemRenderer%2520%253D%2520new%2520mobileclient.ui.mobile.list.renderer.CanvasListRenderer%28%29%253B%250A%2520%2520%2520%2520%2520%2520return%2520itemRenderer%253B%250A%2520%2520%2520%2520%257D%250A%2520%2520%257D%250A%257D%29%253B%250A%250A%250Avar%2520page%2520%253D%2520new%2520qx.ui.mobile.page.NavigationPage%28%29%253B%250Apage.setTitle%28%2522List%2522%29%253B%250Apage.addListener%28%2522initialize%2522%252C%2520function%28%29%2520%257B%250A%2520%2520%252F%252F%2520List%2520creation%250A%2520%2520var%2520listDelegator%2520%253D%2520new%2520mobileclient.ui.mobile.list.CanvasListDelegator%28%29%253B%2520%2520%250A%2520%2520var%2520list%2520%253D%2520new%2520qx.ui.mobile.list.List%28listDelegator%29%253B%250A%250A%250A%2520%2520%252F%252F%2520Create%2520the%2520data%250A%2520%2520var%2520data%2520%253D%2520%255B%255D%253B%250A%2520%2520for%2520%28var%2520i%253D0%253B%2520i%2520%253C%252050%253B%2520i%252B%252B%29%2520%257B%250A%2520%2520%2520%2520data.push%28%257Btitle%253A%2522Item%2522%2520%252B%2520i%252C%2520subTitle%253A%2522Subtitle%2520for%2520Item%2520%2523%2522%2520%252B%2520i%257D%29%253B%250A%2520%2520%257D%250A%250A%2520%2520list.setModel%28new%2520qx.data.Array%28data%29%29%253B%250A%2520%2520list.addListener%28%2522changeSelection%2522%252C%2520function%28evt%29%2520%257B%250A%2520%2520%2520%2520alert%28%2522Item%2520Selected%2520%2523%2522%2520%252B%2520evt.getData%28%29%29%253B%250A%2520%2520%257D%252C%2520this%29%253B%250A%250A%2520%2520page.getContent%28%29.add%28list%29%253B%250A%257D%252Cthis%29%253B%250A%250Athis.getManager%28%29.addDetail%28page%29%253B%250A%250Apage.show%28%29%253B%22%2C%20%22mode%22%3A%22mobile%22%7D -- View this message in context: http://qooxdoo.678.n2.nabble.com/Problem-with-modificated-qx-ui-mobile-list-List-containing-a-Canvas-tp7582231.html Sent from the qooxdoo mailing list archive at Nabble.com. ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
