
Feel free to add to this file any time! Don't worry about sync problems. 
Put new items at top, please.

___date=$Date: 2013-08-29 12:34:37 +0200 (Thu, 29 Aug 2013) $
___svnRev=$LastChangedRevision:: 1172 $  


___JmolVersion="13.3.5_dev_2013.08.29"

new feature: show NMR taps into NMRDB directly
 -- for now, application only


====TODO=========

-in the jsvtest.htm page, when there is a CNMR and IR overlay shown
nothing happens when a proton is clicked on a molecule in the Jmol
applet. The viewer should have the option to either add H-NMR with
current overlay or to load only H-NMR (in this case the viewer could
have already saved the C-NMR and IR changes as a "view" to return to
later--could be done through a pop up box

-when in the split overlay version: addition of two boxes next to the
one to toggle between stacked and split, one to clear the selected
spectrum (X), and one to minimize it only (-)

-a save "view" (overlay) option: writes a jdx file that will be able
to call up changes to a current overlay similar to "save as," so that
if one of the used spectra is used in a different file, separate
changes and analyses can be made without altering the saved view

  - in OleNMR this will be handled by saving $$JSVCMD into the procs file, I think.



=====DONE========

___version=2.0.2


apply changes to build.xml to allow command line ANT compilation for use in Fedora (Thanks to Susi Lehtola)

update signing certificate (now valid for 10 years)

check inline file loading

new feature: PEAK HNMR id=3 
new feature: (Tony Williams suggestion) PAGE_UP/PAGE_DOWN keys for scaling
new feature: integration MIN value -- removes integrations less than the specified value
bug fix: Y-slider problems; print title still not quite right
new feature: PDF/printing now high resolution (10 x screen) for scalable graphics
new feature: print dialog includes "Create PDF" button
new feature: print includes somewhat wider top/bottom margins for full page option
new feature: Shift-drag to zoom with both X and Y scaling, Drag alone to only give X scaling
             Different colour for background for each
bug fix: various linking issues
bug fix: getProperty needs more return values to be helpful

bug fix: smoother "always-in-front" peak/integration/measurement dialogs
demo: http://chemapps.stolaf.edu/nmr/viewspec2  now fully functional. 
new feature: LINK command options "*", "AB", "ABC", "NONE"
bug fix: Reading offset in Bruker 2D 13C/1H HMBC spectra incorrectly
         (must only read the first ##$OFFSET record)
new feature: X- and Y-scales for 2D NMR spectra 
new feature: "lockable/annotatable" 2D cursor -- click to set; double-click to annotate or release
new feature: linking of 2D spectra with 1D counterparts
		tested for 1H/1H COSY and 1H/13C HMBC

		Wow -- I can't believe how easy it is to understand HMBC!
		see http://chemapps.stolaf.edu/nmr/doc/HMBC_example.pdf
		see http://chemapps.stolaf.edu/nmr/doc/COSY_example.pdf
		
		

	view 1.1,2.1
    link ab
	
or

	view 1.1,2.1,3.1
    link abc
	
new feature: script foo.jsv (or whatever extension you want, Robert)

bug fix: opening peak dialog without clicking spectra doesn't place cursor correctly
bug fix: closing all dialogs except the type chosen; otherwise it gets too cluttered 
bug fix: need to close all dialogs when the print dialog comes up
bug fix: issues with printing split spectra
PDF printing from signed applet and application
 
print PDF   or  print "foo.pdf"

peak list not coming up with peaks initially

integration LIST command option brings up dialog
versioning fixed -- all now in TODO.txt
T/A switching does not update min/max Y
print job name, optional title change, mandatory file name display.
on-screen title display fix for views.

y-axis shift to bring 0 closer to bottom

app file save As Source... fixed (and changed to "Original..."
refactoring ViewData.java and ScaleData.java; better minor X-ticks
xScale tweak adds minor ticks and changes allowed markings to 2, 5, 10 only

fix for integral fill not quitting

Set the SVN version number in TODO.txt rather than JSVapplet.java
This would mean making a comment when changes were made and submitting each time
so that the Help About dialog box code was updated as well.

SET LOADIMAGINARY T/F   -- default F - we can't process the imaginary spec anyway
acceptable?
 
fix for hide/show in peak dialog
fix for spectral shift

fix for integration handles broken yesterday (18th July 2012)

getProperty integration

{ "integration": { "normalizationFactor": 1.0
,"range": 50.0
,"table": [
	[7.192226512510311,6.9246496588731645,4.926643236225048],
	[4.526840366120152,4.247738137695028,11.036230573260724],
	[3.6325143648219447,3.358270687071215,11.083311665174023],
	[2.5828624962660385,2.3231806309339547,11.342257977394365],
	[2.2497695140375464,1.9457959058590926,11.037903913352398]]
,"offset": 30.0
,"header": ["peak","start/ppm","end/ppm","value"]
 }
,"id": "2.2"
 }

{ "peaklist": { 
"threshold": 11000.0
,"interpolation": "parabolic"
,"table": [
	[7.965197485241784,0.069523326261312,1589.7269625789845,0.0,0.0,0.0],
	[7.9583260963520965,0.08002807854864,1588.355542446773,1.3714201322116837,0.0,0.0],
	[7.950097960627121,0.047604282372504,1586.7133371859504,1.6422052608222724,3.013625393033956,0.0],
	[7.924291666857321,0.119271048519096,1581.5628106502181,5.150526535732331,6.7927317965546035,9.80635718958856],
	[7.916298405529351,0.08384643650356799,1579.9674825901723,1.5953280600459387,6.74585459577827,13.538586392332872],
	... 
	]
,"header": ["peak","shift/ppm","intens","shift/hz","diff/hz","2-diff","3-diff"]
 }
,"id": "3.1"
 }

close command fix for losing track of selected panel
fix for integral dialogs not closing or disappearing and not coming back

FINALLY!!! bug found in AwtPanel.update() with huge performance issues with Mac applet.
update() Should not call super.update() because this is an opaque applet

creating a view was closing files

peaklist command fixed (and separate from showPeakList TRUE/FALSE)

peaklist command options: threshold=x.x interpolation=[PARABOLIC|NONE]

double-clicking does not complete a measurement, just starts/ends it. 

getProperty viewInfo

{ 
 "maxY": 236826.159599058
,"maxX": 10.179782090604432
,"maxXOnScale": 10.179782090604432
,"minXOnScale": -1.320253057688545
,"minY": -280.022400942
,"minX": -1.320253057688545
,"minYOnScale": -25000.0
,"specShift": 0.0
,"maxYOnScale": 250000.0
 }


getProperty key # implies selected; key is optional
getProperty ALL key # all spectra; key is optional

integrationRegion xx (%)
integrationOffset xx (%)

integration MARK command

	 * INTEGRATION MARK list
	 * where list is a comma-separated list of ppm1-ppm2
	 * with  :x.x added to normalize one of them
	 * and starting with  0-0 clears the integration 
	 * for example: integration mark 0-0,8.25-7.75:2,7.75-7.25 


swap double click and ctrl click for measurements
show/hide measurements


dialogs;

-Peak picking
     Show/Hide Peak Labels
     Clear
     Threshold
  [x]Parabolic Interpolation
     List Peaks
    

-Integration:
     Show/Hide Integration
     Clear Integration
     Normalize
     Set Baseline Offset
     Set Scaling Factor
     List Integrals

-Measurements:
  Needs a dialog
  
     Show/Hide Measurements
     Clear Measurements
     Mark Measurements [just calls up a prompt telling how to do that]
     List Measurements
     Font Size
    

FINDX x.xx
 -- draws a red vertical line at a given position and acts like a click. 

SETPEAK x.xx command
 -- NMR only 
 -- requires prior clicking on a specific spectrum.
 -- first finds the top of the peak, then assigns chemical shift
 
SHIFTX x.x command
 -- NMR only
 -- requires prior clicking on a specific spectrum.

http://blog.gorges.us/2009/03/how-to-enable-keywords-in-eclipse-and-subversion-svn/
Use 
<dollar>LastChangedRevision: 998 $
<dollar>LastChangedDate: 2012-07-05 18:21:10 -0500 (Thu, 05 Jul 2012) $
to set the APPLET_VERSION to include the SVN revision number

-in the jsvtest.htm page, HNMR and CNMR are not distinguished

-when you offset a spectrum the peaks are able to go off the page, the
user cannot click on the parts of the spectra that are off the grid

- when the spectra has coupling constants, when it is zoomed to view a
spot that does not have the constants, the constants still show up
even if their peaks are off the page (they are where the peaks would
be if the whole spectrum were blown up)


-Integration:
 --changing the command from "integrate" to "integration"
   ---also what is the difference between integrate on/off and
showintegration true/false/toggle?

Features and Bugs:
For the overlay/close dialog box, please move the overlay section to the top of the display rather than the bottom

Dialog Box for overlay colours needs checking
  -- added active clicking in overlay key box
  
not observed: With JSpecView application, loading a file gives the dialog box and if you sort on date the program crashes.

Bug:
Loading a GC/MS file in Jmol application and selecting a menu option in Jmol to choose a frame
gives JSpecView loading with looping over frames in the Jmol display as well as the JSpecView display 

LOADFILECALLBACKNAME added

Loading a GC/MS file in Jmol application and selecting a menu option in Jmol to choose a frame
gives JSpecView loading with looping over frames in the Jmol display as well as the JSpecView display 


PRINT command for applet and application

compoundmenuon true gives menu option of Spectra
compoundmenuon false gives greyed out menu option of Blocks - renamed Spectra as well

ReversePlot was disabled; x widgets aren't right with plot reversed.
>seems fixed?

GC/MS is not tested and probably all messed up.
Works if call is to the GCMS.jdx file with overlay ALL

With Jmol application, when loading a Block file the JSV display is automatically showing the LAST Block.
>Changed to display First Block


With a dual display of GC at top and MS at bottom what script should I use to
change the lower display but leaving the top display undisturbed?
Can they be identified individually?

> done:
For the applet
overlay 1,3 or 1,4 etc default display is overlay 1,2

  peak ms model1
  peak ms "204"  -- could look for match in title text?
> DONE -- needs testing

  peak ms "204" ALL
       -- added ALL keyword lets you look through  all spectra, otherwise it's just the current panel
       -- current panel, though, is always checked first.


Loading a Block file and switching between Blocks without selecting a peak.
Having looked at 4 Blocks and returning to the first.
A PEAK is shown selected and if an IR then Jmol starts vib mode despite not having clicked in the JSV display.

> fixed

Loading acetophenone.html and selecting a peak in the IR sends the display into frenzy
with overlay showing and uncontrollable flashing between spectra.
Seems to happen as well when you select a peak then use spectrumnumber to change display

>> fixed 

Integration should be standard size without changing when you scale Y

Use of Ctrl-/ Ctrl+
OK for when baseline is at the bottom, needs to work as well for spectra 
where the baseline is at the top of the page 

DONE for a block file allow overlaying some of the spectra not necessarily all the spectra

  command:   OVERLAY 1.1,1.2 for instance

6th Mar turn off RED error icon when file is closed.
Done

done 8.3.12

bug:
If I open a file then open another file then open another file
The drop down file type in the file open dialog box always defaults to JCAMP-DX (not a problem)
BUT instead of it showing 1 JDX type it keeps on increasing in the
list so jcamp-dx shows up 3 times
and every time I open another file it seems to add another jcamp-dx to
the drop down file type list.

done 8.3.12
 
