Re: XP dialogs


Subject: Re: XP dialogs
From: Hubert Figuiere (hfiguiere@teaser.fr)
Date: Sat Feb 10 2001 - 17:20:46 CST


At 17:19 +0100 10/02/01, Mike Nordell wrote:
>Adding some XP thoughts to the libglade fuel. ;->
>
>I've since I first lay my eyes on our dialog code had a firm belief that all
>dialogs should really be in XP code and XAP code should provide the adaption
>needed to get them to work on each our platforms.

I agree on this. But this NOT an easy task.

>I've mentioned before that I think that currently there's hardly any, if any
>at all, hope that we will ever support a new platform since it would be a
>too daunting task to create all dialogs *once again* for a new platform
>(i.e. we're wasting time doing this over and over, and over again). We also
>have a maintenance nightmare that if any dialog gets changed for one
>platform we have to (currently) change it three times more for the other
>ones.

As the current MacOS porter, I must say that I thought AF would
provide more things and less pain.

>Which bring me to the issue, what your opinions are re. creating dialog
>controls. Please try to think what you would _like_ to have, not what you
>think is possible on your current platform or in your current
>library/framework (unless of course there is some issue that's you _know_ is
>impossible with that framework/library/window-manager/...).

My opinion is as follow:

We should have a "widget" granularity rather than a "dialog"
granularity. For most of task, we can have XP code to manage a
dialog, because fetching/setting widget datas/state/whatever does
usually work almost the same way.

As for layouting, we could provide a standard scheme to do it and
each platform maintainer implements the necessary code for the
platform. Then building a dialog would be just a matter of calling XP
code.
Something like glade (please, don't flame) but cross platform, would
be IMHO a nice start.

Another thing I don't understand is why isn't there a standard way to
construct a platform object. I think it would have been smarter to
have a standard method, for example XAP_Frame::newPlatformFrame() to
construct a new XAP_{Unix,Win,BeOS,QNX,Mac}Frame automatically. Note
that this is valid for most XAP and AP classes, and would move lot of
code to the XP.

Hub



This archive was generated by hypermail 2b25 : Sat Feb 10 2001 - 17:20:36 CST