pspp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GUI tasks


From: John Darrington
Subject: GUI tasks
Date: Fri, 21 Jul 2006 19:56:28 +0800
User-agent: Mutt/1.5.9i

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.


Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]