Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bookmark functionality for making standalone plots #28

Closed
jarmarshall opened this issue Sep 20, 2017 · 11 comments
Closed

Add bookmark functionality for making standalone plots #28

jarmarshall opened this issue Sep 20, 2017 · 11 comments
Assignees

Comments

@jarmarshall
Copy link
Contributor

jarmarshall commented Sep 20, 2017

Similar to Mathematica Manipulate, print out a string describing the parameterisation of the model, suitable for cut and paste to create a standalone view

@jarmarshall
Copy link
Contributor Author

Relates to issue #14

joefresna pushed a commit that referenced this issue Oct 17, 2017
For SSA-view, possibility to specify from command line the desired input (issue #14)

The SSA-view prints out strings describing the parameterisation of the model, suitable for cut and paste (issue #28)
joefresna pushed a commit that referenced this issue Oct 18, 2017
…n of the model, suitable for cut and paste (issue #28)
@joefresna
Copy link
Contributor

The SSA-view and the multiagent-view implement this functionality through the function:
_print_standalone_view_cmd()

Currently, the rates and view-specific parameters are not sorted, although it might be important.

A similar function should be implemented for other views (field, stream, vector, and bifurcation), @jarmarshall

@joefresna joefresna assigned jarmarshall and unassigned joefresna Oct 18, 2017
@jarmarshall
Copy link
Contributor Author

jarmarshall commented Oct 25, 2017

Consider implementing a Bookmark button in base controller class, and sending string returned by _print_standalone_view_cmd() to _errorMessage widget (but see issue #25)

@jarmarshall
Copy link
Contributor Author

jarmarshall commented Oct 26, 2017

Now implemented via a bookmark button in the base controller class, which calls _print_standalone_view_cmd() as specified above. For how to make this work with a new controller, see the implementation in MuMoTfieldView

To do:

  • Implement for MuMoTbifurcationView
  • Bring implementations in other classes up to standard of MuMoTfieldView

@jarmarshall
Copy link
Contributor Author

Also need to add plot size and system size as parameters set from/in MuMoTfieldView classes

@jarmarshall
Copy link
Contributor Author

jarmarshall commented Nov 2, 2017

plot limits and system size bookmarking now added - these values always to be accessed via _getPlotLimits() and _getSystemSize() in MuMoTview

@jarmarshall
Copy link
Contributor Author

Classes should now implement _build_bookmark(), and this should make use of _get_bookmarks_params() - _print_standalone_cmd() should not be overridden - use the base class implementation

@jarmarshall
Copy link
Contributor Author

Now implemented for field views, multi controllers, and bifurcation views (but see #61 )

Need to check bookmark functionality for remaining classes, implement as described above using MuMoTfieldView as template

@jarmarshall jarmarshall assigned tbose1 and unassigned jarmarshall Nov 7, 2017
@joefresna
Copy link
Contributor

the new bookmark functions seem to generate strings for creating MoMoTcontrollers...
Although, bookmarks have been originally thought to be used for creating standalone MuMoTviews (as also the function _print_standalone_view_cmd suggests).
@jarmarshall, any reason for this? Should we revert to the original idea, or move to generating controllers?
I believe views are more appropriate, but I might be overlooking something.

@jarmarshall
Copy link
Contributor Author

This is the simplest way to implement both partial controllers and bookmarks, since bookmarks are simply a special case of partial controllers in which all parameter values are specified; this aids software maintainability. However we need to keep the view / controller separation so that any thirds party extensions to the software are able to use the views along

joefresna pushed a commit that referenced this issue Dec 27, 2017
* implemented bookmarks for SSA and MA based on controllers (it solves issue #28)

* SSA and MA do not create widgets for input parameters (also advanced options) in agreement with the partial controller design (this solves issue #53)

* SSA and MA continue to implement and support the function _printStandaloneViewCmd() which generates text for creation of the standalone view (issue #28)

* fixed bug #88, if the systemSize or plotLimits are specified (as input parameter) in the controller constructor, the generated bookmark string shows a correct output

* the input parameters of functions multiagent() and SSA() are checked if are correct through the support functions _parse_input_keyword_for_numeric_widgets() and _parse_input_keyword_for_boolean_widgets() (these functions could help issue #14, #5, and #52)

* functions multiagent() and SSA() accept as parameter the 'initWidgets' dictionary where keys are any free-parameter or any other specific parameter, and values are four values as [initial-value, min-value, max-value, step-size]. This is useful to set the initial parameter values (it solves issue #14 for SSA and MA)
@joefresna
Copy link
Contributor

Implemented bookmarks for MA and SSA view with commit eef3100

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants