Visual Color Imbalance Detector: Reconstructed project directories and files master
authorTJ <hacker@iam.tj>
Wed, 1 Apr 2015 18:55:36 +0000 (19:55 +0100)
committerTJ <hacker@iam.tj>
Wed, 1 Apr 2015 18:55:36 +0000 (19:55 +0100)
242 files changed:
.classpath [new file with mode: 0644]
.gitignore [new file with mode: 0644]
.nbattrs [new file with mode: 0644]
.project [new file with mode: 0644]
media/alphatest.png [new file with mode: 0644]
media/vista.gif [new file with mode: 0644]
media/vista.png [new file with mode: 0644]
media/vista0.gif [new file with mode: 0644]
media/vista1.gif [new file with mode: 0644]
media/vista2.gif [new file with mode: 0644]
media/vista3.gif [new file with mode: 0644]
org/tjworld/components/.nbattrs [new file with mode: 0644]
org/tjworld/components/AnimatedButton.java [new file with mode: 0644]
org/tjworld/components/BasicIconButtonListener.java [new file with mode: 0644]
org/tjworld/components/BasicIconCheckBoxUI.java [new file with mode: 0644]
org/tjworld/components/BasicIconRadioButtonUI.java [new file with mode: 0644]
org/tjworld/components/BasicIconToggleButtonUI.java [new file with mode: 0644]
org/tjworld/components/ColourQube.form [new file with mode: 0644]
org/tjworld/components/ColourQube.java [new file with mode: 0644]
org/tjworld/components/ColourQubeBeanInfo.java [new file with mode: 0644]
org/tjworld/components/ComboBoxURLItem.java [new file with mode: 0644]
org/tjworld/components/ComboBoxURLItemRenderer.java [new file with mode: 0644]
org/tjworld/components/HelpIconTitledURLItem.java [new file with mode: 0644]
org/tjworld/components/IconTitledURLItem.java [new file with mode: 0644]
org/tjworld/components/IconTitledURLItemRenderer.java [new file with mode: 0644]
org/tjworld/components/JIconCheckBox.java [new file with mode: 0644]
org/tjworld/components/JIconCheckBoxBeanInfo.java [new file with mode: 0644]
org/tjworld/components/JIconRadioButton.java [new file with mode: 0644]
org/tjworld/components/JIconRadioButtonBeanInfo.java [new file with mode: 0644]
org/tjworld/components/JIconToggleButton.java [new file with mode: 0644]
org/tjworld/components/JIconToggleButtonBeanInfo.java [new file with mode: 0644]
org/tjworld/components/LocalityIconTitledURLItem.java [new file with mode: 0644]
org/tjworld/components/PowerAction.java [new file with mode: 0644]
org/tjworld/components/PowerMenu.java [new file with mode: 0644]
org/tjworld/components/PowerToolBar.java [new file with mode: 0644]
org/tjworld/components/TitledURLItem.java [new file with mode: 0644]
org/tjworld/components/TreeURLItem.java [new file with mode: 0644]
org/tjworld/components/xhtmlHelp.form [new file with mode: 0644]
org/tjworld/components/xhtmlHelp.java [new file with mode: 0644]
org/tjworld/vista/CID/CID.form [new file with mode: 0644]
org/tjworld/vista/CID/CID.jarContent [new file with mode: 0644]
org/tjworld/vista/CID/CID.java [new file with mode: 0644]
org/tjworld/vista/CID/CIDAbout.form [new file with mode: 0644]
org/tjworld/vista/CID/CIDAbout.java [new file with mode: 0644]
org/tjworld/vista/CID/CIDapplet.form [new file with mode: 0644]
org/tjworld/vista/CID/CIDapplet.html [new file with mode: 0644]
org/tjworld/vista/CID/CIDapplet.java [new file with mode: 0644]
org/tjworld/vista/CID/JIconButtonDemo.form [new file with mode: 0644]
org/tjworld/vista/CID/JIconButtonDemo.java [new file with mode: 0644]
org/tjworld/vista/CID/VistaFilter.java [new file with mode: 0644]
org/tjworld/vista/CID/default.html [new file with mode: 0644]
org/tjworld/vista/CID/splash.form [new file with mode: 0644]
org/tjworld/vista/CID/splash.java [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_ar.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_de.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_es.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_fa.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_fr.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_hi.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_in.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_ja.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_nl.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_ps.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_pt.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_ru.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_sv.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_ur.properties [new file with mode: 0644]
org/tjworld/vista/cid/CIDresources_zh.properties [new file with mode: 0644]
org/tjworld/vista/cid/media/1up.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/2up.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/about.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/afghanistan.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/alert.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/alternate.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/auto.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/british.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/china.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/connect.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/createFilter.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/customize.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/cymk.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/delete.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dim1up.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dim2up.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimabout.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimafghanistan.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimalternate.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimauto.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimbritish.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimchina.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimconnect.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimcreateFilter.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimcustomize.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimcymk.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimdelete.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimdirected.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimdisconnect.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimegypt.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimexplain.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimeyes1.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimeyes2.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimfltScr.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimfltTmpl.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimfltWin.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimfrench.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimfromCookie.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimgerman.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimhelp.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimhelpsearch.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimhsb.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimindex.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimindia.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimindonesia.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimiran.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimjapan.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimlanguage.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimlookfeel.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimmanual.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimnetherlands.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimnew.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimopenFile.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimpageSetup.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimpakistan.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimpatterns.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimpause.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimplay.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimportugal.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimpreferences.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimprint.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimproperties.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimqube.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimreading.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimrecord.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimrgb.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimrussia.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimsave.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimsaveAs.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimscript.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimspanish.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimstop.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimswatches.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimsweden.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimsysColour.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimtoCookie.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimtriangle.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimvistaIcon.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimvistaOnline.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimvistaWebPage.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimwebHelpLink.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/dimwheel.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/directed.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/disconnect.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/egypt.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/error.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/explain.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/eyes1.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/eyes2.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/fltScr.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/fltTmpl.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/fltWin.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/french.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/fromCookie.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/german.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/help.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/helpsearch.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/hsb.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/index.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/india.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/indonesia.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/iran.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/japan.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/language.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/lookfeel.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/manual.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/netherlands.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/new.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/openFile.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/pageSetup.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/pakistan.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/patterns.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/pause.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/play.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/portugal.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/preferences.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/print.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/properties.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/qube.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/reading.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/record.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/rgb.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/russia.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/save.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/saveAs.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/script.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/sel1up.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/sel2up.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selalternate.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selauto.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selbritish.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selconnect.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selcymk.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/seldelete.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/seldirected.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/seldisconnect.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/seleyes1.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/seleyes2.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selfltScr.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selfltTmpl.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selfltWin.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selfrench.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selgerman.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selhsb.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/sellanguage.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selmanual.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selpatterns.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selpause.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selplay.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selqube.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selreading.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selrecord.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selrgb.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selscript.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selspanish.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selstop.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selswatches.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selsysColour.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/seltriangle.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/selwheel.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/spanish.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/stop.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/swatches.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/sweden.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/sysColour.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/toCookie.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/toolbars.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/triangle.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/vistaIcon.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/vistaOnline.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/vistaWebPage.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/webHelpLink.gif [new file with mode: 0644]
org/tjworld/vista/cid/media/wheel.gif [new file with mode: 0644]

diff --git a/.classpath b/.classpath
new file mode 100644 (file)
index 0000000..73e342c
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="src" path="org/tjworld/components"/>\r
+       <classpathentry kind="src" path="org/tjworld/vista/CID"/>\r
+       <classpathentry sourcepath="CID" kind="lib" path="CID.jar"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
+       <classpathentry kind="output" path="Build"/>\r
+</classpath>\r
diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..738a124
--- /dev/null
@@ -0,0 +1,4 @@
+*.class
+*.scc
+media/possibles
+
diff --git a/.nbattrs b/.nbattrs
new file mode 100644 (file)
index 0000000..e4194ce
--- /dev/null
+++ b/.nbattrs
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" ?>\r
+<attributes version="1.0">\r
+   <fileobject name="xhtmlHelp.java">\r
+      <attr name="class_dependency_javax.swing.JFrame" stringvalue="xhtmlHelp"/>\r
+   </fileobject>\r
+   <fileobject name="VistaFilter.java">\r
+      <attr name="class_dependency_javax.swing.JComponent" stringvalue="VistaFilter"/>\r
+   </fileobject>\r
+   <fileobject name="JIconCheckBox.java">\r
+      <attr name="class_dependency_org.tjworld.components.JIconToggleButton" stringvalue="JIconCheckBox;JIconRadioButton"/>\r
+   </fileobject>\r
+   <fileobject name="splash.java">\r
+      <attr name="class_dependency_javax.swing.JFrame" stringvalue="splash"/>\r
+   </fileobject>\r
+   <fileobject name="ComboBoxURLItemRenderer.java">\r
+      <attr name="class_dependency_javax.swing.JLabel" stringvalue="ComboBoxURLItemRenderer"/>\r
+      <attr name="class_dependency_javax.swing.ListCellRenderer" stringvalue="ComboBoxURLItemRenderer"/>\r
+   </fileobject>\r
+   <fileobject name="CIDapplet.java">\r
+      <attr name="class_dependency_javax.swing.JApplet" stringvalue="CIDapplet"/>\r
+      <attr name="class_dependency_java.lang.Runnable" stringvalue="CIDapplet"/>\r
+      <attr name="class_dependency_java.awt.event.MouseListener" stringvalue="CIDapplet"/>\r
+   </fileobject>\r
+   <fileobject name="JIconButtonDemo.java">\r
+      <attr name="class_dependency_javax.swing.JPanel" stringvalue="JIconButtonDemo"/>\r
+      <attr name="NetBeansAttrDebuggerType" serialvalue="aced00057372001e6f72672e6f70656e6964652e53657276696365547970652448616e646c6564612acc871b81080300024c0009636c6173734e616d657400124c6a6176612f6c616e672f537472696e673b4c00046e616d6571007e0001787074001144656661756c7420446562756767696e6774003b6f72672e6e65746265616e732e6d6f64756c65732e64656275676765722e64656c656761746f722e44656661756c7444656275676765725479706578"/>\r
+   </fileobject>\r
+   <fileobject name="templateSelector.java">\r
+      <attr name="class_dependency_javax.swing.JPanel" stringvalue="templateSelector"/>\r
+      <attr name="NetBeansAttrExecutor" serialvalue="aced00057372001e6f72672e6f70656e6964652e53657276696365547970652448616e646c6564612acc871b81080300024c0009636c6173734e616d657400124c6a6176612f6c616e672f537472696e673b4c00046e616d6571007e0001787074001245787465726e616c20457865637574696f6e74002d6f72672e6e65746265616e732e6d6f64756c65732e6a6176612e4a61766150726f636573734578656375746f7278"/>\r
+   </fileobject>\r
+   <fileobject name="BasicIconButtonListener.java">\r
+      <attr name="class_dependency_javax.swing.plaf.basic.BasicButtonListener" stringvalue="BasicIconButtonListener"/>\r
+   </fileobject>\r
+   <fileobject name="CID.java">\r
+      <attr name="class_dependency_java.awt.event.MouseAdapter" stringvalue="CID.ToolBarButtonMouseAdapter"/>\r
+      <attr name="class_dependency_java.awt.event.ItemListener" stringvalue="CID"/>\r
+      <attr name="class_dependency_javax.swing.JFrame" stringvalue="CID"/>\r
+      <attr name="class_dependency_java.awt.print.Printable" stringvalue="CID"/>\r
+      <attr name="SourceSync" bytevalue="0"/>\r
+      <attr name="NetBeansAttrDebuggerType" serialvalue="aced00057372001e6f72672e6f70656e6964652e53657276696365547970652448616e646c6564612acc871b81080300024c0009636c6173734e616d657400124c6a6176612f6c616e672f537472696e673b4c00046e616d6571007e0001787074001144656661756c7420446562756767696e6774003b6f72672e6e65746265616e732e6d6f64756c65732e64656275676765722e64656c656761746f722e44656661756c7444656275676765725479706578"/>\r
+   </fileobject>\r
+   <fileobject name="CIDAbout.java">\r
+      <attr name="class_dependency_javax.swing.JDialog" stringvalue="CIDAbout"/>\r
+   </fileobject>\r
+   <fileobject name="JIcon Demo.java">\r
+      <attr name="class_dependency_javax.swing.JPanel" stringvalue="templateSelector"/>\r
+   </fileobject>\r
+</attributes>\r
diff --git a/.project b/.project
new file mode 100644 (file)
index 0000000..8c792d3
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>Visual Perception Modelling</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.eclipse.jdt.core.javabuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.jdt.core.javanature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/media/alphatest.png b/media/alphatest.png
new file mode 100644 (file)
index 0000000..eb5885f
Binary files /dev/null and b/media/alphatest.png differ
diff --git a/media/vista.gif b/media/vista.gif
new file mode 100644 (file)
index 0000000..25be6b2
Binary files /dev/null and b/media/vista.gif differ
diff --git a/media/vista.png b/media/vista.png
new file mode 100644 (file)
index 0000000..f9c3a4d
Binary files /dev/null and b/media/vista.png differ
diff --git a/media/vista0.gif b/media/vista0.gif
new file mode 100644 (file)
index 0000000..f7a6122
Binary files /dev/null and b/media/vista0.gif differ
diff --git a/media/vista1.gif b/media/vista1.gif
new file mode 100644 (file)
index 0000000..39023b6
Binary files /dev/null and b/media/vista1.gif differ
diff --git a/media/vista2.gif b/media/vista2.gif
new file mode 100644 (file)
index 0000000..ac5e7bb
Binary files /dev/null and b/media/vista2.gif differ
diff --git a/media/vista3.gif b/media/vista3.gif
new file mode 100644 (file)
index 0000000..57a7c69
Binary files /dev/null and b/media/vista3.gif differ
diff --git a/org/tjworld/components/.nbattrs b/org/tjworld/components/.nbattrs
new file mode 100644 (file)
index 0000000..e9064f9
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" ?>\r
+<attributes version="1.0">\r
+   <fileobject name="ColourQubeBeanInfo.java">\r
+      <attr name="class_dependency_java.beans.SimpleBeanInfo" stringvalue="ColourQubeBeanInfo"/>\r
+   </fileobject>\r
+   <fileobject name="ColourQube.java">\r
+      <attr name="class_dependency_javax.swing.JPanel" stringvalue="ColourQube"/>\r
+      <attr name="class_dependency_java.io.Serializable" stringvalue="ColourQube"/>\r
+   </fileobject>\r
+   <fileobject name="AnimatedButton.java">\r
+      <attr name="class_dependency_java.lang.Runnable" stringvalue="AnimatedButton"/>\r
+      <attr name="class_dependency_javax.swing.JButton" stringvalue="AnimatedButton"/>\r
+   </fileobject>\r
+   <fileobject name="TitledURLItem.java">\r
+      <attr name="class_dependency_java.net.URL" stringvalue="TitledURLItem"/>\r
+      <attr name="EA-OpenIDE-Connection" serialvalue="aced0005737200146a6176612e7574696c2e4c696e6b65644c6973740c29535d4a608822030000787077040000000078"/>\r
+   </fileobject>\r
+   <fileobject name="PowerToolBar.java">\r
+      <attr name="class_dependency_javax.swing.JToolBar" stringvalue="PowerToolBar"/>\r
+   </fileobject>\r
+   <fileobject name="LocalityIconTitledURLItem.java">\r
+      <attr name="class_dependency_org.tjworld.components.IconTitledURLItem" stringvalue="HelpIconTitledURLItem;LocalityIconTitledURLItem"/>\r
+      <attr name="class_dependency_Components.IconTitledURLItem" stringvalue="LocalityIconTitledURLItem"/>\r
+   </fileobject>\r
+   <fileobject name="BasicIconRadioButtonUI.java">\r
+      <attr name="class_dependency_Components.BasicIconToggleButtonUI" stringvalue="BasicIconRadioButtonUI"/>\r
+      <attr name="class_dependency_org.tjworld.components.BasicIconToggleButtonUI" stringvalue="BasicIconRadioButtonUI"/>\r
+   </fileobject>\r
+   <fileobject name="PowerAction.java">\r
+      <attr name="class_dependency_javax.swing.AbstractAction" stringvalue="PowerAction"/>\r
+   </fileobject>\r
+   <fileobject name="HelpIconTitledURLItem.java">\r
+      <attr name="class_dependency_org.tjworld.components.IconTitledURLItem" stringvalue="HelpIconTitledURLItem"/>\r
+      <attr name="class_dependency_org.tjworld.components.LocalityIconTitledURLItem" stringvalue="HelpIconTitledURLItem"/>\r
+      <attr name="class_dependency_Components.IconTitledURLItem" stringvalue="HelpIconTitledURLItem"/>\r
+   </fileobject>\r
+   <fileobject name="IconTitledURLItem.java">\r
+      <attr name="EA-OpenIDE-Connection" serialvalue="aced0005737200146a6176612e7574696c2e4c696e6b65644c6973740c29535d4a608822030000787077040000000078"/>\r
+      <attr name="class_dependency_Components.TitledURLItem" stringvalue="IconTitledURLItem"/>\r
+      <attr name="class_dependency_org.tjworld.components.TitledURLItem" stringvalue="IconTitledURLItem"/>\r
+   </fileobject>\r
+   <fileobject name="BasicIconCheckBoxUI.java">\r
+      <attr name="class_dependency_org.tjworld.components.BasicIconToggleButtonUI" stringvalue="BasicIconCheckBoxUI;BasicIconRadioButtonUI"/>\r
+   </fileobject>\r
+   <fileobject name="IconTitledURLItemRenderer.java">\r
+      <attr name="class_dependency_javax.swing.JLabel" stringvalue="IconTitledURLItemRenderer"/>\r
+      <attr name="class_dependency_javax.swing.ListCellRenderer" stringvalue="IconTitledURLItemRenderer"/>\r
+   </fileobject>\r
+   <fileobject name="BasicIconToggleButtonUI.java">\r
+      <attr name="EA-OpenIDE-Connection" serialvalue="aced0005737200146a6176612e7574696c2e4c696e6b65644c6973740c29535d4a608822030000787077040000000078"/>\r
+      <attr name="class_dependency_javax.swing.plaf.basic.BasicToggleButtonUI" stringvalue="BasicIconToggleButtonUI"/>\r
+   </fileobject>\r
+   <fileobject name="TreeURLItem.java">\r
+      <attr name="class_dependency_org.tjworld.components.ComboBoxURLItem" stringvalue="TreeURLItem"/>\r
+   </fileobject>\r
+   <fileobject name="xhtmlHelp.java">\r
+      <attr name="class_dependency_java.lang.Runnable" stringvalue="xhtmlHelp.waitForDocTitle"/>\r
+      <attr name="class_dependency_java.lang.Thread" stringvalue="xhtmlHelp.waitForDocTitle"/>\r
+      <attr name="class_dependency_javax.swing.JFrame" stringvalue="xhtmlHelp"/>\r
+      <attr name="class_dependency_javax.swing.event.HyperlinkListener" stringvalue="xhtmlHelp"/>\r
+   </fileobject>\r
+   <fileobject name="JIconCheckBoxBeanInfo.java">\r
+      <attr name="class_dependency_java.beans.SimpleBeanInfo" stringvalue="JIconCheckBoxBeanInfo"/>\r
+   </fileobject>\r
+   <fileobject name="PowerMenu.java">\r
+      <attr name="class_dependency_javax.swing.JMenu" stringvalue="PowerMenu"/>\r
+   </fileobject>\r
+   <fileobject name="JIconCheckBox.java">\r
+      <attr name="class_dependency_org.tjworld.components.JIconToggleButton" stringvalue="JIconCheckBox"/>\r
+   </fileobject>\r
+   <fileobject name="JIconToggleButtonBeanInfo.java">\r
+      <attr name="class_dependency_java.beans.SimpleBeanInfo" stringvalue="JIconToggleButtonBeanInfo"/>\r
+   </fileobject>\r
+   <fileobject name="ComboBoxURLItemRenderer.java">\r
+      <attr name="class_dependency_javax.swing.JLabel" stringvalue="ComboBoxURLItemRenderer"/>\r
+      <attr name="class_dependency_javax.swing.ListCellRenderer" stringvalue="ComboBoxURLItemRenderer"/>\r
+   </fileobject>\r
+   <fileobject name="JIconRadioButtonBeanInfo.java">\r
+      <attr name="class_dependency_java.beans.SimpleBeanInfo" stringvalue="JIconRadioButtonBeanInfo"/>\r
+   </fileobject>\r
+   <fileobject name="JIconToggleButton.java">\r
+      <attr name="EA-OpenIDE-Connection" serialvalue="aced0005737200146a6176612e7574696c2e4c696e6b65644c6973740c29535d4a608822030000787077040000000078"/>\r
+      <attr name="class_dependency_javax.swing.JToggleButton" stringvalue="JIconToggleButton"/>\r
+   </fileobject>\r
+   <fileobject name="JIconRadioButton.java">\r
+      <attr name="class_dependency_Components.JIconToggleButton" stringvalue="JIconRadioButton"/>\r
+      <attr name="class_dependency_org.tjworld.components.JIconToggleButton" stringvalue="JIconRadioButton"/>\r
+   </fileobject>\r
+   <fileobject name="BasicIconButtonListener.java">\r
+      <attr name="class_dependency_javax.swing.plaf.basic.BasicButtonListener" stringvalue="BasicIconButtonListener"/>\r
+   </fileobject>\r
+</attributes>\r
diff --git a/org/tjworld/components/AnimatedButton.java b/org/tjworld/components/AnimatedButton.java
new file mode 100644 (file)
index 0000000..7350802
--- /dev/null
@@ -0,0 +1,153 @@
+/*\r
+       * AnimatedButton.java\r
+ *\r
+       * Created on 06 October 2001, 19:17\r
+       * $Header: $\r
+       * \r
+       * $History: $\r
+*/\r
+package org.tjworld.components;\r
+\r
+import java.awt.Image;\r
+import java.util.Vector;\r
+import java.awt.MediaTracker;\r
+import java.applet.Applet;\r
+import java.awt.Color;\r
+\r
+/**\r
+       * A lightweight Swing-based animated button, that \r
+ *\r
+       * @author  TJ\r
+ * @version 1.0\r
+ */\r
+public class AnimatedButton extends javax.swing.JButton implements Runnable {\r
+ private java.util.Vector frames; // animation frames\r
+       private int nextFrame, lastFrame;\r
+       private java.awt.Color background;\r
+       private java.awt.MediaTracker tracker;\r
+       private Applet parent;\r
+       private volatile boolean suspended;\r
+       \r
+       /** Creates new uninitialized AnimatedButton */\r
+       public AnimatedButton() {\r
+               frames = new Vector();\r
+               background = java.awt.Color.white;\r
+               nextFrame = lastFrame = -1;\r
+               suspended = true;\r
+       }\r
+       \r
+       /** Creates new AnimatedButton */\r
+ public AnimatedButton(Color bgColour, java.net.URL imagebase, String prefix, String suffix, int[] delays, int count, Applet parent) {\r
+               String nextImageName;\r
+               frames = new Vector(); // storage for animation frames and associated delays\r
+               this.parent = parent; // needed for calls to Applet.getImage()\r
+               \r
+  if(bgColour != null)\r
+               background = bgColour;  \r
+               else\r
+                       background = Color.white;\r
+               setBackground(background); // set button background to match parent (hopefully!!)\r
+                       \r
+               // load the animation frames\r
+               tracker = new MediaTracker(this);\r
+               for(int i = 0; i < count; i++) {\r
+                       nextImageName = prefix + i + suffix; // build image name\r
+                       frames.add(new AnimationFrame(parent.getImage(imagebase, nextImageName), delays[i]));\r
+                       tracker.addImage(((AnimationFrame)frames.get(i)).getImage(), 0);                        \r
+               }\r
+               nextFrame = 1; // initial values for 'shutter-type' animation\r
+               lastFrame = 0;\r
+               \r
+               suspended = false; // not suspended\r
+ }\r
+                       \r
+       public void addFrame(java.awt.Image image, int delay) {\r
+               frames.add(new AnimationFrame(image, delay));   \r
+       }\r
+\r
+       public synchronized void setSuspended(boolean pause) {\r
+               suspended = pause;\r
+               notify();\r
+       }\r
+       \r
+       public boolean isSuspended() {\r
+               return suspended;\r
+       }\r
+       \r
+ public void paint(java.awt.Graphics graphics) {\r
+  java.awt.Dimension dim = getSize();\r
+               graphics.setColor(background);\r
+               graphics.fillRect(0,0,dim.width, dim.height);\r
+               graphics.drawImage(((AnimationFrame)frames.get(nextFrame)).getImage(),0,0, this);\r
+       }\r
+       \r
+       public void animate() {\r
+               if(nextFrame == 0) \r
+                nextFrame = ++lastFrame; // next frame\r
+               else {\r
+                       lastFrame = nextFrame; // the one we just drew\r
+                       nextFrame = 0; // the 'shutter' frame\r
+               }\r
+               if(lastFrame >= frames.size()) { // loop back to the first frame\r
+                       nextFrame = 1;\r
+                       lastFrame = 0;\r
+               }\r
+       }\r
+                               \r
+       public void run() {\r
+               int sleep;\r
+               // no more frames, so ensure Vector has no empty slots, which means Vector.size() can be used to control the maximum frame index to use\r
+               frames.trimToSize(); \r
+\r
+               try { // don't begin animating until all frames have been loaded\r
+                tracker.waitForAll();\r
+               } catch(InterruptedException e) { }\r
+               \r
+               if(tracker.isErrorAny()) System.out.println("AnimatedButton: Error loading images");\r
+               \r
+               // resize button to size of images\r
+               int w = ((AnimationFrame)frames.get(nextFrame)).getImage().getWidth(this);\r
+               int h = ((AnimationFrame)frames.get(nextFrame)).getImage().getHeight(this);\r
+               setSize(w, h);\r
+               while(true) {\r
+                       // get this specific frame's delay now, BEFORE the frame index is updated in animate()\r
+                       sleep = ((AnimationFrame)frames.get(nextFrame)).getDelay();\r
+                       repaint();\r
+                       try {\r
+                               Thread.currentThread().sleep(sleep); // sleep now\r
+                               if(suspended) { // don't synchronize unless suspended - saves CPU time\r
+                               synchronized(this) {\r
+                                while(suspended) wait(); // suspended animation by external control\r
+                                       }\r
+                               }\r
+                       } catch(InterruptedException e) {}\r
+                       animate();\r
+               } // keep looping until this Thread is stopped\r
+       }\r
+\r
+       class AnimationFrame {\r
+               private java.awt.Image image;\r
+               private int delay; // milliseconds\r
+               \r
+               /** creates empty frame */\r
+               public AnimationFrame() {\r
+                       image = null;\r
+                       delay = 0;\r
+               }\r
+               \r
+               /** creates complete frame */\r
+               public AnimationFrame(Image image, int delay) {\r
+                       this.delay = delay;\r
+                       this.image = image;\r
+               }\r
+               \r
+               /** returns an Image */\r
+               public java.awt.Image getImage() {\r
+                       return image;\r
+               }\r
+               \r
+               public int getDelay() {\r
+                       return delay;\r
+               }\r
+       }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/BasicIconButtonListener.java b/org/tjworld/components/BasicIconButtonListener.java
new file mode 100644 (file)
index 0000000..67be390
--- /dev/null
@@ -0,0 +1,69 @@
+/*\r
+       * BasicIconButtonListener.java\r
+ *\r
+       * Created on 31 October 2001, 00:24\r
+       * $Header: /VisTA/CID/Components/BasicIconButtonListener.java 4     31/10/01 14:26 Tj $\r
+       * \r
+       * $History: BasicIconButtonListener.java $\r
+ * \r
+ * *****************  Version 4  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 14:26\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added GraphicsDebug support, Tested OK\r
+ * \r
+ * *****************  Version 3  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 5:06\r
+ * Updated in $/VisTA/CID/Components\r
+ * Updated header\r
+ */\r
+package org.tjworld.components;\r
+\r
+import javax.swing.AbstractButton;\r
+import javax.swing.plaf.basic.BasicButtonListener;\r
+import javax.swing.DebugGraphics;\r
+import java.beans.PropertyChangeEvent;\r
+import org.tjworld.components.JIconToggleButton;\r
+\r
+/**\r
+       * Extends BasicButtonListener to enable repainting when any of the Button's user or (JIconToggleButton) State\r
+       * Icons is changed.\r
+ *\r
+       * @see BasicButtonListener\r
+       * @see JIconToggleButton\r
+       * @author  TJ\r
+ * @version 1.4.1\r
+       * @since 1.4\r
+ */\r
+public class BasicIconButtonListener extends BasicButtonListener {\r
+\r
+       /** Creates new BasicIconButtonListener */\r
+ public BasicIconButtonListener(AbstractButton b) {\r
+               super(b);\r
+ }\r
\r
+       /** Overrides BasicButtonListener.propertyChange()\r
+               * to intercept any icon ProprtyChange notifications, then passes the event\r
+               * on to the super class\r
+               */\r
+ public void propertyChange(PropertyChangeEvent e) {\r
+               AbstractButton ab = (AbstractButton)e.getSource(); // cast the source object...\r
+               JIconToggleButton ib = (JIconToggleButton) ab; // ...for accessing members\r
+        String prop = e.getPropertyName();\r
+\r
+               // graphics debugging info, not strictly applicable but an elegant-ish way to monitor\r
+               // progress under control of a component property editor\r
+               if((ab.getDebugGraphicsOptions() & DebugGraphics.LOG_OPTION) == DebugGraphics.LOG_OPTION)\r
+                       System.out.println("BasicIconButtonListener.propertyChange(...) property: " + prop);\r
+               \r
+        if(prop.equals(AbstractButton.ICON_CHANGED_PROPERTY)\r
+                  || prop.equals(AbstractButton.DISABLED_ICON_CHANGED_PROPERTY)\r
+                                       || prop.equals(JIconToggleButton.SELECTED_STATEICON_CHANGED_PROPERTY)\r
+                                       || prop.equals(JIconToggleButton.UNSELECTED_STATEICON_CHANGED_PROPERTY)\r
+                                       || prop.equals(JIconToggleButton.DISABLED_SELECTED_STATEICON_CHANGED_PROPERTY)\r
+                                       || prop.equals(JIconToggleButton.DISABLED_UNSELECTED_STATEICON_CHANGED_PROPERTY)) {\r
+                       ab.repaint(); // icon changed so update the display\r
+               }\r
+               else // might be other properties changed ...\r
+                       super.propertyChange(e); // ...so pass it on\r
+       }\r
+}\r
diff --git a/org/tjworld/components/BasicIconCheckBoxUI.java b/org/tjworld/components/BasicIconCheckBoxUI.java
new file mode 100644 (file)
index 0000000..d2be29b
--- /dev/null
@@ -0,0 +1,158 @@
+/*\r
+       * BasicIconCheckBoxUI.java\r
+ *\r
+       * Created on 02 November 2001, 01:42\r
+       * $Header: /VisTA/CID/Components/BasicIconCheckBoxUI.java 2     2/11/01 2:18 Tj $\r
+       *\r
+       * $History: BasicIconCheckBoxUI.java $\r
+ * \r
+ * *****************  Version 2  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 2:18\r
+ * Updated in $/VisTA/CID/Components\r
+ * Created paintIcon() to override same method in BasicIconToggleButtonUI,\r
+ * to deal with some L&F's casting the component to a JCheckBox\r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 1:47\r
+ * Created in $/VisTA/CID/Components\r
+ * Created from BasicRadioButtonUI template\r
+ */\r
+\r
+package org.tjworld.components;\r
+\r
+import java.awt.Graphics;\r
+import java.awt.Rectangle;\r
+import javax.swing.ButtonModel;\r
+import javax.swing.Icon;\r
+import javax.swing.JComponent;\r
+import javax.swing.JCheckBox;\r
+import javax.swing.AbstractButton;\r
+import javax.swing.DebugGraphics;\r
+import javax.swing.plaf.ComponentUI;\r
+import javax.swing.AbstractButton;\r
+import javax.swing.UIManager;\r
+\r
+/**\r
+ * Draws a Check Box that incorporates a State Icon and a User Icon to visually indicate functionality\r
+       * in the same way that BasicCheckBoxMenuItemUI does for JCheckBoxMenuItem components.\r
+       *\r
+       * Except for overriding and enhancing the BasicButtonUI.installDefaults() method to get the L&F's\r
+       * CheckBox-specific settings, this class is a wrapper for all the functionality of \r
+       * BasicIconToggleButtonUI.\r
+       *\r
+       * @see JIconCheckBox\r
+       * @see JCheckBoxMenuItem\r
+       * @see BasicCheckBoxMenuItemUI\r
+       * @see BasicIconToggleButtonUI\r
+       * @see BasicIconButtonListener\r
+       *\r
+       * @author  TJ\r
+ * @version 1.0\r
+ */\r
+public class BasicIconCheckBoxUI extends BasicIconToggleButtonUI {\r
+       \r
+       /** Tracks status of UI Manager Look & Feel registration */\r
+ private boolean defaults_initialized = false;\r
+\r
+       /** One global instance of the UI Delegate */\r
+       private final static BasicIconCheckBoxUI iconCheckBoxUI = new BasicIconCheckBoxUI();\r
+\r
+ /** Masquarades as a CheckBox so it can fit in with standard Look & Feels */\r
+       private final static String propertyPrefix = "CheckBox.";\r
+\r
+       /** Creates new BasicIconCheckBoxUI */\r
+ public BasicIconCheckBoxUI() {\r
+ }\r
+\r
+ /** Creates a new BasicIconCheckBox \r
+               * @returns The single static instance of a BasicIconCheckBox\r
+               */\r
+ public static ComponentUI createUI(JComponent b) {\r
+  return iconCheckBoxUI;\r
+ }\r
+\r
+ /** Uses the CheckBox properties */\r
+ protected String getPropertyPrefix() {\r
+  return propertyPrefix;\r
+ }\r
+       \r
+ /** Install into L&F\r
+               * gets a reference to the L&F's (usually) dynamic factory-Icon that paints itself according to\r
+               * the state of the (JIcon)CheckBox it is associated with.\r
+               * @param b The Check Box\r
+               */\r
+ protected void installDefaults(AbstractButton b){\r
+  super.installDefaults(b);\r
+  if(!defaults_initialized) {\r
+   stateIcon = UIManager.getIcon(getPropertyPrefix() + "icon");\r
+   defaults_initialized = true;\r
+  }\r
+ }\r
+\r
+       /** Uninstall from L&F\r
+               * @param b The CheckBox\r
+               */\r
+ protected void uninstallDefaults(JIconCheckBox b){\r
+  super.uninstallDefaults(b);\r
+  defaults_initialized = false;\r
+ }\r
+\r
+       /**\r
+               * Creates a standard Java component that is an analog of the specialist JICon... components,\r
+               * such that the paint() method can then implement the correct L&F paintButtonPressed() method\r
+               * Should be overridden in subclasses to return the correct analog\r
+               *\r
+               * @returns A JComponent subclass being the analog of the called class\r
+               */\r
+ public JComponent createCompatibleLandFComponent(JIconToggleButton iconCB) {\r
+               JCheckBox cb = new JCheckBox(); // create the analog\r
+\r
+               ButtonModel my = iconCB.getModel();\r
+               ButtonModel cbBM = cb.getModel(); // synchronize it's model\r
+\r
+               cbBM.setArmed(my.isArmed());\r
+               cbBM.setPressed(my.isPressed());\r
+               cbBM.setSelected(my.isSelected());\r
+               cbBM.setRollover(my.isRollover());\r
+               \r
+               cb.setBorder(iconCB.getBorder());\r
+               cb.setMargin(iconCB.getMargin());\r
+               cb.setSize(iconCB.getSize());\r
+               \r
+               return cb; // analog of JIconRadioButton\r
+       }\r
+               \r
+       /**\r
+               * Paint the State (selected) Icon\r
+               *\r
+               * @param g The Graphics context to draw into\r
+               * @param b The button that requires the Icon to be drawn\r
+               * @param iconRect The bounds within in which to paint the Icon\r
+               */\r
+ protected synchronized void paintStateIcon(Graphics g, JIconToggleButton b, Icon state, Rectangle iconRect) {\r
+  Icon icon = state; // the icon to paint\r
+               \r
+               /* remember that L&Fs might be drawing this rather than BITBLTing pixel arrays (GIF/JPGs etc.)\r
+                       * also beware that the button is converted to a type that the L&F's can recast to other types in their Icon paint\r
+                       * methods.\r
+                       * Metal L&F (Java 1.4 beta 2) will throw an exception because it casts to a JCheckBox when the JIconToggleButton\r
+                       * is passed without conversion.\r
+                       * It could get away with casting to an AbstractButton and save my woes!\r
+                */\r
+               \r
+  // need to fool some L&F's into thinking the Component it's painting for is a descendent of java.awt.Component \r
+               AbstractButton ab = null;\r
+               \r
+  if(b instanceof JIconCheckBox) { // Metal L&F casts the component to a JCheckBox\r
+                       JCheckBox c = new JCheckBox(b.getText(), icon, b.isSelected()); // create a stand-in to mimic this button\r
+                       ab = (AbstractButton) c;\r
+               }\r
+\r
+               if(ab != null) // only paint it if a component is available\r
+                icon.paintIcon(ab, g, iconRect.x, iconRect.y); \r
+\r
+               // graphics debugging info\r
+               if((b.getDebugGraphicsOptions() & DebugGraphics.LOG_OPTION) == DebugGraphics.LOG_OPTION)\r
+                       System.out.println("Painting State Icon at " + iconRect);\r
+ }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/BasicIconRadioButtonUI.java b/org/tjworld/components/BasicIconRadioButtonUI.java
new file mode 100644 (file)
index 0000000..2ce9efd
--- /dev/null
@@ -0,0 +1,178 @@
+/*\r
+       * BasicIconRadioButtonUI.java\r
+ *\r
+       * Created on 31 October 2001, 22:21\r
+       * $Header: /VisTA/CID/Components/BasicIconRadioButtonUI.java 6     7/11/01 16:49 Tj $\r
+       *\r
+       * $History: BasicIconRadioButtonUI.java $\r
+ * \r
+ * *****************  Version 6  *****************\r
+ * User: Tj           Date: 7/11/01    Time: 16:49\r
+ * Updated in $/VisTA/CID/Components\r
+ * Verified propertyPrefix being read\r
+ * \r
+ * *****************  Version 5  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 2:21\r
+ * Updated in $/VisTA/CID/Components\r
+ * Created paintStateIcon(...) override to deal with L&Fs casting to\r
+ * JRadioButton in their paintIcon(...) methods\r
+ * \r
+ * *****************  Version 4  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 1:03\r
+ * Updated in $/VisTA/CID/Components\r
+ * Tested OK, removed console debug messages\r
+ * \r
+ * *****************  Version 3  *****************\r
+ * User: Tj           Date: 1/11/01    Time: 22:53\r
+ * Updated in $/VisTA/CID/Components\r
+ * Ready for Bean Testing\r
+ * \r
+ * *****************  Version 2  *****************\r
+ * User: Tj           Date: 1/11/01    Time: 0:46\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added install/uninstall L&F methods\r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 22:43\r
+ * Created in $/VisTA/CID/Components\r
+ * Supporting UI deligate for for BasicIconRadioButton\r
+ */\r
+\r
+package org.tjworld.components;\r
+\r
+import java.awt.Graphics;\r
+import java.awt.Rectangle;\r
+import javax.swing.ButtonModel;\r
+import javax.swing.Icon;\r
+import javax.swing.JComponent;\r
+import javax.swing.JRadioButton;\r
+import javax.swing.AbstractButton;\r
+import javax.swing.DebugGraphics;\r
+import javax.swing.plaf.ComponentUI;\r
+import javax.swing.AbstractButton;\r
+import javax.swing.UIManager;\r
+\r
+/**\r
+ * Draws a Radio button that incorporates a State Icon and a User Icon to visually indicate functionality\r
+       * in the same way that BasicRadioButtonMenuItemUI does for JRadioButtonMenuItem components.\r
+       *\r
+       * Except for overriding and enhancing the BasicButtonUI.installDefaults() method to get the L&F's\r
+       * RadioButton-specific settings, this class is a wrapper for all the functionality of \r
+       * BasicIconToggleButtonUI.\r
+       *\r
+       * @see JIconRadioButton\r
+       * @see JRadioButtonMenuItem\r
+       * @see BasicRadioButtonMenuItemUI\r
+       * @see BasicIconToggleButtonUI\r
+       * @see BasicIconButtonListener\r
+       *\r
+       * @author  TJ\r
+ * @version 1.0\r
+ */\r
+public class BasicIconRadioButtonUI extends BasicIconToggleButtonUI {\r
+       \r
+       /** Tracks status of UI Manager Look & Feel registration */\r
+ private boolean defaults_initialized = false;\r
+\r
+       /** One global instance of the UI Delegate */\r
+       private final static BasicIconRadioButtonUI iconRadioButtonUI = new BasicIconRadioButtonUI();\r
+\r
+ /** Masquarades as a RadioButton so it can fit in with standard Look & Feels */\r
+       private final static String propertyPrefix = "RadioButton.";\r
+\r
+       /** Creates new BasicIconRadioButtonUI */\r
+ public BasicIconRadioButtonUI() {\r
+ }\r
+\r
+ /** Creates a new BasicIconRadioButton \r
+               * @returns The single static instance of a BasicIconRadioButton\r
+               */\r
+ public static ComponentUI createUI(JComponent b) {\r
+  return iconRadioButtonUI;\r
+ }\r
+\r
+ /** Uses the RadioButton properties */\r
+ protected String getPropertyPrefix() {\r
+  return propertyPrefix;\r
+ }\r
+       \r
+ /** Install into L&F\r
+               * gets a reference to the L&F's (usually) dynamic factory-Icon that paints itself according to\r
+               * the state of the (JIcon)RadioButton it is associated with.\r
+               * @param b The Radio Button\r
+               */\r
+ protected void installDefaults(AbstractButton b){\r
+  super.installDefaults(b);\r
+  if(!defaults_initialized) {\r
+   stateIcon = UIManager.getIcon(getPropertyPrefix() + "icon");\r
+   defaults_initialized = true;\r
+  }\r
+ }\r
+\r
+       /** Uninstall from L&F\r
+               * @param b The RadioButton\r
+               */\r
+ protected void uninstallDefaults(JIconRadioButton b){\r
+  super.uninstallDefaults(b);\r
+  defaults_initialized = false;\r
+ }\r
+\r
+       /**\r
+               * Creates a standard Java component that is an analog of the specialist JICon... components,\r
+               * such that the paint() method can then implement the correct L&F paintButtonPressed() method\r
+               * Should be overridden in subclasses to return the correct analog\r
+               *\r
+               * @returns A JComponent subclass being the analog of the called class\r
+               */\r
+ public JComponent createCompatibleLandFComponent(JIconToggleButton iconRB) {\r
+               JRadioButton rb = new JRadioButton(); // create the analog\r
+\r
+               ButtonModel my = iconRB.getModel();\r
+               ButtonModel rbBM = rb.getModel(); // synchronize it's model\r
+\r
+               rbBM.setArmed(my.isArmed());\r
+               rbBM.setPressed(my.isPressed());\r
+               rbBM.setSelected(my.isSelected());\r
+               rbBM.setRollover(my.isRollover());\r
+               \r
+               rb.setBorder(iconRB.getBorder());\r
+               rb.setMargin(iconRB.getMargin());\r
+               rb.setSize(iconRB.getSize());\r
+               \r
+               return rb; // analog of JIconRadioButton\r
+       }\r
+               \r
+       /**\r
+               * Paint the State (selected) Icon\r
+               *\r
+               * @param g The Graphics context to draw into\r
+               * @param b The button that requires the Icon to be drawn\r
+               * @param iconRect The bounds within in which to paint the Icon\r
+               */\r
+ protected synchronized void paintStateIcon(Graphics g, JIconToggleButton b, Icon state, Rectangle iconRect) {\r
+  Icon icon = state; // the icon to paint\r
+               \r
+               /* remember that L&Fs might be drawing this rather than BITBLTing pixel arrays (GIF/JPGs etc.)\r
+                       * also beware that the button is converted to a type that the L&F's can recast to other types in their Icon paint\r
+                       * methods.\r
+                       * Metal L&F (Java 1.4 beta 2) will throw an exception because it casts to a JRadioButton when the JIconToggleButton\r
+                       * is passed without conversion.\r
+                       * It could get away with casting to an AbstractButton and save my woes!\r
+                */\r
+               \r
+  // need to fool some L&F's into thinking the Component it's painting for is a descendent of java.awt.Component \r
+               AbstractButton ab = null;\r
+               \r
+  if(b instanceof JIconRadioButton) { // Metal L&F for one casts the Component passed to paintIcon() to a JRadioButton\r
+                       JRadioButton c = new JRadioButton(b.getText(), icon, b.isSelected()); // so create a stand-in and mimic this button's current state\r
+                       ab = (AbstractButton) c; // and cast it back to the common base that is passed to paintIcon(...)\r
+               }\r
+\r
+               if(ab != null) // only paint it if a component is available\r
+                icon.paintIcon(ab, g, iconRect.x, iconRect.y); \r
+\r
+               // graphics debugging info\r
+               if((b.getDebugGraphicsOptions() & DebugGraphics.LOG_OPTION) == DebugGraphics.LOG_OPTION)\r
+                       System.out.println("Painting State Icon at " + iconRect);\r
+ }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/BasicIconToggleButtonUI.java b/org/tjworld/components/BasicIconToggleButtonUI.java
new file mode 100644 (file)
index 0000000..2848719
--- /dev/null
@@ -0,0 +1,608 @@
+/*\r
+       * BasicIconToggleButtonUI.java\r
+ *\r
+       * Created on 29 October 2001, 17:41\r
+       * $Header: /VisTA/CID/Components/BasicIconToggleButtonUI.java 16    7/11/01 19:46 Tj $\r
+       *\r
+       * $History: BasicIconToggleButtonUI.java $\r
+ * \r
+ * *****************  Version 16  *****************\r
+ * User: Tj           Date: 7/11/01    Time: 19:46\r
+ * Updated in $/VisTA/CID/Components\r
+ * Exploring how to implement correct L&F ButtonUI.paintButtonPressed()\r
+ * service\r
+ * \r
+ * *****************  Version 15  *****************\r
+ * User: Tj           Date: 7/11/01    Time: 16:51\r
+ * Updated in $/VisTA/CID/Components\r
+ * Verified propertyPrefix being read\r
+ * \r
+ * *****************  Version 14  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 3:19\r
+ * Updated in $/VisTA/CID/Components\r
+ * Fixed problems in layoutIconToggleButton() that prevented\r
+ * layoutCompoundLabel inserting ellipsis into truncated label text\r
+ * \r
+ * *****************  Version 13  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 2:20\r
+ * Updated in $/VisTA/CID/Components\r
+ * Moved from paintStateIcon(...) to sub-class overrides, the algorithms\r
+ * to detect the type of sub-class to pass to paintIcon(...)\r
+ * \r
+ * *****************  Version 12  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 1:04\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added kludge to paintStateIcon() to prevent L&F exceptions in some\r
+ * cases\r
+ * \r
+ * *****************  Version 11  *****************\r
+ * User: Tj           Date: 1/11/01    Time: 22:53\r
+ * Updated in $/VisTA/CID/Components\r
+ * Ready for Bean Testing\r
+ * \r
+ * *****************  Version 10  *****************\r
+ * User: Tj           Date: 1/11/01    Time: 21:40\r
+ * Updated in $/VisTA/CID/Components\r
+ * Revised and extended Javadoc\r
+ * \r
+ * *****************  Version 9  *****************\r
+ * User: Tj           Date: 1/11/01    Time: 0:46\r
+ * Updated in $/VisTA/CID/Components\r
+ * Partially revised to remove excessive State-Icon logic, needs User-Icon\r
+ * logic revising too\r
+ * \r
+ * *****************  Version 8  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 14:27\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added createButtonListener(), Tested OK\r
+ * \r
+ * *****************  Version 7  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 14:06\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added GraphicsDebug support\r
+ * \r
+ * *****************  Version 6  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 5:04\r
+ * Updated in $/VisTA/CID/Components\r
+       */\r
+\r
+ package org.tjworld.components;\r
+       \r
+       import java.awt.Graphics;\r
+       import java.awt.Rectangle;\r
+       import java.awt.Font;\r
+       import java.awt.FontMetrics;\r
+       import java.awt.Dimension;\r
+       import java.awt.Insets;\r
+       import java.awt.Color;\r
+       import javax.swing.JComponent;\r
+       import javax.swing.Icon;\r
+       import javax.swing.AbstractButton;\r
+       import javax.swing.JToggleButton;\r
+       import javax.swing.JRadioButton;\r
+       import javax.swing.JCheckBox;\r
+       import javax.swing.ButtonModel;\r
+       import javax.swing.SwingUtilities;\r
+       import javax.swing.UIManager;\r
+       import javax.swing.plaf.ButtonUI;\r
+       import javax.swing.plaf.basic.BasicButtonUI;\r
+       import javax.swing.plaf.basic.BasicToggleButtonUI;\r
+       import javax.swing.plaf.basic.BasicHTML;\r
+       import javax.swing.plaf.basic.BasicButtonListener;\r
+ import javax.swing.plaf.UIResource;\r
+ import javax.swing.plaf.ComponentUI;\r
+ import javax.swing.text.View;\r
+       import javax.swing.DebugGraphics;\r
+       import org.tjworld.components.JIconToggleButton;\r
+       import org.tjworld.components.BasicIconButtonListener;\r
+\r
+/**\r
+ * Draws a Toggle button that incorporates a State Icon and a User Icon to visually indicate functionality\r
+       * in the same way that BasicMenuItemUI does for JMenuItem components.\r
+       *\r
+       * @see JToggleButton\r
+       * @see JMenuItem\r
+       * @see BasicMenuItemUI\r
+       * @see BasicToggleButtonUI\r
+       * @see BasicIconButtonListener\r
+       *\r
+       * @author  TJ\r
+       * @version 1.4.2\r
+       * version 1.4.1 31 Oct, 2001 Revised to support JIconToggleButton's revised state icons\r
+ * version 1.4.0\r
+       * @since 1.4\r
+ */\r
+public class BasicIconToggleButtonUI extends BasicToggleButtonUI {\r
+       \r
+       /** Holds the L&F specific selected indicator icon, unless the component installs it's\r
+               * own selectedStateIcon, when this UI delegate gets notified by a PropertyChange Event.\r
+               * \r
+               * Not used by the standard Toggle Button (which uses a border to indicate state). Used by\r
+               * sub-classes such as JIconRadioButton and JIconCheckBox.\r
+               */\r
+       protected Icon stateIcon = null;\r
+       \r
+       /** One global instance of the UI Delegate */\r
+       private final static BasicIconToggleButtonUI iconToggleButtonUI = new BasicIconToggleButtonUI();\r
+\r
+ /** Masquarades as a ToggleButton so it can fit in with standard Look & Feels */\r
+       private final static String propertyPrefix = "ToggleButton" + ".";\r
+\r
+       /** Creates new BasicIconToggleButtonUI */\r
+ public BasicIconToggleButtonUI() {\r
+ }\r
+\r
+ /** Creates a new BasicIconToggleButton \r
+               * @returns The single static instance of a BasicIconToggleButton\r
+               */\r
+ public static ComponentUI createUI(JComponent b) {\r
+  return iconToggleButtonUI;\r
+ }\r
+\r
+       /** Creates a new ButtonListener\r
+               *\r
+               * Overrides BasicButtonUI.createButtonListener(...) and returns a listener that\r
+               * is on the look-out for changes to the State and User icons.\r
+               *\r
+               * Usually called by BasicButtonUI.installListeners(..)\r
+               * @returns a new listener\r
+               */\r
+       protected BasicButtonListener createButtonListener(AbstractButton b) {\r
+               return (BasicButtonListener) new BasicIconButtonListener(b);\r
+       }\r
+\r
+ /** Uses the ToggleButton properties */\r
+ protected String getPropertyPrefix() {\r
+  return propertyPrefix;\r
+ }\r
+\r
+ /* paint() is much faster when the Rectangles aren't being dynamically created on each call,\r
+               * so paint() is synchronized to ensure two components don't try to use the \r
+               * rectangles at the same time!\r
+               */\r
+ private static Rectangle zeroRect = new Rectangle(0,0,0,0); // no-size\r
+       private static Rectangle stateIconRect = new Rectangle(); // the button-state indicator\r
+ private static Rectangle userIconRect = new Rectangle(); // the function indicator\r
+ private static Rectangle textRect = new Rectangle(); // the label\r
+ private static Rectangle labelRect = new Rectangle(); // contains userIcon and Text\r
+ private static Rectangle viewRect = new Rectangle(Short.MAX_VALUE, Short.MAX_VALUE); // the paintable area excluding border/insets/margins\r
+       \r
+       /** Reset the shared rectangles to zero ready for a new set of calculations */\r
+ private synchronized void resetRectangles() {\r
+  stateIconRect.setBounds(zeroRect);\r
+  userIconRect.setBounds(zeroRect);\r
+  textRect.setBounds(zeroRect);\r
+               labelRect.setBounds(zeroRect);\r
+  viewRect.setBounds(0,0,Short.MAX_VALUE, Short.MAX_VALUE);\r
+ }\r
+\r
+       /**\r
+               * Creates a standard Java component that is an analog of the specialist JICon... components,\r
+               * such that the paint() method can then implement the correct L&F paintButtonPressed() method\r
+               * Should be overridden in subclasses to return the correct analog\r
+               *\r
+               * @returns A JComponent subclass being the analog of the called class\r
+               */\r
+ public JComponent createCompatibleLandFComponent(JIconToggleButton iconTB) {\r
+               JToggleButton tb = new JToggleButton(); // create the analog\r
+\r
+               ButtonModel my = iconTB.getModel();\r
+               ButtonModel tbBM = tb.getModel(); // synchronize it's model\r
+\r
+               tbBM.setArmed(my.isArmed());\r
+               tbBM.setPressed(my.isPressed());\r
+               tbBM.setSelected(my.isSelected());\r
+               tbBM.setRollover(my.isRollover());\r
+               \r
+               tb.setBorder(iconTB.getBorder());\r
+               tb.setMargin(iconTB.getMargin());\r
+               tb.setSize(iconTB.getSize());\r
+               \r
+               return tb; // analog of JIconToggleButton\r
+       }\r
+       \r
+ /**\r
+               * Paint the state of the Button, including the optional User Icon functionality indicator.\r
+               *\r
+               * Using some sneaky tricks, the component ensures it gets painted according to the rules\r
+               * of the currently installed Look and Feel, including when it is selected/armed/pressed.\r
+               *\r
+               * @param g The Graphics context to draw into\r
+               * @param c The (JIconToggleButton) component to draw\r
+               * @see JIconToggleButton\r
+               * @see BasicToggleButtonUI\r
+               */\r
+ public synchronized void paint(Graphics g, JComponent c) {\r
+  JIconToggleButton b = (JIconToggleButton) c;\r
+  ButtonModel model = b.getModel();\r
+        Dimension size = b.getSize();\r
+               \r
+               resetRectangles();\r
+  viewRect.setBounds(0, 0, size.width, size.height);\r
+\r
+               // graphics debugging info\r
+               if((c.getDebugGraphicsOptions() & DebugGraphics.LOG_OPTION) == DebugGraphics.LOG_OPTION)\r
+                       System.out.println("JIconToggleButtonUI.paint() at " + viewRect);\r
+\r
+  // stateIcon should be on the left edge UNLESS there is a border\r
+               if(b.isBorderPainted() && b.getBorder() != null) {\r
+               Insets i = b.getInsets();\r
+   viewRect.x += i.left; // calculate the drawable area\r
+   viewRect.y += i.top;\r
+   viewRect.width -= (i.right + viewRect.x);\r
+   viewRect.height -= (i.bottom + viewRect.y);\r
+               }\r
+               \r
+               Font f = c.getFont();\r
+  g.setFont(f);\r
+  FontMetrics fm = g.getFontMetrics();\r
+\r
+               Icon sIcon = getStateIcon(b); // the user might be providing a custom state indicator\r
+               \r
+  // layout the text and icons\r
+  String text = layoutIconToggleButton(\r
+   b, fm, sIcon, b.getIcon(), b.getText(), \r
+   b.getVerticalAlignment(), b.getHorizontalAlignment(),\r
+   b.getVerticalTextPosition(), b.getHorizontalTextPosition(),\r
+   viewRect, stateIconRect, userIconRect, textRect, labelRect,\r
+         b.getText() == null ? 0 : b.getIconTextGap(),\r
+                       b.getIconTextGap());\r
+\r
+  g.setColor(b.getBackground());\r
+\r
+  if(model.isArmed() && model.isPressed() || model.isSelected()) {\r
+                       JComponent jc = createCompatibleLandFComponent(b); // identify the ComponentUI delegate responsible for painting this type of Button (BasicToggleButtonUI, BasicRadioButtonUI, BasicCheckBoxUI)\r
+                       BasicButtonUI lfButtonUI = (BasicButtonUI) UIManager.getUI(jc); // create an instance of the L&F's ComponentUI delegate \r
+                       \r
+   if(lfButtonUI == null)\r
+                        lfButtonUI = new javax.swing.plaf.basic.BasicButtonUI();\r
+                       \r
+                       /* call the delegate, which has nothing to paint but the background, hopefully\r
+                               * jc will be of an analog type, created by calls to createCompatibleLandFComponent()\r
+                               * in this class or subclasses\r
+                               *\r
+                               * This ensures the component performs paintButtonPressed() according to the\r
+                               * installed L&F. paintButtonPressed() is protected and therefore cannot be\r
+                               * called directly from here\r
+                               */\r
+   lfButtonUI.paint(g, jc); \r
+   \r
+                       // paintButtonPressed(g, b); // as at 1.4, BasicButtonUI.paintButtonPressed() returns having done nothing\r
+               }\r
+        else if(b.isOpaque()) { // fill in the background\r
+         Insets insets = b.getInsets();\r
+         Insets margin = b.getMargin();\r
+           \r
+         g.fillRect(insets.left - margin.left, insets.top - margin.top, \r
+                 size.width - (insets.left-margin.left) - (insets.right - margin.right),\r
+                 size.height - (insets.top-margin.top) - (insets.bottom - margin.bottom));\r
+        }\r
+       \r
+               // Paint the state Icon\r
+  if(sIcon != null)\r
+                       paintStateIcon(g, b, sIcon, stateIconRect);\r
+       \r
+  // Paint the User Icon\r
+  if(b.getIcon() != null)\r
+                       paintUserIcon(g, b, b.getIcon(), userIconRect);\r
+       \r
+  // Draw the Text\r
+  if(text != null && !text.equals("")) { // don't both trying to draw nothing\r
+   View v = (View) c.getClientProperty(BasicHTML.propertyKey);\r
+   if (v != null) // it's HTML formatted text\r
+    v.paint(g, textRect);\r
+   else // plain Unicode text\r
+    paintText(g, (AbstractButton) b, textRect, text); // make sure to use the 1.4 version of BasicButtonUI.paintText()\r
+  }\r
+       \r
+  // draw the dashed focus line, make sure the 'label' focus is drawn around both Text and User Icon\r
+  if (b.isFocusPainted() && b.hasFocus())\r
+         paintFocus(g, b, labelRect);\r
+ }\r
+\r
+       /**\r
+               * Paint the User Icon\r
+               *\r
+               * @param g The Graphics context to draw into\r
+               * @param b The button that requires the Icon to be drawn\r
+               * @param iconRect The bounds within in which to paint the Icon\r
+               */\r
+ protected synchronized void paintUserIcon(Graphics g, JIconToggleButton b, Icon userIcon, Rectangle iconRect) {\r
+  ButtonModel model = b.getModel();\r
+  Icon icon = userIcon;\r
+               \r
+  if(!model.isEnabled()) { // disabled button\r
+         if(model.isSelected()) // disabled + selected\r
+    icon = b.getDisabledSelectedIcon();\r
+         else // disabled + not selected\r
+    icon = b.getDisabledIcon();\r
+  }\r
+               // alternatively, various forms of enabled button\r
+  else if(model.isPressed() && model.isArmed()) { // enabled + pressed\r
+   icon = b.getPressedIcon();\r
+   if(icon == null) // no Pressed Icon, so use Selected Icon\r
+                 icon = b.getSelectedIcon();\r
+               }\r
+  \r
+               else if(model.isSelected()) { // enabled + selected\r
+   if(b.isRolloverEnabled() && model.isRollover()) { // enabled + selected + mouse is over\r
+                 icon = b.getRolloverSelectedIcon();\r
+                 if (icon == null) // no RolloverSelected Icon, so use Selected Icon\r
+                  icon = b.getSelectedIcon();\r
+                }\r
+   else \r
+                               icon = b.getSelectedIcon();\r
+               }\r
+  \r
+               else if(b.isRolloverEnabled() && model.isRollover()) // enabled + mouse is over\r
+   icon = b.getRolloverIcon();\r
+               \r
+               else // enabled\r
+   icon = b.getIcon();\r
+               \r
+               if(icon == null) // if it failed to be set any other way!!!\r
+   icon = b.getIcon(); // try once more\r
+                       \r
+  if(icon != null) // only paint if an icon is available\r
+   icon.paintIcon(b, g, iconRect.x, iconRect.y);\r
+\r
+               // graphics debugging info\r
+               if((b.getDebugGraphicsOptions() & DebugGraphics.LOG_OPTION) == DebugGraphics.LOG_OPTION)\r
+                       System.out.println("Painting User Icon at " + iconRect);\r
+ }\r
+\r
+/**\r
+               * Paint the State (selected) Icon\r
+               *\r
+               * @param g The Graphics context to draw into\r
+               * @param b The button that requires the Icon to be drawn\r
+               * @param iconRect The bounds within in which to paint the Icon\r
+               */\r
+ protected synchronized void paintStateIcon(Graphics g, JIconToggleButton b, Icon state, Rectangle iconRect) {\r
+               /* remember that L&Fs might be drawing this rather than BITBLTing pixel arrays (GIF/JPGs etc.)\r
+                       * also beware that the button is converted to a type that the L&F's can recast to other types in their Icon paint\r
+                       * methods.\r
+                       * Metal L&F (Java 1.4 beta 2) will throw an exception because it casts to a JRadioButton when a JIconToggleButton\r
+                       * is passed without conversion to paintIcon(...) for JIconRadioButton & JIconCheckBox.\r
+                       * It could get away with casting to an AbstractButton and save my woes!\r
+                */\r
+               \r
+               if(b != null) // only paint it if a component is available\r
+                state.paintIcon(b, g, iconRect.x, iconRect.y); \r
+\r
+               // graphics debugging info\r
+               if((b.getDebugGraphicsOptions() & DebugGraphics.LOG_OPTION) == DebugGraphics.LOG_OPTION)\r
+                       System.out.println("Painting State Icon at " + iconRect);\r
+ }\r
+\r
+ /** Draw the focus outline\r
+               *\r
+               * Synchronized to prevent multipe components accessing the shared rectangles\r
+               *\r
+               * @param g The Graphics context\r
+               * @param b The Button\r
+               * @param labelRect The rectangle containing the area to be painted \r
+               */\r
+       protected synchronized void paintFocus(Graphics g, JIconToggleButton b, Rectangle labelRect) {\r
+  g.setColor(getFocusColor((JComponent)b));\r
+        g.drawRect(labelRect.x-1, labelRect.y-1,labelRect.width+1, labelRect.height+1);\r
+               // graphics debugging info\r
+               if((b.getDebugGraphicsOptions() & DebugGraphics.LOG_OPTION) == DebugGraphics.LOG_OPTION)\r
+   System.out.println("Painting focus at" + labelRect);\r
+ }\r
+\r
+ /** Get the colour used to paint focus\r
+               * @param c The Component\r
+               * @returns The focus colour\r
+               */\r
+ protected Color getFocusColor(JComponent c) {\r
+               Color focusColor = UIManager.getColor(getPropertyPrefix() + "focus");\r
+               if(focusColor == null) // no custom focus colour set in this L & F, so try using one that is in the Basic L&F that most L&F's inherit from\r
+                       focusColor = UIManager.getColor(getPropertyPrefix() + "textHighlightText");\r
+               if(focusColor == null) // still none, so use the component's foreground colour\r
+                       focusColor = c.getForeground();\r
+        return focusColor;\r
+ }\r
+       \r
+       /** Convenience method to get the currently active state-indicator icon\r
+               *\r
+               * The algorithm for choosing the icon is:\r
+               *\r
+               * If the button is selected, use the JIconToggleButton component's selectedStateIcon, unless\r
+               * it is null, in which case use the default L&F state icon (which dynamically paints itself\r
+               * depending on what state the button is in). Further, if the button is also disabled, use the\r
+               * component's disabledSelectedStateIcon unless it is null.\r
+               *\r
+               * If the button is unselected, use the JIConToggleButton component's unselectedStateIcon, unless\r
+               * it is null, in which case use the default L&F state icon (see above). Further, if the button is\r
+               * also disabled, use the component's disabledUnselectedStateIcon unless it is null.\r
+               *\r
+               * @param b The button whose indicator icon is required\r
+               * @returns The icon valid for the button's current state, or null if no icon is to be displayed\r
+               */\r
+       public Icon getStateIcon(JIconToggleButton b) {\r
+               Icon temp = null, state = null;\r
+               if(b.isSelected()) { // button is selected\r
+                       state = b.getSelectedStateIcon(); // User-provided icon\r
+                       if(state == null) state = stateIcon; // otherwise the L&F default (which draws itself based on button state)\r
+                       \r
+                       if(!b.isEnabled()) // disabled button\r
+                               if((temp = b.getDisabledSelectedStateIcon()) != null) // might be a user-provided icon\r
+                                       state = temp; // if so, use it  \r
+               }\r
+               else { // unselected\r
+                       state = ((JIconToggleButton)b).getUnselectedStateIcon(); // might be a user-provided icon\r
+                       if(state == null) state = stateIcon; // otherwise use the L&F default\r
+                       \r
+                       if(!b.isEnabled()) // disabled + unselected\r
+                               if((temp = b.getDisabledUnselectedStateIcon()) != null) // might be a user-provided Icon\r
+                                       state = temp; // if so, use it          \r
+       }\r
+               return state;\r
+       }\r
+       \r
+ /** \r
+  * Compute and return the location of the icon origins, the \r
+  * location of origin of the text baseline, and a possibly clipped\r
+  * version of the compound labels string.  Locations are computed\r
+  * relative to the vRect rectangle. \r
+               *\r
+               * @param icontogglebutton The Button\r
+               * @param fm The Text's font measurements (metrics)\r
+               * @param stateIcon The State indicator Icon to use, or null\r
+               * @param userIcon The User's functionality indicator Icon, or null\r
+               * @param text The button's label text\r
+               * @param verticalAlignment Vertical position of the icons and text (see SwingUtilities.layoutCompoundLabel)\r
+               * @param horizontalAlignment Horizontal position of User Icon and Text label\r
+               * @param vRect Bounds of area within which all icons and text label must be drawn\r
+               * @param siRect Bounds within which State indicator Icon must be drawn\r
+               * @param uiRect Bounds within which User functionality Icon must be drawn\r
+               * @param tRect Bounds within which Text label must be drawn\r
+               * @param lRect Bounds of User Icon and Text label (used for determining focus painting)\r
+               * @param textIconGap Pixels between User Icon and Text label\r
+               * @param iconButtonGap Pixels on either side of State indicator Icon\r
+               *\r
+               * @returns Button's label Text\r
+               *\r
+               * @see SwingUtilities#layoutCompoundLabel\r
+               * @see ComponentOrientation\r
+  */\r
+ private synchronized String layoutIconToggleButton(\r
+        JIconToggleButton icontogglebutton,\r
+  FontMetrics fm,\r
+  Icon stateIcon,\r
+  Icon userIcon,\r
+  String text,\r
+  int verticalAlignment,\r
+  int horizontalAlignment,\r
+  int verticalTextPosition,\r
+  int horizontalTextPosition,\r
+  Rectangle vRect, \r
+  Rectangle siRect, \r
+  Rectangle uiRect,\r
+  Rectangle tRect,\r
+               Rectangle lRect,\r
+  int textIconGap,\r
+               int iconButtonGap\r
+ ) {\r
+               \r
+               Rectangle tempRect = new Rectangle(vRect); // calculate only the available width for User Icon + Text\r
+\r
+  if (stateIcon != null) { // Initialize the stateIcon bounds rectangle's width & height\r
+               siRect.width = stateIcon.getIconWidth();\r
+               siRect.height = stateIcon.getIconHeight();\r
+\r
+                       // this should help layoutCompoundLabel() decide to use ellipsis (...) in the text when it's too long to fit\r
+                       tempRect.width -= siRect.width + iconButtonGap; // deduct width of state Icon plus 2 lots of gap\r
+        }\r
+               else\r
+                siRect.width = siRect.height = 0;\r
+           \r
+               // layout the User Icon and Text\r
+               text = SwingUtilities.layoutCompoundLabel((JComponent)icontogglebutton, fm, text, userIcon, verticalAlignment, horizontalAlignment,\r
+                verticalTextPosition, horizontalTextPosition, tempRect, uiRect, tRect, textIconGap);\r
+                               \r
+ // now add back the deducted wdith as x-axis offsets to prevent state Icon being overwritten by User Icon and Text!\r
+  if(icontogglebutton.getComponentOrientation().isLeftToRight()) {\r
+   siRect.x = vRect.x; // position the State Icon\r
+                       tRect.x += iconButtonGap + siRect.width; // shift the Text..\r
+   uiRect.x += iconButtonGap + siRect.width; // ...and the User Icon along to compensate\r
+  }\r
+  else {\r
+   siRect.x = vRect.x + vRect.width - siRect.width; // position the State Icon\r
+   tRect.x -= iconButtonGap + siRect.width; // shift the Text...\r
+   uiRect.x -= iconButtonGap + siRect.width; // ...and the User Icon along to compensate\r
+  }\r
+\r
+               lRect.setBounds(uiRect); // combine User Icon & Text rectangles\r
+               lRect = SwingUtilities.computeUnion(tRect.x, tRect.y, tRect.width, tRect.height, lRect);\r
+\r
+  // Align the check and user icons vertically with the center of the label rect\r
+  uiRect.y = lRect.y + (lRect.height/2) - (uiRect.height/2);\r
+  siRect.y = lRect.y + (lRect.height/2) - (siRect.height/2);\r
+\r
+               // graphics debugging info\r
+               if((icontogglebutton.getDebugGraphicsOptions() & DebugGraphics.LOG_OPTION) == DebugGraphics.LOG_OPTION) {\r
+                       System.out.println(this.getClass().getName() + ".layoutIconToggleButton(...)");\r
+                       System.out.println("viewRect=" + viewRect);\r
+                       System.out.println("stateRect=" + stateIconRect);\r
+                       System.out.println("iconRect=" + userIconRect);\r
+                       System.out.println("textRect=" + textRect);\r
+                       System.out.println("labelRect=" + labelRect);\r
+               }\r
+  \r
+               return text;\r
+ }\r
+\r
+       /** Calculate the smallest size that includes all icons\r
+               * @param c The button\r
+               * @returns minimum dimensions required by the Button (usually the same as getPreferredSize())\r
+               * @see #getPreferredSize\r
+               * @see #getMaximumSize\r
+               */\r
+       public synchronized Dimension getMinimumSize(JComponent c) {\r
+               // return getPreferredSize(c);\r
+               return new Dimension(stateIconRect.width + userIconRect.width + c.getInsets().left + c.getInsets().right + 3*((JIconToggleButton)c).getIconTextGap(), userIconRect.height + c.getInsets().top + c.getInsets().bottom );\r
+ }\r
+\r
+       /** Calculate the maximum size that includes all icons and text unclipped\r
+               * @param c The Button\r
+               * @returns maximum dimensions tolerated by the Button (usually the same as getPreferredSize())\r
+               * @see #getPreferredSize\r
+               * @see #getMinimumSize\r
+               */\r
+       public Dimension getMaximumSize(JComponent c) {\r
+               return getPreferredSize(c);\r
+       }\r
+\r
+       /** Calculate the optimum size that includes all icons and text unclipped\r
+               * @param c The button\r
+               * @returns Preferred size of Button\r
+               * @see #getMinimumSize\r
+               * @see #getMaximumSize\r
+               */\r
+       public synchronized Dimension getPreferredSize(JComponent c) {\r
+  JIconToggleButton b = (JIconToggleButton) c; // so we can access it's methods & attributes\r
+\r
+  Font font = b.getFont();\r
+  FontMetrics fm = b.getToolkit().getFontMetrics(font); // deprecated but required in this instance\r
+               \r
+               Icon sIcon = b.getStateIcon(); // the user might be providing a custom state indicator\r
+               sIcon = sIcon != null ? sIcon : getStateIcon(b); // otherwise use this UI delegate default\r
+               \r
+  resetRectangles();\r
+\r
+  // layout the text and icons\r
+  String text = layoutIconToggleButton(\r
+   b, fm, sIcon, b.getIcon(), b.getText(), \r
+   b.getVerticalAlignment(), b.getHorizontalAlignment(),\r
+   b.getVerticalTextPosition(), b.getHorizontalTextPosition(),\r
+   viewRect, stateIconRect, userIconRect, textRect, labelRect,\r
+         b.getText() == null ? 0 : b.getIconTextGap(),\r
+                       b.getIconTextGap());\r
+\r
+  // The preferred size of the button is the size of the text and icons plus the button's insets.\r
+               Rectangle pref = new Rectangle(labelRect); \r
+               pref.width += stateIconRect.width += 2*b.getIconTextGap();\r
+\r
+               Insets insets = b.getInsets(); // either from the border, or from a super\r
+  pref.width += insets.left + insets.right; // include the border\r
+  pref.height += insets.top + insets.bottom;\r
+               \r
+               insets = b.getMargin(); // between border and label\r
+  pref.width += insets.left + insets.right; // include the margin\r
+  pref.height += insets.top + insets.bottom;\r
+\r
+               if(pref.width%2 == 0) // adjust to ensure the focus dash line is drawn correctly\r
+                        pref.width++;\r
+               if(pref.height%2 == 0)\r
+                        pref.height++;\r
+\r
+               // graphics debugging info\r
+               if((c.getDebugGraphicsOptions() & DebugGraphics.LOG_OPTION) == DebugGraphics.LOG_OPTION) {\r
+                       System.out.println(this.getClass().getName() + ".getPreferredSize(...)");\r
+                       System.out.println("preferred=" + pref);\r
+               }\r
+  return pref.getSize();\r
+       }\r
+}\r
diff --git a/org/tjworld/components/ColourQube.form b/org/tjworld/components/ColourQube.form
new file mode 100644 (file)
index 0000000..5ae8444
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <SyntheticProperties>
+  </SyntheticProperties>
+
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+</Form>
diff --git a/org/tjworld/components/ColourQube.java b/org/tjworld/components/ColourQube.java
new file mode 100644 (file)
index 0000000..7927bd1
--- /dev/null
@@ -0,0 +1,52 @@
+/*\r
+       * ColourQube.java\r
+ *\r
+       * Created on 16 October 2001, 18:03\r
+       * $Header: $\r
+       * \r
+       * $History: $\r
+*/\r
+package org.tjworld.components;\r
+\r
+import java.awt.Color;\r
+/**\r
+ *\r
+       * @author  TJ\r
+ */\r
+public class ColourQube extends javax.swing.JPanel implements java.io.Serializable {\r
+\r
+       private java.awt.Color colour = java.awt.Color.white;\r
+       \r
+       /** Creates new form ColourQube */\r
+    public ColourQube() {\r
+        initComponents();\r
+    }\r
+\r
+    /** This method is called from within the constructor to\r
+     * initialize the form.\r
+     * WARNING: Do NOT modify this code. The content of this method is\r
+     * always regenerated by the Form Editor.\r
+     */\r
+                               private void initComponents() {//GEN-BEGIN:initComponents\r
+                                       \r
+                                       setLayout(new java.awt.BorderLayout());\r
+                                       \r
+                               }//GEN-END:initComponents\r
+\r
+       public void setColour(java.awt.Color col) {\r
+               if(col != null) colour = col;\r
+       }                               \r
+\r
+       public java.awt.Color getColour() {\r
+        return colour;\r
+       }                               \r
+                               \r
+       public void paint(java.awt.Graphics g) {\r
+               java.awt.Graphics2D g2 = (java.awt.Graphics2D)g; // treat as a 2D graphics context\r
+               super.paint(g);\r
+       }\r
+                               \r
+                               // Variables declaration - do not modify//GEN-BEGIN:variables\r
+                               // End of variables declaration//GEN-END:variables\r
+\r
+}\r
diff --git a/org/tjworld/components/ColourQubeBeanInfo.java b/org/tjworld/components/ColourQubeBeanInfo.java
new file mode 100644 (file)
index 0000000..981a615
--- /dev/null
@@ -0,0 +1,189 @@
+package org.tjworld.components;
+
+import java.beans.*;
+
+public class ColourQubeBeanInfo extends SimpleBeanInfo {
+
+
+
+  // Bean descriptor //GEN-FIRST:BeanDescriptor
+  private static BeanDescriptor beanDescriptor = new BeanDescriptor  ( ColourQube.class , null );
+
+  static {
+      beanDescriptor.setDisplayName ( "ColourQube" );
+      beanDescriptor.setShortDescription ( "Colour Chooser" );//GEN-HEADEREND:BeanDescriptor
+
+    // Here you can add code for customizing the BeanDescriptor.
+
+}//GEN-LAST:BeanDescriptor
+
+  // Properties information will be obtained from introspection.//GEN-FIRST:Properties
+  private static PropertyDescriptor[] properties = null;//GEN-HEADEREND:Properties
+
+    // Here you can add code for customizing the properties array.
+
+  //GEN-LAST:Properties
+
+  // EventSet identifiers//GEN-FIRST:Events
+
+  // EventSet array
+  private static EventSetDescriptor[] eventSets = new EventSetDescriptor[0];
+//GEN-HEADEREND:Events
+
+    // Here you can add code for customizing the event sets array.
+
+  //GEN-LAST:Events
+
+  // Method information will be obtained from introspection.//GEN-FIRST:Methods
+  private static MethodDescriptor[] methods = null;//GEN-HEADEREND:Methods
+
+    // Here you can add code for customizing the methods array.
+    
+  //GEN-LAST:Methods
+
+    private static java.awt.Image iconColor16 = null; //GEN-BEGIN:IconsDef
+    private static java.awt.Image iconColor32 = null;
+    private static java.awt.Image iconMono16 = null;
+    private static java.awt.Image iconMono32 = null; //GEN-END:IconsDef
+  private static String iconNameC16 = "/org/tjworld/vista/cid/media/qube.gif";//GEN-BEGIN:Icons
+  private static String iconNameC32 = null;
+  private static String iconNameM16 = null;
+  private static String iconNameM32 = null;//GEN-END:Icons
+
+  private static final int defaultPropertyIndex = -1;//GEN-BEGIN:Idx
+  private static final int defaultEventIndex = -1;//GEN-END:Idx
+
+
+    /**
+     * Gets the bean's <code>BeanDescriptor</code>s.
+     * 
+     * @return BeanDescriptor describing the editable
+     * properties of this bean.  May return null if the
+     * information should be obtained by automatic analysis.
+     */
+    public BeanDescriptor getBeanDescriptor() {
+       return beanDescriptor;
+    }
+
+    /**
+     * Gets the bean's <code>PropertyDescriptor</code>s.
+     * 
+     * @return An array of PropertyDescriptors describing the editable
+     * properties supported by this bean.  May return null if the
+     * information should be obtained by automatic analysis.
+     * <p>
+     * If a property is indexed, then its entry in the result array will
+     * belong to the IndexedPropertyDescriptor subclass of PropertyDescriptor.
+     * A client of getPropertyDescriptors can use "instanceof" to check
+     * if a given PropertyDescriptor is an IndexedPropertyDescriptor.
+     */
+    public PropertyDescriptor[] getPropertyDescriptors() {
+        return properties;
+    }
+
+    /**
+     * Gets the bean's <code>EventSetDescriptor</code>s.
+     * 
+     * @return  An array of EventSetDescriptors describing the kinds of 
+     * events fired by this bean.  May return null if the information
+     * should be obtained by automatic analysis.
+     */
+    public EventSetDescriptor[] getEventSetDescriptors() {
+        return eventSets;
+    }
+
+    /**
+     * Gets the bean's <code>MethodDescriptor</code>s.
+     * 
+     * @return  An array of MethodDescriptors describing the methods 
+     * implemented by this bean.  May return null if the information
+     * should be obtained by automatic analysis.
+     */
+    public MethodDescriptor[] getMethodDescriptors() {
+        return methods;
+    }
+
+    /**
+     * A bean may have a "default" property that is the property that will
+     * mostly commonly be initially chosen for update by human's who are 
+     * customizing the bean.
+     * @return  Index of default property in the PropertyDescriptor array
+     *                 returned by getPropertyDescriptors.
+     * <P>     Returns -1 if there is no default property.
+     */
+    public int getDefaultPropertyIndex() {
+        return defaultPropertyIndex;
+    }
+
+    /**
+     * A bean may have a "default" event that is the event that will
+     * mostly commonly be used by human's when using the bean. 
+     * @return Index of default event in the EventSetDescriptor array
+     *         returned by getEventSetDescriptors.
+     * <P>     Returns -1 if there is no default event.
+     */
+    public int getDefaultEventIndex() {
+        return defaultEventIndex;
+    }
+
+    /**
+     * This method returns an image object that can be used to
+     * represent the bean in toolboxes, toolbars, etc.   Icon images
+     * will typically be GIFs, but may in future include other formats.
+     * <p>
+     * Beans aren't required to provide icons and may return null from
+     * this method.
+     * <p>
+     * There are four possible flavors of icons (16x16 color,
+     * 32x32 color, 16x16 mono, 32x32 mono).  If a bean choses to only
+     * support a single icon we recommend supporting 16x16 color.
+     * <p>
+     * We recommend that icons have a "transparent" background
+     * so they can be rendered onto an existing background.
+     *
+     * @param  iconKind  The kind of icon requested.  This should be
+     *    one of the constant values ICON_COLOR_16x16, ICON_COLOR_32x32, 
+     *    ICON_MONO_16x16, or ICON_MONO_32x32.
+     * @return  An image object representing the requested icon.  May
+     *    return null if no suitable icon is available.
+     */
+    public java.awt.Image getIcon(int iconKind) {
+        switch ( iconKind ) {
+        case ICON_COLOR_16x16:
+            if ( iconNameC16 == null )
+                return null;
+            else {
+                if( iconColor16 == null )
+                    iconColor16 = loadImage( iconNameC16 );
+                return iconColor16;
+            }
+        case ICON_COLOR_32x32:
+            if ( iconNameC32 == null )
+                return null;
+            else {
+                if( iconColor32 == null )
+                    iconColor32 = loadImage( iconNameC32 );
+                return iconColor32;
+            }
+        case ICON_MONO_16x16:
+            if ( iconNameM16 == null )
+                return null;
+            else {
+                if( iconMono16 == null )
+                    iconMono16 = loadImage( iconNameM16 );
+                return iconMono16;
+            }
+        case ICON_MONO_32x32:
+            if ( iconNameM32 == null )
+                return null;
+            else {
+                if( iconMono32 == null )
+                    iconMono32 = loadImage( iconNameM32 );
+                return iconMono32;
+            }
+       default: return null;
+        }
+    }
+
+}
+
diff --git a/org/tjworld/components/ComboBoxURLItem.java b/org/tjworld/components/ComboBoxURLItem.java
new file mode 100644 (file)
index 0000000..f5c72b7
--- /dev/null
@@ -0,0 +1,64 @@
+/*\r
+       * ComboBoxURLItem.java\r
+ *\r
+       * Created on 09 November 2001, 20:40\r
+       * $Header: /VisTA/CID/ComboBoxURLItem.java 2     10/11/01 0:53 Tj $\r
+       *\r
+       * $History: ComboBoxURLItem.java $\r
+ * \r
+ * *****************  Version 2  *****************\r
+ * User: Tj           Date: 10/11/01   Time: 0:53\r
+ * Updated in $/VisTA/CID\r
+ * Tested, OK\r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 9/11/01    Time: 21:05\r
+ * Created in $/VisTA/CID\r
+ * Support for URL Browser History lists\r
+ */\r
+package org.tjworld.components;\r
+\r
+import java.net.URL;\r
+import javax.swing.ImageIcon;\r
+import javax.swing.Icon;\r
+\r
+/**\r
+ *\r
+       * @author  TJ\r
+ * @version \r
+ */\r
+public class ComboBoxURLItem {\r
+ static ImageIcon staticLocalIcon = new ImageIcon("org/tjworld/components/media/help.gif");\r
+ static ImageIcon staticOnlineIcon = new ImageIcon("org/tjworld/components/media/vistaOnline.gif");\r
+       ImageIcon icon = null;\r
+       URL url = null;\r
+ String title = null;\r
+       String file = null;\r
+                       \r
+       ComboBoxURLItem() {\r
+               this((String)null, (String)null, (URL)null, true);\r
+       }\r
+                       \r
+       ComboBoxURLItem(String title, String file, URL url, boolean local) {\r
+               this.url = url;\r
+               this.title = title;\r
+               this.file = file;\r
+  this.icon = local ? staticLocalIcon : staticOnlineIcon;                              \r
+       }\r
+                       \r
+       public String getTitle() {\r
+               return title;\r
+       }\r
+       \r
+       public String getFile() {\r
+               return file;\r
+       }\r
+                       \r
+       public Icon getIcon() {\r
+               return icon;\r
+       }\r
+                       \r
+       public URL getURL() {\r
+               return url;\r
+       }       \r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/ComboBoxURLItemRenderer.java b/org/tjworld/components/ComboBoxURLItemRenderer.java
new file mode 100644 (file)
index 0000000..7b4ee8c
--- /dev/null
@@ -0,0 +1,68 @@
+/*\r
+       * ComboBoxURLItemRenderer.java\r
+ *\r
+       * Created on 09 November 2001, 21:07\r
+       * $Header: /VisTA/CID/ComboBoxURLItemRenderer.java 2     10/11/01 0:53 Tj $\r
+       *\r
+       * $History: ComboBoxURLItemRenderer.java $\r
+ * \r
+ * *****************  Version 2  *****************\r
+ * User: Tj           Date: 10/11/01   Time: 0:53\r
+ * Updated in $/VisTA/CID\r
+ * Tested, OK\r
+ */\r
+\r
+package org.tjworld.components;\r
+\r
+import java.awt.Component;\r
+import javax.swing.JList;\r
+\r
+/**\r
+       * Renders URL document titles and icons as simple JLabels for JComboBox\r
+ *\r
+       * @author  TJ\r
+ * @version 1.0 10 Nov, 2001\r
+ */\r
+public class ComboBoxURLItemRenderer extends javax.swing.JLabel implements javax.swing.ListCellRenderer {\r
+\r
+       /** Creates new ComboBoxURLItemRenderer */\r
+ public ComboBoxURLItemRenderer() {\r
+               setOpaque(true);\r
+               setVerticalAlignment(CENTER);\r
+               setHorizontalAlignment(LEADING);\r
+ }\r
+\r
+       /**\r
+               * Return a component that has been configured to display the specified\r
+               * value. That component's <code>paint</code> method is then called to\r
+               * "render" the cell.  If it is necessary to compute the dimensions\r
+               * of a list because the list cells do not have a fixed size, this method\r
+               * is called to generate a component on which <code>getPreferredSize</code>\r
+               * can be invoked.\r
+               *\r
+               * @param list The JList we're painting.\r
+               * @param value The value returned by list.getModel().getElementAt(index).\r
+               * @param index The cells index.\r
+               * @param isSelected True if the specified cell was selected.\r
+               * @param cellHasFocus True if the specified cell has the focus.\r
+               * @return A component whose paint() method will render the specified value.\r
+               *\r
+               * @see JList\r
+               * @see ListSelectionModel\r
+               * @see ListModel\r
+               */\r
+       public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {\r
+               if (isSelected) {\r
+   setBackground(list.getSelectionBackground());\r
+   setForeground(list.getSelectionForeground());\r
+  } else {\r
+   setBackground(list.getBackground());\r
+   setForeground(list.getForeground());\r
+  }\r
+\r
+  ComboBoxURLItem cbItem = (ComboBoxURLItem)value;\r
+  setText(cbItem.getTitle());\r
+  setIcon(cbItem.getIcon());\r
+  return this;\r
+       }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/HelpIconTitledURLItem.java b/org/tjworld/components/HelpIconTitledURLItem.java
new file mode 100644 (file)
index 0000000..1e8a224
--- /dev/null
@@ -0,0 +1,66 @@
+/*\r
+       * HelpIconTitledURLItem.java\r
+ *\r
+       * Created on 15 November 2001, 14:25\r
+       * $Header: /VisTA/CID/Components/HelpIconTitledURLItem.java 2     15/11/01 15:39 Tj $\r
+       *\r
+       * $History: HelpIconTitledURLItem.java $\r
+ * \r
+ * *****************  Version 2  *****************\r
+ * User: Tj           Date: 15/11/01   Time: 15:39\r
+ * Updated in $/VisTA/CID/Components\r
+ * Altered static Icon name for online Icon\r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 15/11/01   Time: 15:36\r
+ * Created in $/VisTA/CID/Components\r
+ * Help-specific version of LocalityIconTitledURLItem\r
+ */\r
+\r
+package org.tjworld.components;\r
+\r
+import java.net.URL;\r
+import javax.swing.Icon;\r
+import javax.swing.ImageIcon;\r
+\r
+/** Provides local and online icons that indicate where the URL is located\r
+ * @see IconTitledURLItem\r
+       * @see TitledURLItem\r
+       * @author  TJ\r
+ * @version 1.0 15 Nov, 2001\r
+ */\r
+public class HelpIconTitledURLItem extends LocalityIconTitledURLItem {\r
+ protected static Icon helpLocalIcon = new ImageIcon("org/tjworld/components/media/help.gif");\r
+ protected static Icon helpOnlineIcon = new ImageIcon("org/tjworld/components/media/helpOnline.gif");\r
\r
+       /** Creates new HelpIconTitledURLItem */\r
+ public HelpIconTitledURLItem() {\r
+               this((Icon)null, (Icon)null, (String)null, (URL)null, true);\r
+       }\r
+       \r
+       /** Creates new HelpIconTitledURLItem with object-only Icons.\r
+               * Sets the standard Help class-wide Icons too.\r
+               * @param url the URL\r
+               * @param title the associated Title\r
+               * @param local true to use the 'local' indicator icon, false to use the 'online' version\r
+               * @see #isLocal\r
+               */\r
+       public HelpIconTitledURLItem(String title, URL url, boolean local) {\r
+               this((Icon)null, (Icon)null, title, url, local);\r
+       }\r
+\r
+       /** Creates new HelpIconTitledURLItem with object-only Icons.\r
+               * Sets the standard Help class-wide Icons too.\r
+               * @param localIcon the object-only local Icon\r
+               * @param onlineIcon the object-only online Icon\r
+               * @param url the URL\r
+               * @param title the associated Title\r
+               * @param local true to use the 'local' indicator icon, false to use the 'online' version\r
+               * @see #isLocal\r
+               */\r
+       public HelpIconTitledURLItem(Icon localIcon, Icon onlineIcon, String title, URL url, boolean local) {\r
+               super(localIcon, onlineIcon, title, url, local);        // choose which Icon to use                     \r
+               setClassLocalIcon(helpLocalIcon);\r
+               setClassOnlineIcon(helpOnlineIcon);\r
+       }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/IconTitledURLItem.java b/org/tjworld/components/IconTitledURLItem.java
new file mode 100644 (file)
index 0000000..1c88b47
--- /dev/null
@@ -0,0 +1,59 @@
+/*\r
+       * IconTitledURLItem.java\r
+ *\r
+       * Created on 15 November 2001, 14:11\r
+       * $Header: /VisTA/CID/Components/IconTitledURLItem.java 1     15/11/01 15:35 Tj $\r
+       *\r
+       * $History: IconTitledURLItem.java $\r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 15/11/01   Time: 15:35\r
+ * Created in $/VisTA/CID/Components\r
+ * Iconified TitledURLItem\r
+ */\r
+\r
+package org.tjworld.components;\r
+\r
+import java.net.URL;\r
+import javax.swing.Icon;\r
+import javax.swing.ImageIcon;\r
+import org.tjworld.components.TitledURLItem;\r
+\r
+/** Associates an icon with a Titled URL\r
+       *\r
+       * @see TitledURLItem\r
+       * @author  TJ\r
+ * @version 1.0\r
+ */\r
+public class IconTitledURLItem extends TitledURLItem {\r
+       protected Icon icon = null;\r
+\r
+       /** Creates new IconTitledURLItem */\r
+ public IconTitledURLItem() {\r
+               this((String)null, (URL)null, (Icon)null);\r
+ }\r
+       \r
+       /** Creates new IconTitledURLItem\r
+               * @param url the URL\r
+               * @param title the associated Title\r
+               * @param icon the associated Icon\r
+               */\r
+       public IconTitledURLItem(String title, URL url, Icon icon) {\r
+               super(title, url);\r
+               this.icon = icon;\r
+       }\r
+       \r
+       /** Gets the associated Icon\r
+               * @return the associated Icon\r
+               */\r
+       public Icon getIcon() {\r
+               return icon;\r
+       }\r
+       \r
+       /** Sets the associated Icon\r
+               * @param icon the new Icon, or null\r
+               */\r
+       public void setIcon(Icon icon) {\r
+               this.icon = icon;\r
+       }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/IconTitledURLItemRenderer.java b/org/tjworld/components/IconTitledURLItemRenderer.java
new file mode 100644 (file)
index 0000000..53971bf
--- /dev/null
@@ -0,0 +1,68 @@
+/*\r
+       * IconTitledURLItemRenderer.java\r
+ *\r
+       * Created on 15 November 2001, 15:57\r
+       * $Header: /VisTA/CID/Components/IconTitledURLItemRenderer.java 1     15/11/01 16:01 Tj $\r
+       *\r
+       * $History: IconTitledURLItemRenderer.java $\r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 15/11/01   Time: 16:01\r
+ * Created in $/VisTA/CID/Components\r
+ * Modular version of original ComboBoxURLItemRenderer\r
+ */\r
+\r
+package org.tjworld.components;\r
+\r
+import java.awt.Component;\r
+import javax.swing.JList;\r
+\r
+/**\r
+       * Renders URL document titles and icons as simple JLabels for JList and JComboBox\r
+ *\r
+       * @author  TJ\r
+ * @version 1.0 15 Nov, 2001\r
+ */\r
+public class IconTitledURLItemRenderer extends javax.swing.JLabel implements javax.swing.ListCellRenderer {\r
+\r
+       /** Creates new ComboBoxURLItemRenderer */\r
+ public IconTitledURLItemRenderer() {\r
+               setOpaque(true);\r
+               setVerticalAlignment(CENTER);\r
+               setHorizontalAlignment(LEADING);\r
+ }\r
+\r
+       /**\r
+               * Return a component that has been configured to display the specified\r
+               * value. That component's <code>paint</code> method is then called to\r
+               * "render" the cell.  If it is necessary to compute the dimensions\r
+               * of a list because the list cells do not have a fixed size, this method\r
+               * is called to generate a component on which <code>getPreferredSize</code>\r
+               * can be invoked.\r
+               *\r
+               * @param list The JList we're painting.\r
+               * @param value The value returned by list.getModel().getElementAt(index).\r
+               * @param index The cells index.\r
+               * @param isSelected True if the specified cell was selected.\r
+               * @param cellHasFocus True if the specified cell has the focus.\r
+               * @return A component whose paint() method will render the specified value.\r
+               *\r
+               * @see JList\r
+               * @see ListSelectionModel\r
+               * @see ListModel\r
+               */\r
+       public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {\r
+               if (isSelected) {\r
+   setBackground(list.getSelectionBackground());\r
+   setForeground(list.getSelectionForeground());\r
+  } else {\r
+   setBackground(list.getBackground());\r
+   setForeground(list.getForeground());\r
+  }\r
+\r
+  IconTitledURLItem item = (IconTitledURLItem)value;\r
+  setText(item.getTitle());\r
+  setIcon(item.getIcon());\r
+  return this;\r
+       }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/JIconCheckBox.java b/org/tjworld/components/JIconCheckBox.java
new file mode 100644 (file)
index 0000000..e76cea1
--- /dev/null
@@ -0,0 +1,154 @@
+/*\r
+       * JIconCheckBox.java\r
+ *\r
+       * Created on 02 November 2001, 01:32\r
+       * $Header: /VisTA/CID/Components/JIconCheckBox.java 2     2/11/01 2:12 Tj $\r
+       *\r
+       * $History: JIconCheckBox.java $\r
+ * \r
+ * *****************  Version 2  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 2:12\r
+ * Updated in $/VisTA/CID/Components\r
+ * Tested OK\r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 1:41\r
+ * Created in $/VisTA/CID/Components\r
+ * Created from JIconRadioButton Template\r
+ */\r
+\r
+package org.tjworld.components;\r
+\r
+import javax.swing.Icon;\r
+import javax.swing.UIManager;\r
+import org.tjworld.components.JIconToggleButton;\r
+\r
+/**\r
+       * A JCheckBox style component that can have an icon in the same way that a JCheckBoxMenuItem can.\r
+ *\r
+       * That is: [stateIcon]   [[userIcon] [Text]]\r
+ *\r
+       * setIcon() and setPressedIcon() access the User functionality indicator icons.\r
+       * get/setSelectedStateIcon(), get/setDeselectedStateIcon(), \r
+       * get/setDisabledSelectedStateIcon() and get/setDisabledDeselectedStateIcon()\r
+       * access the button state indicator icon.\r
+       *\r
+       * Positioning logic (in BasicIconCheckBoxUI) places the stateIcon 'first' and closest to the\r
+       * leading edge of the button.\r
+       * In a LeftToRight Locale that means close to the left edge of the button.\r
+       * The default icon is placed with the button Text (if any) and positioned according to the rules\r
+       * governing text placement.\r
+       * \r
+       * A new UI delegate <code>BasicIconCheckBoxUI</code> knows how to paint this component, and\r
+       * is registered with the UIManager when an instance of this component is first created.\r
+       * \r
+       * PropertyChange Event Properties:\r
+       * "selectedStateIcon", "disabledSelectedStateIcon", "deselectedStateIcon","disabledDeselectedStateIcon"\r
+       * \r
+       * @see JIconToggleButton\r
+       * @author  TJ\r
+ * @version 1.0\r
+ */\r
+public class JIconCheckBox extends JIconToggleButton {\r
+\r
+ /** Defines the UI delegate of the Look & Feel responsible for painting this Button\r
+       * \r
+  * @see #getUIClassID\r
+  * @see #readObject\r
+  */\r
+ private static final String uiClassID = "BasicIconCheckBoxUI";\r
+       \r
+ /** Creates a new 'empty' JIconCheckBox */\r
+       public JIconCheckBox() {\r
+               this((String)null, (Icon)null, (Icon)null, (Icon)null, (Icon)null, false);\r
+       }\r
+       \r
+       /** Creates new JIconCheckBox with text label, Enabled and Disabled Selected and Unselected icons\r
+               * @param text Label text\r
+               * @param selectedState The selected-state Icon\r
+               * @param unselectedState The unselected-state Icon\r
+               * @param disabledSelectedState The disabled selected-state Icon\r
+               * @param disabledUnselectedState The disabled unselected-state Icon\r
+               * @param selected true if selected, false if unselected\r
+               */\r
+ public JIconCheckBox(String text, Icon selectedState, Icon unselectedState, Icon disabledSelectedState, Icon disabledUnselectedState, boolean selected) {\r
+               super(text, (Icon)null, (Icon)null, selected); // create & init the IconToggleButton bit\r
+               selectedStateIcon = selectedState;\r
+               unselectedStateIcon = unselectedState;\r
+               disabledSelectedStateIcon = disabledSelectedState;\r
+               disabledUnselectedStateIcon = disabledUnselectedState;\r
+               setBorderPainted(false); // Radio's don't have a border usually\r
+  setHorizontalAlignment(LEADING);\r
+}\r
+       \r
+       /** Create new JIconCheckBox with Selected and Unselected Icons\r
+               * @param selectedState The selected-state Icon\r
+               * @param unselectedState The unselected-state Icon\r
+               * @param selected true if selected, false if unselected\r
+               */\r
+       public JIconCheckBox(Icon selectedState, Icon unselectedState, boolean selected) {\r
+  this(null, selectedState, unselectedState, null, null, selected);\r
+       }\r
+       \r
+       /** creates new JIconCheckBox with text label, selected and unselected Icons\r
+               * @param text Label text\r
+               * @param selectedState The selected-state Icon\r
+               * @param unselectedState The unselected-state Icon\r
+               * @param selected true if selected, false if unselected\r
+               */\r
+       public JIconCheckBox(String text, Icon selectedState, Icon unselectedState, boolean selected) {\r
+               this(text, selectedState, unselectedState, null, null, selected);\r
+       }\r
+\r
+ /**\r
+  * Sets the look and feel object that renders this component.\r
+  *\r
+  * @param ui  the <code>BasicIconCheckBoxUI</code> L&F object\r
+  * @see UIDefaults#getUI\r
+  * @beaninfo\r
+  *        bound: true\r
+  *       hidden: true\r
+  *    attribute: visualUpdate true\r
+  *  description: The UI object that implements the component's LookAndFeel. \r
+  */\r
+ public void setUI(BasicIconCheckBoxUI ui) {\r
+  super.setUI(ui);\r
+ }\r
+    \r
+ /**\r
+  * Resets the UI property with a value from the current look and feel.\r
+  *\r
+  * @see JComponent#updateUI\r
+  */\r
+ public void updateUI() {\r
+               // clever way of dynamically detecting if JIconCheckBox has become part of the\r
+               // javax.swing package rather than the org.tjworld.components package\r
+  String className = this.getClass().getName();\r
+               \r
+               if(className.startsWith("javax.swing.")) //** Use when this component IS a part of a Look & Feel \r
+                setUI((BasicIconCheckBoxUI)UIManager.getUI(this));\r
+               \r
+               else\r
+               setUI(BasicIconCheckBoxUI.createUI(this));\r
+   /* use when this component IS NOT a part of any Look & Feel\r
+                * this makes sure the UIManager doesn't throw an error \r
+                       * when it tries to use the current Look & Feel classloader\r
+                       * to load the UI delegate, because the delegate (BasicIconCheckBoxUI)\r
+                       * isn't included in the Look & Feel package.\r
+                       */\r
+ }\r
+\r
+ /**\r
+  * Returns a string that specifies the name of the l&f class\r
+  * that renders this component.\r
+  *\r
+  * @return String "BasicIconCheckBoxUI"\r
+  * @see JComponent#getUIClassID\r
+  * @see UIDefaults#getUI\r
+  * @beaninfo\r
+  *  description: A string that specifies the name of the L&F class\r
+  */\r
+ public String getUIClassID() {\r
+  return uiClassID;\r
+ }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/JIconCheckBoxBeanInfo.java b/org/tjworld/components/JIconCheckBoxBeanInfo.java
new file mode 100644 (file)
index 0000000..01ddedc
--- /dev/null
@@ -0,0 +1,186 @@
+package org.tjworld.components;
+
+import java.beans.*;
+
+public class JIconCheckBoxBeanInfo extends SimpleBeanInfo {
+
+
+
+  // Bean descriptor //GEN-FIRST:BeanDescriptor
+  private static BeanDescriptor beanDescriptor = new BeanDescriptor  ( JIconCheckBox.class , null );
+
+  static {
+      beanDescriptor.setDisplayName ( "JIconCheckBox" );
+      beanDescriptor.setShortDescription ( "A JCheckBox that looks like a JCheckBoxMenuItem" );//GEN-HEADEREND:BeanDescriptor
+
+    // Here you can add code for customizing the BeanDescriptor.
+
+}//GEN-LAST:BeanDescriptor
+
+  // Properties information will be obtained from introspection.//GEN-FIRST:Properties
+  private static PropertyDescriptor[] properties = null;//GEN-HEADEREND:Properties
+
+    // Here you can add code for customizing the properties array.
+
+  //GEN-LAST:Properties
+
+  // Event set information will be obtained from introspection.//GEN-FIRST:Events
+  private static EventSetDescriptor[] eventSets = null;//GEN-HEADEREND:Events
+
+    // Here you can add code for customizing the event sets array.
+
+  //GEN-LAST:Events
+
+  // Method information will be obtained from introspection.//GEN-FIRST:Methods
+  private static MethodDescriptor[] methods = null;//GEN-HEADEREND:Methods
+
+    // Here you can add code for customizing the methods array.
+    
+  //GEN-LAST:Methods
+
+    private static java.awt.Image iconColor16 = null; //GEN-BEGIN:IconsDef
+    private static java.awt.Image iconColor32 = null;
+    private static java.awt.Image iconMono16 = null;
+    private static java.awt.Image iconMono32 = null; //GEN-END:IconsDef
+  private static String iconNameC16 = "/org/tjworld/components/media/JIconCheckBoxColor16.gif";//GEN-BEGIN:Icons
+  private static String iconNameC32 = null;
+  private static String iconNameM16 = null;
+  private static String iconNameM32 = null;//GEN-END:Icons
+
+  private static final int defaultPropertyIndex = -1;//GEN-BEGIN:Idx
+  private static final int defaultEventIndex = -1;//GEN-END:Idx
+
+
+    /**
+     * Gets the bean's <code>BeanDescriptor</code>s.
+     * 
+     * @return BeanDescriptor describing the editable
+     * properties of this bean.  May return null if the
+     * information should be obtained by automatic analysis.
+     */
+    public BeanDescriptor getBeanDescriptor() {
+       return beanDescriptor;
+    }
+
+    /**
+     * Gets the bean's <code>PropertyDescriptor</code>s.
+     * 
+     * @return An array of PropertyDescriptors describing the editable
+     * properties supported by this bean.  May return null if the
+     * information should be obtained by automatic analysis.
+     * <p>
+     * If a property is indexed, then its entry in the result array will
+     * belong to the IndexedPropertyDescriptor subclass of PropertyDescriptor.
+     * A client of getPropertyDescriptors can use "instanceof" to check
+     * if a given PropertyDescriptor is an IndexedPropertyDescriptor.
+     */
+    public PropertyDescriptor[] getPropertyDescriptors() {
+        return properties;
+    }
+
+    /**
+     * Gets the bean's <code>EventSetDescriptor</code>s.
+     * 
+     * @return  An array of EventSetDescriptors describing the kinds of 
+     * events fired by this bean.  May return null if the information
+     * should be obtained by automatic analysis.
+     */
+    public EventSetDescriptor[] getEventSetDescriptors() {
+        return eventSets;
+    }
+
+    /**
+     * Gets the bean's <code>MethodDescriptor</code>s.
+     * 
+     * @return  An array of MethodDescriptors describing the methods 
+     * implemented by this bean.  May return null if the information
+     * should be obtained by automatic analysis.
+     */
+    public MethodDescriptor[] getMethodDescriptors() {
+        return methods;
+    }
+
+    /**
+     * A bean may have a "default" property that is the property that will
+     * mostly commonly be initially chosen for update by human's who are 
+     * customizing the bean.
+     * @return  Index of default property in the PropertyDescriptor array
+     *                 returned by getPropertyDescriptors.
+     * <P>     Returns -1 if there is no default property.
+     */
+    public int getDefaultPropertyIndex() {
+        return defaultPropertyIndex;
+    }
+
+    /**
+     * A bean may have a "default" event that is the event that will
+     * mostly commonly be used by human's when using the bean. 
+     * @return Index of default event in the EventSetDescriptor array
+     *         returned by getEventSetDescriptors.
+     * <P>     Returns -1 if there is no default event.
+     */
+    public int getDefaultEventIndex() {
+        return defaultEventIndex;
+    }
+
+    /**
+     * This method returns an image object that can be used to
+     * represent the bean in toolboxes, toolbars, etc.   Icon images
+     * will typically be GIFs, but may in future include other formats.
+     * <p>
+     * Beans aren't required to provide icons and may return null from
+     * this method.
+     * <p>
+     * There are four possible flavors of icons (16x16 color,
+     * 32x32 color, 16x16 mono, 32x32 mono).  If a bean choses to only
+     * support a single icon we recommend supporting 16x16 color.
+     * <p>
+     * We recommend that icons have a "transparent" background
+     * so they can be rendered onto an existing background.
+     *
+     * @param  iconKind  The kind of icon requested.  This should be
+     *    one of the constant values ICON_COLOR_16x16, ICON_COLOR_32x32, 
+     *    ICON_MONO_16x16, or ICON_MONO_32x32.
+     * @return  An image object representing the requested icon.  May
+     *    return null if no suitable icon is available.
+     */
+    public java.awt.Image getIcon(int iconKind) {
+        switch ( iconKind ) {
+        case ICON_COLOR_16x16:
+            if ( iconNameC16 == null )
+                return null;
+            else {
+                if( iconColor16 == null )
+                    iconColor16 = loadImage( iconNameC16 );
+                return iconColor16;
+            }
+        case ICON_COLOR_32x32:
+            if ( iconNameC32 == null )
+                return null;
+            else {
+                if( iconColor32 == null )
+                    iconColor32 = loadImage( iconNameC32 );
+                return iconColor32;
+            }
+        case ICON_MONO_16x16:
+            if ( iconNameM16 == null )
+                return null;
+            else {
+                if( iconMono16 == null )
+                    iconMono16 = loadImage( iconNameM16 );
+                return iconMono16;
+            }
+        case ICON_MONO_32x32:
+            if ( iconNameM32 == null )
+                return null;
+            else {
+                if( iconMono32 == null )
+                    iconMono32 = loadImage( iconNameM32 );
+                return iconMono32;
+            }
+       default: return null;
+        }
+    }
+
+}
+
diff --git a/org/tjworld/components/JIconRadioButton.java b/org/tjworld/components/JIconRadioButton.java
new file mode 100644 (file)
index 0000000..69283d2
--- /dev/null
@@ -0,0 +1,179 @@
+/*\r
+       * JIconRadioButton.java\r
+ *\r
+       * Created on 31 October 2001, 17:52\r
+       * $Header: /VisTA/CID/Components/JIconRadioButton.java 6     7/11/01 16:47 Tj $\r
+       *\r
+       * $History: JIconRadioButton.java $\r
+ * \r
+ * *****************  Version 6  *****************\r
+ * User: Tj           Date: 7/11/01    Time: 16:47\r
+ * Updated in $/VisTA/CID/Components\r
+ * Adjusted horizontalAlignment to LEADING as per JRadioButton\r
+ * \r
+ * *****************  Version 5  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 1:29\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added algorithm to updateUI() to dynamically detect which UIManager\r
+ * technique to register with - allows component to move to javax.swing\r
+ * package without recompiliation\r
+ * \r
+ * *****************  Version 4  *****************\r
+ * User: Tj           Date: 1/11/01    Time: 22:17\r
+ * Updated in $/VisTA/CID/Components\r
+ * Corrected signatures in Constructors\r
+ * \r
+ * *****************  Version 3  *****************\r
+ * User: Tj           Date: 1/11/01    Time: 0:49\r
+ * Updated in $/VisTA/CID/Components\r
+ * Requires new super class between it and JIconToggleButton\r
+ * \r
+ * *****************  Version 2  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 18:00\r
+ * Updated in $/VisTA/CID/Components\r
+ * Adjusted package\r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 17:56\r
+ * Created in $/VisTA/CID/Components\r
+ * New Component\r
+ */\r
+\r
+package org.tjworld.components;\r
+\r
+import javax.swing.Icon;\r
+import javax.swing.UIManager;\r
+import org.tjworld.components.JIconToggleButton;\r
+\r
+/**\r
+       * A JRadioButton style component that can have an icon in the same way that a JRadioButtonMenuItem can.\r
+ *\r
+       * That is: [stateIcon]   [[userIcon] [Text]]\r
+ *\r
+       * setIcon() and setPressedIcon() access the User functionality indicator icons.\r
+       * get/setSelectedStateIcon(), get/setDeselectedStateIcon(), \r
+       * get/setDisabledSelectedStateIcon() and get/setDisabledDeselectedStateIcon()\r
+       * access the button state indicator icon.\r
+       *\r
+       * By default the state icons are null in a JIconToggleButton, but are used in inheriting\r
+       * classes such as JIconRadioButton and JIconCheckBox.\r
+       *\r
+       * Positioning logic (in BasicIconRadioButtonUI) places the stateIcon 'first' and closest to the\r
+       * leading edge of the button.\r
+       * In a LeftToRight Locale that means close to the left edge of the button.\r
+       * The default icon is placed with the button Text (if any) and positioned according to the rules\r
+       * governing text placement.\r
+       * \r
+       * A new UI delegate <code>BasicIconRadioButtonUI</code> knows how to paint this component, and\r
+       * is registered with the UIManager when an instance of this component is first created.\r
+       * \r
+       * PropertyChange Event Properties:\r
+       * "selectedStateIcon", "disabledSelectedStateIcon", "deselectedStateIcon","disabledDeselectedStateIcon"\r
+       * \r
+       * @see JIconToggleButton\r
+       * @author  TJ\r
+ * @version 1.0\r
+ */\r
+public class JIconRadioButton extends JIconToggleButton {\r
+\r
+ /** Defines the UI delegate of the Look & Feel responsible for painting this Button\r
+       * \r
+  * @see #getUIClassID\r
+  * @see #readObject\r
+  */\r
+ private static final String uiClassID = "BasicIconRadioButtonUI";\r
+       \r
+ /** Creates a new 'empty' JIconRadioButton */\r
+       public JIconRadioButton() {\r
+               this( null, (Icon)null, (Icon)null, (Icon)null, (Icon)null, false);\r
+       }\r
+       \r
+       /** Creates new JIconRadioButton with text label, Enabled and Disabled Selected and Unselected icons\r
+               * @param text Label text\r
+               * @param selectedState The selected-state Icon\r
+               * @param unselectedState The unselected-state Icon\r
+               * @param disabledSelectedState The disabled selected-state Icon\r
+               * @param disabledUnselectedState The disabled unselected-state Icon\r
+               * @param selected true if selected, false if unselected\r
+               */\r
+ public JIconRadioButton(String text, Icon selectedState, Icon unselectedState, Icon disabledSelectedState, Icon disabledUnselectedState, boolean selected) {\r
+               super(text, (Icon)null, (Icon)null, selected); // create & init the IconToggleButton bit\r
+               selectedStateIcon = selectedState;\r
+               unselectedStateIcon = unselectedState;\r
+               disabledSelectedStateIcon = disabledSelectedState;\r
+               disabledUnselectedStateIcon = disabledUnselectedState;\r
+               setBorderPainted(false); // Radio's don't have a border usually\r
+  setHorizontalAlignment(LEADING);\r
+ }\r
+       \r
+       /** Create new JIconRadioButton with Selected and Unselected Icons\r
+               * @param selectedState The selected-state Icon\r
+               * @param unselectedState The unselected-state Icon\r
+               * @param selected true if selected, false if unselected\r
+               */\r
+       public JIconRadioButton(Icon selectedState, Icon unselectedState, boolean selected) {\r
+  this(null, selectedState, unselectedState, null, null, selected);\r
+       }\r
+       \r
+       /** creates new JIconRadioButton with text label, selected and unselected Icons\r
+               * @param text Label text\r
+               * @param selectedState The selected-state Icon\r
+               * @param unselectedState The unselected-state Icon\r
+               * @param selected true if selected, false if unselected\r
+               */\r
+       public JIconRadioButton(String text, Icon selectedState, Icon unselectedState, boolean selected) {\r
+               this(text, selectedState, unselectedState, null, null, selected);\r
+       }\r
+\r
+ /**\r
+  * Sets the look and feel object that renders this component.\r
+  *\r
+  * @param ui  the <code>BasicIconRadioButtonUI</code> L&F object\r
+  * @see UIDefaults#getUI\r
+  * @beaninfo\r
+  *        bound: true\r
+  *       hidden: true\r
+  *    attribute: visualUpdate true\r
+  *  description: The UI object that implements the component's LookAndFeel. \r
+  */\r
+ public void setUI(BasicIconRadioButtonUI ui) {\r
+  super.setUI(ui);\r
+ }\r
+    \r
+ /**\r
+  * Resets the UI property with a value from the current look and feel.\r
+  *\r
+  * @see JComponent#updateUI\r
+  */\r
+ public void updateUI() {\r
+               // clever way of dynamically detecting if JIconRadioButton has become part of the\r
+               // javax.swing package rather than the org.tjworld.components package\r
+  String className = this.getClass().getName();\r
+               \r
+               if(className.startsWith("javax.swing.")) //** Use  when this component IS a part of a Look & Feel \r
+                setUI((BasicIconRadioButtonUI)UIManager.getUI(this));\r
+               \r
+               else\r
+               setUI(BasicIconRadioButtonUI.createUI(this));\r
+   /* use when this component IS NOT a part of any Look & Feel\r
+                * this makes sure the UIManager doesn't throw an error \r
+                       * when it tries to use the current Look & Feel classloader\r
+                       * to load the UI delegate, because the delegate (BasicIconRadioButtonUI)\r
+                       * isn't included in the Look & Feel package.\r
+                       */\r
+ }\r
+\r
+ /**\r
+  * Returns a string that specifies the name of the l&f class\r
+  * that renders this component.\r
+  *\r
+  * @return String "BasicIconRadioButtonUI"\r
+  * @see JComponent#getUIClassID\r
+  * @see UIDefaults#getUI\r
+  * @beaninfo\r
+  *  description: A string that specifies the name of the L&F class\r
+  */\r
+ public String getUIClassID() {\r
+  return uiClassID;\r
+ }\r
+}\r
diff --git a/org/tjworld/components/JIconRadioButtonBeanInfo.java b/org/tjworld/components/JIconRadioButtonBeanInfo.java
new file mode 100644 (file)
index 0000000..456cdc3
--- /dev/null
@@ -0,0 +1,185 @@
+package org.tjworld.components;
+
+import java.beans.*;
+
+public class JIconRadioButtonBeanInfo extends SimpleBeanInfo {
+
+
+  // Bean descriptor //GEN-FIRST:BeanDescriptor
+  private static BeanDescriptor beanDescriptor = new BeanDescriptor  ( JIconRadioButton.class , null );
+
+  static {
+      beanDescriptor.setDisplayName ( "JIconRadioButton" );
+      beanDescriptor.setShortDescription ( "Radio Button with a User Functionalty Icon" );//GEN-HEADEREND:BeanDescriptor
+
+    // Here you can add code for customizing the BeanDescriptor.
+
+}//GEN-LAST:BeanDescriptor
+
+  // Properties information will be obtained from introspection.//GEN-FIRST:Properties
+  private static PropertyDescriptor[] properties = null;//GEN-HEADEREND:Properties
+
+    // Here you can add code for customizing the properties array.
+
+  //GEN-LAST:Properties
+
+  // Event set information will be obtained from introspection.//GEN-FIRST:Events
+  private static EventSetDescriptor[] eventSets = null;//GEN-HEADEREND:Events
+
+    // Here you can add code for customizing the event sets array.
+
+  //GEN-LAST:Events
+
+  // Method information will be obtained from introspection.//GEN-FIRST:Methods
+  private static MethodDescriptor[] methods = null;//GEN-HEADEREND:Methods
+
+    // Here you can add code for customizing the methods array.
+    
+  //GEN-LAST:Methods
+
+    private static java.awt.Image iconColor16 = null; //GEN-BEGIN:IconsDef
+    private static java.awt.Image iconColor32 = null;
+    private static java.awt.Image iconMono16 = null;
+    private static java.awt.Image iconMono32 = null; //GEN-END:IconsDef
+  private static String iconNameC16 = "/org/tjworld/components/media/JIconRadioButtonColor16.gif";//GEN-BEGIN:Icons
+  private static String iconNameC32 = null;
+  private static String iconNameM16 = null;
+  private static String iconNameM32 = null;//GEN-END:Icons
+
+  private static final int defaultPropertyIndex = -1;//GEN-BEGIN:Idx
+  private static final int defaultEventIndex = -1;//GEN-END:Idx
+
+
+    /**
+     * Gets the bean's <code>BeanDescriptor</code>s.
+     * 
+     * @return BeanDescriptor describing the editable
+     * properties of this bean.  May return null if the
+     * information should be obtained by automatic analysis.
+     */
+    public BeanDescriptor getBeanDescriptor() {
+       return beanDescriptor;
+    }
+
+    /**
+     * Gets the bean's <code>PropertyDescriptor</code>s.
+     * 
+     * @return An array of PropertyDescriptors describing the editable
+     * properties supported by this bean.  May return null if the
+     * information should be obtained by automatic analysis.
+     * <p>
+     * If a property is indexed, then its entry in the result array will
+     * belong to the IndexedPropertyDescriptor subclass of PropertyDescriptor.
+     * A client of getPropertyDescriptors can use "instanceof" to check
+     * if a given PropertyDescriptor is an IndexedPropertyDescriptor.
+     */
+    public PropertyDescriptor[] getPropertyDescriptors() {
+        return properties;
+    }
+
+    /**
+     * Gets the bean's <code>EventSetDescriptor</code>s.
+     * 
+     * @return  An array of EventSetDescriptors describing the kinds of 
+     * events fired by this bean.  May return null if the information
+     * should be obtained by automatic analysis.
+     */
+    public EventSetDescriptor[] getEventSetDescriptors() {
+        return eventSets;
+    }
+
+    /**
+     * Gets the bean's <code>MethodDescriptor</code>s.
+     * 
+     * @return  An array of MethodDescriptors describing the methods 
+     * implemented by this bean.  May return null if the information
+     * should be obtained by automatic analysis.
+     */
+    public MethodDescriptor[] getMethodDescriptors() {
+        return methods;
+    }
+
+    /**
+     * A bean may have a "default" property that is the property that will
+     * mostly commonly be initially chosen for update by human's who are 
+     * customizing the bean.
+     * @return  Index of default property in the PropertyDescriptor array
+     *                 returned by getPropertyDescriptors.
+     * <P>     Returns -1 if there is no default property.
+     */
+    public int getDefaultPropertyIndex() {
+        return defaultPropertyIndex;
+    }
+
+    /**
+     * A bean may have a "default" event that is the event that will
+     * mostly commonly be used by human's when using the bean. 
+     * @return Index of default event in the EventSetDescriptor array
+     *         returned by getEventSetDescriptors.
+     * <P>     Returns -1 if there is no default event.
+     */
+    public int getDefaultEventIndex() {
+        return defaultEventIndex;
+    }
+
+    /**
+     * This method returns an image object that can be used to
+     * represent the bean in toolboxes, toolbars, etc.   Icon images
+     * will typically be GIFs, but may in future include other formats.
+     * <p>
+     * Beans aren't required to provide icons and may return null from
+     * this method.
+     * <p>
+     * There are four possible flavors of icons (16x16 color,
+     * 32x32 color, 16x16 mono, 32x32 mono).  If a bean choses to only
+     * support a single icon we recommend supporting 16x16 color.
+     * <p>
+     * We recommend that icons have a "transparent" background
+     * so they can be rendered onto an existing background.
+     *
+     * @param  iconKind  The kind of icon requested.  This should be
+     *    one of the constant values ICON_COLOR_16x16, ICON_COLOR_32x32, 
+     *    ICON_MONO_16x16, or ICON_MONO_32x32.
+     * @return  An image object representing the requested icon.  May
+     *    return null if no suitable icon is available.
+     */
+    public java.awt.Image getIcon(int iconKind) {
+        switch ( iconKind ) {
+        case ICON_COLOR_16x16:
+            if ( iconNameC16 == null )
+                return null;
+            else {
+                if( iconColor16 == null )
+                    iconColor16 = loadImage( iconNameC16 );
+                return iconColor16;
+            }
+        case ICON_COLOR_32x32:
+            if ( iconNameC32 == null )
+                return null;
+            else {
+                if( iconColor32 == null )
+                    iconColor32 = loadImage( iconNameC32 );
+                return iconColor32;
+            }
+        case ICON_MONO_16x16:
+            if ( iconNameM16 == null )
+                return null;
+            else {
+                if( iconMono16 == null )
+                    iconMono16 = loadImage( iconNameM16 );
+                return iconMono16;
+            }
+        case ICON_MONO_32x32:
+            if ( iconNameM32 == null )
+                return null;
+            else {
+                if( iconMono32 == null )
+                    iconMono32 = loadImage( iconNameM32 );
+                return iconMono32;
+            }
+       default: return null;
+        }
+    }
+
+}
+
diff --git a/org/tjworld/components/JIconToggleButton.java b/org/tjworld/components/JIconToggleButton.java
new file mode 100644 (file)
index 0000000..da47fe5
--- /dev/null
@@ -0,0 +1,421 @@
+/*\r
+       * JIconToggleButton.java\r
+ *\r
+       * Created on 28 October 2001, 15:59\r
+       * $Header: /VisTA/CID/Components/JIconToggleButton.java 7     7/11/01 16:53 Tj $\r
+       * \r
+       * $History: JIconToggleButton.java $\r
+ * \r
+ * *****************  Version 7  *****************\r
+ * User: Tj           Date: 7/11/01    Time: 16:53\r
+ * Updated in $/VisTA/CID/Components\r
+ * Fixed bug in updateUI() whereby setUI() was calling\r
+ * BasicIconRadioButtonUI.createUI() rather than\r
+ * BasicIconToggleButtonUI.createUI() !! Note to self: beware of copying\r
+ * and pasting code from similar classes!\r
+ * \r
+ * *****************  Version 6  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 1:31\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added algorithm to updateUI() to dynamically detect if this component\r
+ * has become a part of the javax.swing package\r
+ * \r
+ * *****************  Version 5  *****************\r
+ * User: Tj           Date: 1/11/01    Time: 22:53\r
+ * Updated in $/VisTA/CID/Components\r
+ * Ready for Bean Testing\r
+ * \r
+ * *****************  Version 4  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 5:09\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added VSS header\r
+*/\r
+\r
+package org.tjworld.components;\r
+\r
+import java.awt.Graphics;\r
+import javax.swing.AbstractButton;\r
+import javax.swing.JToggleButton;\r
+import javax.swing.Icon;\r
+import javax.swing.UIManager;\r
+import javax.accessibility.*;\r
+import javax.swing.plaf.basic.BasicToggleButtonUI;\r
+import org.tjworld.components.BasicIconToggleButtonUI;\r
+\r
+/**\r
+       * A JToggleButton that can have an icon in the same way that a JMenuItem can.\r
+ *\r
+       * That is: [stateIcon]   [[userIcon] [Text]]\r
+ *\r
+       * setIcon() and setPressedIcon() access the User functionality indicator icons.\r
+       * get/setSelectedStateIcon(), get/setDeselectedStateIcon(), \r
+       * get/setDisabledSelectedStateIcon() and get/setDisabledDeselectedStateIcon()\r
+       * access the button state indicator icon.\r
+       *\r
+       * By default the state icons are null in a JIconToggleButton, but are used in inheriting\r
+       * classes such as JIconRadioButton and JIconCheckBox.\r
+       *\r
+       * Positioning logic (in BasicIconToggleButtonUI) places the stateIcon 'first' and closest to the\r
+       * leading edge of the button.\r
+       * In a LeftToRight Locale that means close to the left edge of the button.\r
+       * The default icon is placed with the button Text (if any) and positioned according to the rules\r
+       * governing text placement.\r
+       * \r
+       * getMinimumSize() will return a dimension that will show the stateIcon and userIcon but no text.\r
+       *\r
+       * A new UI delegate <code>BasicIconToggleButtonUI</code> knows how to paint this component, and\r
+       * is registered with the UIManager when an instance of this component is first created.\r
+       * \r
+       * Note: AbstractButton.setIcon() and AbstractButton.setPressedIcon() have been overridden\r
+       * to remove the bug that fires the wrong accessibleContext.PropertyChange notification in \r
+       * Java versions upto and including 1.4 beta 2 (the bug means setIcon() passes pressedIcon and \r
+       * setPressedIcon() passes defaultIcon as the 'new' Object reference!)\r
+       *\r
+       * PropertyChange Event Properties:\r
+       * "selectedStateIcon", "disabledSelectedStateIcon", "deselectedStateIcon","disabledDeselectedStateIcon"\r
+       * \r
+       * @author  TJ\r
+       * @version 1.4.4 1 Nov, 2001 Removed all User icons - will use the inherited versions and only provide logic for State Icons in this class\r
+       * @version 1.4.4 31 Oct, 2001 Renamed 'check' icons to 'state' icons\r
+       * version 1.4.3 31 Oct, 2001 Increased variations in check Icons: selected/deselected/enabled/disabled\r
+       * version 1.4.2 Altered icon handling: userIcon now defaultIcon, checkIcon is new\r
+ * version 1.4.1\r
+       * @see JToggleButton\r
+       * @see JRadioButton\r
+       * @see JCheckBox\r
+       * @see JRadioButtonMenuItem\r
+       * @see JCheckBoxMenuItem\r
+       * @see BasicIconToggleButtonUI\r
+       * @see BasicIconButtonListener\r
+       * @since 1.4\r
+ */\r
+public class JIconToggleButton extends JToggleButton {\r
+ /**\r
+  * @see #getUIClassID\r
+  * @see #readObject\r
+  */\r
+ private static final String uiClassID = "BasicIconToggleButtonUI";\r
+\r
+ /** The state indicator displayed when the button is enabled + selected */\r
+       protected Icon selectedStateIcon = null;\r
+       \r
+       /** The state indicator displayed when the button is disabled + selected */\r
+       protected Icon disabledSelectedStateIcon = null;\r
+       \r
+       /** The state indicator displayed when the button is enabled + unselected */\r
+       protected Icon unselectedStateIcon = null;\r
+       \r
+       /** The state indicator displayed when the button is disabled + unselected */\r
+       protected Icon disabledUnselectedStateIcon = null;\r
+       \r
+ /** Identifies a change to the icon that represents the enabled selected button */\r
+ public static final String SELECTED_STATEICON_CHANGED_PROPERTY = "selectedStateIcon";\r
+\r
+ /** Identifies a change to the icon that represents the disabled selected button */\r
+ public static final String DISABLED_SELECTED_STATEICON_CHANGED_PROPERTY = "disabledSelectedStateIcon";\r
+       \r
+       /** Identifies a change to the icon that represents the enabled unselected button */\r
+       public static final String UNSELECTED_STATEICON_CHANGED_PROPERTY = "unselectedStateIcon";\r
+       \r
+       /** Identifies a change to the icon that represents the disabled unselected button */\r
+       public static final String DISABLED_UNSELECTED_STATEICON_CHANGED_PROPERTY = "disabledUnselectedStateIcon";\r
+\r
+       /** Creates new 'empty' JIconToggleButton */\r
+ public JIconToggleButton() {\r
+               this((String)null, (Icon)null, (Icon)null, false);\r
+ }\r
+\r
+       /** Creates a new JIconToggleButton with enabled and disabled User icons */\r
+       public JIconToggleButton(Icon user, Icon disabledUser) {\r
+               this((String)null, user, disabledUser, false);\r
+       }\r
+       \r
+       /** Creates a new JIconToggleButton with Label, enabled and disabled User icons */\r
+ public JIconToggleButton(String text, Icon user, Icon disabledUser, boolean selected) {\r
+               super(text, user, selected);\r
+               super.setDisabledIcon(disabledUser);\r
+       }\r
+       \r
+ /**\r
+  * Sets the look and feel object that renders this component.\r
+  *\r
+  * @param ui  the <code>BasicIconToggleButtonUI</code> L&F object\r
+  * @see UIDefaults#getUI\r
+  * @beaninfo\r
+  *        bound: true\r
+  *       hidden: true\r
+  *    attribute: visualUpdate true\r
+  *  description: The UI object that implements the Component's LookAndFeel. \r
+  */\r
+ public void setUI(BasicIconToggleButtonUI ui) {\r
+  // needed for compilations before BasicToggleButtonUI has been compiled\r
+ // public void setUI(BasicToggleButtonUI ui) {\r
+  super.setUI(ui);\r
+ }\r
+    \r
+ /**\r
+  * Resets the UI property with a value from the current look and feel.\r
+  *\r
+  * @see JComponent#updateUI\r
+  */\r
+ public void updateUI() {\r
+               // clever way of dynamically detecting if JIconToggleButton has become part of the\r
+               // javax.swing package rather than the org.tjworld.components package\r
+  String className = this.getClass().getName();\r
+               \r
+               if(className.startsWith("javax.swing.")) //** Use when this component IS a part of a Look & Feel \r
+                setUI((BasicIconToggleButtonUI)UIManager.getUI(this));\r
+               \r
+               else\r
+               setUI(BasicIconToggleButtonUI.createUI(this));\r
+   /* use when this component IS NOT a part of any Look & Feel\r
+                * this makes sure the UIManager doesn't throw an error \r
+                       * when it tries to use the current Look & Feel classloader\r
+                       * to load the UI delegate, because the delegate (BasicIconRadioButtonUI)\r
+                       * isn't included in the Look & Feel package.\r
+                       */\r
+ }\r
+\r
+ /**\r
+  * Returns a string that specifies the name of the l&f class\r
+  * that renders this component.\r
+  *\r
+  * @return String "ToggleButtonUI"\r
+  * @see JComponent#getUIClassID\r
+  * @see UIDefaults#getUI\r
+  * @beaninfo\r
+  *  description: A string that specifies the name of the L&F class\r
+  */\r
+ public String getUIClassID() {\r
+  return uiClassID;\r
+ }\r
+\r
+       /** Convenience method to get the currently active state-indicator icon\r
+               *\r
+               * @returns The icon valid for the button's current state\r
+               */\r
+       public Icon getStateIcon() {\r
+               Icon state = null;\r
+               if(isSelected()) { // button is selected\r
+                       state = selectedStateIcon; // standard condition\r
+                       if(!isEnabled() && disabledSelectedStateIcon != null) // might be able to indicate a disabled button too\r
+                               state = disabledSelectedStateIcon;\r
+               }\r
+               else { // unselected\r
+                       state = unselectedStateIcon;\r
+                       if(!isEnabled() && disabledUnselectedStateIcon != null) // might be able to indicate a disabled button too\r
+                        state = disabledUnselectedStateIcon;\r
+               }\r
+               return state;\r
+       }\r
+       \r
+       /** Sets the enabled selected state icon\r
+               * Displayed when the button is enabled + selected\r
+               * @param stateicon The new icon, or null to remove the existing Icon\r
+  * @beaninfo\r
+  *  bound: true\r
+  *  attribute: visualUpdate true\r
+  *  description: The selected state icon for the button.\r
+               */\r
+ public void setSelectedStateIcon(Icon stateicon) {\r
+               Icon oldSelStateIcon = selectedStateIcon; // copy the old Icon\r
+               selectedStateIcon = stateicon; // replace with the new\r
+               // inform Listeners; revalidate & repaint (when button is enabled)\r
+               changeIcon(SELECTED_STATEICON_CHANGED_PROPERTY, oldSelStateIcon, selectedStateIcon, true); \r
+       }\r
+       \r
+       /** Gets the enabled selected state icon \r
+               * @returns The state icon, or null if no icon is set\r
+               */\r
+       public Icon getSelectedStateIcon() {\r
+               return selectedStateIcon;\r
+       }\r
+       \r
+       /** Sets the disabled selected state icon\r
+               * Displayed when the button is disabled + selected\r
+               * @param stateicon The new icon, or null to remove the existing icon\r
+  * @beaninfo\r
+  *  bound: true\r
+  *  attribute: visualUpdate true\r
+  *  description: The disabled selected state icon for the button.\r
+               */\r
+       public void setDisabledSelectedStateIcon(Icon stateicon) {\r
+               Icon oldDisSelStateIcon = disabledSelectedStateIcon; // copy the old Icon\r
+               disabledSelectedStateIcon = stateicon; // replace with the new\r
+               // inform Listeners; revalidate & repaint (when button is disabled)\r
+               changeIcon(DISABLED_SELECTED_STATEICON_CHANGED_PROPERTY, oldDisSelStateIcon, disabledSelectedStateIcon, false);\r
+       }\r
+       \r
+       /** Gets the disabled selected state icon\r
+               * @returns The disabled icon, or null if no icon is set\r
+               */\r
+       public Icon getDisabledSelectedStateIcon() {\r
+               return disabledSelectedStateIcon;\r
+       }\r
+                               \r
+       /** Sets the enabled unselected state icon\r
+               * Displayed when the button is enabled + unselected\r
+               * @param stateicon The new icon, or null to remove the existing icon\r
+  * @beaninfo\r
+  *  bound: true\r
+  *  attribute: visualUpdate true\r
+  *  description: The unselected state icon for the button.\r
+               */\r
+ public void setUnselectedStateIcon(Icon stateicon) {\r
+               Icon oldUnselStateIcon = unselectedStateIcon; // copy the old Icon\r
+               unselectedStateIcon = stateicon; // replace with the new\r
+               // inform Listeners; revalidate & repaint (when button is enabled)\r
+               changeIcon(UNSELECTED_STATEICON_CHANGED_PROPERTY, oldUnselStateIcon, unselectedStateIcon, true); \r
+       }\r
+       \r
+       /** Gets the enabled unselected state icon \r
+               * @returns The state icon, or null if no icon is set\r
+               */\r
+       public Icon getUnselectedStateIcon() {\r
+               return unselectedStateIcon;\r
+       }\r
+       \r
+       /** Sets the disabled unselected state icon\r
+               * Displayed when the button is disabled + unselected\r
+               * @param stateicon The new icon, or null to remove the existing icon\r
+  * @beaninfo\r
+  *  bound: true\r
+  *  attribute: visualUpdate true\r
+  *  description: The disabled unselected state icon for the button.\r
+               */\r
+       public void setDisabledUnselectedStateIcon(Icon stateicon) {\r
+               Icon oldDisUnselStateIcon = disabledUnselectedStateIcon; // copy the old Icon\r
+               disabledUnselectedStateIcon = stateicon; // replace with the new\r
+               // inform Listeners; revalidate & repaint (when button is disabled)\r
+               changeIcon(DISABLED_UNSELECTED_STATEICON_CHANGED_PROPERTY, oldDisUnselStateIcon, disabledUnselectedStateIcon, false);\r
+       }\r
+       \r
+       /** Gets the disabled unselected state icon\r
+               * @returns The disabled icon, or null if no icon is set\r
+               */\r
+       public Icon getDisabledUnselectedStateIcon() {\r
+               return disabledUnselectedStateIcon;\r
+       }\r
+\r
+ /** Overrides AbstractButton.setIcon()\r
+               * Overcomes bug whereby the Accessible context causes the wrong newIcon to be passed\r
+               * with the PropertyChange Event\r
+               *\r
+  * @param defaultIcon the icon used as the default image\r
+               * @see AbstractButton#setIcon\r
+  * @beaninfo \r
+  *  bound: true\r
+  *  attribute: visualUpdate true\r
+  *  description: The button's default icon\r
+  */\r
+ public void setIcon(Icon newIcon) {\r
+  Icon oldIcon = getIcon(); // get the old one - can't access the private member Icon directly\r
+  \r
+               /* Bit of a bodge, can't simply replicate the code in AbstractButton.setIcon()\r
+                       * because members are private.\r
+                       * Because of this, this Button will fire two PropertyChange Events, one from \r
+                       * AbstractButton.setIcon() quickly followed by the corrected PropertyChange from\r
+                       * this method.\r
+                       */\r
+               super.setIcon(newIcon);\r
+               \r
+               // inform Listeners; revalidate & repaint (when button is enabled)\r
+               changeIcon(AbstractButton.ICON_CHANGED_PROPERTY, oldIcon, newIcon, true);\r
+       }\r
+       \r
+       /** Overrides AbstractButton.setPressedIcon()\r
+               * Overcomes bug whereby the Accessible context causes the wrong newIcon to be passed\r
+               * with the PropertyChange Event\r
+               *\r
+               * @see AbstractButton#setIcon\r
+  * @param defaultIcon the icon used as the default image\r
+  * @beaninfo\r
+  *  bound: true\r
+  *  attribute: visualUpdate true\r
+  *  description: The pressed icon for the button.\r
+  */\r
+ public void setPressedIcon(Icon newIcon) {\r
+  Icon oldIcon = getPressedIcon();\r
+  \r
+               /* Bit of a bodge, can't simply replicate the code in AbstractButton.setIcon()\r
+                       * because members are private.\r
+                       * Because of this, this Button will fire two PropertyChange Events, one from \r
+                       * AbstractButton.setPressedIcon() quickly followed by the corrected PropertyChange from\r
+                       * this method.\r
+                       */\r
+               super.setPressedIcon(newIcon);\r
+               \r
+               // inform Listeners; revalidate & repaint (when button is disabled)\r
+               changeIcon(AbstractButton.PRESSED_ICON_CHANGED_PROPERTY, oldIcon, newIcon, true);\r
+ }\r
+\r
+       /**\r
+  * Overrides the <code>JComponent.paintComponent()</code> method, then paints\r
+               * the interior in the same way as the UI delegate would paint a RadioButtonMenuItem,\r
+               * but without the Accelerator or Arrow.\r
+               *\r
+       * That is: [stateIcon]   [[userIcon] [Text]]\r
+               *\r
+  * @param g the <code>Graphics</code> object to protect\r
+  * @see JComponent#paintComponent\r
+  */\r
+  protected void paintComponent(Graphics g) {\r
+   if (ui != null) {\r
+    Graphics scratchGraphics = g.create();\r
+                               try {\r
+                                       ui.update(scratchGraphics, this);\r
+                               }\r
+                               finally {\r
+     scratchGraphics.dispose();\r
+                               }\r
+   }\r
+  }\r
+               \r
+       /**\r
+               * Common functionality required when an Icon is changed\r
+               *\r
+               * Update the Accessible Context and might need to revalidate (if the Icon's size has changed)\r
+               * and repaint (if it's currently on display)\r
+               *       \r
+               * @param property The Property Name to fire to registered PropertyChange event listeners \r
+               * @param oldIcon The Icon being replaced\r
+               * @param newIcon The replacement Icon\r
+               * @param enabled true if this Icon is used when the button is enabled, false if used when the button is disabled \r
+               */\r
+ protected void changeIcon(String property, Icon oldIcon, Icon newIcon, boolean enabled) {\r
+  firePropertyChange(property, oldIcon, newIcon); // inform PropertyChange Event listeners\r
+  if(accessibleContext != null)\r
+   accessibleContext.firePropertyChange(AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY, oldIcon, newIcon);\r
+\r
+  if(newIcon != oldIcon ) { // don't redo layout or paint if the Icon hasn't altered\r
+   if(newIcon == null || oldIcon == null || newIcon.getIconWidth() != oldIcon.getIconWidth() || newIcon.getIconHeight() != oldIcon.getIconHeight())\r
+                               revalidate();\r
+                       \r
+   if(isEnabled() == enabled) repaint(); // only cause a repaint when the Icon being changed matches the one currently on display\r
+               }\r
+       }\r
+       \r
+       /** Reports useful information about this Button\r
+               * @returns textual information\r
+               */\r
+       public String toString() {\r
+               String text = super.toString();\r
+               if(text.charAt(text.length()-1) == ']') // strip off closing brackets from super's report\r
+                       text = text.substring(0,text.length()-1);\r
+\r
+               text += ",selectedStateIcon=";\r
+               if(selectedStateIcon != null)\r
+                       text += selectedStateIcon.toString();\r
+               text += ",disabledSelectedStateIcon=";\r
+               if(disabledSelectedStateIcon != null)\r
+                       text += disabledSelectedStateIcon.toString();\r
+               text += ",unselectedStateIcon=";\r
+               if(unselectedStateIcon != null)\r
+                       text += unselectedStateIcon.toString();\r
+               text += ",disabledUnselectedStateIcon=";\r
+               if(disabledUnselectedStateIcon != null)\r
+                       text += disabledUnselectedStateIcon.toString();\r
+  text += ",ComponentUI=" + getUIClassID() + "]";\r
+               return text;\r
+       }\r
+}\r
diff --git a/org/tjworld/components/JIconToggleButtonBeanInfo.java b/org/tjworld/components/JIconToggleButtonBeanInfo.java
new file mode 100644 (file)
index 0000000..776ac2f
--- /dev/null
@@ -0,0 +1,190 @@
+package org.tjworld.components;\r
+\r
+import java.beans.*;\r
+\r
+public class JIconToggleButtonBeanInfo extends SimpleBeanInfo {\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+  // Bean descriptor //GEN-FIRST:BeanDescriptor\r
+  private static BeanDescriptor beanDescriptor = new BeanDescriptor  ( JIconToggleButton.class , null );\r
+\r
+  static {\r
+      beanDescriptor.setDisplayName ( "JIconToggleButton" );\r
+      beanDescriptor.setShortDescription ( "A JToggleButton with a Functionality Icon" );//GEN-HEADEREND:BeanDescriptor\r
+\r
+    // Here you can add code for customizing the BeanDescriptor.\r
+\r
+}//GEN-LAST:BeanDescriptor\r
+\r
+  // Properties information will be obtained from introspection.//GEN-FIRST:Properties\r
+  private static PropertyDescriptor[] properties = null;//GEN-HEADEREND:Properties\r
+\r
+    // Here you can add code for customizing the properties array.\r
+\r
+  //GEN-LAST:Properties\r
+\r
+  // Event set information will be obtained from introspection.//GEN-FIRST:Events\r
+  private static EventSetDescriptor[] eventSets = null;//GEN-HEADEREND:Events\r
+\r
+    // Here you can add code for customizing the event sets array.\r
+\r
+  //GEN-LAST:Events\r
+\r
+  // Method information will be obtained from introspection.//GEN-FIRST:Methods\r
+  private static MethodDescriptor[] methods = null;//GEN-HEADEREND:Methods\r
+\r
+    // Here you can add code for customizing the methods array.\r
+    \r
+  //GEN-LAST:Methods\r
+\r
+    private static java.awt.Image iconColor16 = null; //GEN-BEGIN:IconsDef\r
+    private static java.awt.Image iconColor32 = null;\r
+    private static java.awt.Image iconMono16 = null;\r
+    private static java.awt.Image iconMono32 = null; //GEN-END:IconsDef\r
+  private static String iconNameC16 = "/org/tjworld/components/media/JIconToggleButtonColor16.gif";//GEN-BEGIN:Icons\r
+  private static String iconNameC32 = null;\r
+  private static String iconNameM16 = null;\r
+  private static String iconNameM32 = null;//GEN-END:Icons\r
+\r
+  private static final int defaultPropertyIndex = -1;//GEN-BEGIN:Idx\r
+  private static final int defaultEventIndex = -1;//GEN-END:Idx\r
+\r
+\r
+    /**\r
+     * Gets the bean's <code>BeanDescriptor</code>s.\r
+     * \r
+     * @return BeanDescriptor describing the editable\r
+     * properties of this bean.  May return null if the\r
+     * information should be obtained by automatic analysis.\r
+     */\r
+    public BeanDescriptor getBeanDescriptor() {\r
+       return beanDescriptor;\r
+    }\r
+\r
+    /**\r
+     * Gets the bean's <code>PropertyDescriptor</code>s.\r
+     * \r
+     * @return An array of PropertyDescriptors describing the editable\r
+     * properties supported by this bean.  May return null if the\r
+     * information should be obtained by automatic analysis.\r
+     * <p>\r
+     * If a property is indexed, then its entry in the result array will\r
+     * belong to the IndexedPropertyDescriptor subclass of PropertyDescriptor.\r
+     * A client of getPropertyDescriptors can use "instanceof" to check\r
+     * if a given PropertyDescriptor is an IndexedPropertyDescriptor.\r
+     */\r
+    public PropertyDescriptor[] getPropertyDescriptors() {\r
+        return properties;\r
+    }\r
+\r
+    /**\r
+     * Gets the bean's <code>EventSetDescriptor</code>s.\r
+     * \r
+     * @return  An array of EventSetDescriptors describing the kinds of \r
+     * events fired by this bean.  May return null if the information\r
+     * should be obtained by automatic analysis.\r
+     */\r
+    public EventSetDescriptor[] getEventSetDescriptors() {\r
+        return eventSets;\r
+    }\r
+\r
+    /**\r
+     * Gets the bean's <code>MethodDescriptor</code>s.\r
+     * \r
+     * @return  An array of MethodDescriptors describing the methods \r
+     * implemented by this bean.  May return null if the information\r
+     * should be obtained by automatic analysis.\r
+     */\r
+    public MethodDescriptor[] getMethodDescriptors() {\r
+        return methods;\r
+    }\r
+\r
+    /**\r
+     * A bean may have a "default" property that is the property that will\r
+     * mostly commonly be initially chosen for update by human's who are \r
+     * customizing the bean.\r
+     * @return  Index of default property in the PropertyDescriptor array\r
+     *                 returned by getPropertyDescriptors.\r
+     * <P>     Returns -1 if there is no default property.\r
+     */\r
+    public int getDefaultPropertyIndex() {\r
+        return defaultPropertyIndex;\r
+    }\r
+\r
+    /**\r
+     * A bean may have a "default" event that is the event that will\r
+     * mostly commonly be used by human's when using the bean. \r
+     * @return Index of default event in the EventSetDescriptor array\r
+     *         returned by getEventSetDescriptors.\r
+     * <P>     Returns -1 if there is no default event.\r
+     */\r
+    public int getDefaultEventIndex() {\r
+        return defaultEventIndex;\r
+    }\r
+\r
+    /**\r
+     * This method returns an image object that can be used to\r
+     * represent the bean in toolboxes, toolbars, etc.   Icon images\r
+     * will typically be GIFs, but may in future include other formats.\r
+     * <p>\r
+     * Beans aren't required to provide icons and may return null from\r
+     * this method.\r
+     * <p>\r
+     * There are four possible flavors of icons (16x16 color,\r
+     * 32x32 color, 16x16 mono, 32x32 mono).  If a bean choses to only\r
+     * support a single icon we recommend supporting 16x16 color.\r
+     * <p>\r
+     * We recommend that icons have a "transparent" background\r
+     * so they can be rendered onto an existing background.\r
+     *\r
+     * @param  iconKind  The kind of icon requested.  This should be\r
+     *    one of the constant values ICON_COLOR_16x16, ICON_COLOR_32x32, \r
+     *    ICON_MONO_16x16, or ICON_MONO_32x32.\r
+     * @return  An image object representing the requested icon.  May\r
+     *    return null if no suitable icon is available.\r
+     */\r
+    public java.awt.Image getIcon(int iconKind) {\r
+        switch ( iconKind ) {\r
+        case ICON_COLOR_16x16:\r
+            if ( iconNameC16 == null )\r
+                return null;\r
+            else {\r
+                if( iconColor16 == null )\r
+                    iconColor16 = loadImage( iconNameC16 );\r
+                return iconColor16;\r
+            }\r
+        case ICON_COLOR_32x32:\r
+            if ( iconNameC32 == null )\r
+                return null;\r
+            else {\r
+                if( iconColor32 == null )\r
+                    iconColor32 = loadImage( iconNameC32 );\r
+                return iconColor32;\r
+            }\r
+        case ICON_MONO_16x16:\r
+            if ( iconNameM16 == null )\r
+                return null;\r
+            else {\r
+                if( iconMono16 == null )\r
+                    iconMono16 = loadImage( iconNameM16 );\r
+                return iconMono16;\r
+            }\r
+        case ICON_MONO_32x32:\r
+            if ( iconNameM32 == null )\r
+                return null;\r
+            else {\r
+                if( iconMono32 == null )\r
+                    iconMono32 = loadImage( iconNameM32 );\r
+                return iconMono32;\r
+            }\r
+       default: return null;\r
+        }\r
+    }\r
+\r
+}\r
+\r
diff --git a/org/tjworld/components/LocalityIconTitledURLItem.java b/org/tjworld/components/LocalityIconTitledURLItem.java
new file mode 100644 (file)
index 0000000..6b4f3c5
--- /dev/null
@@ -0,0 +1,163 @@
+/*\r
+       * LocalityIconTitledURLItem.java\r
+ *\r
+       * Created on 15 November 2001, 14:25\r
+ * $Header: /VisTA/CID/Components/LocalityIconTitledURLItem.java 1     15/11/01 15:36 Tj $\r
+       *\r
+       * $History: LocalityIconTitledURLItem.java $\r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 15/11/01   Time: 15:36\r
+ * Created in $/VisTA/CID/Components\r
+ * State-enabled Iconified TitledURLItem\r
+ */\r
+\r
+package org.tjworld.components;\r
+\r
+import java.net.URL;\r
+import javax.swing.Icon;\r
+import javax.swing.ImageIcon;\r
+\r
+/** Provides local and online icons that indicate where the URL is located\r
+ * @see LocalityIconTitledURLItem\r
+ * @see IconTitledURLItem\r
+       * @see TitledURLItem\r
+       * @author  TJ\r
+ * @version 1.0 15 Nov, 2001\r
+ */\r
+public class LocalityIconTitledURLItem extends IconTitledURLItem {\r
+ protected static Icon classLocalIcon = null;\r
+ protected static Icon classOnlineIcon = null;\r
+ protected Icon localIcon = null;\r
+       protected Icon onlineIcon = null;\r
+       protected boolean local = false;\r
+       \r
+       /** Creates new LocalityIconTitledURLItem which defaults to being a 'local' resource */\r
+ public LocalityIconTitledURLItem() {\r
+               this((Icon)null, (Icon)null,(Icon)null,(Icon)null, (String)null, (URL)null, true);\r
+       }\r
+\r
+       /** Creates new LocalityIconTitledURLItem\r
+               * @param url the URL\r
+               * @param title the associated Title\r
+               * @param local true to use the 'local' indicator icon, false to use the 'online' version\r
+               * @see #isLocal\r
+               */\r
+       public LocalityIconTitledURLItem(String title, URL url, boolean local) {\r
+               this((Icon)null, (Icon)null,(Icon)null,(Icon)null, title, url, local);\r
+       }\r
+               \r
+       /** Creates new LocalityIconTitledURLItem with instance-only Icons\r
+               * @param localIcon the local Icon\r
+               * @param onlineIcon the local Icon\r
+               * @param url the URL\r
+               * @param title the associated Title\r
+               * @param local true to use the 'local' indicator icon, false to use the 'online' version\r
+               * @see #isLocal\r
+               */\r
+       public LocalityIconTitledURLItem(Icon localIcon, Icon onlineIcon, String title, URL url, boolean local) {\r
+               this((Icon)null, (Icon)null, localIcon, onlineIcon, title, url, local);\r
+       }\r
+\r
+       /** Creates new LocalityIconTitledURLItem with class-wide and instance-only Icons\r
+               * @param classLocalIcon the class-wide local Icon\r
+               * @param classOnlineIcon the class-wide online Icon\r
+               * @param localIcon the local Icon\r
+               * @param onlineIcon the local Icon\r
+               * @param url the URL\r
+               * @param title the associated Title\r
+               * @param local true to use the 'local' indicator icon, false to use the 'online' version\r
+               * @see #isLocal\r
+               */\r
+       public LocalityIconTitledURLItem(Icon classLocalIcon, Icon classOnlineIcon, Icon localIcon, Icon onlineIcon, String title, URL url, boolean local) {\r
+        super(title, url, null);\r
+               this.local = local;\r
+               this.classLocalIcon = classLocalIcon;\r
+               this.classOnlineIcon = classOnlineIcon;\r
+               this.localIcon = localIcon;\r
+               this.onlineIcon = onlineIcon;\r
+               setIcon(local ? (localIcon != null ? localIcon : classLocalIcon) : (onlineIcon != null ? onlineIcon : classOnlineIcon));\r
+       }\r
+       \r
+       /** Tests if the URL represents a local or online resource.\r
+               * The definition of what is local is arbitary, and is up to the User to decide. No URL\r
+               * testing is done to determine it's locality.\r
+               * @return true if this URL represents a local resource\r
+               */\r
+ public boolean isLocal() {\r
+               return local;\r
+       }\r
+       \r
+       /** Sets the locality indicator\r
+               * @param local true if the URL represents a 'local' resource, false if the resource is 'online'\r
+               * @see #isLocal\r
+               */\r
+       public void setLocal(boolean local) {\r
+               if(this.local != local) { // change the icon\r
+                       setIcon();\r
+                this.local = local; // update state\r
+               }\r
+       }\r
+       \r
+       protected void setIcon() {\r
+               // prefer to use per-object Icon, but if there isn't one use the class Icon\r
+               setIcon(local ? (localIcon != null ? localIcon : classLocalIcon) : (onlineIcon != null ? onlineIcon : classOnlineIcon));\r
+       }\r
+       \r
+       /** Gets the Icon representing 'local' resources \r
+               * @return the local Icon\r
+               */\r
+ public Icon getLocalIcon() {\r
+               return localIcon;\r
+       }\r
+       \r
+       public void setLocalIcon(Icon localIcon) {\r
+               this.localIcon = localIcon;\r
+               setIcon();\r
+       }\r
+       \r
+       /** Gets the Icon representing 'online' resources \r
+               * @return the online Icon\r
+               */\r
+       public Icon getOnlineIcon() {\r
+               return onlineIcon;\r
+       }\r
+       \r
+       /** Sets the Icon representing 'online' resources\r
+               * @param onlineIcon\r
+               */\r
+ public void setOnlineIcon(Icon onlineIcon) {\r
+               this.onlineIcon = onlineIcon;\r
+               setIcon();\r
+       }\r
+       \r
+       /* Gets the class-wide Icon representing 'local' resources\r
+               * @return the class-wide local Icon\r
+               */\r
+       public Icon getClassLocalIcon() {\r
+               return classLocalIcon;\r
+       }\r
+       \r
+       /** Sets the class-wide Icon representing 'local' resources\r
+               * @param classLocalIcon the class-wide local Icon\r
+               */\r
+       public void setClassLocalIcon(Icon classLocalIcon) {\r
+               this.classLocalIcon = classLocalIcon;\r
+               setIcon();\r
+       }\r
+       \r
+       /* Gets the class-wide Icon representing 'online' resources\r
+               * @return the class-wide online Icon\r
+               */\r
+ public Icon getClassOnlineIcon() {\r
+               return classOnlineIcon;\r
+       }\r
+       \r
+       /** Sets the class-wide Icon representing 'online' resources\r
+               * @param classOnlineIcon the class-wide online Icon\r
+               */\r
+       public void setClassOnlineIcon(Icon classOnlineIcon) {\r
+               this.classOnlineIcon = classOnlineIcon;\r
+               setIcon();\r
+       }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/PowerAction.java b/org/tjworld/components/PowerAction.java
new file mode 100644 (file)
index 0000000..041b8a2
--- /dev/null
@@ -0,0 +1,305 @@
+/*\r
+       * PowerAction.java\r
+ *\r
+       * Created on 10 October 2001, 01:59\r
+       * $Header: $\r
+       * \r
+       * $History: $\r
+*/\r
+package org.tjworld.components;\r
+\r
+import javax.swing.Icon;\r
+import javax.swing.Action;\r
+import java.io.Serializable;\r
+import java.lang.Cloneable;\r
+import java.util.Locale;\r
+import java.util.ResourceBundle;\r
+import javax.swing.event.SwingPropertyChangeSupport;\r
+\r
+/**\r
+ * <code>PowerAction</code> enhances <code>AbstractAction</code> by addding support for\r
+       * additional properties of components, such as alternate icons \r
+       * (dimmed, rollover, selected, pressed).\r
+       *\r
+       * It is used with Power implementations of several swing components such as\r
+       * <code>PowerButton, PowerMenuItem, PowerLabel, PowerTextField</code>.\r
+       *\r
+       * It can be used with <code>JButton, JMenuItem, JLabel, JTextField</code> directly\r
+       * to support more properties than just <code>name</code> and <code>icon</code> that\r
+       * <code>AbstractAction</code> supports.\r
+       *\r
+       * These new components are named <code>PowerButton, PowerMenuItem,</code> and so on.\r
+       *\r
+       * They provide additional methods for setting and getting a PowerAction on the\r
+       * component.\r
+       * \r
+       * Implementations of PowerAction need only subclass this abstract class and\r
+ * define the <code>actionPerformed</code> method. \r
+       *\r
+       * @author  TJ\r
+ * @version 1.0 10 Oct 2001 \r
+       * @since 1.4\r
+       * @see Action, AbstractAction\r
+ */\r
+public abstract class PowerAction extends javax.swing.AbstractAction {\r
+ /** Useful constants supporting Locale-sensitive values */\r
+       public static final String LOC_KEY_NAME = "     LOC_KEY_NAME";\r
+       public static final String LOC_KEY_SHORT_DESCRIPTION = "LOC_KEY_SD";\r
+       public static final String LOC_KEY_LONG_DESCRIPTION = "LOC_KEY_LD";\r
+       public static final String LOC_KEY_ACTION_COMMAND_KEY = "LOC_KEY_AC";\r
+       public static final String LOC_KEY_MNEMONIC_KEY = "LOC_KEY_MNEM";\r
+       public static final String LOC_KEY_ACCELERATOR_KEY = "LOC_KEY_ACCEL";\r
+\r
+ /** Flag masks for blocking selected PropertyChangeEvents */\r
+       public static final long MASK_NAME                                                                                                                      = 0x80000000;\r
+       public static final long MASK_ICON                                                                                                                      = 0x40000000;\r
+       public static final long MASK_SHORT_DESCRIPTION         = 0x20000000;\r
+       public static final long MASK_LONG_DESCRIPTION                  = 0x10000000;\r
+       public static final long MASK_ACTION_COMMAND_KEY = 0x08000000;\r
+       public static final long MASK_MNEMONIC_KEY                                                      = 0x04000000;\r
+       public static final long MASK_ACCELERATOR_KEY                           = 0x02000000;\r
\r
+       public static final long MASK_LOC_NAME                                                                                                                  = 0x00008000;\r
+       public static final long MASK_LOC_ICON                                                                                                                  = 0x00004000;\r
+       public static final long MASK_LOC_SHORT_DESCRIPTION             = 0x00002000;\r
+       public static final long MASK_LOC_LONG_DESCRIPTION                      = 0x00001000;\r
+       public static final long MASK_LOC_ACTION_COMMAND_KEY = 0x00000800;\r
+       public static final long MASK_LOC_MNEMONIC                                                                                      = 0x00000400;\r
+       public static final long MASK_LOC_ACCELERATOR_KEY                               = 0x00000200;\r
+       \r
+       /** frequently used masks */\r
+       public static final long MASK_ALL                                                                                                       = 0xFFFFFFFF; // everything enabled\r
+       public static final long MASK_JMENUITEM                                                 = 0xFFFFFFFF; // everything enabled\r
+       public static final long MASK_JBUTTON                                                                   = 0xFDFFFFFF; // no accelerator\r
+       public static final long MASK_JTOOLBAR_BUTTON   = 0x75FFFFFF; // no name, action command, accelerator\r
+       public static final long MASK_NONE                                                                                              = 0x00000000; // nothing enabled\r
+       \r
+       /** current mask flags */\r
+       protected long maskFlags = 0xFFFFFFFF;\r
+       \r
+       /** Keep track of the state of the Property Change Listener interface */\r
+       protected boolean firePropertyChangeEnabled = true;\r
+       \r
+       /** A copy of the original change support object */\r
+ protected SwingPropertyChangeSupport oldChangeSupport;\r
+       \r
+       /** make the action Locale-sensitive */\r
+       protected Locale currentLocale = null;\r
+\r
+       /** Creates new default PowerAction */\r
+ public PowerAction() {\r
+               super(); // nothing special for the default constructor to do, so let super class do it's thing\r
+ }\r
+                               \r
+       /** Create a new PowerAction that supports just the properties that <code>javax.swing.AbstractButton</code> uses.\r
+               *\r
+               * @param name The Text or Title of a component using this action\r
+               * @param icon The Icon associated with this action\r
+               * @param tooltip The popup tooltip associated with <code>JComponent</code>\r
+               * @param longDesc The longer description associated with this action (for use in help services, etc.)\r
+               * @param actionCommand The action command name (e.g: New, Save, Delete. etc.)\r
+               * @param mnemonic The character in <code>name</code> used as a quick-key (gets underlined in menu's and buttons)\r
+               * @param accelerator The key-combination required to activate this action from the parent window or frame\r
+               *\r
+               * @see AbstractButton#configurePropertiesFromAction\r
+               */\r
+ public PowerAction(String name, Icon icon, String tooltip, String longDesc, String actionCommand, int mnemonic, javax.swing.KeyStroke accelerator) {\r
+               super(name, icon); // let super add these, don't duplicate code\r
+               \r
+               // add key-value pairs ONLY if the received value is not 'empty'\r
+               if(tooltip != null) putValue(Action.SHORT_DESCRIPTION, tooltip);\r
+               if(longDesc != null) putValue(Action.LONG_DESCRIPTION, longDesc);\r
+               if(actionCommand != null) putValue(Action.ACTION_COMMAND_KEY, actionCommand);\r
+               if(mnemonic > 0) putValue(Action.MNEMONIC_KEY, new Integer(mnemonic));\r
+               if(accelerator != null) putValue(Action.ACCELERATOR_KEY, accelerator);\r
+       }\r
+       \r
+       /** Create a new PowerAction that supports locale-sensitive values\r
+               *\r
+               * The <code>ResourceBundle</code> keys that indentify the values used by the action\r
+               * are stored as Key/Values along with the standard <code>Action</code> key/value pairs.\r
+               *\r
+               * Hereafter, a simple call to <code>setLocale(loc, res)</code> allows the action to update\r
+               * itself with locale-sensitive values.\r
+               *\r
+               * @param name The Text or Title of a component using this action\r
+               * @param icon The Icon associated with this action\r
+               * @param tooltip The popup tooltip associated with <code>JComponent</code>\r
+               * @param longDesc The longer description associated with this action (for use in help services, etc.)\r
+               * @param actionCommand The action command name (e.g: New, Save, Delete. etc.)\r
+               * @param mnemonic The character in <code>name</code> used as a quick-key (gets underlined in menu's and buttons)\r
+               * @param accelerator The key-combination required to activate this action from the parent window or frame\r
+               * @param loc The Locale currently assigned to this action\r
+               * @param locName The <code>ResourceBundle</code> key used to identify the NAME value\r
+               * @param locTooltip The <code>ResourceBundle</code> key used to identify the SHORT_DESCRIPTION value\r
+               * @param locLongDesc The <code>ResourceBundle</code> key used to identify the LONG_DESCRIPTION value\r
+               * @param locActionCommand The <code>ResourceBundle</code> key used to identify the ACTION_COMMAND value\r
+               * @param locMnemonic The <code>ResourceBundle</code> key used to identify the MNEMONIC value\r
+               * @param locAccelerator The <code>ResourceBundle</code> key used to identify the ACCELERATOR value\r
+               *\r
+               * @see ResourceBundle\r
+               * @see Action\r
+               * @see PowerAction#setLocale\r
+               */\r
+ public PowerAction(String name, Icon icon, String tooltip, String longDesc, String actionCommand, int mnemonic, javax.swing.KeyStroke accelerator,\r
+  java.util.Locale loc, String locName, String locTooltip, String locLongDesc, String locActionCommand, String locMnemonic, String locAccelerator) {\r
+               this(name, icon, tooltip, longDesc, actionCommand, mnemonic, accelerator); // don't duplicate code\r
+               \r
+               // add Locale-sensitve key-value pairs ONLY if the received value is not 'empty'\r
+               if(locName != null) putValue(LOC_KEY_NAME, locName);\r
+               if(locTooltip != null) putValue(LOC_KEY_SHORT_DESCRIPTION, locTooltip);\r
+               if(locLongDesc != null) putValue(LOC_KEY_LONG_DESCRIPTION, locLongDesc);\r
+               if(locActionCommand != null) putValue(LOC_KEY_ACTION_COMMAND_KEY, locActionCommand);\r
+               if(locMnemonic != null) putValue(LOC_KEY_MNEMONIC_KEY, locMnemonic);\r
+               if(locAccelerator != null) putValue(LOC_KEY_ACCELERATOR_KEY, locAccelerator);\r
+               \r
+               if(loc != null) // set the Locale\r
+                       currentLocale = loc;\r
+               else\r
+                       currentLocale = Locale.getDefault();\r
+       }\r
+\r
+       /** Are PropertyChangeEvents enabled?\r
+               *\r
+               * @returns true is they are, false otherwise\r
+               */\r
+ public boolean isFirePropertyChangeEnabled() {\r
+               return firePropertyChangeEnabled;\r
+       }\r
+       \r
+       public void setPropertyChangeMask(long mask) {\r
+               maskFlags = mask; // update the enabled PropertyChange events           \r
+       }\r
+       \r
+       public long getPropertyChangeMask() {\r
+               return maskFlags;\r
+       }\r
+       \r
+       /** Enable or Disable PropertyChangeEvent notifications\r
+               *\r
+               * @param enabled true to enable, false to disable\r
+               */\r
+ public void setFirePropertyChangeEnabled(boolean enabled) {\r
+               if(enabled) { // return the underlying AbstractAction.changeSupport to it's original state\r
+                       if(changeSupport == null && oldChangeSupport != null) // don't mes it up if it's not null\r
+                               changeSupport = oldChangeSupport; // allow AbstractAction.firePropertyChange() to work again\r
+               }       else { // disable AbstractAction.firePropertyChange()\r
+                       oldChangeSupport = changeSupport; // keep a copy, ready for re-enabling\r
+                       changeSupport = null; // clear the change support\r
+               }\r
+                       \r
+               firePropertyChangeEnabled = enabled; // update the flag\r
+       }\r
+               \r
+       /** Update the locale, alter strings if necessary\r
+               *\r
+               * For each <code>Action</code> key/value pair that has an associated <code>ResourceBundle</code>\r
+               * key specified, the value will be updated from the specified <code>ResourceBundle</code>\r
+               *\r
+               * @param loc The new locale\r
+               * @param res The resource bundle to get new strings from\r
+               */\r
+       public void setLocale(Locale loc, ResourceBundle res) {\r
+               // make sure locale is valid, in use, and not already changed; otherwise ignore it\r
+  if(loc != null && currentLocale != null && loc != currentLocale) { \r
+                       currentLocale = loc; // update locale\r
+                       if(res != null) { // make sure the resource bundle is good too\r
+\r
+                               /* for each potential Action key/value pair, only update if the Locale-Key\r
+                                       * is in the collection of key/value pairs\r
+                                       *\r
+                                       * would be cleaner source to do this in an iteration - maybe need to create\r
+                                       * an array to store the static constant key names from Action and PowerAction??\r
+                                       */\r
+                               String locKeyName = null;\r
+                               Object actValue = null;\r
+                               Object locValue = null;\r
+\r
+                               if((actValue = getValue(Action.NAME)) != null) { // there is a key/value pair that might need updating\r
+                               if((locKeyName = (String)getValue(LOC_KEY_NAME)) != null) { // a locale-sensitive resource key has been stored...\r
+                                       locValue = res.getObject(locKeyName); // ...so request it's value from the resource bundle\r
+                                               if(locValue != null) { // don't try to replace a good value with an empty one\r
+                                                       if((maskFlags & MASK_NAME) == MASK_NAME) // disable PropertyChangeEvents if mask is set\r
+                                                               setFirePropertyChangeEnabled(false);\r
+\r
+                                                       putValue(Action.NAME, locValue); // change the value\r
+                                                       setFirePropertyChangeEnabled(true); // ensure PropertyChangeEvents are enabled\r
+                                               }\r
+                               }\r
+                               }\r
+\r
+                               if((actValue = getValue(Action.SHORT_DESCRIPTION)) != null) { // there is a key/value pair that might need updating\r
+                               if((locKeyName = (String)getValue(LOC_KEY_SHORT_DESCRIPTION)) != null) { // a locale-sensitive resource key has been stored...\r
+                                       locValue = res.getObject(locKeyName); // ...so request it's value from the resource bundle\r
+                                               if(locValue != null) { // don't try to replace a good value with an empty one\r
+                                                       if((maskFlags & MASK_SHORT_DESCRIPTION) == MASK_SHORT_DESCRIPTION) // disable PropertyChangeEvents if mask is set\r
+                                                               setFirePropertyChangeEnabled(false);\r
+\r
+                                        putValue(Action.SHORT_DESCRIPTION, locValue);\r
+                                                       setFirePropertyChangeEnabled(true); // ensure PropertyChangeEvents are enabled\r
+                                               }\r
+                               }\r
+                               }\r
+\r
+                               if((actValue = getValue(Action.LONG_DESCRIPTION)) != null) { // there is a key/value pair that might need updating\r
+                               if((locKeyName = (String)getValue(LOC_KEY_LONG_DESCRIPTION)) != null) { // a locale-sensitive resource key has been stored...\r
+                                       locValue = res.getObject(locKeyName); // ...so request it's value from the resource bundle\r
+                                               if(locValue != null) { // don't try to replace a good value with an empty one\r
+                                                       if((maskFlags & MASK_LONG_DESCRIPTION) == MASK_LONG_DESCRIPTION) // disable PropertyChangeEvents if mask is set\r
+                                                               setFirePropertyChangeEnabled(false);\r
+                                               \r
+                                                       putValue(Action.LONG_DESCRIPTION, locValue);\r
+                                                       setFirePropertyChangeEnabled(true); // ensure PropertyChangeEvents are enabled\r
+                                               }\r
+                               }\r
+                               }\r
+\r
+                               if((actValue = getValue(Action.ACTION_COMMAND_KEY)) != null) { // there is a key/value pair that might need updating\r
+                               if((locKeyName = (String)getValue(LOC_KEY_ACTION_COMMAND_KEY)) != null) { // a locale-sensitive resource key has been stored...\r
+                                       locValue = res.getObject(locKeyName); // ...so request it's value from the resource bundle\r
+                                               if(locValue != null) { // don't try to replace a good value with an empty one\r
+                                                       if((maskFlags & MASK_ACTION_COMMAND_KEY) == MASK_ACTION_COMMAND_KEY) // disable PropertyChangeEvents if mask is set\r
+                                                               setFirePropertyChangeEnabled(false);\r
+                                       putValue(Action.ACTION_COMMAND_KEY, locValue);\r
+                                                       setFirePropertyChangeEnabled(true); // ensure PropertyChangeEvents are enabled\r
+                                               }\r
+                               }\r
+                               }\r
+\r
+                               if((actValue = getValue(Action.MNEMONIC_KEY)) != null) { // there is a key/value pair that might need updating\r
+                               if((locKeyName = (String)getValue(LOC_KEY_MNEMONIC_KEY)) != null) { // a locale-sensitive resource key has been stored...\r
+                                       locValue = res.getObject(locKeyName); // ...so request it's value from the resource bundle\r
+                                               if(locValue != null) { // don't try to replace a good value with an empty one\r
+                                                       if((maskFlags & MASK_MNEMONIC_KEY) == MASK_MNEMONIC_KEY) // disable PropertyChangeEvents if mask is set\r
+                                                               setFirePropertyChangeEnabled(false); // ensure PropertyChangeEvents are enabled\r
+\r
+                                                       putValue(Action.MNEMONIC_KEY, locValue);\r
+                                                       setFirePropertyChangeEnabled(true); // ensure PropertyChangeEvents are enabled\r
+                                               }\r
+                               }\r
+                               }\r
+\r
+                               if((actValue = getValue(Action.ACCELERATOR_KEY)) != null) { // there is a key/value pair that might need updating\r
+                               if((locKeyName = (String)getValue(LOC_KEY_ACCELERATOR_KEY)) != null) { // a locale-sensitive resource key has been stored...\r
+                                       locValue = res.getObject(locKeyName); // ...so request it's value from the resource bundle\r
+                                               if(locValue != null) { // don't try to replace a good value with an empty one\r
+                                                if((maskFlags & MASK_ACCELERATOR_KEY) == MASK_ACCELERATOR_KEY) // disable PropertyChangeEvents if mask is set\r
+                                                               setFirePropertyChangeEnabled(false);\r
+                                                               \r
+                                                putValue(Action.ACCELERATOR_KEY, locValue);\r
+                                                       setFirePropertyChangeEnabled(true); // ensure PropertyChangeEvents are enabled\r
+                                               }\r
+                               }\r
+                               }\r
+                       }\r
+               }                               \r
+       }\r
+       \r
+       /** Get the current Locale of the Action\r
+               *\r
+               * @returns The current locale\r
+               */\r
+ public Locale getLocale() {\r
+               return currentLocale;\r
+       }\r
+}\r
diff --git a/org/tjworld/components/PowerMenu.java b/org/tjworld/components/PowerMenu.java
new file mode 100644 (file)
index 0000000..5b2d547
--- /dev/null
@@ -0,0 +1,22 @@
+/*\r
+       * PowerMenu.java\r
+ *\r
+       * Created on 10 October 2001, 12:40\r
+       * $Header: $\r
+       * \r
+       * $History: $\r
+*/\r
+\r
+/**\r
+ *\r
+       * @author  TJ\r
+ * @version 1.0 10 Oct 2001\r
+ */\r
+public class PowerMenu extends javax.swing.JMenu {\r
+\r
+       /** Creates new TjMenu */\r
+    public PowerMenu() {\r
+                                       super();\r
+    }\r
+\r
+}\r
diff --git a/org/tjworld/components/PowerToolBar.java b/org/tjworld/components/PowerToolBar.java
new file mode 100644 (file)
index 0000000..d60b9a8
--- /dev/null
@@ -0,0 +1,53 @@
+/*\r
+       * PowerToolBar.java\r
+ *\r
+       * Created on 10 October 2001, 12:39\r
+ * $Header: $\r
+       * \r
+       * $History: $\r
+*/\r
+\r
+/**\r
+ * <code>PowerToolBar</code> extends <code>JToolBar</code>  provides a component that is useful for\r
+ * displaying commonly used <code>Action</code>s or controls.  \r
+ * For examples and information on using tool bars see\r
+ * <a href="http://java.sun.com/docs/books/tutorial/uiswing/components/toolbar.html">How to Use Tool Bars</a>,\r
+ * a section in <em>The Java Tutorial</em>.\r
+ *\r
+ * <p>\r
+ * With most look and feels,\r
+ * the user can drag out a tool bar into a separate window\r
+ * (unless the <code>floatable</code> property is set to <code>false</code>).\r
+ * For drag-out to work correctly, it is recommended that you add\r
+ * <code>JToolBar</code> instances to one of the four "sides" of a\r
+ * container whose layout manager is a <code>BorderLayout</code>,\r
+ * and do not add children to any of the other four "sides".\r
+ * <p>\r
+ * For the keyboard keys used by this component in the standard Look and\r
+ * Feel (L&F) renditions, see the\r
+ * <a href="doc-files/Key-Index.html#JToolBar"><code>JToolBar</code> key assignments</a>.\r
+ * <p>\r
+ * <strong>Warning:</strong>\r
+ * Serialized objects of this class will not be compatible with\r
+ * future Swing releases. The current serialization support is\r
+ * appropriate for short term storage or RMI between applications running\r
+ * the same version of Swing.  As of 1.4, support for long term storage\r
+ * of all JavaBeans<sup><font size="-2">TM</font></sup>\r
+ * has been added to the <code>java.beans</code> package.\r
+ * Please see {@link java.beans.XMLEncoder}.\r
+ *\r
+ * @beaninfo\r
+ *   attribute: isContainer true\r
+ * description: A component which displays commonly used controls or Actions.\r
+ *\r
+       * @author  TJ\r
+ * @version 1.1 6 Oct 2001\r
+ * @see JToolBar\r
+ */\r
+public class PowerToolBar extends javax.swing.JToolBar {\r
+       /** Creates new tool bar */\r
+ public PowerToolBar() {\r
+               super(); // create the standard javax.swing.JToolBar\r
+ }\r
+                               \r
+}\r
diff --git a/org/tjworld/components/TitledURLItem.java b/org/tjworld/components/TitledURLItem.java
new file mode 100644 (file)
index 0000000..a189bd0
--- /dev/null
@@ -0,0 +1,138 @@
+/*\r
+       * TitledURLItem.java\r
+ *\r
+       * Created on 15 November 2001, 12:52\r
+       * $Header: /VisTA/CID/Components/TitledURLItem.java 1     15/11/01 15:34 Tj $\r
+       *\r
+       * $History: TitledURLItem.java $ \r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 15/11/01   Time: 15:34\r
+ * Created in $/VisTA/CID/Components\r
+ * Generic list item\r
+ */\r
+\r
+package org.tjworld.components;\r
+\r
+import java.net.URL;\r
+import java.net.MalformedURLException;\r
+\r
+/** Maintains a separate record of the filename.extension part of the URL's path, such\r
+       * that calling getFilename() will return ONLY the simple filename, with no path\r
+       * components.\r
+       *\r
+       * If the URL were: http://host.domain.tld:8080/root/path/filename.extension \r
+       * getFilename() will return: filename.extension\r
+       *\r
+       * Overrides toString() in order to return a value that allows an instance of\r
+       * this Class to be used in Lists and ComboBoxes. Calling toString() is functionally\r
+       * the same as using the accessor method getTitle().\r
+ *\r
+       * @see URL\r
+       * @see JComboBox\r
+       * @see JList\r
+ *\r
+       * @author  TJ\r
+ * @version 1.0\r
+ */\r
+public class TitledURLItem {\r
+       /** URL associated with the Title */\r
+       protected URL url = null;\r
+\r
+       /** The descriptive Title (usually displayed in list items rather than the raw URL) */\r
+       protected String title = null;\r
+       \r
+       /** The simple filename.ext without any path components */\r
+       protected String filename = null;\r
+       \r
+       /** Creates new TitledURLItem */\r
+ public TitledURLItem() {\r
+               this((String)null, (URL)null);\r
+ }\r
+       \r
+       /** Creates new TitledURLItem.\r
+               * Parses the URL to identify the Filename component\r
+               * @param title The Title associated with the URL\r
+               * @param url The URL\r
+               */\r
+       TitledURLItem(String title, URL url) {\r
+               this.url = url;\r
+               this.title = title;\r
+               this.filename = parseFilename(url);\r
+       }\r
+       \r
+       /** Return the Title associated to the underlying URL.\r
+               * Applications may want to determine this dynamically by getting the title of the\r
+               * document addressed by the URL.\r
+               * @see #setTitle\r
+               * @see #toString\r
+               * @return Title associated with the URL\r
+               */\r
+       public String getTitle() {\r
+               return title;\r
+       }\r
+       \r
+       /** Sets the Title associated with the underlying URL.\r
+               * Applications may want to determine this dynamically by using the title of the\r
+               * document addressed by the URL.\r
+               * @see #getTitle\r
+               */\r
+       public void setTitle() {\r
+               title = null;\r
+       }\r
+\r
+       /** Gets the simple filename.extension part of the URL\r
+               * This is useful for applications that use paths to differentiate, for example, \r
+               * multiple language versions of the same file by path.\r
+               *\r
+               * @see #setURL\r
+               * @return The simple filename\r
+               */\r
+       public String getFilename() {\r
+               return filename;\r
+       }\r
+\r
+       /** Get the underlying URL\r
+               * @return The URL associated with the Title\r
+               */\r
+       public URL getURL() {\r
+               return url;\r
+       }\r
+       \r
+       /** Set the URL associated with this Title and updates the underlying filename returned by getFilename\r
+               * @param url the new URL\r
+               * @see #getURL\r
+               * @see URL\r
+               */\r
+       public void setURL(URL url) throws MalformedURLException {\r
+               this.url = new URL(url, "");\r
+               filename = parseFilename(this.url);\r
+       }\r
+\r
+ /** Extract the Filename part of a URL\r
+               * @param u the URL\r
+               * @return Everything to the right of the last path separator returned by URL.getFile(), or null if url is null\r
+               * @see #setFilename\r
+               * @see #getFilename\r
+               * @see URL#getFile\r
+               */\r
+ public static String parseFilename(URL u) {\r
+               String result = null;\r
+               if(u != null) { // only work with proper URL\r
+                String file = u.getFile(); // the /path/file component\r
+                int start = file.lastIndexOf('/');\r
+                       if(start == -1) // when the path separator isn't found, treat the url as relative\r
+                               start = 0;\r
+                       result = file.substring(start+1);\r
+               }\r
+               return result;\r
+       }\r
+\r
+       /** Gets the Title (functionally identical to getTitle()).\r
+               * Used by listCellRender objects to determine the text to display\r
+               * @return the Title\r
+               */\r
+       public String toString() {\r
+               return title;\r
+       }                       \r
+}
\ No newline at end of file
diff --git a/org/tjworld/components/TreeURLItem.java b/org/tjworld/components/TreeURLItem.java
new file mode 100644 (file)
index 0000000..f359f2f
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+       * TreeURLItem.java
+ *
+       * Created on 14 November 2001, 16:07
+       * $Header: $
+       *
+       * $History: $
+ */
+
+package org.tjworld.components;
+
+/**
+ * A user object for JTree models.
+       * @author  TJ
+ * @version 1.0
+ */
+public class TreeURLItem extends org.tjworld.components.ComboBoxURLItem {
+
+       /** Creates new TreeURLItem */
+ public TreeURLItem() {
+               super();
+ }
+
+       TreeURLItem(String title, String file, URL url, boolean local) {
+               super(title, file, url, local);
+       }
+
+       /**
+               * Returns a string representation of the object. In general, the
+               * <code>toString</code> method returns a string that
+               * "textually represents" this object. The result should
+               * be a concise but informative representation that is easy for a
+               * person to read.
+               * It is recommended that all subclasses override this method.
+               * <p>
+               * The <code>toString</code> method for class <code>Object</code>
+               * returns a string consisting of the name of the class of which the
+               * object is an instance, the at-sign character `<code>@</code>', and
+               * the unsigned hexadecimal representation of the hash code of the
+               * object. In other words, this method returns a string equal to the
+               * value of:
+               * <blockquote>
+               * <pre>
+               * getClass().getName() + '@' + Integer.toHexString(hashCode())
+               * </pre></blockquote>
+               *
+               * @return  a string representation of the object.
+               */
+       public String toString() {
+               return title;
+       }
+}
diff --git a/org/tjworld/components/xhtmlHelp.form b/org/tjworld/components/xhtmlHelp.form
new file mode 100644 (file)
index 0000000..761a708
--- /dev/null
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+  <Properties>
+    <Property name="title" type="java.lang.String" value="Help"/>
+    <Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+      <Connection code="icHelp.getImage()" type="code"/>
+    </Property>
+  </Properties>
+  <SyntheticProperties>
+    <SyntheticProperty name="menuBar" type="java.lang.String" value="(No Menu)"/>
+    <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-56,0,0,1,44"/>
+    <SyntheticProperty name="formPosition" type="java.awt.Point" value="-84,-19,0,5,115,114,0,14,106,97,118,97,46,97,119,116,46,80,111,105,110,116,-74,-60,-118,114,52,126,-56,38,2,0,2,73,0,1,120,73,0,1,121,120,112,0,0,0,0,0,0,0,0"/>
+    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+    <SyntheticProperty name="generatePosition" type="boolean" value="true"/>
+    <SyntheticProperty name="generateSize" type="boolean" value="true"/>
+    <SyntheticProperty name="generateCenter" type="boolean" value="true"/>
+  </SyntheticProperties>
+
+  <Events>
+    <EventHandler event="componentMoved" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="formComponentMoved"/>
+  </Events>
+
+  <AuxValues>
+  </AuxValues>
+
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+  <SubComponents>
+    <Container class="javax.swing.JToolBar" name="helpToolbar">
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="South"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JButton" name="btnBack">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="Back"/>
+          </Properties>
+
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnBackActionPerformed"/>
+          </Events>
+        </Component>
+        <Component class="javax.swing.JButton" name="btnForward">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="Forward"/>
+          </Properties>
+
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnForwardActionPerformed"/>
+          </Events>
+        </Component>
+        <Component class="javax.swing.JButton" name="btnRefresh">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="Refresh"/>
+          </Properties>
+
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnRefreshActionPerformed"/>
+          </Events>
+        </Component>
+        <Component class="javax.swing.JToggleButton" name="btnOnline">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/components/media/vistaOnline.gif"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JComboBox" name="lstHistory">
+
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="lstHistoryActionPerformed"/>
+          </Events>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JSplitPane" name="helpSplitter">
+      <Properties>
+        <Property name="dividerLocation" type="int" value="128"/>
+        <Property name="oneTouchExpandable" type="boolean" value="true"/>
+      </Properties>
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="Center"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
+      <SubComponents>
+        <Container class="javax.swing.JTabbedPane" name="helpNavigator">
+          <Properties>
+            <Property name="tabLayoutPolicy" type="int" value="1"/>
+          </Properties>
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
+              <JSplitPaneConstraints position="left"/>
+            </Constraint>
+          </Constraints>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout"/>
+          <SubComponents>
+            <Container class="javax.swing.JScrollPane" name="contentsScroller">
+              <Constraints>
+                <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
+                  <JTabbedPaneConstraints tabName="" toolTip="">
+                    <Image PropertyName="icon" iconType="3" name="/org/tjworld/components/media/help.gif"/>
+                  </JTabbedPaneConstraints>
+                </Constraint>
+              </Constraints>
+
+              <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+              <SubComponents>
+                <Component class="javax.swing.JTree" name="contentsTree">
+                  <Properties>
+                    <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                      <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                        <EtchetBorder/>
+                      </Border>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="Contents"/>
+                    <Property name="rootVisible" type="boolean" value="false"/>
+                    <Property name="showsRootHandles" type="boolean" value="true"/>
+                  </Properties>
+                </Component>
+              </SubComponents>
+            </Container>
+            <Container class="javax.swing.JPanel" name="indexPanel">
+              <Constraints>
+                <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
+                  <JTabbedPaneConstraints tabName="" toolTip="">
+                    <Image PropertyName="icon" iconType="3" name="/org/tjworld/components/media/index.gif"/>
+                  </JTabbedPaneConstraints>
+                </Constraint>
+              </Constraints>
+
+              <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+              <SubComponents>
+                <Component class="javax.swing.JTextField" name="indexSearchText">
+                  <Constraints>
+                    <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+                      <BorderConstraints direction="North"/>
+                    </Constraint>
+                  </Constraints>
+                </Component>
+                <Component class="javax.swing.JTree" name="indexTree">
+                  <Properties>
+                    <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                      <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                        <EtchetBorder/>
+                      </Border>
+                    </Property>
+                    <Property name="rootVisible" type="boolean" value="false"/>
+                    <Property name="showsRootHandles" type="boolean" value="true"/>
+                  </Properties>
+                  <Constraints>
+                    <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+                      <BorderConstraints direction="Center"/>
+                    </Constraint>
+                  </Constraints>
+                </Component>
+              </SubComponents>
+            </Container>
+            <Container class="javax.swing.JPanel" name="searchPanel">
+              <Constraints>
+                <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
+                  <JTabbedPaneConstraints tabName="" toolTip="">
+                    <Image PropertyName="icon" iconType="3" name="/org/tjworld/components/media/helpsearch.gif"/>
+                  </JTabbedPaneConstraints>
+                </Constraint>
+              </Constraints>
+
+              <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+              <SubComponents>
+                <Component class="javax.swing.JTextField" name="searchCriteriaText">
+                  <Constraints>
+                    <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+                      <BorderConstraints direction="North"/>
+                    </Constraint>
+                  </Constraints>
+                </Component>
+                <Component class="javax.swing.JList" name="searchResultsList">
+                  <Properties>
+                    <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                      <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                        <EtchetBorder/>
+                      </Border>
+                    </Property>
+                  </Properties>
+                  <Constraints>
+                    <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+                      <BorderConstraints direction="Center"/>
+                    </Constraint>
+                  </Constraints>
+                </Component>
+              </SubComponents>
+            </Container>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JScrollPane" name="helpDocScroller">
+
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value=""/>
+          </AuxValues>
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
+              <JSplitPaneConstraints position="right"/>
+            </Constraint>
+          </Constraints>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JTextPane" name="helpDoc">
+              <Properties>
+                <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                  <Border info="null"/>
+                </Property>
+                <Property name="editable" type="boolean" value="false"/>
+              </Properties>
+            </Component>
+          </SubComponents>
+        </Container>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/org/tjworld/components/xhtmlHelp.java b/org/tjworld/components/xhtmlHelp.java
new file mode 100644 (file)
index 0000000..82078e6
--- /dev/null
@@ -0,0 +1,746 @@
+/*\r
+       * xhtmlHelp.java\r
+ *\r
+       * Created on 09 November 2001, 16:13\r
+       * $Header: /VisTA/CID/Components/xhtmlHelp.java 7     12/11/01 3:01 Tj $\r
+       *\r
+       * $History: xhtmlHelp.java $\r
+ * \r
+ * *****************  Version 7  *****************\r
+ * User: Tj           Date: 12/11/01   Time: 3:01\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added History List logic to prevent duplicate titles. Added\r
+ * setLookAndFeel(), added L&F resize control logic\r
+ * \r
+ * *****************  Version 6  *****************\r
+ * User: Tj           Date: 11/11/01   Time: 4:10\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added Back, Forward, Refresh functionality. Added Online button.\r
+ * \r
+ * *****************  Version 5  *****************\r
+ * User: Tj           Date: 11/11/01   Time: 0:07\r
+ * Updated in $/VisTA/CID/Components\r
+ * Added setPage(URL) and detection of local help versus external pages\r
+ * (for locale-sensitive page selection)\r
+ * \r
+ * *****************  Version 4  *****************\r
+ * User: Tj           Date: 10/11/01   Time: 2:20\r
+ * Updated in $/VisTA/CID\r
+ * Added alternate <title> or <el id=title> Document Title detection\r
+ * \r
+ * *****************  Version 3  *****************\r
+ * User: Tj           Date: 10/11/01   Time: 1:37\r
+ * Updated in $/VisTA/CID\r
+ * Added: dynamic Locale-sensitive support, window icon, history-combo\r
+ * lists DocTitle, refresh is locale-sensitive\r
+ * \r
+ * *****************  Version 2  *****************\r
+ * User: Tj           Date: 9/11/01    Time: 21:06\r
+ * Updated in $/VisTA/CID\r
+ * Added support for URL History\r
+ */\r
+package org.tjworld.components;\r
+\r
+import java.awt.Color;\r
+import java.awt.Component;\r
+import java.awt.Cursor;\r
+import java.awt.Dimension;\r
+import java.awt.Point;\r
+\r
+import java.io.IOException;\r
+import java.net.URL;\r
+import java.util.Locale;\r
+import java.util.Vector;\r
+\r
+import javax.swing.UIManager;\r
+import javax.swing.JEditorPane;\r
+import javax.swing.JTree;\r
+import javax.swing.ComboBoxModel;\r
+import javax.swing.ImageIcon;\r
+import javax.swing.SwingUtilities;\r
+import javax.swing.UIManager;\r
+import javax.swing.UnsupportedLookAndFeelException;\r
+import javax.swing.event.DocumentListener;\r
+import javax.swing.event.DocumentEvent;\r
+import javax.swing.event.HyperlinkEvent;\r
+import javax.swing.event.HyperlinkListener;\r
+import javax.swing.event.TreeSelectionListener;\r
+import javax.swing.event.TreeSelectionEvent;\r
+import javax.swing.text.Document;\r
+import javax.swing.text.html.HTML;\r
+import javax.swing.text.html.HTMLDocument;\r
+import javax.swing.text.html.HTMLFrameHyperlinkEvent;\r
+import javax.swing.tree.TreeModel;\r
+import javax.swing.tree.TreeSelectionModel;\r
+import javax.swing.tree.DefaultMutableTreeNode;\r
+\r
+import org.tjworld.vista.cid.VistaFilter;\r
+\r
+import java.io.InputStream;\r
+import java.io.IOException;\r
+import java.net.HttpURLConnection;\r
+import java.net.URLConnection;\r
+import javax.swing.text.html.HTMLEditorKit;\r
+       \r
+\r
+/**\r
+       * Hopefully entitled xhtml, unfortunately the standard JTextPane models cannot support more than\r
+       * HTML 3.2 or 4.0, depending on the documentation/source code comments.\r
+       *\r
+       * Provides a Locale-sensitive help service with a toolbar and split-pane window.\r
+       * Toolbar provides common browser buttons and a History ComboBox. To the left of the split pane is\r
+       * a Navigation pane with three tabs: Contents, (searchable) Index, and Search (all text).\r
+       * The right pane contains the current help document.\r
+ *\r
+       * @author  TJ\r
+       * @version 1.0 10 Nov, 2001\r
+ */\r
+public class xhtmlHelp extends javax.swing.JFrame implements HyperlinkListener, TreeSelectionListener {\r
+       private URL helpBase = null;\r
+       private String defaultLanguage = "en";\r
+       private String language = "en";\r
+       private String country = "GB";\r
+       private boolean pageLoaded = false;\r
+       private boolean manualPosition = false;\r
+       private boolean inExtMove = false;\r
+       private boolean docking = false;\r
+\r
+       /** default glass pane before being replaced by VisTA filter */\r
+       private Component defaultGlassPane;\r
+\r
+       /** VisTA colourized transparent filter pane */\r
+       private VistaFilter vfFilter;\r
+\r
+       private String currentPage = null;\r
+       /** frame's small icon */\r
+       private ImageIcon icHelp;\r
+       \r
+       /** Creates new form xhtmlHelp */\r
+ public xhtmlHelp() {\r
+  this((URL)null, (Locale)null, (String)null);\r
+ }\r
+       \r
+       /** Creates a new xhtml with initial HTML page \r
+               * @param base The URL where the help files are located\r
+               * @param loc The Locale used by the help system\r
+               * @param initialPage The first page to display. A simple filename.extension, no path (unless the\r
+               * path part is relative to the Locale-specfic directory)\r
+               *\r
+               * base might be created using: new URL(myAppURL, "help/")\r
+               */\r
+       public xhtmlHelp(URL base, Locale loc, String initialPage) {\r
+               /* don't use the Host window decoration if at all possible\r
+                       * Must do this before the frame becomes Displayable\r
+                       * (by a call to pack() or show() )\r
+                       */\r
+               if(UIManager.getLookAndFeel().getSupportsWindowDecorations()) {\r
+               setUndecorated(true);  \r
+   getRootPane().setWindowDecorationStyle(javax.swing.JRootPane.FRAME);\r
+        }\r
+\r
+               icHelp = new ImageIcon(getClass().getResource("/org/tjworld/components/media/help.gif"));\r
+               initComponents();\r
+               contentsTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);\r
+               indexTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);\r
+               \r
+  contentsTree.addTreeSelectionListener(this);\r
+  indexTree.addTreeSelectionListener(this);\r
+\r
+               lstHistory.setRenderer(new IconTitledURLItemRenderer());\r
+               \r
+               if(loc == null) loc = Locale.getDefault();\r
+               setPageLocale(loc);\r
+               try {\r
+                helpBase = base;\r
+               } catch(Exception e) {\r
+                       helpBase = null;\r
+               }\r
+               setPage(initialPage);\r
+               helpDoc.addHyperlinkListener(this);\r
+       \r
+               // configure the VisTA filter\r
+               vfFilter = new VistaFilter();\r
+               vfFilter.setAlpha(0.5f); // transparency is a decimal between 0.0 and 1.0\r
+               vfFilter.setBackground(Color.blue);  //*** might want to have this set from saved Personal Preferences later\r
+\r
+               // prepare for taking over the Frame's glass pane too\r
+               defaultGlassPane = getGlassPane(); // keep track so it can be swapped in and out\r
+       setGlassPane(vfFilter); // replace it with the filter\r
+       }\r
+       \r
+       private boolean vistaFilterOn = false;\r
+       \r
+       public boolean isVista() {\r
+               return vistaFilterOn;\r
+       }\r
+       \r
+       public void setVista(boolean enable) {\r
+               vistaFilterOn = enable;\r
+               vfFilter.setVisible(vistaFilterOn);\r
+       }\r
+       \r
+       public void setVistaColour(Color c, float alpha) {\r
+        if(c != null) vfFilter.setBackground(c);\r
+               vfFilter.setAlpha(alpha);\r
+       }\r
+       \r
+       public Color getVistaColor(Float alpha) {\r
+               alpha = new Float(vfFilter.getAlpha());\r
+               return vfFilter.getBackground();\r
+       }\r
+       \r
+       /** Sets the locale to use in displaying help files\r
+               *\r
+               * When a page is already loaded, a change of Locale will cause the the new Locale's version\r
+               * of this page to be loaded, if there is one.\r
+               *\r
+               * For example:\r
+               * If /help/en/default.html is loaded when setPageLocale(Locale.CANADA_FRENCH) is called, \r
+               * /help/fr/CA/default.html will be looked for first, if not found, then\r
+               * /help/fr/default.html will be looked for, if not found then\r
+               * /help/en/default.html will be looked for, where "en" is the default Locale language\r
+               * @param loc The new currentLocale\r
+               */\r
+ public void setPageLocale(Locale loc) {\r
+               if(loc != null) language = loc.getLanguage(); // get the ISO-639 language code, to make a directory name\r
+               if(loc != null) country = loc.getCountry(); // get the ISO-3166 2-letter coode, to make a directory name\r
+               if(isPageLoaded())\r
+                       reloadPage();\r
+       }\r
+       \r
+       /** Determine if a page is currently displayed\r
+               * @returns true if a page is displayed, false otherwise\r
+               */\r
+ public boolean isPageLoaded() {\r
+               return pageLoaded;\r
+       }\r
+       \r
+       /** The simple name of the currently displayed page\r
+               * @returns the simple page name (filename.extension)\r
+               */\r
+ public String getCurrentPage() {\r
+               return currentPage;\r
+       }\r
+\r
+       /** Reloads the current page\r
+               *\r
+               * This is quite a clever method, in that if a change of Locale has occurred since the\r
+               * last setPage() or reloadPage(), the reloaded page will be looked for in the new\r
+               * current Locale.\r
+               */\r
+       public boolean reloadPage() {\r
+               ComboBoxModel model = lstHistory.getModel();\r
+               return setPage((HelpIconTitledURLItem)model.getSelectedItem());\r
+       }\r
+       \r
+       /**\r
+        * Called when a hypertext link is updated.\r
+               *\r
+               * @param e the event responsible for the update\r
+               */\r
+       public void hyperlinkUpdate(HyperlinkEvent e) {\r
+  if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {\r
+       JEditorPane pane = (JEditorPane) e.getSource();\r
+       if (e instanceof HTMLFrameHyperlinkEvent) {\r
+        HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent)e;\r
+        HTMLDocument doc = (HTMLDocument)pane.getDocument();\r
+        doc.processHTMLFrameHyperlinkEvent(evt);\r
+       } else {\r
+        try {\r
+         setPage(e.getURL());\r
+        } catch (Throwable t) {\r
+         t.printStackTrace();\r
+               }\r
+       }\r
+  }            \r
+       }                               \r
+\r
+       javax.swing.text.html.HTMLEditorKit kit = null;\r
+\r
+       public void createContents(URL htmlContents) throws IOException {\r
+               InputStream in = getStream(htmlContents);\r
+               if(kit == null)\r
+                       kit = new HTMLEditorKit();\r
+               \r
+       }\r
+       \r
+       public void createIndex(URL htmlIndex) {\r
+       }\r
+       \r
+       protected void buildTree(JTree tree, HTMLDocument htmlDoc, HTML.Tag tag, String id) {\r
+       }\r
+       \r
+       protected InputStream getStream(URL page) throws IOException {\r
+        URLConnection conn = page.openConnection();\r
+        if (conn instanceof HttpURLConnection) {\r
+         HttpURLConnection hconn = (HttpURLConnection) conn;\r
+         hconn.setInstanceFollowRedirects(false);\r
+         int response = hconn.getResponseCode();\r
+       }\r
+        InputStream in = conn.getInputStream();\r
+        return in;\r
+       }\r
+               \r
+       /**\r
+               * Change the (HTML) document displayed in the help window\r
+               * The complete URL will be built from:\r
+               *  (the previously provided) baseURL + "help/" + language + "/" + country + "/" + page\r
+               * This mechanism allows locale-specific pages to be provided and used transparently.\r
+               * When a page in the language of the current Locale is not available, the same page\r
+               * for the default Locale will be looked for instead.\r
+               *\r
+               * Help files are use the following directory structure:\r
+               *\r
+               * <helpBase> = baseURL + "/help/"\r
+               * <currentLocale> = <helpBase> + <ISO-639 code> + <ISO-3166 code>\r
+               *\r
+               * in other words:\r
+               * \r
+               * myapp/help/ (helpBase)\r
+               * myapp/help/images/ (optional location for common image files)\r
+               * myapp/help/en/ (English)\r
+               * myapp/help/en/US/ (English USA)\r
+               * myapp/help/fr/ (French)\r
+               * myapp/help/fr/CA (French Canadian}\r
+               *\r
+               * Common supporting image and other files can be placed in the helpBase directory and\r
+               * it's sub-directories. CSS stylesheets can be organised such that global styles are\r
+               * stored in helpBase, and language-specific styles in the individual Locale directories.\r
+               * \r
+               * @param page simple page name (no path)\r
+               */\r
+       public boolean setPage(String page) {\r
+  URL url = setPageImpl(page);\r
+               boolean result = url != null ? true : false;\r
+               \r
+               if(result == true) { // loading has begun\r
+                       HTMLDocument docType = (HTMLDocument)helpDoc.getStyledDocument();\r
+   Thread getDoc = new waitForDocTitle(page, url, true);\r
+                       getDoc.run(); // wait for it to complete then add the title to the history list\r
+               }\r
+               \r
+               return result;\r
+       }\r
+       \r
+       public boolean setPage(HelpIconTitledURLItem item) {\r
+               URL url = setPageImpl(item.getFilename());\r
+               return url != null ? true : false;\r
+       }\r
+       \r
+       public boolean setPage(URL url) {\r
+               boolean result = false;\r
+               String base = helpBase.toString();\r
+               String next = url.toString();\r
+               \r
+               if(next.startsWith(base)) { // page is within local help service\r
+                       int pagePos = next.lastIndexOf('/');\r
+                       String page = next.substring(pagePos+1);\r
+                       result = setPage(page);\r
+               }\r
+               else { // external page, use full URL\r
+                       System.out.println("External URLs not permitted just now");\r
+               }\r
+               return result;\r
+       }\r
+       \r
+       protected URL setPageImpl(String page) {\r
+               boolean result = false;\r
+               URL u = null;\r
+\r
+               if(helpBase != null && page != null) {\r
+               try {\r
+                       u = new URL(helpBase, language + "/" + country + "/" + page); // country-sensitive help\r
+                helpDoc.setPage(u); // load the page (asynchronously)\r
+                               result = true;\r
+               } catch(IOException e) { // eeek! Country-specific page not available\r
+    System.err.println("Page Not Found loading " + page + " for " + language + "_" + country);\r
+               try {\r
+                       u = new URL(helpBase, language + "/" + page); // language-sensitive help\r
+                helpDoc.setPage(u); // load the page (asynchronously)\r
+                               result = true;\r
+     System.err.println("Page Found loading " + page + " for " + language);\r
+               } catch(IOException f) { // eeek! Language-specific page not available\r
+     System.err.println("Page Not Found loading " + page + " for " + language);\r
+                       try { // maybe the default language page is?\r
+                                       u = new URL(helpBase, defaultLanguage + "/" + page); // locale-insensitive help\r
+                 helpDoc.setPage(u); // load the page (asynchronously)\r
+                                       result = true;\r
+      System.err.println("Page Found loading " + page + " for " + defaultLanguage);\r
+                               } catch(IOException g) { // nope! Page Not Found\r
+      System.err.println("Page Not Found loading " + page);\r
+                               }\r
+                               }\r
+         }\r
+               }\r
+               if(result == true) { // loading has begun\r
+                       pageLoaded = true; // not strictly true, but the URL was found to be valid\r
+                       currentPage = page;\r
+               }\r
+               else\r
+                       u = null;\r
+               \r
+               return u;               \r
+       }\r
+       \r
+       /** \r
+               * Due to the HTML document being loaded asynchronously into the JTextPane helpDoc, the title tag\r
+               * of the HTML document will not be available immediately for adding to the History list.\r
+               *\r
+               * Therefore this monitor class is started in a new Thread. It waits for a TitleProperty to be\r
+               * available from the JTextPane.styledDocument HTMLDocument.\r
+               */\r
+       class waitForDocTitle extends Thread {\r
+               String page;\r
+               URL url;\r
+               boolean local;\r
+               \r
+               /** Create the monitor\r
+                       * @param page The simple page name (not locale-specific)\r
+                       * @param url The page's URL (locale-specific)\r
+                       * @param local true if the page is part of the help set, false if it's external\r
+                       */\r
+  waitForDocTitle(String page, URL url, boolean local) {\r
+                this.page = page;\r
+                       this.url = url;\r
+                       this.local = local;\r
+               }\r
+               \r
+               /**\r
+                       * Wait until the TitleProperty of the document has been parsed and added to the StyledDocument's\r
+                       * Property set.\r
+                       */\r
+  public void run() {\r
+                       int count = 0;\r
+                       String docTitle;\r
+                       HTMLDocument html = (HTMLDocument)helpDoc.getStyledDocument();\r
+                       javax.swing.text.Element obj = null;\r
+                       while((docTitle = (String)html.getProperty(Document.TitleProperty)) == null && (obj = html.getElement("title")) == null) {\r
+                               System.out.println("Waiting");\r
+    try { \r
+                                       sleep(100);\r
+                               } catch(InterruptedException e) {}\r
+                               count++; // count how many times the loop has cycled\r
+                               if(count > 10) break; // don't get stuck in a race condition\r
+                       };\r
+\r
+                       // at this point docTitle will be null or contain the HTML <title> element contents\r
+                       // there might also be an element with id="title"\r
+                       if(obj != null) { // if so, it is preferred to the <title> element itself\r
+                               obj = obj.getElement(0); // get it's first child - it had better be plain text else we're scuppered!\r
+                       try {\r
+                        docTitle = obj.getDocument().getText(obj.getStartOffset(),obj.getEndOffset() - obj.getStartOffset());\r
+                        } catch(Exception e) { \r
+                                       System.err.println("Unable to find text contents of HTML Element with id=title");\r
+                        }\r
+                       }\r
+\r
+                       // check the title isn't already in the History by counting out all the unequal titles\r
+                       int stop = count = lstHistory.getItemCount();\r
+                       String t = null;\r
+                       for(int i = 0; i < stop; i++) { // compare each one\r
+                               t = ((HelpIconTitledURLItem)lstHistory.getItemAt(i)).getTitle(); // the title from the ComboBox\r
+                               if(!t.equals(docTitle)) // not a match\r
+                                       --count; // one down\r
+                               else // found the same title, so select it\r
+                                       lstHistory.setSelectedIndex(i); // show the current doc in the combobox\r
+                       }\r
+                       \r
+                       if(count == 0) { // found a unique title, so add it to the URL History\r
+                               HelpIconTitledURLItem item = new HelpIconTitledURLItem(docTitle, url, local);\r
+                        lstHistory.addItem(item);\r
+                        lstHistory.setSelectedItem(item); // select it (it's the latest)\r
+                       }\r
+               }\r
+       }\r
+       \r
+       /** Help Contents tab */\r
+       public static final int TAB_CONTENTS = 1;\r
+       \r
+       /** Help Index tab */\r
+       public static final int TAB_INDEX = 2;\r
+       \r
+       /** Help Search tab */\r
+       public static final int TAB_SEARCH = 3;\r
+       \r
+       /** Set the active navigator tab\r
+               * @param tabSelect The tab to receive focus\r
+               */\r
+ public void setNavigationTab(int tabSelect) {\r
+               if(tabSelect >= 1 && tabSelect <= helpNavigator.getTabCount())\r
+                helpNavigator.setSelectedIndex(tabSelect-1); // offset by -1 because zero indicates not to change it\r
+       }\r
+       \r
+       public void setNavigationContentsTreeRoot(TreeModel contentsModel) {\r
+               contentsTree.setModel(contentsModel);\r
+       }\r
+       \r
+       public void setNavigationIndexTreeRoot(TreeModel indexModel) {\r
+               indexTree.setModel(indexModel);\r
+       }\r
+       \r
+       \r
+ public void setLocation(Point p, Component source) {\r
+               inExtMove = true;\r
+               if(!manualPosition) // only relocate if User hasn't previously positioned the window\r
+                       super.setLocation(p);\r
+       }\r
+       \r
+       public void setSize(Dimension d, Component source) {\r
+               inExtMove = true;\r
+               if(!manualPosition) // only resize if User hasn't previously positioned the window\r
+                       super.setSize(d);\r
+       }\r
+       \r
+       public void setDocking(boolean dock) {\r
+               docking = dock;\r
+               manualPosition = false;\r
+       }\r
+       \r
+       public boolean isDocking() {\r
+               return docking;\r
+       }\r
+       \r
+ /** This method is called from within the constructor to\r
+  * initialize the form.\r
+  * WARNING: Do NOT modify this code. The content of this method is\r
+  * always regenerated by the Form Editor.\r
+  */\r
+       private void initComponents() {//GEN-BEGIN:initComponents\r
+               helpToolbar = new javax.swing.JToolBar();\r
+               btnBack = new javax.swing.JButton();\r
+               btnForward = new javax.swing.JButton();\r
+               btnRefresh = new javax.swing.JButton();\r
+               btnOnline = new javax.swing.JToggleButton();\r
+               lstHistory = new javax.swing.JComboBox();\r
+               helpSplitter = new javax.swing.JSplitPane();\r
+               helpNavigator = new javax.swing.JTabbedPane();\r
+               contentsScroller = new javax.swing.JScrollPane();\r
+               contentsTree = new javax.swing.JTree();\r
+               indexPanel = new javax.swing.JPanel();\r
+               indexSearchText = new javax.swing.JTextField();\r
+               indexTree = new javax.swing.JTree();\r
+               searchPanel = new javax.swing.JPanel();\r
+               searchCriteriaText = new javax.swing.JTextField();\r
+               searchResultsList = new javax.swing.JList();\r
+               helpDocScroller = new javax.swing.JScrollPane();\r
+               helpDoc = new javax.swing.JTextPane();\r
+               \r
+               setTitle("Help");\r
+               setIconImage(icHelp.getImage());\r
+               addComponentListener(new java.awt.event.ComponentAdapter() {\r
+                       public void componentMoved(java.awt.event.ComponentEvent evt) {\r
+                               formComponentMoved(evt);\r
+                       }\r
+               });\r
+               \r
+               btnBack.setText("Back");\r
+               btnBack.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               btnBackActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               helpToolbar.add(btnBack);\r
+               \r
+               btnForward.setText("Forward");\r
+               btnForward.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               btnForwardActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               helpToolbar.add(btnForward);\r
+               \r
+               btnRefresh.setText("Refresh");\r
+               btnRefresh.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               btnRefreshActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               helpToolbar.add(btnRefresh);\r
+               \r
+               btnOnline.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/components/media/vistaOnline.gif")));\r
+               helpToolbar.add(btnOnline);\r
+               \r
+               lstHistory.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               lstHistoryActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               helpToolbar.add(lstHistory);\r
+               \r
+               getContentPane().add(helpToolbar, java.awt.BorderLayout.SOUTH);\r
+               \r
+               helpSplitter.setDividerLocation(128);\r
+               helpSplitter.setOneTouchExpandable(true);\r
+               helpNavigator.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);\r
+               contentsTree.setBorder(new javax.swing.border.EtchedBorder());\r
+               contentsTree.setName("Contents");\r
+               contentsTree.setRootVisible(false);\r
+               contentsTree.setShowsRootHandles(true);\r
+               contentsScroller.setViewportView(contentsTree);\r
+               \r
+               helpNavigator.addTab("", new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/components/media/help.gif")), contentsScroller);\r
+               \r
+               indexPanel.setLayout(new java.awt.BorderLayout());\r
+               \r
+               indexPanel.add(indexSearchText, java.awt.BorderLayout.NORTH);\r
+               \r
+               indexTree.setBorder(new javax.swing.border.EtchedBorder());\r
+               indexTree.setRootVisible(false);\r
+               indexTree.setShowsRootHandles(true);\r
+               indexPanel.add(indexTree, java.awt.BorderLayout.CENTER);\r
+               \r
+               helpNavigator.addTab("", new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/components/media/index.gif")), indexPanel);\r
+               \r
+               searchPanel.setLayout(new java.awt.BorderLayout());\r
+               \r
+               searchPanel.add(searchCriteriaText, java.awt.BorderLayout.NORTH);\r
+               \r
+               searchResultsList.setBorder(new javax.swing.border.EtchedBorder());\r
+               searchPanel.add(searchResultsList, java.awt.BorderLayout.CENTER);\r
+               \r
+               helpNavigator.addTab("", new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/components/media/helpsearch.gif")), searchPanel);\r
+               \r
+               helpSplitter.setLeftComponent(helpNavigator);\r
+               \r
+               helpDoc.setBorder(null);\r
+               helpDoc.setEditable(false);\r
+               helpDocScroller.setViewportView(helpDoc);\r
+               \r
+               helpSplitter.setRightComponent(helpDocScroller);\r
+               \r
+               getContentPane().add(helpSplitter, java.awt.BorderLayout.CENTER);\r
+               \r
+               pack();\r
+       }//GEN-END:initComponents\r
+\r
+       private void btnRefreshActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRefreshActionPerformed\r
+               reloadPage();\r
+       }//GEN-LAST:event_btnRefreshActionPerformed\r
+\r
+       private void btnForwardActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnForwardActionPerformed\r
+  int next = lstHistory.getSelectedIndex()+1;\r
+               if(next < lstHistory.getItemCount()) {\r
+                HelpIconTitledURLItem item = (HelpIconTitledURLItem)lstHistory.getItemAt(next);\r
+                       if(currentPage != item.getFilename()) { // don't react if the current page was selected\r
+                               lstHistory.setSelectedIndex(next);\r
+                 setPage(item);\r
+                       }\r
+               }\r
+       }//GEN-LAST:event_btnForwardActionPerformed\r
+\r
+       private void btnBackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBackActionPerformed\r
+  int last = lstHistory.getSelectedIndex()-1;\r
+               if(last >= 0) {\r
+                HelpIconTitledURLItem item = (HelpIconTitledURLItem)lstHistory.getItemAt(last);\r
+                       if(currentPage != item.getFilename()) { // don't react if the current page was selected\r
+                               lstHistory.setSelectedIndex(last);\r
+                 setPage(item);\r
+                       }\r
+               }\r
+       }//GEN-LAST:event_btnBackActionPerformed\r
+\r
+       private void formComponentMoved(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_formComponentMoved\r
+  if(!docking) {\r
+               if(!inExtMove) manualPosition = true;\r
+               }\r
+               inExtMove = false;\r
+       }//GEN-LAST:event_formComponentMoved\r
+\r
+       private void lstHistoryActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lstHistoryActionPerformed\r
+  HelpIconTitledURLItem item = (HelpIconTitledURLItem)lstHistory.getSelectedItem();\r
+               if(currentPage != item.getFilename()) // don't react if the current page was selected\r
+                setPage(item);\r
+       }//GEN-LAST:event_lstHistoryActionPerformed\r
+\r
+ /** Tree Selection Listener for Content and Index trees.\r
+               * Doesn't matter whether the source is the Content or Index tree\r
+               */\r
+ public void valueChanged(TreeSelectionEvent e) {\r
+  DefaultMutableTreeNode node = (DefaultMutableTreeNode)((JTree)e.getSource()).getLastSelectedPathComponent();\r
+               if (node != null) {\r
+   Object nodeInfo = node.getUserObject();\r
+   if (node.isLeaf() && (nodeInfo instanceof HelpIconTitledURLItem))\r
+    setPage((HelpIconTitledURLItem)nodeInfo);\r
+  }\r
+ }\r
+       \r
+               /** Choose the Java Look & Feel\r
+                       * @param lf The L&F name\r
+                       */              \r
+ public void setLookAndFeel(String lf) {\r
+  Cursor curCursor = getCursor(); // save the existing cursor\r
+  setCursor(new Cursor(Cursor.WAIT_CURSOR)); // let the user know this might take a while\r
+   \r
+  try { \r
+   UIManager.setLookAndFeel(lf);\r
+                               \r
+                       // now adjust the frame decoration depending on whether the L&F supports painting it\r
+                       setVisible(false); // hide the frame while the decoration is changed\r
+                       dispose(); // detatch all of the native windowing resources\r
+\r
+                       if(UIManager.getLookAndFeel().getSupportsWindowDecorations()) {\r
+               setUndecorated(true);  // don't use the Host window decoration\r
+    getRootPane().setWindowDecorationStyle(javax.swing.JRootPane.FRAME);\r
+                       } else {\r
+                               setUndecorated(false); // L&F doesn't support decorating the frame\r
+    getRootPane().setWindowDecorationStyle(javax.swing.JRootPane.NONE);\r
+                       }                                       \r
+  } catch(UnsupportedLookAndFeelException e) { // uh-oh, a problem\r
+   try {\r
+    System.err.println("Couldn't switch to " + lf + ", selecting Cross Platform instead");\r
+    UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); // try to recover gracefully\r
+   } catch(Exception g) { // major problem!\r
+    System.err.println("Couldn't return to Cross Platform L&F - eeek!");\r
+                               g.printStackTrace();\r
+   } \r
+  } catch(Exception f) { // oh pooey, what do I do now?\r
+   System.err.println("Couldn't load " + lf);\r
+                       f.printStackTrace();\r
+  } finally { // do this in any case\r
+   SwingUtilities.updateComponentTreeUI(this); // update the view\r
+                       \r
+   /* one problem is that the JTextPane has long lines of HTML paragraph text which pack()\r
+                               * allows to extend very wide! So here I take a note of the existing width of the JTextPane\r
+                               * and explictly set it after pack()\r
+                       */\r
+               Dimension dim = getSize();\r
+   pack(); // make sure to adjust for potentially altered component sizes\r
+               setSize(dim);\r
+                       setVisible(true);\r
+  }\r
+   \r
+  setCursor(curCursor);  // restore the cursor\r
+ }\r
+       \r
+ /** Exit the Application \r
+  * @param args the command line arguments\r
+  */\r
+ public static void main(String args[]) {\r
+               new xhtmlHelp().show();\r
+ }\r
+\r
+       // Variables declaration - do not modify//GEN-BEGIN:variables\r
+       private javax.swing.JToolBar helpToolbar;\r
+       private javax.swing.JButton btnBack;\r
+       private javax.swing.JButton btnForward;\r
+       private javax.swing.JButton btnRefresh;\r
+       private javax.swing.JToggleButton btnOnline;\r
+       private javax.swing.JComboBox lstHistory;\r
+       private javax.swing.JSplitPane helpSplitter;\r
+       private javax.swing.JTabbedPane helpNavigator;\r
+       private javax.swing.JScrollPane contentsScroller;\r
+       private javax.swing.JTree contentsTree;\r
+       private javax.swing.JPanel indexPanel;\r
+       private javax.swing.JTextField indexSearchText;\r
+       private javax.swing.JTree indexTree;\r
+       private javax.swing.JPanel searchPanel;\r
+       private javax.swing.JTextField searchCriteriaText;\r
+       private javax.swing.JList searchResultsList;\r
+       private javax.swing.JScrollPane helpDocScroller;\r
+       private javax.swing.JTextPane helpDoc;\r
+       // End of variables declaration//GEN-END:variables\r
+}\r
diff --git a/org/tjworld/vista/CID/CID.form b/org/tjworld/vista/CID/CID.form
new file mode 100644 (file)
index 0000000..7a06681
--- /dev/null
@@ -0,0 +1,3469 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+  <NonVisualComponents>
+    <Menu class="javax.swing.JMenuBar" name="mbMain">
+      <Properties>
+        <Property name="focusCycleRoot" type="boolean" value="true"/>
+      </Properties>
+      <SubComponents>
+        <Menu class="javax.swing.JMenu" name="mProfile">
+          <Properties>
+            <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection type="value" value="java.awt.event.KeyEvent.VK_P" valueType="int"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mProName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="mPro"/>
+          </Properties>
+          <SubComponents>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileNew">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aNew" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_NEW)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActNew"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileOpen">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aOpen" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActOpen"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileSave">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aSave" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SAVE)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SAVE)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSave"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileSaveAs">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aSaveAs" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SAVE_AS)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SAVE_AS)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSaveAs"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileDelete">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aDelete" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_PROFILE_DELETE)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActDel"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JSeparator" name="mProfileSeparator1">
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileToVista">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aSendToVistaDB" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSendToVista"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JSeparator" name="mProfileSeparator2">
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileFromCookie">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aFromCookie" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActFrCook"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileToCookie">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aToCookie" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActToCook"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileCreateFilter">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aCreateFilter" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActCreFlt"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileWeb">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aToVistaPage" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActToVistaPage"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JSeparator" name="mProfileSeparator3">
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfilePrint">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aPrint" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActPrint"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfilePageSetup">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aPageSetup" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActPageSet"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JSeparator" name="mProfileSeparator4">
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mProfileProperties">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aProperties" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActProProps"/>
+              </Properties>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="mModel">
+          <Properties>
+            <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection type="value" value="java.awt.event.KeyEvent.VK_M" valueType="int"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mModName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="mMod"/>
+          </Properties>
+          <SubComponents>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mModel1">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgModelAlgorithm" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="a1_Up" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_1UP)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_1UP)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="Act1Up"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mModel2">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgModelAlgorithm" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="a2_Up" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_2UP)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_2UP)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="Act2Up"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mModelAlternate">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgModelAlgorithm" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aAlternate" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActAlt"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JSeparator" name="jSeparator9">
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mModelBothEyes">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgModelEyes" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aBothEyes" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActBothEyes"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mModelEyesSeparate">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgModelEyes" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aSeparateEyes" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSepEyes"/>
+              </Properties>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="mTemplate">
+          <Properties>
+            <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection type="value" value="java.awt.event.KeyEvent.VK_T" valueType="int"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mTemplName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="mTempl"/>
+          </Properties>
+          <SubComponents>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mTemplateReading">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgTemplate" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aReading" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_READING)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_READING)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActRead"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mTemplatePattern">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgTemplate" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aPatterns" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_PATTERNS)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_PATTERNS)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActPat"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mTemplateImage">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgTemplate" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aImages" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_IMAGES)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_IMAGES)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActPat"/>
+              </Properties>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="mColour">
+          <Properties>
+            <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection type="value" value="java.awt.event.KeyEvent.VK_C" valueType="int"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mColourName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="mColour"/>
+          </Properties>
+          <SubComponents>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mColourRGB">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgColourModel" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aRGB" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_RGB)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_RGB)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActRGB"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mColourHSB">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgColourModel" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aHSB" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HSB)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HSB)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActHSB"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mColourCYMK">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgColourModel" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aCYMK" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_CYMK)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_CYMK)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActCYMK"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JSeparator" name="jSeparator7">
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mColourWheel">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgColourView" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aWheel" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActWheel"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mColourTriangle">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgColourView" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aTriangle" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActTri"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mColourCube">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgColourView" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aQube" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActQube"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mColourSystemChooser">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgColourView" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aColorChooser" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSysCol"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mColourSwatch">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgColourView" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aSwatches" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSwatch"/>
+              </Properties>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="mDirector">
+          <Properties>
+            <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection type="value" value="java.awt.event.KeyEvent.VK_D" valueType="int"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mDirName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="mDir"/>
+          </Properties>
+          <SubComponents>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mDirectorManual">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgDirection" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aManual" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActManual"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mDirectorAuto">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgDirection" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aAuto" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActAuto"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mDirectorDirect">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgDirection" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aDirected" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActDirect"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mDirectorScript">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="mbgDirection" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aScript" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActScript"/>
+              </Properties>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="mOptions">
+          <Properties>
+            <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection type="value" value="java.awt.event.KeyEvent.VK_O" valueType="int"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="mOpt"/>
+          </Properties>
+          <SubComponents>
+            <Menu class="javax.swing.JMenu" name="mOptionsReading">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_R" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptReadName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptReadTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_READING)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_READING)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptRead"/>
+              </Properties>
+              <SubComponents>
+                <MenuItem class="javax.swing.JMenuItem" name="mReadingChoose">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_O" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptReadChosName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptReadChosTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptReadChos"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mReadingCustomize">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_C" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptTemplCustName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptTemplCustTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptTemplCust"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mReadingPreferences">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_R" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptReadPrefsName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptReadPrefsTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptReadPrefs"/>
+                  </Properties>
+                </MenuItem>
+              </SubComponents>
+            </Menu>
+            <Menu class="javax.swing.JMenu" name="mOptionsPatterns">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_P" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptPatName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptPatTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_PATTERNS)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_PATTERNS)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptPat"/>
+              </Properties>
+              <SubComponents>
+                <MenuItem class="javax.swing.JMenuItem" name="mPatternsChoose">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_O" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptPatChosName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptPatChosTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptPatChos"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mPatternsCustomize">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_C" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptTemplCustName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptTemplCustTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptTemplCust"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mPatternsPreferences">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_R" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptPatPrefsName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptPatPrefsTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptPatPrefs"/>
+                  </Properties>
+                </MenuItem>
+              </SubComponents>
+            </Menu>
+            <Menu class="javax.swing.JMenu" name="mOptionsImages">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_I" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptImgName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptImgTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_IMAGES)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptImg"/>
+              </Properties>
+              <SubComponents>
+                <MenuItem class="javax.swing.JMenuItem" name="mImgChoose">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_O" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptImgChosName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptImgChosTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptSwatChos"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mImgCustomize">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_C" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptTemplCustName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptTemplCustTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptTemplCust"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mImgPreferences">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_R" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptImgPrefsName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptImgPrefsTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptSwatPrefs"/>
+                  </Properties>
+                </MenuItem>
+              </SubComponents>
+            </Menu>
+            <Menu class="javax.swing.JMenu" name="mOptionsSwatches">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_W" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptSwatName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptSwatTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_READING)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_SWATCHES)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptSwat"/>
+              </Properties>
+              <SubComponents>
+                <MenuItem class="javax.swing.JMenuItem" name="mSwatchesChoose">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_O" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptSwatChosName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptSwatChosTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptSwatChos"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mSwatchesCustomize">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_C" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptTemplCustName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptTemplCustTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptTemplCust"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mSwatchesPreferences">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_R" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptSwatPrefsName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptSwatPrefsTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptSwatPrefs"/>
+                  </Properties>
+                </MenuItem>
+              </SubComponents>
+            </Menu>
+            <Menu class="javax.swing.JMenu" name="mOptionsDirected">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_I" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptDirName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptDirTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_DIRECTED)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_DIRECTED)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptDir"/>
+              </Properties>
+              <SubComponents>
+                <MenuItem class="javax.swing.JMenuItem" name="mDirectedConnect">
+                  <Properties>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aConnect" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_CONNECT)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_CONNECT)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActConnect"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mDirectedDisconnect">
+                  <Properties>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aDisconnect" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActDisc"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mDirectedPreferences">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_R" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptDirPrefsName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptDirPrefsTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptDirPrefs"/>
+                  </Properties>
+                </MenuItem>
+              </SubComponents>
+            </Menu>
+            <Menu class="javax.swing.JMenu" name="mOptionsScripted">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_C" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptScrName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptScrTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_SCRIPT)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_SCRIPT)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptScr"/>
+              </Properties>
+              <SubComponents>
+                <MenuItem class="javax.swing.JMenuItem" name="mOptionsScriptedChoose">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_O" valueType="int"/>
+                    </Property>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptScrChosName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptScrChosTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptScrChos"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mOptionsScriptedPlay">
+                  <Properties>
+                    <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection type="value" value="java.awt.event.KeyEvent.VK_Y" valueType="int"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aPlay" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_PLAY)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_PLAY)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActPlay"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mOptionsScriptedRecord">
+                  <Properties>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aRecord" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_RECORD)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActRec"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mOptionsScriptedPause">
+                  <Properties>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aPause" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_PAUSE)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_PAUSE)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActPause"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mOptionsScriptedStop">
+                  <Properties>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aStop" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_STOP)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_STOP)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActStop"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JMenuItem" name="mOptionsScriptedPreferences">
+                  <Properties>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptScrPrefsName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptScrPrefsTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mOptScrPrefs"/>
+                  </Properties>
+                </MenuItem>
+              </SubComponents>
+            </Menu>
+            <Menu class="javax.swing.JMenu" name="mOptionsFilter">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_F" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptFltName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptFltTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_FILTER_WINDOW)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptFlt"/>
+              </Properties>
+              <SubComponents>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mFilterTemplate">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgFilter" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aFilterTemplate" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActFltTmpl"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mFilterWindow">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgFilter" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aFilterWindow" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActFltWin"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mFilterScreen">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgFilter" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aFilterScreen" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActFltScr"/>
+                  </Properties>
+                </MenuItem>
+              </SubComponents>
+            </Menu>
+            <Menu class="javax.swing.JMenu" name="mOptionsLanguage">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_L" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptLangName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptLangTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_LANGUAGE)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_LANGUAGE)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptLang"/>
+              </Properties>
+              <SubComponents>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageDefault">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageDefault" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_DEFAULT)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_DEFAULT)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangDef"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageBritish">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageBritish" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangBrit"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageFrench">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageFrench" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_FRENCH)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_FRENCH)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangFr"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageSpanish">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageSpanish" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_SPANISH)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_SPANISH)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangSpan"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageGerman">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageGerman" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_GERMAN)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_GERMAN)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangGer"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageArabicEgypt">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageArabicEgypt" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_AR_EG)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_AR_EG)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangArEG"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageFarsiIran">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageFarsiIran" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_FA_IR)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_FA_IR)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangFaIR"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageHindiIndia">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageHindiIndia" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_HI_IN)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_HI_IN)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangHiIN"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageIndonesian">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageIndonesian" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_IN)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangIndonesian"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageJapanese">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageJapanese" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_JA)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_JA)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangJapanese"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageDutch">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageDutch" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_NL)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_NL)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangDutch"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguagePashto">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguagePashto" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_PS)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_PS)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangPashto"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguagePortuguese">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguagePortuguese" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_PT)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_PT)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangPortuguese"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageRussian">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageRussian" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_RU)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_RU)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangRussian"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageSwedish">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageSwedish" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_SV)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_SV)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangSwedish"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageUrdu">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageUrdu" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_UR)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_UR)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangUrdu"/>
+                  </Properties>
+                </MenuItem>
+                <MenuItem class="javax.swing.JRadioButtonMenuItem" name="mLanguageChinese">
+                  <Properties>
+                    <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="mbgLanguage" type="code"/>
+                    </Property>
+                    <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="aLanguageChinese" type="code"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_ZH)).dimmed" type="code"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_ZH)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActLangChinese"/>
+                  </Properties>
+                </MenuItem>
+              </SubComponents>
+            </Menu>
+            <Menu class="javax.swing.JMenu" name="mOptionsToolbar">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_T" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptTbarName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptTbarTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/toolbars.gif"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptTbar"/>
+              </Properties>
+              <SubComponents>
+                <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mToolbarToolBar">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mTbarTbarName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mTbarTbarTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                      <Image iconType="3" name="/org/tjworld/vista/cid/media/toolbars.gif"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mTbarTbar"/>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mToolbarToolBarActionPerformed"/>
+                  </Events>
+                </MenuItem>
+                <MenuItem class="javax.swing.JSeparator" name="jSeparator1">
+                </MenuItem>
+                <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mToolbarProfile">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActProName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_NEW)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActPro"/>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mToolbarProfileActionPerformed"/>
+                  </Events>
+                </MenuItem>
+                <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mToolbarModel">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mModName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_1UP)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mMod"/>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mToolbarModelActionPerformed"/>
+                  </Events>
+                </MenuItem>
+                <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mToolbarEyes">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mEyesName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mEyes"/>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mToolbarEyesActionPerformed"/>
+                  </Events>
+                </MenuItem>
+                <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mToolbarTemplate">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mTemplName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_READING)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mTempl"/>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mToolbarTemplateActionPerformed"/>
+                  </Events>
+                </MenuItem>
+                <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mToolbarColourModel">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mColourModelName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_RGB)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mColourModel"/>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mToolbarColourModelActionPerformed"/>
+                  </Events>
+                </MenuItem>
+                <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mToolbarColourView">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mColourViewName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_WHEEL)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mColourView"/>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mToolbarColourViewActionPerformed"/>
+                  </Events>
+                </MenuItem>
+                <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mToolbarDirector">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mDirName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_MANUAL)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mDir"/>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mToolbarDirectorActionPerformed"/>
+                  </Events>
+                </MenuItem>
+                <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mToolbarConnection">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mConnectName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_CONNECT)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="mConnect"/>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mToolbarConnectionActionPerformed"/>
+                  </Events>
+                </MenuItem>
+                <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mToolbarScript">
+                  <Properties>
+                    <Property name="selected" type="boolean" value="true"/>
+                    <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActScriptName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_PLAY)).active" type="code"/>
+                    </Property>
+                    <Property name="name" type="java.lang.String" value="ActScript"/>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mToolbarScriptActionPerformed"/>
+                  </Events>
+                </MenuItem>
+              </SubComponents>
+            </Menu>
+            <Menu class="javax.swing.JMenu" name="mOptionsLandF">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_AMPERSAND" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptLFName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptLFTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/lookfeel.gif"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptLF"/>
+              </Properties>
+            </Menu>
+            <MenuItem class="javax.swing.JMenuItem" name="mOptionsVistaDB">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_V" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptVistaDBName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptVistaDBTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_VISTA_DB)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_VISTA_DB)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptVistaDB"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JSeparator" name="mOptionsSeparator2">
+            </MenuItem>
+            <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mOptionsVistaWeb">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_W" valueType="int"/>
+                </Property>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptDynName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptDynTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_DYNAMIC_VISTA)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPTION_DYNAMIC_VISTA)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="mOptDyn"/>
+              </Properties>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="mHelp">
+          <Properties>
+            <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection type="value" value="java.awt.event.KeyEvent.VK_H" valueType="int"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="mHelp"/>
+          </Properties>
+          <SubComponents>
+            <MenuItem class="javax.swing.JMenuItem" name="mHelpContents">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aHelpContents" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HELP)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActHelpCon"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mHelpIndex">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_I" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpIdxName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpIdxTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HELP_INDEX)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HELP_INDEX)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActHelpIdx"/>
+              </Properties>
+
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mHelpIndexActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mHelpSearch">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aHelpSearch" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HELP_SEARCH)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActHelpSrc"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mHelpWebLink">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aHelpWeb" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HELP_WEB)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HELP_WEB)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActHelpWeb"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JSeparator" name="mHelpSeparator1">
+            </MenuItem>
+            <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mHelpExplain">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_X" valueType="int"/>
+                </Property>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpExpName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpExpTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HELP_EXPLAIN)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HELP_EXPLAIN)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActHelpExp"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mHelpDock">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_D" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpDockName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpDockTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/undocked.gif"/>
+                </Property>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/docked.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mHelpDockActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JCheckBoxMenuItem" name="mHelpFilter">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_V" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpFilterName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpFilterTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/helpFilter.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mHelpFilterActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JSeparator" name="mHelpSeparator2">
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mHelpAbout">
+              <Properties>
+                <Property name="mnemonic" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection type="value" value="java.awt.event.KeyEvent.VK_A" valueType="int"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpAbtName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mHelpAbtTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HELP_ABOUT)).dimmed" type="code"/>
+                </Property>
+                <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HELP_ABOUT)).active" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActHelpAbt"/>
+              </Properties>
+
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mHelpAboutActionPerformed"/>
+              </Events>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+      </SubComponents>
+    </Menu>
+    <Component class="javax.swing.ButtonGroup" name="btnGroupFilter">
+    </Component>
+    <Component class="javax.swing.ButtonGroup" name="btnGroupTemplate">
+    </Component>
+  </NonVisualComponents>
+  <Properties>
+    <Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="tVistaAppTitle" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+    </Property>
+    <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+      <Font name="Dialog" size="12" style="0"/>
+    </Property>
+    <Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+      <Connection code="icVista.getImage()" type="code"/>
+    </Property>
+    <Property name="name" type="java.lang.String" value="tVistaApp"/>
+  </Properties>
+  <SyntheticProperties>
+    <SyntheticProperty name="menuBar" type="java.lang.String" value="mbMain"/>
+    <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-56,0,0,1,44"/>
+    <SyntheticProperty name="formPosition" type="java.awt.Point" value="-84,-19,0,5,115,114,0,14,106,97,118,97,46,97,119,116,46,80,111,105,110,116,-74,-60,-118,114,52,126,-56,38,2,0,2,73,0,1,120,73,0,1,121,120,112,0,0,0,0,0,0,0,0"/>
+    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+    <SyntheticProperty name="generatePosition" type="boolean" value="true"/>
+    <SyntheticProperty name="generateSize" type="boolean" value="true"/>
+    <SyntheticProperty name="generateCenter" type="boolean" value="true"/>
+  </SyntheticProperties>
+
+  <Events>
+    <EventHandler event="componentMoved" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="formComponentMoved"/>
+    <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="formPropertyChange"/>
+    <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="exitForm"/>
+  </Events>
+
+  <AuxValues>
+    <AuxValue name="RADVisualFormContainer_MenuComponent" type="java.lang.String" value="mbMain"/>
+  </AuxValues>
+
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+  <SubComponents>
+    <Container class="javax.swing.JToolBar" name="toolBar">
+      <Properties>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="tToolBarTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+        </Property>
+        <Property name="name" type="java.lang.String" value="tToolBar"/>
+      </Properties>
+
+      <Events>
+        <EventHandler event="mousePressed" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarMousePressed"/>
+        <EventHandler event="mouseReleased" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarMouseReleased"/>
+      </Events>
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="North"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+      <SubComponents>
+        <Container class="javax.swing.JPanel" name="pProfile">
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JButton" name="btnNew">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActNewTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aNew" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_NEW)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActNew"/>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JButton" name="btnOpenFile">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActOpenTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aOpen" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActOpen"/>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JButton" name="btnSave">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActSaveTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aSave" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SAVE)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSave"/>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JButton" name="btnSendToVistaDB">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActSendToVistaTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aSendToVistaDB" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSendToVista"/>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="pModel">
+
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value="toolBar.addSeparator();"/>
+          </AuxValues>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JToggleButton" name="btn1Up">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="Act1UpTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgModelAlgorithm" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="a1_Up" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_1UP)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="Act1Up"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/sel1up.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btn2Up">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="Act2UpTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgModelAlgorithm" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="a2_Up" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_2UP)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="Act2Up"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/sel2up.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnAlternate">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActAltTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgModelAlgorithm" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aAlternate" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActAlt"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selalternate.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="pEyes">
+
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value="toolBar.addSeparator();"/>
+          </AuxValues>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JToggleButton" name="btnEyes2">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActBothEyesTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgModelEyes" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aBothEyes" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActBothEyes"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/seleyes2.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnEyes1">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActSepEyesTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgModelEyes" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aSeparateEyes" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSepEyes"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/seleyes1.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="pTemplate">
+
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value="toolBar.addSeparator();"/>
+          </AuxValues>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JToggleButton" name="btnReading">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActReadTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgTemplate" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aReading" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_READING)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActRead"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selreading.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnPatterns">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActPatTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgTemplate" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aPatterns" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_PATTERNS)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActPat"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selpatterns.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnImages">
+              <Properties>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgTemplate" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aImages" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_IMAGES)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActImages"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selimages.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="pColourModel">
+
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value="toolBar.addSeparator();"/>
+          </AuxValues>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JToggleButton" name="btnRGB">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActRGBTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgColourModel" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aRGB" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_RGB)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActRGB"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selrgb.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnHSB">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActHSBTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgColourModel" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aHSB" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_HSB)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActHSB"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selhsb.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnCYMK">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActCYMKTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgColourModel" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aCYMK" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_CYMK)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActCYMK"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selcymk.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="pColourView">
+
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value="toolBar.addSeparator();"/>
+          </AuxValues>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JToggleButton" name="btnWheel">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActWheelTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgColourView" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aWheel" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_WHEEL)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActWheel"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selwheel.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnTriangle">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActTriTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgColourView" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aTriangle" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_TRIANGLE)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActTri"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/seltriangle.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnQube">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActQubeTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgColourView" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aQube" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_QUBE)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActQube"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selqube.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnSystemChooser">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActSysColTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgColourView" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aColorChooser" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSysCol"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selsysColour.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnSwatches">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActSwatchTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgColourView" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aSwatches" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SWATCHES)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActSwatch"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selswatches.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="pDirector">
+
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value="toolBar.addSeparator();"/>
+          </AuxValues>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JToggleButton" name="btnManual">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActManualTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgDirection" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aManual" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_MANUAL)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActManual"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selmanual.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnAuto">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActAutoTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgDirection" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aAuto" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_AUTO)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActAuto"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selauto.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnDirected">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActDirectTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgDirection" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aDirected" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_DIRECTED)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActDirect"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/seldirected.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnScript">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActScriptTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgDirection" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aScript" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_SCRIPT)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActScript"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selscript.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="pConnection">
+
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value="toolBar.addSeparator();"/>
+          </AuxValues>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JToggleButton" name="btnConnect">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActConnectTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgConnection" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aConnect" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_CONNECT)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActConnect"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selconnect.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnDisconnect">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActDiscTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgConnection" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aDisconnect" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActDisc"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/seldisconnect.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="pScript">
+
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value="toolBar.addSeparator();"/>
+          </AuxValues>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JToggleButton" name="btnPlay">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActPlayTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgPlayback" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aPlay" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_PLAY)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActPlay"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selplay.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnRecord">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActRecTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgPlayback" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aRecord" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_RECORD)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActRec"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selrecord.gif"/>
+                </Property>
+              </Properties>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value=""/>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnPause">
+              <Properties>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActPauseTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgPlayback" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aPause" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_PAUSE)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActPause"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selpause.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JToggleButton" name="btnStop">
+              <Properties>
+                <Property name="selected" type="boolean" value="true"/>
+                <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="ActStopTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="tbgPlayback" type="code"/>
+                </Property>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="aStop" type="code"/>
+                </Property>
+                <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="((ToolIconPair)vToolIcons.get(IC_STOP)).dimmed" type="code"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="ActStop"/>
+                <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                  <Image iconType="3" name="/org/tjworld/vista/cid/media/selstop.gif"/>
+                </Property>
+              </Properties>
+
+              <Events>
+                <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseExited"/>
+                <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="toolBarBtnMouseEntered"/>
+              </Events>
+
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JPanel" name="workPanel">
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="Center"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
+      <SubComponents>
+        <Container class="javax.swing.JSplitPane" name="spTemplate">
+          <Properties>
+            <Property name="dividerLocation" type="int" value="450"/>
+            <Property name="resizeWeight" type="double" value="0.5"/>
+            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[300, 343]"/>
+            </Property>
+            <Property name="oneTouchExpandable" type="boolean" value="true"/>
+          </Properties>
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+              <GridBagConstraints anchor="11" fill="1" gridHeight="1" gridWidth="1" gridX="0" gridY="0" insetsBottom="0" insetsLeft="0" insetsRight="0" insetsTop="0" ipadX="0" ipadY="0" weightX="0.25" weightY="0.5"/>
+            </Constraint>
+          </Constraints>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
+          <SubComponents>
+            <Container class="javax.swing.JSplitPane" name="spColour">
+              <Properties>
+                <Property name="dividerLocation" type="int" value="213"/>
+                <Property name="lastDividerLocation" type="int" value="208"/>
+                <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[213, 258]"/>
+                </Property>
+                <Property name="oneTouchExpandable" type="boolean" value="true"/>
+                <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[400, 343]"/>
+                </Property>
+              </Properties>
+              <Constraints>
+                <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
+                  <JSplitPaneConstraints position="left"/>
+                </Constraint>
+              </Constraints>
+
+              <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
+              <SubComponents>
+                <Container class="javax.swing.JPanel" name="colourPanel">
+                  <Properties>
+                    <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                      <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+                        <TitledBorder title="Colour Controls">
+                          <Border PropertyName="innerBorder" info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                            <EtchetBorder/>
+                          </Border>
+                          <ResourceString PropertyName="titleX" bundle="org/tjworld/vista/cid/CIDresources.properties" key="tColourCntrlTitle" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                        </TitledBorder>
+                      </Border>
+                    </Property>
+                    <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                      <Dimension value="[208, 256]"/>
+                    </Property>
+                  </Properties>
+                  <Constraints>
+                    <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
+                      <JSplitPaneConstraints position="left"/>
+                    </Constraint>
+                  </Constraints>
+
+                  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+                  <SubComponents>
+                    <Container class="javax.swing.JPanel" name="colourSelectorPanel">
+                      <Constraints>
+                        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+                          <BorderConstraints direction="North"/>
+                        </Constraint>
+                      </Constraints>
+
+                      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
+                        <Property name="rows" type="int" value="2"/>
+                        <Property name="columns" type="int" value="1"/>
+                      </Layout>
+                      <SubComponents>
+                        <Container class="javax.swing.JPanel" name="filterSelector">
+
+                          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+                          <SubComponents>
+                            <Component class="org.tjworld.components.JIconRadioButton" name="jIconRadioButton1">
+                              <Properties>
+                                <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                                  <Image iconType="3" name="/org/tjworld/vista/cid/media/tFilterB21.gif"/>
+                                </Property>
+                                <Property name="text" type="java.lang.String" value="1"/>
+                                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+                                  <ComponentRef name="btnGroupFilter"/>
+                                </Property>
+                              </Properties>
+                            </Component>
+                            <Component class="org.tjworld.components.JIconRadioButton" name="jIconRadioButton2">
+                              <Properties>
+                                <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                                  <Image iconType="3" name="/org/tjworld/vista/cid/media/tFilterB22.gif"/>
+                                </Property>
+                                <Property name="text" type="java.lang.String" value="2"/>
+                                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+                                  <ComponentRef name="btnGroupFilter"/>
+                                </Property>
+                              </Properties>
+                            </Component>
+                            <Component class="org.tjworld.components.JIconRadioButton" name="jIconRadioButton3">
+                              <Properties>
+                                <Property name="text" type="java.lang.String" value="3"/>
+                                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+                                  <ComponentRef name="btnGroupFilter"/>
+                                </Property>
+                              </Properties>
+                            </Component>
+                            <Component class="org.tjworld.components.JIconRadioButton" name="jIconRadioButton4">
+                              <Properties>
+                                <Property name="text" type="java.lang.String" value="4"/>
+                                <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+                                  <ComponentRef name="btnGroupFilter"/>
+                                </Property>
+                              </Properties>
+                            </Component>
+                          </SubComponents>
+                        </Container>
+                        <Component class="javax.swing.JComboBox" name="filterHistory">
+                        </Component>
+                      </SubComponents>
+                    </Container>
+                    <Component class="javax.swing.JColorChooser" name="sysColorChooser">
+                      <Properties>
+                        <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                          <Dimension value="[128, 192]"/>
+                        </Property>
+                      </Properties>
+                      <Constraints>
+                        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+                          <BorderConstraints direction="Center"/>
+                        </Constraint>
+                      </Constraints>
+                    </Component>
+                    <Container class="javax.swing.JPanel" name="tintPanel">
+                      <Properties>
+                        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+                            <TitledBorder title="Tint %">
+                              <Border PropertyName="innerBorder" info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                                <EtchetBorder/>
+                              </Border>
+                              <ResourceString PropertyName="titleX" bundle="org/tjworld/vista/cid/CIDresources.properties" key="tTintTitle" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                            </TitledBorder>
+                          </Border>
+                        </Property>
+                        <Property name="name" type="java.lang.String" value="tTint"/>
+                      </Properties>
+                      <Constraints>
+                        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+                          <BorderConstraints direction="South"/>
+                        </Constraint>
+                      </Constraints>
+
+                      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
+                      <SubComponents>
+                        <Component class="javax.swing.JSlider" name="sliderTint">
+                          <Properties>
+                            <Property name="majorTickSpacing" type="int" value="10"/>
+                            <Property name="minorTickSpacing" type="int" value="5"/>
+                            <Property name="paintTicks" type="boolean" value="true"/>
+                            <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                              <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="tTintTip" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                            </Property>
+                            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                              <Dimension value="[50, 27]"/>
+                            </Property>
+                            <Property name="name" type="java.lang.String" value="tTint"/>
+                            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                              <Dimension value="[128, 27]"/>
+                            </Property>
+                          </Properties>
+
+                          <Events>
+                            <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="sliderTintStateChanged"/>
+                            <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="sliderTintKeyPressed"/>
+                          </Events>
+
+                          <AuxValues>
+                            <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value=""/>
+                          </AuxValues>
+                        </Component>
+                      </SubComponents>
+                    </Container>
+                  </SubComponents>
+                </Container>
+                <Container class="javax.swing.JLayeredPane" name="filterLayerPane">
+                  <Properties>
+                    <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                      <Dimension value="[48, 48]"/>
+                    </Property>
+                    <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                      <Dimension value="[256, 343]"/>
+                    </Property>
+                  </Properties>
+
+                  <Events>
+                    <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="filterLayerPaneComponentResized"/>
+                  </Events>
+
+                  <AuxValues>
+                    <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value="// filterLayerPane.setLayout(new GridLayout(0,1));"/>
+                  </AuxValues>
+                  <Constraints>
+                    <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
+                      <JSplitPaneConstraints position="right"/>
+                    </Constraint>
+                  </Constraints>
+
+                  <Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
+                  <SubComponents>
+                    <Container class="javax.swing.JPanel" name="templatePanel">
+                      <Properties>
+                        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+                            <TitledBorder title="Template">
+                              <Border PropertyName="innerBorder" info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                                <EtchetBorder/>
+                              </Border>
+                              <ResourceString PropertyName="titleX" bundle="org/tjworld/vista/cid/CIDresources.properties" key="tTemplTitle" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                            </TitledBorder>
+                          </Border>
+                        </Property>
+                        <Property name="name" type="java.lang.String" value="tTempl"/>
+                        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                          <Dimension value="[343, 343]"/>
+                        </Property>
+                      </Properties>
+
+                      <Events>
+                        <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="templatePanelComponentResized"/>
+                      </Events>
+                      <Constraints>
+                        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
+                          <JLayeredPaneConstraints height="-1" layer="0" position="-1" width="-1" x="0" y="0"/>
+                        </Constraint>
+                      </Constraints>
+
+                      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+                      <SubComponents>
+                        <Component class="javax.swing.JTextPane" name="jTextPane3">
+                          <Properties>
+                            <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                              <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                                <EtchetBorder/>
+                              </Border>
+                            </Property>
+                            <Property name="editable" type="boolean" value="false"/>
+                            <Property name="text" type="java.lang.String" value="This is the default Reading template. When fully implemented it will be filled by randomly generated words so the Subject cannot predict, from familiarity or pattern, the sequence of words.&#xa;The Subject is timed reading the words, and the words-per-minute reading rate is determined. This is done repeatedly for the set of Profiles the Subject finds most comfortable, as well as for the control Profile which is usually simple black text on a white background.&#xa;"/>
+                            <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+                              <Insets value="[8, 8, 8, 8]"/>
+                            </Property>
+                            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                              <Dimension value="[16, 16]"/>
+                            </Property>
+                            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                              <Dimension value="[256, 256]"/>
+                            </Property>
+                          </Properties>
+
+                          <Events>
+                            <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="jTextPane3ComponentResized"/>
+                          </Events>
+                          <Constraints>
+                            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+                              <BorderConstraints direction="Center"/>
+                            </Constraint>
+                          </Constraints>
+                        </Component>
+                      </SubComponents>
+                    </Container>
+                  </SubComponents>
+                </Container>
+              </SubComponents>
+            </Container>
+            <Container class="javax.swing.JPanel" name="templateControlPanel">
+              <Properties>
+                <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                  <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+                    <TitledBorder title="Template Controls">
+                      <Border PropertyName="innerBorder" info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                        <EtchetBorder/>
+                      </Border>
+                      <ResourceString PropertyName="titleX" bundle="org/tjworld/vista/cid/CIDresources.properties" key="tTemplCntrlTitle" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </TitledBorder>
+                  </Border>
+                </Property>
+                <Property name="name" type="java.lang.String" value="tTemplCntrl"/>
+              </Properties>
+              <Constraints>
+                <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
+                  <JSplitPaneConstraints position="right"/>
+                </Constraint>
+              </Constraints>
+
+              <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+              <SubComponents>
+                <Container class="javax.swing.JPanel" name="templateSelectorPanel">
+                  <Constraints>
+                    <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+                      <BorderConstraints direction="North"/>
+                    </Constraint>
+                  </Constraints>
+
+                  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
+                    <Property name="rows" type="int" value="2"/>
+                    <Property name="columns" type="int" value="1"/>
+                  </Layout>
+                  <SubComponents>
+                    <Container class="javax.swing.JPanel" name="templateSelector">
+
+                      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+                      <SubComponents>
+                        <Component class="org.tjworld.components.JIconRadioButton" name="jIconRadioButton6">
+                          <Properties>
+                            <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                              <Image iconType="3" name="/org/tjworld/vista/cid/media/tFilterBA1.gif"/>
+                            </Property>
+                            <Property name="text" type="java.lang.String" value="1"/>
+                            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+                              <ComponentRef name="btnGroupTemplate"/>
+                            </Property>
+                          </Properties>
+                        </Component>
+                        <Component class="org.tjworld.components.JIconRadioButton" name="jIconRadioButton7">
+                          <Properties>
+                            <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+                              <Image iconType="3" name="/org/tjworld/vista/cid/media/tFilterBA2.gif"/>
+                            </Property>
+                            <Property name="text" type="java.lang.String" value="2"/>
+                            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+                              <ComponentRef name="btnGroupTemplate"/>
+                            </Property>
+                          </Properties>
+                        </Component>
+                        <Component class="org.tjworld.components.JIconRadioButton" name="jIconRadioButton8">
+                          <Properties>
+                            <Property name="text" type="java.lang.String" value="3"/>
+                            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+                              <ComponentRef name="btnGroupTemplate"/>
+                            </Property>
+                          </Properties>
+                        </Component>
+                        <Component class="org.tjworld.components.JIconRadioButton" name="jIconRadioButton9">
+                          <Properties>
+                            <Property name="text" type="java.lang.String" value="4"/>
+                            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+                              <ComponentRef name="btnGroupTemplate"/>
+                            </Property>
+                          </Properties>
+                        </Component>
+                      </SubComponents>
+                    </Container>
+                    <Component class="javax.swing.JComboBox" name="templateHistory">
+                    </Component>
+                  </SubComponents>
+                </Container>
+                <Container class="javax.swing.JPanel" name="ratingPanel">
+                  <Properties>
+                    <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                      <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+                        <TitledBorder title="Rating">
+                          <Border PropertyName="innerBorder" info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                            <EtchetBorder/>
+                          </Border>
+                          <ResourceString PropertyName="titleX" bundle="org/tjworld/vista/cid/CIDresources.properties" key="tRatingTitle" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                        </TitledBorder>
+                      </Border>
+                    </Property>
+                  </Properties>
+                  <Constraints>
+                    <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+                      <BorderConstraints direction="South"/>
+                    </Constraint>
+                  </Constraints>
+
+                  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
+                  <SubComponents>
+                    <Component class="javax.swing.JSlider" name="sliderRating">
+                      <Properties>
+                        <Property name="paintTicks" type="boolean" value="true"/>
+                        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                          <Dimension value="[100, 27]"/>
+                        </Property>
+                      </Properties>
+                    </Component>
+                  </SubComponents>
+                </Container>
+              </SubComponents>
+            </Container>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="statusLine">
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+              <GridBagConstraints anchor="11" fill="1" gridHeight="1" gridWidth="1" gridX="0" gridY="1" insetsBottom="0" insetsLeft="0" insetsRight="0" insetsTop="0" ipadX="0" ipadY="0" weightX="0.25" weightY="0.0"/>
+            </Constraint>
+          </Constraints>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JLabel" name="statusMessage">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="msgVistaBuild" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                  <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo">
+                    <BevelBorder bevelType="1"/>
+                  </Border>
+                </Property>
+                <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[256, 21]"/>
+                </Property>
+                <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[128, 21]"/>
+                </Property>
+                <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[256, 21]"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JProgressBar" name="statusRed">
+              <Properties>
+                <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+                  <Font name="Dialog" size="11" style="1"/>
+                </Property>
+                <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+                  <Color blue="0" green="0" id="red" palette="0" red="ff" type="palette"/>
+                </Property>
+                <Property name="maximum" type="int" value="255"/>
+                <Property name="value" type="int" value="128"/>
+                <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                  <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo">
+                    <BevelBorder bevelType="1"/>
+                  </Border>
+                </Property>
+                <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[64, 21]"/>
+                </Property>
+                <Property name="string" type="java.lang.String" value="128"/>
+                <Property name="stringPainted" type="boolean" value="true"/>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JProgressBar" name="statusGreen">
+              <Properties>
+                <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+                  <Font name="Dialog" size="11" style="1"/>
+                </Property>
+                <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+                  <Color blue="0" green="ff" id="green" palette="0" red="0" type="palette"/>
+                </Property>
+                <Property name="maximum" type="int" value="255"/>
+                <Property name="value" type="int" value="128"/>
+                <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                  <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo">
+                    <BevelBorder bevelType="1"/>
+                  </Border>
+                </Property>
+                <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[64, 21]"/>
+                </Property>
+                <Property name="string" type="java.lang.String" value="128"/>
+                <Property name="stringPainted" type="boolean" value="true"/>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JProgressBar" name="statusBlue">
+              <Properties>
+                <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+                  <Font name="Dialog" size="11" style="1"/>
+                </Property>
+                <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+                  <Color blue="ff" green="0" id="blue" palette="0" red="0" type="palette"/>
+                </Property>
+                <Property name="maximum" type="int" value="255"/>
+                <Property name="value" type="int" value="128"/>
+                <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                  <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo">
+                    <BevelBorder bevelType="1"/>
+                  </Border>
+                </Property>
+                <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[64, 21]"/>
+                </Property>
+                <Property name="string" type="java.lang.String" value="128"/>
+                <Property name="stringPainted" type="boolean" value="true"/>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JProgressBar" name="statusTint">
+              <Properties>
+                <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+                  <Font name="Dialog" size="11" style="1"/>
+                </Property>
+                <Property name="value" type="int" value="50"/>
+                <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                  <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo">
+                    <BevelBorder bevelType="1"/>
+                  </Border>
+                </Property>
+                <Property name="stringPainted" type="boolean" value="true"/>
+              </Properties>
+            </Component>
+            <Container class="javax.swing.JPanel" name="statusIconPanel">
+              <Properties>
+                <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                  <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo">
+                    <BevelBorder bevelType="1"/>
+                  </Border>
+                </Property>
+              </Properties>
+
+              <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+              <SubComponents>
+                <Component class="javax.swing.JButton" name="statusIconModel">
+                  <Properties>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_1UP)).active" type="code"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="tTemplMod" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_1UP)).active" type="code"/>
+                    </Property>
+                  </Properties>
+                </Component>
+                <Component class="javax.swing.JButton" name="statusIconEyes">
+                  <Properties>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active" type="code"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="tEyeMod" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active" type="code"/>
+                    </Property>
+                  </Properties>
+                </Component>
+                <Component class="javax.swing.JButton" name="statusIconTemplate">
+                  <Properties>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_READING)).active" type="code"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="tTemplMod" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_READING)).active" type="code"/>
+                    </Property>
+                  </Properties>
+                </Component>
+                <Component class="javax.swing.JButton" name="statusIconColourModel">
+                  <Properties>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_HSB)).active" type="code"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="tColMod" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_HSB)).active" type="code"/>
+                    </Property>
+                  </Properties>
+                </Component>
+                <Component class="javax.swing.JButton" name="statusIconColourView">
+                  <Properties>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).active" type="code"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="tColView" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).active" type="code"/>
+                    </Property>
+                  </Properties>
+                </Component>
+                <Component class="javax.swing.JButton" name="statusIconDirector">
+                  <Properties>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_MANUAL)).active" type="code"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="tDirector" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_MANUAL)).active" type="code"/>
+                    </Property>
+                  </Properties>
+                </Component>
+                <Component class="javax.swing.JButton" name="statusIconFilter">
+                  <Properties>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_FILTER_TEMPLATE)).active" type="code"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptFltName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_FILTER_TEMPLATE)).active" type="code"/>
+                    </Property>
+                  </Properties>
+                </Component>
+                <Component class="javax.swing.JButton" name="statusIconLanguage">
+                  <Properties>
+                    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active" type="code"/>
+                    </Property>
+                    <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                      <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="mOptLangName" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                    </Property>
+                    <Property name="disabledIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                      <Connection code="((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active" type="code"/>
+                    </Property>
+                  </Properties>
+                </Component>
+              </SubComponents>
+            </Container>
+            <Component class="javax.swing.JLabel" name="statusState">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="msgStatRdy" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+                </Property>
+                <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                  <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo">
+                    <BevelBorder bevelType="1"/>
+                  </Border>
+                </Property>
+                <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[39, 21]"/>
+                </Property>
+                <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[39, 21]"/>
+                </Property>
+                <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[39, 21]"/>
+                </Property>
+              </Properties>
+            </Component>
+          </SubComponents>
+        </Container>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/org/tjworld/vista/CID/CID.jarContent b/org/tjworld/vista/CID/CID.jarContent
new file mode 100644 (file)
index 0000000..353a0a9
Binary files /dev/null and b/org/tjworld/vista/CID/CID.jarContent differ
diff --git a/org/tjworld/vista/CID/CID.java b/org/tjworld/vista/CID/CID.java
new file mode 100644 (file)
index 0000000..bc8ab46
--- /dev/null
@@ -0,0 +1,4263 @@
+/*\r
+       * CID.java\r
+ **\r
+       * Copyright 2001 TJ, All rights reserved\r
+       *\r
+       * This software is protected by Copyright, Patent and Trademark rights.\r
+       * Use & disclosure is subject to licence terms.\r
+       *\r
+       * *** IN CONFIDENCE ***\r
+       * \r
+       * Created on 08 October 2001, 19:08\r
+       * $Header: /VisTA/CID/CID.java 11    12/11/01 3:07 Tj $\r
+       * \r
+       * $History: CID.java $\r
+ * \r
+ * *****************  Version 11  *****************\r
+ * User: Tj           Date: 12/11/01   Time: 3:07\r
+ * Updated in $/VisTA/CID\r
+ * Made setLookAndFeel() and it's ItemStateListener part of CID, not an\r
+ * inner class. Added new Help window options and supporting logic\r
+ * \r
+ * *****************  Version 10  *****************\r
+ * User: Tj           Date: 11/11/01   Time: 4:09\r
+ * Updated in $/VisTA/CID\r
+ * Testing HTML Help service\r
+ * \r
+ * *****************  Version 9  *****************\r
+ * User: Tj           Date: 11/11/01   Time: 0:08\r
+ * Updated in $/VisTA/CID\r
+ * Merged Constructors\r
+ * \r
+ * *****************  Version 8  *****************\r
+ * User: Tj           Date: 10/11/01   Time: 17:04\r
+ * Updated in $/VisTA/CID\r
+ * Added Java version checking to Constructor\r
+ * \r
+ * *****************  Version 7  *****************\r
+ * User: Tj           Date: 10/11/01   Time: 2:21\r
+ * Updated in $/VisTA/CID\r
+ * Adjustments to Slider widths - more to come; requires dynamic slider\r
+ * resizing\r
+ * \r
+ * *****************  Version 6  *****************\r
+ * User: Tj           Date: 9/11/01    Time: 19:21\r
+ * Updated in $/VisTA/CID\r
+ * Added Help window logic\r
+ * \r
+ * *****************  Version 5  *****************\r
+ * User: Tj           Date: 8/11/01    Time: 19:55\r
+ * Updated in $/VisTA/CID\r
+ * Tested, OK\r
+ * \r
+ * *****************  Version 4  *****************\r
+ * User: Tj           Date: 7/11/01    Time: 22:36\r
+ * Updated in $/VisTA/CID\r
+ * Added final(ish) layout, filter and template visual controls and icons\r
+ * \r
+ * *****************  Version 3  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 5:12\r
+ * Updated in $/VisTA/CID\r
+ * Added VSS header\r
+ */\r
+package org.tjworld.vista.cid;\r
+\r
+import java.awt.Color;\r
+import java.awt.Component;\r
+import java.awt.Container;\r
+import java.awt.Cursor;\r
+import java.awt.Dimension;\r
+import java.awt.Frame;\r
+import java.awt.Graphics;\r
+import java.awt.Graphics2D;\r
+import java.awt.Insets;\r
+import java.awt.Point;\r
+import java.awt.Toolkit;\r
+\r
+import java.awt.event.ActionEvent;\r
+import java.awt.event.ItemListener;\r
+import java.awt.event.KeyEvent;\r
+\r
+import java.awt.geom.AffineTransform;\r
+\r
+import java.awt.image.AffineTransformOp;\r
+import java.awt.image.BufferedImage;\r
+\r
+import java.awt.print.PageFormat;\r
+import java.awt.print.Printable;\r
+import java.awt.print.PrinterException;\r
+import java.awt.print.PrinterJob;\r
+\r
+import java.io.IOException;\r
+import java.net.URL;\r
+import java.net.MalformedURLException;\r
+import java.text.MessageFormat;\r
+import java.util.Locale;\r
+\r
+import javax.swing.AbstractButton;\r
+import javax.swing.Action;\r
+import javax.swing.ButtonGroup;\r
+import javax.swing.ImageIcon;\r
+import javax.swing.JComponent;\r
+import javax.swing.JLabel;\r
+import javax.swing.JMenu;\r
+import javax.swing.JOptionPane;\r
+import javax.swing.JRadioButtonMenuItem;\r
+import javax.swing.KeyStroke;\r
+import javax.swing.SwingUtilities;\r
+import javax.swing.UIManager;\r
+import javax.swing.UnsupportedLookAndFeelException;\r
+\r
+import javax.swing.event.ChangeEvent;\r
+import javax.swing.event.ChangeListener;\r
+\r
+import javax.swing.tree.DefaultMutableTreeNode;\r
+import javax.swing.tree.DefaultTreeModel;\r
+\r
+import org.tjworld.vista.cid.*;\r
+import org.tjworld.components.*;\r
+\r
+/** CID - Colour Imbalance Discovery<br/>\r
+ *\r
+       * CID automates and aids the process of discovering the best combination of colour and\r
+       * tint in order to reduce or eliminate the symptoms of what is known as \r
+       * Meares-Irlen Syndrome, Irlen Syndrome or Scotopic Sensitivity Syndrome.\r
+       *\r
+       * This syndrome causes visual perception distortions that in sufferers causes text and certain\r
+       * patterns to appear to be moving, shimmering, fading or flickering.\r
+       *\r
+       * It has been found that as well as improving the reading experience and speed, especially in\r
+       * children with learning difficulties, filters will also reduce various types of reported\r
+       * eye stress and headaches.\r
+       *\r
+       * The headaches appear to be linked to photo-sensitive epilepsy and certain close-packed patterns\r
+       * cause the same reaction as text in some people.\r
+       * \r
+       * @author  TJ\r
+       * @version 1.1 21 Oct 2001 Filter (Template & Window), Look & Feel, Toolbar popup menu\r
+       * version 1.0 10 Oct 2001 Primary Design\r
+ */\r
+public class CID extends javax.swing.JFrame implements Printable, ItemListener {\r
+       /** Controls developers extended reporting to the console\r
+               * true = additional reporting to the console\r
+               * false = no reporting to the console (use this state for Release Versions of CID)\r
+               */\r
+       private boolean debugging = true;\r
+       \r
+       /** When non-null usually indicates an Applet, that provides load & save services.\r
+               * When null, CID uses own (application) services for loading & saving\r
+               */\r
+       private java.applet.Applet parent;\r
+       \r
+       /** Locale requested by the user */\r
+       private java.util.Locale currentLocale;\r
+       \r
+       /** Locale-specific data container */\r
+       private java.util.ResourceBundle cIDresources;\r
+       \r
+       // menu bar radio-button groups for mutually exclusive mode selections\r
+       private ButtonGroup mbgModelAlgorithm;\r
+       private ButtonGroup mbgModelEyes;\r
+       private ButtonGroup mbgTemplate;\r
+       private ButtonGroup mbgColourModel;\r
+       private ButtonGroup mbgColourView;\r
+       private ButtonGroup mbgDirection;\r
+       private ButtonGroup mbgLanguage;\r
+       private ButtonGroup mbgConnection;\r
+       private ButtonGroup mbgPlayback;\r
+       private ButtonGroup mbgFilter;\r
+       private ButtonGroup mbgLandF;\r
+\r
+       // tool bar toggle-button groups for mutually exclusive mode selections\r
+       private ButtonGroup tbgModelAlgorithm;\r
+       private ButtonGroup tbgModelEyes;\r
+       private ButtonGroup tbgTemplate;\r
+       private ButtonGroup tbgColourModel;\r
+       private ButtonGroup tbgColourView;\r
+       private ButtonGroup tbgDirection;\r
+ private ButtonGroup tbgLanguage;\r
+       private ButtonGroup tbgConnection;\r
+       private ButtonGroup tbgPlayback;\r
+       \r
+       /** frame's small icon */\r
+       private javax.swing.ImageIcon icVista;\r
+       \r
+       /** collection of icon-pairs for active & dimmed icons */\r
+       private java.util.Vector vToolIcons;\r
+       \r
+       /** default glass pane before being replaced by VisTA filter */\r
+       private Component defaultGlassPane;\r
+       \r
+       /** printjob */\r
+       PrinterJob printJob = null;;\r
+       \r
+       /** printjob page format */\r
+       PageFormat pageFormat = null;;\r
+       \r
+       // actions shared by menu items & tool bar buttons\r
+       private Action aNew;\r
+       private Action aOpen;\r
+       private Action aSave;\r
+       private Action aSaveAs;\r
+       private Action aDelete;\r
+       private Action aSendToVistaDB;\r
+       private Action aToCookie;\r
+       private Action aFromCookie;\r
+       private Action aCreateFilter;\r
+       private Action aToVistaPage;\r
+       private Action aPageSetup;\r
+       private Action aPrint;\r
+       private Action aProperties;\r
+       private Action a1_Up;\r
+       private Action a2_Up;\r
+       private Action aAlternate;\r
+       private Action aBothEyes;\r
+       private Action aSeparateEyes;\r
+       private Action aReading;\r
+       private Action aPatterns;\r
+       private Action aImages;\r
+       private Action aRGB;\r
+       private Action aHSB;\r
+       private Action aCYMK;\r
+       private Action aWheel;\r
+       private Action aTriangle;\r
+       private Action aQube;\r
+       private Action aColorChooser;\r
+       private Action aSwatches;\r
+       private Action aManual;\r
+       private Action aAuto;\r
+       private Action aDirected;\r
+       private Action aScript;\r
+       private Action aConnect;\r
+       private Action aDisconnect;\r
+       private Action aPlay;\r
+ private Action aRecord;\r
+       private Action aPause;\r
+       private Action aStop;\r
+       private Action aFilterTemplate;\r
+       private Action aFilterWindow;\r
+       private Action aFilterScreen;\r
+       private Action aDynamicVista;\r
+       private Action aLanguageDefault;\r
+       private Action aLanguageBritish;\r
+       private Action aLanguageFrench;\r
+       private Action aLanguageSpanish;\r
+       private Action aLanguageGerman;\r
+       private Action aLanguageArabicEgypt;\r
+       private Action aLanguageFarsiIran;\r
+       private Action aLanguageHindiIndia;\r
+       private Action aLanguageIndonesian;\r
+       private Action aLanguageJapanese;\r
+       private Action aLanguageDutch;\r
+       private Action aLanguagePashto;\r
+       private Action aLanguagePortuguese;\r
+       private Action aLanguageRussian;\r
+       private Action aLanguageSwedish;\r
+       private Action aLanguageUrdu;\r
+       private Action aLanguageChinese;\r
+       private Action aHelpContents;\r
+       private Action aHelpSearch;\r
+       private Action aHelpWeb;\r
+       \r
+ // icon index constants\r
+       static final int IC_NEW = 0; // Profile menu\r
+       static final int IC_OPEN_FILE = 1;\r
+       static final int IC_SAVE = 2;\r
+       static final int IC_SAVE_AS = 3;\r
+       static final int IC_SEND_TO_VISTA_DB = 4;\r
+       static final int IC_TO_COOKIE = 5;\r
+       static final int IC_FROM_COOKIE = 6;\r
+       static final int IC_CREATE_FILTER = 7;\r
+       static final int IC_TO_VISTA_PAGE = 8;\r
+       static final int IC_PAGE_SETUP = 9;\r
+       static final int IC_PRINT = 10;\r
+       static final int IC_PROPERTIES = 11;\r
+\r
+       static final int IC_1UP = 12; // Model menu\r
+       static final int IC_2UP = 13;\r
+       static final int IC_ALTERNATE = 14;\r
+       static final int IC_BOTH_EYES = 15;\r
+       static final int IC_SEPARATE_EYES = 16;\r
+\r
+       static final int IC_READING = 17; // Template menu\r
+       static final int IC_PATTERNS = 18;\r
+ static final int IC_IMAGES = 81; //   recent addition\r
+\r
+       static final int IC_RGB = 19; // Colour menu\r
+       static final int IC_HSB = 20;\r
+       static final int IC_CYMK = 21;\r
+       static final int IC_WHEEL = 22;\r
+       static final int IC_TRIANGLE = 23;\r
+       static final int IC_QUBE = 24;\r
+       static final int IC_COLOR_CHOOSER = 25;\r
+       \r
+       static final int IC_MANUAL = 26; // Director menu\r
+       static final int IC_AUTO = 27;\r
+       static final int IC_DIRECTED = 28;\r
+       static final int IC_SCRIPT = 29;\r
+\r
+       static final int IC_OPTION_CONFIG_READING = 30; // Options menu\r
+       static final int IC_OPTION_CONFIG_PATTERNS = 31;\r
+       static final int IC_OPTION_CONFIG_DIRECTED = 32;\r
+       static final int IC_OPTION_CONFIG_SCRIPT = 33;\r
+       static final int IC_OPTION_CONFIG_VISTA_DB = 34;\r
+       static final int IC_OPTION_CHOOSE = 35;\r
+       static final int IC_OPTION_CUSTOMIZE = 36;\r
+       static final int IC_OPTION_PREFERENCES = 37;\r
+       \r
+       static final int IC_CONNECT = 38;\r
+       static final int IC_PAUSE = 39;\r
+       static final int IC_DISCONNECT = 40;\r
+       \r
+       static final int IC_OPTION_DYNAMIC_VISTA = 41;\r
+\r
+       static final int IC_HELP_CONTENTS = 42; // Help menu\r
+       static final int IC_HELP_INDEX = 43;\r
+       static final int IC_HELP_SEARCH = 44;\r
+       static final int IC_HELP_EXPLAIN = 45;\r
+       static final int IC_HELP_ABOUT = 46;\r
+       static final int IC_HELP_WEB = 47;\r
+\r
+       static final int IC_PROFILE = 48; // Menu titles\r
+       static final int IC_MODEL = 49;\r
+       static final int IC_TEMPLATE = 50;\r
+       static final int IC_COLOUR = 51;\r
+       static final int IC_OPTIONS = 52;\r
+       static final int IC_HELP = 53;\r
+\r
+       static final int IC_PLAY = 54;\r
+       static final int IC_STOP = 55;\r
+\r
+       static final int IC_LANGUAGE = 56;\r
+       static final int IC_LANG_DEFAULT = 57;\r
+       static final int IC_LANG_BRITISH = 58;\r
+       static final int IC_LANG_FRENCH = 59;\r
+       static final int IC_LANG_SPANISH = 60;\r
+       static final int IC_LANG_GERMAN = 61;\r
+       \r
+       static final int IC_SWATCHES = 62;              // late addition\r
+       static final int IC_FILTER_TEMPLATE = 63;\r
+       static final int IC_FILTER_WINDOW = 64;\r
+       static final int IC_FILTER_SCREEN = 65;\r
+       static final int IC_PROFILE_DELETE = 66;\r
+       static final int IC_RECORD = 67;\r
+       static final int IC_OPTION_CONFIG_SWATCHES = 68;\r
+       \r
+       static final int IC_LANG_AR_EG = 69; // more languages\r
+       static final int IC_LANG_FA_IR = 70;\r
+       static final int IC_LANG_HI_IN = 71;\r
+       static final int IC_LANG_IN = 72;\r
+       static final int IC_LANG_JA = 73;\r
+       static final int IC_LANG_NL = 74;\r
+       static final int IC_LANG_PS = 75;\r
+       static final int IC_LANG_PT = 76;\r
+       static final int IC_LANG_RU = 77;\r
+       static final int IC_LANG_SV = 78;\r
+       static final int IC_LANG_UR = 79;\r
+       static final int IC_LANG_ZH = 80;\r
+\r
+       // always make this the next (and highest) value, to indicate the icon-store Vector size\r
+       static final int IC_MAX = 82;\r
+\r
+ // VisTA Filter choices\r
+ static final int FILTER_TEMPLATE = 1;\r
+ static final int FILTER_WINDOW = 2;\r
+ static final int FILTER_SCREEN = 3;\r
+\r
+ /** tracks previous VisTA filter to ensure clean switching from one to another */     \r
+ private int activeFilter;\r
+\r
+ // dimension used by all tool bar buttons\r
+       static final java.awt.Dimension toolButtonSize = new java.awt.Dimension(22,22);\r
+       \r
+ // dimension used by all status icons\r
+       static final java.awt.Dimension statusIconButtonSize = new java.awt.Dimension(16, 16);\r
+\r
+ static org.tjworld.vista.cid.CID frameCID;\r
+\r
+ /** Popup menu for tool bar button group selection, shared with the JMenu of the frame */\r
+ private javax.swing.JPopupMenu toolBarPopup;\r
+\r
+ /** Popup called directly from tool bar? */\r
+ private boolean showToolbarPopup = false;\r
+\r
+       /** about-dialog form */\r
+ private CIDAbout aboutDialog = null;\r
+       \r
+       /** help window */\r
+       private xhtmlHelp helpWindow = null;\r
+\r
+       /** help window location */\r
+       private Point helpLocation = null;\r
+       \r
+       /** system file chooser form */\r
+       private CIDFileChooser cidFileChooserDialog = null;\r
+               \r
+       /** root of the Help Contents tree */\r
+       private DefaultMutableTreeNode helpContentsRootNode = null;\r
+       \r
+       /** root of the Help Index tree */\r
+       private DefaultMutableTreeNode helpIndexRootNode = null;\r
+\r
+       /** VisTA colourized transparent filter pane */\r
+       private VistaFilter vfFilter;\r
+                       \r
+       /** Printing thread */\r
+       // Thread prt;\r
+       \r
+       /** Creates new form CID with a parent<br/>\r
+               * This constructor receives a reference to a parent container applet, such that when \r
+               * launched from an applet it is able to use applet methods to enquire about it's environment\r
+               * and adopt suitable security and access control behaviour for opening, saving, and accessing\r
+               * VisTA.Web profiles and other resources.\r
+               *\r
+               * @param parent Component that owns this CID. Usually an <code>Applet</code> descendent.\r
+               * @see #CID()\r
+               */\r
+       public CID(java.applet.Applet parent) {\r
+               this.parent = parent;\r
+\r
+               // get the best set of resources for the system locale\r
+               currentLocale = java.util.Locale.getDefault();\r
+               /*** At a later stage, need to override this from a user's preferences */\r
+                                                               \r
+               /* get the locale-specific set of resources before creating any\r
+               * User Interface components that require locale-specifc text labels\r
+               * or messages */\r
+               loadLocale(currentLocale);\r
+\r
+               // make sure this is Java 1.4 or later\r
+               String version = System.getProperty("java.version");\r
+               float majorVersion = 0;\r
+               float minorVersion = 0;\r
+               try {\r
+                majorVersion = Float.parseFloat(version.substring(0, 3));\r
+                       minorVersion = Float.parseFloat(version.substring(4, 5));\r
+               } catch(NumberFormatException e) {\r
+                System.err.println("Unable to understand java.version (" + version + ")");\r
+               }\r
+               if(majorVersion < 1.4f) { // report version requirement to the user\r
+                       System.err.println("java.version=" + version + "\nmajorVersion=" + majorVersion + "\nminorVersion=" + minorVersion);\r
+\r
+                       // now build a locale-sensitive resource-bundle compound message\r
+                       MessageFormat mf = new MessageFormat(cIDresources.getString("tVerDlgMsg"), currentLocale);\r
+                       String message = mf.format(new Object[] { version } );\r
+\r
+                       // display a modal error dialog\r
+                       JOptionPane.showMessageDialog(null,     message, cIDresources.getString("tVerDlgTitle"), JOptionPane.ERROR_MESSAGE);\r
+                       \r
+                       System.exit(1); // stop now\r
+               }\r
+               /* don't use the Host window decoration if at all possible\r
+                       * Must do this before the frame becomes Displayable\r
+                       * (by a call to pack() or show() )\r
+                       */\r
+               if(UIManager.getLookAndFeel().getSupportsWindowDecorations()) {\r
+               setUndecorated(true); // first Java 1.4 specific action\r
+   getRootPane().setWindowDecorationStyle(javax.swing.JRootPane.FRAME);\r
+        }\r
+               \r
+               // init() can throw MalformedURLExceptions when looking for it's Icons and such\r
+               try {init(); } catch(Exception e) {e.printStackTrace(); }\r
+       }\r
+       \r
+\r
+       /** Creates new CID form without parent<br/>\r
+               * The default constructor creates the VisTA.CID user interface. Sets <code>parent</code> to <code>null</code>,\r
+               * indicating that it owns itself - in other words, it's an application and must rely on it's own\r
+               * services for loading and saving files.\r
+               */\r
+ public CID() {\r
+               this(null);\r
+       }\r
+\r
+       /** Load a new locale-specific resource bundle\r
+               *\r
+               * @param loc The Locale whose resource bundle is required\r
+               */\r
+ void loadLocale(Locale loc) {\r
+               cIDresources = java.util.ResourceBundle.getBundle("org.tjworld.vista.cid.CIDresources", loc);\r
+       }\r
+\r
+       /** Dynamically change the current locale for all the locale-sensitive objects in the frame\r
+               *\r
+               * @param loc The new Locale\r
+               */\r
+       void changeLocale(Locale loc) {\r
+               if(currentLocale != loc) { // don't update unless a real change is required (not default to British when 'en' is already selected, for example )\r
+                       loadLocale(loc); // alternate resource bundle if possible\r
+\r
+                       setComponentLocale((Component)this, loc);\r
+               \r
+                       //*** needs writing:- setActionLocales();\r
+                       pack(); // re-layout to use optimum space - changes in text sizes might cause resizing of many components\r
+                       \r
+                       currentLocale = loc; // keep track of which locale is active\r
+                       \r
+                       if(helpWindow != null) // ensure the Help Pages also switch to the new locale\r
+                               helpWindow.setPageLocale(currentLocale);\r
+               }\r
+       }\r
+       \r
+       /** Recursive method that updates Locale and Locale-sensitive text\r
+               * of all child components & containers.\r
+               *\r
+               * Algorithm is flexible:-\r
+               *\r
+               * Component.name = ResourceBundle.BaseKeyNameFragment\r
+               * BaseKeyNameFragment + "Name" gives ke namevalue for setText()\r
+               * BaseKeyNameFragment + "Tip" gives value for setToolTipText()\r
+               * BaseKeyNameFragment + "Title" gives value for setTitle()\r
+               *\r
+               * Every Component.locale is updated\r
+               * If Component.name == null no update to the values is attempted\r
+               * If a text, toolTipText, or title value == null, no update is attempted\r
+               *\r
+               * If Component is also a Container, every child is also passed into recursive calls\r
+               * to this method.\r
+               * \r
+               * @param c The Component to update\r
+               * @param loc The new Locale\r
+               */\r
+       void setComponentLocale(Component c, Locale loc) {\r
+               if(c != null && loc != null && (c instanceof Component)) { // okay so far\r
+                       c.setLocale(loc); // change the locale\r
+   if(debugging) System.out.println("Locale update for " + c.getClass().getName());\r
+                       \r
+                       if(c.getName() != null) { // I store the resource bundle Key in the component's name attribute\r
+                               if(c instanceof java.awt.Frame) { // window frame, no Text but a Title\r
+                                       if(((Frame)c).getTitle() != null) // don't set title unless it already has one\r
+                                       ((Frame)c).setTitle(cIDresources.getString(c.getName() + "Title")); // set the title\r
+                               }\r
+                               \r
+                               if(c instanceof javax.swing.AbstractButton) { // able to set Text\r
+                                       if(((AbstractButton)c).getText() != null) // don't set text for components without any already\r
+                                       ((AbstractButton)c).setText(cIDresources.getString(c.getName() + "Name")); // set the text\r
+\r
+                               /* Update the component's PowerAction locale, if it has an associated PowerAction instead\r
+                                       * of a regular Action.\r
+                                       *\r
+                                       * The AbstractButton (JMenuItem or JToggleButton/JButton will have registered itself as a \r
+                                               * PropertyChangeListener on the PowerAction when JComponent.add(Action) was called,\r
+                                       * so when PowerAction alters any of it's key/value pairs, the underlying Action.putValue()\r
+                                       * will fire a property change event to the JComponent(s) using the Action, \r
+                                * which should cause them to update their Locale-sensitive values\r
+                                       */\r
+                               Action a = null;\r
+                                       PowerAction pa;\r
+                               if((a = ((AbstractButton)c).getAction()) != null) { // has an action attached...\r
+                                               if(a instanceof PowerAction) { // ... might be locale-sensitive\r
+                                                       pa = (PowerAction)a; // easier to handle\r
+                                                       \r
+                                                       /* must turn off the PowerAction's change notifications while it updates itself,\r
+                                                               * else any tool bar button will have it's Text and Mnemonic properties set\r
+                                                               * when we want them keeping clear.\r
+                                                               * They were specifically cleared in CID.init()\r
+                                                               */\r
+                                                       long mask = PowerAction.MASK_ALL;\r
+                                                       pa.setPropertyChangeMask(mask); \r
+                                               pa.setLocale(loc, cIDresources); // change it's Locale\r
+                                                       pa.setPropertyChangeMask(PowerAction.MASK_ALL);\r
+                                               }\r
+                               }               \r
+                               }\r
+\r
+                               if(c instanceof javax.swing.JComponent) { // might have a tool tip too\r
+                                       if(((JComponent)c).getToolTipText() != null) //don't set a tip for components without it already\r
+                                        ((JComponent)c).setToolTipText(cIDresources.getString(c.getName() + "Tip")); // set the tip\r
+\r
+                                       JComponent cb = (JComponent) c; // cast to make for less typing!\r
+                               if(cb.getBorder() != null) { // has a border, which might have a title attached...\r
+                                       if(cb.getBorder() instanceof javax.swing.border.TitledBorder) { // it does, so maybe there's something to change\r
+                                               if(((javax.swing.border.TitledBorder)cb.getBorder()).getTitle() != null) // better change it\r
+                                                       ((javax.swing.border.TitledBorder)cb.getBorder()).setTitle(cIDresources.getString(c.getName() + "Title"));\r
+                                       }\r
+                                }\r
+\r
+                                if(c instanceof javax.swing.JLabel) { // instructive text?\r
+                                        if(((JLabel)c).getText() != null) // switch the text\r
+                                                ((JLabel)c).setText(cIDresources.getString(c.getName()));\r
+                                       }\r
+                               }\r
+                       }\r
+\r
+                       // now deal with Containers that might have children\r
+                       if(c instanceof Container) { // might have child components that need updating\r
+                               Component child[];\r
+                               if(c instanceof javax.swing.JMenu)  // have to use a different method() for JMenus...\r
+                                       child = ((JMenu)c).getMenuComponents();\r
+                               else\r
+                                child = ((Container)c).getComponents(); // an array of all children\r
+                               \r
+                               for(int i = 0; i < child.length; i++) // do all the children too\r
+                                       setComponentLocale(child[i], loc); // recursively call this method to update children\r
+                       }\r
+               }\r
+       }\r
+       \r
+ /** Initialize the application */\r
+       private void init() throws MalformedURLException {\r
+  // set the static member so Cursors can be exchanged when L&F is being changed\r
+  frameCID = this;\r
+\r
+               // let the user know CID is loading\r
+               splash splash = new splash(this, cIDresources);\r
+               splash.setVisible(true);\r
+                                                               \r
+               /* set the file name fragments for loading the Icons & build the URL.\r
+               * Need to cope with two kinds of URL:- http: and file: - because CID\r
+               * can be run as an application from the file system, or launched as\r
+               * a frame from within an applet from a URL.\r
+               */                                                              \r
+               String sUrl = "";\r
+               if(parent != null) // must be an applet, so use it's codebase\r
+                sUrl = parent.getCodeBase().toString();\r
+               else // it's an application so use the current working directory (where CID.class is executing from)\r
+                       sUrl = "file://" + System.getProperty("user.dir") + "/";\r
+               sUrl = sUrl + "org/tjworld/vista/cid/";  // base URL\r
+               String ext = ".gif"; // standard file extension\r
+               String dimmed = "dim"; // name-prefix for dimmed versions of icons\r
+               String n;\r
+               URL baseURL = new URL(sUrl); // the base URL\r
+               URL u = new URL(sUrl + "media/"); // the media URL\r
+               vToolIcons = new java.util.Vector(); // the icon-pairs container\r
+               vToolIcons.setSize(IC_MAX);\r
+\r
+               // these statements ***MUST*** be in ascending order (of index number) else initComponents() will throw NullPointerExceptions!!!\r
+               vToolIcons.add(IC_NEW, new ToolIconPair(new ImageIcon(new URL(u, (n = "new") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_OPEN_FILE, new ToolIconPair(new ImageIcon(new URL(u, (n = "openFile") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_SAVE, new ToolIconPair(new ImageIcon(new URL(u, (n = "save") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_SAVE_AS, new ToolIconPair(new ImageIcon(new URL(u, (n = "saveAs") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_SEND_TO_VISTA_DB, new ToolIconPair(new ImageIcon(new URL(u, (n = "vistaOnline") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_TO_COOKIE, new ToolIconPair(new ImageIcon(new URL(u, (n = "toCookie") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_FROM_COOKIE, new ToolIconPair(new ImageIcon(new URL(u, (n = "fromCookie") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_CREATE_FILTER, new ToolIconPair(new ImageIcon(new URL(u, (n = "createFilter") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_TO_VISTA_PAGE, new ToolIconPair(new ImageIcon(new URL(u, (n = "vistaWebPage") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_PAGE_SETUP, new ToolIconPair(new ImageIcon(new URL(u, (n = "pageSetup") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_PRINT, new ToolIconPair(new ImageIcon(new URL(u, (n = "print") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_PROPERTIES, new ToolIconPair(new ImageIcon(new URL(u, (n = "properties") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_1UP, new ToolIconPair(new ImageIcon(new URL(u, (n = "1up") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_2UP, new ToolIconPair(new ImageIcon(new URL(u, (n = "2up") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_ALTERNATE, new ToolIconPair(new ImageIcon(new URL(u, (n = "alternate") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_BOTH_EYES, new ToolIconPair(new ImageIcon(new URL(u, (n = "eyes2") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_SEPARATE_EYES, new ToolIconPair(new ImageIcon(new URL(u, (n = "eyes1") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_READING, new ToolIconPair(new ImageIcon(new URL(u, (n = "reading") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_PATTERNS, new ToolIconPair(new ImageIcon(new URL(u, (n = "patterns") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_RGB, new ToolIconPair(new ImageIcon(new URL(u, (n = "rgb") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_HSB, new ToolIconPair(new ImageIcon(new URL(u, (n = "hsb") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_CYMK, new ToolIconPair(new ImageIcon(new URL(u, (n = "cymk") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_WHEEL, new ToolIconPair(new ImageIcon(new URL(u, (n = "wheel") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_TRIANGLE, new ToolIconPair(new ImageIcon(new URL(u, (n = "triangle") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_QUBE, new ToolIconPair(new ImageIcon(new URL(u, (n = "qube") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_COLOR_CHOOSER, new ToolIconPair(new ImageIcon(new URL(u, (n = "sysColour") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_MANUAL, new ToolIconPair(new ImageIcon(new URL(u, (n = "manual") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_AUTO, new ToolIconPair(new ImageIcon(new URL(u, (n = "auto") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_DIRECTED, new ToolIconPair(new ImageIcon(new URL(u, (n = "directed") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_SCRIPT, new ToolIconPair(new ImageIcon(new URL(u, (n = "script") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_OPTION_CONFIG_READING, new ToolIconPair(new ImageIcon(new URL(u, (n = "reading") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_OPTION_CONFIG_PATTERNS, new ToolIconPair(new ImageIcon(new URL(u, (n = "patterns") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_OPTION_CONFIG_DIRECTED, new ToolIconPair(new ImageIcon(new URL(u, (n = "directed") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_OPTION_CONFIG_SCRIPT, new ToolIconPair(new ImageIcon(new URL(u, (n = "script") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_OPTION_CONFIG_VISTA_DB, new ToolIconPair(new ImageIcon(new URL(u, (n = "vistaOnline") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_OPTION_CHOOSE, new ToolIconPair(new ImageIcon(new URL(u, (n = "openFile") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_OPTION_CUSTOMIZE, new ToolIconPair(new ImageIcon(new URL(u, (n = "customize") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_OPTION_PREFERENCES, new ToolIconPair(new ImageIcon(new URL(u, (n = "preferences") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_CONNECT, new ToolIconPair(new ImageIcon(new URL(u, (n = "connect") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_PAUSE, new ToolIconPair(new ImageIcon(new URL(u, (n = "pause") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_DISCONNECT, new ToolIconPair(new ImageIcon(new URL(u, (n = "disconnect") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_OPTION_DYNAMIC_VISTA, new ToolIconPair(new ImageIcon(new URL(u, (n = "vistaWebPage") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_HELP_CONTENTS, new ToolIconPair(new ImageIcon(new URL(u, (n = "help") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_HELP_INDEX, new ToolIconPair(new ImageIcon(new URL(u, (n = "index") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_HELP_SEARCH, new ToolIconPair(new ImageIcon(new URL(u, (n = "helpsearch") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_HELP_EXPLAIN, new ToolIconPair(new ImageIcon(new URL(u, (n = "explain") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_HELP_ABOUT, new ToolIconPair(new ImageIcon(new URL(u, (n = "about") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_HELP_WEB, new ToolIconPair(new ImageIcon(new URL(u, (n = "webHelpLink") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_HELP, new ToolIconPair(new ImageIcon(new URL(u, (n = "help") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_PLAY, new ToolIconPair(new ImageIcon(new URL(u, (n = "play") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_STOP, new ToolIconPair(new ImageIcon(new URL(u, (n = "stop") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_LANGUAGE, new ToolIconPair(new ImageIcon(new URL(u, (n = "language") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_DEFAULT, new ToolIconPair(new ImageIcon(new URL(u, (n = "language") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_BRITISH, new ToolIconPair(new ImageIcon(new URL(u, (n = "british") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_FRENCH, new ToolIconPair(new ImageIcon(new URL(u, (n = "french") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_SPANISH, new ToolIconPair(new ImageIcon(new URL(u, (n = "spanish") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_GERMAN, new ToolIconPair(new ImageIcon(new URL(u, (n = "german") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_SWATCHES, new ToolIconPair(new ImageIcon(new URL(u, (n = "swatches") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_FILTER_TEMPLATE, new ToolIconPair(new ImageIcon(new URL(u, (n = "fltTmpl") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_FILTER_WINDOW, new ToolIconPair(new ImageIcon(new URL(u, (n = "fltWin") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_FILTER_SCREEN, new ToolIconPair(new ImageIcon(new URL(u, (n = "fltScr") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_PROFILE_DELETE, new ToolIconPair(new ImageIcon(new URL(u, (n = "delete") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_RECORD, new ToolIconPair(new ImageIcon(new URL(u, (n = "record") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_OPTION_CONFIG_SWATCHES, new ToolIconPair(new ImageIcon(new URL(u, (n = "swatches") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_LANG_AR_EG, new ToolIconPair(new ImageIcon(new URL(u, (n = "egypt") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_FA_IR, new ToolIconPair(new ImageIcon(new URL(u, (n = "iran") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_HI_IN, new ToolIconPair(new ImageIcon(new URL(u, (n = "india") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_IN, new ToolIconPair(new ImageIcon(new URL(u, (n = "indonesia") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_JA, new ToolIconPair(new ImageIcon(new URL(u, (n = "japan") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_NL, new ToolIconPair(new ImageIcon(new URL(u, (n = "netherlands") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_PS, new ToolIconPair(new ImageIcon(new URL(u, (n = "afghanistan") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_PT, new ToolIconPair(new ImageIcon(new URL(u, (n = "portugal") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_RU, new ToolIconPair(new ImageIcon(new URL(u, (n = "russia") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_SV, new ToolIconPair(new ImageIcon(new URL(u, (n = "sweden") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_UR, new ToolIconPair(new ImageIcon(new URL(u, (n = "pakistan") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+               vToolIcons.add(IC_LANG_ZH, new ToolIconPair(new ImageIcon(new URL(u, (n = "china") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               vToolIcons.add(IC_IMAGES, new ToolIconPair(new ImageIcon(new URL(u, (n = "images") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));\r
+\r
+               icVista = new ImageIcon(new URL(u, "vistaIcon" + ext)); // the application icon\r
+\r
+               /* must create the filter component before initComponents[] calls pack()\r
+                else sliderTintStateChanged() will cause a null pointer exception\r
+                referencing vfFilter\r
+                       */\r
+               vfFilter = new VistaFilter();\r
+\r
+               // create the button groups that manage the menu and tool bar mode selectors\r
+               mbgModelAlgorithm = new ButtonGroup();\r
+               mbgModelEyes = new ButtonGroup();\r
+               mbgColourModel = new ButtonGroup();\r
+               mbgTemplate = new ButtonGroup();\r
+               mbgColourView = new ButtonGroup();\r
+               mbgDirection = new ButtonGroup();\r
+               mbgLanguage = new ButtonGroup();\r
+               mbgConnection = new ButtonGroup();\r
+               mbgPlayback = new ButtonGroup();\r
+               mbgFilter = new ButtonGroup();\r
+  mbgLandF = new ButtonGroup();\r
+                                                               \r
+               tbgModelAlgorithm = new ButtonGroup();\r
+               tbgModelEyes = new ButtonGroup();\r
+               tbgColourModel = new ButtonGroup();\r
+               tbgTemplate = new ButtonGroup();\r
+               tbgColourView = new ButtonGroup();\r
+               tbgDirection = new ButtonGroup();\r
+               tbgLanguage = new ButtonGroup();\r
+               tbgConnection = new ButtonGroup();\r
+               tbgPlayback = new ButtonGroup();\r
+               \r
+               initActions(); // actions shared by menus and tool bar buttons\r
+               initComponents(); // create & initialize the components\r
+                                                       \r
+  // get the PopupMenu used to choose the tool bar buttons\r
+  toolBarPopup = mOptionsToolbar.getPopupMenu();\r
+\r
+               /* All tool bar buttons require common operations performing\r
+                * Much more efficient to do it in an iteration than\r
+                * using the IDE's initComponents() method with much-repeated source code.\r
+                * \r
+                * Clear Mnemonics from all tool bar buttons to prevent\r
+                * incorrect Mnemomic/Accelerator key advertising.\r
+                * Needed because all Actions have mnemonics assigned for use in menus.\r
+                *  \r
+                * Reset borderPainted to allow a seamless look\r
+                * Reset contentAreaFilled to prevent Selected buttons having their backgrounds painted\r
+                * Reset focusPainted to prevent a dotted rectangle highlighting the button under the cursor\r
+                * Standardize each button's size\r
+                * Clear the button label text\r
+                */\r
+               AbstractButton ab;\r
+  Component allButtons[];\r
+  Component allPanels[] = toolBar.getComponents(); // get all the tool bar panels\r
+               for(int p = 0; p < allPanels.length; p++) {\r
+   allButtons = ((Container)allPanels[p]).getComponents();      // get all the buttons on this panel                                                           \r
+   for(int i = 0; i < allButtons.length; i++ ) {\r
+                        if(allButtons[i] instanceof AbstractButton) { // make sure this IS a button\r
+                                ab = (AbstractButton)allButtons[i];\r
+     ab.setMnemonic(0);\r
+                                       ab.setBorderPainted(false);\r
+                                       ab.setContentAreaFilled(false);\r
+                                       ab.setFocusPainted(false);\r
+                                       ab.setMinimumSize(toolButtonSize);\r
+                                       ab.setPreferredSize(toolButtonSize);\r
+                                       ab.setMaximumSize(toolButtonSize);\r
+                                       ab.setText(null);\r
+                               }\r
+                       }\r
+  }\r
+                                                               \r
+               // do the same for the status icon panel\r
+               allButtons = statusIconPanel.getComponents(); // get all the buttons\r
+               for(int i = 0; i < allButtons.length; i++) {\r
+                       if(allButtons[i] instanceof AbstractButton) { // make sure this IS a button\r
+                               ab = (AbstractButton)allButtons[i];\r
+                               ab.setBorderPainted(false);\r
+                               ab.setMargin(new java.awt.Insets(0, 0, 0, 0));\r
+                               ab.setMaximumSize(statusIconButtonSize);\r
+                               ab.setMinimumSize(statusIconButtonSize);\r
+                               ab.setPreferredSize(statusIconButtonSize);\r
+                               ab.setEnabled(false);\r
+                       }\r
+               }\r
+                                                                                                                               \r
+               pack(); // optimize size of frame - prevents toolbar panels forcing window to be ultra-wide\r
+               setLocation(getCentralScreenLocation(this)); // center on screen\r
+                                                               \r
+               // configure the VisTA filter\r
+               vfFilter.setAlpha( ((float) sliderTint.getValue())/100 ); // transparency is a decimal between 0.0 and 1.0\r
+               vfFilter.setBackground(Color.blue);  //*** might want to have this set from saved Personal Preferences later\r
+\r
+  // attach the VisTA filter to the deepest (closest) pane\r
+               filterLayerPane.add(vfFilter, javax.swing.JLayeredPane.DRAG_LAYER);\r
+\r
+               // prepare for taking over the Frame's glass pane too\r
+               defaultGlassPane = getGlassPane(); // keep track so it can be swapped in and out\r
+               vfFilter.setVisible(true);\r
+               activeFilter = FILTER_TEMPLATE; // any changes will make this the 'previous' filter\r
+\r
+               // equal initial left/right pane widths\r
+               spTemplate.setDividerLocation(spTemplate.getWidth() - spColour.getDividerLocation()); \r
+                                                               \r
+               sysColorChooser.getSelectionModel().addChangeListener(\r
+                       new ChangeListener() {\r
+                               public void stateChanged(ChangeEvent e) {\r
+                                       sysColorChooserStateChanged(e);\r
+                               }\r
+                       }    \r
+               );\r
+               sysColorChooser.setColor(vfFilter.getBackground());  // ensure the chooser colour matches the initial VisTA filter colour\r
+\r
+  // dynamically configure the Look-and-Feel menu\r
+  //UIChangeListener l = new UIChangeListener();\r
+  JRadioButtonMenuItem miLF;\r
+  UIManager.LookAndFeelInfo[] uiInstalled = UIManager.getInstalledLookAndFeels();\r
+  for(int i = 0; i < uiInstalled.length; i++) {\r
+   miLF = new JRadioButtonMenuItem(); // add a new radio button for each L&F\r
+   miLF.setText(uiInstalled[i].getName()); // the friendly name\r
+   miLF.setToolTipText(uiInstalled[i].getClassName()); // the full name\r
+   miLF.setSelected(UIManager.getLookAndFeel().getName() == miLF.getText()); // select the current L&F\r
+                       miLF.addItemListener(this); // no Adapter, so make sure the listener method identifies the component first!\r
+                       miLF.putClientProperty("ButtonGroup", "LandF"); // only way for itemStateChanged() to identify L&F events\r
+   mbgLandF.add(miLF); // add to button group\r
+   mOptionsLandF.add(miLF); // add to menu\r
+  }\r
+               // might want to offer Auxillary L&F's too?\r
+                                               \r
+  //** At this point, need to load and act on User configuration\r
+               \r
+  initHelp(baseURL); // prepare the Help service               \r
+               \r
+               // dispose of the splash window\r
+               splash.dispose();\r
+               splash = null;\r
+ }\r
+\r
+       private void initHelp(URL baseURL) throws MalformedURLException {\r
+               // create the tree roots for the help system so they can be used in JTree constructors - can add further nodes later\r
+               helpContentsRootNode = new DefaultMutableTreeNode("VisTA.CID");\r
+               helpIndexRootNode = new DefaultMutableTreeNode("Index");\r
+\r
+  HelpIconTitledURLItem item = null;\r
+               DefaultMutableTreeNode helpCategoryNode = null;\r
+               DefaultMutableTreeNode helpPageNode = null;\r
+               \r
+               helpCategoryNode = new DefaultMutableTreeNode("Getting Started");\r
+               helpContentsRootNode.add(helpCategoryNode);\r
+               item = new HelpIconTitledURLItem("Welcome to VisTA.CID", new URL(baseURL, "default.html"), true);\r
+               helpPageNode = new DefaultMutableTreeNode(item);\r
+               helpCategoryNode.add(helpPageNode);\r
+               \r
+               helpCategoryNode = new DefaultMutableTreeNode("Using VisTA.CID");\r
+               helpContentsRootNode.add(helpCategoryNode);\r
+  helpPageNode = new DefaultMutableTreeNode("Menus");\r
+               helpCategoryNode.add(helpPageNode);\r
+  helpPageNode = new DefaultMutableTreeNode("Tool bar");\r
+               helpCategoryNode.add(helpPageNode);\r
+  helpPageNode = new DefaultMutableTreeNode("Colour controls");\r
+               helpCategoryNode.add(helpPageNode);\r
+  helpPageNode = new DefaultMutableTreeNode("Templates");\r
+               helpCategoryNode.add(helpPageNode);\r
+  helpPageNode = new DefaultMutableTreeNode("Template controls");\r
+               helpCategoryNode.add(helpPageNode);\r
+               \r
+               \r
+               // load the help window, but keep it hidden\r
+               helpWindow = new xhtmlHelp(new URL(baseURL, "help/"), currentLocale, "default.html");\r
+               helpWindow.setNavigationContentsTreeRoot(new DefaultTreeModel(helpContentsRootNode));\r
+               helpWindow.setNavigationIndexTreeRoot(new DefaultTreeModel(helpIndexRootNode));\r
+\r
+               helpWindow.setDocking(mHelpDock.isSelected()); // set the Help docking policy\r
+\r
+               if(mHelpExplain.isSelected()) {\r
+                       helpWindow.setPage("helpExplain.html");\r
+                showHelp(0, true, true, true);\r
+               }\r
+       }\r
+       \r
+ /** Creates all the common actions from the resource bundle and icon pairs\r
+               * \r
+               * Note: The Mnemonic key assignments currently have no way of easily being stored\r
+               * in the resource bundles. A new class, PowerKeyEvent, will provide a public static\r
+               * method that takes a String key of the form "VK_N" and returns the int value associated\r
+               * with it by ActionEvent.\r
+               * Each assignment creates an action that is used in menu items and tool bar button initialization\r
+               * PowerAction is an extension of AbstractAction that contains ALL the Action Keys that JButton and\r
+               * JMenuItem look for when their addAction() method's are called.\r
+               */\r
+       private void initActions() {\r
+               aNew = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActNewName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_NEW)).active,\r
+                       cIDresources.getString("ActNewTip"),\r
+                       null, null, KeyEvent.VK_N,\r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK),\r
+                       currentLocale, "ActNewName", "ActNewTip", null, null, null, null)\r
+                       {\r
+                               public void actionPerformed(ActionEvent e) {\r
+                                       statusMessage.setText((String)aNew.getValue(Action.NAME)); \r
+                               }\r
+                       };\r
+\r
+        aOpen = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActOpenName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).active,\r
+                       cIDresources.getString("ActOpenTip"),\r
+                       null, null, KeyEvent.VK_O,\r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK),\r
+                       currentLocale, "ActOpenName", "ActOpenTip", null, null, null, null) \r
+               {\r
+                        public void actionPerformed(ActionEvent e) {\r
+     statusMessage.setText((String)aOpen.getValue(Action.NAME));\r
+                               }\r
+               };\r
+\r
+        aSave = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActSaveName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_SAVE)).active,\r
+                       cIDresources.getString("ActSaveTip"),\r
+                       null, null, KeyEvent.VK_S,\r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK) ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aSave.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+        aSaveAs = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActSaveAsName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_SAVE_AS)).active,\r
+                       cIDresources.getString("ActSaveAsTip"),\r
+                       null, null, KeyEvent.VK_A, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aSaveAs.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+        aDelete = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActDelName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_PROFILE_DELETE)).active,\r
+                       cIDresources.getString("ActDelTip"),\r
+                       null, null, KeyEvent.VK_D, null ) \r
+               {\r
+                        public void actionPerformed(ActionEvent e) {\r
+     statusMessage.setText((String)aOpen.getValue(Action.NAME));\r
+                               }\r
+               };\r
+\r
+        aSendToVistaDB = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActSendToVistaName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).active,\r
+                       cIDresources.getString("ActSendToVistaTip"),\r
+                       null, null, KeyEvent.VK_V,\r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aSendToVistaDB.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+        aToCookie = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActToCookName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_TO_COOKIE)).active,\r
+                       cIDresources.getString("ActToCookTip"),\r
+                       null, null, KeyEvent.VK_T, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_UP, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aToCookie.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+        aFromCookie = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActFrCookName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_FROM_COOKIE)).active,\r
+                       cIDresources.getString("ActFrCookTip"),\r
+                       null, null, KeyEvent.VK_C,\r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aFromCookie.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+        aCreateFilter = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActCreFltName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_CREATE_FILTER)).active,\r
+                       cIDresources.getString("ActCreFltTip"),\r
+                       null, null, KeyEvent.VK_F, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aCreateFilter.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+        aToVistaPage = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActToVistaPageName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_TO_VISTA_PAGE)).active,\r
+                       cIDresources.getString("ActToVistaPageTip"),\r
+                       null, null, KeyEvent.VK_W, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aToVistaPage.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+        aPageSetup = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActPageSetName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_PAGE_SETUP)).active,\r
+                       cIDresources.getString("ActPageSetTip"),\r
+                       null, null, KeyEvent.VK_G, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aPageSetup.getValue(Action.NAME));\r
+                               if(printJob == null) // first time, so get a new job\r
+                                        printJob = PrinterJob.getPrinterJob();\r
+    if(pageFormat == null) // call the Page Format dialog\r
+                                       pageFormat = printJob.defaultPage();\r
+                               pageFormat = printJob.pageDialog(pageFormat); // remember the choosen format\r
+                       }\r
+               };\r
+\r
+        aPrint = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActPrintName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_PRINT)).active,\r
+                       cIDresources.getString("ActPrintTip"),\r
+                       null, null, KeyEvent.VK_P, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK) ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aPrint.getValue(Action.NAME));\r
+                               if(printJob == null) // if first time, get a new job\r
+                                       printJob = PrinterJob.getPrinterJob();\r
+                               if(pageFormat != null) // use a previously chosen page format\r
+                                       printJob.setPrintable(frameCID, frameCID.pageFormat); // print the entire window\r
+                               else // use the default page format\r
+                                       printJob.setPrintable(frameCID); // print the entire window\r
+                               \r
+                               if(printJob.printDialog()) { // only go ahead and print if the user clicks OK in the Print Setup dialog\r
+                                       Thread prt = new Thread() { // create a new thread for printing, so the program doesn't appear to freeze\r
+                                               public void run() { // called when the thread is started\r
+                                                       try {\r
+                                                               printJob.setJobName("VisTA.CID"); // set a friendly printer job name for the queue\r
+                                                        frameCID.printJob.print(); // do the printing\r
+                                                       } catch(Exception ex) {\r
+                                                               ex.printStackTrace();\r
+                                                       }\r
+                                               }\r
+                                       };\r
+                                       prt.start(); // do the printing\r
+                               }\r
+                       }\r
+               };\r
+\r
+        aProperties = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActPropsName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_PROPERTIES)).active,\r
+                       cIDresources.getString("ActPropsTip"),\r
+                       null, null, KeyEvent.VK_R, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, ActionEvent.ALT_MASK) ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aProperties.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+        a1_Up = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("Act1UpName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_1UP)).active,\r
+                       cIDresources.getString("Act1UpTip"),\r
+                       null, null, KeyEvent.VK_1, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK) ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               modelChange(e);\r
+                       }\r
+               };\r
+\r
+        a2_Up = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("Act2UpName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_2UP)).active,\r
+                       cIDresources.getString("Act2UpTip"),\r
+                       null, null, KeyEvent.VK_2, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK) ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               modelChange(e);\r
+                       }\r
+               };\r
+\r
+        aAlternate = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActAltName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).active,\r
+                       cIDresources.getString("ActAltTip"),\r
+                       null, null, KeyEvent.VK_A, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.ALT_MASK) ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               modelChange(e);\r
+                       }\r
+               };\r
+\r
+        aBothEyes = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActBothEyesName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active,\r
+                       cIDresources.getString("ActBothEyesTip"),\r
+                       null, null, KeyEvent.VK_B, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               eyesChange(e);\r
+                       }\r
+               };\r
+\r
+        aSeparateEyes = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActSepEyesName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).active,\r
+                       cIDresources.getString("ActSepEyesTip"),\r
+                       null, null, KeyEvent.VK_S, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               eyesChange(e);\r
+                       }\r
+               };\r
+\r
+        aReading = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActReadName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_READING)).active,\r
+                       cIDresources.getString("ActReadTip"),\r
+                       null, null, KeyEvent.VK_R, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_R, ActionEvent.CTRL_MASK & ActionEvent.ALT_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               templateChange(e);\r
+                       }\r
+               };\r
+\r
+        aPatterns = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActPatName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_PATTERNS)).active,\r
+                       cIDresources.getString("ActPatTip"),\r
+                       null, null, KeyEvent.VK_P, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK & ActionEvent.ALT_MASK) ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               templateChange(e);\r
+                       }\r
+               };\r
+\r
+        aImages = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActImgName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_IMAGES)).active,\r
+                       cIDresources.getString("ActImgTip"),\r
+                       null, null, KeyEvent.VK_I, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_I, ActionEvent.CTRL_MASK & ActionEvent.ALT_MASK) ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               templateChange(e);\r
+                       }\r
+               };\r
+\r
+        aRGB = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActRGBName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_RGB)).active,\r
+                       cIDresources.getString("ActRGBTip"),\r
+                       null, null, KeyEvent.VK_R, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F1, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               colourModelChange(e);\r
+                       }\r
+               };\r
+\r
+        aHSB = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActHSBName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_HSB)).active,\r
+                       cIDresources.getString("ActHSBTip"),\r
+                       null, null, KeyEvent.VK_H, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F2, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               colourModelChange(e);\r
+                       }\r
+               };\r
+\r
+        aCYMK = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActCYMKName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_CYMK)).active,\r
+                       cIDresources.getString("ActCYMKTip"),\r
+                       null, null, KeyEvent.VK_C, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F3, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               colourModelChange(e);\r
+                       }\r
+               };\r
+\r
+        aWheel = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActWheelName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_WHEEL)).active,\r
+                       cIDresources.getString("ActWheelTip"),\r
+                       null, null, KeyEvent.VK_W, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F4, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               colourViewChange(e);\r
+                       }\r
+               };\r
+\r
+        aTriangle = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActTriName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_TRIANGLE)).active,\r
+                       cIDresources.getString("ActTriTip"),\r
+                       null, null, KeyEvent.VK_T, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F5, ActionEvent.CTRL_MASK) ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               colourViewChange(e);\r
+                       }\r
+               };\r
+\r
+        aQube = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActQubeName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_QUBE)).active,\r
+                       cIDresources.getString("ActQubeTip"),\r
+                       null, null, KeyEvent.VK_Q, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F6, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               colourViewChange(e);\r
+                       }\r
+               };\r
+\r
+        aColorChooser = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActSysColName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).active,\r
+                       cIDresources.getString("ActSysColTip"),\r
+                       null, null, KeyEvent.VK_S, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F7, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               colourViewChange(e);\r
+                       }\r
+               };\r
+               \r
+               aSwatches = new org.tjworld.components.PowerAction(\r
+                cIDresources.getString("ActSwatchName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_SWATCHES)).active,\r
+                       cIDresources.getString("ActSwatchTip"),\r
+                       null, null, KeyEvent.VK_W, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F8, ActionEvent.CTRL_MASK))\r
+               {\r
+                       public void actionPerformed(ActionEvent e) {\r
+                               colourViewChange(e);\r
+                       }\r
+               };\r
+\r
+        aManual = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActManualName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_MANUAL)).active,\r
+                       cIDresources.getString("ActManualTip"),\r
+                       null, null, KeyEvent.VK_M, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F9, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               directorChange(e);\r
+                       }\r
+               };\r
+\r
+        aAuto = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActAutoName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_AUTO)).active,\r
+                       cIDresources.getString("ActAutoTip"),\r
+                       null, null, KeyEvent.VK_A, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F10, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               directorChange(e);\r
+                       }\r
+               };\r
+\r
+        aDirected = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActDirectName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_DIRECTED)).active,\r
+                       cIDresources.getString("ActDirectTip"),\r
+                       null, null, KeyEvent.VK_D, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F11, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               directorChange(e);\r
+                       }\r
+               };\r
+\r
+        aScript = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActScriptName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_SCRIPT)).active,\r
+                       cIDresources.getString("ActScriptTip"),\r
+                       null, null, KeyEvent.VK_C, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F12, ActionEvent.CTRL_MASK))\r
+                       {\r
+                               public void actionPerformed(ActionEvent e) {\r
+                                       directorChange(e);\r
+                               }\r
+                       };\r
+\r
+        aConnect = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActConnectName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_CONNECT)).active,\r
+                       cIDresources.getString("ActConnectTip"),\r
+                       null, null, KeyEvent.VK_C, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aConnect.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+        aPause = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActPauseName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_PAUSE)).active,\r
+                       cIDresources.getString("ActPauseTip"),\r
+                       null, null, KeyEvent.VK_P, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aPause.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+        aDisconnect = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActDiscName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).active,\r
+                       cIDresources.getString("ActDiscTip"),\r
+                       null, null, KeyEvent.VK_D, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aDisconnect.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+  aPlay = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActPlayName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_PLAY)).active,\r
+                       cIDresources.getString("ActPlayTip"),\r
+                       null, null, KeyEvent.VK_P, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aPlay.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+  aRecord = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActRecName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_RECORD)).active,\r
+                       cIDresources.getString("ActRecTip"),\r
+                       null, null, KeyEvent.VK_R, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aRecord.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+               aStop = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActStopName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_STOP)).active,\r
+                       cIDresources.getString("ActStopTip"),\r
+                       null, null, KeyEvent.VK_S, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aStop.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+               aDynamicVista = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActDynVistaName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_OPTION_DYNAMIC_VISTA)).active,\r
+                       cIDresources.getString("ActDynVistaTip"),\r
+                       null, null, KeyEvent.VK_V, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aDynamicVista.getValue(Action.NAME));\r
+                       }\r
+               };\r
+\r
+               aLanguageDefault = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangDefName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_DEFAULT)).active,\r
+                       cIDresources.getString("ActLangDefTip"),\r
+                       null, null, KeyEvent.VK_D, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(Locale.getDefault());\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+\r
+               aLanguageBritish = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangBritName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active,\r
+                       cIDresources.getString("ActLangBritTip"),\r
+                       null, null, KeyEvent.VK_B, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(Locale.UK);\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+\r
+               aLanguageFrench = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangFrName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_FRENCH)).active,\r
+                       cIDresources.getString("ActLangFrTip"),\r
+                       null, null, KeyEvent.VK_F, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(Locale.FRANCE);\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+\r
+               aLanguageSpanish = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangSpanName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_SPANISH)).active,\r
+                       cIDresources.getString("ActLangSpanTip"),\r
+                       null, null, KeyEvent.VK_S, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("es","ES"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+\r
+               aLanguageGerman = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangGerName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_GERMAN)).active,\r
+                       cIDresources.getString("ActLangGerTip"),\r
+                       null, null, KeyEvent.VK_G, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("de","DE"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+\r
+               aLanguageArabicEgypt = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangArEGName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_AR_EG)).active,\r
+                       cIDresources.getString("ActLangArEGTip"),\r
+                       null, null, KeyEvent.VK_A, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("ar","EG"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+\r
+               aLanguageFarsiIran = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangFaIRName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_FA_IR)).active,\r
+                       cIDresources.getString("ActLangFaIRTip"),\r
+                       null, null, 0, null ) // no keyboard mnemonic\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("fa","IR"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+\r
+               aLanguageHindiIndia = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangHiINName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_FA_IR)).active,\r
+                       cIDresources.getString("ActLangHiINTip"),\r
+                       null, null, KeyEvent.VK_H, null )\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("hi","IN"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+               \r
+               aLanguageIndonesian = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangIndonesianName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,\r
+                       cIDresources.getString("ActLangIndonesianTip"),\r
+                       null, null, 0, null )\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("in"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+               \r
+               aLanguageJapanese = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangJapaneseName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,\r
+                       cIDresources.getString("ActLangJapaneseTip"),\r
+                       null, null, 0, null )\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("ja"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+               \r
+  aLanguageDutch = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangDutchName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,\r
+                       cIDresources.getString("ActLangDutchTip"),\r
+                       null, null, 0, null )\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("nl"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+               \r
+               aLanguagePashto = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangPashtoName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,\r
+                       cIDresources.getString("ActLangPashtoTip"),\r
+                       null, null, 0, null )\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("ps"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+               \r
+               aLanguagePortuguese = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangPortugueseName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,\r
+                       cIDresources.getString("ActLangPortugueseTip"),\r
+                       null, null, 0, null )\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("pt"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+       \r
+               aLanguageRussian = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangRussianName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,\r
+                       cIDresources.getString("ActLangRussianTip"),\r
+                       null, null, 0, null )\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("ru"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+               \r
+               aLanguageSwedish = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangSwedishName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,\r
+                       cIDresources.getString("ActLangSwedishTip"),\r
+                       null, null, 0, null )\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("sv"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+               \r
+               aLanguageUrdu = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangUrduName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,\r
+                       cIDresources.getString("ActLangUrduTip"),\r
+                       null, null, 0, null )\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("ur"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+               \r
+               aLanguageChinese = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActLangChineseName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,\r
+                       cIDresources.getString("ActLangChineseTip"),\r
+                       null, null, 0, null )\r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               frameCID.setLocale(new Locale("zh"));\r
+                               languageChange(e); // update application state\r
+                       }\r
+               };\r
+               \r
+               aHelpContents = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActHelpConName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_HELP_CONTENTS)).active,\r
+                       cIDresources.getString("ActHelpConTip"),\r
+                       null, null, KeyEvent.VK_C, \r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_F1, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aHelpContents.getValue(Action.NAME));\r
+                               showHelp(xhtmlHelp.TAB_CONTENTS, false, true, true);\r
+                       }\r
+               };\r
+\r
+        aHelpSearch = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActHelpSrcName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_HELP_SEARCH)).active,\r
+                       cIDresources.getString("ActHelpSrcTip"),\r
+                       null, null, KeyEvent.VK_S, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aHelpSearch.getValue(Action.NAME));\r
+                               showHelp(xhtmlHelp.TAB_SEARCH, false, true, true);\r
+                       }\r
+               };\r
+\r
+        aHelpWeb = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActHelpWebName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_HELP_WEB)).active,\r
+                       cIDresources.getString("ActHelpWebTip"),\r
+                       null, null, KeyEvent.VK_W, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               statusMessage.setText((String)aHelpWeb.getValue(Action.NAME));\r
+                       }\r
+               };\r
+        aFilterTemplate = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActFltTmplName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_FILTER_TEMPLATE)).active,\r
+                       cIDresources.getString("ActFltTmplTip"),\r
+                       null, null, KeyEvent.VK_T,\r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_T, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               filterChange(e, FILTER_TEMPLATE);\r
+                       }\r
+               };\r
+\r
+        aFilterWindow = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActFltWinName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_FILTER_WINDOW)).active,\r
+                       cIDresources.getString("ActFltWinTip"),\r
+                       null, null, KeyEvent.VK_W,\r
+                       KeyStroke.getKeyStroke(KeyEvent.VK_W, ActionEvent.CTRL_MASK)) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               filterChange(e, FILTER_WINDOW);\r
+                       }\r
+               };\r
+\r
+        aFilterScreen = new org.tjworld.components.PowerAction(\r
+                       cIDresources.getString("ActFltScrName"),\r
+                       ((ToolIconPair)vToolIcons.get(IC_FILTER_SCREEN)).active,\r
+                       cIDresources.getString("ActFltScrTip"),\r
+                       null, null, KeyEvent.VK_S, null ) \r
+               {\r
+   public void actionPerformed(ActionEvent e) {\r
+                               filterChange(e, FILTER_SCREEN);\r
+                       }\r
+               };\r
+ }\r
+       \r
+       /** Display the HTML help window\r
+               * @param tabSelected The Navigation tab to give focus to\r
+               */      \r
+       public void showHelp(int tabSelected, boolean position, boolean show, boolean changeShow) {\r
+               if(helpWindow != null) {\r
+               if(helpLocation == null || position == true) { // not displayed before, so position nicely\r
+                       helpLocation = new Point(getX(), getY() + getHeight());\r
+                       helpWindow.setLocation(helpLocation, (Component)this);\r
+       Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();\r
+                       Dimension d = getSize();\r
+         d.height = screenSize.height - (getY() + d.height);\r
+                       helpWindow.setSize(d, (Component)this);\r
+        }\r
+\r
+               if(changeShow) helpWindow.setVisible(show);\r
+               if(tabSelected != 0) helpWindow.setNavigationTab(tabSelected);\r
+               }\r
+       }\r
+       \r
+       /** Switch the positioning of the VisTA filter\r
+               *\r
+               * By default the filter covers only the Template, but can be set to cover the\r
+               * entire Window, and in supported environments, the entire screen.\r
+               *\r
+               * Filtering the entire screen may require either the Java Full-Screen API so\r
+               * the application takes over the display, or else the use of Java Native Interface\r
+               * to communicate with the host Operating System.\r
+               */\r
+       private void filterChange(ActionEvent e, int newFilter) {\r
+               AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event\r
+               statusIconFilter.setDisabledIcon(pa.getIcon()); // update the status icon       \r
+               statusMessage.setText((String)pa.getAction().getValue(Action.NAME));\r
+\r
+  switch(activeFilter) { // deactivate the current filter\r
+   case FILTER_SCREEN: // remove attachment to screen\r
+    break;\r
+   case FILTER_WINDOW: // remove attachment to window\r
+                       setGlassPane(defaultGlassPane);\r
+    defaultGlassPane.setVisible(false);\r
+    break;\r
+   case FILTER_TEMPLATE:  // remove attachment to template\r
+                       filterLayerPane.remove(vfFilter);\r
+    break;\r
+  }\r
+    \r
+  switch(newFilter) { // activate the requested filter\r
+   case FILTER_SCREEN: // attach to screen\r
+    break;\r
+   case FILTER_WINDOW: // attach to window\r
+                       // defaultGlassPane = getGlassPane(); // store the current glass pane\r
+                       setGlassPane(vfFilter); // replace it with the filter\r
+                       vfFilter.setVisible(true); // make it visible\r
+    break;\r
+   case FILTER_TEMPLATE: // attach to template\r
+                               vfFilter.setLocation(0,0); // might have been forced to relocate by Frame L&F decorations\r
+                       filterLayerPane.add(vfFilter, javax.swing.JLayeredPane.DRAG_LAYER);\r
+    break;\r
+  }\r
+  activeFilter = newFilter;\r
+       }\r
+       \r
+       /** Update state of application after a Language change\r
+               *\r
+               * Reflects the change in the status bar icons, and iterates through\r
+               * all language-dependent components.\r
+               *\r
+               * @param e event fired by source component\r
+               */\r
+       private void languageChange(ActionEvent e) {\r
+               AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event\r
+               statusIconLanguage.setDisabledIcon(pa.getIcon());       // update the status icon       \r
+               statusMessage.setText((String)pa.getAction().getValue(Action.NAME));\r
+       }\r
+\r
+               /** Update state of application after a Director change\r
+               *\r
+               * Reflects the change in the status bar icons, and switches\r
+               * director mode.\r
+               *\r
+               * @param e event fired by source component\r
+               */\r
+       private void directorChange(ActionEvent e) {\r
+               AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event\r
+               statusIconDirector.setDisabledIcon(pa.getIcon()); // update the status icon     \r
+               statusMessage.setText((String)pa.getAction().getValue(Action.NAME));\r
+       }\r
+       \r
+               /** Update state of application after a Colour View change\r
+               *\r
+               * Reflects the change in the status bar icons, and changes \r
+               * colour view mode.\r
+               *\r
+               * @param e event fired by source component\r
+               */\r
+               private void colourViewChange(ActionEvent e) {\r
+               AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event\r
+               statusIconColourView.setDisabledIcon(pa.getIcon()); // update the status icon   \r
+               statusMessage.setText((String)pa.getAction().getValue(Action.NAME));\r
+       }\r
+       \r
+       /** Update state of application after a Colour Model change\r
+               *\r
+               * Reflects the change in the status bar icons, and changes\r
+               * the colour model.\r
+               *\r
+               * @param e event fired by source component\r
+               */\r
+       private void colourModelChange(ActionEvent e) {\r
+               AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event\r
+               statusIconColourModel.setDisabledIcon(pa.getIcon());    // update the status icon       \r
+               statusMessage.setText((String)pa.getAction().getValue(Action.NAME));\r
+       }\r
+       \r
+       /** Update state of application after a Template change\r
+               *\r
+               * Reflects the change in the status bar icons, and changes\r
+               * the template.\r
+               *\r
+               * @param e event fired by source component\r
+               */\r
+       private void templateChange(ActionEvent e) {\r
+               AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event\r
+               statusIconTemplate.setDisabledIcon(pa.getIcon());       // update the status icon       \r
+               statusMessage.setText((String)pa.getAction().getValue(Action.NAME));\r
+       }\r
+       \r
+       /** Update state of application after an Eye Model change\r
+               *\r
+               * Reflects the change in the status bar icons, and changes\r
+               * the eye model.\r
+               *\r
+               * @param e event fired by source component\r
+               */\r
+       private void eyesChange(ActionEvent e) {\r
+               AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event\r
+               statusIconEyes.setDisabledIcon(pa.getIcon());   // update the status icon       \r
+               statusMessage.setText((String)pa.getAction().getValue(Action.NAME));\r
+       }\r
+       \r
+       /** Update state of application after a Model change\r
+               *\r
+               * Reflects the change in the status bar icons, and changes\r
+               * the model.\r
+               *\r
+               * @param e event fired by source component\r
+               */\r
+       private void modelChange(ActionEvent e) {\r
+               AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event\r
+               statusIconModel.setDisabledIcon(pa.getIcon());  // update the status icon       \r
+               statusMessage.setText((String)pa.getAction().getValue(Action.NAME));\r
+       }\r
+       \r
+       /**\r
+               * Prints the application window exactly as it appears on screen\r
+               * @param g The context to draw into\r
+               * @param pf page format info\r
+               * @param pi page index (number) to print\r
+               * @return status\r
+               * @throws PrinterException Problem\r
+               */\r
+ public int print(Graphics g, PageFormat pf, int pi) throws PrinterException {\r
+               if(pi >= 1) // only got one page to print\r
+                       return Printable.NO_SUCH_PAGE;\r
+\r
+               if(debugging) {\r
+                System.out.println("Page orientation: " + (pf.getOrientation() == PageFormat.LANDSCAPE ? "Landscape" : (pf.getOrientation() == PageFormat.PORTRAIT ? "Portrait" : "Reverse Landscape")));\r
+                System.out.println("Page Width=" + pf.getWidth() + ", Height=" + pf.getHeight());\r
+                System.out.println("Page ImageableX=" + pf.getImageableX() + ", ImageableY=" + pf.getImageableY());\r
+                System.out.println("Page Imageable Ints X=" + (new Double(pf.getImageableX())).intValue() + ", Y=" + (new Double(pf.getImageableY())).intValue());\r
+                System.out.println("Page ImageableWidth=" + pf.getImageableWidth() + ", ImageableHeight=" + pf.getImageableHeight());\r
+                System.out.println("Frame Width=" + getWidth() + " Height=" + getHeight());\r
+   System.out.println("Graphics Clip=" + g.getClip().toString());\r
+               }\r
+               \r
+               statusMessage.setText("Please wait, printing may take some time...");\r
+               // create a BufferedImage matching or exceeding the CID frame size \r
+               java.awt.image.BufferedImage buffer = new java.awt.image.BufferedImage(getWidth(), getHeight(), java.awt.image.BufferedImage.TYPE_INT_RGB);\r
+               // get a Graphics2D from the BufferedImage\r
+               Graphics2D g2d = buffer.createGraphics();\r
+               // pass the Graphics2D to the printAll() method\r
+               printAll(g2d);\r
+               // cast the printer Graphics object to a Graphics2D object\r
+               Graphics2D g2 = (Graphics2D)g;\r
+  // create a scaling transform to render the image half-size\r
+               AffineTransform scale = AffineTransform.getScaleInstance(0.5,0.5);\r
+               // apply it to the buffer Graphics2D context\r
+               g2.transform(scale);\r
+               // get an Affine (rotational) Transform taken from the PageFormat.getMatrix() method\r
+               // AffineTransformOp pageOrientation = new AffineTransformOp(new AffineTransform(pf.getMatrix()), AffineTransformOp.TYPE_BILINEAR); // deal with page orientation (landscape/portrait)\r
+  // translate the origin to ensure the image is not clipped by the page margins\r
+               g2.translate((new Double(pf.getImageableX())).intValue(), (new Double(pf.getImageableY())).intValue());\r
+               // create an Identity (1:1) Op because we have to give Graphics2D.drawImage() an Op of some kind\r
+               java.awt.image.RescaleOp scaleIdentity = new java.awt.image.RescaleOp(1.0f, 0.0f, null);\r
+               // use Graphics2D.drawImage(BufferedImage...) to rotate the image into the printer graphics context\r
+               g2.drawImage(buffer, scaleIdentity, (new Double(pf.getImageableWidth()/2)).intValue(), (new Double(pf.getImageableHeight()/2)).intValue());\r
+               // return the original Graphics object to the print engine      \r
+               // return Printable.NO_SUCH_PAGE;\r
+        return Printable.PAGE_EXISTS;\r
+       }\r
+       \r
+    /** This method is called from within the constructor to\r
+     * initialize the form.\r
+     * WARNING: Do NOT modify this code. The content of this method is\r
+     * always regenerated by the Form Editor.\r
+     */\r
+       private void initComponents() {//GEN-BEGIN:initComponents\r
+               mbMain = new javax.swing.JMenuBar();\r
+               mProfile = new javax.swing.JMenu();\r
+               mProfileNew = new javax.swing.JMenuItem();\r
+               mProfileOpen = new javax.swing.JMenuItem();\r
+               mProfileSave = new javax.swing.JMenuItem();\r
+               mProfileSaveAs = new javax.swing.JMenuItem();\r
+               mProfileDelete = new javax.swing.JMenuItem();\r
+               mProfileSeparator1 = new javax.swing.JSeparator();\r
+               mProfileToVista = new javax.swing.JMenuItem();\r
+               mProfileSeparator2 = new javax.swing.JSeparator();\r
+               mProfileFromCookie = new javax.swing.JMenuItem();\r
+               mProfileToCookie = new javax.swing.JMenuItem();\r
+               mProfileCreateFilter = new javax.swing.JMenuItem();\r
+               mProfileWeb = new javax.swing.JMenuItem();\r
+               mProfileSeparator3 = new javax.swing.JSeparator();\r
+               mProfilePrint = new javax.swing.JMenuItem();\r
+               mProfilePageSetup = new javax.swing.JMenuItem();\r
+               mProfileSeparator4 = new javax.swing.JSeparator();\r
+               mProfileProperties = new javax.swing.JMenuItem();\r
+               mModel = new javax.swing.JMenu();\r
+               mModel1 = new javax.swing.JRadioButtonMenuItem();\r
+               mModel2 = new javax.swing.JRadioButtonMenuItem();\r
+               mModelAlternate = new javax.swing.JRadioButtonMenuItem();\r
+               jSeparator9 = new javax.swing.JSeparator();\r
+               mModelBothEyes = new javax.swing.JRadioButtonMenuItem();\r
+               mModelEyesSeparate = new javax.swing.JRadioButtonMenuItem();\r
+               mTemplate = new javax.swing.JMenu();\r
+               mTemplateReading = new javax.swing.JRadioButtonMenuItem();\r
+               mTemplatePattern = new javax.swing.JRadioButtonMenuItem();\r
+               mTemplateImage = new javax.swing.JRadioButtonMenuItem();\r
+               mColour = new javax.swing.JMenu();\r
+               mColourRGB = new javax.swing.JRadioButtonMenuItem();\r
+               mColourHSB = new javax.swing.JRadioButtonMenuItem();\r
+               mColourCYMK = new javax.swing.JRadioButtonMenuItem();\r
+               jSeparator7 = new javax.swing.JSeparator();\r
+               mColourWheel = new javax.swing.JRadioButtonMenuItem();\r
+               mColourTriangle = new javax.swing.JRadioButtonMenuItem();\r
+               mColourCube = new javax.swing.JRadioButtonMenuItem();\r
+               mColourSystemChooser = new javax.swing.JRadioButtonMenuItem();\r
+               mColourSwatch = new javax.swing.JRadioButtonMenuItem();\r
+               mDirector = new javax.swing.JMenu();\r
+               mDirectorManual = new javax.swing.JRadioButtonMenuItem();\r
+               mDirectorAuto = new javax.swing.JRadioButtonMenuItem();\r
+               mDirectorDirect = new javax.swing.JRadioButtonMenuItem();\r
+               mDirectorScript = new javax.swing.JRadioButtonMenuItem();\r
+               mOptions = new javax.swing.JMenu();\r
+               mOptionsReading = new javax.swing.JMenu();\r
+               mReadingChoose = new javax.swing.JMenuItem();\r
+               mReadingCustomize = new javax.swing.JMenuItem();\r
+               mReadingPreferences = new javax.swing.JMenuItem();\r
+               mOptionsPatterns = new javax.swing.JMenu();\r
+               mPatternsChoose = new javax.swing.JMenuItem();\r
+               mPatternsCustomize = new javax.swing.JMenuItem();\r
+               mPatternsPreferences = new javax.swing.JMenuItem();\r
+               mOptionsImages = new javax.swing.JMenu();\r
+               mImgChoose = new javax.swing.JMenuItem();\r
+               mImgCustomize = new javax.swing.JMenuItem();\r
+               mImgPreferences = new javax.swing.JMenuItem();\r
+               mOptionsSwatches = new javax.swing.JMenu();\r
+               mSwatchesChoose = new javax.swing.JMenuItem();\r
+               mSwatchesCustomize = new javax.swing.JMenuItem();\r
+               mSwatchesPreferences = new javax.swing.JMenuItem();\r
+               mOptionsDirected = new javax.swing.JMenu();\r
+               mDirectedConnect = new javax.swing.JMenuItem();\r
+               mDirectedDisconnect = new javax.swing.JMenuItem();\r
+               mDirectedPreferences = new javax.swing.JMenuItem();\r
+               mOptionsScripted = new javax.swing.JMenu();\r
+               mOptionsScriptedChoose = new javax.swing.JMenuItem();\r
+               mOptionsScriptedPlay = new javax.swing.JMenuItem();\r
+               mOptionsScriptedRecord = new javax.swing.JMenuItem();\r
+               mOptionsScriptedPause = new javax.swing.JMenuItem();\r
+               mOptionsScriptedStop = new javax.swing.JMenuItem();\r
+               mOptionsScriptedPreferences = new javax.swing.JMenuItem();\r
+               mOptionsFilter = new javax.swing.JMenu();\r
+               mFilterTemplate = new javax.swing.JRadioButtonMenuItem();\r
+               mFilterWindow = new javax.swing.JRadioButtonMenuItem();\r
+               mFilterScreen = new javax.swing.JRadioButtonMenuItem();\r
+               mOptionsLanguage = new javax.swing.JMenu();\r
+               mLanguageDefault = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageBritish = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageFrench = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageSpanish = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageGerman = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageArabicEgypt = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageFarsiIran = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageHindiIndia = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageIndonesian = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageJapanese = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageDutch = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguagePashto = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguagePortuguese = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageRussian = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageSwedish = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageUrdu = new javax.swing.JRadioButtonMenuItem();\r
+               mLanguageChinese = new javax.swing.JRadioButtonMenuItem();\r
+               mOptionsToolbar = new javax.swing.JMenu();\r
+               mToolbarToolBar = new javax.swing.JCheckBoxMenuItem();\r
+               jSeparator1 = new javax.swing.JSeparator();\r
+               mToolbarProfile = new javax.swing.JCheckBoxMenuItem();\r
+               mToolbarModel = new javax.swing.JCheckBoxMenuItem();\r
+               mToolbarEyes = new javax.swing.JCheckBoxMenuItem();\r
+               mToolbarTemplate = new javax.swing.JCheckBoxMenuItem();\r
+               mToolbarColourModel = new javax.swing.JCheckBoxMenuItem();\r
+               mToolbarColourView = new javax.swing.JCheckBoxMenuItem();\r
+               mToolbarDirector = new javax.swing.JCheckBoxMenuItem();\r
+               mToolbarConnection = new javax.swing.JCheckBoxMenuItem();\r
+               mToolbarScript = new javax.swing.JCheckBoxMenuItem();\r
+               mOptionsLandF = new javax.swing.JMenu();\r
+               mOptionsVistaDB = new javax.swing.JMenuItem();\r
+               mOptionsSeparator2 = new javax.swing.JSeparator();\r
+               mOptionsVistaWeb = new javax.swing.JCheckBoxMenuItem();\r
+               mHelp = new javax.swing.JMenu();\r
+               mHelpContents = new javax.swing.JMenuItem();\r
+               mHelpIndex = new javax.swing.JMenuItem();\r
+               mHelpSearch = new javax.swing.JMenuItem();\r
+               mHelpWebLink = new javax.swing.JMenuItem();\r
+               mHelpSeparator1 = new javax.swing.JSeparator();\r
+               mHelpExplain = new javax.swing.JCheckBoxMenuItem();\r
+               mHelpDock = new javax.swing.JCheckBoxMenuItem();\r
+               mHelpFilter = new javax.swing.JCheckBoxMenuItem();\r
+               mHelpSeparator2 = new javax.swing.JSeparator();\r
+               mHelpAbout = new javax.swing.JMenuItem();\r
+               btnGroupFilter = new javax.swing.ButtonGroup();\r
+               btnGroupTemplate = new javax.swing.ButtonGroup();\r
+               toolBar = new javax.swing.JToolBar();\r
+               pProfile = new javax.swing.JPanel();\r
+               btnNew = new javax.swing.JButton();\r
+               btnOpenFile = new javax.swing.JButton();\r
+               btnSave = new javax.swing.JButton();\r
+               btnSendToVistaDB = new javax.swing.JButton();\r
+               pModel = new javax.swing.JPanel();\r
+               btn1Up = new javax.swing.JToggleButton();\r
+               btn2Up = new javax.swing.JToggleButton();\r
+               btnAlternate = new javax.swing.JToggleButton();\r
+               pEyes = new javax.swing.JPanel();\r
+               btnEyes2 = new javax.swing.JToggleButton();\r
+               btnEyes1 = new javax.swing.JToggleButton();\r
+               pTemplate = new javax.swing.JPanel();\r
+               btnReading = new javax.swing.JToggleButton();\r
+               btnPatterns = new javax.swing.JToggleButton();\r
+               btnImages = new javax.swing.JToggleButton();\r
+               pColourModel = new javax.swing.JPanel();\r
+               btnRGB = new javax.swing.JToggleButton();\r
+               btnHSB = new javax.swing.JToggleButton();\r
+               btnCYMK = new javax.swing.JToggleButton();\r
+               pColourView = new javax.swing.JPanel();\r
+               btnWheel = new javax.swing.JToggleButton();\r
+               btnTriangle = new javax.swing.JToggleButton();\r
+               btnQube = new javax.swing.JToggleButton();\r
+               btnSystemChooser = new javax.swing.JToggleButton();\r
+               btnSwatches = new javax.swing.JToggleButton();\r
+               pDirector = new javax.swing.JPanel();\r
+               btnManual = new javax.swing.JToggleButton();\r
+               btnAuto = new javax.swing.JToggleButton();\r
+               btnDirected = new javax.swing.JToggleButton();\r
+               btnScript = new javax.swing.JToggleButton();\r
+               pConnection = new javax.swing.JPanel();\r
+               btnConnect = new javax.swing.JToggleButton();\r
+               btnDisconnect = new javax.swing.JToggleButton();\r
+               pScript = new javax.swing.JPanel();\r
+               btnPlay = new javax.swing.JToggleButton();\r
+               btnRecord = new javax.swing.JToggleButton();\r
+               btnPause = new javax.swing.JToggleButton();\r
+               btnStop = new javax.swing.JToggleButton();\r
+               workPanel = new javax.swing.JPanel();\r
+               spTemplate = new javax.swing.JSplitPane();\r
+               spColour = new javax.swing.JSplitPane();\r
+               colourPanel = new javax.swing.JPanel();\r
+               colourSelectorPanel = new javax.swing.JPanel();\r
+               filterSelector = new javax.swing.JPanel();\r
+               jIconRadioButton1 = new org.tjworld.components.JIconRadioButton();\r
+               jIconRadioButton2 = new org.tjworld.components.JIconRadioButton();\r
+               jIconRadioButton3 = new org.tjworld.components.JIconRadioButton();\r
+               jIconRadioButton4 = new org.tjworld.components.JIconRadioButton();\r
+               filterHistory = new javax.swing.JComboBox();\r
+               sysColorChooser = new javax.swing.JColorChooser();\r
+               tintPanel = new javax.swing.JPanel();\r
+               sliderTint = new javax.swing.JSlider();\r
+               filterLayerPane = new javax.swing.JLayeredPane();\r
+               templatePanel = new javax.swing.JPanel();\r
+               jTextPane3 = new javax.swing.JTextPane();\r
+               templateControlPanel = new javax.swing.JPanel();\r
+               templateSelectorPanel = new javax.swing.JPanel();\r
+               templateSelector = new javax.swing.JPanel();\r
+               jIconRadioButton6 = new org.tjworld.components.JIconRadioButton();\r
+               jIconRadioButton7 = new org.tjworld.components.JIconRadioButton();\r
+               jIconRadioButton8 = new org.tjworld.components.JIconRadioButton();\r
+               jIconRadioButton9 = new org.tjworld.components.JIconRadioButton();\r
+               templateHistory = new javax.swing.JComboBox();\r
+               ratingPanel = new javax.swing.JPanel();\r
+               sliderRating = new javax.swing.JSlider();\r
+               statusLine = new javax.swing.JPanel();\r
+               statusMessage = new javax.swing.JLabel();\r
+               statusRed = new javax.swing.JProgressBar();\r
+               statusGreen = new javax.swing.JProgressBar();\r
+               statusBlue = new javax.swing.JProgressBar();\r
+               statusTint = new javax.swing.JProgressBar();\r
+               statusIconPanel = new javax.swing.JPanel();\r
+               statusIconModel = new javax.swing.JButton();\r
+               statusIconEyes = new javax.swing.JButton();\r
+               statusIconTemplate = new javax.swing.JButton();\r
+               statusIconColourModel = new javax.swing.JButton();\r
+               statusIconColourView = new javax.swing.JButton();\r
+               statusIconDirector = new javax.swing.JButton();\r
+               statusIconFilter = new javax.swing.JButton();\r
+               statusIconLanguage = new javax.swing.JButton();\r
+               statusState = new javax.swing.JLabel();\r
+               \r
+               mbMain.setFocusCycleRoot(true);\r
+               mProfile.setMnemonic(java.awt.event.KeyEvent.VK_P);\r
+               mProfile.setText(cIDresources.getString("mProName"));\r
+               mProfile.setName("mPro");\r
+               mProfileNew.setAction(aNew);\r
+               mProfileNew.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_NEW)).dimmed);\r
+               mProfileNew.setName("ActNew");\r
+               mProfile.add(mProfileNew);\r
+               mProfileOpen.setAction(aOpen);\r
+               mProfileOpen.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).dimmed);\r
+               mProfileOpen.setIcon(((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).active);\r
+               mProfileOpen.setName("ActOpen");\r
+               mProfile.add(mProfileOpen);\r
+               mProfileSave.setAction(aSave);\r
+               mProfileSave.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SAVE)).dimmed);\r
+               mProfileSave.setIcon(((ToolIconPair)vToolIcons.get(IC_SAVE)).active);\r
+               mProfileSave.setName("ActSave");\r
+               mProfile.add(mProfileSave);\r
+               mProfileSaveAs.setAction(aSaveAs);\r
+               mProfileSaveAs.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SAVE_AS)).dimmed);\r
+               mProfileSaveAs.setIcon(((ToolIconPair)vToolIcons.get(IC_SAVE_AS)).active);\r
+               mProfileSaveAs.setName("ActSaveAs");\r
+               mProfile.add(mProfileSaveAs);\r
+               mProfileDelete.setAction(aDelete);\r
+               mProfileDelete.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PROFILE_DELETE)).dimmed);\r
+               mProfileDelete.setName("ActDel");\r
+               mProfile.add(mProfileDelete);\r
+               mProfile.add(mProfileSeparator1);\r
+               mProfileToVista.setAction(aSendToVistaDB);\r
+               mProfileToVista.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).dimmed);\r
+               mProfileToVista.setIcon(((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).active);\r
+               mProfileToVista.setName("ActSendToVista");\r
+               mProfile.add(mProfileToVista);\r
+               mProfile.add(mProfileSeparator2);\r
+               mProfileFromCookie.setAction(aFromCookie);\r
+               mProfileFromCookie.setName("ActFrCook");\r
+               mProfile.add(mProfileFromCookie);\r
+               mProfileToCookie.setAction(aToCookie);\r
+               mProfileToCookie.setName("ActToCook");\r
+               mProfile.add(mProfileToCookie);\r
+               mProfileCreateFilter.setAction(aCreateFilter);\r
+               mProfileCreateFilter.setName("ActCreFlt");\r
+               mProfile.add(mProfileCreateFilter);\r
+               mProfileWeb.setAction(aToVistaPage);\r
+               mProfileWeb.setName("ActToVistaPage");\r
+               mProfile.add(mProfileWeb);\r
+               mProfile.add(mProfileSeparator3);\r
+               mProfilePrint.setAction(aPrint);\r
+               mProfilePrint.setName("ActPrint");\r
+               mProfile.add(mProfilePrint);\r
+               mProfilePageSetup.setAction(aPageSetup);\r
+               mProfilePageSetup.setName("ActPageSet");\r
+               mProfile.add(mProfilePageSetup);\r
+               mProfile.add(mProfileSeparator4);\r
+               mProfileProperties.setAction(aProperties);\r
+               mProfileProperties.setName("ActProProps");\r
+               mProfile.add(mProfileProperties);\r
+               mbMain.add(mProfile);\r
+               mModel.setMnemonic(java.awt.event.KeyEvent.VK_M);\r
+               mModel.setText(cIDresources.getString("mModName"));\r
+               mModel.setName("mMod");\r
+               mModel1.setSelected(true);\r
+               mbgModelAlgorithm.add(mModel1);\r
+               mModel1.setAction(a1_Up);\r
+               mModel1.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).dimmed);\r
+               mModel1.setIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).active);\r
+               mModel1.setName("Act1Up");\r
+               mModel.add(mModel1);\r
+               mbgModelAlgorithm.add(mModel2);\r
+               mModel2.setAction(a2_Up);\r
+               mModel2.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_2UP)).dimmed);\r
+               mModel2.setIcon(((ToolIconPair)vToolIcons.get(IC_2UP)).active);\r
+               mModel2.setName("Act2Up");\r
+               mModel.add(mModel2);\r
+               mbgModelAlgorithm.add(mModelAlternate);\r
+               mModelAlternate.setAction(aAlternate);\r
+               mModelAlternate.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).dimmed);\r
+               mModelAlternate.setIcon(((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).active);\r
+               mModelAlternate.setName("ActAlt");\r
+               mModel.add(mModelAlternate);\r
+               mModel.add(jSeparator9);\r
+               mModelBothEyes.setSelected(true);\r
+               mbgModelEyes.add(mModelBothEyes);\r
+               mModelBothEyes.setAction(aBothEyes);\r
+               mModelBothEyes.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).dimmed);\r
+               mModelBothEyes.setIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active);\r
+               mModelBothEyes.setName("ActBothEyes");\r
+               mModel.add(mModelBothEyes);\r
+               mbgModelEyes.add(mModelEyesSeparate);\r
+               mModelEyesSeparate.setAction(aSeparateEyes);\r
+               mModelEyesSeparate.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).dimmed);\r
+               mModelEyesSeparate.setIcon(((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).active);\r
+               mModelEyesSeparate.setName("ActSepEyes");\r
+               mModel.add(mModelEyesSeparate);\r
+               mbMain.add(mModel);\r
+               mTemplate.setMnemonic(java.awt.event.KeyEvent.VK_T);\r
+               mTemplate.setText(cIDresources.getString("mTemplName"));\r
+               mTemplate.setName("mTempl");\r
+               mTemplateReading.setSelected(true);\r
+               mbgTemplate.add(mTemplateReading);\r
+               mTemplateReading.setAction(aReading);\r
+               mTemplateReading.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_READING)).dimmed);\r
+               mTemplateReading.setIcon(((ToolIconPair)vToolIcons.get(IC_READING)).active);\r
+               mTemplateReading.setName("ActRead");\r
+               mTemplate.add(mTemplateReading);\r
+               mbgTemplate.add(mTemplatePattern);\r
+               mTemplatePattern.setAction(aPatterns);\r
+               mTemplatePattern.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PATTERNS)).dimmed);\r
+               mTemplatePattern.setIcon(((ToolIconPair)vToolIcons.get(IC_PATTERNS)).active);\r
+               mTemplatePattern.setName("ActPat");\r
+               mTemplate.add(mTemplatePattern);\r
+               mbgTemplate.add(mTemplateImage);\r
+               mTemplateImage.setAction(aImages);\r
+               mTemplateImage.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_IMAGES)).dimmed);\r
+               mTemplateImage.setIcon(((ToolIconPair)vToolIcons.get(IC_IMAGES)).active);\r
+               mTemplateImage.setName("ActPat");\r
+               mTemplate.add(mTemplateImage);\r
+               mbMain.add(mTemplate);\r
+               mColour.setMnemonic(java.awt.event.KeyEvent.VK_C);\r
+               mColour.setText(cIDresources.getString("mColourName"));\r
+               mColour.setName("mColour");\r
+               mbgColourModel.add(mColourRGB);\r
+               mColourRGB.setAction(aRGB);\r
+               mColourRGB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_RGB)).dimmed);\r
+               mColourRGB.setIcon(((ToolIconPair)vToolIcons.get(IC_RGB)).active);\r
+               mColourRGB.setName("ActRGB");\r
+               mColour.add(mColourRGB);\r
+               mColourHSB.setSelected(true);\r
+               mbgColourModel.add(mColourHSB);\r
+               mColourHSB.setAction(aHSB);\r
+               mColourHSB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HSB)).dimmed);\r
+               mColourHSB.setIcon(((ToolIconPair)vToolIcons.get(IC_HSB)).active);\r
+               mColourHSB.setName("ActHSB");\r
+               mColour.add(mColourHSB);\r
+               mbgColourModel.add(mColourCYMK);\r
+               mColourCYMK.setAction(aCYMK);\r
+               mColourCYMK.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_CYMK)).dimmed);\r
+               mColourCYMK.setIcon(((ToolIconPair)vToolIcons.get(IC_CYMK)).active);\r
+               mColourCYMK.setName("ActCYMK");\r
+               mColour.add(mColourCYMK);\r
+               mColour.add(jSeparator7);\r
+               mbgColourView.add(mColourWheel);\r
+               mColourWheel.setAction(aWheel);\r
+               mColourWheel.setName("ActWheel");\r
+               mColour.add(mColourWheel);\r
+               mbgColourView.add(mColourTriangle);\r
+               mColourTriangle.setAction(aTriangle);\r
+               mColourTriangle.setName("ActTri");\r
+               mColour.add(mColourTriangle);\r
+               mbgColourView.add(mColourCube);\r
+               mColourCube.setAction(aQube);\r
+               mColourCube.setName("ActQube");\r
+               mColour.add(mColourCube);\r
+               mColourSystemChooser.setSelected(true);\r
+               mbgColourView.add(mColourSystemChooser);\r
+               mColourSystemChooser.setAction(aColorChooser);\r
+               mColourSystemChooser.setName("ActSysCol");\r
+               mColour.add(mColourSystemChooser);\r
+               mbgColourView.add(mColourSwatch);\r
+               mColourSwatch.setAction(aSwatches);\r
+               mColourSwatch.setName("ActSwatch");\r
+               mColour.add(mColourSwatch);\r
+               mbMain.add(mColour);\r
+               mDirector.setMnemonic(java.awt.event.KeyEvent.VK_D);\r
+               mDirector.setText(cIDresources.getString("mDirName"));\r
+               mDirector.setName("mDir");\r
+               mDirectorManual.setSelected(true);\r
+               mbgDirection.add(mDirectorManual);\r
+               mDirectorManual.setAction(aManual);\r
+               mDirectorManual.setName("ActManual");\r
+               mDirector.add(mDirectorManual);\r
+               mbgDirection.add(mDirectorAuto);\r
+               mDirectorAuto.setAction(aAuto);\r
+               mDirectorAuto.setName("ActAuto");\r
+               mDirector.add(mDirectorAuto);\r
+               mbgDirection.add(mDirectorDirect);\r
+               mDirectorDirect.setAction(aDirected);\r
+               mDirectorDirect.setName("ActDirect");\r
+               mDirector.add(mDirectorDirect);\r
+               mbgDirection.add(mDirectorScript);\r
+               mDirectorScript.setAction(aScript);\r
+               mDirectorScript.setName("ActScript");\r
+               mDirector.add(mDirectorScript);\r
+               mbMain.add(mDirector);\r
+               mOptions.setMnemonic(java.awt.event.KeyEvent.VK_O);\r
+               mOptions.setText(cIDresources.getString("mOptName"));\r
+               mOptions.setName("mOpt");\r
+               mOptionsReading.setMnemonic(java.awt.event.KeyEvent.VK_R);\r
+               mOptionsReading.setText(cIDresources.getString("mOptReadName"));\r
+               mOptionsReading.setToolTipText(cIDresources.getString("mOptReadTip"));\r
+               mOptionsReading.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_READING)).dimmed);\r
+               mOptionsReading.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_READING)).active);\r
+               mOptionsReading.setName("mOptRead");\r
+               mReadingChoose.setMnemonic(java.awt.event.KeyEvent.VK_O);\r
+               mReadingChoose.setText(cIDresources.getString("mOptReadChosName"));\r
+               mReadingChoose.setToolTipText(cIDresources.getString("mOptReadChosTip"));\r
+               mReadingChoose.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed);\r
+               mReadingChoose.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active);\r
+               mReadingChoose.setName("mOptReadChos");\r
+               mOptionsReading.add(mReadingChoose);\r
+               mReadingCustomize.setMnemonic(java.awt.event.KeyEvent.VK_C);\r
+               mReadingCustomize.setText(cIDresources.getString("mOptTemplCustName"));\r
+               mReadingCustomize.setToolTipText(cIDresources.getString("mOptTemplCustTip"));\r
+               mReadingCustomize.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed);\r
+               mReadingCustomize.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active);\r
+               mReadingCustomize.setName("mOptTemplCust");\r
+               mOptionsReading.add(mReadingCustomize);\r
+               mReadingPreferences.setMnemonic(java.awt.event.KeyEvent.VK_R);\r
+               mReadingPreferences.setText(cIDresources.getString("mOptReadPrefsName"));\r
+               mReadingPreferences.setToolTipText(cIDresources.getString("mOptReadPrefsTip"));\r
+               mReadingPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);\r
+               mReadingPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);\r
+               mReadingPreferences.setName("mOptReadPrefs");\r
+               mOptionsReading.add(mReadingPreferences);\r
+               mOptions.add(mOptionsReading);\r
+               mOptionsPatterns.setMnemonic(java.awt.event.KeyEvent.VK_P);\r
+               mOptionsPatterns.setText(cIDresources.getString("mOptPatName"));\r
+               mOptionsPatterns.setToolTipText(cIDresources.getString("mOptPatTip"));\r
+               mOptionsPatterns.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_PATTERNS)).dimmed);\r
+               mOptionsPatterns.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_PATTERNS)).active);\r
+               mOptionsPatterns.setName("mOptPat");\r
+               mPatternsChoose.setMnemonic(java.awt.event.KeyEvent.VK_O);\r
+               mPatternsChoose.setText(cIDresources.getString("mOptPatChosName"));\r
+               mPatternsChoose.setToolTipText(cIDresources.getString("mOptPatChosTip"));\r
+               mPatternsChoose.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed);\r
+               mPatternsChoose.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active);\r
+               mPatternsChoose.setName("mOptPatChos");\r
+               mOptionsPatterns.add(mPatternsChoose);\r
+               mPatternsCustomize.setMnemonic(java.awt.event.KeyEvent.VK_C);\r
+               mPatternsCustomize.setText(cIDresources.getString("mOptTemplCustName"));\r
+               mPatternsCustomize.setToolTipText(cIDresources.getString("mOptTemplCustTip"));\r
+               mPatternsCustomize.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed);\r
+               mPatternsCustomize.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active);\r
+               mPatternsCustomize.setName("mOptTemplCust");\r
+               mOptionsPatterns.add(mPatternsCustomize);\r
+               mPatternsPreferences.setMnemonic(java.awt.event.KeyEvent.VK_R);\r
+               mPatternsPreferences.setText(cIDresources.getString("mOptPatPrefsName"));\r
+               mPatternsPreferences.setToolTipText(cIDresources.getString("mOptPatPrefsTip"));\r
+               mPatternsPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);\r
+               mPatternsPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);\r
+               mPatternsPreferences.setName("mOptPatPrefs");\r
+               mOptionsPatterns.add(mPatternsPreferences);\r
+               mOptions.add(mOptionsPatterns);\r
+               mOptionsImages.setMnemonic(java.awt.event.KeyEvent.VK_I);\r
+               mOptionsImages.setText(cIDresources.getString("mOptImgName"));\r
+               mOptionsImages.setToolTipText(cIDresources.getString("mOptImgTip"));\r
+               mOptionsImages.setIcon(((ToolIconPair)vToolIcons.get(IC_IMAGES)).active);\r
+               mOptionsImages.setName("mOptImg");\r
+               mImgChoose.setMnemonic(java.awt.event.KeyEvent.VK_O);\r
+               mImgChoose.setText(cIDresources.getString("mOptImgChosName"));\r
+               mImgChoose.setToolTipText(cIDresources.getString("mOptImgChosTip"));\r
+               mImgChoose.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed);\r
+               mImgChoose.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active);\r
+               mImgChoose.setName("mOptSwatChos");\r
+               mOptionsImages.add(mImgChoose);\r
+               mImgCustomize.setMnemonic(java.awt.event.KeyEvent.VK_C);\r
+               mImgCustomize.setText(cIDresources.getString("mOptTemplCustName"));\r
+               mImgCustomize.setToolTipText(cIDresources.getString("mOptTemplCustTip"));\r
+               mImgCustomize.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed);\r
+               mImgCustomize.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active);\r
+               mImgCustomize.setName("mOptTemplCust");\r
+               mOptionsImages.add(mImgCustomize);\r
+               mImgPreferences.setMnemonic(java.awt.event.KeyEvent.VK_R);\r
+               mImgPreferences.setText(cIDresources.getString("mOptImgPrefsName"));\r
+               mImgPreferences.setToolTipText(cIDresources.getString("mOptImgPrefsTip"));\r
+               mImgPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);\r
+               mImgPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);\r
+               mImgPreferences.setName("mOptSwatPrefs");\r
+               mOptionsImages.add(mImgPreferences);\r
+               mOptions.add(mOptionsImages);\r
+               mOptionsSwatches.setMnemonic(java.awt.event.KeyEvent.VK_W);\r
+               mOptionsSwatches.setText(cIDresources.getString("mOptSwatName"));\r
+               mOptionsSwatches.setToolTipText(cIDresources.getString("mOptSwatTip"));\r
+               mOptionsSwatches.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_READING)).dimmed);\r
+               mOptionsSwatches.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_SWATCHES)).active);\r
+               mOptionsSwatches.setName("mOptSwat");\r
+               mSwatchesChoose.setMnemonic(java.awt.event.KeyEvent.VK_O);\r
+               mSwatchesChoose.setText(cIDresources.getString("mOptSwatChosName"));\r
+               mSwatchesChoose.setToolTipText(cIDresources.getString("mOptSwatChosTip"));\r
+               mSwatchesChoose.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed);\r
+               mSwatchesChoose.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active);\r
+               mSwatchesChoose.setName("mOptSwatChos");\r
+               mOptionsSwatches.add(mSwatchesChoose);\r
+               mSwatchesCustomize.setMnemonic(java.awt.event.KeyEvent.VK_C);\r
+               mSwatchesCustomize.setText(cIDresources.getString("mOptTemplCustName"));\r
+               mSwatchesCustomize.setToolTipText(cIDresources.getString("mOptTemplCustTip"));\r
+               mSwatchesCustomize.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed);\r
+               mSwatchesCustomize.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active);\r
+               mSwatchesCustomize.setName("mOptTemplCust");\r
+               mOptionsSwatches.add(mSwatchesCustomize);\r
+               mSwatchesPreferences.setMnemonic(java.awt.event.KeyEvent.VK_R);\r
+               mSwatchesPreferences.setText(cIDresources.getString("mOptSwatPrefsName"));\r
+               mSwatchesPreferences.setToolTipText(cIDresources.getString("mOptSwatPrefsTip"));\r
+               mSwatchesPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);\r
+               mSwatchesPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);\r
+               mSwatchesPreferences.setName("mOptSwatPrefs");\r
+               mOptionsSwatches.add(mSwatchesPreferences);\r
+               mOptions.add(mOptionsSwatches);\r
+               mOptionsDirected.setMnemonic(java.awt.event.KeyEvent.VK_I);\r
+               mOptionsDirected.setText(cIDresources.getString("mOptDirName"));\r
+               mOptionsDirected.setToolTipText(cIDresources.getString("mOptDirTip"));\r
+               mOptionsDirected.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_DIRECTED)).dimmed);\r
+               mOptionsDirected.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_DIRECTED)).active);\r
+               mOptionsDirected.setName("mOptDir");\r
+               mDirectedConnect.setAction(aConnect);\r
+               mDirectedConnect.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_CONNECT)).dimmed);\r
+               mDirectedConnect.setIcon(((ToolIconPair)vToolIcons.get(IC_CONNECT)).active);\r
+               mDirectedConnect.setName("ActConnect");\r
+               mOptionsDirected.add(mDirectedConnect);\r
+               mDirectedDisconnect.setAction(aDisconnect);\r
+               mDirectedDisconnect.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).dimmed);\r
+               mDirectedDisconnect.setIcon(((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).active);\r
+               mDirectedDisconnect.setName("ActDisc");\r
+               mOptionsDirected.add(mDirectedDisconnect);\r
+               mDirectedPreferences.setMnemonic(java.awt.event.KeyEvent.VK_R);\r
+               mDirectedPreferences.setText(cIDresources.getString("mOptDirPrefsName"));\r
+               mDirectedPreferences.setToolTipText(cIDresources.getString("mOptDirPrefsTip"));\r
+               mDirectedPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);\r
+               mDirectedPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);\r
+               mDirectedPreferences.setName("mOptDirPrefs");\r
+               mOptionsDirected.add(mDirectedPreferences);\r
+               mOptions.add(mOptionsDirected);\r
+               mOptionsScripted.setMnemonic(java.awt.event.KeyEvent.VK_C);\r
+               mOptionsScripted.setText(cIDresources.getString("mOptScrName"));\r
+               mOptionsScripted.setToolTipText(cIDresources.getString("mOptScrTip"));\r
+               mOptionsScripted.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_SCRIPT)).dimmed);\r
+               mOptionsScripted.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_SCRIPT)).active);\r
+               mOptionsScripted.setName("mOptScr");\r
+               mOptionsScriptedChoose.setMnemonic(java.awt.event.KeyEvent.VK_O);\r
+               mOptionsScriptedChoose.setText(cIDresources.getString("mOptScrChosName"));\r
+               mOptionsScriptedChoose.setToolTipText(cIDresources.getString("mOptScrChosTip"));\r
+               mOptionsScriptedChoose.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed);\r
+               mOptionsScriptedChoose.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active);\r
+               mOptionsScriptedChoose.setName("mOptScrChos");\r
+               mOptionsScripted.add(mOptionsScriptedChoose);\r
+               mOptionsScriptedPlay.setMnemonic(java.awt.event.KeyEvent.VK_Y);\r
+               mOptionsScriptedPlay.setAction(aPlay);\r
+               mOptionsScriptedPlay.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PLAY)).dimmed);\r
+               mOptionsScriptedPlay.setIcon(((ToolIconPair)vToolIcons.get(IC_PLAY)).active);\r
+               mOptionsScriptedPlay.setName("ActPlay");\r
+               mOptionsScripted.add(mOptionsScriptedPlay);\r
+               mOptionsScriptedRecord.setAction(aRecord);\r
+               mOptionsScriptedRecord.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_RECORD)).dimmed);\r
+               mOptionsScriptedRecord.setName("ActRec");\r
+               mOptionsScripted.add(mOptionsScriptedRecord);\r
+               mOptionsScriptedPause.setAction(aPause);\r
+               mOptionsScriptedPause.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PAUSE)).dimmed);\r
+               mOptionsScriptedPause.setIcon(((ToolIconPair)vToolIcons.get(IC_PAUSE)).active);\r
+               mOptionsScriptedPause.setName("ActPause");\r
+               mOptionsScripted.add(mOptionsScriptedPause);\r
+               mOptionsScriptedStop.setAction(aStop);\r
+               mOptionsScriptedStop.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_STOP)).dimmed);\r
+               mOptionsScriptedStop.setIcon(((ToolIconPair)vToolIcons.get(IC_STOP)).active);\r
+               mOptionsScriptedStop.setName("ActStop");\r
+               mOptionsScripted.add(mOptionsScriptedStop);\r
+               mOptionsScriptedPreferences.setText(cIDresources.getString("mOptScrPrefsName"));\r
+               mOptionsScriptedPreferences.setToolTipText(cIDresources.getString("mOptScrPrefsTip"));\r
+               mOptionsScriptedPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);\r
+               mOptionsScriptedPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);\r
+               mOptionsScriptedPreferences.setName("mOptScrPrefs");\r
+               mOptionsScripted.add(mOptionsScriptedPreferences);\r
+               mOptions.add(mOptionsScripted);\r
+               mOptionsFilter.setMnemonic(java.awt.event.KeyEvent.VK_F);\r
+               mOptionsFilter.setText(cIDresources.getString("mOptFltName"));\r
+               mOptionsFilter.setToolTipText(cIDresources.getString("mOptFltTip"));\r
+               mOptionsFilter.setIcon(((ToolIconPair)vToolIcons.get(IC_FILTER_WINDOW)).active);\r
+               mOptionsFilter.setName("mOptFlt");\r
+               mFilterTemplate.setSelected(true);\r
+               mbgFilter.add(mFilterTemplate);\r
+               mFilterTemplate.setAction(aFilterTemplate);\r
+               mFilterTemplate.setName("ActFltTmpl");\r
+               mOptionsFilter.add(mFilterTemplate);\r
+               mbgFilter.add(mFilterWindow);\r
+               mFilterWindow.setAction(aFilterWindow);\r
+               mFilterWindow.setName("ActFltWin");\r
+               mOptionsFilter.add(mFilterWindow);\r
+               mbgFilter.add(mFilterScreen);\r
+               mFilterScreen.setAction(aFilterScreen);\r
+               mFilterScreen.setName("ActFltScr");\r
+               mOptionsFilter.add(mFilterScreen);\r
+               mOptions.add(mOptionsFilter);\r
+               mOptionsLanguage.setMnemonic(java.awt.event.KeyEvent.VK_L);\r
+               mOptionsLanguage.setText(cIDresources.getString("mOptLangName"));\r
+               mOptionsLanguage.setToolTipText(cIDresources.getString("mOptLangTip"));\r
+               mOptionsLanguage.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANGUAGE)).dimmed);\r
+               mOptionsLanguage.setIcon(((ToolIconPair)vToolIcons.get(IC_LANGUAGE)).active);\r
+               mOptionsLanguage.setName("mOptLang");\r
+               mLanguageDefault.setSelected(true);\r
+               mbgLanguage.add(mLanguageDefault);\r
+               mLanguageDefault.setAction(aLanguageDefault);\r
+               mLanguageDefault.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_DEFAULT)).dimmed);\r
+               mLanguageDefault.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_DEFAULT)).active);\r
+               mLanguageDefault.setName("ActLangDef");\r
+               mOptionsLanguage.add(mLanguageDefault);\r
+               mbgLanguage.add(mLanguageBritish);\r
+               mLanguageBritish.setAction(aLanguageBritish);\r
+               mLanguageBritish.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).dimmed);\r
+               mLanguageBritish.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active);\r
+               mLanguageBritish.setName("ActLangBrit");\r
+               mOptionsLanguage.add(mLanguageBritish);\r
+               mbgLanguage.add(mLanguageFrench);\r
+               mLanguageFrench.setAction(aLanguageFrench);\r
+               mLanguageFrench.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_FRENCH)).dimmed);\r
+               mLanguageFrench.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_FRENCH)).active);\r
+               mLanguageFrench.setName("ActLangFr");\r
+               mOptionsLanguage.add(mLanguageFrench);\r
+               mbgLanguage.add(mLanguageSpanish);\r
+               mLanguageSpanish.setAction(aLanguageSpanish);\r
+               mLanguageSpanish.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_SPANISH)).dimmed);\r
+               mLanguageSpanish.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_SPANISH)).active);\r
+               mLanguageSpanish.setName("ActLangSpan");\r
+               mOptionsLanguage.add(mLanguageSpanish);\r
+               mbgLanguage.add(mLanguageGerman);\r
+               mLanguageGerman.setAction(aLanguageGerman);\r
+               mLanguageGerman.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_GERMAN)).dimmed);\r
+               mLanguageGerman.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_GERMAN)).active);\r
+               mLanguageGerman.setName("ActLangGer");\r
+               mOptionsLanguage.add(mLanguageGerman);\r
+               mbgLanguage.add(mLanguageArabicEgypt);\r
+               mLanguageArabicEgypt.setAction(aLanguageArabicEgypt);\r
+               mLanguageArabicEgypt.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_AR_EG)).dimmed);\r
+               mLanguageArabicEgypt.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_AR_EG)).active);\r
+               mLanguageArabicEgypt.setName("ActLangArEG");\r
+               mOptionsLanguage.add(mLanguageArabicEgypt);\r
+               mbgLanguage.add(mLanguageFarsiIran);\r
+               mLanguageFarsiIran.setAction(aLanguageFarsiIran);\r
+               mLanguageFarsiIran.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_FA_IR)).dimmed);\r
+               mLanguageFarsiIran.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_FA_IR)).active);\r
+               mLanguageFarsiIran.setName("ActLangFaIR");\r
+               mOptionsLanguage.add(mLanguageFarsiIran);\r
+               mbgLanguage.add(mLanguageHindiIndia);\r
+               mLanguageHindiIndia.setAction(aLanguageHindiIndia);\r
+               mLanguageHindiIndia.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_HI_IN)).dimmed);\r
+               mLanguageHindiIndia.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_HI_IN)).active);\r
+               mLanguageHindiIndia.setName("ActLangHiIN");\r
+               mOptionsLanguage.add(mLanguageHindiIndia);\r
+               mbgLanguage.add(mLanguageIndonesian);\r
+               mLanguageIndonesian.setAction(aLanguageIndonesian);\r
+               mLanguageIndonesian.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_IN)).dimmed);\r
+               mLanguageIndonesian.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active);\r
+               mLanguageIndonesian.setName("ActLangIndonesian");\r
+               mOptionsLanguage.add(mLanguageIndonesian);\r
+               mbgLanguage.add(mLanguageJapanese);\r
+               mLanguageJapanese.setAction(aLanguageJapanese);\r
+               mLanguageJapanese.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_JA)).dimmed);\r
+               mLanguageJapanese.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_JA)).active);\r
+               mLanguageJapanese.setName("ActLangJapanese");\r
+               mOptionsLanguage.add(mLanguageJapanese);\r
+               mbgLanguage.add(mLanguageDutch);\r
+               mLanguageDutch.setAction(aLanguageDutch);\r
+               mLanguageDutch.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_NL)).dimmed);\r
+               mLanguageDutch.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_NL)).active);\r
+               mLanguageDutch.setName("ActLangDutch");\r
+               mOptionsLanguage.add(mLanguageDutch);\r
+               mbgLanguage.add(mLanguagePashto);\r
+               mLanguagePashto.setAction(aLanguagePashto);\r
+               mLanguagePashto.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_PS)).dimmed);\r
+               mLanguagePashto.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_PS)).active);\r
+               mLanguagePashto.setName("ActLangPashto");\r
+               mOptionsLanguage.add(mLanguagePashto);\r
+               mbgLanguage.add(mLanguagePortuguese);\r
+               mLanguagePortuguese.setAction(aLanguagePortuguese);\r
+               mLanguagePortuguese.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_PT)).dimmed);\r
+               mLanguagePortuguese.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_PT)).active);\r
+               mLanguagePortuguese.setName("ActLangPortuguese");\r
+               mOptionsLanguage.add(mLanguagePortuguese);\r
+               mbgLanguage.add(mLanguageRussian);\r
+               mLanguageRussian.setAction(aLanguageRussian);\r
+               mLanguageRussian.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_RU)).dimmed);\r
+               mLanguageRussian.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_RU)).active);\r
+               mLanguageRussian.setName("ActLangRussian");\r
+               mOptionsLanguage.add(mLanguageRussian);\r
+               mbgLanguage.add(mLanguageSwedish);\r
+               mLanguageSwedish.setAction(aLanguageSwedish);\r
+               mLanguageSwedish.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_SV)).dimmed);\r
+               mLanguageSwedish.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_SV)).active);\r
+               mLanguageSwedish.setName("ActLangSwedish");\r
+               mOptionsLanguage.add(mLanguageSwedish);\r
+               mbgLanguage.add(mLanguageUrdu);\r
+               mLanguageUrdu.setAction(aLanguageUrdu);\r
+               mLanguageUrdu.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_UR)).dimmed);\r
+               mLanguageUrdu.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_UR)).active);\r
+               mLanguageUrdu.setName("ActLangUrdu");\r
+               mOptionsLanguage.add(mLanguageUrdu);\r
+               mbgLanguage.add(mLanguageChinese);\r
+               mLanguageChinese.setAction(aLanguageChinese);\r
+               mLanguageChinese.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_ZH)).dimmed);\r
+               mLanguageChinese.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_ZH)).active);\r
+               mLanguageChinese.setName("ActLangChinese");\r
+               mOptionsLanguage.add(mLanguageChinese);\r
+               mOptions.add(mOptionsLanguage);\r
+               mOptionsToolbar.setMnemonic(java.awt.event.KeyEvent.VK_T);\r
+               mOptionsToolbar.setText(cIDresources.getString("mOptTbarName"));\r
+               mOptionsToolbar.setToolTipText(cIDresources.getString("mOptTbarTip"));\r
+               mOptionsToolbar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/toolbars.gif")));\r
+               mOptionsToolbar.setName("mOptTbar");\r
+               mToolbarToolBar.setSelected(true);\r
+               mToolbarToolBar.setText(cIDresources.getString("mTbarTbarName"));\r
+               mToolbarToolBar.setToolTipText(cIDresources.getString("mTbarTbarTip"));\r
+               mToolbarToolBar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/toolbars.gif")));\r
+               mToolbarToolBar.setName("mTbarTbar");\r
+               mToolbarToolBar.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mToolbarToolBarActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mOptionsToolbar.add(mToolbarToolBar);\r
+               mOptionsToolbar.add(jSeparator1);\r
+               mToolbarProfile.setSelected(true);\r
+               mToolbarProfile.setText(cIDresources.getString("ActProName"));\r
+               mToolbarProfile.setIcon(((ToolIconPair)vToolIcons.get(IC_NEW)).active);\r
+               mToolbarProfile.setName("ActPro");\r
+               mToolbarProfile.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mToolbarProfileActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mOptionsToolbar.add(mToolbarProfile);\r
+               mToolbarModel.setSelected(true);\r
+               mToolbarModel.setText(cIDresources.getString("mModName"));\r
+               mToolbarModel.setIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).active);\r
+               mToolbarModel.setName("mMod");\r
+               mToolbarModel.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mToolbarModelActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mOptionsToolbar.add(mToolbarModel);\r
+               mToolbarEyes.setSelected(true);\r
+               mToolbarEyes.setText(cIDresources.getString("mEyesName"));\r
+               mToolbarEyes.setIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active);\r
+               mToolbarEyes.setName("mEyes");\r
+               mToolbarEyes.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mToolbarEyesActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mOptionsToolbar.add(mToolbarEyes);\r
+               mToolbarTemplate.setSelected(true);\r
+               mToolbarTemplate.setText(cIDresources.getString("mTemplName"));\r
+               mToolbarTemplate.setIcon(((ToolIconPair)vToolIcons.get(IC_READING)).active);\r
+               mToolbarTemplate.setName("mTempl");\r
+               mToolbarTemplate.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mToolbarTemplateActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mOptionsToolbar.add(mToolbarTemplate);\r
+               mToolbarColourModel.setSelected(true);\r
+               mToolbarColourModel.setText(cIDresources.getString("mColourModelName"));\r
+               mToolbarColourModel.setIcon(((ToolIconPair)vToolIcons.get(IC_RGB)).active);\r
+               mToolbarColourModel.setName("mColourModel");\r
+               mToolbarColourModel.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mToolbarColourModelActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mOptionsToolbar.add(mToolbarColourModel);\r
+               mToolbarColourView.setSelected(true);\r
+               mToolbarColourView.setText(cIDresources.getString("mColourViewName"));\r
+               mToolbarColourView.setIcon(((ToolIconPair)vToolIcons.get(IC_WHEEL)).active);\r
+               mToolbarColourView.setName("mColourView");\r
+               mToolbarColourView.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mToolbarColourViewActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mOptionsToolbar.add(mToolbarColourView);\r
+               mToolbarDirector.setSelected(true);\r
+               mToolbarDirector.setText(cIDresources.getString("mDirName"));\r
+               mToolbarDirector.setIcon(((ToolIconPair)vToolIcons.get(IC_MANUAL)).active);\r
+               mToolbarDirector.setName("mDir");\r
+               mToolbarDirector.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mToolbarDirectorActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mOptionsToolbar.add(mToolbarDirector);\r
+               mToolbarConnection.setSelected(true);\r
+               mToolbarConnection.setText(cIDresources.getString("mConnectName"));\r
+               mToolbarConnection.setIcon(((ToolIconPair)vToolIcons.get(IC_CONNECT)).active);\r
+               mToolbarConnection.setName("mConnect");\r
+               mToolbarConnection.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mToolbarConnectionActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mOptionsToolbar.add(mToolbarConnection);\r
+               mToolbarScript.setSelected(true);\r
+               mToolbarScript.setText(cIDresources.getString("ActScriptName"));\r
+               mToolbarScript.setIcon(((ToolIconPair)vToolIcons.get(IC_PLAY)).active);\r
+               mToolbarScript.setName("ActScript");\r
+               mToolbarScript.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mToolbarScriptActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mOptionsToolbar.add(mToolbarScript);\r
+               mOptions.add(mOptionsToolbar);\r
+               mOptionsLandF.setMnemonic(java.awt.event.KeyEvent.VK_AMPERSAND);\r
+               mOptionsLandF.setText(cIDresources.getString("mOptLFName"));\r
+               mOptionsLandF.setToolTipText(cIDresources.getString("mOptLFTip"));\r
+               mOptionsLandF.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/lookfeel.gif")));\r
+               mOptionsLandF.setName("mOptLF");\r
+               mOptions.add(mOptionsLandF);\r
+               mOptionsVistaDB.setMnemonic(java.awt.event.KeyEvent.VK_V);\r
+               mOptionsVistaDB.setText(cIDresources.getString("mOptVistaDBName"));\r
+               mOptionsVistaDB.setToolTipText(cIDresources.getString("mOptVistaDBTip"));\r
+               mOptionsVistaDB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_VISTA_DB)).dimmed);\r
+               mOptionsVistaDB.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_VISTA_DB)).active);\r
+               mOptionsVistaDB.setName("mOptVistaDB");\r
+               mOptions.add(mOptionsVistaDB);\r
+               mOptions.add(mOptionsSeparator2);\r
+               mOptionsVistaWeb.setMnemonic(java.awt.event.KeyEvent.VK_W);\r
+               mOptionsVistaWeb.setSelected(true);\r
+               mOptionsVistaWeb.setText(cIDresources.getString("mOptDynName"));\r
+               mOptionsVistaWeb.setToolTipText(cIDresources.getString("mOptDynTip"));\r
+               mOptionsVistaWeb.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_DYNAMIC_VISTA)).dimmed);\r
+               mOptionsVistaWeb.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_DYNAMIC_VISTA)).active);\r
+               mOptionsVistaWeb.setName("mOptDyn");\r
+               mOptions.add(mOptionsVistaWeb);\r
+               mbMain.add(mOptions);\r
+               mHelp.setMnemonic(java.awt.event.KeyEvent.VK_H);\r
+               mHelp.setText(cIDresources.getString("mHelpName"));\r
+               mHelp.setName("mHelp");\r
+               mHelpContents.setAction(aHelpContents);\r
+               mHelpContents.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP)).dimmed);\r
+               mHelpContents.setName("ActHelpCon");\r
+               mHelp.add(mHelpContents);\r
+               mHelpIndex.setMnemonic(java.awt.event.KeyEvent.VK_I);\r
+               mHelpIndex.setText(cIDresources.getString("mHelpIdxName"));\r
+               mHelpIndex.setToolTipText(cIDresources.getString("mHelpIdxTip"));\r
+               mHelpIndex.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP_INDEX)).dimmed);\r
+               mHelpIndex.setIcon(((ToolIconPair)vToolIcons.get(IC_HELP_INDEX)).active);\r
+               mHelpIndex.setName("ActHelpIdx");\r
+               mHelpIndex.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mHelpIndexActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mHelp.add(mHelpIndex);\r
+               mHelpSearch.setAction(aHelpSearch);\r
+               mHelpSearch.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP_SEARCH)).dimmed);\r
+               mHelpSearch.setName("ActHelpSrc");\r
+               mHelp.add(mHelpSearch);\r
+               mHelpWebLink.setAction(aHelpWeb);\r
+               mHelpWebLink.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP_WEB)).dimmed);\r
+               mHelpWebLink.setIcon(((ToolIconPair)vToolIcons.get(IC_HELP_WEB)).active);\r
+               mHelpWebLink.setName("ActHelpWeb");\r
+               mHelp.add(mHelpWebLink);\r
+               mHelp.add(mHelpSeparator1);\r
+               mHelpExplain.setMnemonic(java.awt.event.KeyEvent.VK_X);\r
+               mHelpExplain.setSelected(true);\r
+               mHelpExplain.setText(cIDresources.getString("mHelpExpName"));\r
+               mHelpExplain.setToolTipText(cIDresources.getString("mHelpExpTip"));\r
+               mHelpExplain.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP_EXPLAIN)).dimmed);\r
+               mHelpExplain.setIcon(((ToolIconPair)vToolIcons.get(IC_HELP_EXPLAIN)).active);\r
+               mHelpExplain.setName("ActHelpExp");\r
+               mHelp.add(mHelpExplain);\r
+               mHelpDock.setMnemonic(java.awt.event.KeyEvent.VK_D);\r
+               mHelpDock.setText(cIDresources.getString("mHelpDockName"));\r
+               mHelpDock.setToolTipText(cIDresources.getString("mHelpDockTip"));\r
+               mHelpDock.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/undocked.gif")));\r
+               mHelpDock.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/docked.gif")));\r
+               mHelpDock.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mHelpDockActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mHelp.add(mHelpDock);\r
+               mHelpFilter.setMnemonic(java.awt.event.KeyEvent.VK_V);\r
+               mHelpFilter.setText(cIDresources.getString("mHelpFilterName"));\r
+               mHelpFilter.setToolTipText(cIDresources.getString("mHelpFilterTip"));\r
+               mHelpFilter.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/helpFilter.gif")));\r
+               mHelpFilter.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mHelpFilterActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mHelp.add(mHelpFilter);\r
+               mHelp.add(mHelpSeparator2);\r
+               mHelpAbout.setMnemonic(java.awt.event.KeyEvent.VK_A);\r
+               mHelpAbout.setText(cIDresources.getString("mHelpAbtName"));\r
+               mHelpAbout.setToolTipText(cIDresources.getString("mHelpAbtTip"));\r
+               mHelpAbout.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP_ABOUT)).dimmed);\r
+               mHelpAbout.setIcon(((ToolIconPair)vToolIcons.get(IC_HELP_ABOUT)).active);\r
+               mHelpAbout.setName("ActHelpAbt");\r
+               mHelpAbout.addActionListener(new java.awt.event.ActionListener() {\r
+                       public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                               mHelpAboutActionPerformed(evt);\r
+                       }\r
+               });\r
+               \r
+               mHelp.add(mHelpAbout);\r
+               mbMain.add(mHelp);\r
+               \r
+               setTitle(cIDresources.getString("tVistaAppTitle"));\r
+               setFont(new java.awt.Font("Dialog", 0, 12));\r
+               setIconImage(icVista.getImage());\r
+               setName("tVistaApp");\r
+               addComponentListener(new java.awt.event.ComponentAdapter() {\r
+                       public void componentMoved(java.awt.event.ComponentEvent evt) {\r
+                               formComponentMoved(evt);\r
+                       }\r
+               });\r
+               \r
+               addPropertyChangeListener(new java.beans.PropertyChangeListener() {\r
+                       public void propertyChange(java.beans.PropertyChangeEvent evt) {\r
+                               formPropertyChange(evt);\r
+                       }\r
+               });\r
+               \r
+               addWindowListener(new java.awt.event.WindowAdapter() {\r
+                       public void windowClosing(java.awt.event.WindowEvent evt) {\r
+                               exitForm(evt);\r
+                       }\r
+               });\r
+               \r
+               toolBar.setToolTipText(cIDresources.getString("tToolBarTip"));\r
+               toolBar.setName("tToolBar");\r
+               toolBar.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mousePressed(java.awt.event.MouseEvent evt) {\r
+                               toolBarMousePressed(evt);\r
+                       }\r
+                       public void mouseReleased(java.awt.event.MouseEvent evt) {\r
+                               toolBarMouseReleased(evt);\r
+                       }\r
+               });\r
+               \r
+               pProfile.setLayout(new javax.swing.BoxLayout(pProfile, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               btnNew.setToolTipText(cIDresources.getString("ActNewTip"));\r
+               btnNew.setAction(aNew);\r
+               btnNew.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_NEW)).dimmed);\r
+               btnNew.setName("ActNew");\r
+               btnNew.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pProfile.add(btnNew);\r
+               \r
+               btnOpenFile.setToolTipText(cIDresources.getString("ActOpenTip"));\r
+               btnOpenFile.setAction(aOpen);\r
+               btnOpenFile.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).dimmed);\r
+               btnOpenFile.setName("ActOpen");\r
+               btnOpenFile.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pProfile.add(btnOpenFile);\r
+               \r
+               btnSave.setToolTipText(cIDresources.getString("ActSaveTip"));\r
+               btnSave.setAction(aSave);\r
+               btnSave.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SAVE)).dimmed);\r
+               btnSave.setName("ActSave");\r
+               btnSave.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pProfile.add(btnSave);\r
+               \r
+               btnSendToVistaDB.setToolTipText(cIDresources.getString("ActSendToVistaTip"));\r
+               btnSendToVistaDB.setAction(aSendToVistaDB);\r
+               btnSendToVistaDB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).dimmed);\r
+               btnSendToVistaDB.setName("ActSendToVista");\r
+               btnSendToVistaDB.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pProfile.add(btnSendToVistaDB);\r
+               \r
+               toolBar.add(pProfile);\r
+               \r
+               pModel.setLayout(new javax.swing.BoxLayout(pModel, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               toolBar.addSeparator();\r
+               btn1Up.setSelected(true);\r
+               btn1Up.setToolTipText(cIDresources.getString("Act1UpTip"));\r
+               tbgModelAlgorithm.add(btn1Up);\r
+               btn1Up.setAction(a1_Up);\r
+               btn1Up.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).dimmed);\r
+               btn1Up.setName("Act1Up");\r
+               btn1Up.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/sel1up.gif")));\r
+               btn1Up.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pModel.add(btn1Up);\r
+               \r
+               btn2Up.setToolTipText(cIDresources.getString("Act2UpTip"));\r
+               tbgModelAlgorithm.add(btn2Up);\r
+               btn2Up.setAction(a2_Up);\r
+               btn2Up.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_2UP)).dimmed);\r
+               btn2Up.setName("Act2Up");\r
+               btn2Up.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/sel2up.gif")));\r
+               btn2Up.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pModel.add(btn2Up);\r
+               \r
+               btnAlternate.setToolTipText(cIDresources.getString("ActAltTip"));\r
+               tbgModelAlgorithm.add(btnAlternate);\r
+               btnAlternate.setAction(aAlternate);\r
+               btnAlternate.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).dimmed);\r
+               btnAlternate.setName("ActAlt");\r
+               btnAlternate.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selalternate.gif")));\r
+               btnAlternate.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pModel.add(btnAlternate);\r
+               \r
+               toolBar.add(pModel);\r
+               \r
+               pEyes.setLayout(new javax.swing.BoxLayout(pEyes, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               toolBar.addSeparator();\r
+               btnEyes2.setSelected(true);\r
+               btnEyes2.setToolTipText(cIDresources.getString("ActBothEyesTip"));\r
+               tbgModelEyes.add(btnEyes2);\r
+               btnEyes2.setAction(aBothEyes);\r
+               btnEyes2.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).dimmed);\r
+               btnEyes2.setName("ActBothEyes");\r
+               btnEyes2.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/seleyes2.gif")));\r
+               btnEyes2.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pEyes.add(btnEyes2);\r
+               \r
+               btnEyes1.setToolTipText(cIDresources.getString("ActSepEyesTip"));\r
+               tbgModelEyes.add(btnEyes1);\r
+               btnEyes1.setAction(aSeparateEyes);\r
+               btnEyes1.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).dimmed);\r
+               btnEyes1.setName("ActSepEyes");\r
+               btnEyes1.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/seleyes1.gif")));\r
+               btnEyes1.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pEyes.add(btnEyes1);\r
+               \r
+               toolBar.add(pEyes);\r
+               \r
+               pTemplate.setLayout(new javax.swing.BoxLayout(pTemplate, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               toolBar.addSeparator();\r
+               btnReading.setSelected(true);\r
+               btnReading.setToolTipText(cIDresources.getString("ActReadTip"));\r
+               tbgTemplate.add(btnReading);\r
+               btnReading.setAction(aReading);\r
+               btnReading.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_READING)).dimmed);\r
+               btnReading.setName("ActRead");\r
+               btnReading.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selreading.gif")));\r
+               btnReading.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pTemplate.add(btnReading);\r
+               \r
+               btnPatterns.setToolTipText(cIDresources.getString("ActPatTip"));\r
+               tbgTemplate.add(btnPatterns);\r
+               btnPatterns.setAction(aPatterns);\r
+               btnPatterns.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PATTERNS)).dimmed);\r
+               btnPatterns.setName("ActPat");\r
+               btnPatterns.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selpatterns.gif")));\r
+               btnPatterns.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pTemplate.add(btnPatterns);\r
+               \r
+               tbgTemplate.add(btnImages);\r
+               btnImages.setAction(aImages);\r
+               btnImages.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_IMAGES)).dimmed);\r
+               btnImages.setName("ActImages");\r
+               btnImages.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selimages.gif")));\r
+               btnImages.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pTemplate.add(btnImages);\r
+               \r
+               toolBar.add(pTemplate);\r
+               \r
+               pColourModel.setLayout(new javax.swing.BoxLayout(pColourModel, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               toolBar.addSeparator();\r
+               btnRGB.setToolTipText(cIDresources.getString("ActRGBTip"));\r
+               tbgColourModel.add(btnRGB);\r
+               btnRGB.setAction(aRGB);\r
+               btnRGB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_RGB)).dimmed);\r
+               btnRGB.setName("ActRGB");\r
+               btnRGB.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selrgb.gif")));\r
+               btnRGB.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pColourModel.add(btnRGB);\r
+               \r
+               btnHSB.setSelected(true);\r
+               btnHSB.setToolTipText(cIDresources.getString("ActHSBTip"));\r
+               tbgColourModel.add(btnHSB);\r
+               btnHSB.setAction(aHSB);\r
+               btnHSB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HSB)).dimmed);\r
+               btnHSB.setName("ActHSB");\r
+               btnHSB.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selhsb.gif")));\r
+               btnHSB.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pColourModel.add(btnHSB);\r
+               \r
+               btnCYMK.setToolTipText(cIDresources.getString("ActCYMKTip"));\r
+               tbgColourModel.add(btnCYMK);\r
+               btnCYMK.setAction(aCYMK);\r
+               btnCYMK.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_CYMK)).dimmed);\r
+               btnCYMK.setName("ActCYMK");\r
+               btnCYMK.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selcymk.gif")));\r
+               btnCYMK.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pColourModel.add(btnCYMK);\r
+               \r
+               toolBar.add(pColourModel);\r
+               \r
+               pColourView.setLayout(new javax.swing.BoxLayout(pColourView, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               toolBar.addSeparator();\r
+               btnWheel.setToolTipText(cIDresources.getString("ActWheelTip"));\r
+               tbgColourView.add(btnWheel);\r
+               btnWheel.setAction(aWheel);\r
+               btnWheel.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_WHEEL)).dimmed);\r
+               btnWheel.setName("ActWheel");\r
+               btnWheel.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selwheel.gif")));\r
+               btnWheel.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pColourView.add(btnWheel);\r
+               \r
+               btnTriangle.setToolTipText(cIDresources.getString("ActTriTip"));\r
+               tbgColourView.add(btnTriangle);\r
+               btnTriangle.setAction(aTriangle);\r
+               btnTriangle.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_TRIANGLE)).dimmed);\r
+               btnTriangle.setName("ActTri");\r
+               btnTriangle.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/seltriangle.gif")));\r
+               btnTriangle.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pColourView.add(btnTriangle);\r
+               \r
+               btnQube.setToolTipText(cIDresources.getString("ActQubeTip"));\r
+               tbgColourView.add(btnQube);\r
+               btnQube.setAction(aQube);\r
+               btnQube.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_QUBE)).dimmed);\r
+               btnQube.setName("ActQube");\r
+               btnQube.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selqube.gif")));\r
+               btnQube.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pColourView.add(btnQube);\r
+               \r
+               btnSystemChooser.setSelected(true);\r
+               btnSystemChooser.setToolTipText(cIDresources.getString("ActSysColTip"));\r
+               tbgColourView.add(btnSystemChooser);\r
+               btnSystemChooser.setAction(aColorChooser);\r
+               btnSystemChooser.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).dimmed);\r
+               btnSystemChooser.setName("ActSysCol");\r
+               btnSystemChooser.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selsysColour.gif")));\r
+               btnSystemChooser.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pColourView.add(btnSystemChooser);\r
+               \r
+               btnSwatches.setToolTipText(cIDresources.getString("ActSwatchTip"));\r
+               tbgColourView.add(btnSwatches);\r
+               btnSwatches.setAction(aSwatches);\r
+               btnSwatches.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SWATCHES)).dimmed);\r
+               btnSwatches.setName("ActSwatch");\r
+               btnSwatches.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selswatches.gif")));\r
+               btnSwatches.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pColourView.add(btnSwatches);\r
+               \r
+               toolBar.add(pColourView);\r
+               \r
+               pDirector.setLayout(new javax.swing.BoxLayout(pDirector, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               toolBar.addSeparator();\r
+               btnManual.setSelected(true);\r
+               btnManual.setToolTipText(cIDresources.getString("ActManualTip"));\r
+               tbgDirection.add(btnManual);\r
+               btnManual.setAction(aManual);\r
+               btnManual.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_MANUAL)).dimmed);\r
+               btnManual.setName("ActManual");\r
+               btnManual.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selmanual.gif")));\r
+               btnManual.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pDirector.add(btnManual);\r
+               \r
+               btnAuto.setToolTipText(cIDresources.getString("ActAutoTip"));\r
+               tbgDirection.add(btnAuto);\r
+               btnAuto.setAction(aAuto);\r
+               btnAuto.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_AUTO)).dimmed);\r
+               btnAuto.setName("ActAuto");\r
+               btnAuto.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selauto.gif")));\r
+               btnAuto.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pDirector.add(btnAuto);\r
+               \r
+               btnDirected.setToolTipText(cIDresources.getString("ActDirectTip"));\r
+               tbgDirection.add(btnDirected);\r
+               btnDirected.setAction(aDirected);\r
+               btnDirected.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_DIRECTED)).dimmed);\r
+               btnDirected.setName("ActDirect");\r
+               btnDirected.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/seldirected.gif")));\r
+               btnDirected.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pDirector.add(btnDirected);\r
+               \r
+               btnScript.setToolTipText(cIDresources.getString("ActScriptTip"));\r
+               tbgDirection.add(btnScript);\r
+               btnScript.setAction(aScript);\r
+               btnScript.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SCRIPT)).dimmed);\r
+               btnScript.setName("ActScript");\r
+               btnScript.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selscript.gif")));\r
+               btnScript.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pDirector.add(btnScript);\r
+               \r
+               toolBar.add(pDirector);\r
+               \r
+               pConnection.setLayout(new javax.swing.BoxLayout(pConnection, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               toolBar.addSeparator();\r
+               btnConnect.setToolTipText(cIDresources.getString("ActConnectTip"));\r
+               tbgConnection.add(btnConnect);\r
+               btnConnect.setAction(aConnect);\r
+               btnConnect.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_CONNECT)).dimmed);\r
+               btnConnect.setName("ActConnect");\r
+               btnConnect.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selconnect.gif")));\r
+               btnConnect.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pConnection.add(btnConnect);\r
+               \r
+               btnDisconnect.setSelected(true);\r
+               btnDisconnect.setToolTipText(cIDresources.getString("ActDiscTip"));\r
+               tbgConnection.add(btnDisconnect);\r
+               btnDisconnect.setAction(aDisconnect);\r
+               btnDisconnect.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).dimmed);\r
+               btnDisconnect.setName("ActDisc");\r
+               btnDisconnect.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/seldisconnect.gif")));\r
+               btnDisconnect.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pConnection.add(btnDisconnect);\r
+               \r
+               toolBar.add(pConnection);\r
+               \r
+               pScript.setLayout(new javax.swing.BoxLayout(pScript, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               toolBar.addSeparator();\r
+               btnPlay.setToolTipText(cIDresources.getString("ActPlayTip"));\r
+               tbgPlayback.add(btnPlay);\r
+               btnPlay.setAction(aPlay);\r
+               btnPlay.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PLAY)).dimmed);\r
+               btnPlay.setName("ActPlay");\r
+               btnPlay.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selplay.gif")));\r
+               btnPlay.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pScript.add(btnPlay);\r
+               \r
+               btnRecord.setToolTipText(cIDresources.getString("ActRecTip"));\r
+               tbgPlayback.add(btnRecord);\r
+               btnRecord.setAction(aRecord);\r
+               btnRecord.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_RECORD)).dimmed);\r
+               btnRecord.setName("ActRec");\r
+               btnRecord.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selrecord.gif")));\r
+               pScript.add(btnRecord);\r
+               \r
+               btnPause.setToolTipText(cIDresources.getString("ActPauseTip"));\r
+               tbgPlayback.add(btnPause);\r
+               btnPause.setAction(aPause);\r
+               btnPause.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PAUSE)).dimmed);\r
+               btnPause.setName("ActPause");\r
+               btnPause.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selpause.gif")));\r
+               btnPause.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pScript.add(btnPause);\r
+               \r
+               btnStop.setSelected(true);\r
+               btnStop.setToolTipText(cIDresources.getString("ActStopTip"));\r
+               tbgPlayback.add(btnStop);\r
+               btnStop.setAction(aStop);\r
+               btnStop.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_STOP)).dimmed);\r
+               btnStop.setName("ActStop");\r
+               btnStop.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selstop.gif")));\r
+               btnStop.addMouseListener(new java.awt.event.MouseAdapter() {\r
+                       public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseExited(evt);\r
+                       }\r
+                       public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                               toolBarBtnMouseEntered(evt);\r
+                       }\r
+               });\r
+               \r
+               pScript.add(btnStop);\r
+               \r
+               toolBar.add(pScript);\r
+               \r
+               getContentPane().add(toolBar, java.awt.BorderLayout.NORTH);\r
+               \r
+               workPanel.setLayout(new java.awt.GridBagLayout());\r
+               java.awt.GridBagConstraints gridBagConstraints1;\r
+               \r
+               spTemplate.setDividerLocation(450);\r
+               spTemplate.setResizeWeight(0.5);\r
+               spTemplate.setMinimumSize(new java.awt.Dimension(300, 343));\r
+               spTemplate.setOneTouchExpandable(true);\r
+               spColour.setDividerLocation(213);\r
+               spColour.setLastDividerLocation(208);\r
+               spColour.setMinimumSize(new java.awt.Dimension(213, 258));\r
+               spColour.setOneTouchExpandable(true);\r
+               spColour.setPreferredSize(new java.awt.Dimension(400, 343));\r
+               colourPanel.setLayout(new java.awt.BorderLayout());\r
+               \r
+               colourPanel.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), cIDresources.getString("tColourCntrlTitle")));\r
+               colourPanel.setMinimumSize(new java.awt.Dimension(208, 256));\r
+               colourSelectorPanel.setLayout(new java.awt.GridLayout(2, 1));\r
+               \r
+               filterSelector.setLayout(new javax.swing.BoxLayout(filterSelector, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               jIconRadioButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/tFilterB21.gif")));\r
+               jIconRadioButton1.setText("1");\r
+               btnGroupFilter.add(jIconRadioButton1);\r
+               filterSelector.add(jIconRadioButton1);\r
+               \r
+               jIconRadioButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/tFilterB22.gif")));\r
+               jIconRadioButton2.setText("2");\r
+               btnGroupFilter.add(jIconRadioButton2);\r
+               filterSelector.add(jIconRadioButton2);\r
+               \r
+               jIconRadioButton3.setText("3");\r
+               btnGroupFilter.add(jIconRadioButton3);\r
+               filterSelector.add(jIconRadioButton3);\r
+               \r
+               jIconRadioButton4.setText("4");\r
+               btnGroupFilter.add(jIconRadioButton4);\r
+               filterSelector.add(jIconRadioButton4);\r
+               \r
+               colourSelectorPanel.add(filterSelector);\r
+               \r
+               colourSelectorPanel.add(filterHistory);\r
+               \r
+               colourPanel.add(colourSelectorPanel, java.awt.BorderLayout.NORTH);\r
+               \r
+               sysColorChooser.setMinimumSize(new java.awt.Dimension(128, 192));\r
+               colourPanel.add(sysColorChooser, java.awt.BorderLayout.CENTER);\r
+               \r
+               tintPanel.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), cIDresources.getString("tTintTitle")));\r
+               tintPanel.setName("tTint");\r
+               sliderTint.setMajorTickSpacing(10);\r
+               sliderTint.setMinorTickSpacing(5);\r
+               sliderTint.setPaintTicks(true);\r
+               sliderTint.setToolTipText(cIDresources.getString("tTintTip"));\r
+               sliderTint.setMinimumSize(new java.awt.Dimension(50, 27));\r
+               sliderTint.setName("tTint");\r
+               sliderTint.setPreferredSize(new java.awt.Dimension(128, 27));\r
+               sliderTint.addChangeListener(new javax.swing.event.ChangeListener() {\r
+                       public void stateChanged(javax.swing.event.ChangeEvent evt) {\r
+                               sliderTintStateChanged(evt);\r
+                       }\r
+               });\r
+               \r
+               sliderTint.addKeyListener(new java.awt.event.KeyAdapter() {\r
+                       public void keyPressed(java.awt.event.KeyEvent evt) {\r
+                               sliderTintKeyPressed(evt);\r
+                       }\r
+               });\r
+               \r
+               tintPanel.add(sliderTint);\r
+               \r
+               colourPanel.add(tintPanel, java.awt.BorderLayout.SOUTH);\r
+               \r
+               spColour.setLeftComponent(colourPanel);\r
+               \r
+               filterLayerPane.setMinimumSize(new java.awt.Dimension(48, 48));\r
+               filterLayerPane.setPreferredSize(new java.awt.Dimension(256, 343));\r
+               // filterLayerPane.setLayout(new GridLayout(0,1));\r
+               filterLayerPane.addComponentListener(new java.awt.event.ComponentAdapter() {\r
+                       public void componentResized(java.awt.event.ComponentEvent evt) {\r
+                               filterLayerPaneComponentResized(evt);\r
+                       }\r
+               });\r
+               \r
+               templatePanel.setLayout(new java.awt.BorderLayout());\r
+               \r
+               templatePanel.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), cIDresources.getString("tTemplTitle")));\r
+               templatePanel.setName("tTempl");\r
+               templatePanel.setPreferredSize(new java.awt.Dimension(343, 343));\r
+               templatePanel.addComponentListener(new java.awt.event.ComponentAdapter() {\r
+                       public void componentResized(java.awt.event.ComponentEvent evt) {\r
+                               templatePanelComponentResized(evt);\r
+                       }\r
+               });\r
+               \r
+               jTextPane3.setBorder(new javax.swing.border.EtchedBorder());\r
+               jTextPane3.setEditable(false);\r
+               jTextPane3.setText("This is the default Reading template. When fully implemented it will be filled by randomly generated words so the Subject cannot predict, from familiarity or pattern, the sequence of words.\nThe Subject is timed reading the words, and the words-per-minute reading rate is determined. This is done repeatedly for the set of Profiles the Subject finds most comfortable, as well as for the control Profile which is usually simple black text on a white background.\n");\r
+               jTextPane3.setMargin(new java.awt.Insets(8, 8, 8, 8));\r
+               jTextPane3.setMinimumSize(new java.awt.Dimension(16, 16));\r
+               jTextPane3.setPreferredSize(new java.awt.Dimension(256, 256));\r
+               jTextPane3.addComponentListener(new java.awt.event.ComponentAdapter() {\r
+                       public void componentResized(java.awt.event.ComponentEvent evt) {\r
+                               jTextPane3ComponentResized(evt);\r
+                       }\r
+               });\r
+               \r
+               templatePanel.add(jTextPane3, java.awt.BorderLayout.CENTER);\r
+               \r
+               filterLayerPane.add(templatePanel, javax.swing.JLayeredPane.DEFAULT_LAYER);\r
+               templatePanel.setBounds(0, 0, 343, 343);\r
+               \r
+               spColour.setRightComponent(filterLayerPane);\r
+               \r
+               spTemplate.setLeftComponent(spColour);\r
+               \r
+               templateControlPanel.setLayout(new java.awt.BorderLayout());\r
+               \r
+               templateControlPanel.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), cIDresources.getString("tTemplCntrlTitle")));\r
+               templateControlPanel.setName("tTemplCntrl");\r
+               templateSelectorPanel.setLayout(new java.awt.GridLayout(2, 1));\r
+               \r
+               templateSelector.setLayout(new javax.swing.BoxLayout(templateSelector, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               jIconRadioButton6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/tFilterBA1.gif")));\r
+               jIconRadioButton6.setText("1");\r
+               btnGroupTemplate.add(jIconRadioButton6);\r
+               templateSelector.add(jIconRadioButton6);\r
+               \r
+               jIconRadioButton7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/tFilterBA2.gif")));\r
+               jIconRadioButton7.setText("2");\r
+               btnGroupTemplate.add(jIconRadioButton7);\r
+               templateSelector.add(jIconRadioButton7);\r
+               \r
+               jIconRadioButton8.setText("3");\r
+               btnGroupTemplate.add(jIconRadioButton8);\r
+               templateSelector.add(jIconRadioButton8);\r
+               \r
+               jIconRadioButton9.setText("4");\r
+               btnGroupTemplate.add(jIconRadioButton9);\r
+               templateSelector.add(jIconRadioButton9);\r
+               \r
+               templateSelectorPanel.add(templateSelector);\r
+               \r
+               templateSelectorPanel.add(templateHistory);\r
+               \r
+               templateControlPanel.add(templateSelectorPanel, java.awt.BorderLayout.NORTH);\r
+               \r
+               ratingPanel.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), cIDresources.getString("tRatingTitle")));\r
+               sliderRating.setPaintTicks(true);\r
+               sliderRating.setPreferredSize(new java.awt.Dimension(100, 27));\r
+               ratingPanel.add(sliderRating);\r
+               \r
+               templateControlPanel.add(ratingPanel, java.awt.BorderLayout.SOUTH);\r
+               \r
+               spTemplate.setRightComponent(templateControlPanel);\r
+               \r
+               gridBagConstraints1 = new java.awt.GridBagConstraints();\r
+               gridBagConstraints1.gridx = 0;\r
+               gridBagConstraints1.gridy = 0;\r
+               gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;\r
+               gridBagConstraints1.anchor = java.awt.GridBagConstraints.NORTH;\r
+               gridBagConstraints1.weightx = 0.25;\r
+               gridBagConstraints1.weighty = 0.5;\r
+               workPanel.add(spTemplate, gridBagConstraints1);\r
+               \r
+               statusLine.setLayout(new javax.swing.BoxLayout(statusLine, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               statusMessage.setText(cIDresources.getString("msgVistaBuild"));\r
+               statusMessage.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));\r
+               statusMessage.setMaximumSize(new java.awt.Dimension(256, 21));\r
+               statusMessage.setMinimumSize(new java.awt.Dimension(128, 21));\r
+               statusMessage.setPreferredSize(new java.awt.Dimension(256, 21));\r
+               statusLine.add(statusMessage);\r
+               \r
+               statusRed.setFont(new java.awt.Font("Dialog", 1, 11));\r
+               statusRed.setForeground(java.awt.Color.red);\r
+               statusRed.setMaximum(255);\r
+               statusRed.setValue(128);\r
+               statusRed.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));\r
+               statusRed.setPreferredSize(new java.awt.Dimension(64, 21));\r
+               statusRed.setString("128");\r
+               statusRed.setStringPainted(true);\r
+               statusLine.add(statusRed);\r
+               \r
+               statusGreen.setFont(new java.awt.Font("Dialog", 1, 11));\r
+               statusGreen.setForeground(java.awt.Color.green);\r
+               statusGreen.setMaximum(255);\r
+               statusGreen.setValue(128);\r
+               statusGreen.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));\r
+               statusGreen.setPreferredSize(new java.awt.Dimension(64, 21));\r
+               statusGreen.setString("128");\r
+               statusGreen.setStringPainted(true);\r
+               statusLine.add(statusGreen);\r
+               \r
+               statusBlue.setFont(new java.awt.Font("Dialog", 1, 11));\r
+               statusBlue.setForeground(java.awt.Color.blue);\r
+               statusBlue.setMaximum(255);\r
+               statusBlue.setValue(128);\r
+               statusBlue.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));\r
+               statusBlue.setPreferredSize(new java.awt.Dimension(64, 21));\r
+               statusBlue.setString("128");\r
+               statusBlue.setStringPainted(true);\r
+               statusLine.add(statusBlue);\r
+               \r
+               statusTint.setFont(new java.awt.Font("Dialog", 1, 11));\r
+               statusTint.setValue(50);\r
+               statusTint.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));\r
+               statusTint.setStringPainted(true);\r
+               statusLine.add(statusTint);\r
+               \r
+               statusIconPanel.setLayout(new javax.swing.BoxLayout(statusIconPanel, javax.swing.BoxLayout.X_AXIS));\r
+               \r
+               statusIconPanel.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));\r
+               statusIconModel.setIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).active);\r
+               statusIconModel.setToolTipText(cIDresources.getString("tTemplMod"));\r
+               statusIconModel.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).active);\r
+               statusIconPanel.add(statusIconModel);\r
+               \r
+               statusIconEyes.setIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active);\r
+               statusIconEyes.setToolTipText(cIDresources.getString("tEyeMod"));\r
+               statusIconEyes.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active);\r
+               statusIconPanel.add(statusIconEyes);\r
+               \r
+               statusIconTemplate.setIcon(((ToolIconPair)vToolIcons.get(IC_READING)).active);\r
+               statusIconTemplate.setToolTipText(cIDresources.getString("tTemplMod"));\r
+               statusIconTemplate.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_READING)).active);\r
+               statusIconPanel.add(statusIconTemplate);\r
+               \r
+               statusIconColourModel.setIcon(((ToolIconPair)vToolIcons.get(IC_HSB)).active);\r
+               statusIconColourModel.setToolTipText(cIDresources.getString("tColMod"));\r
+               statusIconColourModel.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HSB)).active);\r
+               statusIconPanel.add(statusIconColourModel);\r
+               \r
+               statusIconColourView.setIcon(((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).active);\r
+               statusIconColourView.setToolTipText(cIDresources.getString("tColView"));\r
+               statusIconColourView.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).active);\r
+               statusIconPanel.add(statusIconColourView);\r
+               \r
+               statusIconDirector.setIcon(((ToolIconPair)vToolIcons.get(IC_MANUAL)).active);\r
+               statusIconDirector.setToolTipText(cIDresources.getString("tDirector"));\r
+               statusIconDirector.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_MANUAL)).active);\r
+               statusIconPanel.add(statusIconDirector);\r
+               \r
+               statusIconFilter.setIcon(((ToolIconPair)vToolIcons.get(IC_FILTER_TEMPLATE)).active);\r
+               statusIconFilter.setToolTipText(cIDresources.getString("mOptFltName"));\r
+               statusIconFilter.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_FILTER_TEMPLATE)).active);\r
+               statusIconPanel.add(statusIconFilter);\r
+               \r
+               statusIconLanguage.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active);\r
+               statusIconLanguage.setToolTipText(cIDresources.getString("mOptLangName"));\r
+               statusIconLanguage.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active);\r
+               statusIconPanel.add(statusIconLanguage);\r
+               \r
+               statusLine.add(statusIconPanel);\r
+               \r
+               statusState.setText(cIDresources.getString("msgStatRdy"));\r
+               statusState.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));\r
+               statusState.setMaximumSize(new java.awt.Dimension(39, 21));\r
+               statusState.setMinimumSize(new java.awt.Dimension(39, 21));\r
+               statusState.setPreferredSize(new java.awt.Dimension(39, 21));\r
+               statusLine.add(statusState);\r
+               \r
+               gridBagConstraints1 = new java.awt.GridBagConstraints();\r
+               gridBagConstraints1.gridx = 0;\r
+               gridBagConstraints1.gridy = 1;\r
+               gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;\r
+               gridBagConstraints1.anchor = java.awt.GridBagConstraints.NORTH;\r
+               gridBagConstraints1.weightx = 0.25;\r
+               workPanel.add(statusLine, gridBagConstraints1);\r
+               \r
+               getContentPane().add(workPanel, java.awt.BorderLayout.CENTER);\r
+               \r
+               setJMenuBar(mbMain);\r
+               pack();\r
+       }//GEN-END:initComponents\r
+\r
+       private void mHelpFilterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mHelpFilterActionPerformed\r
+  float alpha = vfFilter.getAlpha();\r
+               helpWindow.setVistaColour(vfFilter.getBackground(), alpha);\r
+               helpWindow.setVista(mHelpFilter.isSelected());\r
+       }//GEN-LAST:event_mHelpFilterActionPerformed\r
+\r
+       private void mHelpDockActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mHelpDockActionPerformed\r
+  if(helpWindow != null) // copy selected state from menu item to Help window\r
+                       helpWindow.setDocking(mHelpDock.isSelected());\r
+       }//GEN-LAST:event_mHelpDockActionPerformed\r
+\r
+       private void formComponentMoved(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_formComponentMoved\r
+  showHelp(0, true, false, false);\r
+       }//GEN-LAST:event_formComponentMoved\r
+\r
+       private void mHelpIndexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mHelpIndexActionPerformed\r
+  showHelp(xhtmlHelp.TAB_INDEX, false, true, true);\r
+       }//GEN-LAST:event_mHelpIndexActionPerformed\r
+\r
+\r
+ /** Catches changes to the CID window frame\r
+               *\r
+               * Intended to allow one Locale-change to the window frame as a result of the\r
+               * user changing the Language, to be caught and then propagated to all other\r
+               * Locale-sensitive components.\r
+               *\r
+               * @param evt The ProperyChangeEvent - usually a 'locale' property event\r
+               */\r
+       private void formPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_formPropertyChange\r
+  if(evt.getPropertyName() ==          "locale") { // the application(or applet) Locale has been changed\r
+                if(debugging) System.out.println("Locale changed from " + ((java.util.Locale)evt.getOldValue()).getDisplayLanguage() + " to " + ((java.util.Locale)evt.getNewValue()).getDisplayLanguage());\r
+                       changeLocale((java.util.Locale)evt.getNewValue()); // do a dynamic change to all components now\r
+               }\r
+       }//GEN-LAST:event_formPropertyChange\r
+\r
+       private void mToolbarToolBarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarToolBarActionPerformed\r
+               toolBar.setVisible(mToolbarToolBar.isSelected()); // show or hide the toolbar\r
+       }//GEN-LAST:event_mToolbarToolBarActionPerformed\r
+\r
+       /** Catch various keyboard accelerators when the Tint slider has focus\r
+               *\r
+               * Cursor (arrow) keys on the their own move the slider 1%\r
+               * with SHIFT key, moves 2%\r
+               * with ALT key, moves 5%\r
+               * with CTRL key, moves 10%\r
+               *\r
+               * NumPad keys + and - control direction\r
+               *\r
+               * NumPad 5 resets slider to central point\r
+               *\r
+               * Intended that these keys will be available as Application-wide accelerators\r
+               * because when the Slider doesn't have keyboard focus the arrow keys are needed\r
+               * for Focus naviagtion and other core activities.\r
+               */\r
+       private void sliderTintKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_sliderTintKeyPressed\r
+               boolean abVal = false;\r
+               int dir = 0, newVal = 0;\r
+               int step = 1; // default stepping is 1\r
+               \r
+               // adjust the Tint from the keyboard\r
+               switch(evt.getModifiers()) { // set the stepping value\r
+                       case ActionEvent.SHIFT_MASK: // shift key\r
+                        step = 2;\r
+                               break;\r
+                       case ActionEvent.ALT_MASK: // alt key\r
+                               step = 5;\r
+                               break;\r
+                       case ActionEvent.CTRL_MASK: // ctrl key\r
+                               step = 10;\r
+                               break;\r
+               }\r
+               \r
+  switch(evt.getKeyCode()) { // set the direction\r
+                       case KeyEvent.VK_ADD: // num-pad key +\r
+                               dir = 1;\r
+                               break;\r
+                       case KeyEvent.VK_SUBTRACT: // num-pad key -\r
+                               dir = -1;\r
+                               break;\r
+                       case KeyEvent.VK_NUMPAD5: // reset slider to central position...\r
+                       case KeyEvent.VK_CLEAR: // ... allow for NumLock on or off\r
+                               newVal = sliderTint.getMinimum() + ((sliderTint.getMaximum() - sliderTint.getMinimum())/2);\r
+                               abVal = true; // indicate absolute value is being set\r
+                               break;\r
+               }\r
+               if(dir != 0) { // don't do anything if one of the adjuster keys wasn't pressed\r
+                       newVal = sliderTint.getValue() + (dir * step); // calculate the new value\r
+                       if(newVal > sliderTint.getMaximum()) // adjust it if too high\r
+                                newVal = sliderTint.getMaximum();\r
+                       else if(newVal < sliderTint.getMinimum()) // or if too low\r
+                                newVal = sliderTint.getMinimum();\r
+                       sliderTint.setValue(newVal); // change the value\r
+               }\r
+               else if(abVal) // set an absolute value\r
+                       sliderTint.setValue(newVal);\r
+       }//GEN-LAST:event_sliderTintKeyPressed\r
+\r
+       /** show or hide the Script buttons on the tool bar */\r
+       private void mToolbarScriptActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarScriptActionPerformed\r
+               pScript.setVisible(mToolbarScript.isSelected());\r
+       }//GEN-LAST:event_mToolbarScriptActionPerformed\r
+\r
+       /** show or hide the Remote Connection buttons on the tool bar */\r
+       private void mToolbarConnectionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarConnectionActionPerformed\r
+               pConnection.setVisible(mToolbarConnection.isSelected());\r
+       }//GEN-LAST:event_mToolbarConnectionActionPerformed\r
+\r
+       /** show or hide the Director buttons on the tool bar */\r
+       private void mToolbarDirectorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarDirectorActionPerformed\r
+               pDirector.setVisible(mToolbarDirector.isSelected());\r
+       }//GEN-LAST:event_mToolbarDirectorActionPerformed\r
+\r
+       private void mToolbarColourViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarColourViewActionPerformed\r
+               pColourView.setVisible(mToolbarColourView.isSelected());\r
+       }//GEN-LAST:event_mToolbarColourViewActionPerformed\r
+\r
+       /** show or hide the Colour Model buttons on the tool bar */\r
+       private void mToolbarColourModelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarColourModelActionPerformed\r
+               pColourModel.setVisible(mToolbarColourModel.isSelected());\r
+       }//GEN-LAST:event_mToolbarColourModelActionPerformed\r
+\r
+       /** show or hide the Template buttons on the tool bar */\r
+       private void mToolbarTemplateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarTemplateActionPerformed\r
+               pTemplate.setVisible(mToolbarTemplate.isSelected());\r
+       }//GEN-LAST:event_mToolbarTemplateActionPerformed\r
+\r
+       /** show or hide the Eye Model buttons on the tool bar */\r
+       private void mToolbarEyesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarEyesActionPerformed\r
+               pEyes.setVisible(mToolbarEyes.isSelected());\r
+       }//GEN-LAST:event_mToolbarEyesActionPerformed\r
+\r
+       private void mToolbarModelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarModelActionPerformed\r
+               pModel.setVisible(mToolbarModel.isSelected());\r
+       }//GEN-LAST:event_mToolbarModelActionPerformed\r
+\r
+       /** show or hide the Profile buttons on the tool bar */\r
+       private void mToolbarProfileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarProfileActionPerformed\r
+               pProfile.setVisible(mToolbarProfile.isSelected());\r
+       }//GEN-LAST:event_mToolbarProfileActionPerformed\r
+\r
+       /** Listen for potentional context menu  requests (platform-specific activation sequence) \r
+               * @param evt The MouseEvent\r
+               * @see MouseEvent#isPoupTrigger()\r
+               */\r
+private void toolBarMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toolBarMouseReleased\r
+  if(evt.isPopupTrigger()) showToolbarPopup(evt); // only show if event conforms to platform context gesture\r
+}//GEN-LAST:event_toolBarMouseReleased\r
+\r
+       /** Listen for potentional context menu  requests (platform-specific activation sequence) \r
+               * @param evt The MouseEvent\r
+               * @see MouseEvent#isPoupTrigger()\r
+               */\r
+private void toolBarMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toolBarMousePressed\r
+ if(evt.isPopupTrigger()) showToolbarPopup(evt); // only show if event conforms to platform context gesture\r
+}//GEN-LAST:event_toolBarMousePressed\r
+\r
+ /** Show Toolbar customization Popup \r
+  * Conditional on receiving environment-specific context gesture.\r
+               *\r
+               * Because the JPopUp belonging to the mOptionsToolbar JMenu is being 'borrowed'\r
+               * we must make sure to reset the invoker after we've used it so it's owner\r
+               * can use it again.\r
+               * \r
+               * @param evt The MouseEvent\r
+  */\r
+ private void showToolbarPopup(java.awt.event.MouseEvent evt) {\r
+               Component c = toolBarPopup.getInvoker(); // remember the original invoker\r
+  toolBarPopup.show(evt.getComponent(), evt.getX(), evt.getY());\r
+               toolBarPopup.setInvoker(c); // restore the invoker\r
+ }\r
+\r
+       /** Central 'Template' panel isn't managed by a Layout Manager\r
+               * When the parent container resizes, <code>templatePanel</code> must ensure it's\r
+               * child components are all resized too.\r
+               *\r
+               * @param evt The ComponentEvent\r
+               */\r
+       private void templatePanelComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_templatePanelComponentResized\r
+               Dimension dim = templatePanel.getSize(); // container size\r
+               Insets insets = templatePanel.getInsets(); // unavailable margins\r
+               dim.width -= insets.left + insets.right; // adjust size to take account of insets\r
+               dim.height -= insets.top + insets.bottom;\r
+        jTextPane3.setSize(dim); // fit the child component exactly into the panel\r
+       }//GEN-LAST:event_templatePanelComponentResized\r
+\r
+       private void jTextPane3ComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_jTextPane3ComponentResized\r
+  jTextPane3.revalidate(); // cause the parent container(s) to re-layout child components\r
+               jTextPane3.repaint(); // and then make sure the resized pane is shown on screen\r
+       }//GEN-LAST:event_jTextPane3ComponentResized\r
+\r
+ /** When the mouse leaves a tool bar button, causes the button border to be undrawn\r
+               * Single method which is called by all buttons wanting this functionality\r
+               * @param evt The MouseEvent\r
+               */\r
+       private void toolBarBtnMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toolBarBtnMouseExited\r
+               // whichever tool bar button, remove the border because the mouse has moved away\r
+               ((AbstractButton)evt.getSource()).setBorderPainted(false);\r
+               \r
+       }//GEN-LAST:event_toolBarBtnMouseExited\r
+\r
+ /** When the mouse is over a tool bar button, causes the button border to be drawn\r
+               * Single method which is called by all buttons wanting this functionality\r
+               * @param evt The MouseEvent\r
+               */\r
+       private void toolBarBtnMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toolBarBtnMouseEntered\r
+               // whichever tool bar button, show the mouse is over it\r
+               ((javax.swing.AbstractButton)evt.getSource()).setBorderPainted(true);\r
+       }//GEN-LAST:event_toolBarBtnMouseEntered\r
+\r
+    /** Show the application's Help/About dialog\r
+                                       * @param evt The ActionEvent\r
+                                       */\r
+                               private void mHelpAboutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mHelpAboutActionPerformed\r
+                                       if(aboutDialog == null)\r
+                                               aboutDialog = new CIDAbout(this, true);\r
+\r
+                                       aboutDialog.setLocation(getCentralLocation(aboutDialog, frameCID));\r
+                                       aboutDialog.setVisible(true); // show the (modal) dialog\r
+                               }//GEN-LAST:event_mHelpAboutActionPerformed\r
+                               \r
+                               /** Responds to changes in the transparency of the VisTA filter\r
+                                       *\r
+                                       * Gets the new tint and applies it to the VisTA filter and reflects the value to the\r
+                                       * status line tint-indicator progress bar.\r
+                                       *\r
+                                       * @param evt The ChangeEvent\r
+                                       */\r
+                               private void sliderTintStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_sliderTintStateChanged\r
+                                       int value = sliderTint.getValue(); // new tint %\r
+                                       vfFilter.setAlpha(((float)value)/100); // apply it to the VisTA filter panel\r
+                                       statusTint.setValue(value); // and reflect the value in the status-line progress bar\r
+                               }//GEN-LAST:event_sliderTintStateChanged\r
+\r
+                               /** <code>filterLayerPane</code> cannot use a regular Layout Manager because it needs\r
+                                       * to place the VisTA <code>vfFilter</code> transparent 'glass' pane completely over\r
+                                       * all other components.\r
+                                       *\r
+                                       * Therefore, when <code>filterLayerPane</code> is resized, the change has to be\r
+                                       * propagated manually to the glass pane and the active Template panel, so they\r
+                                       * fill the <code>filterLayerPane</code> completely.\r
+                                       */\r
+                               private void filterLayerPaneComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_filterLayerPaneComponentResized\r
+                                       Dimension dim = filterLayerPane.getSize(); // the new size\r
+                                       if(mFilterTemplate.isSelected()) vfFilter.setSize(dim); // tell the VisTA filter if it's attached to the Template\r
+                                       templatePanel.setSize(dim); // tell the Template pane\r
+                               }//GEN-LAST:event_filterLayerPaneComponentResized\r
+\r
+                               private void sysColorChooserStateChanged(ChangeEvent e) {\r
+                                       Color newColor = sysColorChooser.getColor();\r
+                                       vfFilter.setBackground(newColor);\r
+                                       statusRed.setValue(newColor.getRed());\r
+                                       statusRed.setString(Integer.toString(newColor.getRed()));\r
+                                       statusGreen.setValue(newColor.getGreen());\r
+                                       statusGreen.setString(Integer.toString(newColor.getGreen()));\r
+                                       statusBlue.setValue(newColor.getBlue());\r
+                                       statusBlue.setString(Integer.toString(newColor.getBlue()));\r
+                               }\r
+\r
+ /** Calculate the top-left position that will place a component in the center of the screen \r
+               * @param child Component that requires positioning\r
+               * @return Top-Left co-ordinate\r
+               */\r
+       public Point getCentralScreenLocation(Component child) {\r
+               Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();\r
+               Dimension childSize = child.getSize();\r
+               return new Point(screenSize.width/2 - childSize.width/2, screenSize.height/2 - childSize.height/2);\r
+       }\r
+\r
+       /** Calculate the top-left position that will place a component in the center of a container\r
+               * @param child Component that requires positioning\r
+               * @param container Component to position child relative to\r
+               * @return Top-Left co-ordinate of child\r
+               */\r
+       public Point getCentralLocation(Component child, Component container) {\r
+               Dimension containerSize = container.getSize();\r
+               Dimension childSize = child.getSize();\r
+               return new Point(container.getX() + (containerSize.width/2 - childSize.width/2), container.getY() + (containerSize.height/2 - childSize.height/2));\r
+       }\r
+                               /** Exit the Application\r
+                                       * @param evt The WindowEvent\r
+                                       */\r
+    private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm\r
+        if(parent == null) System.exit(0); // running as an application; safe to close down Java Virtual Machine\r
+                                                               else setVisible(false); // running as an applet; just hide\r
+    }//GEN-LAST:event_exitForm\r
+\r
+                               // Variables declaration - do not modify//GEN-BEGIN:variables\r
+                               private javax.swing.JMenuBar mbMain;\r
+                               private javax.swing.JMenu mProfile;\r
+                               private javax.swing.JMenuItem mProfileNew;\r
+                               private javax.swing.JMenuItem mProfileOpen;\r
+                               private javax.swing.JMenuItem mProfileSave;\r
+                               private javax.swing.JMenuItem mProfileSaveAs;\r
+                               private javax.swing.JMenuItem mProfileDelete;\r
+                               private javax.swing.JSeparator mProfileSeparator1;\r
+                               private javax.swing.JMenuItem mProfileToVista;\r
+                               private javax.swing.JSeparator mProfileSeparator2;\r
+                               private javax.swing.JMenuItem mProfileFromCookie;\r
+                               private javax.swing.JMenuItem mProfileToCookie;\r
+                               private javax.swing.JMenuItem mProfileCreateFilter;\r
+                               private javax.swing.JMenuItem mProfileWeb;\r
+                               private javax.swing.JSeparator mProfileSeparator3;\r
+                               private javax.swing.JMenuItem mProfilePrint;\r
+                               private javax.swing.JMenuItem mProfilePageSetup;\r
+                               private javax.swing.JSeparator mProfileSeparator4;\r
+                               private javax.swing.JMenuItem mProfileProperties;\r
+                               private javax.swing.JMenu mModel;\r
+                               private javax.swing.JRadioButtonMenuItem mModel1;\r
+                               private javax.swing.JRadioButtonMenuItem mModel2;\r
+                               private javax.swing.JRadioButtonMenuItem mModelAlternate;\r
+                               private javax.swing.JSeparator jSeparator9;\r
+                               private javax.swing.JRadioButtonMenuItem mModelBothEyes;\r
+                               private javax.swing.JRadioButtonMenuItem mModelEyesSeparate;\r
+                               private javax.swing.JMenu mTemplate;\r
+                               private javax.swing.JRadioButtonMenuItem mTemplateReading;\r
+                               private javax.swing.JRadioButtonMenuItem mTemplatePattern;\r
+                               private javax.swing.JRadioButtonMenuItem mTemplateImage;\r
+                               private javax.swing.JMenu mColour;\r
+                               private javax.swing.JRadioButtonMenuItem mColourRGB;\r
+                               private javax.swing.JRadioButtonMenuItem mColourHSB;\r
+                               private javax.swing.JRadioButtonMenuItem mColourCYMK;\r
+                               private javax.swing.JSeparator jSeparator7;\r
+                               private javax.swing.JRadioButtonMenuItem mColourWheel;\r
+                               private javax.swing.JRadioButtonMenuItem mColourTriangle;\r
+                               private javax.swing.JRadioButtonMenuItem mColourCube;\r
+                               private javax.swing.JRadioButtonMenuItem mColourSystemChooser;\r
+                               private javax.swing.JRadioButtonMenuItem mColourSwatch;\r
+                               private javax.swing.JMenu mDirector;\r
+                               private javax.swing.JRadioButtonMenuItem mDirectorManual;\r
+                               private javax.swing.JRadioButtonMenuItem mDirectorAuto;\r
+                               private javax.swing.JRadioButtonMenuItem mDirectorDirect;\r
+                               private javax.swing.JRadioButtonMenuItem mDirectorScript;\r
+                               private javax.swing.JMenu mOptions;\r
+                               private javax.swing.JMenu mOptionsReading;\r
+                               private javax.swing.JMenuItem mReadingChoose;\r
+                               private javax.swing.JMenuItem mReadingCustomize;\r
+                               private javax.swing.JMenuItem mReadingPreferences;\r
+                               private javax.swing.JMenu mOptionsPatterns;\r
+                               private javax.swing.JMenuItem mPatternsChoose;\r
+                               private javax.swing.JMenuItem mPatternsCustomize;\r
+                               private javax.swing.JMenuItem mPatternsPreferences;\r
+                               private javax.swing.JMenu mOptionsImages;\r
+                               private javax.swing.JMenuItem mImgChoose;\r
+                               private javax.swing.JMenuItem mImgCustomize;\r
+                               private javax.swing.JMenuItem mImgPreferences;\r
+                               private javax.swing.JMenu mOptionsSwatches;\r
+                               private javax.swing.JMenuItem mSwatchesChoose;\r
+                               private javax.swing.JMenuItem mSwatchesCustomize;\r
+                               private javax.swing.JMenuItem mSwatchesPreferences;\r
+                               private javax.swing.JMenu mOptionsDirected;\r
+                               private javax.swing.JMenuItem mDirectedConnect;\r
+                               private javax.swing.JMenuItem mDirectedDisconnect;\r
+                               private javax.swing.JMenuItem mDirectedPreferences;\r
+                               private javax.swing.JMenu mOptionsScripted;\r
+                               private javax.swing.JMenuItem mOptionsScriptedChoose;\r
+                               private javax.swing.JMenuItem mOptionsScriptedPlay;\r
+                               private javax.swing.JMenuItem mOptionsScriptedRecord;\r
+                               private javax.swing.JMenuItem mOptionsScriptedPause;\r
+                               private javax.swing.JMenuItem mOptionsScriptedStop;\r
+                               private javax.swing.JMenuItem mOptionsScriptedPreferences;\r
+                               private javax.swing.JMenu mOptionsFilter;\r
+                               private javax.swing.JRadioButtonMenuItem mFilterTemplate;\r
+                               private javax.swing.JRadioButtonMenuItem mFilterWindow;\r
+                               private javax.swing.JRadioButtonMenuItem mFilterScreen;\r
+                               private javax.swing.JMenu mOptionsLanguage;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageDefault;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageBritish;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageFrench;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageSpanish;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageGerman;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageArabicEgypt;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageFarsiIran;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageHindiIndia;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageIndonesian;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageJapanese;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageDutch;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguagePashto;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguagePortuguese;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageRussian;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageSwedish;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageUrdu;\r
+                               private javax.swing.JRadioButtonMenuItem mLanguageChinese;\r
+                               private javax.swing.JMenu mOptionsToolbar;\r
+                               private javax.swing.JCheckBoxMenuItem mToolbarToolBar;\r
+                               private javax.swing.JSeparator jSeparator1;\r
+                               private javax.swing.JCheckBoxMenuItem mToolbarProfile;\r
+                               private javax.swing.JCheckBoxMenuItem mToolbarModel;\r
+                               private javax.swing.JCheckBoxMenuItem mToolbarEyes;\r
+                               private javax.swing.JCheckBoxMenuItem mToolbarTemplate;\r
+                               private javax.swing.JCheckBoxMenuItem mToolbarColourModel;\r
+                               private javax.swing.JCheckBoxMenuItem mToolbarColourView;\r
+                               private javax.swing.JCheckBoxMenuItem mToolbarDirector;\r
+                               private javax.swing.JCheckBoxMenuItem mToolbarConnection;\r
+                               private javax.swing.JCheckBoxMenuItem mToolbarScript;\r
+                               private javax.swing.JMenu mOptionsLandF;\r
+                               private javax.swing.JMenuItem mOptionsVistaDB;\r
+                               private javax.swing.JSeparator mOptionsSeparator2;\r
+                               private javax.swing.JCheckBoxMenuItem mOptionsVistaWeb;\r
+                               private javax.swing.JMenu mHelp;\r
+                               private javax.swing.JMenuItem mHelpContents;\r
+                               private javax.swing.JMenuItem mHelpIndex;\r
+                               private javax.swing.JMenuItem mHelpSearch;\r
+                               private javax.swing.JMenuItem mHelpWebLink;\r
+                               private javax.swing.JSeparator mHelpSeparator1;\r
+                               private javax.swing.JCheckBoxMenuItem mHelpExplain;\r
+                               private javax.swing.JCheckBoxMenuItem mHelpDock;\r
+                               private javax.swing.JCheckBoxMenuItem mHelpFilter;\r
+                               private javax.swing.JSeparator mHelpSeparator2;\r
+                               private javax.swing.JMenuItem mHelpAbout;\r
+                               private javax.swing.ButtonGroup btnGroupFilter;\r
+                               private javax.swing.ButtonGroup btnGroupTemplate;\r
+                               private javax.swing.JToolBar toolBar;\r
+                               private javax.swing.JPanel pProfile;\r
+                               private javax.swing.JButton btnNew;\r
+                               private javax.swing.JButton btnOpenFile;\r
+                               private javax.swing.JButton btnSave;\r
+                               private javax.swing.JButton btnSendToVistaDB;\r
+                               private javax.swing.JPanel pModel;\r
+                               private javax.swing.JToggleButton btn1Up;\r
+                               private javax.swing.JToggleButton btn2Up;\r
+                               private javax.swing.JToggleButton btnAlternate;\r
+                               private javax.swing.JPanel pEyes;\r
+                               private javax.swing.JToggleButton btnEyes2;\r
+                               private javax.swing.JToggleButton btnEyes1;\r
+                               private javax.swing.JPanel pTemplate;\r
+                               private javax.swing.JToggleButton btnReading;\r
+                               private javax.swing.JToggleButton btnPatterns;\r
+                               private javax.swing.JToggleButton btnImages;\r
+                               private javax.swing.JPanel pColourModel;\r
+                               private javax.swing.JToggleButton btnRGB;\r
+                               private javax.swing.JToggleButton btnHSB;\r
+                               private javax.swing.JToggleButton btnCYMK;\r
+                               private javax.swing.JPanel pColourView;\r
+                               private javax.swing.JToggleButton btnWheel;\r
+                               private javax.swing.JToggleButton btnTriangle;\r
+                               private javax.swing.JToggleButton btnQube;\r
+                               private javax.swing.JToggleButton btnSystemChooser;\r
+                               private javax.swing.JToggleButton btnSwatches;\r
+                               private javax.swing.JPanel pDirector;\r
+                               private javax.swing.JToggleButton btnManual;\r
+                               private javax.swing.JToggleButton btnAuto;\r
+                               private javax.swing.JToggleButton btnDirected;\r
+                               private javax.swing.JToggleButton btnScript;\r
+                               private javax.swing.JPanel pConnection;\r
+                               private javax.swing.JToggleButton btnConnect;\r
+                               private javax.swing.JToggleButton btnDisconnect;\r
+                               private javax.swing.JPanel pScript;\r
+                               private javax.swing.JToggleButton btnPlay;\r
+                               private javax.swing.JToggleButton btnRecord;\r
+                               private javax.swing.JToggleButton btnPause;\r
+                               private javax.swing.JToggleButton btnStop;\r
+                               private javax.swing.JPanel workPanel;\r
+                               private javax.swing.JSplitPane spTemplate;\r
+                               private javax.swing.JSplitPane spColour;\r
+                               private javax.swing.JPanel colourPanel;\r
+                               private javax.swing.JPanel colourSelectorPanel;\r
+                               private javax.swing.JPanel filterSelector;\r
+                               private org.tjworld.components.JIconRadioButton jIconRadioButton1;\r
+                               private org.tjworld.components.JIconRadioButton jIconRadioButton2;\r
+                               private org.tjworld.components.JIconRadioButton jIconRadioButton3;\r
+                               private org.tjworld.components.JIconRadioButton jIconRadioButton4;\r
+                               private javax.swing.JComboBox filterHistory;\r
+                               private javax.swing.JColorChooser sysColorChooser;\r
+                               private javax.swing.JPanel tintPanel;\r
+                               private javax.swing.JSlider sliderTint;\r
+                               private javax.swing.JLayeredPane filterLayerPane;\r
+                               private javax.swing.JPanel templatePanel;\r
+                               private javax.swing.JTextPane jTextPane3;\r
+                               private javax.swing.JPanel templateControlPanel;\r
+                               private javax.swing.JPanel templateSelectorPanel;\r
+                               private javax.swing.JPanel templateSelector;\r
+                               private org.tjworld.components.JIconRadioButton jIconRadioButton6;\r
+                               private org.tjworld.components.JIconRadioButton jIconRadioButton7;\r
+                               private org.tjworld.components.JIconRadioButton jIconRadioButton8;\r
+                               private org.tjworld.components.JIconRadioButton jIconRadioButton9;\r
+                               private javax.swing.JComboBox templateHistory;\r
+                               private javax.swing.JPanel ratingPanel;\r
+                               private javax.swing.JSlider sliderRating;\r
+                               private javax.swing.JPanel statusLine;\r
+                               private javax.swing.JLabel statusMessage;\r
+                               private javax.swing.JProgressBar statusRed;\r
+                               private javax.swing.JProgressBar statusGreen;\r
+                               private javax.swing.JProgressBar statusBlue;\r
+                               private javax.swing.JProgressBar statusTint;\r
+                               private javax.swing.JPanel statusIconPanel;\r
+                               private javax.swing.JButton statusIconModel;\r
+                               private javax.swing.JButton statusIconEyes;\r
+                               private javax.swing.JButton statusIconTemplate;\r
+                               private javax.swing.JButton statusIconColourModel;\r
+                               private javax.swing.JButton statusIconColourView;\r
+                               private javax.swing.JButton statusIconDirector;\r
+                               private javax.swing.JButton statusIconFilter;\r
+                               private javax.swing.JButton statusIconLanguage;\r
+                               private javax.swing.JLabel statusState;\r
+                               // End of variables declaration//GEN-END:variables\r
+\r
+       /** Pairs of active & dimmed icons for common actions */                        \r
+       class ToolIconPair {\r
+               /** Active icon */\r
+               public javax.swing.ImageIcon active;\r
+               /** Dimmed icon */\r
+               public javax.swing.ImageIcon dimmed;\r
+                                       \r
+        /** Default empty constructor */\r
+        public ToolIconPair() {\r
+                       active = null;\r
+                       dimmed = null;\r
+               }\r
+               \r
+               /** defines a pair of icons\r
+                       * @param a The active Icon\r
+                       * @param d The dimmed Icon\r
+                       */\r
+       public ToolIconPair(javax.swing.ImageIcon a, javax.swing.ImageIcon d) {\r
+               active = a;\r
+                       dimmed = d;\r
+               }\r
+       }\r
+                               \r
+ /** Provides common mouseover hilighting services to all tool bar buttons\r
+               * Without this container class, each button would have to provide it's own\r
+               * instantiation of the <code>MouseAdapter</code> class when it registers\r
+               * a mouse listener.\r
+               */\r
+       class ToolBarButtonMouseAdapter extends java.awt.event.MouseAdapter {\r
+  /** Default empty constructor */\r
+        public ToolBarButtonMouseAdapter() {}\r
+               \r
+               /** mouse has left the house! \r
+                       * @param evt A mouse event\r
+                       */\r
+  public void mouseExited(java.awt.event.MouseEvent evt) {\r
+                       toolBarBtnMouseExited(evt); // indicate mouse gone\r
+               }\r
+               /** mouse over the button \r
+                       * @param evt A mouse event\r
+                       */\r
+        public void mouseEntered(java.awt.event.MouseEvent evt) {\r
+                toolBarBtnMouseEntered(evt); // indicate mouse over\r
+               }\r
+       }\r
+\r
+\r
+ /** Receives an event from a selectable descendent of AbstractButton\r
+  *\r
+  * A component that fires this event MUST keep the className of the L&F it is requesting\r
+  * in it's tool tip text\r
+  *\r
+  * @param e The event caused by an item state change\r
+ */\r
+ public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+               // cast to an AbstractButton so menu items and tool bar (toggle) buttons can use this same listener\r
+  javax.swing.AbstractButton item = (javax.swing.AbstractButton)e.getSource();\r
+               if(item.getClientProperty("ButtonGroup") == "LandF" && item.isSelected()) { // only make the call if this component has been selected, NOT deselected\r
+   setLookAndFeel(item.getToolTipText()); // change to the L&F which cleverly is stored in the menu item tool tip text\r
+                       if(helpWindow != null) // change the help window too\r
+                                helpWindow.setLookAndFeel(item.getToolTipText());\r
+               }\r
+ }\r
+\r
+       /** Choose the Java Look & Feel\r
+               * @param lf The L&F name\r
+               */              \r
+ public void setLookAndFeel(String lf) {\r
+  Cursor curCursor = getCursor(); // save the existing cursor\r
+  setCursor(new Cursor(Cursor.WAIT_CURSOR)); // let the user know this might take a while\r
+  \r
+  try { \r
+   UIManager.setLookAndFeel(lf);\r
+                       \r
+                       // now adjust the frame decoration depending on whether the L&F supports painting it\r
+                       setVisible(false); // hide the frame while the decoration is changed\r
+                       dispose(); // detatch all of the native windowing resources\r
+\r
+                       if(UIManager.getLookAndFeel().getSupportsWindowDecorations()) {\r
+               setUndecorated(true);  // don't use the Host window decoration\r
+    getRootPane().setWindowDecorationStyle(javax.swing.JRootPane.FRAME);\r
+                } else {\r
+                        setUndecorated(false); // L&F doesn't support decorating the frame\r
+    getRootPane().setWindowDecorationStyle(javax.swing.JRootPane.NONE);\r
+                }\r
+  } catch(UnsupportedLookAndFeelException e) { // uh-oh, a problem\r
+   try {\r
+    System.err.println("Couldn't switch to " + lf + ", selecting Cross Platform instead");\r
+    UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); // try to recover gracefully\r
+   } catch(Exception g) { // major problem!\r
+    System.err.println("Couldn't return to Cross Platform L&F - eeek!");\r
+                               g.printStackTrace();\r
+   } \r
+  } catch(Exception f) { // oh pooey, what do I do now?\r
+   System.err.println("Couldn't load " + lf);\r
+                       f.printStackTrace();\r
+  } finally { // do this in any case\r
+   SwingUtilities.updateComponentTreeUI(this); // update the view\r
+   pack(); // make sure to adjust for potentially altered component sizes\r
+                       setVisible(true);\r
+  }\r
+   \r
+  setCursor(curCursor);  // restore the cursor\r
+ }\r
+\r
+       /** Run as an Application\r
+  * @param args the command line arguments\r
+  */\r
+ public static void main(String args[]) {\r
+               new CID().show(); // create and show the application - everything happens in the Event Dispatching thread\r
+ }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/vista/CID/CIDAbout.form b/org/tjworld/vista/CID/CIDAbout.form
new file mode 100644 (file)
index 0000000..164f45d
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>\r
+\r
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">\r
+  <SyntheticProperties>\r
+    <SyntheticProperty name="menuBar" type="java.lang.String" value="(No Menu)"/>\r
+    <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-56,0,0,1,44"/>\r
+    <SyntheticProperty name="formPosition" type="java.awt.Point" value="-84,-19,0,5,115,114,0,14,106,97,118,97,46,97,119,116,46,80,111,105,110,116,-74,-60,-118,114,52,126,-56,38,2,0,2,73,0,1,120,73,0,1,121,120,112,0,0,0,0,0,0,0,0"/>\r
+    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>\r
+    <SyntheticProperty name="generatePosition" type="boolean" value="true"/>\r
+    <SyntheticProperty name="generateSize" type="boolean" value="true"/>\r
+    <SyntheticProperty name="generateCenter" type="boolean" value="true"/>\r
+  </SyntheticProperties>\r
+\r
+  <Events>\r
+    <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="closeDialog"/>\r
+  </Events>\r
+\r
+  <AuxValues>\r
+  </AuxValues>\r
+\r
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>\r
+  <SubComponents>\r
+    <Component class="javax.swing.JLabel" name="jLabel3">\r
+      <Properties>\r
+        <Property name="text" type="java.lang.String" value="VisTA.CID Colour Imbalance Discovery"/>\r
+      </Properties>\r
+      <Constraints>\r
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">\r
+          <GridBagConstraints anchor="10" fill="2" gridHeight="1" gridWidth="1" gridX="0" gridY="0" insetsBottom="0" insetsLeft="0" insetsRight="0" insetsTop="0" ipadX="0" ipadY="0" weightX="0.0" weightY="0.0"/>\r
+        </Constraint>\r
+      </Constraints>\r
+    </Component>\r
+    <Component class="javax.swing.JLabel" name="jLabel1">\r
+      <Properties>\r
+        <Property name="text" type="java.lang.String" value="© Copyright October 2001, TJ"/>\r
+      </Properties>\r
+      <Constraints>\r
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">\r
+          <GridBagConstraints anchor="10" fill="2" gridHeight="1" gridWidth="1" gridX="0" gridY="1" insetsBottom="0" insetsLeft="0" insetsRight="0" insetsTop="0" ipadX="0" ipadY="0" weightX="0.0" weightY="0.0"/>\r
+        </Constraint>\r
+      </Constraints>\r
+    </Component>\r
+    <Component class="javax.swing.JLabel" name="jLabel2">\r
+      <Properties>\r
+        <Property name="text" type="java.lang.String" value="TJ &lt;vista.cid@tjworld.org&gt;"/>\r
+      </Properties>\r
+      <Constraints>\r
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">\r
+          <GridBagConstraints anchor="10" fill="2" gridHeight="1" gridWidth="1" gridX="0" gridY="2" insetsBottom="0" insetsLeft="0" insetsRight="0" insetsTop="0" ipadX="0" ipadY="0" weightX="0.0" weightY="0.0"/>\r
+        </Constraint>\r
+      </Constraints>\r
+    </Component>\r
+    <Component class="javax.swing.JTextArea" name="jTextArea1">\r
+      <Properties>\r
+        <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">\r
+          <Color blue="cc" green="cc" red="cc" type="rgb"/>\r
+        </Property>\r
+        <Property name="editable" type="boolean" value="false"/>\r
+        <Property name="text" type="java.lang.String" value="This application is protected by Patents, Trademarks, &#xa;and other Intellectual Property rights."/>\r
+      </Properties>\r
+      <Constraints>\r
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">\r
+          <GridBagConstraints anchor="10" fill="2" gridHeight="1" gridWidth="1" gridX="0" gridY="3" insetsBottom="0" insetsLeft="0" insetsRight="0" insetsTop="0" ipadX="0" ipadY="0" weightX="0.0" weightY="0.0"/>\r
+        </Constraint>\r
+      </Constraints>\r
+    </Component>\r
+    <Component class="javax.swing.JButton" name="jButton1">\r
+      <Properties>\r
+        <Property name="text" type="java.lang.String" value="OK"/>\r
+      </Properties>\r
+\r
+      <Events>\r
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>\r
+      </Events>\r
+      <Constraints>\r
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">\r
+          <GridBagConstraints anchor="10" fill="0" gridHeight="1" gridWidth="1" gridX="0" gridY="6" insetsBottom="0" insetsLeft="0" insetsRight="0" insetsTop="0" ipadX="0" ipadY="0" weightX="0.0" weightY="0.0"/>\r
+        </Constraint>\r
+      </Constraints>\r
+    </Component>\r
+  </SubComponents>\r
+</Form>\r
diff --git a/org/tjworld/vista/CID/CIDAbout.java b/org/tjworld/vista/CID/CIDAbout.java
new file mode 100644 (file)
index 0000000..fdefacb
--- /dev/null
@@ -0,0 +1,116 @@
+/*\r
+       * CIDAbout.java\r
+ *\r
+       * Created on 08 October 2001, 21:14\r
+       * $Header: $\r
+       * \r
+       * $History: $\r
+ */\r
+package org.tjworld.vista.cid;\r
+/**\r
+ *\r
+       * @author  TJ\r
+ */\r
+public class CIDAbout extends javax.swing.JDialog {\r
+\r
+       /** Creates new form CIDAbout */\r
+    public CIDAbout(java.awt.Frame parent, boolean modal) {\r
+        super(parent, modal);\r
+        initComponents();\r
+    }\r
+\r
+    /** This method is called from within the constructor to\r
+     * initialize the form.\r
+     * WARNING: Do NOT modify this code. The content of this method is\r
+     * always regenerated by the Form Editor.\r
+     */\r
+                               private void initComponents() {//GEN-BEGIN:initComponents\r
+                                       jLabel3 = new javax.swing.JLabel();\r
+                                       jLabel1 = new javax.swing.JLabel();\r
+                                       jLabel2 = new javax.swing.JLabel();\r
+                                       jTextArea1 = new javax.swing.JTextArea();\r
+                                       jButton1 = new javax.swing.JButton();\r
+                                       \r
+                                       getContentPane().setLayout(new java.awt.GridBagLayout());\r
+                                       java.awt.GridBagConstraints gridBagConstraints1;\r
+                                       \r
+                                       addWindowListener(new java.awt.event.WindowAdapter() {\r
+                                               public void windowClosing(java.awt.event.WindowEvent evt) {\r
+                                                       closeDialog(evt);\r
+                                               }\r
+                                       });\r
+                                       \r
+                                       jLabel3.setText("VisTA.CID Colour Imbalance Discovery");\r
+                                       gridBagConstraints1 = new java.awt.GridBagConstraints();\r
+                                       gridBagConstraints1.gridx = 0;\r
+                                       gridBagConstraints1.gridy = 0;\r
+                                       gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;\r
+                                       getContentPane().add(jLabel3, gridBagConstraints1);\r
+                                       \r
+                                       jLabel1.setText("\u00a9 Copyright October 2001, TJ");\r
+                                       gridBagConstraints1 = new java.awt.GridBagConstraints();\r
+                                       gridBagConstraints1.gridx = 0;\r
+                                       gridBagConstraints1.gridy = 1;\r
+                                       gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;\r
+                                       getContentPane().add(jLabel1, gridBagConstraints1);\r
+                                       \r
+                                       jLabel2.setText("TJ <vista.cid@tjworld.org>");\r
+                                       gridBagConstraints1 = new java.awt.GridBagConstraints();\r
+                                       gridBagConstraints1.gridx = 0;\r
+                                       gridBagConstraints1.gridy = 2;\r
+                                       gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;\r
+                                       getContentPane().add(jLabel2, gridBagConstraints1);\r
+                                       \r
+                                       jTextArea1.setBackground(new java.awt.Color(204, 204, 204));\r
+                                       jTextArea1.setEditable(false);\r
+                                       jTextArea1.setText("This application is protected by Patents, Trademarks, \nand other Intellectual Property rights.");\r
+                                       gridBagConstraints1 = new java.awt.GridBagConstraints();\r
+                                       gridBagConstraints1.gridx = 0;\r
+                                       gridBagConstraints1.gridy = 3;\r
+                                       gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;\r
+                                       getContentPane().add(jTextArea1, gridBagConstraints1);\r
+                                       \r
+                                       jButton1.setText("OK");\r
+                                       jButton1.addActionListener(new java.awt.event.ActionListener() {\r
+                                               public void actionPerformed(java.awt.event.ActionEvent evt) {\r
+                                                       jButton1ActionPerformed(evt);\r
+                                               }\r
+                                       });\r
+                                       \r
+                                       gridBagConstraints1 = new java.awt.GridBagConstraints();\r
+                                       gridBagConstraints1.gridx = 0;\r
+                                       gridBagConstraints1.gridy = 6;\r
+                                       getContentPane().add(jButton1, gridBagConstraints1);\r
+                                       \r
+                                       pack();\r
+                               }//GEN-END:initComponents\r
+\r
+                               private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed\r
+                                       // Add your handling code here:\r
+                                       setVisible(false);\r
+                                       dispose();\r
+                               }//GEN-LAST:event_jButton1ActionPerformed\r
+\r
+    /** Closes the dialog */\r
+    private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog\r
+        setVisible(false);\r
+                                                               dispose();\r
+    }//GEN-LAST:event_closeDialog\r
+\r
+    /**\r
+    * @param args the command line arguments\r
+    */\r
+    public static void main(String args[]) {\r
+                                       new CIDAbout(new javax.swing.JFrame(), true).show();\r
+    }\r
+\r
+\r
+                               // Variables declaration - do not modify//GEN-BEGIN:variables\r
+                               private javax.swing.JLabel jLabel3;\r
+                               private javax.swing.JLabel jLabel1;\r
+                               private javax.swing.JLabel jLabel2;\r
+                               private javax.swing.JTextArea jTextArea1;\r
+                               private javax.swing.JButton jButton1;\r
+                               // End of variables declaration//GEN-END:variables\r
+\r
+}\r
diff --git a/org/tjworld/vista/CID/CIDapplet.form b/org/tjworld/vista/CID/CIDapplet.form
new file mode 100644 (file)
index 0000000..89dc60c
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?>\r
+\r
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JAppletFormInfo">\r
+  <SyntheticProperties>\r
+    <SyntheticProperty name="menuBar" type="java.lang.String" value="(No Menu)"/>\r
+  </SyntheticProperties>\r
+\r
+  <AuxValues>\r
+  </AuxValues>\r
+\r
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">\r
+    <Property name="useNullLayout" type="boolean" value="true"/>\r
+  </Layout>\r
+</Form>\r
diff --git a/org/tjworld/vista/CID/CIDapplet.html b/org/tjworld/vista/CID/CIDapplet.html
new file mode 100644 (file)
index 0000000..93b16e7
--- /dev/null
@@ -0,0 +1,40 @@
+<HTML>\r
+<HEAD>\r
+   <TITLE>Applet HTML Page</TITLE>\r
+</HEAD>\r
+<BODY>\r
+<!-- The following code is specified at the beginning of the <BODY> tag. -->\r
+<SCRIPT LANGUAGE="JavaScript"><!--\r
+    var _info = navigator.userAgent; var _ns = false;\r
+    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0\r
+            && _info.indexOf("Windows 3.1") < 0);\r
+//--></SCRIPT>\r
+<COMMENT><SCRIPT LANGUAGE="JavaScript1.1"><!--\r
+    var _ns = (navigator.appName.indexOf("Netscape") >= 0\r
+           && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0\r
+           && java.lang.System.getProperty("os.version").indexOf("3.5") < 0)\r
+           || _info.indexOf("Sun") > 0));\r
+//--></SCRIPT></COMMENT> \r
+\r
+<H3><HR WIDTH="100%">Applet HTML Page<HR WIDTH="100%"></H3>\r
+\r
+<P>\r
+<SCRIPT LANGUAGE="JavaScript"><!--\r
+    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"  width="95" height="95" align="baseline" codebase="http://java.sun.com/products/plugin/1.4/jinstall-14-win32.cab#Version=1,4,0,mn"><NOEMBED><XMP>');\r
+    else if (_ns == true) document.writeln('<EMBED type="application/x-java-applet;jpi-version=1.4" width="95" height="95" align="baseline" code="org.tjworld.vista.cid.CIDapplet.class" backgroundColour="#F0F0F0" pluginspage="http://java.sun.com/products/plugin/1.4/plugin-install.html"><NOEMBED><XMP>');\r
+//--></SCRIPT>\r
+    <APPLET code="org.tjworld.vista.cid.CIDapplet.class" align="baseline"\r
+        width="95" height="95"></XMP>\r
+    <PARAM NAME="java_code" VALUE="org.tjworld.vista.cid.CIDapplet.class">\r
+    <PARAM NAME="java_type" VALUE="application/x-java-applet;jpi-version=1.4">\r
+    <PARAM NAME="backgroundColour" VALUE="#F0F0F0">\r
+    <PARAM NAME="scriptable" VALUE="true">\r
+        No Java 2 SDK, Standard Edition v 1.4 support for APPLET!!\r
+    </APPLET></NOEMBED></EMBED></OBJECT> \r
+<!-- APPLET codebase="" code="org.tjworld.vista.cid.CIDapplet.class" width=95 height=95>/APPLET -->\r
+\r
+</P>\r
+\r
+<HR WIDTH="100%"><FONT SIZE=-1><I>Generated by NetBeans IDE</I></FONT>\r
+</BODY>\r
+</HTML>\r
diff --git a/org/tjworld/vista/CID/CIDapplet.java b/org/tjworld/vista/CID/CIDapplet.java
new file mode 100644 (file)
index 0000000..8f27dcb
--- /dev/null
@@ -0,0 +1,165 @@
+/*\r
+       * CIDapplet.java\r
+       *\r
+       * Created on 05 October 2001, 15:19\r
+       * $Header: $\r
+       * \r
+       * $History: $\r
+       */\r
+package org.tjworld.vista.cid;\r
+\r
+import java.net.*;\r
+import java.awt.*;\r
+import java.awt.event.MouseListener;\r
+import org.tjworld.components.AnimatedButton;\r
+\r
+/** Provides a web-based entry into the Vista.CID application\r
+       *\r
+       * Presents a small (95x95 pixel) animated blinking eye graphic within a web page\r
+       * that when clicked on brings up the main CID application window (as a frame).\r
+       *\r
+       * When running as an applet (unless it is signed) VisTA.CID is restricted by the\r
+       * browser security policy (commonly known as the 'sandbox') from accessing any local file\r
+       * system resources, or any network resources other than the location it was loaded from.\r
+       *\r
+       * It passed a reference to itself to the <code>CID(java.applet.Applet a)</code> constructor\r
+       * so the CID instance can access applet methods such as <code>getCodeBase()</code>.\r
+       * \r
+       * Because the applet's display area is painted by a single custom component <code>AnimatedButton</code>\r
+       * the applet itself has no display painting to do.\r
+       *\r
+       * @version 1.0 10 Oct 2001\r
+       * @author  TJ\r
+       * @see CID\r
+       */\r
+public class CIDapplet extends javax.swing.JApplet implements Runnable, MouseListener {\r
+       private Thread animation;\r
+       private AnimatedButton logo;\r
+       private int delays[] = {100, 5000, 5000, 5000}; // the animated button frame delays\r
+       private final String logoBaseName = "vista";\r
+       private final String logoExtension = ".gif";\r
+       static private final String logoPathParam = "relativeLogoPath";\r
+       static private final String logoBGcolour = "backgroundColour";\r
+       \r
+       private org.tjworld.vista.cid.CID CIDframe;\r
+       \r
+       /** Creates new form CID */\r
+       public CIDapplet() {\r
+               initComponents();\r
+ }\r
+       \r
+       /** Retrieves (any) applet parameters and sets sensible default values.\r
+               *\r
+               * Parameters:\r
+               * <code>&ltparam name="relativeLogoPath" value="media" /&gt</code> Path relative to DocumentBase to find animation GIF images\r
+               *<code>&ltparam name = "backgroundColour" value="#FF00FF" /&gt</code> Colour to use behind transparent areas of the animation frames (default is white: #FFFFFF)\r
+               */\r
+ public void init() {\r
+               CIDframe = new org.tjworld.vista.cid.CID(this); // create the main window\r
+\r
+               // find and load each image for the animation frame\r
+               String bgColour, relPath, prefix;\r
+               URL imURL;\r
+               Color bg;\r
+               \r
+               try { // request colour from Browser\r
+                       bgColour = getParameter(logoBGcolour);\r
+               } catch(NullPointerException e) { // no applet param...\r
+                       bgColour = "#FFFFFF"; // ... so choose a sensible default\r
+               }\r
+               \r
+               try { // attempt to convert it from a String to a Color\r
+                       bg = Color.decode(bgColour);\r
+               } catch(Exception e) { // decode() can throw a NumberFormatException...\r
+   bg = Color.white; // ... so choose a sensible default if it does\r
+               }\r
+               setBackground(bg); // set applet's background to match HTML page (hopefully!!)\r
+               \r
+               // load the animation frames\r
+               try { // request optional path from Browser\r
+                       relPath = getParameter(logoPathParam);\r
+               } catch(NullPointerException e) { // no applet param...\r
+                       relPath = "media/"; // ... so use the default location\r
+               }\r
+\r
+               try { // attempt to create a valid URL by adding the relPath to the DocumentBase URL\r
+                       imURL = new URL(getDocumentBase(), relPath);\r
+               } catch(Exception e) { // URL constructor can throw a MalformedURLException...\r
+\r
+                       try { // ... so default to {DocumentBase}/media/\r
+                        imURL = new URL(getDocumentBase(), "media/"); // has also to be wrapped in a try-catch clause\r
+                       } catch(Exception f) {\r
+                               imURL = null; // initialized to allow compilation, but will cause runtime error!\r
+                               System.err.println("Exception trying to create default URL");\r
+                       }\r
+               }\r
+\r
+               prefix = logoBaseName; // can use this line to add in an applet-specific additional relative path element\r
+\r
+  logo = new AnimatedButton(bg, imURL, prefix, logoExtension, delays, 4, this);\r
+               logo.setSize(64,64);\r
+               logo.addMouseListener(this);\r
+               \r
+               getContentPane().add(logo); // add it to the display\r
+ }\r
+       \r
+       public void destroy() {\r
+               logo.removeMouseListener(this);\r
+       }\r
+       \r
+       /** This method is called from within the constructor to\r
+               * initialize the form.\r
+               * WARNING: Do NOT modify this code. The content of this method is\r
+               * always regenerated by the Form Editor.\r
+               */\r
+       private void initComponents() {//GEN-BEGIN:initComponents\r
+               \r
+               getContentPane().setLayout(null);\r
+               \r
+       }//GEN-END:initComponents\r
+                               \r
+                               \r
+       // Variables declaration - do not modify//GEN-BEGIN:variables\r
+       // End of variables declaration//GEN-END:variables\r
+\r
+       public void update(Graphics g) {\r
+               paint(g);\r
+       }\r
+       \r
+       public void paint(Graphics g) {\r
+               logo.repaint();\r
+       }\r
+       \r
+ /*\r
+               *\r
+               */\r
+       \r
+       public void start() {\r
+               animation = new Thread(logo);\r
+               animation.start();\r
+       }\r
+\r
+       public synchronized void stop() {\r
+               animation = null;\r
+       }\r
+       \r
+ public void run() {\r
+               while(true) {}\r
+       }\r
+\r
+       public void mousePressed(java.awt.event.MouseEvent mouseEvent) {\r
+       }\r
+       \r
+       public void mouseEntered(java.awt.event.MouseEvent mouseEvent) {\r
+       }\r
+       \r
+       public void mouseReleased(java.awt.event.MouseEvent mouseEvent) {\r
+       }\r
+       \r
+       public void mouseClicked(java.awt.event.MouseEvent mouseEvent) {\r
+               CIDframe.setVisible(CIDframe.isVisible() == true ? false : true);\r
+       }\r
+       \r
+       public void mouseExited(java.awt.event.MouseEvent mouseEvent) {\r
+       }\r
+}
\ No newline at end of file
diff --git a/org/tjworld/vista/CID/JIconButtonDemo.form b/org/tjworld/vista/CID/JIconButtonDemo.form
new file mode 100644 (file)
index 0000000..9b6f1da
--- /dev/null
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <NonVisualComponents>
+    <Component class="javax.swing.ButtonGroup" name="buttonGroup1">
+    </Component>
+    <Component class="javax.swing.ButtonGroup" name="buttonGroup2">
+    </Component>
+    <Component class="javax.swing.ButtonGroup" name="buttonGroup3">
+    </Component>
+  </NonVisualComponents>
+  <SyntheticProperties>
+  </SyntheticProperties>
+
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
+    <Property name="rows" type="int" value="3"/>
+    <Property name="columns" type="int" value="1"/>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="Standard"/>
+          </Border>
+        </Property>
+      </Properties>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
+        <Property name="rows" type="int" value="1"/>
+        <Property name="columns" type="int" value="3"/>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JToggleButton" name="jToggleButton1">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="JToggleButton"/>
+            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+              <ComponentRef name="buttonGroup1"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JRadioButton" name="jRadioButton1">
+          <Properties>
+            <Property name="selected" type="boolean" value="true"/>
+            <Property name="text" type="java.lang.String" value="JRadioButton"/>
+            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+              <ComponentRef name="buttonGroup1"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JCheckBox" name="jCheckBox1">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="JCheckBox"/>
+            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+              <ComponentRef name="buttonGroup1"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JPanel" name="jPanel2">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="Standard + Icon"/>
+          </Border>
+        </Property>
+      </Properties>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
+        <Property name="rows" type="int" value="1"/>
+        <Property name="columns" type="int" value="3"/>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JToggleButton" name="jToggleButton2">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/vista/cid/media/2up.gif"/>
+            </Property>
+            <Property name="text" type="java.lang.String" value="JToggleButton"/>
+            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+              <ComponentRef name="buttonGroup2"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JRadioButton" name="jRadioButton2">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="JRadioButton"/>
+            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+              <ComponentRef name="buttonGroup2"/>
+            </Property>
+            <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/vista/cid/media/2up.gif"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JCheckBox" name="jCheckBox2">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="JCheckBox"/>
+            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+              <ComponentRef name="buttonGroup2"/>
+            </Property>
+            <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/vista/cid/media/2up.gif"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JPanel" name="jPanel3">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="JIcon"/>
+          </Border>
+        </Property>
+      </Properties>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
+        <Property name="rows" type="int" value="1"/>
+        <Property name="columns" type="int" value="3"/>
+      </Layout>
+      <SubComponents>
+        <Component class="org.tjworld.components.JIconToggleButton" name="jIconToggleButton1">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/vista/cid/media/alert.gif"/>
+            </Property>
+            <Property name="text" type="java.lang.String" value="JIconToggleButton"/>
+            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+              <ComponentRef name="buttonGroup3"/>
+            </Property>
+            <Property name="selectedStateIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/vista/cid/media/1up.gif"/>
+            </Property>
+            <Property name="unselectedStateIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/vista/cid/media/2up.gif"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="org.tjworld.components.JIconRadioButton" name="jIconRadioButton1">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/vista/cid/media/1up.gif"/>
+            </Property>
+            <Property name="text" type="java.lang.String" value="JIconRadioButton"/>
+            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+              <ComponentRef name="buttonGroup3"/>
+            </Property>
+            <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/vista/cid/media/2up.gif"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="org.tjworld.components.JIconCheckBox" name="jIconCheckBox1">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/vista/cid/media/afghanistan.gif"/>
+            </Property>
+            <Property name="text" type="java.lang.String" value="JIconCheckBox"/>
+            <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
+              <ComponentRef name="buttonGroup3"/>
+            </Property>
+            <Property name="selectedIcon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+              <Image iconType="3" name="/org/tjworld/vista/cid/media/sweden.gif"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/org/tjworld/vista/CID/JIconButtonDemo.java b/org/tjworld/vista/CID/JIconButtonDemo.java
new file mode 100644 (file)
index 0000000..0a48c19
--- /dev/null
@@ -0,0 +1,163 @@
+/*\r
+       * JIconButtonDemo.java\r
+ *\r
+       * Created on 24 October 2001, 23:25\r
+       * $Header: /VisTA/CID/JIconButtonDemo.java 1     7/11/01 18:26 Tj $\r
+       * \r
+       * $History: JIconButtonDemo.java $\r
+ * \r
+ * *****************  Version 1  *****************\r
+ * User: Tj           Date: 7/11/01    Time: 18:26\r
+ * Created in $/VisTA/CID\r
+ * JIconXXXButton Demo\r
+ * \r
+ * *****************  Version 6  *****************\r
+ * User: Tj           Date: 2/11/01    Time: 2:23\r
+ * Updated in $/VisTA/CID\r
+ * Added JIconRadioButton and JIconCheckBox, testing, seems OK.\r
+ * \r
+ * *****************  Version 5  *****************\r
+ * User: Tj           Date: 1/11/01    Time: 22:53\r
+ * Updated in $/VisTA/CID\r
+ * Testing JIconRadioButton\r
+ * \r
+ * *****************  Version 4  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 18:02\r
+ * Updated in $/VisTA/CID\r
+ * Going swimming\r
+ * \r
+ * *****************  Version 3  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 5:12\r
+ * Updated in $/VisTA/CID\r
+ * Added VSS header\r
+ */\r
+\r
+package org.tjworld.vista.cid;\r
+/**\r
+ *\r
+       * @author  TJ\r
+ */\r
+public class JIconButtonDemo extends javax.swing.JPanel {\r
+\r
+       /** Creates new form JIconButtonDemo */\r
+    public JIconButtonDemo() {\r
+        initComponents();\r
+    }\r
+\r
+    /** This method is called from within the constructor to\r
+     * initialize the form.\r
+     * WARNING: Do NOT modify this code. The content of this method is\r
+     * always regenerated by the Form Editor.\r
+     */\r
+                               private void initComponents() {//GEN-BEGIN:initComponents\r
+                                       buttonGroup1 = new javax.swing.ButtonGroup();\r
+                                       buttonGroup2 = new javax.swing.ButtonGroup();\r
+                                       buttonGroup3 = new javax.swing.ButtonGroup();\r
+                                       jPanel1 = new javax.swing.JPanel();\r
+                                       jToggleButton1 = new javax.swing.JToggleButton();\r
+                                       jRadioButton1 = new javax.swing.JRadioButton();\r
+                                       jCheckBox1 = new javax.swing.JCheckBox();\r
+                                       jPanel2 = new javax.swing.JPanel();\r
+                                       jToggleButton2 = new javax.swing.JToggleButton();\r
+                                       jRadioButton2 = new javax.swing.JRadioButton();\r
+                                       jCheckBox2 = new javax.swing.JCheckBox();\r
+                                       jPanel3 = new javax.swing.JPanel();\r
+                                       jIconToggleButton1 = new org.tjworld.components.JIconToggleButton();\r
+                                       jIconRadioButton1 = new org.tjworld.components.JIconRadioButton();\r
+                                       jIconCheckBox1 = new org.tjworld.components.JIconCheckBox();\r
+                                       \r
+                                       \r
+                                       setLayout(new java.awt.GridLayout(3, 1));\r
+                                       \r
+                                       jPanel1.setLayout(new java.awt.GridLayout(1, 3));\r
+                                       \r
+                                       jPanel1.setBorder(new javax.swing.border.TitledBorder("Standard"));\r
+                                       jToggleButton1.setText("JToggleButton");\r
+                                       buttonGroup1.add(jToggleButton1);\r
+                                       jPanel1.add(jToggleButton1);\r
+                                       \r
+                                       jRadioButton1.setSelected(true);\r
+                                       jRadioButton1.setText("JRadioButton");\r
+                                       buttonGroup1.add(jRadioButton1);\r
+                                       jPanel1.add(jRadioButton1);\r
+                                       \r
+                                       jCheckBox1.setText("JCheckBox");\r
+                                       buttonGroup1.add(jCheckBox1);\r
+                                       jPanel1.add(jCheckBox1);\r
+                                       \r
+                                       add(jPanel1);\r
+                                       \r
+                                       jPanel2.setLayout(new java.awt.GridLayout(1, 3));\r
+                                       \r
+                                       jPanel2.setBorder(new javax.swing.border.TitledBorder("Standard + Icon"));\r
+                                       jToggleButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/2up.gif")));\r
+                                       jToggleButton2.setText("JToggleButton");\r
+                                       buttonGroup2.add(jToggleButton2);\r
+                                       jPanel2.add(jToggleButton2);\r
+                                       \r
+                                       jRadioButton2.setText("JRadioButton");\r
+                                       buttonGroup2.add(jRadioButton2);\r
+                                       jRadioButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/2up.gif")));\r
+                                       jPanel2.add(jRadioButton2);\r
+                                       \r
+                                       jCheckBox2.setText("JCheckBox");\r
+                                       buttonGroup2.add(jCheckBox2);\r
+                                       jCheckBox2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/2up.gif")));\r
+                                       jPanel2.add(jCheckBox2);\r
+                                       \r
+                                       add(jPanel2);\r
+                                       \r
+                                       jPanel3.setLayout(new java.awt.GridLayout(1, 3));\r
+                                       \r
+                                       jPanel3.setBorder(new javax.swing.border.TitledBorder("JIcon"));\r
+                                       jIconToggleButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/alert.gif")));\r
+                                       jIconToggleButton1.setText("JIconToggleButton");\r
+                                       buttonGroup3.add(jIconToggleButton1);\r
+                                       jIconToggleButton1.setSelectedStateIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/1up.gif")));\r
+                                       jIconToggleButton1.setUnselectedStateIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/2up.gif")));\r
+                                       jPanel3.add(jIconToggleButton1);\r
+                                       \r
+                                       jIconRadioButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/1up.gif")));\r
+                                       jIconRadioButton1.setText("JIconRadioButton");\r
+                                       buttonGroup3.add(jIconRadioButton1);\r
+                                       jIconRadioButton1.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/2up.gif")));\r
+                                       jPanel3.add(jIconRadioButton1);\r
+                                       \r
+                                       jIconCheckBox1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/afghanistan.gif")));\r
+                                       jIconCheckBox1.setText("JIconCheckBox");\r
+                                       buttonGroup3.add(jIconCheckBox1);\r
+                                       jIconCheckBox1.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/sweden.gif")));\r
+                                       jPanel3.add(jIconCheckBox1);\r
+                                       \r
+                                       add(jPanel3);\r
+                                       \r
+                               }//GEN-END:initComponents\r
+\r
+\r
+                               // Variables declaration - do not modify//GEN-BEGIN:variables\r
+                               private javax.swing.ButtonGroup buttonGroup1;\r
+                               private javax.swing.ButtonGroup buttonGroup2;\r
+                               private javax.swing.ButtonGroup buttonGroup3;\r
+                               private javax.swing.JPanel jPanel1;\r
+                               private javax.swing.JToggleButton jToggleButton1;\r
+                               private javax.swing.JRadioButton jRadioButton1;\r
+                               private javax.swing.JCheckBox jCheckBox1;\r
+                               private javax.swing.JPanel jPanel2;\r
+                               private javax.swing.JToggleButton jToggleButton2;\r
+                               private javax.swing.JRadioButton jRadioButton2;\r
+                               private javax.swing.JCheckBox jCheckBox2;\r
+                               private javax.swing.JPanel jPanel3;\r
+                               private org.tjworld.components.JIconToggleButton jIconToggleButton1;\r
+                               private org.tjworld.components.JIconRadioButton jIconRadioButton1;\r
+                               private org.tjworld.components.JIconCheckBox jIconCheckBox1;\r
+                               // End of variables declaration//GEN-END:variables\r
+\r
+ public static void main(String args[]) {\r
+               javax.swing.JFrame f = new javax.swing.JFrame();\r
+               f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);\r
+               JIconButtonDemo ts = new JIconButtonDemo(); // create and show the application - everything happens in the Event Dispatching thread\r
+               f.getContentPane().add(ts);\r
+               f.pack();\r
+               f.setVisible(true);\r
+ }\r
+}\r
diff --git a/org/tjworld/vista/CID/VistaFilter.java b/org/tjworld/vista/CID/VistaFilter.java
new file mode 100644 (file)
index 0000000..b9ab624
--- /dev/null
@@ -0,0 +1,84 @@
+/*\r
+       * VistaFilter.java\r
+ *\r
+       * Created on 09 October 2001, 05:06\r
+       * $Header: /VisTA/CID/VistaFilter.java 2     31/10/01 5:12 Tj $\r
+       * \r
+       * $History: VistaFilter.java $\r
+ * \r
+ * *****************  Version 2  *****************\r
+ * User: Tj           Date: 31/10/01   Time: 5:12\r
+ * Updated in $/VisTA/CID\r
+ * Added VSS header\r
+ */\r
+package org.tjworld.vista.cid;\r
+\r
+import javax.swing.*;\r
+import javax.swing.event.MouseInputAdapter;\r
+import java.awt.*;\r
+import java.awt.event.*;\r
+\r
+/**\r
+ * Transparent filter that can be attached to a container. Usually placed closest\r
+       * to the User so that other visual components appear behind it.\r
+       * \r
+       * @author  TJ\r
+ * @version 1.1 20 Oct 2001\r
+ */\r
+public class VistaFilter extends javax.swing.JComponent {\r
+       protected AlphaComposite ac;\r
+ protected boolean ignoreEvents = false;\r
+\r
+       /** Creates new VistaFilter */\r
+ public VistaFilter() {\r
+               this(0.5f);  // default; alpha channel with 50% transparency\r
+ }\r
+                               \r
+ /** Create a Vista Filter with transparency \r
+               *\r
+               * @param alpha Transparency value; 0.0 == transparent, 1.0 == opaque\r
+               */\r
+       public VistaFilter(float alpha) {\r
+  // create an Alpha Channel\r
+               ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);\r
+  ignoreEvents = true; // be 'invisible' to mouse-related events\r
+ }\r
+\r
+ /** Pretend not to be covering any points\r
+  * Allow Events to 'go through' filter to menus and other components without \r
+  * complicated Event redispatching code by over-riding method\r
+  *\r
+  * @param x The x co-ordinate\r
+  * @param y The y co-ordinate\r
+  * @see javax.swing.JComponent#contains\r
+  */\r
+ public boolean contains(int x, int y) {\r
+  return !ignoreEvents; \r
+ }\r
+       /** Change the degree of transparency \r
+               * @param alpha 0.0 to 1.0; full transparency to opaque\r
+               */\r
+ public void setAlpha(float alpha) {\r
+               ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);\r
+               repaint();\r
+       }\r
+\r
+       /** Get the transparency setting\r
+               * @return 0.0 to 1.0; full transparency to opaque\r
+               **/\r
+ public float getAlpha() {\r
+               return ac.getAlpha();\r
+       }\r
+       \r
+       /** Paint the filter using the alpha-channel transparency and background colour \r
+               *\r
+               * @param g Graphics object\r
+               */\r
+ public void paint(Graphics g) {\r
+               Graphics2D g2 = (Graphics2D) g; // convert to a 2D context\r
+               g2.setComposite(ac);  // set the transparency\r
+               java.awt.Dimension dim = getSize(); // get the size\r
+               g2.setColor(getBackground()); // use the background colour\r
+                       g2.fillRect(0,0,dim.width, dim.height); // paint the entire component\r
+               }       \r
+}
\ No newline at end of file
diff --git a/org/tjworld/vista/CID/default.html b/org/tjworld/vista/CID/default.html
new file mode 100644 (file)
index 0000000..64d3914
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-transitional.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" />\r
+ <head>\r
+  <title>VisTA CID</title>\r
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />\r
+  <link rel="stylesheet" title="Styles" href="../vista.css" type="text/css" />\r
+  <link rel="SHORTCUT ICON" href="favicon.ico" />\r
+  <meta name="robots" content="noindex, noimageindex, noimageclick" />\r
+  <meta name="Author" content="TJ" />\r
+  <meta name="Copyright" content="&copy; 2001 TJ. All rights reserved." />  \r
+  <meta name="keywords" content="Vista, CID, Visual, Stress, Meares, Irlin, Meares-Irlin, TJ, Wilkins" />  \r
+  <meta name="description" content="" />\r
+  <!-- <base target="fContent" /> -->\r
+ </head>\r
+ <body style="z-index: 1" id="iBody">\r
+  <div id="vista" style="position: absolute; left: 0px; top: 0px; height: 100%; width: 100%; z-index: 9999; background: url('file:///D:/My Projects/Visual Perception Modelling/Vista/CID/media/vista.png') repeat;"></div>\r
+  <table border="0" cellpadding="4" cellspacing="0" width="100%">\r
+   <tbody>\r
+    <tr>\r
+     <td class="alRight">\r
+      <h1>\r
+       <img src="../vista.gif" width="95" height="95" border="0" align="absmiddle" title="VisTA" alt="" />VisTA.CID<br />\r
+       <span class="acronym">Vis</span>ual <span class="acronym">T</span>rauma <span class="acronym">A</span>nalysis<br />\r
+       <span class="acronym">C</span>olour <span class="acronym">I</span>mbalance <span class="acronym">D</span>iscovery<br />       \r
+      </h1>\r
+     </td>\r
+    </tr>\r
+    <tr>\r
+     <td valign="top">\r
+     </td>\r
+    </tr>\r
+   </tbody>\r
+  </table>\r
+ </body>\r
+</html>\r
diff --git a/org/tjworld/vista/CID/splash.form b/org/tjworld/vista/CID/splash.form
new file mode 100644 (file)
index 0000000..5c5e5ac
--- /dev/null
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+  <Properties>
+    <Property name="defaultCloseOperation" type="int" value="3"/>
+    <Property name="title" type="java.lang.String" value="VisTA.CID"/>
+    <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+      <Color blue="ff" green="ff" id="white" palette="0" red="ff" type="palette"/>
+    </Property>
+    <Property name="name" type="java.lang.String" value="splash"/>
+    <Property name="resizable" type="boolean" value="false"/>
+  </Properties>
+  <SyntheticProperties>
+    <SyntheticProperty name="menuBar" type="java.lang.String" value="(No Menu)"/>
+    <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-56,0,0,1,44"/>
+    <SyntheticProperty name="formPosition" type="java.awt.Point" value="-84,-19,0,5,115,114,0,14,106,97,118,97,46,97,119,116,46,80,111,105,110,116,-74,-60,-118,114,52,126,-56,38,2,0,2,73,0,1,120,73,0,1,121,120,112,0,0,0,0,0,0,0,0"/>
+    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+    <SyntheticProperty name="generatePosition" type="boolean" value="true"/>
+    <SyntheticProperty name="generateSize" type="boolean" value="true"/>
+    <SyntheticProperty name="generateCenter" type="boolean" value="true"/>
+  </SyntheticProperties>
+
+  <Events>
+    <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="exitForm"/>
+  </Events>
+
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+  <SubComponents>
+    <Component class="javax.swing.JLabel" name="message">
+      <Properties>
+        <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+          <Color blue="0" green="0" id="red" palette="0" red="ff" type="palette"/>
+        </Property>
+        <Property name="icon" type="javax.swing.Icon" editor="org.openide.explorer.propertysheet.editors.IconEditor">
+          <Image iconType="3" name="/org/tjworld/vista/cid/media/vistaAnimation.gif"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/tjworld/vista/cid/CIDresources.properties" key="tLoading" replaceFormat="cIDresources.getString(&quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="Center"/>
+        </Constraint>
+      </Constraints>
+    </Component>
+    <Component class="javax.swing.JProgressBar" name="progress">
+      <Properties>
+        <Property name="borderPainted" type="boolean" value="false"/>
+        <Property name="indeterminate" type="boolean" value="true"/>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="South"/>
+        </Constraint>
+      </Constraints>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/org/tjworld/vista/CID/splash.java b/org/tjworld/vista/CID/splash.java
new file mode 100644 (file)
index 0000000..e745e93
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+       * splash.java
+ *
+       * Created on 08 November 2001, 18:23
+       * $header: $
+       *
+       * $history: $
+ */
+
+package org.tjworld.vista.cid;
+
+import java.awt.Dimension;
+import java.awt.Point;
+import java.awt.Color;
+import java.awt.Toolkit;
+import javax.swing.UIManager;
+/**
+ *
+       * @author  TJ
+ */
+public class splash extends javax.swing.JFrame {
+       /** Locale-specific data container */
+       private java.util.ResourceBundle cIDresources;
+
+ public splash() {
+        this(null, null);
+       }
+       
+       /** Creates new form splash */
+ public splash(javax.swing.JFrame owner, java.util.ResourceBundle res) {
+               if(UIManager.getLookAndFeel().getSupportsWindowDecorations())
+        setUndecorated(true);
+               if(res == null)
+                cIDresources = java.util.ResourceBundle.getBundle("org.tjworld.vista.cid.CIDresources", java.util.Locale.getDefault());
+               else
+                       cIDresources = res;
+
+  initComponents();
+               Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+               Dimension childSize = getSize();
+               setLocation(new Point(screenSize.width/2 - childSize.width/2, screenSize.height/2 - childSize.height/2));
+               getContentPane().setBackground(Color.white);
+ }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+       private void initComponents() {//GEN-BEGIN:initComponents
+               message = new javax.swing.JLabel();
+               progress = new javax.swing.JProgressBar();
+               
+               setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+               setTitle("VisTA.CID");
+               setBackground(java.awt.Color.white);
+               setName("splash");
+               setResizable(false);
+               addWindowListener(new java.awt.event.WindowAdapter() {
+                       public void windowClosing(java.awt.event.WindowEvent evt) {
+                               exitForm(evt);
+                       }
+               });
+               
+               message.setForeground(java.awt.Color.red);
+               message.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/vistaAnimation.gif")));
+               message.setText(cIDresources.getString("tLoading"));
+               getContentPane().add(message, java.awt.BorderLayout.CENTER);
+               
+               progress.setBorderPainted(false);
+               progress.setIndeterminate(true);
+               progress.setOpaque(false);
+               getContentPane().add(progress, java.awt.BorderLayout.SOUTH);
+               
+               pack();
+       }//GEN-END:initComponents
+
+ /** Exit the Application */
+    private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
+     System.exit(0);
+    }//GEN-LAST:event_exitForm
+
+ /**
+  * @param args the command line arguments
+  */
+ public static void main(String args[]) {
+               new splash().show();
+ }
+
+       // Variables declaration - do not modify//GEN-BEGIN:variables
+       private javax.swing.JLabel message;
+       private javax.swing.JProgressBar progress;
+       // End of variables declaration//GEN-END:variables
+}
\ No newline at end of file
diff --git a/org/tjworld/vista/cid/CIDresources.properties b/org/tjworld/vista/cid/CIDresources.properties
new file mode 100644 (file)
index 0000000..572aa23
--- /dev/null
@@ -0,0 +1,235 @@
+ActNewTip=Begin a new VisTA.Web Personal Profile
+ActNewName=New
+ActSaveTip=Store current profile
+ActOptDirConTip=Connect to Director
+ActSendToVistaTip=Direct to the VisTA.db server via Internet
+ActSendToVistaName=Send to VisTA Database...
+ActPropsTip=Personal profile characteristics
+ActPropsName=Properties
+ActPrintTip=Send to the default printer
+ActPrintName=Print...
+ActPageSetTip=Configure the printer layout
+ActPageSetName=Page Setup...
+ActToVistaPageTip=Update current web page
+ActToVistaPageName=To this VisTA.Web page
+ActCreFltTip=Image with alpha channel for VisTA.Web overlays
+ActCreFltName=Create Filter PNG...
+ActFrCookTip=Associated with this web site only
+ActFrCookName=From Cookie
+ActToCookTip=Associate with this web site only
+ActToCookName=To Cookie
+ActOptScriptTip=Playback of a recorded script
+ActOptScriptName=Script
+ActOptVistaDBTip=Configure VisTA.Web services
+ActSaveAsTip=Save to a different file
+ActSaveAsName=Save As
+ActOptLangDefTip=Author's original language
+ActHelpSrcTip=Find specific information
+ActHelpSrcName=Search...
+ActHelpIdxTip=Complete list
+ActHelpIdxName=Index
+ActHelpConTip=Help topics
+ActHelpConName=Contents
+ActHelpTip=Support & additional information
+ActHelpName=Help
+ActProPropsTip=Current profile information
+ActProPropsName=Properties
+ActDirectTip=Remotely directed
+ActDirectName=Directed
+ActAutoTip=CID-directed discovery
+ActAutoName=Automatic
+ActManualTip=User-directed discovery
+ActManualName=Manual
+ActSysColTip=Use system colour chooser
+ActSysColName=System Chooser
+ActQubeTip=Point & drag
+ActQubeName=Qube
+ActTriTip=Point & click
+ActTriName=Triangle
+ActWheelTip=Point & click
+ActWheelName=Wheel
+ActCYMKTip=Cyan Yellow Magenta blacK
+ActCYMKName=CYMK
+ActHSBTip=Hue Saturation Brightness
+ActHSBName=HSB
+ActRGBTip=Red Green Blue
+ActRGBName=RGB
+ActPatTip=Disruptive pattern template
+ActPatName=Patterns
+ActReadTip=Textual disruption template
+ActReadName=Reading
+ActSepEyesTip=Individual left & right eye testing
+ActSepEyesName=Separate Eyes
+ActBothEyesTip=Combined left & right eye testing
+ActBothEyesName=Both Eyes
+ActAltTip=Alternates quickly between 2 templates
+ActAltName=Alternate
+ActLangPortugueseName=Portuguese
+ActLangChineseTip=China
+ActLangChineseName=Chinese
+ActLangUrduTip=Pakistan
+ActLangUrduName=Urdu
+ActLangSwedishTip=Sweden
+ActLangSwedishName=Swedish
+ActLangRussianTip=Russia
+ActLangRussianName=Russian
+ActLangPortugueseTip=Portugal
+ActLangPashtoTip=Afghanistan
+ActLangPashtoName=Pashto (Afghanistan)
+ActLangDutchTip=Netherlands
+ActLangDutchName=Dutch
+ActLangJapaneseTip=Japan
+ActLangJapaneseName=Japanese
+ActLangIndonesianTip=Indonesia
+ActLangIndonesianName=Indonesian
+ActLangHiINTip=Indian Hindi
+ActLangHiINName=Hindi (India)
+ActLangFaIRTip=Iranian Farsi (Persian)
+ActLangFaIRName=Farsi (Iran)
+ActLangArEGTip=Egyptian Arabic
+ActLangArEGName=Arabic (Egypt)
+mTbarTbarName=Toolbar
+mOptScrPrefsName=Preferences...
+mOptScrChosName=Choose...
+mOptDirPrefsName=Preferences...
+mOptSwatPrefsName=Preferences...
+mOptSwatChosName=Choose...
+mOptPatPrefsName=Preferences...
+mOptPatChosName=Choose...
+mOptReadPrefsName=Preferences...
+mOptReadChosName=Choose...
+mTbarTbarTip=Show or hide the tool bar
+tToolBarTip=Drag with handle to relocate; click with 2nd or 3rd mouse button to customize
+mOptSwatPrefsTip=Swatch preferences
+mOptSwatCustTip=Configure swatch sets
+mOptSwatChosTip=Select current swatch set
+mOptSwatTip=Choose from a limited range of spot colours
+mOptSwatName=Swatches
+mOptLFTip=Select preferred Look and Feel environment
+mOptLFName=Look & Feel
+mConnectName=Connection
+mColourViewName=Colour View
+mColourModelName=Colour Model
+mEyesName=Eyes
+mOptTbarTip=Choose which tools are shown on toolbar
+mOptTbarName=Toolbar
+ActRecTip=Record a script
+ActRecName=Record
+ActDelTip=Delete a profile
+ActDelName=Delete...
+ActFltScrTip=Filter the entire screen
+ActFltScrName=Screen
+ActFltWinTip=Filter the entire CID window
+ActFltWinName=Window
+ActFltTmplTip=Filter the template document only
+ActFltTmplName=Template
+mOptFltTip=Choose elements to view through filter
+mOptFltName=Filter
+tTintTip=Adjust transparency of Filter
+ActSwatchTip=Choose from a controlled range of colours
+ActSwatchName=Swatches
+mColourName=Colour
+mDirName=Director
+ActLangGerTip=European German
+ActLangGerName=German
+tVistaAppTitle=VisTA.CID Colour Imbalance Discovery
+tTintTitle=Tint %
+tTemplCntrlTitle=Template Controls
+msgStatRdy=Ready
+msgVistaBuild=VisTA.CID built 21 October, 2001
+tTemplMod=Template presentation model
+tEyeMod=Eye model
+tTemplTitle=Template
+tColMod=Colour Model
+tColView=Colour View
+tDirector=Director
+mHelpAbtTip=Licence & author information
+mHelpAbtName=About
+mHelpExpTip=Help as-you-go
+mHelpExpName=Explain
+mHelpIdxTip=Complete list
+mHelpIdxName=Index
+mHelpName=Help
+mOptLangTip=Choose a language
+mOptLangName=Language
+mOptDynTip=Alters filter colour dynamically in VisTA.Web enabled pages
+mOptVistaDBTip=Configure VisTA.Web services
+mOptVistaDBName=VisTA.DB...
+mOptDirPrefsTip=Connection settings
+mOptDirTip=Remote control preferences
+mOptDirName=Directed
+mOptDynName=Dynamic VisTA.Web page
+mOptScrPrefsTip=Scripting preferences
+mOptScrChosTip=Select the script to play
+mOptScrTip=Scripting preferences
+mOptScrName=Scripting
+mOptPatPrefsTip=Pattern Preferences
+mOptPatCustTip=Configure templates
+mOptPatChosTip=Select current pattern
+mOptPatTip=Template preferences
+mOptPatName=Patterns
+mOptReadPrefsTip=Reading Preferences
+mOptPrefsName=Preferences...
+mOptTemplCustTip=Configure templates
+mOptTemplCustName=Customize...
+mOptReadChosTip=Select current text
+mOptChosName=Choose...
+mOptReadTip=Template preferences
+mOptReadName=Reading
+mOptName=Options
+mTemplName=Template
+mModName=Model
+mProName=Profile
+ActLangSpanTip=European Spanish
+ActLangSpanName=Spanish
+ActLangFrTip=European French
+ActLangFrName=French
+ActLangBritTip=UK English
+ActLangBritName=British
+ActLangDefTip=System defined language
+ActLangDefName=Default
+ActDynVistaTip=Alters filter colour dynamically in VisTA.Web enabled pages
+ActDynVistaName=Dynamic VisTA.Web
+ActStopTip=Stop playback of script
+ActStopName=Stop
+ActPlayTip=Playback script
+ActPlayName=Play
+ActDiscTip=End remote session
+ActDiscName=Disconnect
+ActPauseTip=Suspend direction temporarily
+ActPauseName=Pause
+ActConnectTip=Connect to Director
+ActConnectName=Connect
+ActScriptTip=Playback of a recorded script
+ActScriptName=Script
+Act2UpTip=Comparitive discovery
+Act2UpName=2-Up
+Act1UpTip=Progressive discovery
+Act1UpName=1-Up
+ActProTip=Load & save personal profile
+ActProName=Profile
+ActHelpAbtTip=Licence & author information
+ActHelpAbtName=About
+ActHelpExpTip=Help as-you-go
+ActHelpExpName=Explain
+ActHelpWebTip=On the Web...
+ActHelpWebName=On the Web...
+ActOptLangDefName=Default
+ActOptDirPrefsTip=Connection settings
+ActOptPrefsName=Preferences...
+ActOptDirDisTip=End session
+ActOptDirDisName=Disconnect
+ActOptDirPauTip=Suspend direction temporarily
+ActOptDirSusName=Suspend direction temporarily
+ActOptDirPauName=Pause
+ActOptDirConName=Connect
+ActOptDirName=Directed
+ActOptDirTip=Remote control preferences
+ActOptVistaDBName=VisTA.DB...
+ActOptDynTip=Alters filter colour dynamically in VisTA.Web enabled pages
+ActOptDynName=Dynamic VisTA.Web
+ActOptLangTip=Choose a language
+ActOptLangName=Language
+ActSaveName=Save
+ActOpenTip=Fetch an existing profile
+ActOpenName=Load...
diff --git a/org/tjworld/vista/cid/CIDresources_ar.properties b/org/tjworld/vista/cid/CIDresources_ar.properties
new file mode 100644 (file)
index 0000000..bdbca85
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=arPreferences...\r
+mOptLFTip=arSelect preferred Look and Feel environment\r
+tColMod=arColour Model\r
+ActDiscTip=arEnd remote session\r
+ActCreFltTip=arImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=arPlay\r
+ActSwatchTip=arChoose from a controlled range of colours\r
+ActRecName=arRecord\r
+mConnectName=arConnection\r
+mOptSwatName=arSwatches\r
+mOptPatName=arPatterns\r
+ActToCookTip=arAssociate with this web site only\r
+ActConnectTip=arConnect to Director\r
+ActQubeTip=arPoint & drag\r
+Act2UpTip=arComparitive discovery\r
+ActHelpConName=arContents\r
+ActPauseTip=arSuspend direction temporarily\r
+mOptSwatChosTip=arSelect current swatch set\r
+mOptPatChosTip=arSelect current pattern\r
+msgStatRdy=arReady\r
+mOptDirName=arDirected\r
+ActPauseName=arPause\r
+ActSaveAsName=arSave As\r
+ActHelpAbtName=arAbout\r
+ActHelpSrcTip=arFind specific information\r
+ActProTip=arLoad & save personal profile\r
+mOptReadTip=arTemplate preferences\r
+mOptDynName=arDynamic VisTA.Web page\r
+ActOptDirDisTip=arEnd session\r
+tTemplTitle=arTemplate\r
+ActOptLangTip=arChoose a language\r
+ActHelpWebName=arOn the Web...\r
+mOptScrPrefsTip=arScripting preferences\r
+ActSendToVistaTip=arDirect to the VisTA.db server via Internet\r
+ActRGBTip=arRed Green Blue\r
+ActToCookName=arTo Cookie\r
+ActDirectTip=arRemotely directed\r
+ActOpenTip=arFetch an existing profile\r
+ActLangFrName=arFrench\r
+mOptDirPrefsTip=arConnection settings\r
+mOptPatChosName=arChoose...\r
+mOptSwatChosName=arChoose...\r
+ActOptDirTip=arRemote control preferences\r
+mHelpIdxTip=arComplete list\r
+tTintTitle=arTint %\r
+ActPrintName=arPrint...\r
+ActSendToVistaName=arSend to VisTA Database...\r
+ActProPropsName=arProperties\r
+mModName=arModel\r
+ActLangBritTip=arUK English\r
+mOptReadPrefsName=arPreferences...\r
+mOptVistaDBTip=arConfigure VisTA.Web services\r
+ActPlayTip=arPlayback script\r
+ActHelpExpName=arExplain\r
+mOptDirPrefsName=arPreferences...\r
+mOptDirTip=arRemote control preferences\r
+ActHelpExpTip=arHelp as-you-go\r
+mOptTbarName=arToolbar\r
+ActNewTip=arBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=arUpdate current web page\r
+ActAutoName=arAutomatic\r
+ActFltWinTip=arFilter the entire CID window\r
+ActPageSetTip=arConfigure the printer layout\r
+mOptChosName=arChoose...\r
+ActDiscName=arDisconnect\r
+ActDynVistaName=arDynamic VisTA.Web\r
+mOptTemplCustName=arCustomize...\r
+mOptSwatCustTip=arConfigure swatch sets\r
+mOptPatCustTip=arConfigure templates\r
+ActPropsName=arProperties\r
+ActBothEyesTip=arCombined left & right eye testing\r
+ActLangBritName=arBritish\r
+ActAltTip=arAlternates quickly between 2 templates\r
+ActConnectName=arConnect\r
+msgVistaBuild=arVisTA.CID built 21 October, 2001\r
+ActPrintTip=arSend to the default printer\r
+mOptLangName=arLanguage\r
+mColourModelName=arColour Model\r
+ActSaveName=arSave\r
+ActCYMKName=arCYMK\r
+ActRGBName=arRGB\r
+ActDirectName=arDirected\r
+ActOptLangDefTip=arAuthor's original language\r
+ActQubeName=arQube\r
+ActManualTip=arUser-directed discovery\r
+ActOptDirConName=arConnect\r
+mOptPatPrefsName=arPreferences...\r
+mOptSwatPrefsName=arPreferences...\r
+ActPropsTip=arPersonal profile characteristics\r
+ActFltTmplName=arTemplate\r
+ActOptDirName=arDirected\r
+mHelpAbtTip=arLicence & author information\r
+ActFltScrName=arScreen\r
+mOptReadChosName=arChoose...\r
+ActHSBName=arHSB\r
+ActLangFrTip=arEuropean French\r
+ActSaveTip=arStore current profile\r
+ActPatTip=arDisruptive pattern template\r
+ActOpenName=arLoad...\r
+ActProName=arProfile\r
+ActOptDynName=arDynamic VisTA.Web\r
+ActTriTip=arPoint & click\r
+ActHelpName=arHelp\r
+ActPatName=arPatterns\r
+ActNewName=arNew\r
+mOptScrChosTip=arSelect the script to play\r
+ActLangDefTip=arSystem defined language\r
+ActCreFltName=arCreate Filter PNG...\r
+ActFrCookTip=arAssociated with this web site only\r
+ActOptDirSusName=arSuspend direction temporarily\r
+ActFltTmplTip=arFilter the template document only\r
+mOptReadName=arReading\r
+ActStopTip=arStop playback of script\r
+Act2UpName=ar2-Up\r
+ActOptDirPauTip=arSuspend direction temporarily\r
+ActLangGerName=arGerman\r
+ActToVistaPageName=arTo this VisTA.Web page\r
+ActSysColTip=arUse system colour chooser\r
+mTemplName=arTemplate\r
+ActOptVistaDBName=arVisTA.DB...\r
+tToolBarTip=arDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=arTextual disruption template\r
+ActWheelTip=arPoint & click\r
+ActHelpIdxTip=arComplete list\r
+ActLangSpanTip=arEuropean Spanish\r
+ActFltWinName=arWindow\r
+ActHelpTip=arSupport & additional information\r
+ActLangGerTip=arEuropean German\r
+mColourName=arColour\r
+Act1UpTip=arProgressive discovery\r
+ActStopName=arStop\r
+mHelpIdxName=arIndex\r
+mOptFltName=arFilter\r
+tColView=arColour View\r
+ActSysColName=arSystem Chooser\r
+ActPageSetName=arPage Setup...\r
+mOptSwatPrefsTip=arSwatch preferences\r
+mOptPatPrefsTip=arPattern Preferences\r
+ActDelTip=arDelete a profile\r
+mOptSwatTip=arChoose from a limited range of spot colours\r
+mOptPatTip=arTemplate preferences\r
+ActOptLangName=arLanguage\r
+mEyesName=arEyes\r
+ActAutoTip=arCID-directed discovery\r
+mTbarTbarName=arToolbar\r
+mOptScrChosName=arChoose...\r
+ActLangDefName=arDefault\r
+tTintTip=arAdjust transparency of Filter\r
+ActScriptTip=arPlayback of a recorded script\r
+ActRecTip=arRecord a script\r
+ActOptPrefsName=arPreferences...\r
+ActSwatchName=arSwatches\r
+mHelpName=arHelp\r
+ActHSBTip=arHue Saturation Brightness\r
+mOptReadChosTip=arSelect current text\r
+mOptPrefsName=arPreferences...\r
+mOptFltTip=arChoose elements to view through filter\r
+ActFrCookName=arFrom Cookie\r
+mHelpAbtName=arAbout\r
+ActOptScriptTip=arPlayback of a recorded script\r
+ActHelpConTip=arHelp topics\r
+mOptLangTip=arChoose a language\r
+mOptScrName=arScripting\r
+ActDelName=arDelete...\r
+tTemplMod=arTemplate presentation model\r
+ActHelpAbtTip=arLicence & author information\r
+ActHelpWebTip=arOn the Web...\r
+tTemplCntrlTitle=arTemplate Controls\r
+ActOptDirPrefsTip=arConnection settings\r
+ActFltScrTip=arFilter the entire screen\r
+ActReadName=arReading\r
+tVistaAppTitle=arVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=arConnect to Director\r
+ActOptDirPauName=arPause\r
+ActOptLangDefName=arDefault\r
+ActBothEyesName=arBoth Eyes\r
+mOptScrTip=arScripting preferences\r
+ActHelpSrcName=arSearch...\r
+ActSaveAsTip=arSave to a different file\r
+ActSepEyesName=arSeparate Eyes\r
+ActOptScriptName=arScript\r
+mOptTemplCustTip=arConfigure templates\r
+ActCYMKTip=arCyan Yellow Magenta blacK\r
+ActWheelName=arWheel\r
+mOptName=arOptions\r
+mTbarTbarTip=arShow or hide the tool bar\r
+ActOptDirDisName=arDisconnect\r
+ActSepEyesTip=arIndividual left & right eye testing\r
+mHelpExpTip=arHelp as-you-go\r
+mOptLFName=arLook & Feel\r
+mProName=arProfile\r
+mOptReadPrefsTip=arReading Preferences\r
+tEyeMod=arEye model\r
+Act1UpName=ar1-Up\r
+ActOptDynTip=arAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=arDirector\r
+mHelpExpName=arExplain\r
+mOptTbarTip=arChoose which tools are shown on toolbar\r
+ActHelpIdxName=arIndex\r
+ActLangSpanName=arSpanish\r
+ActDynVistaTip=arAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=arConfigure VisTA.Web services\r
+mOptVistaDBName=arVisTA.DB...\r
+mDirName=arDirector\r
+mColourViewName=arColour View\r
+mOptDynTip=arAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=arScript\r
+ActProPropsTip=arCurrent profile information\r
+ActTriName=arTriangle\r
+ActManualName=arManual\r
+ActAltName=arAlternate\r
+ActLangPortugueseName=arPortuguese\r
+ActLangChineseTip=arChina\r
+ActLangChineseName=arChinese\r
+ActLangUrduTip=arPakistan\r
+ActLangUrduName=arUrdu\r
+ActLangSwedishTip=arSweden\r
+ActLangSwedishName=arSwedish\r
+ActLangRussianTip=arRussia\r
+ActLangRussianName=arRussian\r
+ActLangPortugueseTip=arPortugal\r
+ActLangPashtoTip=arAfghanistan\r
+ActLangPashtoName=arPashto (Afghanistan)\r
+ActLangDutchTip=arNetherlands\r
+ActLangDutchName=arDutch\r
+ActLangJapaneseTip=arJapan\r
+ActLangJapaneseName=arJapanese\r
+ActLangIndonesianTip=arIndonesia\r
+ActLangIndonesianName=arIndonesian\r
+ActLangHiINTip=arIndian Hindi\r
+ActLangHiINName=arHindi (India)\r
+ActLangFaIRTip=arIranian Farsi (Persian)\r
+ActLangFaIRName=arFarsi (Iran)\r
+ActLangArEGTip=arEgyptian Arabic\r
+ActLangArEGName=arArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_de.properties b/org/tjworld/vista/cid/CIDresources_de.properties
new file mode 100644 (file)
index 0000000..c78bb11
--- /dev/null
@@ -0,0 +1,235 @@
+mOptLFTip=deSelect preferred Look and Feel environment\r
+tColMod=deColour Model\r
+ActDiscTip=deEnd remote session\r
+ActCreFltTip=deImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=dePlay\r
+ActSwatchTip=deChoose from a controlled range of colours\r
+ActRecName=deRecord\r
+mOptSwatName=deSwatches\r
+mOptPatName=dePatterns\r
+ActToCookTip=deAssociate with this web site only\r
+ActConnectTip=deConnect to Director\r
+ActQubeTip=dePoint & drag\r
+Act2UpTip=deComparitive discovery\r
+mColourViewName=deColour View\r
+ActHelpConName=deContents\r
+ActPauseTip=deSuspend scripting temporarily\r
+mOptSwatChosTip=deSelect current swatch set\r
+mOptPatChosTip=deSelect current pattern\r
+msgStatRdy=deReady\r
+mOptDirName=deDirected\r
+ActPauseName=dePause\r
+ActSaveAsName=deSave As\r
+ActHelpAbtName=deAbout\r
+ActHelpSrcTip=deFind specific information\r
+ActProTip=deLoad & save personal profile\r
+mOptReadTip=deTemplate preferences\r
+mOptDynName=deDynamic VisTA.Web page\r
+ActOptDirDisTip=deEnd session\r
+ActOptLangTip=deChoose a language\r
+ActHelpWebName=deOn the Web...\r
+ActSendToVistaTip=deDirect to the VisTA.db server via Internet\r
+ActRGBTip=deRed Green Blue\r
+ActToCookName=deTo Cookie\r
+ActDirectTip=deRemotely directed\r
+ActOpenTip=deFetch an existing profile\r
+ActLangFrName=deFrench\r
+mOptDirPrefsTip=deConnection settings\r
+ActOptDirTip=deRemote control preferences\r
+mHelpIdxTip=deComplete list\r
+ActPrintName=dePrint...\r
+ActSendToVistaName=deSend to VisTA Database...\r
+ActProPropsName=deProperties\r
+mModName=deModel\r
+ActLangBritTip=deUK English\r
+mOptVistaDBTip=deConfigure VisTA.Web services\r
+ActPlayTip=dePlayback script\r
+ActHelpExpName=deExplain\r
+mOptDirTip=deRemote control preferences\r
+ActHelpExpTip=deHelp as-you-go\r
+mOptTbarName=deToolbar\r
+ActNewTip=deBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=deUpdate current web page\r
+ActAutoName=deAutomatic\r
+ActFltWinTip=deFilter the entire CID window\r
+ActPageSetTip=deConfigure the printer layout\r
+mOptChosName=deChoose...\r
+ActDiscName=deDisconnect\r
+ActDynVistaName=deDynamic VisTA.Web\r
+mOptSwatCustTip=deConfigure swatch sets\r
+mOptPatCustTip=deConfigure templates\r
+ActPropsName=deProperties\r
+ActBothEyesTip=deCombined left & right eye testing\r
+ActLangBritName=deBritish\r
+ActAltTip=deAlternates quickly between 2 templates\r
+ActConnectName=deConnect\r
+msgVistaBuild=deVisTA.CID built 21 October, 2001\r
+ActPrintTip=deSend to the default printer\r
+tTemplCntrlTitle=deTemplate Controls\r
+mOptLangName=deLanguage\r
+mConnectName=deConnection\r
+ActSaveName=deSave\r
+ActCYMKName=deCYMK\r
+ActRGBName=deRGB\r
+ActDirectName=deDirected\r
+ActOptLangDefTip=deAuthor's original language\r
+ActQubeName=deQube\r
+ActManualTip=deUser-directed discovery\r
+ActOptDirConName=deConnect\r
+ActPropsTip=dePersonal profile characteristics\r
+ActFltTmplName=deTemplate\r
+ActOptDirName=deDirected\r
+mHelpAbtTip=deLicence & author information\r
+ActFltScrName=deScreen\r
+ActHSBName=deHSB\r
+ActLangFrTip=deEuropean French\r
+ActSaveTip=deStore current profile\r
+ActPatTip=deDisruptive pattern template\r
+ActOpenName=deLoad...\r
+ActProName=deProfile\r
+tTemplTitle=deTemplate\r
+ActOptDynName=deDynamic VisTA.Web\r
+ActTriTip=dePoint & click\r
+ActHelpName=deHelp\r
+ActPatName=dePatterns\r
+ActNewName=deNew\r
+mOptScrChosTip=deSelect the script to play\r
+ActLangDefTip=deSystem defined language\r
+ActCreFltName=deCreate Filter PNG...\r
+ActFrCookTip=deAssociated with this web site only\r
+ActOptDirSusName=deSuspend direction temporarily\r
+mEyesName=deEyes\r
+ActFltTmplTip=deFilter the template document only\r
+mOptReadName=deReading\r
+ActStopTip=deStop playback of script\r
+Act2UpName=de2-Up\r
+ActOptDirPauTip=deSuspend direction temporarily\r
+ActLangGerName=deGerman\r
+ActToVistaPageName=deTo this VisTA.Web page\r
+ActSysColTip=deUse system colour chooser\r
+mTemplName=deTemplate\r
+ActOptVistaDBName=deVisTA.DB...\r
+tToolBarTip=deDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=deTextual disruption template\r
+ActWheelTip=dePoint & click\r
+ActHelpIdxTip=deComplete list\r
+ActLangSpanTip=deEuropean Spanish\r
+ActFltWinName=deWindow\r
+ActHelpTip=deSupport & additional information\r
+ActLangGerTip=deEuropean German\r
+Act1UpTip=deProgressive discovery\r
+ActStopName=deStop\r
+mHelpIdxName=deIndex\r
+mOptFltName=deFilter\r
+mOptScrName=deScripting\r
+tColView=deColour View\r
+ActSysColName=deSystem Chooser\r
+ActPageSetName=dePage Setup...\r
+mOptSwatPrefsTip=deSwatch preferences\r
+mOptPatPrefsTip=dePattern Preferences\r
+mOptTemplCustName=deCustomize...\r
+ActDelTip=deDelete a profile\r
+mOptSwatTip=deChoose from a limited range of spot colours\r
+mOptPatTip=deTemplate preferences\r
+mOptScrPrefsTip=deScripting preferences\r
+ActOptLangName=deLanguage\r
+ActAutoTip=deCID-directed discovery\r
+ActLangDefName=deDefault\r
+tTintTip=deAdjust transparency of Filter\r
+ActScriptTip=dePlayback of a recorded script\r
+ActRecTip=deRecord a script\r
+ActOptPrefsName=dePreferences...\r
+ActSwatchName=deSwatches\r
+mHelpName=deHelp\r
+ActHSBTip=deHue Saturation Brightness\r
+mOptReadChosTip=deSelect current text\r
+mOptPrefsName=dePreferences...\r
+mOptFltTip=deChoose elements to view through filter\r
+ActFrCookName=deFrom Cookie\r
+mHelpAbtName=deAbout\r
+ActOptScriptTip=dePlayback of a recorded script\r
+ActHelpConTip=deHelp topics\r
+mOptLangTip=deChoose a language\r
+ActDelName=deDelete...\r
+tTemplMod=deTemplate presentation model\r
+ActHelpAbtTip=deLicence & author information\r
+ActHelpWebTip=deOn the Web...\r
+ActOptDirPrefsTip=deConnection settings\r
+ActFltScrTip=deFilter the entire screen\r
+ActReadName=deReading\r
+tVistaAppTitle=deVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=deConnect to Director\r
+ActOptDirPauName=dePause\r
+ActOptLangDefName=deDefault\r
+ActBothEyesName=deBoth Eyes\r
+mOptScrTip=deScripting preferences\r
+ActHelpSrcName=deSearch...\r
+ActSaveAsTip=deSave to a different file\r
+ActSepEyesName=deSeparate Eyes\r
+ActOptScriptName=deScript\r
+mOptTemplCustTip=deConfigure templates\r
+ActCYMKTip=deCyan Yellow Magenta blacK\r
+ActWheelName=deWheel\r
+mOptName=deOptions\r
+mTbarTbarTip=deShow or hide the tool bar\r
+ActSepEyesTip=deIndividual left & right eye testing\r
+ActOptDirDisName=deDisconnect\r
+mHelpExpTip=deHelp as-you-go\r
+mOptLFName=deLook & Feel\r
+mProName=deProfile\r
+mOptReadPrefsTip=deReading Preferences\r
+tEyeMod=deEye model\r
+Act1UpName=de1-Up\r
+ActOptDynTip=deAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=deDirector\r
+mHelpExpName=deExplain\r
+mColourName=deColour\r
+mOptTbarTip=deChoose which tools are shown on toolbar\r
+ActHelpIdxName=deIndex\r
+ActLangSpanName=deSpanish\r
+ActDynVistaTip=deAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=deConfigure VisTA.Web services\r
+mColourModelName=deColour Model\r
+mOptVistaDBName=deVisTA.DB...\r
+tTintTitle=deTint %\r
+mDirName=deDirector\r
+mOptDynTip=deAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=deScript\r
+ActProPropsTip=deCurrent profile information\r
+ActTriName=deTriangle\r
+ActManualName=deManual\r
+ActAltName=deAlternate\r
+ActLangPortugueseName=dePortuguese\r
+ActLangChineseTip=deChina\r
+ActLangChineseName=deChinese\r
+ActLangUrduTip=dePakistan\r
+ActLangUrduName=deUrdu\r
+ActLangSwedishTip=deSweden\r
+ActLangSwedishName=deSwedish\r
+ActLangRussianTip=deRussia\r
+ActLangRussianName=deRussian\r
+ActLangPortugueseTip=dePortugal\r
+ActLangPashtoTip=deAfghanistan\r
+ActLangPashtoName=dePashto (Afghanistan)\r
+ActLangDutchTip=deNetherlands\r
+ActLangDutchName=deDutch\r
+ActLangJapaneseTip=deJapan\r
+ActLangJapaneseName=deJapanese\r
+ActLangIndonesianTip=deIndonesia\r
+ActLangIndonesianName=deIndonesian\r
+ActLangHiINTip=deIndian Hindi\r
+ActLangHiINName=deHindi (India)\r
+ActLangFaIRTip=deIranian Farsi (Persian)\r
+ActLangFaIRName=deFarsi (Iran)\r
+ActLangArEGTip=deEgyptian Arabic\r
+ActLangArEGName=deArabic (Egypt)\r
+mTbarTbarName=deToolbar\r
+mOptScrPrefsName=dePreferences...\r
+mOptScrChosName=deChoose...\r
+mOptDirPrefsName=dePreferences...\r
+mOptSwatPrefsName=dePreferences...\r
+mOptSwatChosName=deChoose...\r
+mOptPatPrefsName=dePreferences...\r
+mOptPatChosName=deChoose...\r
+mOptReadPrefsName=dePreferences...\r
+mOptReadChosName=deChoose...\r
diff --git a/org/tjworld/vista/cid/CIDresources_es.properties b/org/tjworld/vista/cid/CIDresources_es.properties
new file mode 100644 (file)
index 0000000..08438bd
--- /dev/null
@@ -0,0 +1,235 @@
+mOptLFTip=esSelect preferred Look and Feel environment\r
+tColMod=esColour Model\r
+ActDiscTip=esEnd remote session\r
+ActCreFltTip=esImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=esPlay\r
+ActSwatchTip=esChoose from a controlled range of colours\r
+ActRecName=esRecord\r
+mOptSwatName=esSwatches\r
+mOptPatName=esPatterns\r
+ActToCookTip=esAssociate with this web site only\r
+ActConnectTip=esConnect to Director\r
+ActQubeTip=esPoint & drag\r
+Act2UpTip=esComparitive discovery\r
+mColourViewName=esColour View\r
+ActHelpConName=esContents\r
+ActPauseTip=esSuspend scripting temporarily\r
+mOptSwatChosTip=esSelect current swatch set\r
+mOptPatChosTip=esSelect current pattern\r
+msgStatRdy=esReady\r
+mOptDirName=esDirected\r
+ActPauseName=esPause\r
+ActSaveAsName=esSave As\r
+ActHelpAbtName=esAbout\r
+ActHelpSrcTip=esFind specific information\r
+ActProTip=esLoad & save personal profile\r
+mOptReadTip=esTemplate preferences\r
+mOptDynName=esDynamic VisTA.Web page\r
+ActOptDirDisTip=esEnd session\r
+ActOptLangTip=esChoose a language\r
+ActHelpWebName=esOn the Web...\r
+ActSendToVistaTip=esDirect to the VisTA.db server via Internet\r
+ActRGBTip=esRed Green Blue\r
+ActToCookName=esTo Cookie\r
+ActDirectTip=esRemotely directed\r
+ActOpenTip=esFetch an existing profile\r
+ActLangFrName=esFrench\r
+mOptDirPrefsTip=esConnection settings\r
+ActOptDirTip=esRemote control preferences\r
+mHelpIdxTip=esComplete list\r
+ActPrintName=esPrint...\r
+ActSendToVistaName=esSend to VisTA Database...\r
+ActProPropsName=esProperties\r
+mModName=esModel\r
+ActLangBritTip=esUK English\r
+mOptVistaDBTip=esConfigure VisTA.Web services\r
+ActPlayTip=esPlayback script\r
+ActHelpExpName=esExplain\r
+mOptDirTip=esRemote control preferences\r
+ActHelpExpTip=esHelp as-you-go\r
+mOptTbarName=esToolbar\r
+ActNewTip=esBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=esUpdate current web page\r
+ActAutoName=esAutomatic\r
+ActFltWinTip=esFilter the entire CID window\r
+ActPageSetTip=esConfigure the printer layout\r
+mOptChosName=esChoose...\r
+ActDiscName=esDisconnect\r
+ActDynVistaName=esDynamic VisTA.Web\r
+mOptSwatCustTip=esConfigure swatch sets\r
+mOptPatCustTip=esConfigure templates\r
+ActPropsName=esProperties\r
+ActBothEyesTip=esCombined left & right eye testing\r
+ActLangBritName=esBritish\r
+ActAltTip=esAlternates quickly between 2 templates\r
+ActConnectName=esConnect\r
+msgVistaBuild=esVisTA.CID built 21 October, 2001\r
+ActPrintTip=esSend to the default printer\r
+tTemplCntrlTitle=esTemplate Controls\r
+mOptLangName=esLanguage\r
+mConnectName=esConnection\r
+ActSaveName=esSave\r
+ActCYMKName=esCYMK\r
+ActRGBName=esRGB\r
+ActDirectName=esDirected\r
+ActOptLangDefTip=esAuthor's original language\r
+ActQubeName=esQube\r
+ActManualTip=esUser-directed discovery\r
+ActOptDirConName=esConnect\r
+ActPropsTip=esPersonal profile characteristics\r
+ActFltTmplName=esTemplate\r
+ActOptDirName=esDirected\r
+mHelpAbtTip=esLicence & author information\r
+ActFltScrName=esScreen\r
+ActHSBName=esHSB\r
+ActLangFrTip=esEuropean French\r
+ActSaveTip=esStore current profile\r
+ActPatTip=esDisruptive pattern template\r
+ActOpenName=esLoad...\r
+ActProName=esProfile\r
+tTemplTitle=esTemplate\r
+ActOptDynName=esDynamic VisTA.Web\r
+ActTriTip=esPoint & click\r
+ActHelpName=esHelp\r
+ActPatName=esPatterns\r
+ActNewName=esNew\r
+mOptScrChosTip=esSelect the script to play\r
+ActLangDefTip=esSystem defined language\r
+ActCreFltName=esCreate Filter PNG...\r
+ActFrCookTip=esAssociated with this web site only\r
+ActOptDirSusName=esSuspend direction temporarily\r
+mEyesName=esEyes\r
+ActFltTmplTip=esFilter the template document only\r
+mOptReadName=esReading\r
+ActStopTip=esStop playback of script\r
+Act2UpName=es2-Up\r
+ActOptDirPauTip=esSuspend direction temporarily\r
+ActLangGerName=esGerman\r
+ActToVistaPageName=esTo this VisTA.Web page\r
+ActSysColTip=esUse system colour chooser\r
+mTemplName=esTemplate\r
+ActOptVistaDBName=esVisTA.DB...\r
+tToolBarTip=esDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=esTextual disruption template\r
+ActWheelTip=esPoint & click\r
+ActHelpIdxTip=esComplete list\r
+ActLangSpanTip=esEuropean Spanish\r
+ActFltWinName=esWindow\r
+ActHelpTip=esSupport & additional information\r
+ActLangGerTip=esEuropean German\r
+Act1UpTip=esProgressive discovery\r
+ActStopName=esStop\r
+mHelpIdxName=esIndex\r
+mOptFltName=esFilter\r
+mOptScrName=esScripting\r
+tColView=esColour View\r
+ActSysColName=esSystem Chooser\r
+ActPageSetName=esPage Setup...\r
+mOptSwatPrefsTip=esSwatch preferences\r
+mOptPatPrefsTip=esPattern Preferences\r
+mOptTemplCustName=esCustomize...\r
+ActDelTip=esDelete a profile\r
+mOptSwatTip=esChoose from a limited range of spot colours\r
+mOptPatTip=esTemplate preferences\r
+mOptScrPrefsTip=esScripting preferences\r
+ActOptLangName=esLanguage\r
+ActAutoTip=esCID-directed discovery\r
+ActLangDefName=esDefault\r
+tTintTip=esAdjust transparency of Filter\r
+ActScriptTip=esPlayback of a recorded script\r
+ActRecTip=esRecord a script\r
+ActOptPrefsName=esPreferences...\r
+ActSwatchName=esSwatches\r
+mHelpName=esHelp\r
+ActHSBTip=esHue Saturation Brightness\r
+mOptReadChosTip=esSelect current text\r
+mOptPrefsName=esPreferences...\r
+mOptFltTip=esChoose elements to view through filter\r
+ActFrCookName=esFrom Cookie\r
+mHelpAbtName=esAbout\r
+ActOptScriptTip=esPlayback of a recorded script\r
+ActHelpConTip=esHelp topics\r
+mOptLangTip=esChoose a language\r
+ActDelName=esDelete...\r
+tTemplMod=esTemplate presentation model\r
+ActHelpAbtTip=esLicence & author information\r
+ActHelpWebTip=esOn the Web...\r
+ActOptDirPrefsTip=esConnection settings\r
+ActFltScrTip=esFilter the entire screen\r
+ActReadName=esReading\r
+tVistaAppTitle=esVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=esConnect to Director\r
+ActOptDirPauName=esPause\r
+ActOptLangDefName=esDefault\r
+ActBothEyesName=esBoth Eyes\r
+mOptScrTip=esScripting preferences\r
+ActHelpSrcName=esSearch...\r
+ActSaveAsTip=esSave to a different file\r
+ActSepEyesName=esSeparate Eyes\r
+ActOptScriptName=esScript\r
+mOptTemplCustTip=esConfigure templates\r
+ActCYMKTip=esCyan Yellow Magenta blacK\r
+ActWheelName=esWheel\r
+mOptName=esOptions\r
+mTbarTbarTip=esShow or hide the tool bar\r
+ActSepEyesTip=esIndividual left & right eye testing\r
+ActOptDirDisName=esDisconnect\r
+mHelpExpTip=esHelp as-you-go\r
+mOptLFName=esLook & Feel\r
+mProName=esProfile\r
+mOptReadPrefsTip=esReading Preferences\r
+tEyeMod=esEye model\r
+Act1UpName=es1-Up\r
+ActOptDynTip=esAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=esDirector\r
+mHelpExpName=esExplain\r
+mColourName=esColour\r
+mOptTbarTip=esChoose which tools are shown on toolbar\r
+ActHelpIdxName=esIndex\r
+ActLangSpanName=esSpanish\r
+ActDynVistaTip=esAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=esConfigure VisTA.Web services\r
+mColourModelName=esColour Model\r
+mOptVistaDBName=esVisTA.DB...\r
+tTintTitle=esTint %\r
+mDirName=esDirector\r
+mOptDynTip=esAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=esScript\r
+ActProPropsTip=esCurrent profile information\r
+ActTriName=esTriangle\r
+ActManualName=esManual\r
+ActAltName=esAlternate\r
+ActLangPortugueseName=esPortuguese\r
+ActLangChineseTip=esChina\r
+ActLangChineseName=esChinese\r
+ActLangUrduTip=esPakistan\r
+ActLangUrduName=esUrdu\r
+ActLangSwedishTip=esSweden\r
+ActLangSwedishName=esSwedish\r
+ActLangRussianTip=esRussia\r
+ActLangRussianName=esRussian\r
+ActLangPortugueseTip=esPortugal\r
+ActLangPashtoTip=esAfghanistan\r
+ActLangPashtoName=esPashto (Afghanistan)\r
+ActLangDutchTip=esNetherlands\r
+ActLangDutchName=esDutch\r
+ActLangJapaneseTip=esJapan\r
+ActLangJapaneseName=esJapanese\r
+ActLangIndonesianTip=esIndonesia\r
+ActLangIndonesianName=esIndonesian\r
+ActLangHiINTip=esIndian Hindi\r
+ActLangHiINName=esHindi (India)\r
+ActLangFaIRTip=esIranian Farsi (Persian)\r
+ActLangFaIRName=esFarsi (Iran)\r
+ActLangArEGTip=esEgyptian Arabic\r
+ActLangArEGName=esArabic (Egypt)\r
+mTbarTbarName=esToolbar\r
+mOptScrPrefsName=esPreferences...\r
+mOptScrChosName=esChoose...\r
+mOptDirPrefsName=esPreferences...\r
+mOptSwatPrefsName=esPreferences...\r
+mOptSwatChosName=esChoose...\r
+mOptPatPrefsName=esPreferences...\r
+mOptPatChosName=esChoose...\r
+mOptReadPrefsName=esPreferences...\r
+mOptReadChosName=esChoose...\r
diff --git a/org/tjworld/vista/cid/CIDresources_fa.properties b/org/tjworld/vista/cid/CIDresources_fa.properties
new file mode 100644 (file)
index 0000000..0f94cf7
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=faPreferences...\r
+mOptLFTip=faSelect preferred Look and Feel environment\r
+tColMod=faColour Model\r
+ActDiscTip=faEnd remote session\r
+ActCreFltTip=faImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=faPlay\r
+ActSwatchTip=faChoose from a controlled range of colours\r
+ActRecName=faRecord\r
+mConnectName=faConnection\r
+mOptSwatName=faSwatches\r
+mOptPatName=faPatterns\r
+ActToCookTip=faAssociate with this web site only\r
+ActConnectTip=faConnect to Director\r
+ActQubeTip=faPoint & drag\r
+Act2UpTip=faComparitive discovery\r
+ActHelpConName=faContents\r
+ActPauseTip=faSuspend direction temporarily\r
+mOptSwatChosTip=faSelect current swatch set\r
+mOptPatChosTip=faSelect current pattern\r
+msgStatRdy=faReady\r
+mOptDirName=faDirected\r
+ActPauseName=faPause\r
+ActSaveAsName=faSave As\r
+ActHelpAbtName=faAbout\r
+ActHelpSrcTip=faFind specific information\r
+ActProTip=faLoad & save personal profile\r
+mOptReadTip=faTemplate preferences\r
+mOptDynName=faDynamic VisTA.Web page\r
+ActOptDirDisTip=faEnd session\r
+tTemplTitle=faTemplate\r
+ActOptLangTip=faChoose a language\r
+ActHelpWebName=faOn the Web...\r
+mOptScrPrefsTip=faScripting preferences\r
+ActSendToVistaTip=faDirect to the VisTA.db server via Internet\r
+ActRGBTip=faRed Green Blue\r
+ActToCookName=faTo Cookie\r
+ActDirectTip=faRemotely directed\r
+ActOpenTip=faFetch an existing profile\r
+ActLangFrName=faFrench\r
+mOptDirPrefsTip=faConnection settings\r
+mOptPatChosName=faChoose...\r
+mOptSwatChosName=faChoose...\r
+ActOptDirTip=faRemote control preferences\r
+mHelpIdxTip=faComplete list\r
+tTintTitle=faTint %\r
+ActPrintName=faPrint...\r
+ActSendToVistaName=faSend to VisTA Database...\r
+ActProPropsName=faProperties\r
+mModName=faModel\r
+ActLangBritTip=faUK English\r
+mOptReadPrefsName=faPreferences...\r
+mOptVistaDBTip=faConfigure VisTA.Web services\r
+ActPlayTip=faPlayback script\r
+ActHelpExpName=faExplain\r
+mOptDirPrefsName=faPreferences...\r
+mOptDirTip=faRemote control preferences\r
+ActHelpExpTip=faHelp as-you-go\r
+mOptTbarName=faToolbar\r
+ActNewTip=faBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=faUpdate current web page\r
+ActAutoName=faAutomatic\r
+ActFltWinTip=faFilter the entire CID window\r
+ActPageSetTip=faConfigure the printer layout\r
+mOptChosName=faChoose...\r
+ActDiscName=faDisconnect\r
+ActDynVistaName=faDynamic VisTA.Web\r
+mOptTemplCustName=faCustomize...\r
+mOptSwatCustTip=faConfigure swatch sets\r
+mOptPatCustTip=faConfigure templates\r
+ActPropsName=faProperties\r
+ActBothEyesTip=faCombined left & right eye testing\r
+ActLangBritName=faBritish\r
+ActAltTip=faAlternates quickly between 2 templates\r
+ActConnectName=faConnect\r
+msgVistaBuild=faVisTA.CID built 21 October, 2001\r
+ActPrintTip=faSend to the default printer\r
+mOptLangName=faLanguage\r
+mColourModelName=faColour Model\r
+ActSaveName=faSave\r
+ActCYMKName=faCYMK\r
+ActRGBName=faRGB\r
+ActDirectName=faDirected\r
+ActOptLangDefTip=faAuthor's original language\r
+ActQubeName=faQube\r
+ActManualTip=faUser-directed discovery\r
+ActOptDirConName=faConnect\r
+mOptPatPrefsName=faPreferences...\r
+mOptSwatPrefsName=faPreferences...\r
+ActPropsTip=faPersonal profile characteristics\r
+ActFltTmplName=faTemplate\r
+ActOptDirName=faDirected\r
+mHelpAbtTip=faLicence & author information\r
+ActFltScrName=faScreen\r
+mOptReadChosName=faChoose...\r
+ActHSBName=faHSB\r
+ActLangFrTip=faEuropean French\r
+ActSaveTip=faStore current profile\r
+ActPatTip=faDisruptive pattern template\r
+ActOpenName=faLoad...\r
+ActProName=faProfile\r
+ActOptDynName=faDynamic VisTA.Web\r
+ActTriTip=faPoint & click\r
+ActHelpName=faHelp\r
+ActPatName=faPatterns\r
+ActNewName=faNew\r
+mOptScrChosTip=faSelect the script to play\r
+ActLangDefTip=faSystem defined language\r
+ActCreFltName=faCreate Filter PNG...\r
+ActFrCookTip=faAssociated with this web site only\r
+ActOptDirSusName=faSuspend direction temporarily\r
+ActFltTmplTip=faFilter the template document only\r
+mOptReadName=faReading\r
+ActStopTip=faStop playback of script\r
+Act2UpName=fa2-Up\r
+ActOptDirPauTip=faSuspend direction temporarily\r
+ActLangGerName=faGerman\r
+ActToVistaPageName=faTo this VisTA.Web page\r
+ActSysColTip=faUse system colour chooser\r
+mTemplName=faTemplate\r
+ActOptVistaDBName=faVisTA.DB...\r
+tToolBarTip=faDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=faTextual disruption template\r
+ActWheelTip=faPoint & click\r
+ActHelpIdxTip=faComplete list\r
+ActLangSpanTip=faEuropean Spanish\r
+ActFltWinName=faWindow\r
+ActHelpTip=faSupport & additional information\r
+ActLangGerTip=faEuropean German\r
+mColourName=faColour\r
+Act1UpTip=faProgressive discovery\r
+ActStopName=faStop\r
+mHelpIdxName=faIndex\r
+mOptFltName=faFilter\r
+tColView=faColour View\r
+ActSysColName=faSystem Chooser\r
+ActPageSetName=faPage Setup...\r
+mOptSwatPrefsTip=faSwatch preferences\r
+mOptPatPrefsTip=faPattern Preferences\r
+ActDelTip=faDelete a profile\r
+mOptSwatTip=faChoose from a limited range of spot colours\r
+mOptPatTip=faTemplate preferences\r
+ActOptLangName=faLanguage\r
+mEyesName=faEyes\r
+ActAutoTip=faCID-directed discovery\r
+mTbarTbarName=faToolbar\r
+mOptScrChosName=faChoose...\r
+ActLangDefName=faDefault\r
+tTintTip=faAdjust transparency of Filter\r
+ActScriptTip=faPlayback of a recorded script\r
+ActRecTip=faRecord a script\r
+ActOptPrefsName=faPreferences...\r
+ActSwatchName=faSwatches\r
+mHelpName=faHelp\r
+ActHSBTip=faHue Saturation Brightness\r
+mOptReadChosTip=faSelect current text\r
+mOptPrefsName=faPreferences...\r
+mOptFltTip=faChoose elements to view through filter\r
+ActFrCookName=faFrom Cookie\r
+mHelpAbtName=faAbout\r
+ActOptScriptTip=faPlayback of a recorded script\r
+ActHelpConTip=faHelp topics\r
+mOptLangTip=faChoose a language\r
+mOptScrName=faScripting\r
+ActDelName=faDelete...\r
+tTemplMod=faTemplate presentation model\r
+ActHelpAbtTip=faLicence & author information\r
+ActHelpWebTip=faOn the Web...\r
+tTemplCntrlTitle=faTemplate Controls\r
+ActOptDirPrefsTip=faConnection settings\r
+ActFltScrTip=faFilter the entire screen\r
+ActReadName=faReading\r
+tVistaAppTitle=faVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=faConnect to Director\r
+ActOptDirPauName=faPause\r
+ActOptLangDefName=faDefault\r
+ActBothEyesName=faBoth Eyes\r
+mOptScrTip=faScripting preferences\r
+ActHelpSrcName=faSearch...\r
+ActSaveAsTip=faSave to a different file\r
+ActSepEyesName=faSeparate Eyes\r
+ActOptScriptName=faScript\r
+mOptTemplCustTip=faConfigure templates\r
+ActCYMKTip=faCyan Yellow Magenta blacK\r
+ActWheelName=faWheel\r
+mOptName=faOptions\r
+mTbarTbarTip=faShow or hide the tool bar\r
+ActOptDirDisName=faDisconnect\r
+ActSepEyesTip=faIndividual left & right eye testing\r
+mHelpExpTip=faHelp as-you-go\r
+mOptLFName=faLook & Feel\r
+mProName=faProfile\r
+mOptReadPrefsTip=faReading Preferences\r
+tEyeMod=faEye model\r
+Act1UpName=fa1-Up\r
+ActOptDynTip=faAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=faDirector\r
+mHelpExpName=faExplain\r
+mOptTbarTip=faChoose which tools are shown on toolbar\r
+ActHelpIdxName=faIndex\r
+ActLangSpanName=faSpanish\r
+ActDynVistaTip=faAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=faConfigure VisTA.Web services\r
+mOptVistaDBName=faVisTA.DB...\r
+mDirName=faDirector\r
+mColourViewName=faColour View\r
+mOptDynTip=faAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=faScript\r
+ActProPropsTip=faCurrent profile information\r
+ActTriName=faTriangle\r
+ActManualName=faManual\r
+ActAltName=faAlternate\r
+ActLangPortugueseName=faPortuguese\r
+ActLangChineseTip=faChina\r
+ActLangChineseName=faChinese\r
+ActLangUrduTip=faPakistan\r
+ActLangUrduName=faUrdu\r
+ActLangSwedishTip=faSweden\r
+ActLangSwedishName=faSwedish\r
+ActLangRussianTip=faRussia\r
+ActLangRussianName=faRussian\r
+ActLangPortugueseTip=faPortugal\r
+ActLangPashtoTip=faAfghanistan\r
+ActLangPashtoName=faPashto (Afghanistan)\r
+ActLangDutchTip=faNetherlands\r
+ActLangDutchName=faDutch\r
+ActLangJapaneseTip=faJapan\r
+ActLangJapaneseName=faJapanese\r
+ActLangIndonesianTip=faIndonesia\r
+ActLangIndonesianName=faIndonesian\r
+ActLangHiINTip=faIndian Hindi\r
+ActLangHiINName=faHindi (India)\r
+ActLangFaIRTip=faIranian Farsi (Persian)\r
+ActLangFaIRName=faFarsi (Iran)\r
+ActLangArEGTip=faEgyptian Arabic\r
+ActLangArEGName=faArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_fr.properties b/org/tjworld/vista/cid/CIDresources_fr.properties
new file mode 100644 (file)
index 0000000..62e71e3
--- /dev/null
@@ -0,0 +1,235 @@
+mOptLFTip=frSelect preferred Look and Feel environment\r
+tColMod=frColour Model\r
+ActDiscTip=frEnd remote session\r
+ActCreFltTip=frImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=frPlay\r
+ActSwatchTip=frChoose from a controlled range of colours\r
+ActRecName=frRecord\r
+mOptSwatName=frSwatches\r
+mOptPatName=frPatterns\r
+ActToCookTip=frAssociate with this web site only\r
+ActConnectTip=frConnect to Director\r
+ActQubeTip=frPoint & drag\r
+Act2UpTip=frComparitive discovery\r
+mColourViewName=frColour View\r
+ActHelpConName=frContents\r
+ActPauseTip=frSuspend scripting temporarily\r
+mOptSwatChosTip=frSelect current swatch set\r
+mOptPatChosTip=frSelect current pattern\r
+msgStatRdy=frReady\r
+mOptDirName=frDirected\r
+ActPauseName=frPause\r
+ActSaveAsName=frSave As\r
+ActHelpAbtName=frAbout\r
+ActHelpSrcTip=frFind specific information\r
+ActProTip=frLoad & save personal profile\r
+mOptReadTip=frTemplate preferences\r
+mOptDynName=frDynamic VisTA.Web page\r
+ActOptDirDisTip=frEnd session\r
+ActOptLangTip=frChoose a language\r
+ActHelpWebName=frOn the Web...\r
+ActSendToVistaTip=frDirect to the VisTA.db server via Internet\r
+ActRGBTip=frRed Green Blue\r
+ActToCookName=frTo Cookie\r
+ActDirectTip=frRemotely directed\r
+ActOpenTip=frFetch an existing profile\r
+ActLangFrName=frFrench\r
+mOptDirPrefsTip=frConnection settings\r
+ActOptDirTip=frRemote control preferences\r
+mHelpIdxTip=frComplete list\r
+ActPrintName=frPrint...\r
+ActSendToVistaName=frSend to VisTA Database...\r
+ActProPropsName=frProperties\r
+mModName=frModel\r
+ActLangBritTip=frUK English\r
+mOptVistaDBTip=frConfigure VisTA.Web services\r
+ActPlayTip=frPlayback script\r
+ActHelpExpName=frExplain\r
+mOptDirTip=frRemote control preferences\r
+ActHelpExpTip=frHelp as-you-go\r
+mOptTbarName=frToolbar\r
+ActNewTip=frBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=frUpdate current web page\r
+ActAutoName=frAutomatic\r
+ActFltWinTip=frFilter the entire CID window\r
+ActPageSetTip=frConfigure the printer layout\r
+mOptChosName=frChoose...\r
+ActDiscName=frDisconnect\r
+ActDynVistaName=frDynamic VisTA.Web\r
+mOptSwatCustTip=frConfigure swatch sets\r
+mOptPatCustTip=frConfigure templates\r
+ActPropsName=frProperties\r
+ActBothEyesTip=frCombined left & right eye testing\r
+ActLangBritName=frBritish\r
+ActAltTip=frAlternates quickly between 2 templates\r
+ActConnectName=frConnect\r
+msgVistaBuild=frVisTA.CID built 21 October, 2001\r
+ActPrintTip=frSend to the default printer\r
+tTemplCntrlTitle=frTemplate Controls\r
+mOptLangName=frLanguage\r
+mConnectName=frConnection\r
+ActSaveName=frSave\r
+ActCYMKName=frCYMK\r
+ActRGBName=frRGB\r
+ActDirectName=frDirected\r
+ActOptLangDefTip=frAuthor's original language\r
+ActQubeName=frQube\r
+ActManualTip=frUser-directed discovery\r
+ActOptDirConName=frConnect\r
+ActPropsTip=frPersonal profile characteristics\r
+ActFltTmplName=frTemplate\r
+ActOptDirName=frDirected\r
+mHelpAbtTip=frLicence & author information\r
+ActFltScrName=frScreen\r
+ActHSBName=frHSB\r
+ActLangFrTip=frEuropean French\r
+ActSaveTip=frStore current profile\r
+ActPatTip=frDisruptive pattern template\r
+ActOpenName=frLoad...\r
+ActProName=frProfile\r
+tTemplTitle=frTemplate\r
+ActOptDynName=frDynamic VisTA.Web\r
+ActTriTip=frPoint & click\r
+ActHelpName=frHelp\r
+ActPatName=frPatterns\r
+ActNewName=frNew\r
+mOptScrChosTip=frSelect the script to play\r
+ActLangDefTip=frSystem defined language\r
+ActCreFltName=frCreate Filter PNG...\r
+ActFrCookTip=frAssociated with this web site only\r
+ActOptDirSusName=frSuspend direction temporarily\r
+mEyesName=frEyes\r
+ActFltTmplTip=frFilter the template document only\r
+mOptReadName=frReading\r
+ActStopTip=frStop playback of script\r
+Act2UpName=fr2-Up\r
+ActOptDirPauTip=frSuspend direction temporarily\r
+ActLangGerName=frGerman\r
+ActToVistaPageName=frTo this VisTA.Web page\r
+ActSysColTip=frUse system colour chooser\r
+mTemplName=frTemplate\r
+ActOptVistaDBName=frVisTA.DB...\r
+tToolBarTip=frDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=frTextual disruption template\r
+ActWheelTip=frPoint & click\r
+ActHelpIdxTip=frComplete list\r
+ActLangSpanTip=frEuropean Spanish\r
+ActFltWinName=frWindow\r
+ActHelpTip=frSupport & additional information\r
+ActLangGerTip=frEuropean German\r
+Act1UpTip=frProgressive discovery\r
+ActStopName=frStop\r
+mHelpIdxName=frIndex\r
+mOptFltName=frFilter\r
+mOptScrName=frScripting\r
+tColView=frColour View\r
+ActSysColName=frSystem Chooser\r
+ActPageSetName=frPage Setup...\r
+mOptSwatPrefsTip=frSwatch preferences\r
+mOptPatPrefsTip=frPattern Preferences\r
+mOptTemplCustName=frCustomize...\r
+ActDelTip=frDelete a profile\r
+mOptSwatTip=frChoose from a limited range of spot colours\r
+mOptPatTip=frTemplate preferences\r
+mOptScrPrefsTip=frScripting preferences\r
+ActOptLangName=frLanguage\r
+ActAutoTip=frCID-directed discovery\r
+ActLangDefName=frDefault\r
+tTintTip=frAdjust transparency of Filter\r
+ActScriptTip=frPlayback of a recorded script\r
+ActRecTip=frRecord a script\r
+ActOptPrefsName=frPreferences...\r
+ActSwatchName=frSwatches\r
+mHelpName=frHelp\r
+ActHSBTip=frHue Saturation Brightness\r
+mOptReadChosTip=frSelect current text\r
+mOptPrefsName=frPreferences...\r
+mOptFltTip=frChoose elements to view through filter\r
+ActFrCookName=frFrom Cookie\r
+mHelpAbtName=frAbout\r
+ActOptScriptTip=frPlayback of a recorded script\r
+ActHelpConTip=frHelp topics\r
+mOptLangTip=frChoose a language\r
+ActDelName=frDelete...\r
+tTemplMod=frTemplate presentation model\r
+ActHelpAbtTip=frLicence & author information\r
+ActHelpWebTip=frOn the Web...\r
+ActOptDirPrefsTip=frConnection settings\r
+ActFltScrTip=frFilter the entire screen\r
+ActReadName=frReading\r
+tVistaAppTitle=frVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=frConnect to Director\r
+ActOptDirPauName=frPause\r
+ActOptLangDefName=frDefault\r
+ActBothEyesName=frBoth Eyes\r
+mOptScrTip=frScripting preferences\r
+ActHelpSrcName=frSearch...\r
+ActSaveAsTip=frSave to a different file\r
+ActSepEyesName=frSeparate Eyes\r
+ActOptScriptName=frScript\r
+mOptTemplCustTip=frConfigure templates\r
+ActCYMKTip=frCyan Yellow Magenta blacK\r
+ActWheelName=frWheel\r
+mOptName=frOptions\r
+mTbarTbarTip=frShow or hide the tool bar\r
+ActSepEyesTip=frIndividual left & right eye testing\r
+ActOptDirDisName=frDisconnect\r
+mHelpExpTip=frHelp as-you-go\r
+mOptLFName=frLook & Feel\r
+mProName=frProfile\r
+mOptReadPrefsTip=frReading Preferences\r
+tEyeMod=frEye model\r
+Act1UpName=fr1-Up\r
+ActOptDynTip=frAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=frDirector\r
+mHelpExpName=frExplain\r
+mColourName=frColour\r
+mOptTbarTip=frChoose which tools are shown on toolbar\r
+ActHelpIdxName=frIndex\r
+ActLangSpanName=frSpanish\r
+ActDynVistaTip=frAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=frConfigure VisTA.Web services\r
+mColourModelName=frColour Model\r
+mOptVistaDBName=frVisTA.DB...\r
+tTintTitle=frTint %\r
+mDirName=frDirector\r
+mOptDynTip=frAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=frScript\r
+ActProPropsTip=frCurrent profile information\r
+ActTriName=frTriangle\r
+ActManualName=frManual\r
+ActAltName=frAlternate\r
+ActLangPortugueseName=frPortuguese\r
+ActLangChineseTip=frChina\r
+ActLangChineseName=frChinese\r
+ActLangUrduTip=frPakistan\r
+ActLangUrduName=frUrdu\r
+ActLangSwedishTip=frSweden\r
+ActLangSwedishName=frSwedish\r
+ActLangRussianTip=frRussia\r
+ActLangRussianName=frRussian\r
+ActLangPortugueseTip=frPortugal\r
+ActLangPashtoTip=frAfghanistan\r
+ActLangPashtoName=frPashto (Afghanistan)\r
+ActLangDutchTip=frNetherlands\r
+ActLangDutchName=frDutch\r
+ActLangJapaneseTip=frJapan\r
+ActLangJapaneseName=frJapanese\r
+ActLangIndonesianTip=frIndonesia\r
+ActLangIndonesianName=frIndonesian\r
+ActLangHiINTip=frIndian Hindi\r
+ActLangHiINName=frHindi (India)\r
+ActLangFaIRTip=frIranian Farsi (Persian)\r
+ActLangFaIRName=frFarsi (Iran)\r
+ActLangArEGTip=frEgyptian Arabic\r
+ActLangArEGName=frArabic (Egypt)\r
+mTbarTbarName=frToolbar\r
+mOptScrPrefsName=frPreferences...\r
+mOptScrChosName=frChoose...\r
+mOptDirPrefsName=frPreferences...\r
+mOptSwatPrefsName=frPreferences...\r
+mOptSwatChosName=frChoose...\r
+mOptPatPrefsName=frPreferences...\r
+mOptPatChosName=frChoose...\r
+mOptReadPrefsName=frPreferences...\r
+mOptReadChosName=frChoose...\r
diff --git a/org/tjworld/vista/cid/CIDresources_hi.properties b/org/tjworld/vista/cid/CIDresources_hi.properties
new file mode 100644 (file)
index 0000000..dea9746
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=hiPreferences...\r
+mOptLFTip=hiSelect preferred Look and Feel environment\r
+tColMod=hiColour Model\r
+ActDiscTip=hiEnd remote session\r
+ActCreFltTip=hiImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=hiPlay\r
+ActSwatchTip=hiChoose from a controlled range of colours\r
+ActRecName=hiRecord\r
+mConnectName=hiConnection\r
+mOptSwatName=hiSwatches\r
+mOptPatName=hiPatterns\r
+ActToCookTip=hiAssociate with this web site only\r
+ActConnectTip=hiConnect to Director\r
+ActQubeTip=hiPoint & drag\r
+Act2UpTip=hiComparitive discovery\r
+ActHelpConName=hiContents\r
+ActPauseTip=hiSuspend direction temporarily\r
+mOptSwatChosTip=hiSelect current swatch set\r
+mOptPatChosTip=hiSelect current pattern\r
+msgStatRdy=hiReady\r
+mOptDirName=hiDirected\r
+ActPauseName=hiPause\r
+ActSaveAsName=hiSave As\r
+ActHelpAbtName=hiAbout\r
+ActHelpSrcTip=hiFind specific information\r
+ActProTip=hiLoad & save personal profile\r
+mOptReadTip=hiTemplate preferences\r
+mOptDynName=hiDynamic VisTA.Web page\r
+ActOptDirDisTip=hiEnd session\r
+tTemplTitle=hiTemplate\r
+ActOptLangTip=hiChoose a language\r
+ActHelpWebName=hiOn the Web...\r
+mOptScrPrefsTip=hiScripting preferences\r
+ActSendToVistaTip=hiDirect to the VisTA.db server via Internet\r
+ActRGBTip=hiRed Green Blue\r
+ActToCookName=hiTo Cookie\r
+ActDirectTip=hiRemotely directed\r
+ActOpenTip=hiFetch an existing profile\r
+ActLangFrName=hiFrench\r
+mOptDirPrefsTip=hiConnection settings\r
+mOptPatChosName=hiChoose...\r
+mOptSwatChosName=hiChoose...\r
+ActOptDirTip=hiRemote control preferences\r
+mHelpIdxTip=hiComplete list\r
+tTintTitle=hiTint %\r
+ActPrintName=hiPrint...\r
+ActSendToVistaName=hiSend to VisTA Database...\r
+ActProPropsName=hiProperties\r
+mModName=hiModel\r
+ActLangBritTip=hiUK English\r
+mOptReadPrefsName=hiPreferences...\r
+mOptVistaDBTip=hiConfigure VisTA.Web services\r
+ActPlayTip=hiPlayback script\r
+ActHelpExpName=hiExplain\r
+mOptDirPrefsName=hiPreferences...\r
+mOptDirTip=hiRemote control preferences\r
+ActHelpExpTip=hiHelp as-you-go\r
+mOptTbarName=hiToolbar\r
+ActNewTip=hiBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=hiUpdate current web page\r
+ActAutoName=hiAutomatic\r
+ActFltWinTip=hiFilter the entire CID window\r
+ActPageSetTip=hiConfigure the printer layout\r
+mOptChosName=hiChoose...\r
+ActDiscName=hiDisconnect\r
+ActDynVistaName=hiDynamic VisTA.Web\r
+mOptTemplCustName=hiCustomize...\r
+mOptSwatCustTip=hiConfigure swatch sets\r
+mOptPatCustTip=hiConfigure templates\r
+ActPropsName=hiProperties\r
+ActBothEyesTip=hiCombined left & right eye testing\r
+ActLangBritName=hiBritish\r
+ActAltTip=hiAlternates quickly between 2 templates\r
+ActConnectName=hiConnect\r
+msgVistaBuild=hiVisTA.CID built 21 October, 2001\r
+ActPrintTip=hiSend to the default printer\r
+mOptLangName=hiLanguage\r
+mColourModelName=hiColour Model\r
+ActSaveName=hiSave\r
+ActCYMKName=hiCYMK\r
+ActRGBName=hiRGB\r
+ActDirectName=hiDirected\r
+ActOptLangDefTip=hiAuthor's original language\r
+ActQubeName=hiQube\r
+ActManualTip=hiUser-directed discovery\r
+ActOptDirConName=hiConnect\r
+mOptPatPrefsName=hiPreferences...\r
+mOptSwatPrefsName=hiPreferences...\r
+ActPropsTip=hiPersonal profile characteristics\r
+ActFltTmplName=hiTemplate\r
+ActOptDirName=hiDirected\r
+mHelpAbtTip=hiLicence & author information\r
+ActFltScrName=hiScreen\r
+mOptReadChosName=hiChoose...\r
+ActHSBName=hiHSB\r
+ActLangFrTip=hiEuropean French\r
+ActSaveTip=hiStore current profile\r
+ActPatTip=hiDisruptive pattern template\r
+ActOpenName=hiLoad...\r
+ActProName=hiProfile\r
+ActOptDynName=hiDynamic VisTA.Web\r
+ActTriTip=hiPoint & click\r
+ActHelpName=hiHelp\r
+ActPatName=hiPatterns\r
+ActNewName=hiNew\r
+mOptScrChosTip=hiSelect the script to play\r
+ActLangDefTip=hiSystem defined language\r
+ActCreFltName=hiCreate Filter PNG...\r
+ActFrCookTip=hiAssociated with this web site only\r
+ActOptDirSusName=hiSuspend direction temporarily\r
+ActFltTmplTip=hiFilter the template document only\r
+mOptReadName=hiReading\r
+ActStopTip=hiStop playback of script\r
+Act2UpName=hi2-Up\r
+ActOptDirPauTip=hiSuspend direction temporarily\r
+ActLangGerName=hiGerman\r
+ActToVistaPageName=hiTo this VisTA.Web page\r
+ActSysColTip=hiUse system colour chooser\r
+mTemplName=hiTemplate\r
+ActOptVistaDBName=hiVisTA.DB...\r
+tToolBarTip=hiDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=hiTextual disruption template\r
+ActWheelTip=hiPoint & click\r
+ActHelpIdxTip=hiComplete list\r
+ActLangSpanTip=hiEuropean Spanish\r
+ActFltWinName=hiWindow\r
+ActHelpTip=hiSupport & additional information\r
+ActLangGerTip=hiEuropean German\r
+mColourName=hiColour\r
+Act1UpTip=hiProgressive discovery\r
+ActStopName=hiStop\r
+mHelpIdxName=hiIndex\r
+mOptFltName=hiFilter\r
+tColView=hiColour View\r
+ActSysColName=hiSystem Chooser\r
+ActPageSetName=hiPage Setup...\r
+mOptSwatPrefsTip=hiSwatch preferences\r
+mOptPatPrefsTip=hiPattern Preferences\r
+ActDelTip=hiDelete a profile\r
+mOptSwatTip=hiChoose from a limited range of spot colours\r
+mOptPatTip=hiTemplate preferences\r
+ActOptLangName=hiLanguage\r
+mEyesName=hiEyes\r
+ActAutoTip=hiCID-directed discovery\r
+mTbarTbarName=hiToolbar\r
+mOptScrChosName=hiChoose...\r
+ActLangDefName=hiDefault\r
+tTintTip=hiAdjust transparency of Filter\r
+ActScriptTip=hiPlayback of a recorded script\r
+ActRecTip=hiRecord a script\r
+ActOptPrefsName=hiPreferences...\r
+ActSwatchName=hiSwatches\r
+mHelpName=hiHelp\r
+ActHSBTip=hiHue Saturation Brightness\r
+mOptReadChosTip=hiSelect current text\r
+mOptPrefsName=hiPreferences...\r
+mOptFltTip=hiChoose elements to view through filter\r
+ActFrCookName=hiFrom Cookie\r
+mHelpAbtName=hiAbout\r
+ActOptScriptTip=hiPlayback of a recorded script\r
+ActHelpConTip=hiHelp topics\r
+mOptLangTip=hiChoose a language\r
+mOptScrName=hiScripting\r
+ActDelName=hiDelete...\r
+tTemplMod=hiTemplate presentation model\r
+ActHelpAbtTip=hiLicence & author information\r
+ActHelpWebTip=hiOn the Web...\r
+tTemplCntrlTitle=hiTemplate Controls\r
+ActOptDirPrefsTip=hiConnection settings\r
+ActFltScrTip=hiFilter the entire screen\r
+ActReadName=hiReading\r
+tVistaAppTitle=hiVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=hiConnect to Director\r
+ActOptDirPauName=hiPause\r
+ActOptLangDefName=hiDefault\r
+ActBothEyesName=hiBoth Eyes\r
+mOptScrTip=hiScripting preferences\r
+ActHelpSrcName=hiSearch...\r
+ActSaveAsTip=hiSave to a different file\r
+ActSepEyesName=hiSeparate Eyes\r
+ActOptScriptName=hiScript\r
+mOptTemplCustTip=hiConfigure templates\r
+ActCYMKTip=hiCyan Yellow Magenta blacK\r
+ActWheelName=hiWheel\r
+mOptName=hiOptions\r
+mTbarTbarTip=hiShow or hide the tool bar\r
+ActOptDirDisName=hiDisconnect\r
+ActSepEyesTip=hiIndividual left & right eye testing\r
+mHelpExpTip=hiHelp as-you-go\r
+mOptLFName=hiLook & Feel\r
+mProName=hiProfile\r
+mOptReadPrefsTip=hiReading Preferences\r
+tEyeMod=hiEye model\r
+Act1UpName=hi1-Up\r
+ActOptDynTip=hiAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=hiDirector\r
+mHelpExpName=hiExplain\r
+mOptTbarTip=hiChoose which tools are shown on toolbar\r
+ActHelpIdxName=hiIndex\r
+ActLangSpanName=hiSpanish\r
+ActDynVistaTip=hiAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=hiConfigure VisTA.Web services\r
+mOptVistaDBName=hiVisTA.DB...\r
+mDirName=hiDirector\r
+mColourViewName=hiColour View\r
+mOptDynTip=hiAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=hiScript\r
+ActProPropsTip=hiCurrent profile information\r
+ActTriName=hiTriangle\r
+ActManualName=hiManual\r
+ActAltName=hiAlternate\r
+ActLangPortugueseName=hiPortuguese\r
+ActLangChineseTip=hiChina\r
+ActLangChineseName=hiChinese\r
+ActLangUrduTip=hiPakistan\r
+ActLangUrduName=hiUrdu\r
+ActLangSwedishTip=hiSweden\r
+ActLangSwedishName=hiSwedish\r
+ActLangRussianTip=hiRussia\r
+ActLangRussianName=hiRussian\r
+ActLangPortugueseTip=hiPortugal\r
+ActLangPashtoTip=hiAfghanistan\r
+ActLangPashtoName=hiPashto (Afghanistan)\r
+ActLangDutchTip=hiNetherlands\r
+ActLangDutchName=hiDutch\r
+ActLangJapaneseTip=hiJapan\r
+ActLangJapaneseName=hiJapanese\r
+ActLangIndonesianTip=hiIndonesia\r
+ActLangIndonesianName=hiIndonesian\r
+ActLangHiINTip=hiIndian Hindi\r
+ActLangHiINName=hiHindi (India)\r
+ActLangFaIRTip=hiIranian Farsi (Persian)\r
+ActLangFaIRName=hiFarsi (Iran)\r
+ActLangArEGTip=hiEgyptian Arabic\r
+ActLangArEGName=hiArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_in.properties b/org/tjworld/vista/cid/CIDresources_in.properties
new file mode 100644 (file)
index 0000000..da25697
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=inPreferences...\r
+mOptLFTip=inSelect preferred Look and Feel environment\r
+tColMod=inColour Model\r
+ActDiscTip=inEnd remote session\r
+ActCreFltTip=inImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=inPlay\r
+ActSwatchTip=inChoose from a controlled range of colours\r
+ActRecName=inRecord\r
+mConnectName=inConnection\r
+mOptSwatName=inSwatches\r
+mOptPatName=inPatterns\r
+ActToCookTip=inAssociate with this web site only\r
+ActConnectTip=inConnect to Director\r
+ActQubeTip=inPoint & drag\r
+Act2UpTip=inComparitive discovery\r
+ActHelpConName=inContents\r
+ActPauseTip=inSuspend direction temporarily\r
+mOptSwatChosTip=inSelect current swatch set\r
+mOptPatChosTip=inSelect current pattern\r
+msgStatRdy=inReady\r
+mOptDirName=inDirected\r
+ActPauseName=inPause\r
+ActSaveAsName=inSave As\r
+ActHelpAbtName=inAbout\r
+ActHelpSrcTip=inFind specific information\r
+ActProTip=inLoad & save personal profile\r
+mOptReadTip=inTemplate preferences\r
+mOptDynName=inDynamic VisTA.Web page\r
+ActOptDirDisTip=inEnd session\r
+tTemplTitle=inTemplate\r
+ActOptLangTip=inChoose a language\r
+ActHelpWebName=inOn the Web...\r
+mOptScrPrefsTip=inScripting preferences\r
+ActSendToVistaTip=inDirect to the VisTA.db server via Internet\r
+ActRGBTip=inRed Green Blue\r
+ActToCookName=inTo Cookie\r
+ActDirectTip=inRemotely directed\r
+ActOpenTip=inFetch an existing profile\r
+ActLangFrName=inFrench\r
+mOptDirPrefsTip=inConnection settings\r
+mOptPatChosName=inChoose...\r
+mOptSwatChosName=inChoose...\r
+ActOptDirTip=inRemote control preferences\r
+mHelpIdxTip=inComplete list\r
+tTintTitle=inTint %\r
+ActPrintName=inPrint...\r
+ActSendToVistaName=inSend to VisTA Database...\r
+ActProPropsName=inProperties\r
+mModName=inModel\r
+ActLangBritTip=inUK English\r
+mOptReadPrefsName=inPreferences...\r
+mOptVistaDBTip=inConfigure VisTA.Web services\r
+ActPlayTip=inPlayback script\r
+ActHelpExpName=inExplain\r
+mOptDirPrefsName=inPreferences...\r
+mOptDirTip=inRemote control preferences\r
+ActHelpExpTip=inHelp as-you-go\r
+mOptTbarName=inToolbar\r
+ActNewTip=inBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=inUpdate current web page\r
+ActAutoName=inAutomatic\r
+ActFltWinTip=inFilter the entire CID window\r
+ActPageSetTip=inConfigure the printer layout\r
+mOptChosName=inChoose...\r
+ActDiscName=inDisconnect\r
+ActDynVistaName=inDynamic VisTA.Web\r
+mOptTemplCustName=inCustomize...\r
+mOptSwatCustTip=inConfigure swatch sets\r
+mOptPatCustTip=inConfigure templates\r
+ActPropsName=inProperties\r
+ActBothEyesTip=inCombined left & right eye testing\r
+ActLangBritName=inBritish\r
+ActAltTip=inAlternates quickly between 2 templates\r
+ActConnectName=inConnect\r
+msgVistaBuild=inVisTA.CID built 21 October, 2001\r
+ActPrintTip=inSend to the default printer\r
+mOptLangName=inLanguage\r
+mColourModelName=inColour Model\r
+ActSaveName=inSave\r
+ActCYMKName=inCYMK\r
+ActRGBName=inRGB\r
+ActDirectName=inDirected\r
+ActOptLangDefTip=inAuthor's original language\r
+ActQubeName=inQube\r
+ActManualTip=inUser-directed discovery\r
+ActOptDirConName=inConnect\r
+mOptPatPrefsName=inPreferences...\r
+mOptSwatPrefsName=inPreferences...\r
+ActPropsTip=inPersonal profile characteristics\r
+ActFltTmplName=inTemplate\r
+ActOptDirName=inDirected\r
+mHelpAbtTip=inLicence & author information\r
+ActFltScrName=inScreen\r
+mOptReadChosName=inChoose...\r
+ActHSBName=inHSB\r
+ActLangFrTip=inEuropean French\r
+ActSaveTip=inStore current profile\r
+ActPatTip=inDisruptive pattern template\r
+ActOpenName=inLoad...\r
+ActProName=inProfile\r
+ActOptDynName=inDynamic VisTA.Web\r
+ActTriTip=inPoint & click\r
+ActHelpName=inHelp\r
+ActPatName=inPatterns\r
+ActNewName=inNew\r
+mOptScrChosTip=inSelect the script to play\r
+ActLangDefTip=inSystem defined language\r
+ActCreFltName=inCreate Filter PNG...\r
+ActFrCookTip=inAssociated with this web site only\r
+ActOptDirSusName=inSuspend direction temporarily\r
+ActFltTmplTip=inFilter the template document only\r
+mOptReadName=inReading\r
+ActStopTip=inStop playback of script\r
+Act2UpName=in2-Up\r
+ActOptDirPauTip=inSuspend direction temporarily\r
+ActLangGerName=inGerman\r
+ActToVistaPageName=inTo this VisTA.Web page\r
+ActSysColTip=inUse system colour chooser\r
+mTemplName=inTemplate\r
+ActOptVistaDBName=inVisTA.DB...\r
+tToolBarTip=inDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=inTextual disruption template\r
+ActWheelTip=inPoint & click\r
+ActHelpIdxTip=inComplete list\r
+ActLangSpanTip=inEuropean Spanish\r
+ActFltWinName=inWindow\r
+ActHelpTip=inSupport & additional information\r
+ActLangGerTip=inEuropean German\r
+mColourName=inColour\r
+Act1UpTip=inProgressive discovery\r
+ActStopName=inStop\r
+mHelpIdxName=inIndex\r
+mOptFltName=inFilter\r
+tColView=inColour View\r
+ActSysColName=inSystem Chooser\r
+ActPageSetName=inPage Setup...\r
+mOptSwatPrefsTip=inSwatch preferences\r
+mOptPatPrefsTip=inPattern Preferences\r
+ActDelTip=inDelete a profile\r
+mOptSwatTip=inChoose from a limited range of spot colours\r
+mOptPatTip=inTemplate preferences\r
+ActOptLangName=inLanguage\r
+mEyesName=inEyes\r
+ActAutoTip=inCID-directed discovery\r
+mTbarTbarName=inToolbar\r
+mOptScrChosName=inChoose...\r
+ActLangDefName=inDefault\r
+tTintTip=inAdjust transparency of Filter\r
+ActScriptTip=inPlayback of a recorded script\r
+ActRecTip=inRecord a script\r
+ActOptPrefsName=inPreferences...\r
+ActSwatchName=inSwatches\r
+mHelpName=inHelp\r
+ActHSBTip=inHue Saturation Brightness\r
+mOptReadChosTip=inSelect current text\r
+mOptPrefsName=inPreferences...\r
+mOptFltTip=inChoose elements to view through filter\r
+ActFrCookName=inFrom Cookie\r
+mHelpAbtName=inAbout\r
+ActOptScriptTip=inPlayback of a recorded script\r
+ActHelpConTip=inHelp topics\r
+mOptLangTip=inChoose a language\r
+mOptScrName=inScripting\r
+ActDelName=inDelete...\r
+tTemplMod=inTemplate presentation model\r
+ActHelpAbtTip=inLicence & author information\r
+ActHelpWebTip=inOn the Web...\r
+tTemplCntrlTitle=inTemplate Controls\r
+ActOptDirPrefsTip=inConnection settings\r
+ActFltScrTip=inFilter the entire screen\r
+ActReadName=inReading\r
+tVistaAppTitle=inVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=inConnect to Director\r
+ActOptDirPauName=inPause\r
+ActOptLangDefName=inDefault\r
+ActBothEyesName=inBoth Eyes\r
+mOptScrTip=inScripting preferences\r
+ActHelpSrcName=inSearch...\r
+ActSaveAsTip=inSave to a different file\r
+ActSepEyesName=inSeparate Eyes\r
+ActOptScriptName=inScript\r
+mOptTemplCustTip=inConfigure templates\r
+ActCYMKTip=inCyan Yellow Magenta blacK\r
+ActWheelName=inWheel\r
+mOptName=inOptions\r
+mTbarTbarTip=inShow or hide the tool bar\r
+ActOptDirDisName=inDisconnect\r
+ActSepEyesTip=inIndividual left & right eye testing\r
+mHelpExpTip=inHelp as-you-go\r
+mOptLFName=inLook & Feel\r
+mProName=inProfile\r
+mOptReadPrefsTip=inReading Preferences\r
+tEyeMod=inEye model\r
+Act1UpName=in1-Up\r
+ActOptDynTip=inAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=inDirector\r
+mHelpExpName=inExplain\r
+mOptTbarTip=inChoose which tools are shown on toolbar\r
+ActHelpIdxName=inIndex\r
+ActLangSpanName=inSpanish\r
+ActDynVistaTip=inAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=inConfigure VisTA.Web services\r
+mOptVistaDBName=inVisTA.DB...\r
+mDirName=inDirector\r
+mColourViewName=inColour View\r
+mOptDynTip=inAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=inScript\r
+ActProPropsTip=inCurrent profile information\r
+ActTriName=inTriangle\r
+ActManualName=inManual\r
+ActAltName=inAlternate\r
+ActLangPortugueseName=inPortuguese\r
+ActLangChineseTip=inChina\r
+ActLangChineseName=inChinese\r
+ActLangUrduTip=inPakistan\r
+ActLangUrduName=inUrdu\r
+ActLangSwedishTip=inSweden\r
+ActLangSwedishName=inSwedish\r
+ActLangRussianTip=inRussia\r
+ActLangRussianName=inRussian\r
+ActLangPortugueseTip=inPortugal\r
+ActLangPashtoTip=inAfghanistan\r
+ActLangPashtoName=inPashto (Afghanistan)\r
+ActLangDutchTip=inNetherlands\r
+ActLangDutchName=inDutch\r
+ActLangJapaneseTip=inJapan\r
+ActLangJapaneseName=inJapanese\r
+ActLangIndonesianTip=Indonesia\r
+ActLangIndonesianName=Indonesian\r
+ActLangHiINTip=inIndian Hindi\r
+ActLangHiINName=inHindi (India)\r
+ActLangFaIRTip=inIranian Farsi (Persian)\r
+ActLangFaIRName=inFarsi (Iran)\r
+ActLangArEGTip=inEgyptian Arabic\r
+ActLangArEGName=inArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_ja.properties b/org/tjworld/vista/cid/CIDresources_ja.properties
new file mode 100644 (file)
index 0000000..d7b86c5
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=jaPreferences...\r
+mOptLFTip=jaSelect preferred Look and Feel environment\r
+tColMod=jaColour Model\r
+ActDiscTip=jaEnd remote session\r
+ActCreFltTip=jaImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=jaPlay\r
+ActSwatchTip=jaChoose from a controlled range of colours\r
+ActRecName=jaRecord\r
+mConnectName=jaConnection\r
+mOptSwatName=jaSwatches\r
+mOptPatName=jaPatterns\r
+ActToCookTip=jaAssociate with this web site only\r
+ActConnectTip=jaConnect to Director\r
+ActQubeTip=jaPoint & drag\r
+Act2UpTip=jaComparitive discovery\r
+ActHelpConName=jaContents\r
+ActPauseTip=jaSuspend direction temporarily\r
+mOptSwatChosTip=jaSelect current swatch set\r
+mOptPatChosTip=jaSelect current pattern\r
+msgStatRdy=jaReady\r
+mOptDirName=jaDirected\r
+ActPauseName=jaPause\r
+ActSaveAsName=jaSave As\r
+ActHelpAbtName=jaAbout\r
+ActHelpSrcTip=jaFind specific information\r
+ActProTip=jaLoad & save personal profile\r
+mOptReadTip=jaTemplate preferences\r
+mOptDynName=jaDynamic VisTA.Web page\r
+ActOptDirDisTip=jaEnd session\r
+tTemplTitle=jaTemplate\r
+ActOptLangTip=jaChoose a language\r
+ActHelpWebName=jaOn the Web...\r
+mOptScrPrefsTip=jaScripting preferences\r
+ActSendToVistaTip=jaDirect to the VisTA.db server via Internet\r
+ActRGBTip=jaRed Green Blue\r
+ActToCookName=jaTo Cookie\r
+ActDirectTip=jaRemotely directed\r
+ActOpenTip=jaFetch an existing profile\r
+ActLangFrName=jaFrench\r
+mOptDirPrefsTip=jaConnection settings\r
+mOptPatChosName=jaChoose...\r
+mOptSwatChosName=jaChoose...\r
+ActOptDirTip=jaRemote control preferences\r
+mHelpIdxTip=jaComplete list\r
+tTintTitle=jaTint %\r
+ActPrintName=jaPrint...\r
+ActSendToVistaName=jaSend to VisTA Database...\r
+ActProPropsName=jaProperties\r
+mModName=jaModel\r
+ActLangBritTip=jaUK English\r
+mOptReadPrefsName=jaPreferences...\r
+mOptVistaDBTip=jaConfigure VisTA.Web services\r
+ActPlayTip=jaPlayback script\r
+ActHelpExpName=jaExplain\r
+mOptDirPrefsName=jaPreferences...\r
+mOptDirTip=jaRemote control preferences\r
+ActHelpExpTip=jaHelp as-you-go\r
+mOptTbarName=jaToolbar\r
+ActNewTip=jaBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=jaUpdate current web page\r
+ActAutoName=jaAutomatic\r
+ActFltWinTip=jaFilter the entire CID window\r
+ActPageSetTip=jaConfigure the printer layout\r
+mOptChosName=jaChoose...\r
+ActDiscName=jaDisconnect\r
+ActDynVistaName=jaDynamic VisTA.Web\r
+mOptTemplCustName=jaCustomize...\r
+mOptSwatCustTip=jaConfigure swatch sets\r
+mOptPatCustTip=jaConfigure templates\r
+ActPropsName=jaProperties\r
+ActBothEyesTip=jaCombined left & right eye testing\r
+ActLangBritName=jaBritish\r
+ActAltTip=jaAlternates quickly between 2 templates\r
+ActConnectName=jaConnect\r
+msgVistaBuild=jaVisTA.CID built 21 October, 2001\r
+ActPrintTip=jaSend to the default printer\r
+mOptLangName=jaLanguage\r
+mColourModelName=jaColour Model\r
+ActSaveName=jaSave\r
+ActCYMKName=jaCYMK\r
+ActRGBName=jaRGB\r
+ActDirectName=jaDirected\r
+ActOptLangDefTip=jaAuthor's original language\r
+ActQubeName=jaQube\r
+ActManualTip=jaUser-directed discovery\r
+ActOptDirConName=jaConnect\r
+mOptPatPrefsName=jaPreferences...\r
+mOptSwatPrefsName=jaPreferences...\r
+ActPropsTip=jaPersonal profile characteristics\r
+ActFltTmplName=jaTemplate\r
+ActOptDirName=jaDirected\r
+mHelpAbtTip=jaLicence & author information\r
+ActFltScrName=jaScreen\r
+mOptReadChosName=jaChoose...\r
+ActHSBName=jaHSB\r
+ActLangFrTip=jaEuropean French\r
+ActSaveTip=jaStore current profile\r
+ActPatTip=jaDisruptive pattern template\r
+ActOpenName=jaLoad...\r
+ActProName=jaProfile\r
+ActOptDynName=jaDynamic VisTA.Web\r
+ActTriTip=jaPoint & click\r
+ActHelpName=jaHelp\r
+ActPatName=jaPatterns\r
+ActNewName=jaNew\r
+mOptScrChosTip=jaSelect the script to play\r
+ActLangDefTip=jaSystem defined language\r
+ActCreFltName=jaCreate Filter PNG...\r
+ActFrCookTip=jaAssociated with this web site only\r
+ActOptDirSusName=jaSuspend direction temporarily\r
+ActFltTmplTip=jaFilter the template document only\r
+mOptReadName=jaReading\r
+ActStopTip=jaStop playback of script\r
+Act2UpName=ja2-Up\r
+ActOptDirPauTip=jaSuspend direction temporarily\r
+ActLangGerName=jaGerman\r
+ActToVistaPageName=jaTo this VisTA.Web page\r
+ActSysColTip=jaUse system colour chooser\r
+mTemplName=jaTemplate\r
+ActOptVistaDBName=jaVisTA.DB...\r
+tToolBarTip=jaDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=jaTextual disruption template\r
+ActWheelTip=jaPoint & click\r
+ActHelpIdxTip=jaComplete list\r
+ActLangSpanTip=jaEuropean Spanish\r
+ActFltWinName=jaWindow\r
+ActHelpTip=jaSupport & additional information\r
+ActLangGerTip=jaEuropean German\r
+mColourName=jaColour\r
+Act1UpTip=jaProgressive discovery\r
+ActStopName=jaStop\r
+mHelpIdxName=jaIndex\r
+mOptFltName=jaFilter\r
+tColView=jaColour View\r
+ActSysColName=jaSystem Chooser\r
+ActPageSetName=jaPage Setup...\r
+mOptSwatPrefsTip=jaSwatch preferences\r
+mOptPatPrefsTip=jaPattern Preferences\r
+ActDelTip=jaDelete a profile\r
+mOptSwatTip=jaChoose from a limited range of spot colours\r
+mOptPatTip=jaTemplate preferences\r
+ActOptLangName=jaLanguage\r
+mEyesName=jaEyes\r
+ActAutoTip=jaCID-directed discovery\r
+mTbarTbarName=jaToolbar\r
+mOptScrChosName=jaChoose...\r
+ActLangDefName=jaDefault\r
+tTintTip=jaAdjust transparency of Filter\r
+ActScriptTip=jaPlayback of a recorded script\r
+ActRecTip=jaRecord a script\r
+ActOptPrefsName=jaPreferences...\r
+ActSwatchName=jaSwatches\r
+mHelpName=jaHelp\r
+ActHSBTip=jaHue Saturation Brightness\r
+mOptReadChosTip=jaSelect current text\r
+mOptPrefsName=jaPreferences...\r
+mOptFltTip=jaChoose elements to view through filter\r
+ActFrCookName=jaFrom Cookie\r
+mHelpAbtName=jaAbout\r
+ActOptScriptTip=jaPlayback of a recorded script\r
+ActHelpConTip=jaHelp topics\r
+mOptLangTip=jaChoose a language\r
+mOptScrName=jaScripting\r
+ActDelName=jaDelete...\r
+tTemplMod=jaTemplate presentation model\r
+ActHelpAbtTip=jaLicence & author information\r
+ActHelpWebTip=jaOn the Web...\r
+tTemplCntrlTitle=jaTemplate Controls\r
+ActOptDirPrefsTip=jaConnection settings\r
+ActFltScrTip=jaFilter the entire screen\r
+ActReadName=jaReading\r
+tVistaAppTitle=jaVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=jaConnect to Director\r
+ActOptDirPauName=jaPause\r
+ActOptLangDefName=jaDefault\r
+ActBothEyesName=jaBoth Eyes\r
+mOptScrTip=jaScripting preferences\r
+ActHelpSrcName=jaSearch...\r
+ActSaveAsTip=jaSave to a different file\r
+ActSepEyesName=jaSeparate Eyes\r
+ActOptScriptName=jaScript\r
+mOptTemplCustTip=jaConfigure templates\r
+ActCYMKTip=jaCyan Yellow Magenta blacK\r
+ActWheelName=jaWheel\r
+mOptName=jaOptions\r
+mTbarTbarTip=jaShow or hide the tool bar\r
+ActOptDirDisName=jaDisconnect\r
+ActSepEyesTip=jaIndividual left & right eye testing\r
+mHelpExpTip=jaHelp as-you-go\r
+mOptLFName=jaLook & Feel\r
+mProName=jaProfile\r
+mOptReadPrefsTip=jaReading Preferences\r
+tEyeMod=jaEye model\r
+Act1UpName=ja1-Up\r
+ActOptDynTip=jaAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=jaDirector\r
+mHelpExpName=jaExplain\r
+mOptTbarTip=jaChoose which tools are shown on toolbar\r
+ActHelpIdxName=jaIndex\r
+ActLangSpanName=jaSpanish\r
+ActDynVistaTip=jaAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=jaConfigure VisTA.Web services\r
+mOptVistaDBName=jaVisTA.DB...\r
+mDirName=jaDirector\r
+mColourViewName=jaColour View\r
+mOptDynTip=jaAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=jaScript\r
+ActProPropsTip=jaCurrent profile information\r
+ActTriName=jaTriangle\r
+ActManualName=jaManual\r
+ActAltName=jaAlternate\r
+ActLangPortugueseName=jaPortuguese\r
+ActLangChineseTip=jaChina\r
+ActLangChineseName=jaChinese\r
+ActLangUrduTip=jaPakistan\r
+ActLangUrduName=jaUrdu\r
+ActLangSwedishTip=jaSweden\r
+ActLangSwedishName=jaSwedish\r
+ActLangRussianTip=jaRussia\r
+ActLangRussianName=jaRussian\r
+ActLangPortugueseTip=jaPortugal\r
+ActLangPashtoTip=jaAfghanistan\r
+ActLangPashtoName=jaPashto (Afghanistan)\r
+ActLangDutchTip=jaNetherlands\r
+ActLangDutchName=jaDutch\r
+ActLangJapaneseTip=Japan\r
+ActLangJapaneseName=Japanese\r
+ActLangIndonesianTip=jaIndonesia\r
+ActLangIndonesianName=jaIndonesian\r
+ActLangHiINTip=jaIndian Hindi\r
+ActLangHiINName=jaHindi (India)\r
+ActLangFaIRTip=jaIranian Farsi (Persian)\r
+ActLangFaIRName=jaFarsi (Iran)\r
+ActLangArEGTip=jaEgyptian Arabic\r
+ActLangArEGName=jaArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_nl.properties b/org/tjworld/vista/cid/CIDresources_nl.properties
new file mode 100644 (file)
index 0000000..817e64c
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=nlPreferences...\r
+mOptLFTip=nlSelect preferred Look and Feel environment\r
+tColMod=nlColour Model\r
+ActDiscTip=nlEnd remote session\r
+ActCreFltTip=nlImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=nlPlay\r
+ActSwatchTip=nlChoose from a controlled range of colours\r
+ActRecName=nlRecord\r
+mConnectName=nlConnection\r
+mOptSwatName=nlSwatches\r
+mOptPatName=nlPatterns\r
+ActToCookTip=nlAssociate with this web site only\r
+ActConnectTip=nlConnect to Director\r
+ActQubeTip=nlPoint & drag\r
+Act2UpTip=nlComparitive discovery\r
+ActHelpConName=nlContents\r
+ActPauseTip=nlSuspend direction temporarily\r
+mOptSwatChosTip=nlSelect current swatch set\r
+mOptPatChosTip=nlSelect current pattern\r
+msgStatRdy=nlReady\r
+mOptDirName=nlDirected\r
+ActPauseName=nlPause\r
+ActSaveAsName=nlSave As\r
+ActHelpAbtName=nlAbout\r
+ActHelpSrcTip=nlFind specific information\r
+ActProTip=nlLoad & save personal profile\r
+mOptReadTip=nlTemplate preferences\r
+mOptDynName=nlDynamic VisTA.Web page\r
+ActOptDirDisTip=nlEnd session\r
+tTemplTitle=nlTemplate\r
+ActOptLangTip=nlChoose a language\r
+ActHelpWebName=nlOn the Web...\r
+mOptScrPrefsTip=nlScripting preferences\r
+ActSendToVistaTip=nlDirect to the VisTA.db server via Internet\r
+ActRGBTip=nlRed Green Blue\r
+ActToCookName=nlTo Cookie\r
+ActDirectTip=nlRemotely directed\r
+ActOpenTip=nlFetch an existing profile\r
+ActLangFrName=nlFrench\r
+mOptDirPrefsTip=nlConnection settings\r
+mOptPatChosName=nlChoose...\r
+mOptSwatChosName=nlChoose...\r
+ActOptDirTip=nlRemote control preferences\r
+mHelpIdxTip=nlComplete list\r
+tTintTitle=nlTint %\r
+ActPrintName=nlPrint...\r
+ActSendToVistaName=nlSend to VisTA Database...\r
+ActProPropsName=nlProperties\r
+mModName=nlModel\r
+ActLangBritTip=nlUK English\r
+mOptReadPrefsName=nlPreferences...\r
+mOptVistaDBTip=nlConfigure VisTA.Web services\r
+ActPlayTip=nlPlayback script\r
+ActHelpExpName=nlExplain\r
+mOptDirPrefsName=nlPreferences...\r
+mOptDirTip=nlRemote control preferences\r
+ActHelpExpTip=nlHelp as-you-go\r
+mOptTbarName=nlToolbar\r
+ActNewTip=nlBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=nlUpdate current web page\r
+ActAutoName=nlAutomatic\r
+ActFltWinTip=nlFilter the entire CID window\r
+ActPageSetTip=nlConfigure the printer layout\r
+mOptChosName=nlChoose...\r
+ActDiscName=nlDisconnect\r
+ActDynVistaName=nlDynamic VisTA.Web\r
+mOptTemplCustName=nlCustomize...\r
+mOptSwatCustTip=nlConfigure swatch sets\r
+mOptPatCustTip=nlConfigure templates\r
+ActPropsName=nlProperties\r
+ActBothEyesTip=nlCombined left & right eye testing\r
+ActLangBritName=nlBritish\r
+ActAltTip=nlAlternates quickly between 2 templates\r
+ActConnectName=nlConnect\r
+msgVistaBuild=nlVisTA.CID built 21 October, 2001\r
+ActPrintTip=nlSend to the default printer\r
+mOptLangName=nlLanguage\r
+mColourModelName=nlColour Model\r
+ActSaveName=nlSave\r
+ActCYMKName=nlCYMK\r
+ActRGBName=nlRGB\r
+ActDirectName=nlDirected\r
+ActOptLangDefTip=nlAuthor's original language\r
+ActQubeName=nlQube\r
+ActManualTip=nlUser-directed discovery\r
+ActOptDirConName=nlConnect\r
+mOptPatPrefsName=nlPreferences...\r
+mOptSwatPrefsName=nlPreferences...\r
+ActPropsTip=nlPersonal profile characteristics\r
+ActFltTmplName=nlTemplate\r
+ActOptDirName=nlDirected\r
+mHelpAbtTip=nlLicence & author information\r
+ActFltScrName=nlScreen\r
+mOptReadChosName=nlChoose...\r
+ActHSBName=nlHSB\r
+ActLangFrTip=nlEuropean French\r
+ActSaveTip=nlStore current profile\r
+ActPatTip=nlDisruptive pattern template\r
+ActOpenName=nlLoad...\r
+ActProName=nlProfile\r
+ActOptDynName=nlDynamic VisTA.Web\r
+ActTriTip=nlPoint & click\r
+ActHelpName=nlHelp\r
+ActPatName=nlPatterns\r
+ActNewName=nlNew\r
+mOptScrChosTip=nlSelect the script to play\r
+ActLangDefTip=nlSystem defined language\r
+ActCreFltName=nlCreate Filter PNG...\r
+ActFrCookTip=nlAssociated with this web site only\r
+ActOptDirSusName=nlSuspend direction temporarily\r
+ActFltTmplTip=nlFilter the template document only\r
+mOptReadName=nlReading\r
+ActStopTip=nlStop playback of script\r
+Act2UpName=nl2-Up\r
+ActOptDirPauTip=nlSuspend direction temporarily\r
+ActLangGerName=nlGerman\r
+ActToVistaPageName=nlTo this VisTA.Web page\r
+ActSysColTip=nlUse system colour chooser\r
+mTemplName=nlTemplate\r
+ActOptVistaDBName=nlVisTA.DB...\r
+tToolBarTip=nlDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=nlTextual disruption template\r
+ActWheelTip=nlPoint & click\r
+ActHelpIdxTip=nlComplete list\r
+ActLangSpanTip=nlEuropean Spanish\r
+ActFltWinName=nlWindow\r
+ActHelpTip=nlSupport & additional information\r
+ActLangGerTip=nlEuropean German\r
+mColourName=nlColour\r
+Act1UpTip=nlProgressive discovery\r
+ActStopName=nlStop\r
+mHelpIdxName=nlIndex\r
+mOptFltName=nlFilter\r
+tColView=nlColour View\r
+ActSysColName=nlSystem Chooser\r
+ActPageSetName=nlPage Setup...\r
+mOptSwatPrefsTip=nlSwatch preferences\r
+mOptPatPrefsTip=nlPattern Preferences\r
+ActDelTip=nlDelete a profile\r
+mOptSwatTip=nlChoose from a limited range of spot colours\r
+mOptPatTip=nlTemplate preferences\r
+ActOptLangName=nlLanguage\r
+mEyesName=nlEyes\r
+ActAutoTip=nlCID-directed discovery\r
+mTbarTbarName=nlToolbar\r
+mOptScrChosName=nlChoose...\r
+ActLangDefName=nlDefault\r
+tTintTip=nlAdjust transparency of Filter\r
+ActScriptTip=nlPlayback of a recorded script\r
+ActRecTip=nlRecord a script\r
+ActOptPrefsName=nlPreferences...\r
+ActSwatchName=nlSwatches\r
+mHelpName=nlHelp\r
+ActHSBTip=nlHue Saturation Brightness\r
+mOptReadChosTip=nlSelect current text\r
+mOptPrefsName=nlPreferences...\r
+mOptFltTip=nlChoose elements to view through filter\r
+ActFrCookName=nlFrom Cookie\r
+mHelpAbtName=nlAbout\r
+ActOptScriptTip=nlPlayback of a recorded script\r
+ActHelpConTip=nlHelp topics\r
+mOptLangTip=nlChoose a language\r
+mOptScrName=nlScripting\r
+ActDelName=nlDelete...\r
+tTemplMod=nlTemplate presentation model\r
+ActHelpAbtTip=nlLicence & author information\r
+ActHelpWebTip=nlOn the Web...\r
+tTemplCntrlTitle=nlTemplate Controls\r
+ActOptDirPrefsTip=nlConnection settings\r
+ActFltScrTip=nlFilter the entire screen\r
+ActReadName=nlReading\r
+tVistaAppTitle=nlVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=nlConnect to Director\r
+ActOptDirPauName=nlPause\r
+ActOptLangDefName=nlDefault\r
+ActBothEyesName=nlBoth Eyes\r
+mOptScrTip=nlScripting preferences\r
+ActHelpSrcName=nlSearch...\r
+ActSaveAsTip=nlSave to a different file\r
+ActSepEyesName=nlSeparate Eyes\r
+ActOptScriptName=nlScript\r
+mOptTemplCustTip=nlConfigure templates\r
+ActCYMKTip=nlCyan Yellow Magenta blacK\r
+ActWheelName=nlWheel\r
+mOptName=nlOptions\r
+mTbarTbarTip=nlShow or hide the tool bar\r
+ActOptDirDisName=nlDisconnect\r
+ActSepEyesTip=nlIndividual left & right eye testing\r
+mHelpExpTip=nlHelp as-you-go\r
+mOptLFName=nlLook & Feel\r
+mProName=nlProfile\r
+mOptReadPrefsTip=nlReading Preferences\r
+tEyeMod=nlEye model\r
+Act1UpName=nl1-Up\r
+ActOptDynTip=nlAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=nlDirector\r
+mHelpExpName=nlExplain\r
+mOptTbarTip=nlChoose which tools are shown on toolbar\r
+ActHelpIdxName=nlIndex\r
+ActLangSpanName=nlSpanish\r
+ActDynVistaTip=nlAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=nlConfigure VisTA.Web services\r
+mOptVistaDBName=nlVisTA.DB...\r
+mDirName=nlDirector\r
+mColourViewName=nlColour View\r
+mOptDynTip=nlAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=nlScript\r
+ActProPropsTip=nlCurrent profile information\r
+ActTriName=nlTriangle\r
+ActManualName=nlManual\r
+ActAltName=nlAlternate\r
+ActLangPortugueseName=nlPortuguese\r
+ActLangChineseTip=nlChina\r
+ActLangChineseName=nlChinese\r
+ActLangUrduTip=nlPakistan\r
+ActLangUrduName=nlUrdu\r
+ActLangSwedishTip=nlSweden\r
+ActLangSwedishName=nlSwedish\r
+ActLangRussianTip=nlRussia\r
+ActLangRussianName=nlRussian\r
+ActLangPortugueseTip=nlPortugal\r
+ActLangPashtoTip=nlAfghanistan\r
+ActLangPashtoName=nlPashto (Afghanistan)\r
+ActLangDutchTip=nlNetherlands\r
+ActLangDutchName=nlDutch\r
+ActLangJapaneseTip=nlJapan\r
+ActLangJapaneseName=nlJapanese\r
+ActLangIndonesianTip=nlIndonesia\r
+ActLangIndonesianName=nlIndonesian\r
+ActLangHiINTip=nlIndian Hindi\r
+ActLangHiINName=nlHindi (India)\r
+ActLangFaIRTip=nlIranian Farsi (Persian)\r
+ActLangFaIRName=nlFarsi (Iran)\r
+ActLangArEGTip=nlEgyptian Arabic\r
+ActLangArEGName=nlArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_ps.properties b/org/tjworld/vista/cid/CIDresources_ps.properties
new file mode 100644 (file)
index 0000000..8c0562f
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=psPreferences...\r
+mOptLFTip=psSelect preferred Look and Feel environment\r
+tColMod=psColour Model\r
+ActDiscTip=psEnd remote session\r
+ActCreFltTip=psImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=psPlay\r
+ActSwatchTip=psChoose from a controlled range of colours\r
+ActRecName=psRecord\r
+mConnectName=psConnection\r
+mOptSwatName=psSwatches\r
+mOptPatName=psPatterns\r
+ActToCookTip=psAssociate with this web site only\r
+ActConnectTip=psConnect to Director\r
+ActQubeTip=psPoint & drag\r
+Act2UpTip=psComparitive discovery\r
+ActHelpConName=psContents\r
+ActPauseTip=psSuspend direction temporarily\r
+mOptSwatChosTip=psSelect current swatch set\r
+mOptPatChosTip=psSelect current pattern\r
+msgStatRdy=psReady\r
+mOptDirName=psDirected\r
+ActPauseName=psPause\r
+ActSaveAsName=psSave As\r
+ActHelpAbtName=psAbout\r
+ActHelpSrcTip=psFind specific information\r
+ActProTip=psLoad & save personal profile\r
+mOptReadTip=psTemplate preferences\r
+mOptDynName=psDynamic VisTA.Web page\r
+ActOptDirDisTip=psEnd session\r
+tTemplTitle=psTemplate\r
+ActOptLangTip=psChoose a language\r
+ActHelpWebName=psOn the Web...\r
+mOptScrPrefsTip=psScripting preferences\r
+ActSendToVistaTip=psDirect to the VisTA.db server via Internet\r
+ActRGBTip=psRed Green Blue\r
+ActToCookName=psTo Cookie\r
+ActDirectTip=psRemotely directed\r
+ActOpenTip=psFetch an existing profile\r
+ActLangFrName=psFrench\r
+mOptDirPrefsTip=psConnection settings\r
+mOptPatChosName=psChoose...\r
+mOptSwatChosName=psChoose...\r
+ActOptDirTip=psRemote control preferences\r
+mHelpIdxTip=psComplete list\r
+tTintTitle=psTint %\r
+ActPrintName=psPrint...\r
+ActSendToVistaName=psSend to VisTA Database...\r
+ActProPropsName=psProperties\r
+mModName=psModel\r
+ActLangBritTip=psUK English\r
+mOptReadPrefsName=psPreferences...\r
+mOptVistaDBTip=psConfigure VisTA.Web services\r
+ActPlayTip=psPlayback script\r
+ActHelpExpName=psExplain\r
+mOptDirPrefsName=psPreferences...\r
+mOptDirTip=psRemote control preferences\r
+ActHelpExpTip=psHelp as-you-go\r
+mOptTbarName=psToolbar\r
+ActNewTip=psBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=psUpdate current web page\r
+ActAutoName=psAutomatic\r
+ActFltWinTip=psFilter the entire CID window\r
+ActPageSetTip=psConfigure the printer layout\r
+mOptChosName=psChoose...\r
+ActDiscName=psDisconnect\r
+ActDynVistaName=psDynamic VisTA.Web\r
+mOptTemplCustName=psCustomize...\r
+mOptSwatCustTip=psConfigure swatch sets\r
+mOptPatCustTip=psConfigure templates\r
+ActPropsName=psProperties\r
+ActBothEyesTip=psCombined left & right eye testing\r
+ActLangBritName=psBritish\r
+ActAltTip=psAlternates quickly between 2 templates\r
+ActConnectName=psConnect\r
+msgVistaBuild=psVisTA.CID built 21 October, 2001\r
+ActPrintTip=psSend to the default printer\r
+mOptLangName=psLanguage\r
+mColourModelName=psColour Model\r
+ActSaveName=psSave\r
+ActCYMKName=psCYMK\r
+ActRGBName=psRGB\r
+ActDirectName=psDirected\r
+ActOptLangDefTip=psAuthor's original language\r
+ActQubeName=psQube\r
+ActManualTip=psUser-directed discovery\r
+ActOptDirConName=psConnect\r
+mOptPatPrefsName=psPreferences...\r
+mOptSwatPrefsName=psPreferences...\r
+ActPropsTip=psPersonal profile characteristics\r
+ActFltTmplName=psTemplate\r
+ActOptDirName=psDirected\r
+mHelpAbtTip=psLicence & author information\r
+ActFltScrName=psScreen\r
+mOptReadChosName=psChoose...\r
+ActHSBName=psHSB\r
+ActLangFrTip=psEuropean French\r
+ActSaveTip=psStore current profile\r
+ActPatTip=psDisruptive pattern template\r
+ActOpenName=psLoad...\r
+ActProName=psProfile\r
+ActOptDynName=psDynamic VisTA.Web\r
+ActTriTip=psPoint & click\r
+ActHelpName=psHelp\r
+ActPatName=psPatterns\r
+ActNewName=psNew\r
+mOptScrChosTip=psSelect the script to play\r
+ActLangDefTip=psSystem defined language\r
+ActCreFltName=psCreate Filter PNG...\r
+ActFrCookTip=psAssociated with this web site only\r
+ActOptDirSusName=psSuspend direction temporarily\r
+ActFltTmplTip=psFilter the template document only\r
+mOptReadName=psReading\r
+ActStopTip=psStop playback of script\r
+Act2UpName=ps2-Up\r
+ActOptDirPauTip=psSuspend direction temporarily\r
+ActLangGerName=psGerman\r
+ActToVistaPageName=psTo this VisTA.Web page\r
+ActSysColTip=psUse system colour chooser\r
+mTemplName=psTemplate\r
+ActOptVistaDBName=psVisTA.DB...\r
+tToolBarTip=psDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=psTextual disruption template\r
+ActWheelTip=psPoint & click\r
+ActHelpIdxTip=psComplete list\r
+ActLangSpanTip=psEuropean Spanish\r
+ActFltWinName=psWindow\r
+ActHelpTip=psSupport & additional information\r
+ActLangGerTip=psEuropean German\r
+mColourName=psColour\r
+Act1UpTip=psProgressive discovery\r
+ActStopName=psStop\r
+mHelpIdxName=psIndex\r
+mOptFltName=psFilter\r
+tColView=psColour View\r
+ActSysColName=psSystem Chooser\r
+ActPageSetName=psPage Setup...\r
+mOptSwatPrefsTip=psSwatch preferences\r
+mOptPatPrefsTip=psPattern Preferences\r
+ActDelTip=psDelete a profile\r
+mOptSwatTip=psChoose from a limited range of spot colours\r
+mOptPatTip=psTemplate preferences\r
+ActOptLangName=psLanguage\r
+mEyesName=psEyes\r
+ActAutoTip=psCID-directed discovery\r
+mTbarTbarName=psToolbar\r
+mOptScrChosName=psChoose...\r
+ActLangDefName=psDefault\r
+tTintTip=psAdjust transparency of Filter\r
+ActScriptTip=psPlayback of a recorded script\r
+ActRecTip=psRecord a script\r
+ActOptPrefsName=psPreferences...\r
+ActSwatchName=psSwatches\r
+mHelpName=psHelp\r
+ActHSBTip=psHue Saturation Brightness\r
+mOptReadChosTip=psSelect current text\r
+mOptPrefsName=psPreferences...\r
+mOptFltTip=psChoose elements to view through filter\r
+ActFrCookName=psFrom Cookie\r
+mHelpAbtName=psAbout\r
+ActOptScriptTip=psPlayback of a recorded script\r
+ActHelpConTip=psHelp topics\r
+mOptLangTip=psChoose a language\r
+mOptScrName=psScripting\r
+ActDelName=psDelete...\r
+tTemplMod=psTemplate presentation model\r
+ActHelpAbtTip=psLicence & author information\r
+ActHelpWebTip=psOn the Web...\r
+tTemplCntrlTitle=psTemplate Controls\r
+ActOptDirPrefsTip=psConnection settings\r
+ActFltScrTip=psFilter the entire screen\r
+ActReadName=psReading\r
+tVistaAppTitle=psVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=psConnect to Director\r
+ActOptDirPauName=psPause\r
+ActOptLangDefName=psDefault\r
+ActBothEyesName=psBoth Eyes\r
+mOptScrTip=psScripting preferences\r
+ActHelpSrcName=psSearch...\r
+ActSaveAsTip=psSave to a different file\r
+ActSepEyesName=psSeparate Eyes\r
+ActOptScriptName=psScript\r
+mOptTemplCustTip=psConfigure templates\r
+ActCYMKTip=psCyan Yellow Magenta blacK\r
+ActWheelName=psWheel\r
+mOptName=psOptions\r
+mTbarTbarTip=psShow or hide the tool bar\r
+ActOptDirDisName=psDisconnect\r
+ActSepEyesTip=psIndividual left & right eye testing\r
+mHelpExpTip=psHelp as-you-go\r
+mOptLFName=psLook & Feel\r
+mProName=psProfile\r
+mOptReadPrefsTip=psReading Preferences\r
+tEyeMod=psEye model\r
+Act1UpName=ps1-Up\r
+ActOptDynTip=psAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=psDirector\r
+mHelpExpName=psExplain\r
+mOptTbarTip=psChoose which tools are shown on toolbar\r
+ActHelpIdxName=psIndex\r
+ActLangSpanName=psSpanish\r
+ActDynVistaTip=psAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=psConfigure VisTA.Web services\r
+mOptVistaDBName=psVisTA.DB...\r
+mDirName=psDirector\r
+mColourViewName=psColour View\r
+mOptDynTip=psAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=psScript\r
+ActProPropsTip=psCurrent profile information\r
+ActTriName=psTriangle\r
+ActManualName=psManual\r
+ActAltName=psAlternate\r
+ActLangPortugueseName=psPortuguese\r
+ActLangChineseTip=psChina\r
+ActLangChineseName=psChinese\r
+ActLangUrduTip=psPakistan\r
+ActLangUrduName=psUrdu\r
+ActLangSwedishTip=psSweden\r
+ActLangSwedishName=psSwedish\r
+ActLangRussianTip=psRussia\r
+ActLangRussianName=psRussian\r
+ActLangPortugueseTip=psPortugal\r
+ActLangPashtoTip=psAfghanistan\r
+ActLangPashtoName=psPashto (Afghanistan)\r
+ActLangDutchTip=psNetherlands\r
+ActLangDutchName=psDutch\r
+ActLangJapaneseTip=psJapan\r
+ActLangJapaneseName=psJapanese\r
+ActLangIndonesianTip=psIndonesia\r
+ActLangIndonesianName=psIndonesian\r
+ActLangHiINTip=psIndian Hindi\r
+ActLangHiINName=psHindi (India)\r
+ActLangFaIRTip=psIranian Farsi (Persian)\r
+ActLangFaIRName=psFarsi (Iran)\r
+ActLangArEGTip=psEgyptian Arabic\r
+ActLangArEGName=psArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_pt.properties b/org/tjworld/vista/cid/CIDresources_pt.properties
new file mode 100644 (file)
index 0000000..0c60198
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=ptPreferences...\r
+mOptLFTip=ptSelect preferred Look and Feel environment\r
+tColMod=ptColour Model\r
+ActDiscTip=ptEnd remote session\r
+ActCreFltTip=ptImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=ptPlay\r
+ActSwatchTip=ptChoose from a controlled range of colours\r
+ActRecName=ptRecord\r
+mConnectName=ptConnection\r
+mOptSwatName=ptSwatches\r
+mOptPatName=ptPatterns\r
+ActToCookTip=ptAssociate with this web site only\r
+ActConnectTip=ptConnect to Director\r
+ActQubeTip=ptPoint & drag\r
+Act2UpTip=ptComparitive discovery\r
+ActHelpConName=ptContents\r
+ActPauseTip=ptSuspend direction temporarily\r
+mOptSwatChosTip=ptSelect current swatch set\r
+mOptPatChosTip=ptSelect current pattern\r
+msgStatRdy=ptReady\r
+mOptDirName=ptDirected\r
+ActPauseName=ptPause\r
+ActSaveAsName=ptSave As\r
+ActHelpAbtName=ptAbout\r
+ActHelpSrcTip=ptFind specific information\r
+ActProTip=ptLoad & save personal profile\r
+mOptReadTip=ptTemplate preferences\r
+mOptDynName=ptDynamic VisTA.Web page\r
+ActOptDirDisTip=ptEnd session\r
+tTemplTitle=ptTemplate\r
+ActOptLangTip=ptChoose a language\r
+ActHelpWebName=ptOn the Web...\r
+mOptScrPrefsTip=ptScripting preferences\r
+ActSendToVistaTip=ptDirect to the VisTA.db server via Internet\r
+ActRGBTip=ptRed Green Blue\r
+ActToCookName=ptTo Cookie\r
+ActDirectTip=ptRemotely directed\r
+ActOpenTip=ptFetch an existing profile\r
+ActLangFrName=ptFrench\r
+mOptDirPrefsTip=ptConnection settings\r
+mOptPatChosName=ptChoose...\r
+mOptSwatChosName=ptChoose...\r
+ActOptDirTip=ptRemote control preferences\r
+mHelpIdxTip=ptComplete list\r
+tTintTitle=ptTint %\r
+ActPrintName=ptPrint...\r
+ActSendToVistaName=ptSend to VisTA Database...\r
+ActProPropsName=ptProperties\r
+mModName=ptModel\r
+ActLangBritTip=ptUK English\r
+mOptReadPrefsName=ptPreferences...\r
+mOptVistaDBTip=ptConfigure VisTA.Web services\r
+ActPlayTip=ptPlayback script\r
+ActHelpExpName=ptExplain\r
+mOptDirPrefsName=ptPreferences...\r
+mOptDirTip=ptRemote control preferences\r
+ActHelpExpTip=ptHelp as-you-go\r
+mOptTbarName=ptToolbar\r
+ActNewTip=ptBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=ptUpdate current web page\r
+ActAutoName=ptAutomatic\r
+ActFltWinTip=ptFilter the entire CID window\r
+ActPageSetTip=ptConfigure the printer layout\r
+mOptChosName=ptChoose...\r
+ActDiscName=ptDisconnect\r
+ActDynVistaName=ptDynamic VisTA.Web\r
+mOptTemplCustName=ptCustomize...\r
+mOptSwatCustTip=ptConfigure swatch sets\r
+mOptPatCustTip=ptConfigure templates\r
+ActPropsName=ptProperties\r
+ActBothEyesTip=ptCombined left & right eye testing\r
+ActLangBritName=ptBritish\r
+ActAltTip=ptAlternates quickly between 2 templates\r
+ActConnectName=ptConnect\r
+msgVistaBuild=ptVisTA.CID built 21 October, 2001\r
+ActPrintTip=ptSend to the default printer\r
+mOptLangName=ptLanguage\r
+mColourModelName=ptColour Model\r
+ActSaveName=ptSave\r
+ActCYMKName=ptCYMK\r
+ActRGBName=ptRGB\r
+ActDirectName=ptDirected\r
+ActOptLangDefTip=ptAuthor's original language\r
+ActQubeName=ptQube\r
+ActManualTip=ptUser-directed discovery\r
+ActOptDirConName=ptConnect\r
+mOptPatPrefsName=ptPreferences...\r
+mOptSwatPrefsName=ptPreferences...\r
+ActPropsTip=ptPersonal profile characteristics\r
+ActFltTmplName=ptTemplate\r
+ActOptDirName=ptDirected\r
+mHelpAbtTip=ptLicence & author information\r
+ActFltScrName=ptScreen\r
+mOptReadChosName=ptChoose...\r
+ActHSBName=ptHSB\r
+ActLangFrTip=ptEuropean French\r
+ActSaveTip=ptStore current profile\r
+ActPatTip=ptDisruptive pattern template\r
+ActOpenName=ptLoad...\r
+ActProName=ptProfile\r
+ActOptDynName=ptDynamic VisTA.Web\r
+ActTriTip=ptPoint & click\r
+ActHelpName=ptHelp\r
+ActPatName=ptPatterns\r
+ActNewName=ptNew\r
+mOptScrChosTip=ptSelect the script to play\r
+ActLangDefTip=ptSystem defined language\r
+ActCreFltName=ptCreate Filter PNG...\r
+ActFrCookTip=ptAssociated with this web site only\r
+ActOptDirSusName=ptSuspend direction temporarily\r
+ActFltTmplTip=ptFilter the template document only\r
+mOptReadName=ptReading\r
+ActStopTip=ptStop playback of script\r
+Act2UpName=pt2-Up\r
+ActOptDirPauTip=ptSuspend direction temporarily\r
+ActLangGerName=ptGerman\r
+ActToVistaPageName=ptTo this VisTA.Web page\r
+ActSysColTip=ptUse system colour chooser\r
+mTemplName=ptTemplate\r
+ActOptVistaDBName=ptVisTA.DB...\r
+tToolBarTip=ptDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=ptTextual disruption template\r
+ActWheelTip=ptPoint & click\r
+ActHelpIdxTip=ptComplete list\r
+ActLangSpanTip=ptEuropean Spanish\r
+ActFltWinName=ptWindow\r
+ActHelpTip=ptSupport & additional information\r
+ActLangGerTip=ptEuropean German\r
+mColourName=ptColour\r
+Act1UpTip=ptProgressive discovery\r
+ActStopName=ptStop\r
+mHelpIdxName=ptIndex\r
+mOptFltName=ptFilter\r
+tColView=ptColour View\r
+ActSysColName=ptSystem Chooser\r
+ActPageSetName=ptPage Setup...\r
+mOptSwatPrefsTip=ptSwatch preferences\r
+mOptPatPrefsTip=ptPattern Preferences\r
+ActDelTip=ptDelete a profile\r
+mOptSwatTip=ptChoose from a limited range of spot colours\r
+mOptPatTip=ptTemplate preferences\r
+ActOptLangName=ptLanguage\r
+mEyesName=ptEyes\r
+ActAutoTip=ptCID-directed discovery\r
+mTbarTbarName=ptToolbar\r
+mOptScrChosName=ptChoose...\r
+ActLangDefName=ptDefault\r
+tTintTip=ptAdjust transparency of Filter\r
+ActScriptTip=ptPlayback of a recorded script\r
+ActRecTip=ptRecord a script\r
+ActOptPrefsName=ptPreferences...\r
+ActSwatchName=ptSwatches\r
+mHelpName=ptHelp\r
+ActHSBTip=ptHue Saturation Brightness\r
+mOptReadChosTip=ptSelect current text\r
+mOptPrefsName=ptPreferences...\r
+mOptFltTip=ptChoose elements to view through filter\r
+ActFrCookName=ptFrom Cookie\r
+mHelpAbtName=ptAbout\r
+ActOptScriptTip=ptPlayback of a recorded script\r
+ActHelpConTip=ptHelp topics\r
+mOptLangTip=ptChoose a language\r
+mOptScrName=ptScripting\r
+ActDelName=ptDelete...\r
+tTemplMod=ptTemplate presentation model\r
+ActHelpAbtTip=ptLicence & author information\r
+ActHelpWebTip=ptOn the Web...\r
+tTemplCntrlTitle=ptTemplate Controls\r
+ActOptDirPrefsTip=ptConnection settings\r
+ActFltScrTip=ptFilter the entire screen\r
+ActReadName=ptReading\r
+tVistaAppTitle=ptVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=ptConnect to Director\r
+ActOptDirPauName=ptPause\r
+ActOptLangDefName=ptDefault\r
+ActBothEyesName=ptBoth Eyes\r
+mOptScrTip=ptScripting preferences\r
+ActHelpSrcName=ptSearch...\r
+ActSaveAsTip=ptSave to a different file\r
+ActSepEyesName=ptSeparate Eyes\r
+ActOptScriptName=ptScript\r
+mOptTemplCustTip=ptConfigure templates\r
+ActCYMKTip=ptCyan Yellow Magenta blacK\r
+ActWheelName=ptWheel\r
+mOptName=ptOptions\r
+mTbarTbarTip=ptShow or hide the tool bar\r
+ActOptDirDisName=ptDisconnect\r
+ActSepEyesTip=ptIndividual left & right eye testing\r
+mHelpExpTip=ptHelp as-you-go\r
+mOptLFName=ptLook & Feel\r
+mProName=ptProfile\r
+mOptReadPrefsTip=ptReading Preferences\r
+tEyeMod=ptEye model\r
+Act1UpName=pt1-Up\r
+ActOptDynTip=ptAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=ptDirector\r
+mHelpExpName=ptExplain\r
+mOptTbarTip=ptChoose which tools are shown on toolbar\r
+ActHelpIdxName=ptIndex\r
+ActLangSpanName=ptSpanish\r
+ActDynVistaTip=ptAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=ptConfigure VisTA.Web services\r
+mOptVistaDBName=ptVisTA.DB...\r
+mDirName=ptDirector\r
+mColourViewName=ptColour View\r
+mOptDynTip=ptAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=ptScript\r
+ActProPropsTip=ptCurrent profile information\r
+ActTriName=ptTriangle\r
+ActManualName=ptManual\r
+ActAltName=ptAlternate\r
+ActLangPortugueseName=ptPortuguese\r
+ActLangChineseTip=ptChina\r
+ActLangChineseName=ptChinese\r
+ActLangUrduTip=ptPakistan\r
+ActLangUrduName=ptUrdu\r
+ActLangSwedishTip=ptSweden\r
+ActLangSwedishName=ptSwedish\r
+ActLangRussianTip=ptRussia\r
+ActLangRussianName=ptRussian\r
+ActLangPortugueseTip=ptPortugal\r
+ActLangPashtoTip=ptAfghanistan\r
+ActLangPashtoName=ptPashto (Afghanistan)\r
+ActLangDutchTip=ptNetherlands\r
+ActLangDutchName=ptDutch\r
+ActLangJapaneseTip=ptJapan\r
+ActLangJapaneseName=ptJapanese\r
+ActLangIndonesianTip=ptIndonesia\r
+ActLangIndonesianName=ptIndonesian\r
+ActLangHiINTip=ptIndian Hindi\r
+ActLangHiINName=ptHindi (India)\r
+ActLangFaIRTip=ptIranian Farsi (Persian)\r
+ActLangFaIRName=ptFarsi (Iran)\r
+ActLangArEGTip=ptEgyptian Arabic\r
+ActLangArEGName=ptArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_ru.properties b/org/tjworld/vista/cid/CIDresources_ru.properties
new file mode 100644 (file)
index 0000000..f8acc4f
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=ruPreferences...\r
+mOptLFTip=ruSelect preferred Look and Feel environment\r
+tColMod=ruColour Model\r
+ActDiscTip=ruEnd remote session\r
+ActCreFltTip=ruImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=ruPlay\r
+ActSwatchTip=ruChoose from a controlled range of colours\r
+ActRecName=ruRecord\r
+mConnectName=ruConnection\r
+mOptSwatName=ruSwatches\r
+mOptPatName=ruPatterns\r
+ActToCookTip=ruAssociate with this web site only\r
+ActConnectTip=ruConnect to Director\r
+ActQubeTip=ruPoint & drag\r
+Act2UpTip=ruComparitive discovery\r
+ActHelpConName=ruContents\r
+ActPauseTip=ruSuspend direction temporarily\r
+mOptSwatChosTip=ruSelect current swatch set\r
+mOptPatChosTip=ruSelect current pattern\r
+msgStatRdy=ruReady\r
+mOptDirName=ruDirected\r
+ActPauseName=ruPause\r
+ActSaveAsName=ruSave As\r
+ActHelpAbtName=ruAbout\r
+ActHelpSrcTip=ruFind specific information\r
+ActProTip=ruLoad & save personal profile\r
+mOptReadTip=ruTemplate preferences\r
+mOptDynName=ruDynamic VisTA.Web page\r
+ActOptDirDisTip=ruEnd session\r
+tTemplTitle=ruTemplate\r
+ActOptLangTip=ruChoose a language\r
+ActHelpWebName=ruOn the Web...\r
+mOptScrPrefsTip=ruScripting preferences\r
+ActSendToVistaTip=ruDirect to the VisTA.db server via Internet\r
+ActRGBTip=ruRed Green Blue\r
+ActToCookName=ruTo Cookie\r
+ActDirectTip=ruRemotely directed\r
+ActOpenTip=ruFetch an existing profile\r
+ActLangFrName=ruFrench\r
+mOptDirPrefsTip=ruConnection settings\r
+mOptPatChosName=ruChoose...\r
+mOptSwatChosName=ruChoose...\r
+ActOptDirTip=ruRemote control preferences\r
+mHelpIdxTip=ruComplete list\r
+tTintTitle=ruTint %\r
+ActPrintName=ruPrint...\r
+ActSendToVistaName=ruSend to VisTA Database...\r
+ActProPropsName=ruProperties\r
+mModName=ruModel\r
+ActLangBritTip=ruUK English\r
+mOptReadPrefsName=ruPreferences...\r
+mOptVistaDBTip=ruConfigure VisTA.Web services\r
+ActPlayTip=ruPlayback script\r
+ActHelpExpName=ruExplain\r
+mOptDirPrefsName=ruPreferences...\r
+mOptDirTip=ruRemote control preferences\r
+ActHelpExpTip=ruHelp as-you-go\r
+mOptTbarName=ruToolbar\r
+ActNewTip=ruBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=ruUpdate current web page\r
+ActAutoName=ruAutomatic\r
+ActFltWinTip=ruFilter the entire CID window\r
+ActPageSetTip=ruConfigure the printer layout\r
+mOptChosName=ruChoose...\r
+ActDiscName=ruDisconnect\r
+ActDynVistaName=ruDynamic VisTA.Web\r
+mOptTemplCustName=ruCustomize...\r
+mOptSwatCustTip=ruConfigure swatch sets\r
+mOptPatCustTip=ruConfigure templates\r
+ActPropsName=ruProperties\r
+ActBothEyesTip=ruCombined left & right eye testing\r
+ActLangBritName=ruBritish\r
+ActAltTip=ruAlternates quickly between 2 templates\r
+ActConnectName=ruConnect\r
+msgVistaBuild=ruVisTA.CID built 21 October, 2001\r
+ActPrintTip=ruSend to the default printer\r
+mOptLangName=ruLanguage\r
+mColourModelName=ruColour Model\r
+ActSaveName=ruSave\r
+ActCYMKName=ruCYMK\r
+ActRGBName=ruRGB\r
+ActDirectName=ruDirected\r
+ActOptLangDefTip=ruAuthor's original language\r
+ActQubeName=ruQube\r
+ActManualTip=ruUser-directed discovery\r
+ActOptDirConName=ruConnect\r
+mOptPatPrefsName=ruPreferences...\r
+mOptSwatPrefsName=ruPreferences...\r
+ActPropsTip=ruPersonal profile characteristics\r
+ActFltTmplName=ruTemplate\r
+ActOptDirName=ruDirected\r
+mHelpAbtTip=ruLicence & author information\r
+ActFltScrName=ruScreen\r
+mOptReadChosName=ruChoose...\r
+ActHSBName=ruHSB\r
+ActLangFrTip=ruEuropean French\r
+ActSaveTip=ruStore current profile\r
+ActPatTip=ruDisruptive pattern template\r
+ActOpenName=ruLoad...\r
+ActProName=ruProfile\r
+ActOptDynName=ruDynamic VisTA.Web\r
+ActTriTip=ruPoint & click\r
+ActHelpName=ruHelp\r
+ActPatName=ruPatterns\r
+ActNewName=ruNew\r
+mOptScrChosTip=ruSelect the script to play\r
+ActLangDefTip=ruSystem defined language\r
+ActCreFltName=ruCreate Filter PNG...\r
+ActFrCookTip=ruAssociated with this web site only\r
+ActOptDirSusName=ruSuspend direction temporarily\r
+ActFltTmplTip=ruFilter the template document only\r
+mOptReadName=ruReading\r
+ActStopTip=ruStop playback of script\r
+Act2UpName=ru2-Up\r
+ActOptDirPauTip=ruSuspend direction temporarily\r
+ActLangGerName=ruGerman\r
+ActToVistaPageName=ruTo this VisTA.Web page\r
+ActSysColTip=ruUse system colour chooser\r
+mTemplName=ruTemplate\r
+ActOptVistaDBName=ruVisTA.DB...\r
+tToolBarTip=ruDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=ruTextual disruption template\r
+ActWheelTip=ruPoint & click\r
+ActHelpIdxTip=ruComplete list\r
+ActLangSpanTip=ruEuropean Spanish\r
+ActFltWinName=ruWindow\r
+ActHelpTip=ruSupport & additional information\r
+ActLangGerTip=ruEuropean German\r
+mColourName=ruColour\r
+Act1UpTip=ruProgressive discovery\r
+ActStopName=ruStop\r
+mHelpIdxName=ruIndex\r
+mOptFltName=ruFilter\r
+tColView=ruColour View\r
+ActSysColName=ruSystem Chooser\r
+ActPageSetName=ruPage Setup...\r
+mOptSwatPrefsTip=ruSwatch preferences\r
+mOptPatPrefsTip=ruPattern Preferences\r
+ActDelTip=ruDelete a profile\r
+mOptSwatTip=ruChoose from a limited range of spot colours\r
+mOptPatTip=ruTemplate preferences\r
+ActOptLangName=ruLanguage\r
+mEyesName=ruEyes\r
+ActAutoTip=ruCID-directed discovery\r
+mTbarTbarName=ruToolbar\r
+mOptScrChosName=ruChoose...\r
+ActLangDefName=ruDefault\r
+tTintTip=ruAdjust transparency of Filter\r
+ActScriptTip=ruPlayback of a recorded script\r
+ActRecTip=ruRecord a script\r
+ActOptPrefsName=ruPreferences...\r
+ActSwatchName=ruSwatches\r
+mHelpName=ruHelp\r
+ActHSBTip=ruHue Saturation Brightness\r
+mOptReadChosTip=ruSelect current text\r
+mOptPrefsName=ruPreferences...\r
+mOptFltTip=ruChoose elements to view through filter\r
+ActFrCookName=ruFrom Cookie\r
+mHelpAbtName=ruAbout\r
+ActOptScriptTip=ruPlayback of a recorded script\r
+ActHelpConTip=ruHelp topics\r
+mOptLangTip=ruChoose a language\r
+mOptScrName=ruScripting\r
+ActDelName=ruDelete...\r
+tTemplMod=ruTemplate presentation model\r
+ActHelpAbtTip=ruLicence & author information\r
+ActHelpWebTip=ruOn the Web...\r
+tTemplCntrlTitle=ruTemplate Controls\r
+ActOptDirPrefsTip=ruConnection settings\r
+ActFltScrTip=ruFilter the entire screen\r
+ActReadName=ruReading\r
+tVistaAppTitle=ruVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=ruConnect to Director\r
+ActOptDirPauName=ruPause\r
+ActOptLangDefName=ruDefault\r
+ActBothEyesName=ruBoth Eyes\r
+mOptScrTip=ruScripting preferences\r
+ActHelpSrcName=ruSearch...\r
+ActSaveAsTip=ruSave to a different file\r
+ActSepEyesName=ruSeparate Eyes\r
+ActOptScriptName=ruScript\r
+mOptTemplCustTip=ruConfigure templates\r
+ActCYMKTip=ruCyan Yellow Magenta blacK\r
+ActWheelName=ruWheel\r
+mOptName=ruOptions\r
+mTbarTbarTip=ruShow or hide the tool bar\r
+ActOptDirDisName=ruDisconnect\r
+ActSepEyesTip=ruIndividual left & right eye testing\r
+mHelpExpTip=ruHelp as-you-go\r
+mOptLFName=ruLook & Feel\r
+mProName=ruProfile\r
+mOptReadPrefsTip=ruReading Preferences\r
+tEyeMod=ruEye model\r
+Act1UpName=ru1-Up\r
+ActOptDynTip=ruAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=ruDirector\r
+mHelpExpName=ruExplain\r
+mOptTbarTip=ruChoose which tools are shown on toolbar\r
+ActHelpIdxName=ruIndex\r
+ActLangSpanName=ruSpanish\r
+ActDynVistaTip=ruAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=ruConfigure VisTA.Web services\r
+mOptVistaDBName=ruVisTA.DB...\r
+mDirName=ruDirector\r
+mColourViewName=ruColour View\r
+mOptDynTip=ruAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=ruScript\r
+ActProPropsTip=ruCurrent profile information\r
+ActTriName=ruTriangle\r
+ActManualName=ruManual\r
+ActAltName=ruAlternate\r
+ActLangPortugueseName=ruPortuguese\r
+ActLangChineseTip=ruChina\r
+ActLangChineseName=ruChinese\r
+ActLangUrduTip=ruPakistan\r
+ActLangUrduName=ruUrdu\r
+ActLangSwedishTip=ruSweden\r
+ActLangSwedishName=ruSwedish\r
+ActLangRussianTip=russia\r
+ActLangRussianName=russian\r
+ActLangPortugueseTip=ruPortugal\r
+ActLangPashtoTip=ruAfghanistan\r
+ActLangPashtoName=ruPashto (Afghanistan)\r
+ActLangDutchTip=ruNetherlands\r
+ActLangDutchName=ruDutch\r
+ActLangJapaneseTip=ruJapan\r
+ActLangJapaneseName=ruJapanese\r
+ActLangIndonesianTip=ruIndonesia\r
+ActLangIndonesianName=ruIndonesian\r
+ActLangHiINTip=ruIndian Hindi\r
+ActLangHiINName=ruHindi (India)\r
+ActLangFaIRTip=ruIranian Farsi (Persian)\r
+ActLangFaIRName=ruFarsi (Iran)\r
+ActLangArEGTip=ruEgyptian Arabic\r
+ActLangArEGName=ruArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_sv.properties b/org/tjworld/vista/cid/CIDresources_sv.properties
new file mode 100644 (file)
index 0000000..7564762
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=svPreferences...\r
+mOptLFTip=svSelect preferred Look and Feel environment\r
+tColMod=svColour Model\r
+ActDiscTip=svEnd remote session\r
+ActCreFltTip=svImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=svPlay\r
+ActSwatchTip=svChoose from a controlled range of colours\r
+ActRecName=svRecord\r
+mConnectName=svConnection\r
+mOptSwatName=svSwatches\r
+mOptPatName=svPatterns\r
+ActToCookTip=svAssociate with this web site only\r
+ActConnectTip=svConnect to Director\r
+ActQubeTip=svPoint & drag\r
+Act2UpTip=svComparitive discovery\r
+ActHelpConName=svContents\r
+ActPauseTip=svSuspend direction temporarily\r
+mOptSwatChosTip=svSelect current swatch set\r
+mOptPatChosTip=svSelect current pattern\r
+msgStatRdy=svReady\r
+mOptDirName=svDirected\r
+ActPauseName=svPause\r
+ActSaveAsName=svSave As\r
+ActHelpAbtName=svAbout\r
+ActHelpSrcTip=svFind specific information\r
+ActProTip=svLoad & save personal profile\r
+mOptReadTip=svTemplate preferences\r
+mOptDynName=svDynamic VisTA.Web page\r
+ActOptDirDisTip=svEnd session\r
+tTemplTitle=svTemplate\r
+ActOptLangTip=svChoose a language\r
+ActHelpWebName=svOn the Web...\r
+mOptScrPrefsTip=svScripting preferences\r
+ActSendToVistaTip=svDirect to the VisTA.db server via Internet\r
+ActRGBTip=svRed Green Blue\r
+ActToCookName=svTo Cookie\r
+ActDirectTip=svRemotely directed\r
+ActOpenTip=svFetch an existing profile\r
+ActLangFrName=svFrench\r
+mOptDirPrefsTip=svConnection settings\r
+mOptPatChosName=svChoose...\r
+mOptSwatChosName=svChoose...\r
+ActOptDirTip=svRemote control preferences\r
+mHelpIdxTip=svComplete list\r
+tTintTitle=svTint %\r
+ActPrintName=svPrint...\r
+ActSendToVistaName=svSend to VisTA Database...\r
+ActProPropsName=svProperties\r
+mModName=svModel\r
+ActLangBritTip=svUK English\r
+mOptReadPrefsName=svPreferences...\r
+mOptVistaDBTip=svConfigure VisTA.Web services\r
+ActPlayTip=svPlayback script\r
+ActHelpExpName=svExplain\r
+mOptDirPrefsName=svPreferences...\r
+mOptDirTip=svRemote control preferences\r
+ActHelpExpTip=svHelp as-you-go\r
+mOptTbarName=svToolbar\r
+ActNewTip=svBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=svUpdate current web page\r
+ActAutoName=svAutomatic\r
+ActFltWinTip=svFilter the entire CID window\r
+ActPageSetTip=svConfigure the printer layout\r
+mOptChosName=svChoose...\r
+ActDiscName=svDisconnect\r
+ActDynVistaName=svDynamic VisTA.Web\r
+mOptTemplCustName=svCustomize...\r
+mOptSwatCustTip=svConfigure swatch sets\r
+mOptPatCustTip=svConfigure templates\r
+ActPropsName=svProperties\r
+ActBothEyesTip=svCombined left & right eye testing\r
+ActLangBritName=svBritish\r
+ActAltTip=svAlternates quickly between 2 templates\r
+ActConnectName=svConnect\r
+msgVistaBuild=svVisTA.CID built 21 October, 2001\r
+ActPrintTip=svSend to the default printer\r
+mOptLangName=svLanguage\r
+mColourModelName=svColour Model\r
+ActSaveName=svSave\r
+ActCYMKName=svCYMK\r
+ActRGBName=svRGB\r
+ActDirectName=svDirected\r
+ActOptLangDefTip=svAuthor's original language\r
+ActQubeName=svQube\r
+ActManualTip=svUser-directed discovery\r
+ActOptDirConName=svConnect\r
+mOptPatPrefsName=svPreferences...\r
+mOptSwatPrefsName=svPreferences...\r
+ActPropsTip=svPersonal profile characteristics\r
+ActFltTmplName=svTemplate\r
+ActOptDirName=svDirected\r
+mHelpAbtTip=svLicence & author information\r
+ActFltScrName=svScreen\r
+mOptReadChosName=svChoose...\r
+ActHSBName=svHSB\r
+ActLangFrTip=svEuropean French\r
+ActSaveTip=svStore current profile\r
+ActPatTip=svDisruptive pattern template\r
+ActOpenName=svLoad...\r
+ActProName=svProfile\r
+ActOptDynName=svDynamic VisTA.Web\r
+ActTriTip=svPoint & click\r
+ActHelpName=svHelp\r
+ActPatName=svPatterns\r
+ActNewName=svNew\r
+mOptScrChosTip=svSelect the script to play\r
+ActLangDefTip=svSystem defined language\r
+ActCreFltName=svCreate Filter PNG...\r
+ActFrCookTip=svAssociated with this web site only\r
+ActOptDirSusName=svSuspend direction temporarily\r
+ActFltTmplTip=svFilter the template document only\r
+mOptReadName=svReading\r
+ActStopTip=svStop playback of script\r
+Act2UpName=sv2-Up\r
+ActOptDirPauTip=svSuspend direction temporarily\r
+ActLangGerName=svGerman\r
+ActToVistaPageName=svTo this VisTA.Web page\r
+ActSysColTip=svUse system colour chooser\r
+mTemplName=svTemplate\r
+ActOptVistaDBName=svVisTA.DB...\r
+tToolBarTip=svDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=svTextual disruption template\r
+ActWheelTip=svPoint & click\r
+ActHelpIdxTip=svComplete list\r
+ActLangSpanTip=svEuropean Spanish\r
+ActFltWinName=svWindow\r
+ActHelpTip=svSupport & additional information\r
+ActLangGerTip=svEuropean German\r
+mColourName=svColour\r
+Act1UpTip=svProgressive discovery\r
+ActStopName=svStop\r
+mHelpIdxName=svIndex\r
+mOptFltName=svFilter\r
+tColView=svColour View\r
+ActSysColName=svSystem Chooser\r
+ActPageSetName=svPage Setup...\r
+mOptSwatPrefsTip=svSwatch preferences\r
+mOptPatPrefsTip=svPattern Preferences\r
+ActDelTip=svDelete a profile\r
+mOptSwatTip=svChoose from a limited range of spot colours\r
+mOptPatTip=svTemplate preferences\r
+ActOptLangName=svLanguage\r
+mEyesName=svEyes\r
+ActAutoTip=svCID-directed discovery\r
+mTbarTbarName=svToolbar\r
+mOptScrChosName=svChoose...\r
+ActLangDefName=svDefault\r
+tTintTip=svAdjust transparency of Filter\r
+ActScriptTip=svPlayback of a recorded script\r
+ActRecTip=svRecord a script\r
+ActOptPrefsName=svPreferences...\r
+ActSwatchName=svSwatches\r
+mHelpName=svHelp\r
+ActHSBTip=svHue Saturation Brightness\r
+mOptReadChosTip=svSelect current text\r
+mOptPrefsName=svPreferences...\r
+mOptFltTip=svChoose elements to view through filter\r
+ActFrCookName=svFrom Cookie\r
+mHelpAbtName=svAbout\r
+ActOptScriptTip=svPlayback of a recorded script\r
+ActHelpConTip=svHelp topics\r
+mOptLangTip=svChoose a language\r
+mOptScrName=svScripting\r
+ActDelName=svDelete...\r
+tTemplMod=svTemplate presentation model\r
+ActHelpAbtTip=svLicence & author information\r
+ActHelpWebTip=svOn the Web...\r
+tTemplCntrlTitle=svTemplate Controls\r
+ActOptDirPrefsTip=svConnection settings\r
+ActFltScrTip=svFilter the entire screen\r
+ActReadName=svReading\r
+tVistaAppTitle=svVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=svConnect to Director\r
+ActOptDirPauName=svPause\r
+ActOptLangDefName=svDefault\r
+ActBothEyesName=svBoth Eyes\r
+mOptScrTip=svScripting preferences\r
+ActHelpSrcName=svSearch...\r
+ActSaveAsTip=svSave to a different file\r
+ActSepEyesName=svSeparate Eyes\r
+ActOptScriptName=svScript\r
+mOptTemplCustTip=svConfigure templates\r
+ActCYMKTip=svCyan Yellow Magenta blacK\r
+ActWheelName=svWheel\r
+mOptName=svOptions\r
+mTbarTbarTip=svShow or hide the tool bar\r
+ActOptDirDisName=svDisconnect\r
+ActSepEyesTip=svIndividual left & right eye testing\r
+mHelpExpTip=svHelp as-you-go\r
+mOptLFName=svLook & Feel\r
+mProName=svProfile\r
+mOptReadPrefsTip=svReading Preferences\r
+tEyeMod=svEye model\r
+Act1UpName=sv1-Up\r
+ActOptDynTip=svAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=svDirector\r
+mHelpExpName=svExplain\r
+mOptTbarTip=svChoose which tools are shown on toolbar\r
+ActHelpIdxName=svIndex\r
+ActLangSpanName=svSpanish\r
+ActDynVistaTip=svAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=svConfigure VisTA.Web services\r
+mOptVistaDBName=svVisTA.DB...\r
+mDirName=svDirector\r
+mColourViewName=svColour View\r
+mOptDynTip=svAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=svScript\r
+ActProPropsTip=svCurrent profile information\r
+ActTriName=svTriangle\r
+ActManualName=svManual\r
+ActAltName=svAlternate\r
+ActLangPortugueseName=svPortuguese\r
+ActLangChineseTip=svChina\r
+ActLangChineseName=svChinese\r
+ActLangUrduTip=svPakistan\r
+ActLangUrduName=svUrdu\r
+ActLangSwedishTip=svSweden\r
+ActLangSwedishName=svSwedish\r
+ActLangRussianTip=svRussia\r
+ActLangRussianName=svRussian\r
+ActLangPortugueseTip=svPortugal\r
+ActLangPashtoTip=svAfghanistan\r
+ActLangPashtoName=svPashto (Afghanistan)\r
+ActLangDutchTip=svNetherlands\r
+ActLangDutchName=svDutch\r
+ActLangJapaneseTip=svJapan\r
+ActLangJapaneseName=svJapanese\r
+ActLangIndonesianTip=svIndonesia\r
+ActLangIndonesianName=svIndonesian\r
+ActLangHiINTip=svIndian Hindi\r
+ActLangHiINName=svHindi (India)\r
+ActLangFaIRTip=svIranian Farsi (Persian)\r
+ActLangFaIRName=svFarsi (Iran)\r
+ActLangArEGTip=svEgyptian Arabic\r
+ActLangArEGName=svArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_ur.properties b/org/tjworld/vista/cid/CIDresources_ur.properties
new file mode 100644 (file)
index 0000000..2831af5
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=urPreferences...\r
+mOptLFTip=urSelect preferred Look and Feel environment\r
+tColMod=urColour Model\r
+ActDiscTip=urEnd remote session\r
+ActCreFltTip=urImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=urPlay\r
+ActSwatchTip=urChoose from a controlled range of colours\r
+ActRecName=urRecord\r
+mConnectName=urConnection\r
+mOptSwatName=urSwatches\r
+mOptPatName=urPatterns\r
+ActToCookTip=urAssociate with this web site only\r
+ActConnectTip=urConnect to Director\r
+ActQubeTip=urPoint & drag\r
+Act2UpTip=urComparitive discovery\r
+ActHelpConName=urContents\r
+ActPauseTip=urSuspend direction temporarily\r
+mOptSwatChosTip=urSelect current swatch set\r
+mOptPatChosTip=urSelect current pattern\r
+msgStatRdy=urReady\r
+mOptDirName=urDirected\r
+ActPauseName=urPause\r
+ActSaveAsName=urSave As\r
+ActHelpAbtName=urAbout\r
+ActHelpSrcTip=urFind specific information\r
+ActProTip=urLoad & save personal profile\r
+mOptReadTip=urTemplate preferences\r
+mOptDynName=urDynamic VisTA.Web page\r
+ActOptDirDisTip=urEnd session\r
+tTemplTitle=urTemplate\r
+ActOptLangTip=urChoose a language\r
+ActHelpWebName=urOn the Web...\r
+mOptScrPrefsTip=urScripting preferences\r
+ActSendToVistaTip=urDirect to the VisTA.db server via Internet\r
+ActRGBTip=urRed Green Blue\r
+ActToCookName=urTo Cookie\r
+ActDirectTip=urRemotely directed\r
+ActOpenTip=urFetch an existing profile\r
+ActLangFrName=urFrench\r
+mOptDirPrefsTip=urConnection settings\r
+mOptPatChosName=urChoose...\r
+mOptSwatChosName=urChoose...\r
+ActOptDirTip=urRemote control preferences\r
+mHelpIdxTip=urComplete list\r
+tTintTitle=urTint %\r
+ActPrintName=urPrint...\r
+ActSendToVistaName=urSend to VisTA Database...\r
+ActProPropsName=urProperties\r
+mModName=urModel\r
+ActLangBritTip=urUK English\r
+mOptReadPrefsName=urPreferences...\r
+mOptVistaDBTip=urConfigure VisTA.Web services\r
+ActPlayTip=urPlayback script\r
+ActHelpExpName=urExplain\r
+mOptDirPrefsName=urPreferences...\r
+mOptDirTip=urRemote control preferences\r
+ActHelpExpTip=urHelp as-you-go\r
+mOptTbarName=urToolbar\r
+ActNewTip=urBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=urUpdate current web page\r
+ActAutoName=urAutomatic\r
+ActFltWinTip=urFilter the entire CID window\r
+ActPageSetTip=urConfigure the printer layout\r
+mOptChosName=urChoose...\r
+ActDiscName=urDisconnect\r
+ActDynVistaName=urDynamic VisTA.Web\r
+mOptTemplCustName=urCustomize...\r
+mOptSwatCustTip=urConfigure swatch sets\r
+mOptPatCustTip=urConfigure templates\r
+ActPropsName=urProperties\r
+ActBothEyesTip=urCombined left & right eye testing\r
+ActLangBritName=urBritish\r
+ActAltTip=urAlternates quickly between 2 templates\r
+ActConnectName=urConnect\r
+msgVistaBuild=urVisTA.CID built 21 October, 2001\r
+ActPrintTip=urSend to the default printer\r
+mOptLangName=urLanguage\r
+mColourModelName=urColour Model\r
+ActSaveName=urSave\r
+ActCYMKName=urCYMK\r
+ActRGBName=urRGB\r
+ActDirectName=urDirected\r
+ActOptLangDefTip=urAuthor's original language\r
+ActQubeName=urQube\r
+ActManualTip=urUser-directed discovery\r
+ActOptDirConName=urConnect\r
+mOptPatPrefsName=urPreferences...\r
+mOptSwatPrefsName=urPreferences...\r
+ActPropsTip=urPersonal profile characteristics\r
+ActFltTmplName=urTemplate\r
+ActOptDirName=urDirected\r
+mHelpAbtTip=urLicence & author information\r
+ActFltScrName=urScreen\r
+mOptReadChosName=urChoose...\r
+ActHSBName=urHSB\r
+ActLangFrTip=urEuropean French\r
+ActSaveTip=urStore current profile\r
+ActPatTip=urDisruptive pattern template\r
+ActOpenName=urLoad...\r
+ActProName=urProfile\r
+ActOptDynName=urDynamic VisTA.Web\r
+ActTriTip=urPoint & click\r
+ActHelpName=urHelp\r
+ActPatName=urPatterns\r
+ActNewName=urNew\r
+mOptScrChosTip=urSelect the script to play\r
+ActLangDefTip=urSystem defined language\r
+ActCreFltName=urCreate Filter PNG...\r
+ActFrCookTip=urAssociated with this web site only\r
+ActOptDirSusName=urSuspend direction temporarily\r
+ActFltTmplTip=urFilter the template document only\r
+mOptReadName=urReading\r
+ActStopTip=urStop playback of script\r
+Act2UpName=ur2-Up\r
+ActOptDirPauTip=urSuspend direction temporarily\r
+ActLangGerName=urGerman\r
+ActToVistaPageName=urTo this VisTA.Web page\r
+ActSysColTip=urUse system colour chooser\r
+mTemplName=urTemplate\r
+ActOptVistaDBName=urVisTA.DB...\r
+tToolBarTip=urDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=urTextual disruption template\r
+ActWheelTip=urPoint & click\r
+ActHelpIdxTip=urComplete list\r
+ActLangSpanTip=urEuropean Spanish\r
+ActFltWinName=urWindow\r
+ActHelpTip=urSupport & additional information\r
+ActLangGerTip=urEuropean German\r
+mColourName=urColour\r
+Act1UpTip=urProgressive discovery\r
+ActStopName=urStop\r
+mHelpIdxName=urIndex\r
+mOptFltName=urFilter\r
+tColView=urColour View\r
+ActSysColName=urSystem Chooser\r
+ActPageSetName=urPage Setup...\r
+mOptSwatPrefsTip=urSwatch preferences\r
+mOptPatPrefsTip=urPattern Preferences\r
+ActDelTip=urDelete a profile\r
+mOptSwatTip=urChoose from a limited range of spot colours\r
+mOptPatTip=urTemplate preferences\r
+ActOptLangName=urLanguage\r
+mEyesName=urEyes\r
+ActAutoTip=urCID-directed discovery\r
+mTbarTbarName=urToolbar\r
+mOptScrChosName=urChoose...\r
+ActLangDefName=urDefault\r
+tTintTip=urAdjust transparency of Filter\r
+ActScriptTip=urPlayback of a recorded script\r
+ActRecTip=urRecord a script\r
+ActOptPrefsName=urPreferences...\r
+ActSwatchName=urSwatches\r
+mHelpName=urHelp\r
+ActHSBTip=urHue Saturation Brightness\r
+mOptReadChosTip=urSelect current text\r
+mOptPrefsName=urPreferences...\r
+mOptFltTip=urChoose elements to view through filter\r
+ActFrCookName=urFrom Cookie\r
+mHelpAbtName=urAbout\r
+ActOptScriptTip=urPlayback of a recorded script\r
+ActHelpConTip=urHelp topics\r
+mOptLangTip=urChoose a language\r
+mOptScrName=urScripting\r
+ActDelName=urDelete...\r
+tTemplMod=urTemplate presentation model\r
+ActHelpAbtTip=urLicence & author information\r
+ActHelpWebTip=urOn the Web...\r
+tTemplCntrlTitle=urTemplate Controls\r
+ActOptDirPrefsTip=urConnection settings\r
+ActFltScrTip=urFilter the entire screen\r
+ActReadName=urReading\r
+tVistaAppTitle=urVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=urConnect to Director\r
+ActOptDirPauName=urPause\r
+ActOptLangDefName=urDefault\r
+ActBothEyesName=urBoth Eyes\r
+mOptScrTip=urScripting preferences\r
+ActHelpSrcName=urSearch...\r
+ActSaveAsTip=urSave to a different file\r
+ActSepEyesName=urSeparate Eyes\r
+ActOptScriptName=urScript\r
+mOptTemplCustTip=urConfigure templates\r
+ActCYMKTip=urCyan Yellow Magenta blacK\r
+ActWheelName=urWheel\r
+mOptName=urOptions\r
+mTbarTbarTip=urShow or hide the tool bar\r
+ActOptDirDisName=urDisconnect\r
+ActSepEyesTip=urIndividual left & right eye testing\r
+mHelpExpTip=urHelp as-you-go\r
+mOptLFName=urLook & Feel\r
+mProName=urProfile\r
+mOptReadPrefsTip=urReading Preferences\r
+tEyeMod=urEye model\r
+Act1UpName=ur1-Up\r
+ActOptDynTip=urAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=urDirector\r
+mHelpExpName=urExplain\r
+mOptTbarTip=urChoose which tools are shown on toolbar\r
+ActHelpIdxName=urIndex\r
+ActLangSpanName=urSpanish\r
+ActDynVistaTip=urAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=urConfigure VisTA.Web services\r
+mOptVistaDBName=urVisTA.DB...\r
+mDirName=urDirector\r
+mColourViewName=urColour View\r
+mOptDynTip=urAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=urScript\r
+ActProPropsTip=urCurrent profile information\r
+ActTriName=urTriangle\r
+ActManualName=urManual\r
+ActAltName=urAlternate\r
+ActLangPortugueseName=urPortuguese\r
+ActLangChineseTip=urChina\r
+ActLangChineseName=urChinese\r
+ActLangUrduTip=urPakistan\r
+ActLangUrduName=urdu\r
+ActLangSwedishTip=urSweden\r
+ActLangSwedishName=urSwedish\r
+ActLangRussianTip=urRussia\r
+ActLangRussianName=urRussian\r
+ActLangPortugueseTip=urPortugal\r
+ActLangPashtoTip=urAfghanistan\r
+ActLangPashtoName=urPashto (Afghanistan)\r
+ActLangDutchTip=urNetherlands\r
+ActLangDutchName=urDutch\r
+ActLangJapaneseTip=urJapan\r
+ActLangJapaneseName=urJapanese\r
+ActLangIndonesianTip=urIndonesia\r
+ActLangIndonesianName=urIndonesian\r
+ActLangHiINTip=urIndian Hindi\r
+ActLangHiINName=urHindi (India)\r
+ActLangFaIRTip=urIranian Farsi (Persian)\r
+ActLangFaIRName=urFarsi (Iran)\r
+ActLangArEGTip=urEgyptian Arabic\r
+ActLangArEGName=urArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/CIDresources_zh.properties b/org/tjworld/vista/cid/CIDresources_zh.properties
new file mode 100644 (file)
index 0000000..b892c01
--- /dev/null
@@ -0,0 +1,235 @@
+mOptScrPrefsName=zhPreferences...\r
+mOptLFTip=zhSelect preferred Look and Feel environment\r
+tColMod=zhColour Model\r
+ActDiscTip=zhEnd remote session\r
+ActCreFltTip=zhImage with alpha channel for VisTA.Web overlays\r
+ActPlayName=zhPlay\r
+ActSwatchTip=zhChoose from a controlled range of colours\r
+ActRecName=zhRecord\r
+mConnectName=zhConnection\r
+mOptSwatName=zhSwatches\r
+mOptPatName=zhPatterns\r
+ActToCookTip=zhAssociate with this web site only\r
+ActConnectTip=zhConnect to Director\r
+ActQubeTip=zhPoint & drag\r
+Act2UpTip=zhComparitive discovery\r
+ActHelpConName=zhContents\r
+ActPauseTip=zhSuspend direction temporarily\r
+mOptSwatChosTip=zhSelect current swatch set\r
+mOptPatChosTip=zhSelect current pattern\r
+msgStatRdy=zhReady\r
+mOptDirName=zhDirected\r
+ActPauseName=zhPause\r
+ActSaveAsName=zhSave As\r
+ActHelpAbtName=zhAbout\r
+ActHelpSrcTip=zhFind specific information\r
+ActProTip=zhLoad & save personal profile\r
+mOptReadTip=zhTemplate preferences\r
+mOptDynName=zhDynamic VisTA.Web page\r
+ActOptDirDisTip=zhEnd session\r
+tTemplTitle=zhTemplate\r
+ActOptLangTip=zhChoose a language\r
+ActHelpWebName=zhOn the Web...\r
+mOptScrPrefsTip=zhScripting preferences\r
+ActSendToVistaTip=zhDirect to the VisTA.db server via Internet\r
+ActRGBTip=zhRed Green Blue\r
+ActToCookName=zhTo Cookie\r
+ActDirectTip=zhRemotely directed\r
+ActOpenTip=zhFetch an existing profile\r
+ActLangFrName=zhFrench\r
+mOptDirPrefsTip=zhConnection settings\r
+mOptPatChosName=zhChoose...\r
+mOptSwatChosName=zhChoose...\r
+ActOptDirTip=zhRemote control preferences\r
+mHelpIdxTip=zhComplete list\r
+tTintTitle=zhTint %\r
+ActPrintName=zhPrint...\r
+ActSendToVistaName=zhSend to VisTA Database...\r
+ActProPropsName=zhProperties\r
+mModName=zhModel\r
+ActLangBritTip=zhUK English\r
+mOptReadPrefsName=zhPreferences...\r
+mOptVistaDBTip=zhConfigure VisTA.Web services\r
+ActPlayTip=zhPlayback script\r
+ActHelpExpName=zhExplain\r
+mOptDirPrefsName=zhPreferences...\r
+mOptDirTip=zhRemote control preferences\r
+ActHelpExpTip=zhHelp as-you-go\r
+mOptTbarName=zhToolbar\r
+ActNewTip=zhBegin a new VisTA.Web Personal Profile\r
+ActToVistaPageTip=zhUpdate current web page\r
+ActAutoName=zhAutomatic\r
+ActFltWinTip=zhFilter the entire CID window\r
+ActPageSetTip=zhConfigure the printer layout\r
+mOptChosName=zhChoose...\r
+ActDiscName=zhDisconnect\r
+ActDynVistaName=zhDynamic VisTA.Web\r
+mOptTemplCustName=zhCustomize...\r
+mOptSwatCustTip=zhConfigure swatch sets\r
+mOptPatCustTip=zhConfigure templates\r
+ActPropsName=zhProperties\r
+ActBothEyesTip=zhCombined left & right eye testing\r
+ActLangBritName=zhBritish\r
+ActAltTip=zhAlternates quickly between 2 templates\r
+ActConnectName=zhConnect\r
+msgVistaBuild=zhVisTA.CID built 21 October, 2001\r
+ActPrintTip=zhSend to the default printer\r
+mOptLangName=zhLanguage\r
+mColourModelName=zhColour Model\r
+ActSaveName=zhSave\r
+ActCYMKName=zhCYMK\r
+ActRGBName=zhRGB\r
+ActDirectName=zhDirected\r
+ActOptLangDefTip=zhAuthor's original language\r
+ActQubeName=zhQube\r
+ActManualTip=zhUser-directed discovery\r
+ActOptDirConName=zhConnect\r
+mOptPatPrefsName=zhPreferences...\r
+mOptSwatPrefsName=zhPreferences...\r
+ActPropsTip=zhPersonal profile characteristics\r
+ActFltTmplName=zhTemplate\r
+ActOptDirName=zhDirected\r
+mHelpAbtTip=zhLicence & author information\r
+ActFltScrName=zhScreen\r
+mOptReadChosName=zhChoose...\r
+ActHSBName=zhHSB\r
+ActLangFrTip=zhEuropean French\r
+ActSaveTip=zhStore current profile\r
+ActPatTip=zhDisruptive pattern template\r
+ActOpenName=zhLoad...\r
+ActProName=zhProfile\r
+ActOptDynName=zhDynamic VisTA.Web\r
+ActTriTip=zhPoint & click\r
+ActHelpName=zhHelp\r
+ActPatName=zhPatterns\r
+ActNewName=zhNew\r
+mOptScrChosTip=zhSelect the script to play\r
+ActLangDefTip=zhSystem defined language\r
+ActCreFltName=zhCreate Filter PNG...\r
+ActFrCookTip=zhAssociated with this web site only\r
+ActOptDirSusName=zhSuspend direction temporarily\r
+ActFltTmplTip=zhFilter the template document only\r
+mOptReadName=zhReading\r
+ActStopTip=zhStop playback of script\r
+Act2UpName=zh2-Up\r
+ActOptDirPauTip=zhSuspend direction temporarily\r
+ActLangGerName=zhGerman\r
+ActToVistaPageName=zhTo this VisTA.Web page\r
+ActSysColTip=zhUse system colour chooser\r
+mTemplName=zhTemplate\r
+ActOptVistaDBName=zhVisTA.DB...\r
+tToolBarTip=zhDrag with handle to relocate; click with 2nd or 3rd mouse button to customize\r
+ActReadTip=zhTextual disruption template\r
+ActWheelTip=zhPoint & click\r
+ActHelpIdxTip=zhComplete list\r
+ActLangSpanTip=zhEuropean Spanish\r
+ActFltWinName=zhWindow\r
+ActHelpTip=zhSupport & additional information\r
+ActLangGerTip=zhEuropean German\r
+mColourName=zhColour\r
+Act1UpTip=zhProgressive discovery\r
+ActStopName=zhStop\r
+mHelpIdxName=zhIndex\r
+mOptFltName=zhFilter\r
+tColView=zhColour View\r
+ActSysColName=zhSystem Chooser\r
+ActPageSetName=zhPage Setup...\r
+mOptSwatPrefsTip=zhSwatch preferences\r
+mOptPatPrefsTip=zhPattern Preferences\r
+ActDelTip=zhDelete a profile\r
+mOptSwatTip=zhChoose from a limited range of spot colours\r
+mOptPatTip=zhTemplate preferences\r
+ActOptLangName=zhLanguage\r
+mEyesName=zhEyes\r
+ActAutoTip=zhCID-directed discovery\r
+mTbarTbarName=zhToolbar\r
+mOptScrChosName=zhChoose...\r
+ActLangDefName=zhDefault\r
+tTintTip=zhAdjust transparency of Filter\r
+ActScriptTip=zhPlayback of a recorded script\r
+ActRecTip=zhRecord a script\r
+ActOptPrefsName=zhPreferences...\r
+ActSwatchName=zhSwatches\r
+mHelpName=zhHelp\r
+ActHSBTip=zhHue Saturation Brightness\r
+mOptReadChosTip=zhSelect current text\r
+mOptPrefsName=zhPreferences...\r
+mOptFltTip=zhChoose elements to view through filter\r
+ActFrCookName=zhFrom Cookie\r
+mHelpAbtName=zhAbout\r
+ActOptScriptTip=zhPlayback of a recorded script\r
+ActHelpConTip=zhHelp topics\r
+mOptLangTip=zhChoose a language\r
+mOptScrName=zhScripting\r
+ActDelName=zhDelete...\r
+tTemplMod=zhTemplate presentation model\r
+ActHelpAbtTip=zhLicence & author information\r
+ActHelpWebTip=zhOn the Web...\r
+tTemplCntrlTitle=zhTemplate Controls\r
+ActOptDirPrefsTip=zhConnection settings\r
+ActFltScrTip=zhFilter the entire screen\r
+ActReadName=zhReading\r
+tVistaAppTitle=zhVisTA.CID Colour Imbalance Discovery\r
+ActOptDirConTip=zhConnect to Director\r
+ActOptDirPauName=zhPause\r
+ActOptLangDefName=zhDefault\r
+ActBothEyesName=zhBoth Eyes\r
+mOptScrTip=zhScripting preferences\r
+ActHelpSrcName=zhSearch...\r
+ActSaveAsTip=zhSave to a different file\r
+ActSepEyesName=zhSeparate Eyes\r
+ActOptScriptName=zhScript\r
+mOptTemplCustTip=zhConfigure templates\r
+ActCYMKTip=zhCyan Yellow Magenta blacK\r
+ActWheelName=zhWheel\r
+mOptName=zhOptions\r
+mTbarTbarTip=zhShow or hide the tool bar\r
+ActOptDirDisName=zhDisconnect\r
+ActSepEyesTip=zhIndividual left & right eye testing\r
+mHelpExpTip=zhHelp as-you-go\r
+mOptLFName=zhLook & Feel\r
+mProName=zhProfile\r
+mOptReadPrefsTip=zhReading Preferences\r
+tEyeMod=zhEye model\r
+Act1UpName=zh1-Up\r
+ActOptDynTip=zhAlters filter colour dynamically in VisTA.Web enabled pages\r
+tDirector=zhDirector\r
+mHelpExpName=zhExplain\r
+mOptTbarTip=zhChoose which tools are shown on toolbar\r
+ActHelpIdxName=zhIndex\r
+ActLangSpanName=zhSpanish\r
+ActDynVistaTip=zhAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActOptVistaDBTip=zhConfigure VisTA.Web services\r
+mOptVistaDBName=zhVisTA.DB...\r
+mDirName=zhDirector\r
+mColourViewName=zhColour View\r
+mOptDynTip=zhAlters filter colour dynamically in VisTA.Web enabled pages\r
+ActScriptName=zhScript\r
+ActProPropsTip=zhCurrent profile information\r
+ActTriName=zhTriangle\r
+ActManualName=zhManual\r
+ActAltName=zhAlternate\r
+ActLangPortugueseName=zhPortuguese\r
+ActLangChineseTip=zhChina\r
+ActLangChineseName=zhChinese\r
+ActLangUrduTip=zhPakistan\r
+ActLangUrduName=zhUrdu\r
+ActLangSwedishTip=zhSweden\r
+ActLangSwedishName=zhSwedish\r
+ActLangRussianTip=zhRussia\r
+ActLangRussianName=zhRussian\r
+ActLangPortugueseTip=zhPortugal\r
+ActLangPashtoTip=zhAfghanistan\r
+ActLangPashtoName=zhPashto (Afghanistan)\r
+ActLangDutchTip=zhNetherlands\r
+ActLangDutchName=zhDutch\r
+ActLangJapaneseTip=zhJapan\r
+ActLangJapaneseName=zhJapanese\r
+ActLangIndonesianTip=zhIndonesia\r
+ActLangIndonesianName=zhIndonesian\r
+ActLangHiINTip=zhIndian Hindi\r
+ActLangHiINName=zhHindi (India)\r
+ActLangFaIRTip=zhIranian Farsi (Persian)\r
+ActLangFaIRName=zhFarsi (Iran)\r
+ActLangArEGTip=zhEgyptian Arabic\r
+ActLangArEGName=zhArabic (Egypt)\r
diff --git a/org/tjworld/vista/cid/media/1up.gif b/org/tjworld/vista/cid/media/1up.gif
new file mode 100644 (file)
index 0000000..abebc4a
Binary files /dev/null and b/org/tjworld/vista/cid/media/1up.gif differ
diff --git a/org/tjworld/vista/cid/media/2up.gif b/org/tjworld/vista/cid/media/2up.gif
new file mode 100644 (file)
index 0000000..ddf7e4e
Binary files /dev/null and b/org/tjworld/vista/cid/media/2up.gif differ
diff --git a/org/tjworld/vista/cid/media/about.gif b/org/tjworld/vista/cid/media/about.gif
new file mode 100644 (file)
index 0000000..3c38d83
Binary files /dev/null and b/org/tjworld/vista/cid/media/about.gif differ
diff --git a/org/tjworld/vista/cid/media/afghanistan.gif b/org/tjworld/vista/cid/media/afghanistan.gif
new file mode 100644 (file)
index 0000000..2927dd9
Binary files /dev/null and b/org/tjworld/vista/cid/media/afghanistan.gif differ
diff --git a/org/tjworld/vista/cid/media/alert.gif b/org/tjworld/vista/cid/media/alert.gif
new file mode 100644 (file)
index 0000000..799cd1e
Binary files /dev/null and b/org/tjworld/vista/cid/media/alert.gif differ
diff --git a/org/tjworld/vista/cid/media/alternate.gif b/org/tjworld/vista/cid/media/alternate.gif
new file mode 100644 (file)
index 0000000..41f9df6
Binary files /dev/null and b/org/tjworld/vista/cid/media/alternate.gif differ
diff --git a/org/tjworld/vista/cid/media/auto.gif b/org/tjworld/vista/cid/media/auto.gif
new file mode 100644 (file)
index 0000000..eeae21c
Binary files /dev/null and b/org/tjworld/vista/cid/media/auto.gif differ
diff --git a/org/tjworld/vista/cid/media/british.gif b/org/tjworld/vista/cid/media/british.gif
new file mode 100644 (file)
index 0000000..e2d45d7
Binary files /dev/null and b/org/tjworld/vista/cid/media/british.gif differ
diff --git a/org/tjworld/vista/cid/media/china.gif b/org/tjworld/vista/cid/media/china.gif
new file mode 100644 (file)
index 0000000..d25d280
Binary files /dev/null and b/org/tjworld/vista/cid/media/china.gif differ
diff --git a/org/tjworld/vista/cid/media/connect.gif b/org/tjworld/vista/cid/media/connect.gif
new file mode 100644 (file)
index 0000000..1d892bf
Binary files /dev/null and b/org/tjworld/vista/cid/media/connect.gif differ
diff --git a/org/tjworld/vista/cid/media/createFilter.gif b/org/tjworld/vista/cid/media/createFilter.gif
new file mode 100644 (file)
index 0000000..68f72e3
Binary files /dev/null and b/org/tjworld/vista/cid/media/createFilter.gif differ
diff --git a/org/tjworld/vista/cid/media/customize.gif b/org/tjworld/vista/cid/media/customize.gif
new file mode 100644 (file)
index 0000000..fe89d51
Binary files /dev/null and b/org/tjworld/vista/cid/media/customize.gif differ
diff --git a/org/tjworld/vista/cid/media/cymk.gif b/org/tjworld/vista/cid/media/cymk.gif
new file mode 100644 (file)
index 0000000..0d5e7f2
Binary files /dev/null and b/org/tjworld/vista/cid/media/cymk.gif differ
diff --git a/org/tjworld/vista/cid/media/delete.gif b/org/tjworld/vista/cid/media/delete.gif
new file mode 100644 (file)
index 0000000..fb3f4ec
Binary files /dev/null and b/org/tjworld/vista/cid/media/delete.gif differ
diff --git a/org/tjworld/vista/cid/media/dim1up.gif b/org/tjworld/vista/cid/media/dim1up.gif
new file mode 100644 (file)
index 0000000..77bdd48
Binary files /dev/null and b/org/tjworld/vista/cid/media/dim1up.gif differ
diff --git a/org/tjworld/vista/cid/media/dim2up.gif b/org/tjworld/vista/cid/media/dim2up.gif
new file mode 100644 (file)
index 0000000..ed5eed7
Binary files /dev/null and b/org/tjworld/vista/cid/media/dim2up.gif differ
diff --git a/org/tjworld/vista/cid/media/dimabout.gif b/org/tjworld/vista/cid/media/dimabout.gif
new file mode 100644 (file)
index 0000000..1782c5c
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimabout.gif differ
diff --git a/org/tjworld/vista/cid/media/dimafghanistan.gif b/org/tjworld/vista/cid/media/dimafghanistan.gif
new file mode 100644 (file)
index 0000000..a5bd369
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimafghanistan.gif differ
diff --git a/org/tjworld/vista/cid/media/dimalternate.gif b/org/tjworld/vista/cid/media/dimalternate.gif
new file mode 100644 (file)
index 0000000..3a40e52
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimalternate.gif differ
diff --git a/org/tjworld/vista/cid/media/dimauto.gif b/org/tjworld/vista/cid/media/dimauto.gif
new file mode 100644 (file)
index 0000000..7af6f61
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimauto.gif differ
diff --git a/org/tjworld/vista/cid/media/dimbritish.gif b/org/tjworld/vista/cid/media/dimbritish.gif
new file mode 100644 (file)
index 0000000..86084a9
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimbritish.gif differ
diff --git a/org/tjworld/vista/cid/media/dimchina.gif b/org/tjworld/vista/cid/media/dimchina.gif
new file mode 100644 (file)
index 0000000..515c3a6
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimchina.gif differ
diff --git a/org/tjworld/vista/cid/media/dimconnect.gif b/org/tjworld/vista/cid/media/dimconnect.gif
new file mode 100644 (file)
index 0000000..d202412
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimconnect.gif differ
diff --git a/org/tjworld/vista/cid/media/dimcreateFilter.gif b/org/tjworld/vista/cid/media/dimcreateFilter.gif
new file mode 100644 (file)
index 0000000..bbe0665
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimcreateFilter.gif differ
diff --git a/org/tjworld/vista/cid/media/dimcustomize.gif b/org/tjworld/vista/cid/media/dimcustomize.gif
new file mode 100644 (file)
index 0000000..446b605
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimcustomize.gif differ
diff --git a/org/tjworld/vista/cid/media/dimcymk.gif b/org/tjworld/vista/cid/media/dimcymk.gif
new file mode 100644 (file)
index 0000000..8f8b2e4
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimcymk.gif differ
diff --git a/org/tjworld/vista/cid/media/dimdelete.gif b/org/tjworld/vista/cid/media/dimdelete.gif
new file mode 100644 (file)
index 0000000..5e3b7d0
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimdelete.gif differ
diff --git a/org/tjworld/vista/cid/media/dimdirected.gif b/org/tjworld/vista/cid/media/dimdirected.gif
new file mode 100644 (file)
index 0000000..786ae09
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimdirected.gif differ
diff --git a/org/tjworld/vista/cid/media/dimdisconnect.gif b/org/tjworld/vista/cid/media/dimdisconnect.gif
new file mode 100644 (file)
index 0000000..d202412
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimdisconnect.gif differ
diff --git a/org/tjworld/vista/cid/media/dimegypt.gif b/org/tjworld/vista/cid/media/dimegypt.gif
new file mode 100644 (file)
index 0000000..ca1dddb
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimegypt.gif differ
diff --git a/org/tjworld/vista/cid/media/dimexplain.gif b/org/tjworld/vista/cid/media/dimexplain.gif
new file mode 100644 (file)
index 0000000..50d0325
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimexplain.gif differ
diff --git a/org/tjworld/vista/cid/media/dimeyes1.gif b/org/tjworld/vista/cid/media/dimeyes1.gif
new file mode 100644 (file)
index 0000000..a411298
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimeyes1.gif differ
diff --git a/org/tjworld/vista/cid/media/dimeyes2.gif b/org/tjworld/vista/cid/media/dimeyes2.gif
new file mode 100644 (file)
index 0000000..d298787
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimeyes2.gif differ
diff --git a/org/tjworld/vista/cid/media/dimfltScr.gif b/org/tjworld/vista/cid/media/dimfltScr.gif
new file mode 100644 (file)
index 0000000..9dc215c
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimfltScr.gif differ
diff --git a/org/tjworld/vista/cid/media/dimfltTmpl.gif b/org/tjworld/vista/cid/media/dimfltTmpl.gif
new file mode 100644 (file)
index 0000000..50a574a
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimfltTmpl.gif differ
diff --git a/org/tjworld/vista/cid/media/dimfltWin.gif b/org/tjworld/vista/cid/media/dimfltWin.gif
new file mode 100644 (file)
index 0000000..ec3d952
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimfltWin.gif differ
diff --git a/org/tjworld/vista/cid/media/dimfrench.gif b/org/tjworld/vista/cid/media/dimfrench.gif
new file mode 100644 (file)
index 0000000..53b9491
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimfrench.gif differ
diff --git a/org/tjworld/vista/cid/media/dimfromCookie.gif b/org/tjworld/vista/cid/media/dimfromCookie.gif
new file mode 100644 (file)
index 0000000..8a95236
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimfromCookie.gif differ
diff --git a/org/tjworld/vista/cid/media/dimgerman.gif b/org/tjworld/vista/cid/media/dimgerman.gif
new file mode 100644 (file)
index 0000000..2ae8ecd
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimgerman.gif differ
diff --git a/org/tjworld/vista/cid/media/dimhelp.gif b/org/tjworld/vista/cid/media/dimhelp.gif
new file mode 100644 (file)
index 0000000..9d5347b
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimhelp.gif differ
diff --git a/org/tjworld/vista/cid/media/dimhelpsearch.gif b/org/tjworld/vista/cid/media/dimhelpsearch.gif
new file mode 100644 (file)
index 0000000..103156d
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimhelpsearch.gif differ
diff --git a/org/tjworld/vista/cid/media/dimhsb.gif b/org/tjworld/vista/cid/media/dimhsb.gif
new file mode 100644 (file)
index 0000000..64b11b4
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimhsb.gif differ
diff --git a/org/tjworld/vista/cid/media/dimindex.gif b/org/tjworld/vista/cid/media/dimindex.gif
new file mode 100644 (file)
index 0000000..de1e270
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimindex.gif differ
diff --git a/org/tjworld/vista/cid/media/dimindia.gif b/org/tjworld/vista/cid/media/dimindia.gif
new file mode 100644 (file)
index 0000000..d4c06c9
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimindia.gif differ
diff --git a/org/tjworld/vista/cid/media/dimindonesia.gif b/org/tjworld/vista/cid/media/dimindonesia.gif
new file mode 100644 (file)
index 0000000..e401e43
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimindonesia.gif differ
diff --git a/org/tjworld/vista/cid/media/dimiran.gif b/org/tjworld/vista/cid/media/dimiran.gif
new file mode 100644 (file)
index 0000000..f54c1bf
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimiran.gif differ
diff --git a/org/tjworld/vista/cid/media/dimjapan.gif b/org/tjworld/vista/cid/media/dimjapan.gif
new file mode 100644 (file)
index 0000000..be8686d
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimjapan.gif differ
diff --git a/org/tjworld/vista/cid/media/dimlanguage.gif b/org/tjworld/vista/cid/media/dimlanguage.gif
new file mode 100644 (file)
index 0000000..7c138da
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimlanguage.gif differ
diff --git a/org/tjworld/vista/cid/media/dimlookfeel.gif b/org/tjworld/vista/cid/media/dimlookfeel.gif
new file mode 100644 (file)
index 0000000..617f310
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimlookfeel.gif differ
diff --git a/org/tjworld/vista/cid/media/dimmanual.gif b/org/tjworld/vista/cid/media/dimmanual.gif
new file mode 100644 (file)
index 0000000..9b2f1cf
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimmanual.gif differ
diff --git a/org/tjworld/vista/cid/media/dimnetherlands.gif b/org/tjworld/vista/cid/media/dimnetherlands.gif
new file mode 100644 (file)
index 0000000..d370aa1
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimnetherlands.gif differ
diff --git a/org/tjworld/vista/cid/media/dimnew.gif b/org/tjworld/vista/cid/media/dimnew.gif
new file mode 100644 (file)
index 0000000..13d8b8a
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimnew.gif differ
diff --git a/org/tjworld/vista/cid/media/dimopenFile.gif b/org/tjworld/vista/cid/media/dimopenFile.gif
new file mode 100644 (file)
index 0000000..559954a
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimopenFile.gif differ
diff --git a/org/tjworld/vista/cid/media/dimpageSetup.gif b/org/tjworld/vista/cid/media/dimpageSetup.gif
new file mode 100644 (file)
index 0000000..7da5487
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimpageSetup.gif differ
diff --git a/org/tjworld/vista/cid/media/dimpakistan.gif b/org/tjworld/vista/cid/media/dimpakistan.gif
new file mode 100644 (file)
index 0000000..f43c628
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimpakistan.gif differ
diff --git a/org/tjworld/vista/cid/media/dimpatterns.gif b/org/tjworld/vista/cid/media/dimpatterns.gif
new file mode 100644 (file)
index 0000000..03228ff
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimpatterns.gif differ
diff --git a/org/tjworld/vista/cid/media/dimpause.gif b/org/tjworld/vista/cid/media/dimpause.gif
new file mode 100644 (file)
index 0000000..d53ca29
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimpause.gif differ
diff --git a/org/tjworld/vista/cid/media/dimplay.gif b/org/tjworld/vista/cid/media/dimplay.gif
new file mode 100644 (file)
index 0000000..dfbacb9
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimplay.gif differ
diff --git a/org/tjworld/vista/cid/media/dimportugal.gif b/org/tjworld/vista/cid/media/dimportugal.gif
new file mode 100644 (file)
index 0000000..93df2c5
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimportugal.gif differ
diff --git a/org/tjworld/vista/cid/media/dimpreferences.gif b/org/tjworld/vista/cid/media/dimpreferences.gif
new file mode 100644 (file)
index 0000000..279d73a
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimpreferences.gif differ
diff --git a/org/tjworld/vista/cid/media/dimprint.gif b/org/tjworld/vista/cid/media/dimprint.gif
new file mode 100644 (file)
index 0000000..4f58ea8
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimprint.gif differ
diff --git a/org/tjworld/vista/cid/media/dimproperties.gif b/org/tjworld/vista/cid/media/dimproperties.gif
new file mode 100644 (file)
index 0000000..446b605
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimproperties.gif differ
diff --git a/org/tjworld/vista/cid/media/dimqube.gif b/org/tjworld/vista/cid/media/dimqube.gif
new file mode 100644 (file)
index 0000000..29671c2
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimqube.gif differ
diff --git a/org/tjworld/vista/cid/media/dimreading.gif b/org/tjworld/vista/cid/media/dimreading.gif
new file mode 100644 (file)
index 0000000..a76a387
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimreading.gif differ
diff --git a/org/tjworld/vista/cid/media/dimrecord.gif b/org/tjworld/vista/cid/media/dimrecord.gif
new file mode 100644 (file)
index 0000000..3d74a3f
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimrecord.gif differ
diff --git a/org/tjworld/vista/cid/media/dimrgb.gif b/org/tjworld/vista/cid/media/dimrgb.gif
new file mode 100644 (file)
index 0000000..95dca80
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimrgb.gif differ
diff --git a/org/tjworld/vista/cid/media/dimrussia.gif b/org/tjworld/vista/cid/media/dimrussia.gif
new file mode 100644 (file)
index 0000000..fb56a2c
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimrussia.gif differ
diff --git a/org/tjworld/vista/cid/media/dimsave.gif b/org/tjworld/vista/cid/media/dimsave.gif
new file mode 100644 (file)
index 0000000..723a63a
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimsave.gif differ
diff --git a/org/tjworld/vista/cid/media/dimsaveAs.gif b/org/tjworld/vista/cid/media/dimsaveAs.gif
new file mode 100644 (file)
index 0000000..0b17d29
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimsaveAs.gif differ
diff --git a/org/tjworld/vista/cid/media/dimscript.gif b/org/tjworld/vista/cid/media/dimscript.gif
new file mode 100644 (file)
index 0000000..839ff3f
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimscript.gif differ
diff --git a/org/tjworld/vista/cid/media/dimspanish.gif b/org/tjworld/vista/cid/media/dimspanish.gif
new file mode 100644 (file)
index 0000000..b9c6602
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimspanish.gif differ
diff --git a/org/tjworld/vista/cid/media/dimstop.gif b/org/tjworld/vista/cid/media/dimstop.gif
new file mode 100644 (file)
index 0000000..0cd20fa
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimstop.gif differ
diff --git a/org/tjworld/vista/cid/media/dimswatches.gif b/org/tjworld/vista/cid/media/dimswatches.gif
new file mode 100644 (file)
index 0000000..c3a748b
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimswatches.gif differ
diff --git a/org/tjworld/vista/cid/media/dimsweden.gif b/org/tjworld/vista/cid/media/dimsweden.gif
new file mode 100644 (file)
index 0000000..e5b3e96
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimsweden.gif differ
diff --git a/org/tjworld/vista/cid/media/dimsysColour.gif b/org/tjworld/vista/cid/media/dimsysColour.gif
new file mode 100644 (file)
index 0000000..686192c
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimsysColour.gif differ
diff --git a/org/tjworld/vista/cid/media/dimtoCookie.gif b/org/tjworld/vista/cid/media/dimtoCookie.gif
new file mode 100644 (file)
index 0000000..c63e981
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimtoCookie.gif differ
diff --git a/org/tjworld/vista/cid/media/dimtriangle.gif b/org/tjworld/vista/cid/media/dimtriangle.gif
new file mode 100644 (file)
index 0000000..dcf4504
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimtriangle.gif differ
diff --git a/org/tjworld/vista/cid/media/dimvistaIcon.gif b/org/tjworld/vista/cid/media/dimvistaIcon.gif
new file mode 100644 (file)
index 0000000..0fc1f52
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimvistaIcon.gif differ
diff --git a/org/tjworld/vista/cid/media/dimvistaOnline.gif b/org/tjworld/vista/cid/media/dimvistaOnline.gif
new file mode 100644 (file)
index 0000000..54a1904
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimvistaOnline.gif differ
diff --git a/org/tjworld/vista/cid/media/dimvistaWebPage.gif b/org/tjworld/vista/cid/media/dimvistaWebPage.gif
new file mode 100644 (file)
index 0000000..2382e27
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimvistaWebPage.gif differ
diff --git a/org/tjworld/vista/cid/media/dimwebHelpLink.gif b/org/tjworld/vista/cid/media/dimwebHelpLink.gif
new file mode 100644 (file)
index 0000000..b46fab5
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimwebHelpLink.gif differ
diff --git a/org/tjworld/vista/cid/media/dimwheel.gif b/org/tjworld/vista/cid/media/dimwheel.gif
new file mode 100644 (file)
index 0000000..1814925
Binary files /dev/null and b/org/tjworld/vista/cid/media/dimwheel.gif differ
diff --git a/org/tjworld/vista/cid/media/directed.gif b/org/tjworld/vista/cid/media/directed.gif
new file mode 100644 (file)
index 0000000..4391b61
Binary files /dev/null and b/org/tjworld/vista/cid/media/directed.gif differ
diff --git a/org/tjworld/vista/cid/media/disconnect.gif b/org/tjworld/vista/cid/media/disconnect.gif
new file mode 100644 (file)
index 0000000..dc4f419
Binary files /dev/null and b/org/tjworld/vista/cid/media/disconnect.gif differ
diff --git a/org/tjworld/vista/cid/media/egypt.gif b/org/tjworld/vista/cid/media/egypt.gif
new file mode 100644 (file)
index 0000000..dcc42f4
Binary files /dev/null and b/org/tjworld/vista/cid/media/egypt.gif differ
diff --git a/org/tjworld/vista/cid/media/error.gif b/org/tjworld/vista/cid/media/error.gif
new file mode 100644 (file)
index 0000000..c66a376
Binary files /dev/null and b/org/tjworld/vista/cid/media/error.gif differ
diff --git a/org/tjworld/vista/cid/media/explain.gif b/org/tjworld/vista/cid/media/explain.gif
new file mode 100644 (file)
index 0000000..36cf534
Binary files /dev/null and b/org/tjworld/vista/cid/media/explain.gif differ
diff --git a/org/tjworld/vista/cid/media/eyes1.gif b/org/tjworld/vista/cid/media/eyes1.gif
new file mode 100644 (file)
index 0000000..e79ab39
Binary files /dev/null and b/org/tjworld/vista/cid/media/eyes1.gif differ
diff --git a/org/tjworld/vista/cid/media/eyes2.gif b/org/tjworld/vista/cid/media/eyes2.gif
new file mode 100644 (file)
index 0000000..a2b71b3
Binary files /dev/null and b/org/tjworld/vista/cid/media/eyes2.gif differ
diff --git a/org/tjworld/vista/cid/media/fltScr.gif b/org/tjworld/vista/cid/media/fltScr.gif
new file mode 100644 (file)
index 0000000..d5dae86
Binary files /dev/null and b/org/tjworld/vista/cid/media/fltScr.gif differ
diff --git a/org/tjworld/vista/cid/media/fltTmpl.gif b/org/tjworld/vista/cid/media/fltTmpl.gif
new file mode 100644 (file)
index 0000000..2a3b001
Binary files /dev/null and b/org/tjworld/vista/cid/media/fltTmpl.gif differ
diff --git a/org/tjworld/vista/cid/media/fltWin.gif b/org/tjworld/vista/cid/media/fltWin.gif
new file mode 100644 (file)
index 0000000..bd6b53f
Binary files /dev/null and b/org/tjworld/vista/cid/media/fltWin.gif differ
diff --git a/org/tjworld/vista/cid/media/french.gif b/org/tjworld/vista/cid/media/french.gif
new file mode 100644 (file)
index 0000000..528e5f0
Binary files /dev/null and b/org/tjworld/vista/cid/media/french.gif differ
diff --git a/org/tjworld/vista/cid/media/fromCookie.gif b/org/tjworld/vista/cid/media/fromCookie.gif
new file mode 100644 (file)
index 0000000..19307d3
Binary files /dev/null and b/org/tjworld/vista/cid/media/fromCookie.gif differ
diff --git a/org/tjworld/vista/cid/media/german.gif b/org/tjworld/vista/cid/media/german.gif
new file mode 100644 (file)
index 0000000..daa11fc
Binary files /dev/null and b/org/tjworld/vista/cid/media/german.gif differ
diff --git a/org/tjworld/vista/cid/media/help.gif b/org/tjworld/vista/cid/media/help.gif
new file mode 100644 (file)
index 0000000..b15a37c
Binary files /dev/null and b/org/tjworld/vista/cid/media/help.gif differ
diff --git a/org/tjworld/vista/cid/media/helpsearch.gif b/org/tjworld/vista/cid/media/helpsearch.gif
new file mode 100644 (file)
index 0000000..dd6c496
Binary files /dev/null and b/org/tjworld/vista/cid/media/helpsearch.gif differ
diff --git a/org/tjworld/vista/cid/media/hsb.gif b/org/tjworld/vista/cid/media/hsb.gif
new file mode 100644 (file)
index 0000000..5642eb1
Binary files /dev/null and b/org/tjworld/vista/cid/media/hsb.gif differ
diff --git a/org/tjworld/vista/cid/media/index.gif b/org/tjworld/vista/cid/media/index.gif
new file mode 100644 (file)
index 0000000..934e3b3
Binary files /dev/null and b/org/tjworld/vista/cid/media/index.gif differ
diff --git a/org/tjworld/vista/cid/media/india.gif b/org/tjworld/vista/cid/media/india.gif
new file mode 100644 (file)
index 0000000..0db09c8
Binary files /dev/null and b/org/tjworld/vista/cid/media/india.gif differ
diff --git a/org/tjworld/vista/cid/media/indonesia.gif b/org/tjworld/vista/cid/media/indonesia.gif
new file mode 100644 (file)
index 0000000..e4cb774
Binary files /dev/null and b/org/tjworld/vista/cid/media/indonesia.gif differ
diff --git a/org/tjworld/vista/cid/media/iran.gif b/org/tjworld/vista/cid/media/iran.gif
new file mode 100644 (file)
index 0000000..d22cfe4
Binary files /dev/null and b/org/tjworld/vista/cid/media/iran.gif differ
diff --git a/org/tjworld/vista/cid/media/japan.gif b/org/tjworld/vista/cid/media/japan.gif
new file mode 100644 (file)
index 0000000..2a22f30
Binary files /dev/null and b/org/tjworld/vista/cid/media/japan.gif differ
diff --git a/org/tjworld/vista/cid/media/language.gif b/org/tjworld/vista/cid/media/language.gif
new file mode 100644 (file)
index 0000000..aa024a1
Binary files /dev/null and b/org/tjworld/vista/cid/media/language.gif differ
diff --git a/org/tjworld/vista/cid/media/lookfeel.gif b/org/tjworld/vista/cid/media/lookfeel.gif
new file mode 100644 (file)
index 0000000..e7bed77
Binary files /dev/null and b/org/tjworld/vista/cid/media/lookfeel.gif differ
diff --git a/org/tjworld/vista/cid/media/manual.gif b/org/tjworld/vista/cid/media/manual.gif
new file mode 100644 (file)
index 0000000..2b48aac
Binary files /dev/null and b/org/tjworld/vista/cid/media/manual.gif differ
diff --git a/org/tjworld/vista/cid/media/netherlands.gif b/org/tjworld/vista/cid/media/netherlands.gif
new file mode 100644 (file)
index 0000000..fa3e481
Binary files /dev/null and b/org/tjworld/vista/cid/media/netherlands.gif differ
diff --git a/org/tjworld/vista/cid/media/new.gif b/org/tjworld/vista/cid/media/new.gif
new file mode 100644 (file)
index 0000000..6e79f35
Binary files /dev/null and b/org/tjworld/vista/cid/media/new.gif differ
diff --git a/org/tjworld/vista/cid/media/openFile.gif b/org/tjworld/vista/cid/media/openFile.gif
new file mode 100644 (file)
index 0000000..6d784f3
Binary files /dev/null and b/org/tjworld/vista/cid/media/openFile.gif differ
diff --git a/org/tjworld/vista/cid/media/pageSetup.gif b/org/tjworld/vista/cid/media/pageSetup.gif
new file mode 100644 (file)
index 0000000..5ee6306
Binary files /dev/null and b/org/tjworld/vista/cid/media/pageSetup.gif differ
diff --git a/org/tjworld/vista/cid/media/pakistan.gif b/org/tjworld/vista/cid/media/pakistan.gif
new file mode 100644 (file)
index 0000000..e200e08
Binary files /dev/null and b/org/tjworld/vista/cid/media/pakistan.gif differ
diff --git a/org/tjworld/vista/cid/media/patterns.gif b/org/tjworld/vista/cid/media/patterns.gif
new file mode 100644 (file)
index 0000000..6f11aac
Binary files /dev/null and b/org/tjworld/vista/cid/media/patterns.gif differ
diff --git a/org/tjworld/vista/cid/media/pause.gif b/org/tjworld/vista/cid/media/pause.gif
new file mode 100644 (file)
index 0000000..c131c13
Binary files /dev/null and b/org/tjworld/vista/cid/media/pause.gif differ
diff --git a/org/tjworld/vista/cid/media/play.gif b/org/tjworld/vista/cid/media/play.gif
new file mode 100644 (file)
index 0000000..2c41be1
Binary files /dev/null and b/org/tjworld/vista/cid/media/play.gif differ
diff --git a/org/tjworld/vista/cid/media/portugal.gif b/org/tjworld/vista/cid/media/portugal.gif
new file mode 100644 (file)
index 0000000..d39e733
Binary files /dev/null and b/org/tjworld/vista/cid/media/portugal.gif differ
diff --git a/org/tjworld/vista/cid/media/preferences.gif b/org/tjworld/vista/cid/media/preferences.gif
new file mode 100644 (file)
index 0000000..0129468
Binary files /dev/null and b/org/tjworld/vista/cid/media/preferences.gif differ
diff --git a/org/tjworld/vista/cid/media/print.gif b/org/tjworld/vista/cid/media/print.gif
new file mode 100644 (file)
index 0000000..e51f47d
Binary files /dev/null and b/org/tjworld/vista/cid/media/print.gif differ
diff --git a/org/tjworld/vista/cid/media/properties.gif b/org/tjworld/vista/cid/media/properties.gif
new file mode 100644 (file)
index 0000000..fe89d51
Binary files /dev/null and b/org/tjworld/vista/cid/media/properties.gif differ
diff --git a/org/tjworld/vista/cid/media/qube.gif b/org/tjworld/vista/cid/media/qube.gif
new file mode 100644 (file)
index 0000000..bd67953
Binary files /dev/null and b/org/tjworld/vista/cid/media/qube.gif differ
diff --git a/org/tjworld/vista/cid/media/reading.gif b/org/tjworld/vista/cid/media/reading.gif
new file mode 100644 (file)
index 0000000..294fb63
Binary files /dev/null and b/org/tjworld/vista/cid/media/reading.gif differ
diff --git a/org/tjworld/vista/cid/media/record.gif b/org/tjworld/vista/cid/media/record.gif
new file mode 100644 (file)
index 0000000..ee168e6
Binary files /dev/null and b/org/tjworld/vista/cid/media/record.gif differ
diff --git a/org/tjworld/vista/cid/media/rgb.gif b/org/tjworld/vista/cid/media/rgb.gif
new file mode 100644 (file)
index 0000000..2c186c1
Binary files /dev/null and b/org/tjworld/vista/cid/media/rgb.gif differ
diff --git a/org/tjworld/vista/cid/media/russia.gif b/org/tjworld/vista/cid/media/russia.gif
new file mode 100644 (file)
index 0000000..33764a1
Binary files /dev/null and b/org/tjworld/vista/cid/media/russia.gif differ
diff --git a/org/tjworld/vista/cid/media/save.gif b/org/tjworld/vista/cid/media/save.gif
new file mode 100644 (file)
index 0000000..9950aca
Binary files /dev/null and b/org/tjworld/vista/cid/media/save.gif differ
diff --git a/org/tjworld/vista/cid/media/saveAs.gif b/org/tjworld/vista/cid/media/saveAs.gif
new file mode 100644 (file)
index 0000000..a556a9e
Binary files /dev/null and b/org/tjworld/vista/cid/media/saveAs.gif differ
diff --git a/org/tjworld/vista/cid/media/script.gif b/org/tjworld/vista/cid/media/script.gif
new file mode 100644 (file)
index 0000000..8b4f1d9
Binary files /dev/null and b/org/tjworld/vista/cid/media/script.gif differ
diff --git a/org/tjworld/vista/cid/media/sel1up.gif b/org/tjworld/vista/cid/media/sel1up.gif
new file mode 100644 (file)
index 0000000..0928bb4
Binary files /dev/null and b/org/tjworld/vista/cid/media/sel1up.gif differ
diff --git a/org/tjworld/vista/cid/media/sel2up.gif b/org/tjworld/vista/cid/media/sel2up.gif
new file mode 100644 (file)
index 0000000..e9d1090
Binary files /dev/null and b/org/tjworld/vista/cid/media/sel2up.gif differ
diff --git a/org/tjworld/vista/cid/media/selalternate.gif b/org/tjworld/vista/cid/media/selalternate.gif
new file mode 100644 (file)
index 0000000..e205c55
Binary files /dev/null and b/org/tjworld/vista/cid/media/selalternate.gif differ
diff --git a/org/tjworld/vista/cid/media/selauto.gif b/org/tjworld/vista/cid/media/selauto.gif
new file mode 100644 (file)
index 0000000..bac76e0
Binary files /dev/null and b/org/tjworld/vista/cid/media/selauto.gif differ
diff --git a/org/tjworld/vista/cid/media/selbritish.gif b/org/tjworld/vista/cid/media/selbritish.gif
new file mode 100644 (file)
index 0000000..e42982c
Binary files /dev/null and b/org/tjworld/vista/cid/media/selbritish.gif differ
diff --git a/org/tjworld/vista/cid/media/selconnect.gif b/org/tjworld/vista/cid/media/selconnect.gif
new file mode 100644 (file)
index 0000000..6b7d44a
Binary files /dev/null and b/org/tjworld/vista/cid/media/selconnect.gif differ
diff --git a/org/tjworld/vista/cid/media/selcymk.gif b/org/tjworld/vista/cid/media/selcymk.gif
new file mode 100644 (file)
index 0000000..be3f991
Binary files /dev/null and b/org/tjworld/vista/cid/media/selcymk.gif differ
diff --git a/org/tjworld/vista/cid/media/seldelete.gif b/org/tjworld/vista/cid/media/seldelete.gif
new file mode 100644 (file)
index 0000000..696a230
Binary files /dev/null and b/org/tjworld/vista/cid/media/seldelete.gif differ
diff --git a/org/tjworld/vista/cid/media/seldirected.gif b/org/tjworld/vista/cid/media/seldirected.gif
new file mode 100644 (file)
index 0000000..b633042
Binary files /dev/null and b/org/tjworld/vista/cid/media/seldirected.gif differ
diff --git a/org/tjworld/vista/cid/media/seldisconnect.gif b/org/tjworld/vista/cid/media/seldisconnect.gif
new file mode 100644 (file)
index 0000000..9ce6a1d
Binary files /dev/null and b/org/tjworld/vista/cid/media/seldisconnect.gif differ
diff --git a/org/tjworld/vista/cid/media/seleyes1.gif b/org/tjworld/vista/cid/media/seleyes1.gif
new file mode 100644 (file)
index 0000000..0119720
Binary files /dev/null and b/org/tjworld/vista/cid/media/seleyes1.gif differ
diff --git a/org/tjworld/vista/cid/media/seleyes2.gif b/org/tjworld/vista/cid/media/seleyes2.gif
new file mode 100644 (file)
index 0000000..ab0e872
Binary files /dev/null and b/org/tjworld/vista/cid/media/seleyes2.gif differ
diff --git a/org/tjworld/vista/cid/media/selfltScr.gif b/org/tjworld/vista/cid/media/selfltScr.gif
new file mode 100644 (file)
index 0000000..affa9d5
Binary files /dev/null and b/org/tjworld/vista/cid/media/selfltScr.gif differ
diff --git a/org/tjworld/vista/cid/media/selfltTmpl.gif b/org/tjworld/vista/cid/media/selfltTmpl.gif
new file mode 100644 (file)
index 0000000..f5cd295
Binary files /dev/null and b/org/tjworld/vista/cid/media/selfltTmpl.gif differ
diff --git a/org/tjworld/vista/cid/media/selfltWin.gif b/org/tjworld/vista/cid/media/selfltWin.gif
new file mode 100644 (file)
index 0000000..a8e8978
Binary files /dev/null and b/org/tjworld/vista/cid/media/selfltWin.gif differ
diff --git a/org/tjworld/vista/cid/media/selfrench.gif b/org/tjworld/vista/cid/media/selfrench.gif
new file mode 100644 (file)
index 0000000..d667129
Binary files /dev/null and b/org/tjworld/vista/cid/media/selfrench.gif differ
diff --git a/org/tjworld/vista/cid/media/selgerman.gif b/org/tjworld/vista/cid/media/selgerman.gif
new file mode 100644 (file)
index 0000000..15fe352
Binary files /dev/null and b/org/tjworld/vista/cid/media/selgerman.gif differ
diff --git a/org/tjworld/vista/cid/media/selhsb.gif b/org/tjworld/vista/cid/media/selhsb.gif
new file mode 100644 (file)
index 0000000..a683984
Binary files /dev/null and b/org/tjworld/vista/cid/media/selhsb.gif differ
diff --git a/org/tjworld/vista/cid/media/sellanguage.gif b/org/tjworld/vista/cid/media/sellanguage.gif
new file mode 100644 (file)
index 0000000..a6689db
Binary files /dev/null and b/org/tjworld/vista/cid/media/sellanguage.gif differ
diff --git a/org/tjworld/vista/cid/media/selmanual.gif b/org/tjworld/vista/cid/media/selmanual.gif
new file mode 100644 (file)
index 0000000..f4f3235
Binary files /dev/null and b/org/tjworld/vista/cid/media/selmanual.gif differ
diff --git a/org/tjworld/vista/cid/media/selpatterns.gif b/org/tjworld/vista/cid/media/selpatterns.gif
new file mode 100644 (file)
index 0000000..ccf7247
Binary files /dev/null and b/org/tjworld/vista/cid/media/selpatterns.gif differ
diff --git a/org/tjworld/vista/cid/media/selpause.gif b/org/tjworld/vista/cid/media/selpause.gif
new file mode 100644 (file)
index 0000000..c43a89d
Binary files /dev/null and b/org/tjworld/vista/cid/media/selpause.gif differ
diff --git a/org/tjworld/vista/cid/media/selplay.gif b/org/tjworld/vista/cid/media/selplay.gif
new file mode 100644 (file)
index 0000000..a57b505
Binary files /dev/null and b/org/tjworld/vista/cid/media/selplay.gif differ
diff --git a/org/tjworld/vista/cid/media/selqube.gif b/org/tjworld/vista/cid/media/selqube.gif
new file mode 100644 (file)
index 0000000..83fb75e
Binary files /dev/null and b/org/tjworld/vista/cid/media/selqube.gif differ
diff --git a/org/tjworld/vista/cid/media/selreading.gif b/org/tjworld/vista/cid/media/selreading.gif
new file mode 100644 (file)
index 0000000..d7b4589
Binary files /dev/null and b/org/tjworld/vista/cid/media/selreading.gif differ
diff --git a/org/tjworld/vista/cid/media/selrecord.gif b/org/tjworld/vista/cid/media/selrecord.gif
new file mode 100644 (file)
index 0000000..8bf39f6
Binary files /dev/null and b/org/tjworld/vista/cid/media/selrecord.gif differ
diff --git a/org/tjworld/vista/cid/media/selrgb.gif b/org/tjworld/vista/cid/media/selrgb.gif
new file mode 100644 (file)
index 0000000..8705474
Binary files /dev/null and b/org/tjworld/vista/cid/media/selrgb.gif differ
diff --git a/org/tjworld/vista/cid/media/selscript.gif b/org/tjworld/vista/cid/media/selscript.gif
new file mode 100644 (file)
index 0000000..093e1c4
Binary files /dev/null and b/org/tjworld/vista/cid/media/selscript.gif differ
diff --git a/org/tjworld/vista/cid/media/selspanish.gif b/org/tjworld/vista/cid/media/selspanish.gif
new file mode 100644 (file)
index 0000000..6e995ee
Binary files /dev/null and b/org/tjworld/vista/cid/media/selspanish.gif differ
diff --git a/org/tjworld/vista/cid/media/selstop.gif b/org/tjworld/vista/cid/media/selstop.gif
new file mode 100644 (file)
index 0000000..f1db1b4
Binary files /dev/null and b/org/tjworld/vista/cid/media/selstop.gif differ
diff --git a/org/tjworld/vista/cid/media/selswatches.gif b/org/tjworld/vista/cid/media/selswatches.gif
new file mode 100644 (file)
index 0000000..f248dd6
Binary files /dev/null and b/org/tjworld/vista/cid/media/selswatches.gif differ
diff --git a/org/tjworld/vista/cid/media/selsysColour.gif b/org/tjworld/vista/cid/media/selsysColour.gif
new file mode 100644 (file)
index 0000000..0ec6c2f
Binary files /dev/null and b/org/tjworld/vista/cid/media/selsysColour.gif differ
diff --git a/org/tjworld/vista/cid/media/seltriangle.gif b/org/tjworld/vista/cid/media/seltriangle.gif
new file mode 100644 (file)
index 0000000..0c8bb6c
Binary files /dev/null and b/org/tjworld/vista/cid/media/seltriangle.gif differ
diff --git a/org/tjworld/vista/cid/media/selwheel.gif b/org/tjworld/vista/cid/media/selwheel.gif
new file mode 100644 (file)
index 0000000..dd5ffb4
Binary files /dev/null and b/org/tjworld/vista/cid/media/selwheel.gif differ
diff --git a/org/tjworld/vista/cid/media/spanish.gif b/org/tjworld/vista/cid/media/spanish.gif
new file mode 100644 (file)
index 0000000..9359be9
Binary files /dev/null and b/org/tjworld/vista/cid/media/spanish.gif differ
diff --git a/org/tjworld/vista/cid/media/stop.gif b/org/tjworld/vista/cid/media/stop.gif
new file mode 100644 (file)
index 0000000..d2b2927
Binary files /dev/null and b/org/tjworld/vista/cid/media/stop.gif differ
diff --git a/org/tjworld/vista/cid/media/swatches.gif b/org/tjworld/vista/cid/media/swatches.gif
new file mode 100644 (file)
index 0000000..00e2ba6
Binary files /dev/null and b/org/tjworld/vista/cid/media/swatches.gif differ
diff --git a/org/tjworld/vista/cid/media/sweden.gif b/org/tjworld/vista/cid/media/sweden.gif
new file mode 100644 (file)
index 0000000..2c4391b
Binary files /dev/null and b/org/tjworld/vista/cid/media/sweden.gif differ
diff --git a/org/tjworld/vista/cid/media/sysColour.gif b/org/tjworld/vista/cid/media/sysColour.gif
new file mode 100644 (file)
index 0000000..36570bb
Binary files /dev/null and b/org/tjworld/vista/cid/media/sysColour.gif differ
diff --git a/org/tjworld/vista/cid/media/toCookie.gif b/org/tjworld/vista/cid/media/toCookie.gif
new file mode 100644 (file)
index 0000000..1d954a8
Binary files /dev/null and b/org/tjworld/vista/cid/media/toCookie.gif differ
diff --git a/org/tjworld/vista/cid/media/toolbars.gif b/org/tjworld/vista/cid/media/toolbars.gif
new file mode 100644 (file)
index 0000000..039c380
Binary files /dev/null and b/org/tjworld/vista/cid/media/toolbars.gif differ
diff --git a/org/tjworld/vista/cid/media/triangle.gif b/org/tjworld/vista/cid/media/triangle.gif
new file mode 100644 (file)
index 0000000..3b85203
Binary files /dev/null and b/org/tjworld/vista/cid/media/triangle.gif differ
diff --git a/org/tjworld/vista/cid/media/vistaIcon.gif b/org/tjworld/vista/cid/media/vistaIcon.gif
new file mode 100644 (file)
index 0000000..a57a436
Binary files /dev/null and b/org/tjworld/vista/cid/media/vistaIcon.gif differ
diff --git a/org/tjworld/vista/cid/media/vistaOnline.gif b/org/tjworld/vista/cid/media/vistaOnline.gif
new file mode 100644 (file)
index 0000000..2122ed7
Binary files /dev/null and b/org/tjworld/vista/cid/media/vistaOnline.gif differ
diff --git a/org/tjworld/vista/cid/media/vistaWebPage.gif b/org/tjworld/vista/cid/media/vistaWebPage.gif
new file mode 100644 (file)
index 0000000..7d53c9f
Binary files /dev/null and b/org/tjworld/vista/cid/media/vistaWebPage.gif differ
diff --git a/org/tjworld/vista/cid/media/webHelpLink.gif b/org/tjworld/vista/cid/media/webHelpLink.gif
new file mode 100644 (file)
index 0000000..1146573
Binary files /dev/null and b/org/tjworld/vista/cid/media/webHelpLink.gif differ
diff --git a/org/tjworld/vista/cid/media/wheel.gif b/org/tjworld/vista/cid/media/wheel.gif
new file mode 100644 (file)
index 0000000..2766c98
Binary files /dev/null and b/org/tjworld/vista/cid/media/wheel.gif differ