← Back to team overview

kicad-developers team mailing list archive

Re: Current state of ActionPlugin

 

Did you want I add it to the patch?

Regards.



Le 16 janv. 2017 20:35, "Wayne Stambaugh" <stambaughw@xxxxxxxxx> a écrit :

> Yes.  This is a useful piece of information in case we suddenly get a
> rash of python scripting bug reports.
>
> On 1/16/2017 2:15 PM, Simon Wells wrote:
> > Should this option be added to the about box->copy version info for
> > completeness?
> >
> > On Tue, Jan 17, 2017 at 8:08 AM, Jean-Samuel Reynaud
> > <js.reynaud@xxxxxxxxx> wrote:
> >> Hi all,
> >>
> >> Please find attached the patch for the action plugin menu.
> >>
> >> There is a build option to enable/disable this feature:
> >> KICAD_SCRIPTING_ACTION_MENU
> >> => It's disabled by default
> >>
> >> Now there is a refresh button. It took new plugins, update existing ...
> >> like in footprint wizard dialog.
> >>
> >> I had remove the example from the patch as asked.
> >>
> >> Regards,
> >> Le 11/01/2017 à 18:58, jp charras a écrit :
> >>> Le 11/01/2017 à 17:36, Jean-Samuel Reynaud a écrit :
> >>>>>> Pay a particular attention to the fact plugins can be *now* updated
> (when the source file has
> >>>>>> changed), and therefore menus can also be updated.
> >>>>>> the "PCB_EDIT_FRAME::createActionPluginMenus()" method calls
> Connect, but Disconnect is never called
> >>>>>> by destructors.
> >>>>>> It can create issues when updating scripts, because it could be
> called more than once.
> >>>>>
> >>>>> If you need to update the menus when a script file changes, you would
> >>>>> have to connect a wxFileWatcherEvent to the appropriate wxMainFrame
> >>>>> object to monitor the loaded script file and update the menus
> >>>>> accordingly.  It can be done but I would proceed with caution here.
> >>>>>
> >>>> Is it really necessary to add a file watcher ? Once python plugins are
> >>>> loaded, python subsystem run the plugin as it was at start time (As I
> >>>> understand).
> >>>> I had perform a little test for that. If you modify a plugin while
> >>>> pcbnew is running, this is always the "old" version that is running.
> Not
> >>>> sure that is true for all OS...
> >>>
> >>> I am thinking you are talking only about tests on footprint wizards.
> >>>
> >>> On Windows, the newer is reloaded (as long as you run
> onUpdatePythonModulesClick).
> >>> This is easy to see if the description string in the footprint plugin
> is modified.
> >>>
> >>>> So menu are not supposed to change even if file change.
> >>>> An other point: if I implement that file watching, I should also
> >>>> implement a "directory watcher". In case a new plugins is installed
> >>>> during pcbnew is running ;)
> >>>> Perhaps an "update button": like onUpdatePythonModulesClick for
> >>>> footprint plugins ?
> >>>
> >>> From my experience when debugging a footprint wizard module:
> >>> An "update button" is certainly enough: it is mainly for python script
> developers when they are
> >>> writing and debugging a python script, not for an user who just uses a
> script.
> >>> An automatic update is not useful, and perhaps not good.
> >>>
> >>> The update button was asked since a long time, and I perfectly
> understand this wish.
> >>> (The old way was: closing and rerun kicad)
> >>> It is intended to reload python modules during their development.
> >>>
> >>> Remark: onUpdatePythonModulesClick updates all loaded python modules.
> >>> Of course only python modules which are newer than the currently
> loaded are reloaded.
> >>> Therefore onUpdatePythonModulesClick will also update the action
> plugins.
> >>>
> >>
> >>
> >> _______________________________________________
> >> 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
> >>
> >
> > _______________________________________________
> > 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
> >
>
> _______________________________________________
> 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