I did experiment a bit and noticed some strange behaviour. When extending from 
qx,ui.embed.Html, suddenly my <space> key is is not propagated to my custom 
HTML (in this case an ACE editor). When I change the code back to extending 
from Widget, it starts working again. 

Since there are still many other things to do, for now I guess I keep the 
Widget as a base class (at least until my custom HTML starts disappearing :)

— Peter

On 25 Jul 2014, at 13:34, Mustafa Sak <mustafa....@1und1.de> wrote:

>> So the layout manager could decide to throw away these children nodes, was 
>> not aware of that?
> Yes, it could throw your elements away. E.g. if you add another widget or 
> qx.html.Element in the content element.
> So what's about extending from qx.ui.embed.Html instead of qx.ui.core.Widget? 
> ;)
> 
> Gruß
> Mustafa Sak
> 
> Applications & Integration
> 
> 1&1 Internet AG
> Ernst-Frey-Straße 10
> DE-76135 Karlsruhe
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: JBaron [mailto:pe...@jbaron.com] 
> Gesendet: Freitag, 25. Juli 2014 13:12
> An: qooxdoo Development
> Betreff: Re: [qooxdoo-devel] Resize events and TabView
> 
> Thanks for the feedback and the very useful code snippet. Your suggestion 
> seems indeed like a nice balance between performance and not too much 
> additional code, so will try using that!!!
> 
> Thanks also for the other advice about using the embed.HTML. I created my own 
> component extending Widget in which I use  
> this.getContentElement().getDomElement() as a parent node to add some more 
> custom content. So the layout manager could decide to throw away these 
> children nodes, was not aware of that?
> 
> - Peter
> 
> 
> On 25 Jul 2014, at 13:02, Mustafa Sak <mustafa....@1und1.de> wrote:
> 
>> Hi,
>> 
>> it is true that the new dimensions on "resize" event will not applied to the 
>> DOM element of inactive pages. But you will get the computed dimensions on 
>> the event object with the .getData() function [1].
>> 
>> But I would advise you to only manipulate visible page content. It's not a 
>> good idea to make DOM depended manipulations for not see able qooxdoo 
>> widgets. Not seeable widgets or parts of widgets will often be removed from 
>> DOM, which often results in side effects at third party libraries. 
>> Furthermore you would slowdown the resizing, if you would manipulate the 
>> content of all pages, however.
>> 
>> So what's about adding an "appear" listener on resize event for 
>> inactive pages. Here is a small example: http://tinyurl.com/l693cup
>> 
>> Please mind that the page1 will "alert" immediately, but I guess that is the 
>> best time to apply third party elements anyway.
>> 
>> One more little advise: Please use qx.ui.embed.Html [2] to add third 
>> party elements on qooxdoo environment, otherwise the layout renderer 
>> could throw your elements away on some conditions. :)
>> 
>> [1] 
>> http://demo.qooxdoo.org/current/apiviewer/#qx.ui.core.Widget~resize!ev
>> ent [2] http://demo.qooxdoo.org/current/apiviewer/#qx.ui.embed.Html
>> 
>> Gruß
>> Mustafa Sak
>> 
>> Applications & Integration
>> 
>> 1&1 Internet AG
>> Ernst-Frey-Straße 10
>> DE-76135 Karlsruhe
>> 
>> 
>> -----Ursprüngliche Nachricht-----
>> Von: JBaron [mailto:pe...@jbaron.com]
>> Gesendet: Freitag, 25. Juli 2014 12:21
>> An: qooxdoo Development
>> Betreff: Re: [qooxdoo-devel] Resize events and TabView
>> 
>> I did some more checking and you are right that the resize event is fired. 
>> However the page is not actually resized, so the child still thinks it is 
>> the same size and it looks like no resize took place (hence my mistake). So 
>> is it possible when I get a resize event to force the inactive page to 
>> actually resize before I ask the child to change it dimensions ?
>> 
>> - Peter
>> 
>> On 25 Jul 2014, at 09:32, Mustafa Sak <mustafa....@1und1.de> wrote:
>> 
>>> Hi,
>>> 
>>> sorry but I could not verify your sentence on no 1. As you can see here[1] 
>>> there will be "resize" events fired for all pages.
>>> To use the example please open the log and resize the pane, where the 
>>> tabview is rendered. You will see two debug messages.
>>> 
>>> 
>>> [1] http://tinyurl.com/n7o6gvv
>>> 
>>> Gruß
>>> Mustafa Sak
>>> 
>>> Applications & Integration
>>> 
>>> 1&1 Internet AG
>>> Ernst-Frey-Straße 10
>>> DE-76135 Karlsruhe
>>> 
>>> -----Ursprüngliche Nachricht-----
>>> Von: JBaron [mailto:pe...@jbaron.com]
>>> Gesendet: Donnerstag, 24. Juli 2014 21:24
>>> An: qooxdoo Development
>>> Betreff: [qooxdoo-devel] Resize events and TabView
>>> 
>>> I have a tabview with a number of pages. Each page has a native component 
>>> that needs to resize as soon as the TabView resizes. I would like to 
>>> implement this behaviour without introducing all kind of flags, but what 
>>> I'm now encountering:
>>> 
>>> 1) When I register for resize events on tab page level, only the active 
>>> page gets that event. None of he other tab pages get one.
>>> 
>>> 2) When I register on TabView level, only the active page has actually the 
>>> new size. The "hidden" pages still have the old size until they appear (but 
>>> then there is no resize event it seems).
>>> 
>>> 
>>> So the only solution I could come up with (please ignore some typing 
>>> mistakes and the typescript syntax):
>>> 
>>> 
>>> tabView.addListener("resize", () => {
>>>     this.getChildren().forEach((child) => {child.resized = true}));
>>> })
>>> 
>>> 
>>> tabPage.addListener("appear", () => {
>>>     if (this.resize) {
>>>             this.resize = false;
>>>             this.nativeComponent.resize();
>>>     }
>>> }
>>> 
>>> But I guess there is an easier way. Anyone has some tips ?
>>> 
>>> 
>>> - Peter
>>> ---------------------------------------------------------------------
>>> -
>>> -------- Want fast and easy access to all the code in your enterprise? 
>>> Index and search up to 200,000 lines of code with a free copy of Black Duck 
>>> Code Sight - the same software that powers the world's largest code search 
>>> on Ohloh, the Black Duck Open Hub! Try it now.
>>> http://p.sf.net/sfu/bds
>>> _______________________________________________
>>> qooxdoo-devel mailing list
>>> qooxdoo-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>> 
>>> ---------------------------------------------------------------------
>>> -
>>> -------- Want fast and easy access to all the code in your enterprise? 
>>> Index and search up to 200,000 lines of code with a free copy of 
>>> Black Duck Code Sight - the same software that powers the world's 
>>> largest code search on Ohloh, the Black Duck Open Hub! Try it now.
>>> http://p.sf.net/sfu/bds
>>> _______________________________________________
>>> qooxdoo-devel mailing list
>>> qooxdoo-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>> 
>> 
>> ----------------------------------------------------------------------
>> -------- Want fast and easy access to all the code in your enterprise? 
>> Index and search up to 200,000 lines of code with a free copy of Black Duck 
>> Code Sight - the same software that powers the world's largest code search 
>> on Ohloh, the Black Duck Open Hub! Try it now.
>> http://p.sf.net/sfu/bds
>> _______________________________________________
>> qooxdoo-devel mailing list
>> qooxdoo-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>> 
>> ----------------------------------------------------------------------
>> -------- Want fast and easy access to all the code in your enterprise? 
>> Index and search up to 200,000 lines of code with a free copy of Black 
>> Duck Code Sight - the same software that powers the world's largest 
>> code search on Ohloh, the Black Duck Open Hub! Try it now.
>> http://p.sf.net/sfu/bds
>> _______________________________________________
>> qooxdoo-devel mailing list
>> qooxdoo-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> 
> 
> ------------------------------------------------------------------------------
> Want fast and easy access to all the code in your enterprise? Index and 
> search up to 200,000 lines of code with a free copy of Black Duck Code Sight 
> - the same software that powers the world's largest code search on Ohloh, the 
> Black Duck Open Hub! Try it now.
> http://p.sf.net/sfu/bds
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> 
> ------------------------------------------------------------------------------
> Want fast and easy access to all the code in your enterprise? Index and
> search up to 200,000 lines of code with a free copy of Black Duck
> Code Sight - the same software that powers the world's largest code
> search on Ohloh, the Black Duck Open Hub! Try it now.
> http://p.sf.net/sfu/bds
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to