Jim Hunter schrieb: > This just seems simpler then everyone is making it out to be. The > problem has already been solved by the browsers. If appearance themes > and color themes are implemented as stylesheets added and subtracted > from the head section of the DOM, then no one has to think about > overriding settings. If a setting has been overridden by a control, the > browser knows if and uses that setting, if not, it uses the setting from > the CSS Stylesheet.
Theoratically yes. You are right. But in practise you wish more to have more features than CSS allows you. You want it more cross-browser. You want all this without storing the same values multiple times (e.g. colors, paths to resource-files, ...) Also our advanced layout system is faster than doing all these and using browser methods (means offsetWidth, getComputedStyle, ...). It's not only the width and height which defines a layout. It's also the paddings, borders, margins of an element which controls the dimensions. qooxdoo works with absolute coordinates and calculated dimensions. We have tried it more CSS based in the first version of qooxdoo (0.1.x releases). The increased performance of qooxdoo 0.5 is greatly owe by the disclamation of browser method calls. > As long as the default appearance theme always has > the same name, then there is no need to touch any of the individual > controls in order to change appearances. Simply remove the current > stylesheet and replace it with the new one, using the same name. The > browser will then change any of the settings it needs to change. on > controls that are already rendered. This would also speed things up > immensely. > > Granted, I have not delved into the code to see how you are doing things > currently, but this is one way that makes sense. And if this is the way > you are treating appearances then you are also doing too much after the > appearance change is made to try and 'control' the way widgets look, let > the browser do it. > > The whole reason I started thinking this is because a comment was made > that if a user wants to change a theme, then all properties get > overridden with the new theme settings and it's up to us to re-set those > that we changed along the way. This is 'silly'. This is only "silly" in my opinion if the browser could fulfill the needs of application developers. Other there is no way than implement it your own. > If I create a page > loaded with buttons, and the 'default' width of a button (set in a > theme) is 100 The default width and height for the button control is "auto". > and I make them all various sizes to 'fit' on the page > where they need to go, and a user decides they want a different theme, > they should be able to change themes without all the buttons getting > changed to 100 width. And, as the developer, I should not have to go > back then, and make changes to all buttons and re-set their widths. This > is not the way things should be done. Changing a theme should not change > the location or the size of a control already rendered, period. Mhh, what's about complex layouts. You don't want place everything on a canvas the most time. Sometimes the position of one widget depends on the location and dimension of another one. So this means, that a change of the appearance could also mean to refresh the layout. This is what qooxdoo already does quite well. > > > If any of this needs clarification I'll be happy to clarify things. > Also, if any code is needed for manipulating stylesheets in the DOM, I > have that available. New API features are always welcome. Please also take a look here: branches\namespaces\qooxdoo\source\script\qx\dom\DomStyle.js branches\namespaces\qooxdoo\source\script\qx\dom\DomStyleSheet.js Sebastian > > Jim > > > ------------------------------------------------------------------------ > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > ------------------------------------------------------------------------ > > _______________________________________________ > qooxdoo-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
