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

eXtraWidgets

An extension for creating additional interface tabs in the NetLogo GUI and putting custom widgets on them.

[Download] [Documentation]

Installing

To install the eXtraWidgets extension, assuming that you already have NetLogo 6.4 installed, download the extension and unzip it NetLogo's extensions/ folder, like you would for any other NetLogo extension.

(For use with the 5.x series of NetLogo, you need eXtraWidgets 1.1.0.)

Using

Unlike regular NetLogo widgets, the extra widgets and tabs are created through code. While this may sound daunting at first, it has some advantages:

And besides, it's really not that hard: the extension works in such a way that manipulating widgets is just like manipulating turtles!

To learn more about how to use the extension, take a look at the documentation, where you will learn, amongst other things, how to quickly produce something like this:

a screenshot of the result

If you encounter any difficulties, ask a question on StackOverflow. If you believe you have found a bug (or would like to request a feature) open a new issue.

Or we can chat: Join the chat at https://gitter.im/CRESS-Surrey/eXtraWidgets

Extending

We believe that eXtraWidgets is the first "extensible extension" for NetLogo. New widgets kinds can be added to the extension just by dropping a JAR in a folder under xw/widgets. Developer documentation is scarce at the moment, so your best bet is probably to take a look at the source code of existing widgets. The ScalaDoc for the API is also a good ressource.

Just like users, developers encountering any difficulties can either open a new issue or ask a question on StackOverflow.

Credits and licensing

The extension was developed by Nicolas Payette at the Centre for Research in Social Simulation (CRESS), under the supervision of Nigel Gilbert and Jen Badham. Its first use case was for a model that is part of the TELL ME project.

Bryan Head, from the NetLogo team, made some significant contributions.

The extension is distributed under the MIT License.

NetLogo itself is authored by Uri Wilensky and distributed under the GPL.


Build Status