← Back to team overview

kicad-developers team mailing list archive

Re: COMPONENT_TREE performance

 

Perhaps to help prevent the discussion bubbling up unbidden every few
months, we should create a document which formalises:

1. Gripes or difficulties with wx
2. Features we would require in some hypothetical GUI toolkit
3. Pros/cons of each toolkit

This document could be updated as we discover new things that we love about
wx. It would also serve to prevent each point being rehashed all the time.

On 5 Dec 2017 07:34, "Gaurav Juvekar" <gauravjuvekar@xxxxxxxxx> wrote:

Hi all,

>
> I wondered when this subject would rear it's ugly head again.  Every
> couple of years we dig this horse up and beat it to death again.  It's
> getting rather comical.  Like JP, I would like to see some proof of all
> the wonderful things QT can do for us that wx cannot.  It has been a
> long time since I've done anything with QT so maybe my information is
> dated but I don't remember QT being all that.  I just remember trading
> one set of issues for another.  I've used several UI toolkits over the
> years and they all have pros and cons.  I'm not opposed to using any
> toolkit.  I am opposed to doing it for someone's personal preference for
> one toolkit over another.  The question remains, would the effort to
> port to another toolkit be worth it?  I have seen no objective evidence
> to support the assumption that switching to QT or any other toolkit will
> make life better for KiCad developers and until I do, I see no reason to
> kick wx to the curb.  What I do know is that the effort will be massive
> and basically bring new feature development to a halt for a significant
> period of time.
>


My two cents (and I could be very wrong).

One way to (objectively) judge toolkits would be to look at other projects
"similar" to KiCad and see what woes they have/had with the GUI toolkit.

IMO, KiCad significantly uses four main things.
- Canvas (whose code won't be affected much by choice of a GUI toolkit,
except handling mouse / keyboard events)
- Toolbars/buttons (theres the old feature request of movable/dockable
toolbars and the bug that silently hides buttons if the window is small)
- Lists/trees and selections (component/libraries/CvPcb)
- Tables with editable cells (fp/sym-lib-table setting, DRC settings?)

Inkscape and GIMP are good examples of the first two (and cross-platform,
so that aspect can also be evaluated).

Synaptic (only one I know that filters a lot of rows) or file managers
would be good examples of using lists/trees in a GUI toolkit.

No idea about a popular software using heterogeneous editable table cells
(IDK if any spreadsheets use default GUI widgets), but I'm sure there's
something.

I'm not saying that we should switch (there's that personal bias as most of
these examples use GTK), but this could be a good way if we really want to
objectively consider switching GUI toolkits.


--
Regards,
Gaurav Juvekar

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

References