Hello,
On the annotation pointer front, I discovered that the code to turn them
on an off had the plumbing already in place except (crucially) that the
C function at the bottom of the pile forgot to use it (!) and the Python
world wasn't set up yet to invoke it. The former is easy to fix (well,
it's already fixed on my computer) but the latter involves deciding at
what granularity to allow this to happen. (Vicky Higman suggests at
spectrum or peak list level with the option of switching them all globally
on/off as well.)
This leads to a related question. I am now adding in the ability to
change the annotation font and size. Again the question is whether this
should be a global setting or by peak list or by peak list and window
(which seems a bit over the top). Obviously with all these things the
finer granularity you model it the finer control you have but it can
become a pain to do the control. (If it is by peak list we could add an
option to set all globally to be the same, again.)
There are a few limitations on this font setting. We are probably going
to restrict to a few common fonts such as Times, Courier and Helvetica.
We will also limit the font sizes to some sensible range. Tk and
Postscript / PDF should cope with these no problem. OpenGL is a different
matter. I just checked two glut installations, on the Mac and on a Linux
box. If you grep for GLUT_BITMAP in glut.h you get (in these two cases):
GLUT_BITMAP_9_BY_15
GLUT_BITMAP_8_BY_13
GLUT_BITMAP_TIMES_ROMAN_10
GLUT_BITMAP_TIMES_ROMAN_24
GLUT_BITMAP_HELVETICA_10
GLUT_BITMAP_HELVETICA_12
GLUT_BITMAP_HELVETICA_18
so you can see that the choice is limited. I'm not sure if 9x15 and 8x13
would count as Courier or not.
And in another data model question, we are adding the ability to show 1D
slices on the 2D canvas, so on the crosshairs. The way we have modeled
this is to turn the X and Y slices (independently) on or off by window but
even if this is on, a spectrum's slice is drawn in that window only if the
corresponding "isSliceVisible" attribute is set. This is the same
attribute that determines if the spectrum slice is drawn in the existing
1D panels at the bottom and side of the window. We could see no reason to
introduce another variable for this situation. (This attribute can be set
in the top table in the next-to-last column of the Window -> Mapped
Spectra dialog.)
Wayne
|