As with all the best projects, the GUI is turning out to be about 10 times as much work as first envisaged. Currently, I'm the only one working on it. I'm posting this list of GUI related tasks which I think could be developed relatively independently in the hope that somebody will put up their hand and undertake one (or more) of them.
It would also be good if people could offer some opionion as to which of them are most important. Better Toolbar Icons ==================== I've checked in some toolbar icons which allows one to see what all the buttons are for. But they're not very good ones. I'm hoping that somebody will contribute some better ones. Ideally there should be at least 3 sets for each icon corresponding to different themes: Monochrome, Low Contrast and High Contrast. Some smaller versions for menuitems would be good too. See http://developer.gnome.org/projects/gup/hig/2.0/icons.html There are various other eye-candy features for which I could use some icons too. Online Manual ============= I was suprised to find that there is no GtkWidget to display Info files. But it wouldn't be too difficult to make one. Then a online reference manual would be easy. Context-Sensitive Help ====================== All the "help" buttons are linked to a common callback. It'd be quite easy to make a framework to give more helpful hints. Somebody just has to write it. Output Driver ============= At some stage, the GUI will be able to actually run statistical procedures, and make the results available. Before this can happen, we need an output driver that the GUI can display. Writing a driver for either Gdk or Cairo graphics would be a straightforward (but not altogether trivial). Printing ======== Printing out the data and variable sheets. Printing support in Gtk was introduces only in version 2.10 I have patch which demonstrates very roughly how it could be done. But it's a substantial sub-project in its own right. Basically somebody will have to write a cairo renderer of the sheets. Flexifile Implementation ======================== src/ui/flexifile.[ch] contains a very naive implementation of the 'flexifile' --- the object we use for displaying data in the data sheet and for participating in procedures. This naive implementation will not scale well. A proper implementation is needed if the gui is to be useable with large data sets. We could either use Berkely DB from http://dev.sleepycat.com/ or write our own immitation. An optional feature we might consider: The GUI has a "Find" button, to find strings/numbers in a casefile. We could either do this with a linear search, or we could implement some kind of index which would enable lightening fast searching. Undo/Redo ========= The GUI has Undo/Redo buttons. We need to devise a way to represent differences between dictionaries and casefiles. Then we have a stack of these. Spss clears the stack whenever a procedure is run; presumably because the storage is intractable for differences between arbitrarily sized casefiles. Cut/Paste ========= The ability to cut and paste data between two running Psppire instances would be nice. But probably more usefull would be the ability to paste from Gnumeric. It shouldn't be too difficult. -- PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://pgp.mit.edu or any PGP keyserver for public key.
signature.asc
Description: Digital signature
_______________________________________________ pspp-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/pspp-dev
