7 fixes VueUI handling of JFileChooser and JColorChooser callbacks not using revised SelectedFile and SelectedColor property names
8 implements blinking iterator when dragging to reposition RNA blob
13 JTable implemented, including editing; needs better efficiency
14 Modal dialogs are working, including file open.
15 Drag-and-drop of Files is working
16 - note that the dropped File object has bytes field with data
17 Animated interpolation working; switched to simple JTimer mechanism for Java and JavaScript
22 modal JOptionPane implemented fully
23 JColorChooser implemented fully
24 JTable implemented; still some minor issues
27 Modal dialogs are working, except for FileOpen.
28 Popup menu is working.
34 - JTable has minor issues:
35 - Headings are not shaded
36 - needs attention to higher efficiency
38 - DnD only implemented for files.
39 - probably x,y coord are off - untested
40 - needs checking for isolated frames (works in applet)
43 Modifications for SwingJS
44 =========================
46 Search for "@j2sNative", "BH", or "SwingJS"
52 moved to fr.orsay.lri.varna (all SwingJS project files must be in packages)
54 adds default RNA JavaScript:
56 if (!thisApplet.__Info.sequenceDBN) {
57 thisApplet.__Info.sequenceDBN = "GGGGCCAAUAUGGCCAUCC";
58 thisApplet.__Info.structureDBN = "((((((.....))))..))";
59 thisApplet.__Info.title = prompt("Title?","Hello RNA world, from SwingJS!");
64 fr.orsay.lri.varna.factories.RNAFactory
65 ---------------------------------------
67 Cannot depend upon Java ArrayIndexOutOfBounds for trapping when testing formats
69 JAVA fix: Removing unnecessary exception print stack traces during testing for formats
70 JAVA fix: RNAFactory was not closing file reader
74 fr.orsay.lri.varna.applications.VARNAEditor
75 -------------------------------------------
77 switched to RNAFactory.loadSecStr((File) o) for drag-drop allows passing byte data
80 fr.orsay.lri.varna.applications.VARNAGUI
81 ----------------------------------------
83 switched to RNAFactory.loadSecStr((File) o) for drag-drop allows passing byte data
87 fr.orsay.lri.varna.controlers.ControleurBaseSpecialColorEditor
88 --------------------------------------------------------------
90 Since the editor is not modal, we have to catch the window hiding event
91 before closing the editor.
95 fr.orsay.lri.varna.controlers.ControleurInterpolator
96 ----------------------------------------------------
98 switch to JTimer for interpolation
99 JavaScript uses 2-second delay; Java uses 15-second delay
103 fr.orsay.lri.varna.views.PrinterTest.java
104 -----------------------------------------
106 simpler test that does not use java.awt.font.TextLayout, which is not implemented.
110 fr.orsay.lri.varna.VarnaPanel.java
111 ----------------------------------
113 now implements PropertyChangeListener for asynchronous callback.
117 fr.orsay.lri.varna.views.VueUI.java
118 ------------------------------------
120 All JOptionPane, JFileChooser, and JColorChooser action made asynchronous.
121 Basically, the results OK, CANCEL, YES, NO, CLOSED, and custom button index
122 are delivered to instances of runnable via a PropertyChangeListener callback
123 to the indicated parent frame.
125 Simple ERROR_OPTION and WARN_OPTION messages are handled via JavaScript Alert;
126 fall back options for simple showConfirmDialog and showInputDialog are used
127 automatically if the parent frame does not implement PropertyChangeListener.
129 Initial JavaScript-only return is:
131 for int-returning methods, NaN,
132 testable as value != Math.floor(value), where value is an int, and
133 for Object-returning methods, an Object that implements UIResource,
134 testable as event.getNewValue() instanceof UIResource.
136 This allows full compatibility in Java and JavaScript.
139 See notes in fr.orsay.lri.varna.views.VueUI.java.
143 fr.orsay.lri.varna.views.VueMenu.java
144 -------------------------------------
146 changes JLabel to JMenuItem - not 100% sure why that is necessary.
147 changes JSeparator to JPopupMenu.Separator
151 fr.orsay.lri.varna.views.VueAbout.java
152 --------------------------------------
154 added simple JTimer for asynchronous animation
155 added asynchronous callback modal option for JavaScript