Hi,

It occurs to me that there are several points right now where we are dealing with "Styles" and implementing ad-hoc solutions: - some i18n issues (https://bugzilla.osafoundation.org/show_bug.cgi?id=3824) (Markku)
- code in parcel/osaf/framework/blocks/Styles.py (Bryan)
- newly added code by Jeffrey in application/styles.py (Jeffrey)
- a generic task to come up with a style mechanism (https://bugzilla.osafoundation.org/show_bug.cgi?id=2981) (John) - a Wiki page proposing a plan to address the issue of Styles (http://wiki.osafoundation.org/bin/view/Projects/StylesProject) (Jed)

Looks like it's time to tighten a little those different threads before we create a tangle of disparate solutions. Some elements of history and engineering first: - there is a component in Bugzilla to hold those Styles issues: "Styles and Appearance"
- this component was owned by Jed and is now owned by John
- John is the driver/coordinator for this issue

That being (re)established, some comments on what we have so far:
- The Wiki document is more a declaration of intent and a list of issues than a road map for implementation. It gives a good idea though of the problem at hand (and why we think it is a problem). - The code in parcel/osaf/framework/blocks/Styles.py compensate the font size disparity among the different platforms. It doesn't provide designers or users a way to modify the styles coded in Chandler. That was not its objective. Nevertheless, it addresses a pesky problem and should be taken into account in whatever "styles" solution we come up with. - The new application/styles.py is based on the Python ConfigParser (http://docs.python.org/lib/module-ConfigParser.html). The idea is to give user (or designer) a way to specify data using a syntax similar to Python but much more forgiving. For the moment, it's used by Jeffrey in a very ad-hoc way but we should consider if this is something we want to generalize application wide. - Whatever we do with Styles, we need to take OS wide user specified data into account. That's the intent of bug 3824 and is important for i18n (default font different in each language) and accessibility (colors and font sizes in particular set desktop wide by users with vision handicap).

My comments: I like the use of ConfigParser introduced by Jeffrey. It solves the problem of the "style file" introduced by Jed in his Wiki doc, avoiding reinventing the wheel (or CSS...) and staying close to Python. Basically, all it does is externalize some (name,value) pairs that we would code in Python a way or another. I can see such a mechanism used more generally throughout the application though we need to decide on some elements of code design: - What about proliferation of .conf files all over the place? This could go against the reuse of well known styles application wide. Also it would make the job of designers difficult and miss the original intent of styles. That's where we need a coordinated approach here (John?) - We can't avoid to have .conf files for some parcels though: especially the 3rd party ones using some yet unknown style. So, how do we cascade them? - i18n: colors and fonts in particular are very much tied to localization. Will we put such .conf files in translation eggs? I'd say yes but that's something else we need to discuss - Are we somewhat reinventing resource files? (looks like it really...) Is there a better well known Python alternative to conf files? A wxWidgets/wxPython way of doing this?

Cheers,
- Philippe


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to