|
From: Nick C. <nic...@ve...> - 2002-11-07 14:11:14
|
Hi, I've added support of the dynamic compilation of sequences and histogram items for the various kinds of charts in repast. I've also fiddled with the internals a bit so they should be a bit faster and look a bit better. All this should make it fairly easy to create a chart building GUI so the user can add charts on the fly. Data is received by a chart via some class that implements Sequence. This is essentially a single method class whose method returns a double. Thus, for chart building I'm thinking of introspecting the model and returning all the methods that return a number. These can be wrapped in a dynamically compiled sequence. Something similar could be done for histograms. However, this approach sort of bothers me in that it assumes the methods of interest are already defined. Maybe we also need to iterate over all the agents calling some method on each one and then plot the average, for example. I don't want to do too much here as Tom and I are keen to get 2.0 out the door as its been a bit delayed as he and I have been writing models. So, any comments? Also, Gulya had a good suggestion about remembering the position and sizes of windows and so forth. If this is to be done between runs, but not between application instances then no problem. If we want to do it between application instances, and I think we do, then we'll need to use a file format to store this info. Java 1.4's new property mechanism would be good for this, but 1.4 is not really available for the Mac yet. So, I'm thinking a simple XML format. I'd go with java's properties format, but I think we'd might grow out of that at some time. We could also store the new display surface size now that we have draggable resizeable surfaces (something I'd actually started before I saw Mile's presentation!). We may also want to store dynamic charts (as described above) between runs and instances. Comments? Nick -- Nick Collier Social Science Research Computing University of Chicago http://repast.sourceforge.net |