← Back to team overview

kicad-developers team mailing list archive

Re: GAL canvas strategy

 

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


Follow ups

References