CRESS-Surrey / eXtraWidgets

An extension for creating additional interface tabs in the NetLogo GUI and putting custom widgets on them.
MIT License
13 stars 4 forks source link

How will the plugin interact with BehaviorSpace? #7

Closed nicolaspayette closed 10 years ago

nicolaspayette commented 10 years ago

This is crucial. I don't know how BH controls its instance of NetLogo when doing parallel runs. Will it even load the plugin?

It would also be nice (but not as crucial) to be able to run fully headless.

nicolaspayette commented 10 years ago

My initial guess is that the whole data model for the extra tabs has to be stored in the extension object, where is will be accessible to headless workspaces. This may be a problem before the extension loaded, though. Maybe warn the user "You must add extensions [ xw ] to your code" or something like that? It's not all clear to me how it could work yet...

nicolaspayette commented 10 years ago

This is pretty much resolved by the use of ExtensionManager.``storeObject/retrieveObject for storing the widget data: both the extension and the plugin can access without knowing about each other, and it works in headless mode too. This would need to be documented in the "architecture guide" or something like that, though...