← Back to team overview

kicad-developers team mailing list archive

Re: Kicad Tool Framework


On Mon, Aug 12, 2013 at 11:19:32AM +0200, Tomasz Wlostowski wrote:
> IMHO It's a bit similar, but not exactly the same: events come to a
> tool - it can then react and sometimes consume some of them so that
> other tools (lower on the stack) don't receive these events anymore.

Return or call the superclass... it seem pretty stock C++ method
handling in action. And exacly like a window procedure function (if you
ever used the Windows API)

> the default handlers - there can be a tool permanently residing on
> the bottom of the stack and dedicated for catching such events.

It would be probably implemented that way, yes.

>  Do we need dynamic method
> >composition? I.e. will tool A be *always* below tool B or there may be
> >a tool C below tool B?
> I wouldn't preclude such scenario. Having a 2-level stack is as
> complex as having an N-level one.

That was not what I meant. I was 'asking' if the underlying context for
a tool was fixed or not; the VTBL obviously is fixed, so that would be 
not possibile.

Anyway that would be not a very big implementation... a call-next-method
thingy for this (an object stack) would be nearly trivial to implement
(altough a bit verbose, unless you can conjure some template magic).

(explanation for call-next-method: look here
http://pupeno.com/2007/09/06/common-lisp-method-composition/; and that's
only the *default* method composition! of course we would have only the
'primary' column and instead of an is-a relationship that would
be a stacked-on relationship)

> Shaders aren't that bad under intel drivers (the GAL works just fine
> on a core i7 integrated graphics on my latptop, although Half-life 2
> - a 10-year old game doesn't because some texture formats are not
> supported). Under Linux, if you want performance and truly
> standard-compliant OpenGL, I'm afraid you have to use the evil
> Nvidia binary driver...

Too bad that the 'current state' of technology in many place in Italy is
a Core Duo if you are lucky:D Our biggest box at work, servers aside, is
an i3 (with shared memory graphics). Still running some dos boxes for
automation control at some clients (ISA cards are becoming scarce,

No idea on how can Italy be in the G8 ...

Until last year I was working on a Via C2/800, so jumping to an Atom was
a huuuuge step :P:P it builds kicad in *only* 4 hours! And at least now
I can use opengl

Lorenzo Marcantonio
Logos Srl