← Back to team overview

kicad-developers team mailing list archive

Re: More wxformbuilder

 

Le 07/02/2017 à 14:29, Chris Pavlina a écrit :
> Commit 	43cb4560bfcf0624e9707c4c512cc3ccce385ce9
> 
> Rewrite code for PANEL_PREV_3D because the way events were previously managed are not compatible with a good mouse event management.
> To avoid a lot of tedious code, wxFormbuilder is used to create the PANEL_PREV_3D_BASE class.
> 
> ...didn't we agree we should reduce the use of wxformbuilder in new
> code? There are plenty of ways the tedious code could be avoided without
> using it - for instance, that panel is very repetitive, a function could
> be created to populate a section...
> 

AFAIK, there were some time ago concerns about wxFormbuilder because there was very few activity on
wxFormbuilder site, especially concerns about it looked like it was no more maintained (no or very
few commits during many months).

Since a few months, wxFormbuilder code has moved on Github
( https://github.com/wxFormBuilder/wxFormBuilder )

and since this move many commits were made on Github.

So these concerns about wxFormbuilder are no more valid, from my point of view.

wxFormbuilder is not just a GUI builder.
It avoids mistakes by misusing some wxWidgets features, especially events, not always easy to use in
complicated cases (like in the PANEL_PREV_3D).
Misusing wxWidgets features can create issues very hard to fix, because there is no bug in the code,
just improper use of some feature.
The perfect case was the PANEL_PREV_3D. Remember patches to add increment/decrement by mouse wheel
did not work.

The reason was not a bug in code, but improper use of events, which was *immediately* found by
wxFormbuilder.


Tedious code is not always a repetitive code.

It can be due to other reasons, for instance when using a lot of sizers,
not always easy to manage by hand.
For instance it avoid this repetitive cycle:
"set sizers, compile and see the result on screen" made many times.

So, currently, I do not see a good reason to avoid using wxFormbuilder, because it is now maintained.


-- 
Jean-Pierre CHARRAS


Follow ups

References