kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #37307
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.
Cheers,
Jeff.
> 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
References