Can we please stop trolling on this ? It's pretty evident by now that everyone has his position and won't move a single inch.
My inbox thanks you :) Greg On Wed, Jul 14, 2010 at 9:39 AM, <[email protected]> wrote: > On 14/07/2010, at 10:42 AM, ext Jason H wrote: >> But the ability to define and apply arbitrary property groups - be they be >> for >> themes or something else - has a good bit of support and application. Can we >> get >> the feature? Please? > > >From my perspective, the main requirement is "make it easy for designers to > >change the visual aspects of a large QML project". The below approaches help > >to achieve that, and are available for use right now. For future releases > >(the feature set of 4.7 is essentially frozen), we should certainly look at > >how well this approach has served, and how we can better meet this goal. > >Something like PropertyGroups should be part of the research (we'll need to > >answer questions like how it fits in with states, or bindings (we often have > >things like color: focus ? "green" : "red"; how would that work?), what the > >performance implications are, and how much improvement it gives us for the > >costs). If you'd like to help, trying the techniques below in your project > >for a couple months, and providing feedback on what worked and what didn't > >as opposed to another system like CSS that you are familiar with, would be > >invaluable. > > Current Approach 1 > ------------------ > If you've got a single, unique set of properties to apply, Alan's first > suggestion of custom components works really well. > > //BigText.qml > Text { > font.family: "Arial" > font.pointSize: 30 > color: "red" > } > > //everywhere else > BigText { test: "Hello" } > > In my mind, this is essentially identical (at least in expressiveness) to: > > Text { > text:"Hello" > properties: [bigText] > } > (i.e. when one PropertyGroup is applied.) One difference is that the BigText > approach would lead to a directory full of these small files, while the > PropertyGroup approach would lead to a file full of small snippets. In both > cases the potential navigation problems (lots of files or really large file) > should be solvable by good tooling. > > Current Approach 2 > ------------------ > Alan's second suggestion regarded a master theme file: > > //the theme definition > QtObject { > id: bigText > property string family: "Arial" > property real pointSize: 30 > property color color: "red" > } > > QtObject { > id: anotherSetOfProperties > property color color: "purple" > } > > //everywhere else > Text { > text: "Hello" > font.family: bigText.family > font.pointSize: bigText.fontSize > color: bigText.color > styleColor: anotherSetOfProperties.color > } > > Like the PropertyGroup approach below, this allows applying global properties > that are defined in a single file. > > Text { > text:"Hello" > properties: [bigText, anotherSetOfProperties] > } > > Unlike the PropertyGroup approach, it is "fixed" what properties from what > groups apply. This has both pros (e.g. less possibility of unintended > side-effects) and cons (e.g. more work when adding a new property to a > "style"). It also requires more typing initially. > > Hybrid Approach > --------------- > You can also combine approach 1 and 2, e.g. > > //BigText.qml > Text { > font.family: bigText.family > font.pointSize: bigText.fontSize > color: bigText.color > styleColor: anotherSetOfProperties.color > } > > Regards, > Michael > _______________________________________________ > Qt-qml mailing list > [email protected] > http://lists.trolltech.com/mailman/listinfo/qt-qml > _______________________________________________ Qt-qml mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt-qml
