kicad-developers team mailing list archive
Mailing list archive
Re: GAL canvas strategy
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.)?
> 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.