← Back to team overview

kicad-developers team mailing list archive

Re: GAL canvas strategy


I created SCH_PREVIEW_PANEL which inherits from EDA_DRAW_PANEL_GAL but *not* EDA_DRAW_PANEL.

It is pretty light-weight, just including the non-event-related stuff from SCH_DRAW_PANEL.

Works a treat.

I tried to push my changes so you could review them before I get too far, but I don’t appear to have write privileges on your repo.


> On 28 Aug 2018, at 13:55, Jeff Young <jeff@xxxxxxxxx> wrote:
> Hi Tom,
> Thanks for the overview.
> The trouble I’m running into is that in the meantime when I instantiate a SCH_DRAW_PANEL, it inherits from legacy_gal/EDA_DRAW_PANEL, which presumes inclusion in a EDA_DRAW_FRAME.
> If I drop down to EDA_DRAW_PANEL_GAL, then I’m missing the SCH-specific stuff.   Is it just the constructor I need to replicate (to create a view, hook it up to the SCH_PAINTER, etc.)?
> Cheers,
> Jeff.
>> On 28 Aug 2018, at 13:25, Tomasz Wlostowski <tomasz.wlostowski@xxxxxxx> wrote:
>> On 28/08/18 12:12, Jeff Young wrote:
>>> Another question:
>>> Right now we have SCH_DRAW_PANEL which inherits from EDA_DRAW_PANEL and EDA_DRAW_PANEL_GAL.  Since EDA_DRAW_PANEL mediates the connection between the drawing canvas and the parent EDA_FRAME, 
>> Hi Jeff,
>> Indeed, EDA_DRAW_PANEL had the role of mediating between the canvas and
>> the parent frame, but in the GALified eeschema/pl_editor it has no
>> longer any connection to the wx stuff. That's why we have two variants
>> of it:
>> - legacy_wx, which preserves the original, unmodified EDA_DRAW_PANEL
>> (derived from wxScrolledWindow) that has to stay so that the legacy
>> (wx-based) canvas can work in pcbnew.
>> - legacy_gal, which removes the dependency between EDA_DRAW_PANEL and
>> wxWidgets and provides the functionality required by the legacy tools
>> (mouse capture callbacks, screen to view coordinate translation, etc.).
>> When eeschema tools are ported to GAL/Tool framework, this class will be
>> no longer necessary.
>>> this assumes that all SCH GAL canvasses will be in frames (which isn’t
>> true for dialog previews).
>> SCH_DRAW_PANEL derives from EDA_DRAW_PANEL_GAL which derives from
>> wxCanvas, not wxFrame. We already use EDA_DRAW_PANEL_GAL-based widgets
>> for footprint previews in eeschame.
>>> I note that EDA_DRAW_PANEL is in a “legacy_gal” folder.  Does this mean it’s slated to go away?
>> Both legacy_wx and legacy_gal versions will be retired when we're done
>> with full GALification of eeschema.
>> Cheers,
>> Tom
> _______________________________________________
> 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

Follow ups