On 03/19/2012 04:12 PM, Dick Hollenbeck wrote:
> Jean-Pierre and Wayne:
>
> Please grep for these two symbols in my latest commit.
>
> It is an initial attempt to institute some common dialog behavior.   Two 
> common behaviors
> I really enjoy are:
>
> 1) ESC key aborts dialog
>
> 2) s_LastPos and s_LastSize handling, which retain dialog sizes, such as
> eeschema/dialog_edit_label.cpp when editing large EESCHEMA multi-line texts.
>
>
> Arguably 1) could be done in a class between wxDialog and formbuilder written 
> class, and
> done only one time, but this would entail having to tell formbuilder to 
> derive from a
> custom class, and I don't know if that works.
>
>
> However 2) needs class specific storage, and is not easily done in a base 
> class beneath
> the formbuilder generated one. 

After sleeping on it, I would like to discuss this alternative option before 
SHIMMING all
the dialogs with the macro DIALOG_EXTEND_WITH_SHIM.

If we put one shim in underneath the wxFormbuilder generated dialogs, we only 
have
instance of the code.

I see now that wxFormbuilder can extend from a custom class that is very 
similar to
wxDialog.  (Search for "subclass" in the formbuilder UI.)

This alternative approach has some advantages in terms of code size, and source 
code
disruptions.

If we can get the class name, we can use that in a hashtable to keep the size 
and
position, for all formbuilder classes in a single table.


The alternative strategy entails:

1) writing a decent wxDialog derivative as a shim at a lower layer pair, at 
least one shim
is needed, but maybe a couple.

2) Use wxFormbuilder over time to derive from this shim dialog class, which is 
then a shim
above wxDialog but beneath all the wxformbuilder classes.  This item can be 
done over time.


This alternative strategy does not precluding having more than one shim which 
sits
immediately above wxDialog.

Can we use RTTI to get the derived dialog class name?  If so, 1) is not too 
hard, to
implement my precious retentive size and position support.


Dick



_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to