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 > <[email protected]> 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 : [email protected] >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >> > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

