4 * Copyright 2001 TJ, All rights reserved
\r
6 * This software is protected by Copyright, Patent and Trademark rights.
\r
7 * Use & disclosure is subject to licence terms.
\r
9 * *** IN CONFIDENCE ***
\r
11 * Created on 08 October 2001, 19:08
\r
12 * $Header: /VisTA/CID/CID.java 11 12/11/01 3:07 Tj $
\r
14 * $History: CID.java $
\r
16 * ***************** Version 11 *****************
\r
17 * User: Tj Date: 12/11/01 Time: 3:07
\r
18 * Updated in $/VisTA/CID
\r
19 * Made setLookAndFeel() and it's ItemStateListener part of CID, not an
\r
20 * inner class. Added new Help window options and supporting logic
\r
22 * ***************** Version 10 *****************
\r
23 * User: Tj Date: 11/11/01 Time: 4:09
\r
24 * Updated in $/VisTA/CID
\r
25 * Testing HTML Help service
\r
27 * ***************** Version 9 *****************
\r
28 * User: Tj Date: 11/11/01 Time: 0:08
\r
29 * Updated in $/VisTA/CID
\r
30 * Merged Constructors
\r
32 * ***************** Version 8 *****************
\r
33 * User: Tj Date: 10/11/01 Time: 17:04
\r
34 * Updated in $/VisTA/CID
\r
35 * Added Java version checking to Constructor
\r
37 * ***************** Version 7 *****************
\r
38 * User: Tj Date: 10/11/01 Time: 2:21
\r
39 * Updated in $/VisTA/CID
\r
40 * Adjustments to Slider widths - more to come; requires dynamic slider
\r
43 * ***************** Version 6 *****************
\r
44 * User: Tj Date: 9/11/01 Time: 19:21
\r
45 * Updated in $/VisTA/CID
\r
46 * Added Help window logic
\r
48 * ***************** Version 5 *****************
\r
49 * User: Tj Date: 8/11/01 Time: 19:55
\r
50 * Updated in $/VisTA/CID
\r
53 * ***************** Version 4 *****************
\r
54 * User: Tj Date: 7/11/01 Time: 22:36
\r
55 * Updated in $/VisTA/CID
\r
56 * Added final(ish) layout, filter and template visual controls and icons
\r
58 * ***************** Version 3 *****************
\r
59 * User: Tj Date: 31/10/01 Time: 5:12
\r
60 * Updated in $/VisTA/CID
\r
63 package org.tjworld.vista.cid;
\r
65 import java.awt.Color;
\r
66 import java.awt.Component;
\r
67 import java.awt.Container;
\r
68 import java.awt.Cursor;
\r
69 import java.awt.Dimension;
\r
70 import java.awt.Frame;
\r
71 import java.awt.Graphics;
\r
72 import java.awt.Graphics2D;
\r
73 import java.awt.Insets;
\r
74 import java.awt.Point;
\r
75 import java.awt.Toolkit;
\r
77 import java.awt.event.ActionEvent;
\r
78 import java.awt.event.ItemListener;
\r
79 import java.awt.event.KeyEvent;
\r
81 import java.awt.geom.AffineTransform;
\r
83 import java.awt.image.AffineTransformOp;
\r
84 import java.awt.image.BufferedImage;
\r
86 import java.awt.print.PageFormat;
\r
87 import java.awt.print.Printable;
\r
88 import java.awt.print.PrinterException;
\r
89 import java.awt.print.PrinterJob;
\r
91 import java.io.IOException;
\r
92 import java.net.URL;
\r
93 import java.net.MalformedURLException;
\r
94 import java.text.MessageFormat;
\r
95 import java.util.Locale;
\r
97 import javax.swing.AbstractButton;
\r
98 import javax.swing.Action;
\r
99 import javax.swing.ButtonGroup;
\r
100 import javax.swing.ImageIcon;
\r
101 import javax.swing.JComponent;
\r
102 import javax.swing.JLabel;
\r
103 import javax.swing.JMenu;
\r
104 import javax.swing.JOptionPane;
\r
105 import javax.swing.JRadioButtonMenuItem;
\r
106 import javax.swing.KeyStroke;
\r
107 import javax.swing.SwingUtilities;
\r
108 import javax.swing.UIManager;
\r
109 import javax.swing.UnsupportedLookAndFeelException;
\r
111 import javax.swing.event.ChangeEvent;
\r
112 import javax.swing.event.ChangeListener;
\r
114 import javax.swing.tree.DefaultMutableTreeNode;
\r
115 import javax.swing.tree.DefaultTreeModel;
\r
117 import org.tjworld.vista.cid.*;
\r
118 import org.tjworld.components.*;
\r
120 /** CID - Colour Imbalance Discovery<br/>
\r
122 * CID automates and aids the process of discovering the best combination of colour and
\r
123 * tint in order to reduce or eliminate the symptoms of what is known as
\r
124 * Meares-Irlen Syndrome, Irlen Syndrome or Scotopic Sensitivity Syndrome.
\r
126 * This syndrome causes visual perception distortions that in sufferers causes text and certain
\r
127 * patterns to appear to be moving, shimmering, fading or flickering.
\r
129 * It has been found that as well as improving the reading experience and speed, especially in
\r
130 * children with learning difficulties, filters will also reduce various types of reported
\r
131 * eye stress and headaches.
\r
133 * The headaches appear to be linked to photo-sensitive epilepsy and certain close-packed patterns
\r
134 * cause the same reaction as text in some people.
\r
137 * @version 1.1 21 Oct 2001 Filter (Template & Window), Look & Feel, Toolbar popup menu
\r
138 * version 1.0 10 Oct 2001 Primary Design
\r
140 public class CID extends javax.swing.JFrame implements Printable, ItemListener {
\r
141 /** Controls developers extended reporting to the console
\r
142 * true = additional reporting to the console
\r
143 * false = no reporting to the console (use this state for Release Versions of CID)
\r
145 private boolean debugging = true;
\r
147 /** When non-null usually indicates an Applet, that provides load & save services.
\r
148 * When null, CID uses own (application) services for loading & saving
\r
150 private java.applet.Applet parent;
\r
152 /** Locale requested by the user */
\r
153 private java.util.Locale currentLocale;
\r
155 /** Locale-specific data container */
\r
156 private java.util.ResourceBundle cIDresources;
\r
158 // menu bar radio-button groups for mutually exclusive mode selections
\r
159 private ButtonGroup mbgModelAlgorithm;
\r
160 private ButtonGroup mbgModelEyes;
\r
161 private ButtonGroup mbgTemplate;
\r
162 private ButtonGroup mbgColourModel;
\r
163 private ButtonGroup mbgColourView;
\r
164 private ButtonGroup mbgDirection;
\r
165 private ButtonGroup mbgLanguage;
\r
166 private ButtonGroup mbgConnection;
\r
167 private ButtonGroup mbgPlayback;
\r
168 private ButtonGroup mbgFilter;
\r
169 private ButtonGroup mbgLandF;
\r
171 // tool bar toggle-button groups for mutually exclusive mode selections
\r
172 private ButtonGroup tbgModelAlgorithm;
\r
173 private ButtonGroup tbgModelEyes;
\r
174 private ButtonGroup tbgTemplate;
\r
175 private ButtonGroup tbgColourModel;
\r
176 private ButtonGroup tbgColourView;
\r
177 private ButtonGroup tbgDirection;
\r
178 private ButtonGroup tbgLanguage;
\r
179 private ButtonGroup tbgConnection;
\r
180 private ButtonGroup tbgPlayback;
\r
182 /** frame's small icon */
\r
183 private javax.swing.ImageIcon icVista;
\r
185 /** collection of icon-pairs for active & dimmed icons */
\r
186 private java.util.Vector vToolIcons;
\r
188 /** default glass pane before being replaced by VisTA filter */
\r
189 private Component defaultGlassPane;
\r
192 PrinterJob printJob = null;;
\r
194 /** printjob page format */
\r
195 PageFormat pageFormat = null;;
\r
197 // actions shared by menu items & tool bar buttons
\r
198 private Action aNew;
\r
199 private Action aOpen;
\r
200 private Action aSave;
\r
201 private Action aSaveAs;
\r
202 private Action aDelete;
\r
203 private Action aSendToVistaDB;
\r
204 private Action aToCookie;
\r
205 private Action aFromCookie;
\r
206 private Action aCreateFilter;
\r
207 private Action aToVistaPage;
\r
208 private Action aPageSetup;
\r
209 private Action aPrint;
\r
210 private Action aProperties;
\r
211 private Action a1_Up;
\r
212 private Action a2_Up;
\r
213 private Action aAlternate;
\r
214 private Action aBothEyes;
\r
215 private Action aSeparateEyes;
\r
216 private Action aReading;
\r
217 private Action aPatterns;
\r
218 private Action aImages;
\r
219 private Action aRGB;
\r
220 private Action aHSB;
\r
221 private Action aCYMK;
\r
222 private Action aWheel;
\r
223 private Action aTriangle;
\r
224 private Action aQube;
\r
225 private Action aColorChooser;
\r
226 private Action aSwatches;
\r
227 private Action aManual;
\r
228 private Action aAuto;
\r
229 private Action aDirected;
\r
230 private Action aScript;
\r
231 private Action aConnect;
\r
232 private Action aDisconnect;
\r
233 private Action aPlay;
\r
234 private Action aRecord;
\r
235 private Action aPause;
\r
236 private Action aStop;
\r
237 private Action aFilterTemplate;
\r
238 private Action aFilterWindow;
\r
239 private Action aFilterScreen;
\r
240 private Action aDynamicVista;
\r
241 private Action aLanguageDefault;
\r
242 private Action aLanguageBritish;
\r
243 private Action aLanguageFrench;
\r
244 private Action aLanguageSpanish;
\r
245 private Action aLanguageGerman;
\r
246 private Action aLanguageArabicEgypt;
\r
247 private Action aLanguageFarsiIran;
\r
248 private Action aLanguageHindiIndia;
\r
249 private Action aLanguageIndonesian;
\r
250 private Action aLanguageJapanese;
\r
251 private Action aLanguageDutch;
\r
252 private Action aLanguagePashto;
\r
253 private Action aLanguagePortuguese;
\r
254 private Action aLanguageRussian;
\r
255 private Action aLanguageSwedish;
\r
256 private Action aLanguageUrdu;
\r
257 private Action aLanguageChinese;
\r
258 private Action aHelpContents;
\r
259 private Action aHelpSearch;
\r
260 private Action aHelpWeb;
\r
262 // icon index constants
\r
263 static final int IC_NEW = 0; // Profile menu
\r
264 static final int IC_OPEN_FILE = 1;
\r
265 static final int IC_SAVE = 2;
\r
266 static final int IC_SAVE_AS = 3;
\r
267 static final int IC_SEND_TO_VISTA_DB = 4;
\r
268 static final int IC_TO_COOKIE = 5;
\r
269 static final int IC_FROM_COOKIE = 6;
\r
270 static final int IC_CREATE_FILTER = 7;
\r
271 static final int IC_TO_VISTA_PAGE = 8;
\r
272 static final int IC_PAGE_SETUP = 9;
\r
273 static final int IC_PRINT = 10;
\r
274 static final int IC_PROPERTIES = 11;
\r
276 static final int IC_1UP = 12; // Model menu
\r
277 static final int IC_2UP = 13;
\r
278 static final int IC_ALTERNATE = 14;
\r
279 static final int IC_BOTH_EYES = 15;
\r
280 static final int IC_SEPARATE_EYES = 16;
\r
282 static final int IC_READING = 17; // Template menu
\r
283 static final int IC_PATTERNS = 18;
\r
284 static final int IC_IMAGES = 81; // recent addition
\r
286 static final int IC_RGB = 19; // Colour menu
\r
287 static final int IC_HSB = 20;
\r
288 static final int IC_CYMK = 21;
\r
289 static final int IC_WHEEL = 22;
\r
290 static final int IC_TRIANGLE = 23;
\r
291 static final int IC_QUBE = 24;
\r
292 static final int IC_COLOR_CHOOSER = 25;
\r
294 static final int IC_MANUAL = 26; // Director menu
\r
295 static final int IC_AUTO = 27;
\r
296 static final int IC_DIRECTED = 28;
\r
297 static final int IC_SCRIPT = 29;
\r
299 static final int IC_OPTION_CONFIG_READING = 30; // Options menu
\r
300 static final int IC_OPTION_CONFIG_PATTERNS = 31;
\r
301 static final int IC_OPTION_CONFIG_DIRECTED = 32;
\r
302 static final int IC_OPTION_CONFIG_SCRIPT = 33;
\r
303 static final int IC_OPTION_CONFIG_VISTA_DB = 34;
\r
304 static final int IC_OPTION_CHOOSE = 35;
\r
305 static final int IC_OPTION_CUSTOMIZE = 36;
\r
306 static final int IC_OPTION_PREFERENCES = 37;
\r
308 static final int IC_CONNECT = 38;
\r
309 static final int IC_PAUSE = 39;
\r
310 static final int IC_DISCONNECT = 40;
\r
312 static final int IC_OPTION_DYNAMIC_VISTA = 41;
\r
314 static final int IC_HELP_CONTENTS = 42; // Help menu
\r
315 static final int IC_HELP_INDEX = 43;
\r
316 static final int IC_HELP_SEARCH = 44;
\r
317 static final int IC_HELP_EXPLAIN = 45;
\r
318 static final int IC_HELP_ABOUT = 46;
\r
319 static final int IC_HELP_WEB = 47;
\r
321 static final int IC_PROFILE = 48; // Menu titles
\r
322 static final int IC_MODEL = 49;
\r
323 static final int IC_TEMPLATE = 50;
\r
324 static final int IC_COLOUR = 51;
\r
325 static final int IC_OPTIONS = 52;
\r
326 static final int IC_HELP = 53;
\r
328 static final int IC_PLAY = 54;
\r
329 static final int IC_STOP = 55;
\r
331 static final int IC_LANGUAGE = 56;
\r
332 static final int IC_LANG_DEFAULT = 57;
\r
333 static final int IC_LANG_BRITISH = 58;
\r
334 static final int IC_LANG_FRENCH = 59;
\r
335 static final int IC_LANG_SPANISH = 60;
\r
336 static final int IC_LANG_GERMAN = 61;
\r
338 static final int IC_SWATCHES = 62; // late addition
\r
339 static final int IC_FILTER_TEMPLATE = 63;
\r
340 static final int IC_FILTER_WINDOW = 64;
\r
341 static final int IC_FILTER_SCREEN = 65;
\r
342 static final int IC_PROFILE_DELETE = 66;
\r
343 static final int IC_RECORD = 67;
\r
344 static final int IC_OPTION_CONFIG_SWATCHES = 68;
\r
346 static final int IC_LANG_AR_EG = 69; // more languages
\r
347 static final int IC_LANG_FA_IR = 70;
\r
348 static final int IC_LANG_HI_IN = 71;
\r
349 static final int IC_LANG_IN = 72;
\r
350 static final int IC_LANG_JA = 73;
\r
351 static final int IC_LANG_NL = 74;
\r
352 static final int IC_LANG_PS = 75;
\r
353 static final int IC_LANG_PT = 76;
\r
354 static final int IC_LANG_RU = 77;
\r
355 static final int IC_LANG_SV = 78;
\r
356 static final int IC_LANG_UR = 79;
\r
357 static final int IC_LANG_ZH = 80;
\r
359 // always make this the next (and highest) value, to indicate the icon-store Vector size
\r
360 static final int IC_MAX = 82;
\r
362 // VisTA Filter choices
\r
363 static final int FILTER_TEMPLATE = 1;
\r
364 static final int FILTER_WINDOW = 2;
\r
365 static final int FILTER_SCREEN = 3;
\r
367 /** tracks previous VisTA filter to ensure clean switching from one to another */
\r
368 private int activeFilter;
\r
370 // dimension used by all tool bar buttons
\r
371 static final java.awt.Dimension toolButtonSize = new java.awt.Dimension(22,22);
\r
373 // dimension used by all status icons
\r
374 static final java.awt.Dimension statusIconButtonSize = new java.awt.Dimension(16, 16);
\r
376 static org.tjworld.vista.cid.CID frameCID;
\r
378 /** Popup menu for tool bar button group selection, shared with the JMenu of the frame */
\r
379 private javax.swing.JPopupMenu toolBarPopup;
\r
381 /** Popup called directly from tool bar? */
\r
382 private boolean showToolbarPopup = false;
\r
384 /** about-dialog form */
\r
385 private CIDAbout aboutDialog = null;
\r
388 private xhtmlHelp helpWindow = null;
\r
390 /** help window location */
\r
391 private Point helpLocation = null;
\r
393 /** system file chooser form */
\r
394 private CIDFileChooser cidFileChooserDialog = null;
\r
396 /** root of the Help Contents tree */
\r
397 private DefaultMutableTreeNode helpContentsRootNode = null;
\r
399 /** root of the Help Index tree */
\r
400 private DefaultMutableTreeNode helpIndexRootNode = null;
\r
402 /** VisTA colourized transparent filter pane */
\r
403 private VistaFilter vfFilter;
\r
405 /** Printing thread */
\r
408 /** Creates new form CID with a parent<br/>
\r
409 * This constructor receives a reference to a parent container applet, such that when
\r
410 * launched from an applet it is able to use applet methods to enquire about it's environment
\r
411 * and adopt suitable security and access control behaviour for opening, saving, and accessing
\r
412 * VisTA.Web profiles and other resources.
\r
414 * @param parent Component that owns this CID. Usually an <code>Applet</code> descendent.
\r
417 public CID(java.applet.Applet parent) {
\r
418 this.parent = parent;
\r
420 // get the best set of resources for the system locale
\r
421 currentLocale = java.util.Locale.getDefault();
\r
422 /*** At a later stage, need to override this from a user's preferences */
\r
424 /* get the locale-specific set of resources before creating any
\r
425 * User Interface components that require locale-specifc text labels
\r
427 loadLocale(currentLocale);
\r
429 // make sure this is Java 1.4 or later
\r
430 String version = System.getProperty("java.version");
\r
431 float majorVersion = 0;
\r
432 float minorVersion = 0;
\r
434 majorVersion = Float.parseFloat(version.substring(0, 3));
\r
435 minorVersion = Float.parseFloat(version.substring(4, 5));
\r
436 } catch(NumberFormatException e) {
\r
437 System.err.println("Unable to understand java.version (" + version + ")");
\r
439 if(majorVersion < 1.4f) { // report version requirement to the user
\r
440 System.err.println("java.version=" + version + "\nmajorVersion=" + majorVersion + "\nminorVersion=" + minorVersion);
\r
442 // now build a locale-sensitive resource-bundle compound message
\r
443 MessageFormat mf = new MessageFormat(cIDresources.getString("tVerDlgMsg"), currentLocale);
\r
444 String message = mf.format(new Object[] { version } );
\r
446 // display a modal error dialog
\r
447 JOptionPane.showMessageDialog(null, message, cIDresources.getString("tVerDlgTitle"), JOptionPane.ERROR_MESSAGE);
\r
449 System.exit(1); // stop now
\r
451 /* don't use the Host window decoration if at all possible
\r
452 * Must do this before the frame becomes Displayable
\r
453 * (by a call to pack() or show() )
\r
455 if(UIManager.getLookAndFeel().getSupportsWindowDecorations()) {
\r
456 setUndecorated(true); // first Java 1.4 specific action
\r
457 getRootPane().setWindowDecorationStyle(javax.swing.JRootPane.FRAME);
\r
460 // init() can throw MalformedURLExceptions when looking for it's Icons and such
\r
461 try {init(); } catch(Exception e) {e.printStackTrace(); }
\r
465 /** Creates new CID form without parent<br/>
\r
466 * The default constructor creates the VisTA.CID user interface. Sets <code>parent</code> to <code>null</code>,
\r
467 * indicating that it owns itself - in other words, it's an application and must rely on it's own
\r
468 * services for loading and saving files.
\r
474 /** Load a new locale-specific resource bundle
\r
476 * @param loc The Locale whose resource bundle is required
\r
478 void loadLocale(Locale loc) {
\r
479 cIDresources = java.util.ResourceBundle.getBundle("org.tjworld.vista.cid.CIDresources", loc);
\r
482 /** Dynamically change the current locale for all the locale-sensitive objects in the frame
\r
484 * @param loc The new Locale
\r
486 void changeLocale(Locale loc) {
\r
487 if(currentLocale != loc) { // don't update unless a real change is required (not default to British when 'en' is already selected, for example )
\r
488 loadLocale(loc); // alternate resource bundle if possible
\r
490 setComponentLocale((Component)this, loc);
\r
492 //*** needs writing:- setActionLocales();
\r
493 pack(); // re-layout to use optimum space - changes in text sizes might cause resizing of many components
\r
495 currentLocale = loc; // keep track of which locale is active
\r
497 if(helpWindow != null) // ensure the Help Pages also switch to the new locale
\r
498 helpWindow.setPageLocale(currentLocale);
\r
502 /** Recursive method that updates Locale and Locale-sensitive text
\r
503 * of all child components & containers.
\r
505 * Algorithm is flexible:-
\r
507 * Component.name = ResourceBundle.BaseKeyNameFragment
\r
508 * BaseKeyNameFragment + "Name" gives ke namevalue for setText()
\r
509 * BaseKeyNameFragment + "Tip" gives value for setToolTipText()
\r
510 * BaseKeyNameFragment + "Title" gives value for setTitle()
\r
512 * Every Component.locale is updated
\r
513 * If Component.name == null no update to the values is attempted
\r
514 * If a text, toolTipText, or title value == null, no update is attempted
\r
516 * If Component is also a Container, every child is also passed into recursive calls
\r
519 * @param c The Component to update
\r
520 * @param loc The new Locale
\r
522 void setComponentLocale(Component c, Locale loc) {
\r
523 if(c != null && loc != null && (c instanceof Component)) { // okay so far
\r
524 c.setLocale(loc); // change the locale
\r
525 if(debugging) System.out.println("Locale update for " + c.getClass().getName());
\r
527 if(c.getName() != null) { // I store the resource bundle Key in the component's name attribute
\r
528 if(c instanceof java.awt.Frame) { // window frame, no Text but a Title
\r
529 if(((Frame)c).getTitle() != null) // don't set title unless it already has one
\r
530 ((Frame)c).setTitle(cIDresources.getString(c.getName() + "Title")); // set the title
\r
533 if(c instanceof javax.swing.AbstractButton) { // able to set Text
\r
534 if(((AbstractButton)c).getText() != null) // don't set text for components without any already
\r
535 ((AbstractButton)c).setText(cIDresources.getString(c.getName() + "Name")); // set the text
\r
537 /* Update the component's PowerAction locale, if it has an associated PowerAction instead
\r
538 * of a regular Action.
\r
540 * The AbstractButton (JMenuItem or JToggleButton/JButton will have registered itself as a
\r
541 * PropertyChangeListener on the PowerAction when JComponent.add(Action) was called,
\r
542 * so when PowerAction alters any of it's key/value pairs, the underlying Action.putValue()
\r
543 * will fire a property change event to the JComponent(s) using the Action,
\r
544 * which should cause them to update their Locale-sensitive values
\r
548 if((a = ((AbstractButton)c).getAction()) != null) { // has an action attached...
\r
549 if(a instanceof PowerAction) { // ... might be locale-sensitive
\r
550 pa = (PowerAction)a; // easier to handle
\r
552 /* must turn off the PowerAction's change notifications while it updates itself,
\r
553 * else any tool bar button will have it's Text and Mnemonic properties set
\r
554 * when we want them keeping clear.
\r
555 * They were specifically cleared in CID.init()
\r
557 long mask = PowerAction.MASK_ALL;
\r
558 pa.setPropertyChangeMask(mask);
\r
559 pa.setLocale(loc, cIDresources); // change it's Locale
\r
560 pa.setPropertyChangeMask(PowerAction.MASK_ALL);
\r
565 if(c instanceof javax.swing.JComponent) { // might have a tool tip too
\r
566 if(((JComponent)c).getToolTipText() != null) //don't set a tip for components without it already
\r
567 ((JComponent)c).setToolTipText(cIDresources.getString(c.getName() + "Tip")); // set the tip
\r
569 JComponent cb = (JComponent) c; // cast to make for less typing!
\r
570 if(cb.getBorder() != null) { // has a border, which might have a title attached...
\r
571 if(cb.getBorder() instanceof javax.swing.border.TitledBorder) { // it does, so maybe there's something to change
\r
572 if(((javax.swing.border.TitledBorder)cb.getBorder()).getTitle() != null) // better change it
\r
573 ((javax.swing.border.TitledBorder)cb.getBorder()).setTitle(cIDresources.getString(c.getName() + "Title"));
\r
577 if(c instanceof javax.swing.JLabel) { // instructive text?
\r
578 if(((JLabel)c).getText() != null) // switch the text
\r
579 ((JLabel)c).setText(cIDresources.getString(c.getName()));
\r
584 // now deal with Containers that might have children
\r
585 if(c instanceof Container) { // might have child components that need updating
\r
587 if(c instanceof javax.swing.JMenu) // have to use a different method() for JMenus...
\r
588 child = ((JMenu)c).getMenuComponents();
\r
590 child = ((Container)c).getComponents(); // an array of all children
\r
592 for(int i = 0; i < child.length; i++) // do all the children too
\r
593 setComponentLocale(child[i], loc); // recursively call this method to update children
\r
598 /** Initialize the application */
\r
599 private void init() throws MalformedURLException {
\r
600 // set the static member so Cursors can be exchanged when L&F is being changed
\r
603 // let the user know CID is loading
\r
604 splash splash = new splash(this, cIDresources);
\r
605 splash.setVisible(true);
\r
607 /* set the file name fragments for loading the Icons & build the URL.
\r
608 * Need to cope with two kinds of URL:- http: and file: - because CID
\r
609 * can be run as an application from the file system, or launched as
\r
610 * a frame from within an applet from a URL.
\r
613 if(parent != null) // must be an applet, so use it's codebase
\r
614 sUrl = parent.getCodeBase().toString();
\r
615 else // it's an application so use the current working directory (where CID.class is executing from)
\r
616 sUrl = "file://" + System.getProperty("user.dir") + "/";
\r
617 sUrl = sUrl + "org/tjworld/vista/cid/"; // base URL
\r
618 String ext = ".gif"; // standard file extension
\r
619 String dimmed = "dim"; // name-prefix for dimmed versions of icons
\r
621 URL baseURL = new URL(sUrl); // the base URL
\r
622 URL u = new URL(sUrl + "media/"); // the media URL
\r
623 vToolIcons = new java.util.Vector(); // the icon-pairs container
\r
624 vToolIcons.setSize(IC_MAX);
\r
626 // these statements ***MUST*** be in ascending order (of index number) else initComponents() will throw NullPointerExceptions!!!
\r
627 vToolIcons.add(IC_NEW, new ToolIconPair(new ImageIcon(new URL(u, (n = "new") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
628 vToolIcons.add(IC_OPEN_FILE, new ToolIconPair(new ImageIcon(new URL(u, (n = "openFile") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
629 vToolIcons.add(IC_SAVE, new ToolIconPair(new ImageIcon(new URL(u, (n = "save") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
630 vToolIcons.add(IC_SAVE_AS, new ToolIconPair(new ImageIcon(new URL(u, (n = "saveAs") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
631 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
632 vToolIcons.add(IC_TO_COOKIE, new ToolIconPair(new ImageIcon(new URL(u, (n = "toCookie") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
633 vToolIcons.add(IC_FROM_COOKIE, new ToolIconPair(new ImageIcon(new URL(u, (n = "fromCookie") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
634 vToolIcons.add(IC_CREATE_FILTER, new ToolIconPair(new ImageIcon(new URL(u, (n = "createFilter") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
635 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
636 vToolIcons.add(IC_PAGE_SETUP, new ToolIconPair(new ImageIcon(new URL(u, (n = "pageSetup") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
637 vToolIcons.add(IC_PRINT, new ToolIconPair(new ImageIcon(new URL(u, (n = "print") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
638 vToolIcons.add(IC_PROPERTIES, new ToolIconPair(new ImageIcon(new URL(u, (n = "properties") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
640 vToolIcons.add(IC_1UP, new ToolIconPair(new ImageIcon(new URL(u, (n = "1up") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
641 vToolIcons.add(IC_2UP, new ToolIconPair(new ImageIcon(new URL(u, (n = "2up") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
642 vToolIcons.add(IC_ALTERNATE, new ToolIconPair(new ImageIcon(new URL(u, (n = "alternate") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
643 vToolIcons.add(IC_BOTH_EYES, new ToolIconPair(new ImageIcon(new URL(u, (n = "eyes2") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
644 vToolIcons.add(IC_SEPARATE_EYES, new ToolIconPair(new ImageIcon(new URL(u, (n = "eyes1") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
646 vToolIcons.add(IC_READING, new ToolIconPair(new ImageIcon(new URL(u, (n = "reading") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
647 vToolIcons.add(IC_PATTERNS, new ToolIconPair(new ImageIcon(new URL(u, (n = "patterns") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
649 vToolIcons.add(IC_RGB, new ToolIconPair(new ImageIcon(new URL(u, (n = "rgb") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
650 vToolIcons.add(IC_HSB, new ToolIconPair(new ImageIcon(new URL(u, (n = "hsb") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
651 vToolIcons.add(IC_CYMK, new ToolIconPair(new ImageIcon(new URL(u, (n = "cymk") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
652 vToolIcons.add(IC_WHEEL, new ToolIconPair(new ImageIcon(new URL(u, (n = "wheel") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
653 vToolIcons.add(IC_TRIANGLE, new ToolIconPair(new ImageIcon(new URL(u, (n = "triangle") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
654 vToolIcons.add(IC_QUBE, new ToolIconPair(new ImageIcon(new URL(u, (n = "qube") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
655 vToolIcons.add(IC_COLOR_CHOOSER, new ToolIconPair(new ImageIcon(new URL(u, (n = "sysColour") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
657 vToolIcons.add(IC_MANUAL, new ToolIconPair(new ImageIcon(new URL(u, (n = "manual") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
658 vToolIcons.add(IC_AUTO, new ToolIconPair(new ImageIcon(new URL(u, (n = "auto") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
659 vToolIcons.add(IC_DIRECTED, new ToolIconPair(new ImageIcon(new URL(u, (n = "directed") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
660 vToolIcons.add(IC_SCRIPT, new ToolIconPair(new ImageIcon(new URL(u, (n = "script") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
662 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
663 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
664 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
665 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
666 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
668 vToolIcons.add(IC_OPTION_CHOOSE, new ToolIconPair(new ImageIcon(new URL(u, (n = "openFile") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
669 vToolIcons.add(IC_OPTION_CUSTOMIZE, new ToolIconPair(new ImageIcon(new URL(u, (n = "customize") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
670 vToolIcons.add(IC_OPTION_PREFERENCES, new ToolIconPair(new ImageIcon(new URL(u, (n = "preferences") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
672 vToolIcons.add(IC_CONNECT, new ToolIconPair(new ImageIcon(new URL(u, (n = "connect") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
673 vToolIcons.add(IC_PAUSE, new ToolIconPair(new ImageIcon(new URL(u, (n = "pause") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
674 vToolIcons.add(IC_DISCONNECT, new ToolIconPair(new ImageIcon(new URL(u, (n = "disconnect") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
676 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
678 vToolIcons.add(IC_HELP_CONTENTS, new ToolIconPair(new ImageIcon(new URL(u, (n = "help") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
679 vToolIcons.add(IC_HELP_INDEX, new ToolIconPair(new ImageIcon(new URL(u, (n = "index") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
680 vToolIcons.add(IC_HELP_SEARCH, new ToolIconPair(new ImageIcon(new URL(u, (n = "helpsearch") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
681 vToolIcons.add(IC_HELP_EXPLAIN, new ToolIconPair(new ImageIcon(new URL(u, (n = "explain") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
682 vToolIcons.add(IC_HELP_ABOUT, new ToolIconPair(new ImageIcon(new URL(u, (n = "about") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
683 vToolIcons.add(IC_HELP_WEB, new ToolIconPair(new ImageIcon(new URL(u, (n = "webHelpLink") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
684 vToolIcons.add(IC_HELP, new ToolIconPair(new ImageIcon(new URL(u, (n = "help") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
686 vToolIcons.add(IC_PLAY, new ToolIconPair(new ImageIcon(new URL(u, (n = "play") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
687 vToolIcons.add(IC_STOP, new ToolIconPair(new ImageIcon(new URL(u, (n = "stop") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
689 vToolIcons.add(IC_LANGUAGE, new ToolIconPair(new ImageIcon(new URL(u, (n = "language") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
690 vToolIcons.add(IC_LANG_DEFAULT, new ToolIconPair(new ImageIcon(new URL(u, (n = "language") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
691 vToolIcons.add(IC_LANG_BRITISH, new ToolIconPair(new ImageIcon(new URL(u, (n = "british") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
692 vToolIcons.add(IC_LANG_FRENCH, new ToolIconPair(new ImageIcon(new URL(u, (n = "french") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
693 vToolIcons.add(IC_LANG_SPANISH, new ToolIconPair(new ImageIcon(new URL(u, (n = "spanish") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
694 vToolIcons.add(IC_LANG_GERMAN, new ToolIconPair(new ImageIcon(new URL(u, (n = "german") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
696 vToolIcons.add(IC_SWATCHES, new ToolIconPair(new ImageIcon(new URL(u, (n = "swatches") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
697 vToolIcons.add(IC_FILTER_TEMPLATE, new ToolIconPair(new ImageIcon(new URL(u, (n = "fltTmpl") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
698 vToolIcons.add(IC_FILTER_WINDOW, new ToolIconPair(new ImageIcon(new URL(u, (n = "fltWin") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
699 vToolIcons.add(IC_FILTER_SCREEN, new ToolIconPair(new ImageIcon(new URL(u, (n = "fltScr") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
700 vToolIcons.add(IC_PROFILE_DELETE, new ToolIconPair(new ImageIcon(new URL(u, (n = "delete") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
701 vToolIcons.add(IC_RECORD, new ToolIconPair(new ImageIcon(new URL(u, (n = "record") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
702 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
704 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
705 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
706 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
707 vToolIcons.add(IC_LANG_IN, new ToolIconPair(new ImageIcon(new URL(u, (n = "indonesia") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
708 vToolIcons.add(IC_LANG_JA, new ToolIconPair(new ImageIcon(new URL(u, (n = "japan") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
709 vToolIcons.add(IC_LANG_NL, new ToolIconPair(new ImageIcon(new URL(u, (n = "netherlands") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
710 vToolIcons.add(IC_LANG_PS, new ToolIconPair(new ImageIcon(new URL(u, (n = "afghanistan") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
711 vToolIcons.add(IC_LANG_PT, new ToolIconPair(new ImageIcon(new URL(u, (n = "portugal") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
712 vToolIcons.add(IC_LANG_RU, new ToolIconPair(new ImageIcon(new URL(u, (n = "russia") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
713 vToolIcons.add(IC_LANG_SV, new ToolIconPair(new ImageIcon(new URL(u, (n = "sweden") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
714 vToolIcons.add(IC_LANG_UR, new ToolIconPair(new ImageIcon(new URL(u, (n = "pakistan") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
715 vToolIcons.add(IC_LANG_ZH, new ToolIconPair(new ImageIcon(new URL(u, (n = "china") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
717 vToolIcons.add(IC_IMAGES, new ToolIconPair(new ImageIcon(new URL(u, (n = "images") + ext)), new ImageIcon(new URL(u, dimmed + n + ext))));
\r
719 icVista = new ImageIcon(new URL(u, "vistaIcon" + ext)); // the application icon
\r
721 /* must create the filter component before initComponents[] calls pack()
\r
722 else sliderTintStateChanged() will cause a null pointer exception
\r
723 referencing vfFilter
\r
725 vfFilter = new VistaFilter();
\r
727 // create the button groups that manage the menu and tool bar mode selectors
\r
728 mbgModelAlgorithm = new ButtonGroup();
\r
729 mbgModelEyes = new ButtonGroup();
\r
730 mbgColourModel = new ButtonGroup();
\r
731 mbgTemplate = new ButtonGroup();
\r
732 mbgColourView = new ButtonGroup();
\r
733 mbgDirection = new ButtonGroup();
\r
734 mbgLanguage = new ButtonGroup();
\r
735 mbgConnection = new ButtonGroup();
\r
736 mbgPlayback = new ButtonGroup();
\r
737 mbgFilter = new ButtonGroup();
\r
738 mbgLandF = new ButtonGroup();
\r
740 tbgModelAlgorithm = new ButtonGroup();
\r
741 tbgModelEyes = new ButtonGroup();
\r
742 tbgColourModel = new ButtonGroup();
\r
743 tbgTemplate = new ButtonGroup();
\r
744 tbgColourView = new ButtonGroup();
\r
745 tbgDirection = new ButtonGroup();
\r
746 tbgLanguage = new ButtonGroup();
\r
747 tbgConnection = new ButtonGroup();
\r
748 tbgPlayback = new ButtonGroup();
\r
750 initActions(); // actions shared by menus and tool bar buttons
\r
751 initComponents(); // create & initialize the components
\r
753 // get the PopupMenu used to choose the tool bar buttons
\r
754 toolBarPopup = mOptionsToolbar.getPopupMenu();
\r
756 /* All tool bar buttons require common operations performing
\r
757 * Much more efficient to do it in an iteration than
\r
758 * using the IDE's initComponents() method with much-repeated source code.
\r
760 * Clear Mnemonics from all tool bar buttons to prevent
\r
761 * incorrect Mnemomic/Accelerator key advertising.
\r
762 * Needed because all Actions have mnemonics assigned for use in menus.
\r
764 * Reset borderPainted to allow a seamless look
\r
765 * Reset contentAreaFilled to prevent Selected buttons having their backgrounds painted
\r
766 * Reset focusPainted to prevent a dotted rectangle highlighting the button under the cursor
\r
767 * Standardize each button's size
\r
768 * Clear the button label text
\r
771 Component allButtons[];
\r
772 Component allPanels[] = toolBar.getComponents(); // get all the tool bar panels
\r
773 for(int p = 0; p < allPanels.length; p++) {
\r
774 allButtons = ((Container)allPanels[p]).getComponents(); // get all the buttons on this panel
\r
775 for(int i = 0; i < allButtons.length; i++ ) {
\r
776 if(allButtons[i] instanceof AbstractButton) { // make sure this IS a button
\r
777 ab = (AbstractButton)allButtons[i];
\r
779 ab.setBorderPainted(false);
\r
780 ab.setContentAreaFilled(false);
\r
781 ab.setFocusPainted(false);
\r
782 ab.setMinimumSize(toolButtonSize);
\r
783 ab.setPreferredSize(toolButtonSize);
\r
784 ab.setMaximumSize(toolButtonSize);
\r
790 // do the same for the status icon panel
\r
791 allButtons = statusIconPanel.getComponents(); // get all the buttons
\r
792 for(int i = 0; i < allButtons.length; i++) {
\r
793 if(allButtons[i] instanceof AbstractButton) { // make sure this IS a button
\r
794 ab = (AbstractButton)allButtons[i];
\r
795 ab.setBorderPainted(false);
\r
796 ab.setMargin(new java.awt.Insets(0, 0, 0, 0));
\r
797 ab.setMaximumSize(statusIconButtonSize);
\r
798 ab.setMinimumSize(statusIconButtonSize);
\r
799 ab.setPreferredSize(statusIconButtonSize);
\r
800 ab.setEnabled(false);
\r
804 pack(); // optimize size of frame - prevents toolbar panels forcing window to be ultra-wide
\r
805 setLocation(getCentralScreenLocation(this)); // center on screen
\r
807 // configure the VisTA filter
\r
808 vfFilter.setAlpha( ((float) sliderTint.getValue())/100 ); // transparency is a decimal between 0.0 and 1.0
\r
809 vfFilter.setBackground(Color.blue); //*** might want to have this set from saved Personal Preferences later
\r
811 // attach the VisTA filter to the deepest (closest) pane
\r
812 filterLayerPane.add(vfFilter, javax.swing.JLayeredPane.DRAG_LAYER);
\r
814 // prepare for taking over the Frame's glass pane too
\r
815 defaultGlassPane = getGlassPane(); // keep track so it can be swapped in and out
\r
816 vfFilter.setVisible(true);
\r
817 activeFilter = FILTER_TEMPLATE; // any changes will make this the 'previous' filter
\r
819 // equal initial left/right pane widths
\r
820 spTemplate.setDividerLocation(spTemplate.getWidth() - spColour.getDividerLocation());
\r
822 sysColorChooser.getSelectionModel().addChangeListener(
\r
823 new ChangeListener() {
\r
824 public void stateChanged(ChangeEvent e) {
\r
825 sysColorChooserStateChanged(e);
\r
829 sysColorChooser.setColor(vfFilter.getBackground()); // ensure the chooser colour matches the initial VisTA filter colour
\r
831 // dynamically configure the Look-and-Feel menu
\r
832 //UIChangeListener l = new UIChangeListener();
\r
833 JRadioButtonMenuItem miLF;
\r
834 UIManager.LookAndFeelInfo[] uiInstalled = UIManager.getInstalledLookAndFeels();
\r
835 for(int i = 0; i < uiInstalled.length; i++) {
\r
836 miLF = new JRadioButtonMenuItem(); // add a new radio button for each L&F
\r
837 miLF.setText(uiInstalled[i].getName()); // the friendly name
\r
838 miLF.setToolTipText(uiInstalled[i].getClassName()); // the full name
\r
839 miLF.setSelected(UIManager.getLookAndFeel().getName() == miLF.getText()); // select the current L&F
\r
840 miLF.addItemListener(this); // no Adapter, so make sure the listener method identifies the component first!
\r
841 miLF.putClientProperty("ButtonGroup", "LandF"); // only way for itemStateChanged() to identify L&F events
\r
842 mbgLandF.add(miLF); // add to button group
\r
843 mOptionsLandF.add(miLF); // add to menu
\r
845 // might want to offer Auxillary L&F's too?
\r
847 //** At this point, need to load and act on User configuration
\r
849 initHelp(baseURL); // prepare the Help service
\r
851 // dispose of the splash window
\r
856 private void initHelp(URL baseURL) throws MalformedURLException {
\r
857 // create the tree roots for the help system so they can be used in JTree constructors - can add further nodes later
\r
858 helpContentsRootNode = new DefaultMutableTreeNode("VisTA.CID");
\r
859 helpIndexRootNode = new DefaultMutableTreeNode("Index");
\r
861 HelpIconTitledURLItem item = null;
\r
862 DefaultMutableTreeNode helpCategoryNode = null;
\r
863 DefaultMutableTreeNode helpPageNode = null;
\r
865 helpCategoryNode = new DefaultMutableTreeNode("Getting Started");
\r
866 helpContentsRootNode.add(helpCategoryNode);
\r
867 item = new HelpIconTitledURLItem("Welcome to VisTA.CID", new URL(baseURL, "default.html"), true);
\r
868 helpPageNode = new DefaultMutableTreeNode(item);
\r
869 helpCategoryNode.add(helpPageNode);
\r
871 helpCategoryNode = new DefaultMutableTreeNode("Using VisTA.CID");
\r
872 helpContentsRootNode.add(helpCategoryNode);
\r
873 helpPageNode = new DefaultMutableTreeNode("Menus");
\r
874 helpCategoryNode.add(helpPageNode);
\r
875 helpPageNode = new DefaultMutableTreeNode("Tool bar");
\r
876 helpCategoryNode.add(helpPageNode);
\r
877 helpPageNode = new DefaultMutableTreeNode("Colour controls");
\r
878 helpCategoryNode.add(helpPageNode);
\r
879 helpPageNode = new DefaultMutableTreeNode("Templates");
\r
880 helpCategoryNode.add(helpPageNode);
\r
881 helpPageNode = new DefaultMutableTreeNode("Template controls");
\r
882 helpCategoryNode.add(helpPageNode);
\r
885 // load the help window, but keep it hidden
\r
886 helpWindow = new xhtmlHelp(new URL(baseURL, "help/"), currentLocale, "default.html");
\r
887 helpWindow.setNavigationContentsTreeRoot(new DefaultTreeModel(helpContentsRootNode));
\r
888 helpWindow.setNavigationIndexTreeRoot(new DefaultTreeModel(helpIndexRootNode));
\r
890 helpWindow.setDocking(mHelpDock.isSelected()); // set the Help docking policy
\r
892 if(mHelpExplain.isSelected()) {
\r
893 helpWindow.setPage("helpExplain.html");
\r
894 showHelp(0, true, true, true);
\r
898 /** Creates all the common actions from the resource bundle and icon pairs
\r
900 * Note: The Mnemonic key assignments currently have no way of easily being stored
\r
901 * in the resource bundles. A new class, PowerKeyEvent, will provide a public static
\r
902 * method that takes a String key of the form "VK_N" and returns the int value associated
\r
903 * with it by ActionEvent.
\r
904 * Each assignment creates an action that is used in menu items and tool bar button initialization
\r
905 * PowerAction is an extension of AbstractAction that contains ALL the Action Keys that JButton and
\r
906 * JMenuItem look for when their addAction() method's are called.
\r
908 private void initActions() {
\r
909 aNew = new org.tjworld.components.PowerAction(
\r
910 cIDresources.getString("ActNewName"),
\r
911 ((ToolIconPair)vToolIcons.get(IC_NEW)).active,
\r
912 cIDresources.getString("ActNewTip"),
\r
913 null, null, KeyEvent.VK_N,
\r
914 KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK),
\r
915 currentLocale, "ActNewName", "ActNewTip", null, null, null, null)
\r
917 public void actionPerformed(ActionEvent e) {
\r
918 statusMessage.setText((String)aNew.getValue(Action.NAME));
\r
922 aOpen = new org.tjworld.components.PowerAction(
\r
923 cIDresources.getString("ActOpenName"),
\r
924 ((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).active,
\r
925 cIDresources.getString("ActOpenTip"),
\r
926 null, null, KeyEvent.VK_O,
\r
927 KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK),
\r
928 currentLocale, "ActOpenName", "ActOpenTip", null, null, null, null)
\r
930 public void actionPerformed(ActionEvent e) {
\r
931 statusMessage.setText((String)aOpen.getValue(Action.NAME));
\r
935 aSave = new org.tjworld.components.PowerAction(
\r
936 cIDresources.getString("ActSaveName"),
\r
937 ((ToolIconPair)vToolIcons.get(IC_SAVE)).active,
\r
938 cIDresources.getString("ActSaveTip"),
\r
939 null, null, KeyEvent.VK_S,
\r
940 KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK) )
\r
942 public void actionPerformed(ActionEvent e) {
\r
943 statusMessage.setText((String)aSave.getValue(Action.NAME));
\r
947 aSaveAs = new org.tjworld.components.PowerAction(
\r
948 cIDresources.getString("ActSaveAsName"),
\r
949 ((ToolIconPair)vToolIcons.get(IC_SAVE_AS)).active,
\r
950 cIDresources.getString("ActSaveAsTip"),
\r
951 null, null, KeyEvent.VK_A, null )
\r
953 public void actionPerformed(ActionEvent e) {
\r
954 statusMessage.setText((String)aSaveAs.getValue(Action.NAME));
\r
958 aDelete = new org.tjworld.components.PowerAction(
\r
959 cIDresources.getString("ActDelName"),
\r
960 ((ToolIconPair)vToolIcons.get(IC_PROFILE_DELETE)).active,
\r
961 cIDresources.getString("ActDelTip"),
\r
962 null, null, KeyEvent.VK_D, null )
\r
964 public void actionPerformed(ActionEvent e) {
\r
965 statusMessage.setText((String)aOpen.getValue(Action.NAME));
\r
969 aSendToVistaDB = new org.tjworld.components.PowerAction(
\r
970 cIDresources.getString("ActSendToVistaName"),
\r
971 ((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).active,
\r
972 cIDresources.getString("ActSendToVistaTip"),
\r
973 null, null, KeyEvent.VK_V,
\r
974 KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, ActionEvent.CTRL_MASK))
\r
976 public void actionPerformed(ActionEvent e) {
\r
977 statusMessage.setText((String)aSendToVistaDB.getValue(Action.NAME));
\r
981 aToCookie = new org.tjworld.components.PowerAction(
\r
982 cIDresources.getString("ActToCookName"),
\r
983 ((ToolIconPair)vToolIcons.get(IC_TO_COOKIE)).active,
\r
984 cIDresources.getString("ActToCookTip"),
\r
985 null, null, KeyEvent.VK_T,
\r
986 KeyStroke.getKeyStroke(KeyEvent.VK_UP, ActionEvent.CTRL_MASK))
\r
988 public void actionPerformed(ActionEvent e) {
\r
989 statusMessage.setText((String)aToCookie.getValue(Action.NAME));
\r
993 aFromCookie = new org.tjworld.components.PowerAction(
\r
994 cIDresources.getString("ActFrCookName"),
\r
995 ((ToolIconPair)vToolIcons.get(IC_FROM_COOKIE)).active,
\r
996 cIDresources.getString("ActFrCookTip"),
\r
997 null, null, KeyEvent.VK_C,
\r
998 KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, ActionEvent.CTRL_MASK))
\r
1000 public void actionPerformed(ActionEvent e) {
\r
1001 statusMessage.setText((String)aFromCookie.getValue(Action.NAME));
\r
1005 aCreateFilter = new org.tjworld.components.PowerAction(
\r
1006 cIDresources.getString("ActCreFltName"),
\r
1007 ((ToolIconPair)vToolIcons.get(IC_CREATE_FILTER)).active,
\r
1008 cIDresources.getString("ActCreFltTip"),
\r
1009 null, null, KeyEvent.VK_F, null )
\r
1011 public void actionPerformed(ActionEvent e) {
\r
1012 statusMessage.setText((String)aCreateFilter.getValue(Action.NAME));
\r
1016 aToVistaPage = new org.tjworld.components.PowerAction(
\r
1017 cIDresources.getString("ActToVistaPageName"),
\r
1018 ((ToolIconPair)vToolIcons.get(IC_TO_VISTA_PAGE)).active,
\r
1019 cIDresources.getString("ActToVistaPageTip"),
\r
1020 null, null, KeyEvent.VK_W,
\r
1021 KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, ActionEvent.CTRL_MASK))
\r
1023 public void actionPerformed(ActionEvent e) {
\r
1024 statusMessage.setText((String)aToVistaPage.getValue(Action.NAME));
\r
1028 aPageSetup = new org.tjworld.components.PowerAction(
\r
1029 cIDresources.getString("ActPageSetName"),
\r
1030 ((ToolIconPair)vToolIcons.get(IC_PAGE_SETUP)).active,
\r
1031 cIDresources.getString("ActPageSetTip"),
\r
1032 null, null, KeyEvent.VK_G, null )
\r
1034 public void actionPerformed(ActionEvent e) {
\r
1035 statusMessage.setText((String)aPageSetup.getValue(Action.NAME));
\r
1036 if(printJob == null) // first time, so get a new job
\r
1037 printJob = PrinterJob.getPrinterJob();
\r
1038 if(pageFormat == null) // call the Page Format dialog
\r
1039 pageFormat = printJob.defaultPage();
\r
1040 pageFormat = printJob.pageDialog(pageFormat); // remember the choosen format
\r
1044 aPrint = new org.tjworld.components.PowerAction(
\r
1045 cIDresources.getString("ActPrintName"),
\r
1046 ((ToolIconPair)vToolIcons.get(IC_PRINT)).active,
\r
1047 cIDresources.getString("ActPrintTip"),
\r
1048 null, null, KeyEvent.VK_P,
\r
1049 KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK) )
\r
1051 public void actionPerformed(ActionEvent e) {
\r
1052 statusMessage.setText((String)aPrint.getValue(Action.NAME));
\r
1053 if(printJob == null) // if first time, get a new job
\r
1054 printJob = PrinterJob.getPrinterJob();
\r
1055 if(pageFormat != null) // use a previously chosen page format
\r
1056 printJob.setPrintable(frameCID, frameCID.pageFormat); // print the entire window
\r
1057 else // use the default page format
\r
1058 printJob.setPrintable(frameCID); // print the entire window
\r
1060 if(printJob.printDialog()) { // only go ahead and print if the user clicks OK in the Print Setup dialog
\r
1061 Thread prt = new Thread() { // create a new thread for printing, so the program doesn't appear to freeze
\r
1062 public void run() { // called when the thread is started
\r
1064 printJob.setJobName("VisTA.CID"); // set a friendly printer job name for the queue
\r
1065 frameCID.printJob.print(); // do the printing
\r
1066 } catch(Exception ex) {
\r
1067 ex.printStackTrace();
\r
1071 prt.start(); // do the printing
\r
1076 aProperties = new org.tjworld.components.PowerAction(
\r
1077 cIDresources.getString("ActPropsName"),
\r
1078 ((ToolIconPair)vToolIcons.get(IC_PROPERTIES)).active,
\r
1079 cIDresources.getString("ActPropsTip"),
\r
1080 null, null, KeyEvent.VK_R,
\r
1081 KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, ActionEvent.ALT_MASK) )
\r
1083 public void actionPerformed(ActionEvent e) {
\r
1084 statusMessage.setText((String)aProperties.getValue(Action.NAME));
\r
1088 a1_Up = new org.tjworld.components.PowerAction(
\r
1089 cIDresources.getString("Act1UpName"),
\r
1090 ((ToolIconPair)vToolIcons.get(IC_1UP)).active,
\r
1091 cIDresources.getString("Act1UpTip"),
\r
1092 null, null, KeyEvent.VK_1,
\r
1093 KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK) )
\r
1095 public void actionPerformed(ActionEvent e) {
\r
1100 a2_Up = new org.tjworld.components.PowerAction(
\r
1101 cIDresources.getString("Act2UpName"),
\r
1102 ((ToolIconPair)vToolIcons.get(IC_2UP)).active,
\r
1103 cIDresources.getString("Act2UpTip"),
\r
1104 null, null, KeyEvent.VK_2,
\r
1105 KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK) )
\r
1107 public void actionPerformed(ActionEvent e) {
\r
1112 aAlternate = new org.tjworld.components.PowerAction(
\r
1113 cIDresources.getString("ActAltName"),
\r
1114 ((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).active,
\r
1115 cIDresources.getString("ActAltTip"),
\r
1116 null, null, KeyEvent.VK_A,
\r
1117 KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.ALT_MASK) )
\r
1119 public void actionPerformed(ActionEvent e) {
\r
1124 aBothEyes = new org.tjworld.components.PowerAction(
\r
1125 cIDresources.getString("ActBothEyesName"),
\r
1126 ((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active,
\r
1127 cIDresources.getString("ActBothEyesTip"),
\r
1128 null, null, KeyEvent.VK_B, null )
\r
1130 public void actionPerformed(ActionEvent e) {
\r
1135 aSeparateEyes = new org.tjworld.components.PowerAction(
\r
1136 cIDresources.getString("ActSepEyesName"),
\r
1137 ((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).active,
\r
1138 cIDresources.getString("ActSepEyesTip"),
\r
1139 null, null, KeyEvent.VK_S, null )
\r
1141 public void actionPerformed(ActionEvent e) {
\r
1146 aReading = new org.tjworld.components.PowerAction(
\r
1147 cIDresources.getString("ActReadName"),
\r
1148 ((ToolIconPair)vToolIcons.get(IC_READING)).active,
\r
1149 cIDresources.getString("ActReadTip"),
\r
1150 null, null, KeyEvent.VK_R,
\r
1151 KeyStroke.getKeyStroke(KeyEvent.VK_R, ActionEvent.CTRL_MASK & ActionEvent.ALT_MASK))
\r
1153 public void actionPerformed(ActionEvent e) {
\r
1154 templateChange(e);
\r
1158 aPatterns = new org.tjworld.components.PowerAction(
\r
1159 cIDresources.getString("ActPatName"),
\r
1160 ((ToolIconPair)vToolIcons.get(IC_PATTERNS)).active,
\r
1161 cIDresources.getString("ActPatTip"),
\r
1162 null, null, KeyEvent.VK_P,
\r
1163 KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK & ActionEvent.ALT_MASK) )
\r
1165 public void actionPerformed(ActionEvent e) {
\r
1166 templateChange(e);
\r
1170 aImages = new org.tjworld.components.PowerAction(
\r
1171 cIDresources.getString("ActImgName"),
\r
1172 ((ToolIconPair)vToolIcons.get(IC_IMAGES)).active,
\r
1173 cIDresources.getString("ActImgTip"),
\r
1174 null, null, KeyEvent.VK_I,
\r
1175 KeyStroke.getKeyStroke(KeyEvent.VK_I, ActionEvent.CTRL_MASK & ActionEvent.ALT_MASK) )
\r
1177 public void actionPerformed(ActionEvent e) {
\r
1178 templateChange(e);
\r
1182 aRGB = new org.tjworld.components.PowerAction(
\r
1183 cIDresources.getString("ActRGBName"),
\r
1184 ((ToolIconPair)vToolIcons.get(IC_RGB)).active,
\r
1185 cIDresources.getString("ActRGBTip"),
\r
1186 null, null, KeyEvent.VK_R,
\r
1187 KeyStroke.getKeyStroke(KeyEvent.VK_F1, ActionEvent.CTRL_MASK))
\r
1189 public void actionPerformed(ActionEvent e) {
\r
1190 colourModelChange(e);
\r
1194 aHSB = new org.tjworld.components.PowerAction(
\r
1195 cIDresources.getString("ActHSBName"),
\r
1196 ((ToolIconPair)vToolIcons.get(IC_HSB)).active,
\r
1197 cIDresources.getString("ActHSBTip"),
\r
1198 null, null, KeyEvent.VK_H,
\r
1199 KeyStroke.getKeyStroke(KeyEvent.VK_F2, ActionEvent.CTRL_MASK))
\r
1201 public void actionPerformed(ActionEvent e) {
\r
1202 colourModelChange(e);
\r
1206 aCYMK = new org.tjworld.components.PowerAction(
\r
1207 cIDresources.getString("ActCYMKName"),
\r
1208 ((ToolIconPair)vToolIcons.get(IC_CYMK)).active,
\r
1209 cIDresources.getString("ActCYMKTip"),
\r
1210 null, null, KeyEvent.VK_C,
\r
1211 KeyStroke.getKeyStroke(KeyEvent.VK_F3, ActionEvent.CTRL_MASK))
\r
1213 public void actionPerformed(ActionEvent e) {
\r
1214 colourModelChange(e);
\r
1218 aWheel = new org.tjworld.components.PowerAction(
\r
1219 cIDresources.getString("ActWheelName"),
\r
1220 ((ToolIconPair)vToolIcons.get(IC_WHEEL)).active,
\r
1221 cIDresources.getString("ActWheelTip"),
\r
1222 null, null, KeyEvent.VK_W,
\r
1223 KeyStroke.getKeyStroke(KeyEvent.VK_F4, ActionEvent.CTRL_MASK))
\r
1225 public void actionPerformed(ActionEvent e) {
\r
1226 colourViewChange(e);
\r
1230 aTriangle = new org.tjworld.components.PowerAction(
\r
1231 cIDresources.getString("ActTriName"),
\r
1232 ((ToolIconPair)vToolIcons.get(IC_TRIANGLE)).active,
\r
1233 cIDresources.getString("ActTriTip"),
\r
1234 null, null, KeyEvent.VK_T,
\r
1235 KeyStroke.getKeyStroke(KeyEvent.VK_F5, ActionEvent.CTRL_MASK) )
\r
1237 public void actionPerformed(ActionEvent e) {
\r
1238 colourViewChange(e);
\r
1242 aQube = new org.tjworld.components.PowerAction(
\r
1243 cIDresources.getString("ActQubeName"),
\r
1244 ((ToolIconPair)vToolIcons.get(IC_QUBE)).active,
\r
1245 cIDresources.getString("ActQubeTip"),
\r
1246 null, null, KeyEvent.VK_Q,
\r
1247 KeyStroke.getKeyStroke(KeyEvent.VK_F6, ActionEvent.CTRL_MASK))
\r
1249 public void actionPerformed(ActionEvent e) {
\r
1250 colourViewChange(e);
\r
1254 aColorChooser = new org.tjworld.components.PowerAction(
\r
1255 cIDresources.getString("ActSysColName"),
\r
1256 ((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).active,
\r
1257 cIDresources.getString("ActSysColTip"),
\r
1258 null, null, KeyEvent.VK_S,
\r
1259 KeyStroke.getKeyStroke(KeyEvent.VK_F7, ActionEvent.CTRL_MASK))
\r
1261 public void actionPerformed(ActionEvent e) {
\r
1262 colourViewChange(e);
\r
1266 aSwatches = new org.tjworld.components.PowerAction(
\r
1267 cIDresources.getString("ActSwatchName"),
\r
1268 ((ToolIconPair)vToolIcons.get(IC_SWATCHES)).active,
\r
1269 cIDresources.getString("ActSwatchTip"),
\r
1270 null, null, KeyEvent.VK_W,
\r
1271 KeyStroke.getKeyStroke(KeyEvent.VK_F8, ActionEvent.CTRL_MASK))
\r
1273 public void actionPerformed(ActionEvent e) {
\r
1274 colourViewChange(e);
\r
1278 aManual = new org.tjworld.components.PowerAction(
\r
1279 cIDresources.getString("ActManualName"),
\r
1280 ((ToolIconPair)vToolIcons.get(IC_MANUAL)).active,
\r
1281 cIDresources.getString("ActManualTip"),
\r
1282 null, null, KeyEvent.VK_M,
\r
1283 KeyStroke.getKeyStroke(KeyEvent.VK_F9, ActionEvent.CTRL_MASK))
\r
1285 public void actionPerformed(ActionEvent e) {
\r
1286 directorChange(e);
\r
1290 aAuto = new org.tjworld.components.PowerAction(
\r
1291 cIDresources.getString("ActAutoName"),
\r
1292 ((ToolIconPair)vToolIcons.get(IC_AUTO)).active,
\r
1293 cIDresources.getString("ActAutoTip"),
\r
1294 null, null, KeyEvent.VK_A,
\r
1295 KeyStroke.getKeyStroke(KeyEvent.VK_F10, ActionEvent.CTRL_MASK))
\r
1297 public void actionPerformed(ActionEvent e) {
\r
1298 directorChange(e);
\r
1302 aDirected = new org.tjworld.components.PowerAction(
\r
1303 cIDresources.getString("ActDirectName"),
\r
1304 ((ToolIconPair)vToolIcons.get(IC_DIRECTED)).active,
\r
1305 cIDresources.getString("ActDirectTip"),
\r
1306 null, null, KeyEvent.VK_D,
\r
1307 KeyStroke.getKeyStroke(KeyEvent.VK_F11, ActionEvent.CTRL_MASK))
\r
1309 public void actionPerformed(ActionEvent e) {
\r
1310 directorChange(e);
\r
1314 aScript = new org.tjworld.components.PowerAction(
\r
1315 cIDresources.getString("ActScriptName"),
\r
1316 ((ToolIconPair)vToolIcons.get(IC_SCRIPT)).active,
\r
1317 cIDresources.getString("ActScriptTip"),
\r
1318 null, null, KeyEvent.VK_C,
\r
1319 KeyStroke.getKeyStroke(KeyEvent.VK_F12, ActionEvent.CTRL_MASK))
\r
1321 public void actionPerformed(ActionEvent e) {
\r
1322 directorChange(e);
\r
1326 aConnect = new org.tjworld.components.PowerAction(
\r
1327 cIDresources.getString("ActConnectName"),
\r
1328 ((ToolIconPair)vToolIcons.get(IC_CONNECT)).active,
\r
1329 cIDresources.getString("ActConnectTip"),
\r
1330 null, null, KeyEvent.VK_C, null )
\r
1332 public void actionPerformed(ActionEvent e) {
\r
1333 statusMessage.setText((String)aConnect.getValue(Action.NAME));
\r
1337 aPause = new org.tjworld.components.PowerAction(
\r
1338 cIDresources.getString("ActPauseName"),
\r
1339 ((ToolIconPair)vToolIcons.get(IC_PAUSE)).active,
\r
1340 cIDresources.getString("ActPauseTip"),
\r
1341 null, null, KeyEvent.VK_P, null )
\r
1343 public void actionPerformed(ActionEvent e) {
\r
1344 statusMessage.setText((String)aPause.getValue(Action.NAME));
\r
1348 aDisconnect = new org.tjworld.components.PowerAction(
\r
1349 cIDresources.getString("ActDiscName"),
\r
1350 ((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).active,
\r
1351 cIDresources.getString("ActDiscTip"),
\r
1352 null, null, KeyEvent.VK_D, null )
\r
1354 public void actionPerformed(ActionEvent e) {
\r
1355 statusMessage.setText((String)aDisconnect.getValue(Action.NAME));
\r
1359 aPlay = new org.tjworld.components.PowerAction(
\r
1360 cIDresources.getString("ActPlayName"),
\r
1361 ((ToolIconPair)vToolIcons.get(IC_PLAY)).active,
\r
1362 cIDresources.getString("ActPlayTip"),
\r
1363 null, null, KeyEvent.VK_P, null )
\r
1365 public void actionPerformed(ActionEvent e) {
\r
1366 statusMessage.setText((String)aPlay.getValue(Action.NAME));
\r
1370 aRecord = new org.tjworld.components.PowerAction(
\r
1371 cIDresources.getString("ActRecName"),
\r
1372 ((ToolIconPair)vToolIcons.get(IC_RECORD)).active,
\r
1373 cIDresources.getString("ActRecTip"),
\r
1374 null, null, KeyEvent.VK_R, null )
\r
1376 public void actionPerformed(ActionEvent e) {
\r
1377 statusMessage.setText((String)aRecord.getValue(Action.NAME));
\r
1381 aStop = new org.tjworld.components.PowerAction(
\r
1382 cIDresources.getString("ActStopName"),
\r
1383 ((ToolIconPair)vToolIcons.get(IC_STOP)).active,
\r
1384 cIDresources.getString("ActStopTip"),
\r
1385 null, null, KeyEvent.VK_S, null )
\r
1387 public void actionPerformed(ActionEvent e) {
\r
1388 statusMessage.setText((String)aStop.getValue(Action.NAME));
\r
1392 aDynamicVista = new org.tjworld.components.PowerAction(
\r
1393 cIDresources.getString("ActDynVistaName"),
\r
1394 ((ToolIconPair)vToolIcons.get(IC_OPTION_DYNAMIC_VISTA)).active,
\r
1395 cIDresources.getString("ActDynVistaTip"),
\r
1396 null, null, KeyEvent.VK_V, null )
\r
1398 public void actionPerformed(ActionEvent e) {
\r
1399 statusMessage.setText((String)aDynamicVista.getValue(Action.NAME));
\r
1403 aLanguageDefault = new org.tjworld.components.PowerAction(
\r
1404 cIDresources.getString("ActLangDefName"),
\r
1405 ((ToolIconPair)vToolIcons.get(IC_LANG_DEFAULT)).active,
\r
1406 cIDresources.getString("ActLangDefTip"),
\r
1407 null, null, KeyEvent.VK_D, null )
\r
1409 public void actionPerformed(ActionEvent e) {
\r
1410 frameCID.setLocale(Locale.getDefault());
\r
1411 languageChange(e); // update application state
\r
1415 aLanguageBritish = new org.tjworld.components.PowerAction(
\r
1416 cIDresources.getString("ActLangBritName"),
\r
1417 ((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active,
\r
1418 cIDresources.getString("ActLangBritTip"),
\r
1419 null, null, KeyEvent.VK_B, null )
\r
1421 public void actionPerformed(ActionEvent e) {
\r
1422 frameCID.setLocale(Locale.UK);
\r
1423 languageChange(e); // update application state
\r
1427 aLanguageFrench = new org.tjworld.components.PowerAction(
\r
1428 cIDresources.getString("ActLangFrName"),
\r
1429 ((ToolIconPair)vToolIcons.get(IC_LANG_FRENCH)).active,
\r
1430 cIDresources.getString("ActLangFrTip"),
\r
1431 null, null, KeyEvent.VK_F, null )
\r
1433 public void actionPerformed(ActionEvent e) {
\r
1434 frameCID.setLocale(Locale.FRANCE);
\r
1435 languageChange(e); // update application state
\r
1439 aLanguageSpanish = new org.tjworld.components.PowerAction(
\r
1440 cIDresources.getString("ActLangSpanName"),
\r
1441 ((ToolIconPair)vToolIcons.get(IC_LANG_SPANISH)).active,
\r
1442 cIDresources.getString("ActLangSpanTip"),
\r
1443 null, null, KeyEvent.VK_S, null )
\r
1445 public void actionPerformed(ActionEvent e) {
\r
1446 frameCID.setLocale(new Locale("es","ES"));
\r
1447 languageChange(e); // update application state
\r
1451 aLanguageGerman = new org.tjworld.components.PowerAction(
\r
1452 cIDresources.getString("ActLangGerName"),
\r
1453 ((ToolIconPair)vToolIcons.get(IC_LANG_GERMAN)).active,
\r
1454 cIDresources.getString("ActLangGerTip"),
\r
1455 null, null, KeyEvent.VK_G, null )
\r
1457 public void actionPerformed(ActionEvent e) {
\r
1458 frameCID.setLocale(new Locale("de","DE"));
\r
1459 languageChange(e); // update application state
\r
1463 aLanguageArabicEgypt = new org.tjworld.components.PowerAction(
\r
1464 cIDresources.getString("ActLangArEGName"),
\r
1465 ((ToolIconPair)vToolIcons.get(IC_LANG_AR_EG)).active,
\r
1466 cIDresources.getString("ActLangArEGTip"),
\r
1467 null, null, KeyEvent.VK_A, null )
\r
1469 public void actionPerformed(ActionEvent e) {
\r
1470 frameCID.setLocale(new Locale("ar","EG"));
\r
1471 languageChange(e); // update application state
\r
1475 aLanguageFarsiIran = new org.tjworld.components.PowerAction(
\r
1476 cIDresources.getString("ActLangFaIRName"),
\r
1477 ((ToolIconPair)vToolIcons.get(IC_LANG_FA_IR)).active,
\r
1478 cIDresources.getString("ActLangFaIRTip"),
\r
1479 null, null, 0, null ) // no keyboard mnemonic
\r
1481 public void actionPerformed(ActionEvent e) {
\r
1482 frameCID.setLocale(new Locale("fa","IR"));
\r
1483 languageChange(e); // update application state
\r
1487 aLanguageHindiIndia = new org.tjworld.components.PowerAction(
\r
1488 cIDresources.getString("ActLangHiINName"),
\r
1489 ((ToolIconPair)vToolIcons.get(IC_LANG_FA_IR)).active,
\r
1490 cIDresources.getString("ActLangHiINTip"),
\r
1491 null, null, KeyEvent.VK_H, null )
\r
1493 public void actionPerformed(ActionEvent e) {
\r
1494 frameCID.setLocale(new Locale("hi","IN"));
\r
1495 languageChange(e); // update application state
\r
1499 aLanguageIndonesian = new org.tjworld.components.PowerAction(
\r
1500 cIDresources.getString("ActLangIndonesianName"),
\r
1501 ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,
\r
1502 cIDresources.getString("ActLangIndonesianTip"),
\r
1503 null, null, 0, null )
\r
1505 public void actionPerformed(ActionEvent e) {
\r
1506 frameCID.setLocale(new Locale("in"));
\r
1507 languageChange(e); // update application state
\r
1511 aLanguageJapanese = new org.tjworld.components.PowerAction(
\r
1512 cIDresources.getString("ActLangJapaneseName"),
\r
1513 ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,
\r
1514 cIDresources.getString("ActLangJapaneseTip"),
\r
1515 null, null, 0, null )
\r
1517 public void actionPerformed(ActionEvent e) {
\r
1518 frameCID.setLocale(new Locale("ja"));
\r
1519 languageChange(e); // update application state
\r
1523 aLanguageDutch = new org.tjworld.components.PowerAction(
\r
1524 cIDresources.getString("ActLangDutchName"),
\r
1525 ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,
\r
1526 cIDresources.getString("ActLangDutchTip"),
\r
1527 null, null, 0, null )
\r
1529 public void actionPerformed(ActionEvent e) {
\r
1530 frameCID.setLocale(new Locale("nl"));
\r
1531 languageChange(e); // update application state
\r
1535 aLanguagePashto = new org.tjworld.components.PowerAction(
\r
1536 cIDresources.getString("ActLangPashtoName"),
\r
1537 ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,
\r
1538 cIDresources.getString("ActLangPashtoTip"),
\r
1539 null, null, 0, null )
\r
1541 public void actionPerformed(ActionEvent e) {
\r
1542 frameCID.setLocale(new Locale("ps"));
\r
1543 languageChange(e); // update application state
\r
1547 aLanguagePortuguese = new org.tjworld.components.PowerAction(
\r
1548 cIDresources.getString("ActLangPortugueseName"),
\r
1549 ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,
\r
1550 cIDresources.getString("ActLangPortugueseTip"),
\r
1551 null, null, 0, null )
\r
1553 public void actionPerformed(ActionEvent e) {
\r
1554 frameCID.setLocale(new Locale("pt"));
\r
1555 languageChange(e); // update application state
\r
1559 aLanguageRussian = new org.tjworld.components.PowerAction(
\r
1560 cIDresources.getString("ActLangRussianName"),
\r
1561 ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,
\r
1562 cIDresources.getString("ActLangRussianTip"),
\r
1563 null, null, 0, null )
\r
1565 public void actionPerformed(ActionEvent e) {
\r
1566 frameCID.setLocale(new Locale("ru"));
\r
1567 languageChange(e); // update application state
\r
1571 aLanguageSwedish = new org.tjworld.components.PowerAction(
\r
1572 cIDresources.getString("ActLangSwedishName"),
\r
1573 ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,
\r
1574 cIDresources.getString("ActLangSwedishTip"),
\r
1575 null, null, 0, null )
\r
1577 public void actionPerformed(ActionEvent e) {
\r
1578 frameCID.setLocale(new Locale("sv"));
\r
1579 languageChange(e); // update application state
\r
1583 aLanguageUrdu = new org.tjworld.components.PowerAction(
\r
1584 cIDresources.getString("ActLangUrduName"),
\r
1585 ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,
\r
1586 cIDresources.getString("ActLangUrduTip"),
\r
1587 null, null, 0, null )
\r
1589 public void actionPerformed(ActionEvent e) {
\r
1590 frameCID.setLocale(new Locale("ur"));
\r
1591 languageChange(e); // update application state
\r
1595 aLanguageChinese = new org.tjworld.components.PowerAction(
\r
1596 cIDresources.getString("ActLangChineseName"),
\r
1597 ((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active,
\r
1598 cIDresources.getString("ActLangChineseTip"),
\r
1599 null, null, 0, null )
\r
1601 public void actionPerformed(ActionEvent e) {
\r
1602 frameCID.setLocale(new Locale("zh"));
\r
1603 languageChange(e); // update application state
\r
1607 aHelpContents = new org.tjworld.components.PowerAction(
\r
1608 cIDresources.getString("ActHelpConName"),
\r
1609 ((ToolIconPair)vToolIcons.get(IC_HELP_CONTENTS)).active,
\r
1610 cIDresources.getString("ActHelpConTip"),
\r
1611 null, null, KeyEvent.VK_C,
\r
1612 KeyStroke.getKeyStroke(KeyEvent.VK_F1, ActionEvent.CTRL_MASK))
\r
1614 public void actionPerformed(ActionEvent e) {
\r
1615 statusMessage.setText((String)aHelpContents.getValue(Action.NAME));
\r
1616 showHelp(xhtmlHelp.TAB_CONTENTS, false, true, true);
\r
1620 aHelpSearch = new org.tjworld.components.PowerAction(
\r
1621 cIDresources.getString("ActHelpSrcName"),
\r
1622 ((ToolIconPair)vToolIcons.get(IC_HELP_SEARCH)).active,
\r
1623 cIDresources.getString("ActHelpSrcTip"),
\r
1624 null, null, KeyEvent.VK_S, null )
\r
1626 public void actionPerformed(ActionEvent e) {
\r
1627 statusMessage.setText((String)aHelpSearch.getValue(Action.NAME));
\r
1628 showHelp(xhtmlHelp.TAB_SEARCH, false, true, true);
\r
1632 aHelpWeb = new org.tjworld.components.PowerAction(
\r
1633 cIDresources.getString("ActHelpWebName"),
\r
1634 ((ToolIconPair)vToolIcons.get(IC_HELP_WEB)).active,
\r
1635 cIDresources.getString("ActHelpWebTip"),
\r
1636 null, null, KeyEvent.VK_W, null )
\r
1638 public void actionPerformed(ActionEvent e) {
\r
1639 statusMessage.setText((String)aHelpWeb.getValue(Action.NAME));
\r
1642 aFilterTemplate = new org.tjworld.components.PowerAction(
\r
1643 cIDresources.getString("ActFltTmplName"),
\r
1644 ((ToolIconPair)vToolIcons.get(IC_FILTER_TEMPLATE)).active,
\r
1645 cIDresources.getString("ActFltTmplTip"),
\r
1646 null, null, KeyEvent.VK_T,
\r
1647 KeyStroke.getKeyStroke(KeyEvent.VK_T, ActionEvent.CTRL_MASK))
\r
1649 public void actionPerformed(ActionEvent e) {
\r
1650 filterChange(e, FILTER_TEMPLATE);
\r
1654 aFilterWindow = new org.tjworld.components.PowerAction(
\r
1655 cIDresources.getString("ActFltWinName"),
\r
1656 ((ToolIconPair)vToolIcons.get(IC_FILTER_WINDOW)).active,
\r
1657 cIDresources.getString("ActFltWinTip"),
\r
1658 null, null, KeyEvent.VK_W,
\r
1659 KeyStroke.getKeyStroke(KeyEvent.VK_W, ActionEvent.CTRL_MASK))
\r
1661 public void actionPerformed(ActionEvent e) {
\r
1662 filterChange(e, FILTER_WINDOW);
\r
1666 aFilterScreen = new org.tjworld.components.PowerAction(
\r
1667 cIDresources.getString("ActFltScrName"),
\r
1668 ((ToolIconPair)vToolIcons.get(IC_FILTER_SCREEN)).active,
\r
1669 cIDresources.getString("ActFltScrTip"),
\r
1670 null, null, KeyEvent.VK_S, null )
\r
1672 public void actionPerformed(ActionEvent e) {
\r
1673 filterChange(e, FILTER_SCREEN);
\r
1678 /** Display the HTML help window
\r
1679 * @param tabSelected The Navigation tab to give focus to
\r
1681 public void showHelp(int tabSelected, boolean position, boolean show, boolean changeShow) {
\r
1682 if(helpWindow != null) {
\r
1683 if(helpLocation == null || position == true) { // not displayed before, so position nicely
\r
1684 helpLocation = new Point(getX(), getY() + getHeight());
\r
1685 helpWindow.setLocation(helpLocation, (Component)this);
\r
1686 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
\r
1687 Dimension d = getSize();
\r
1688 d.height = screenSize.height - (getY() + d.height);
\r
1689 helpWindow.setSize(d, (Component)this);
\r
1692 if(changeShow) helpWindow.setVisible(show);
\r
1693 if(tabSelected != 0) helpWindow.setNavigationTab(tabSelected);
\r
1697 /** Switch the positioning of the VisTA filter
\r
1699 * By default the filter covers only the Template, but can be set to cover the
\r
1700 * entire Window, and in supported environments, the entire screen.
\r
1702 * Filtering the entire screen may require either the Java Full-Screen API so
\r
1703 * the application takes over the display, or else the use of Java Native Interface
\r
1704 * to communicate with the host Operating System.
\r
1706 private void filterChange(ActionEvent e, int newFilter) {
\r
1707 AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event
\r
1708 statusIconFilter.setDisabledIcon(pa.getIcon()); // update the status icon
\r
1709 statusMessage.setText((String)pa.getAction().getValue(Action.NAME));
\r
1711 switch(activeFilter) { // deactivate the current filter
\r
1712 case FILTER_SCREEN: // remove attachment to screen
\r
1714 case FILTER_WINDOW: // remove attachment to window
\r
1715 setGlassPane(defaultGlassPane);
\r
1716 defaultGlassPane.setVisible(false);
\r
1718 case FILTER_TEMPLATE: // remove attachment to template
\r
1719 filterLayerPane.remove(vfFilter);
\r
1723 switch(newFilter) { // activate the requested filter
\r
1724 case FILTER_SCREEN: // attach to screen
\r
1726 case FILTER_WINDOW: // attach to window
\r
1727 // defaultGlassPane = getGlassPane(); // store the current glass pane
\r
1728 setGlassPane(vfFilter); // replace it with the filter
\r
1729 vfFilter.setVisible(true); // make it visible
\r
1731 case FILTER_TEMPLATE: // attach to template
\r
1732 vfFilter.setLocation(0,0); // might have been forced to relocate by Frame L&F decorations
\r
1733 filterLayerPane.add(vfFilter, javax.swing.JLayeredPane.DRAG_LAYER);
\r
1736 activeFilter = newFilter;
\r
1739 /** Update state of application after a Language change
\r
1741 * Reflects the change in the status bar icons, and iterates through
\r
1742 * all language-dependent components.
\r
1744 * @param e event fired by source component
\r
1746 private void languageChange(ActionEvent e) {
\r
1747 AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event
\r
1748 statusIconLanguage.setDisabledIcon(pa.getIcon()); // update the status icon
\r
1749 statusMessage.setText((String)pa.getAction().getValue(Action.NAME));
\r
1752 /** Update state of application after a Director change
\r
1754 * Reflects the change in the status bar icons, and switches
\r
1757 * @param e event fired by source component
\r
1759 private void directorChange(ActionEvent e) {
\r
1760 AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event
\r
1761 statusIconDirector.setDisabledIcon(pa.getIcon()); // update the status icon
\r
1762 statusMessage.setText((String)pa.getAction().getValue(Action.NAME));
\r
1765 /** Update state of application after a Colour View change
\r
1767 * Reflects the change in the status bar icons, and changes
\r
1768 * colour view mode.
\r
1770 * @param e event fired by source component
\r
1772 private void colourViewChange(ActionEvent e) {
\r
1773 AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event
\r
1774 statusIconColourView.setDisabledIcon(pa.getIcon()); // update the status icon
\r
1775 statusMessage.setText((String)pa.getAction().getValue(Action.NAME));
\r
1778 /** Update state of application after a Colour Model change
\r
1780 * Reflects the change in the status bar icons, and changes
\r
1781 * the colour model.
\r
1783 * @param e event fired by source component
\r
1785 private void colourModelChange(ActionEvent e) {
\r
1786 AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event
\r
1787 statusIconColourModel.setDisabledIcon(pa.getIcon()); // update the status icon
\r
1788 statusMessage.setText((String)pa.getAction().getValue(Action.NAME));
\r
1791 /** Update state of application after a Template change
\r
1793 * Reflects the change in the status bar icons, and changes
\r
1796 * @param e event fired by source component
\r
1798 private void templateChange(ActionEvent e) {
\r
1799 AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event
\r
1800 statusIconTemplate.setDisabledIcon(pa.getIcon()); // update the status icon
\r
1801 statusMessage.setText((String)pa.getAction().getValue(Action.NAME));
\r
1804 /** Update state of application after an Eye Model change
\r
1806 * Reflects the change in the status bar icons, and changes
\r
1809 * @param e event fired by source component
\r
1811 private void eyesChange(ActionEvent e) {
\r
1812 AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event
\r
1813 statusIconEyes.setDisabledIcon(pa.getIcon()); // update the status icon
\r
1814 statusMessage.setText((String)pa.getAction().getValue(Action.NAME));
\r
1817 /** Update state of application after a Model change
\r
1819 * Reflects the change in the status bar icons, and changes
\r
1822 * @param e event fired by source component
\r
1824 private void modelChange(ActionEvent e) {
\r
1825 AbstractButton pa = (AbstractButton)e.getSource(); // identify the component that fired this event
\r
1826 statusIconModel.setDisabledIcon(pa.getIcon()); // update the status icon
\r
1827 statusMessage.setText((String)pa.getAction().getValue(Action.NAME));
\r
1831 * Prints the application window exactly as it appears on screen
\r
1832 * @param g The context to draw into
\r
1833 * @param pf page format info
\r
1834 * @param pi page index (number) to print
\r
1836 * @throws PrinterException Problem
\r
1838 public int print(Graphics g, PageFormat pf, int pi) throws PrinterException {
\r
1839 if(pi >= 1) // only got one page to print
\r
1840 return Printable.NO_SUCH_PAGE;
\r
1843 System.out.println("Page orientation: " + (pf.getOrientation() == PageFormat.LANDSCAPE ? "Landscape" : (pf.getOrientation() == PageFormat.PORTRAIT ? "Portrait" : "Reverse Landscape")));
\r
1844 System.out.println("Page Width=" + pf.getWidth() + ", Height=" + pf.getHeight());
\r
1845 System.out.println("Page ImageableX=" + pf.getImageableX() + ", ImageableY=" + pf.getImageableY());
\r
1846 System.out.println("Page Imageable Ints X=" + (new Double(pf.getImageableX())).intValue() + ", Y=" + (new Double(pf.getImageableY())).intValue());
\r
1847 System.out.println("Page ImageableWidth=" + pf.getImageableWidth() + ", ImageableHeight=" + pf.getImageableHeight());
\r
1848 System.out.println("Frame Width=" + getWidth() + " Height=" + getHeight());
\r
1849 System.out.println("Graphics Clip=" + g.getClip().toString());
\r
1852 statusMessage.setText("Please wait, printing may take some time...");
\r
1853 // create a BufferedImage matching or exceeding the CID frame size
\r
1854 java.awt.image.BufferedImage buffer = new java.awt.image.BufferedImage(getWidth(), getHeight(), java.awt.image.BufferedImage.TYPE_INT_RGB);
\r
1855 // get a Graphics2D from the BufferedImage
\r
1856 Graphics2D g2d = buffer.createGraphics();
\r
1857 // pass the Graphics2D to the printAll() method
\r
1859 // cast the printer Graphics object to a Graphics2D object
\r
1860 Graphics2D g2 = (Graphics2D)g;
\r
1861 // create a scaling transform to render the image half-size
\r
1862 AffineTransform scale = AffineTransform.getScaleInstance(0.5,0.5);
\r
1863 // apply it to the buffer Graphics2D context
\r
1864 g2.transform(scale);
\r
1865 // get an Affine (rotational) Transform taken from the PageFormat.getMatrix() method
\r
1866 // AffineTransformOp pageOrientation = new AffineTransformOp(new AffineTransform(pf.getMatrix()), AffineTransformOp.TYPE_BILINEAR); // deal with page orientation (landscape/portrait)
\r
1867 // translate the origin to ensure the image is not clipped by the page margins
\r
1868 g2.translate((new Double(pf.getImageableX())).intValue(), (new Double(pf.getImageableY())).intValue());
\r
1869 // create an Identity (1:1) Op because we have to give Graphics2D.drawImage() an Op of some kind
\r
1870 java.awt.image.RescaleOp scaleIdentity = new java.awt.image.RescaleOp(1.0f, 0.0f, null);
\r
1871 // use Graphics2D.drawImage(BufferedImage...) to rotate the image into the printer graphics context
\r
1872 g2.drawImage(buffer, scaleIdentity, (new Double(pf.getImageableWidth()/2)).intValue(), (new Double(pf.getImageableHeight()/2)).intValue());
\r
1873 // return the original Graphics object to the print engine
\r
1874 // return Printable.NO_SUCH_PAGE;
\r
1875 return Printable.PAGE_EXISTS;
\r
1878 /** This method is called from within the constructor to
\r
1879 * initialize the form.
\r
1880 * WARNING: Do NOT modify this code. The content of this method is
\r
1881 * always regenerated by the Form Editor.
\r
1883 private void initComponents() {//GEN-BEGIN:initComponents
\r
1884 mbMain = new javax.swing.JMenuBar();
\r
1885 mProfile = new javax.swing.JMenu();
\r
1886 mProfileNew = new javax.swing.JMenuItem();
\r
1887 mProfileOpen = new javax.swing.JMenuItem();
\r
1888 mProfileSave = new javax.swing.JMenuItem();
\r
1889 mProfileSaveAs = new javax.swing.JMenuItem();
\r
1890 mProfileDelete = new javax.swing.JMenuItem();
\r
1891 mProfileSeparator1 = new javax.swing.JSeparator();
\r
1892 mProfileToVista = new javax.swing.JMenuItem();
\r
1893 mProfileSeparator2 = new javax.swing.JSeparator();
\r
1894 mProfileFromCookie = new javax.swing.JMenuItem();
\r
1895 mProfileToCookie = new javax.swing.JMenuItem();
\r
1896 mProfileCreateFilter = new javax.swing.JMenuItem();
\r
1897 mProfileWeb = new javax.swing.JMenuItem();
\r
1898 mProfileSeparator3 = new javax.swing.JSeparator();
\r
1899 mProfilePrint = new javax.swing.JMenuItem();
\r
1900 mProfilePageSetup = new javax.swing.JMenuItem();
\r
1901 mProfileSeparator4 = new javax.swing.JSeparator();
\r
1902 mProfileProperties = new javax.swing.JMenuItem();
\r
1903 mModel = new javax.swing.JMenu();
\r
1904 mModel1 = new javax.swing.JRadioButtonMenuItem();
\r
1905 mModel2 = new javax.swing.JRadioButtonMenuItem();
\r
1906 mModelAlternate = new javax.swing.JRadioButtonMenuItem();
\r
1907 jSeparator9 = new javax.swing.JSeparator();
\r
1908 mModelBothEyes = new javax.swing.JRadioButtonMenuItem();
\r
1909 mModelEyesSeparate = new javax.swing.JRadioButtonMenuItem();
\r
1910 mTemplate = new javax.swing.JMenu();
\r
1911 mTemplateReading = new javax.swing.JRadioButtonMenuItem();
\r
1912 mTemplatePattern = new javax.swing.JRadioButtonMenuItem();
\r
1913 mTemplateImage = new javax.swing.JRadioButtonMenuItem();
\r
1914 mColour = new javax.swing.JMenu();
\r
1915 mColourRGB = new javax.swing.JRadioButtonMenuItem();
\r
1916 mColourHSB = new javax.swing.JRadioButtonMenuItem();
\r
1917 mColourCYMK = new javax.swing.JRadioButtonMenuItem();
\r
1918 jSeparator7 = new javax.swing.JSeparator();
\r
1919 mColourWheel = new javax.swing.JRadioButtonMenuItem();
\r
1920 mColourTriangle = new javax.swing.JRadioButtonMenuItem();
\r
1921 mColourCube = new javax.swing.JRadioButtonMenuItem();
\r
1922 mColourSystemChooser = new javax.swing.JRadioButtonMenuItem();
\r
1923 mColourSwatch = new javax.swing.JRadioButtonMenuItem();
\r
1924 mDirector = new javax.swing.JMenu();
\r
1925 mDirectorManual = new javax.swing.JRadioButtonMenuItem();
\r
1926 mDirectorAuto = new javax.swing.JRadioButtonMenuItem();
\r
1927 mDirectorDirect = new javax.swing.JRadioButtonMenuItem();
\r
1928 mDirectorScript = new javax.swing.JRadioButtonMenuItem();
\r
1929 mOptions = new javax.swing.JMenu();
\r
1930 mOptionsReading = new javax.swing.JMenu();
\r
1931 mReadingChoose = new javax.swing.JMenuItem();
\r
1932 mReadingCustomize = new javax.swing.JMenuItem();
\r
1933 mReadingPreferences = new javax.swing.JMenuItem();
\r
1934 mOptionsPatterns = new javax.swing.JMenu();
\r
1935 mPatternsChoose = new javax.swing.JMenuItem();
\r
1936 mPatternsCustomize = new javax.swing.JMenuItem();
\r
1937 mPatternsPreferences = new javax.swing.JMenuItem();
\r
1938 mOptionsImages = new javax.swing.JMenu();
\r
1939 mImgChoose = new javax.swing.JMenuItem();
\r
1940 mImgCustomize = new javax.swing.JMenuItem();
\r
1941 mImgPreferences = new javax.swing.JMenuItem();
\r
1942 mOptionsSwatches = new javax.swing.JMenu();
\r
1943 mSwatchesChoose = new javax.swing.JMenuItem();
\r
1944 mSwatchesCustomize = new javax.swing.JMenuItem();
\r
1945 mSwatchesPreferences = new javax.swing.JMenuItem();
\r
1946 mOptionsDirected = new javax.swing.JMenu();
\r
1947 mDirectedConnect = new javax.swing.JMenuItem();
\r
1948 mDirectedDisconnect = new javax.swing.JMenuItem();
\r
1949 mDirectedPreferences = new javax.swing.JMenuItem();
\r
1950 mOptionsScripted = new javax.swing.JMenu();
\r
1951 mOptionsScriptedChoose = new javax.swing.JMenuItem();
\r
1952 mOptionsScriptedPlay = new javax.swing.JMenuItem();
\r
1953 mOptionsScriptedRecord = new javax.swing.JMenuItem();
\r
1954 mOptionsScriptedPause = new javax.swing.JMenuItem();
\r
1955 mOptionsScriptedStop = new javax.swing.JMenuItem();
\r
1956 mOptionsScriptedPreferences = new javax.swing.JMenuItem();
\r
1957 mOptionsFilter = new javax.swing.JMenu();
\r
1958 mFilterTemplate = new javax.swing.JRadioButtonMenuItem();
\r
1959 mFilterWindow = new javax.swing.JRadioButtonMenuItem();
\r
1960 mFilterScreen = new javax.swing.JRadioButtonMenuItem();
\r
1961 mOptionsLanguage = new javax.swing.JMenu();
\r
1962 mLanguageDefault = new javax.swing.JRadioButtonMenuItem();
\r
1963 mLanguageBritish = new javax.swing.JRadioButtonMenuItem();
\r
1964 mLanguageFrench = new javax.swing.JRadioButtonMenuItem();
\r
1965 mLanguageSpanish = new javax.swing.JRadioButtonMenuItem();
\r
1966 mLanguageGerman = new javax.swing.JRadioButtonMenuItem();
\r
1967 mLanguageArabicEgypt = new javax.swing.JRadioButtonMenuItem();
\r
1968 mLanguageFarsiIran = new javax.swing.JRadioButtonMenuItem();
\r
1969 mLanguageHindiIndia = new javax.swing.JRadioButtonMenuItem();
\r
1970 mLanguageIndonesian = new javax.swing.JRadioButtonMenuItem();
\r
1971 mLanguageJapanese = new javax.swing.JRadioButtonMenuItem();
\r
1972 mLanguageDutch = new javax.swing.JRadioButtonMenuItem();
\r
1973 mLanguagePashto = new javax.swing.JRadioButtonMenuItem();
\r
1974 mLanguagePortuguese = new javax.swing.JRadioButtonMenuItem();
\r
1975 mLanguageRussian = new javax.swing.JRadioButtonMenuItem();
\r
1976 mLanguageSwedish = new javax.swing.JRadioButtonMenuItem();
\r
1977 mLanguageUrdu = new javax.swing.JRadioButtonMenuItem();
\r
1978 mLanguageChinese = new javax.swing.JRadioButtonMenuItem();
\r
1979 mOptionsToolbar = new javax.swing.JMenu();
\r
1980 mToolbarToolBar = new javax.swing.JCheckBoxMenuItem();
\r
1981 jSeparator1 = new javax.swing.JSeparator();
\r
1982 mToolbarProfile = new javax.swing.JCheckBoxMenuItem();
\r
1983 mToolbarModel = new javax.swing.JCheckBoxMenuItem();
\r
1984 mToolbarEyes = new javax.swing.JCheckBoxMenuItem();
\r
1985 mToolbarTemplate = new javax.swing.JCheckBoxMenuItem();
\r
1986 mToolbarColourModel = new javax.swing.JCheckBoxMenuItem();
\r
1987 mToolbarColourView = new javax.swing.JCheckBoxMenuItem();
\r
1988 mToolbarDirector = new javax.swing.JCheckBoxMenuItem();
\r
1989 mToolbarConnection = new javax.swing.JCheckBoxMenuItem();
\r
1990 mToolbarScript = new javax.swing.JCheckBoxMenuItem();
\r
1991 mOptionsLandF = new javax.swing.JMenu();
\r
1992 mOptionsVistaDB = new javax.swing.JMenuItem();
\r
1993 mOptionsSeparator2 = new javax.swing.JSeparator();
\r
1994 mOptionsVistaWeb = new javax.swing.JCheckBoxMenuItem();
\r
1995 mHelp = new javax.swing.JMenu();
\r
1996 mHelpContents = new javax.swing.JMenuItem();
\r
1997 mHelpIndex = new javax.swing.JMenuItem();
\r
1998 mHelpSearch = new javax.swing.JMenuItem();
\r
1999 mHelpWebLink = new javax.swing.JMenuItem();
\r
2000 mHelpSeparator1 = new javax.swing.JSeparator();
\r
2001 mHelpExplain = new javax.swing.JCheckBoxMenuItem();
\r
2002 mHelpDock = new javax.swing.JCheckBoxMenuItem();
\r
2003 mHelpFilter = new javax.swing.JCheckBoxMenuItem();
\r
2004 mHelpSeparator2 = new javax.swing.JSeparator();
\r
2005 mHelpAbout = new javax.swing.JMenuItem();
\r
2006 btnGroupFilter = new javax.swing.ButtonGroup();
\r
2007 btnGroupTemplate = new javax.swing.ButtonGroup();
\r
2008 toolBar = new javax.swing.JToolBar();
\r
2009 pProfile = new javax.swing.JPanel();
\r
2010 btnNew = new javax.swing.JButton();
\r
2011 btnOpenFile = new javax.swing.JButton();
\r
2012 btnSave = new javax.swing.JButton();
\r
2013 btnSendToVistaDB = new javax.swing.JButton();
\r
2014 pModel = new javax.swing.JPanel();
\r
2015 btn1Up = new javax.swing.JToggleButton();
\r
2016 btn2Up = new javax.swing.JToggleButton();
\r
2017 btnAlternate = new javax.swing.JToggleButton();
\r
2018 pEyes = new javax.swing.JPanel();
\r
2019 btnEyes2 = new javax.swing.JToggleButton();
\r
2020 btnEyes1 = new javax.swing.JToggleButton();
\r
2021 pTemplate = new javax.swing.JPanel();
\r
2022 btnReading = new javax.swing.JToggleButton();
\r
2023 btnPatterns = new javax.swing.JToggleButton();
\r
2024 btnImages = new javax.swing.JToggleButton();
\r
2025 pColourModel = new javax.swing.JPanel();
\r
2026 btnRGB = new javax.swing.JToggleButton();
\r
2027 btnHSB = new javax.swing.JToggleButton();
\r
2028 btnCYMK = new javax.swing.JToggleButton();
\r
2029 pColourView = new javax.swing.JPanel();
\r
2030 btnWheel = new javax.swing.JToggleButton();
\r
2031 btnTriangle = new javax.swing.JToggleButton();
\r
2032 btnQube = new javax.swing.JToggleButton();
\r
2033 btnSystemChooser = new javax.swing.JToggleButton();
\r
2034 btnSwatches = new javax.swing.JToggleButton();
\r
2035 pDirector = new javax.swing.JPanel();
\r
2036 btnManual = new javax.swing.JToggleButton();
\r
2037 btnAuto = new javax.swing.JToggleButton();
\r
2038 btnDirected = new javax.swing.JToggleButton();
\r
2039 btnScript = new javax.swing.JToggleButton();
\r
2040 pConnection = new javax.swing.JPanel();
\r
2041 btnConnect = new javax.swing.JToggleButton();
\r
2042 btnDisconnect = new javax.swing.JToggleButton();
\r
2043 pScript = new javax.swing.JPanel();
\r
2044 btnPlay = new javax.swing.JToggleButton();
\r
2045 btnRecord = new javax.swing.JToggleButton();
\r
2046 btnPause = new javax.swing.JToggleButton();
\r
2047 btnStop = new javax.swing.JToggleButton();
\r
2048 workPanel = new javax.swing.JPanel();
\r
2049 spTemplate = new javax.swing.JSplitPane();
\r
2050 spColour = new javax.swing.JSplitPane();
\r
2051 colourPanel = new javax.swing.JPanel();
\r
2052 colourSelectorPanel = new javax.swing.JPanel();
\r
2053 filterSelector = new javax.swing.JPanel();
\r
2054 jIconRadioButton1 = new org.tjworld.components.JIconRadioButton();
\r
2055 jIconRadioButton2 = new org.tjworld.components.JIconRadioButton();
\r
2056 jIconRadioButton3 = new org.tjworld.components.JIconRadioButton();
\r
2057 jIconRadioButton4 = new org.tjworld.components.JIconRadioButton();
\r
2058 filterHistory = new javax.swing.JComboBox();
\r
2059 sysColorChooser = new javax.swing.JColorChooser();
\r
2060 tintPanel = new javax.swing.JPanel();
\r
2061 sliderTint = new javax.swing.JSlider();
\r
2062 filterLayerPane = new javax.swing.JLayeredPane();
\r
2063 templatePanel = new javax.swing.JPanel();
\r
2064 jTextPane3 = new javax.swing.JTextPane();
\r
2065 templateControlPanel = new javax.swing.JPanel();
\r
2066 templateSelectorPanel = new javax.swing.JPanel();
\r
2067 templateSelector = new javax.swing.JPanel();
\r
2068 jIconRadioButton6 = new org.tjworld.components.JIconRadioButton();
\r
2069 jIconRadioButton7 = new org.tjworld.components.JIconRadioButton();
\r
2070 jIconRadioButton8 = new org.tjworld.components.JIconRadioButton();
\r
2071 jIconRadioButton9 = new org.tjworld.components.JIconRadioButton();
\r
2072 templateHistory = new javax.swing.JComboBox();
\r
2073 ratingPanel = new javax.swing.JPanel();
\r
2074 sliderRating = new javax.swing.JSlider();
\r
2075 statusLine = new javax.swing.JPanel();
\r
2076 statusMessage = new javax.swing.JLabel();
\r
2077 statusRed = new javax.swing.JProgressBar();
\r
2078 statusGreen = new javax.swing.JProgressBar();
\r
2079 statusBlue = new javax.swing.JProgressBar();
\r
2080 statusTint = new javax.swing.JProgressBar();
\r
2081 statusIconPanel = new javax.swing.JPanel();
\r
2082 statusIconModel = new javax.swing.JButton();
\r
2083 statusIconEyes = new javax.swing.JButton();
\r
2084 statusIconTemplate = new javax.swing.JButton();
\r
2085 statusIconColourModel = new javax.swing.JButton();
\r
2086 statusIconColourView = new javax.swing.JButton();
\r
2087 statusIconDirector = new javax.swing.JButton();
\r
2088 statusIconFilter = new javax.swing.JButton();
\r
2089 statusIconLanguage = new javax.swing.JButton();
\r
2090 statusState = new javax.swing.JLabel();
\r
2092 mbMain.setFocusCycleRoot(true);
\r
2093 mProfile.setMnemonic(java.awt.event.KeyEvent.VK_P);
\r
2094 mProfile.setText(cIDresources.getString("mProName"));
\r
2095 mProfile.setName("mPro");
\r
2096 mProfileNew.setAction(aNew);
\r
2097 mProfileNew.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_NEW)).dimmed);
\r
2098 mProfileNew.setName("ActNew");
\r
2099 mProfile.add(mProfileNew);
\r
2100 mProfileOpen.setAction(aOpen);
\r
2101 mProfileOpen.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).dimmed);
\r
2102 mProfileOpen.setIcon(((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).active);
\r
2103 mProfileOpen.setName("ActOpen");
\r
2104 mProfile.add(mProfileOpen);
\r
2105 mProfileSave.setAction(aSave);
\r
2106 mProfileSave.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SAVE)).dimmed);
\r
2107 mProfileSave.setIcon(((ToolIconPair)vToolIcons.get(IC_SAVE)).active);
\r
2108 mProfileSave.setName("ActSave");
\r
2109 mProfile.add(mProfileSave);
\r
2110 mProfileSaveAs.setAction(aSaveAs);
\r
2111 mProfileSaveAs.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SAVE_AS)).dimmed);
\r
2112 mProfileSaveAs.setIcon(((ToolIconPair)vToolIcons.get(IC_SAVE_AS)).active);
\r
2113 mProfileSaveAs.setName("ActSaveAs");
\r
2114 mProfile.add(mProfileSaveAs);
\r
2115 mProfileDelete.setAction(aDelete);
\r
2116 mProfileDelete.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PROFILE_DELETE)).dimmed);
\r
2117 mProfileDelete.setName("ActDel");
\r
2118 mProfile.add(mProfileDelete);
\r
2119 mProfile.add(mProfileSeparator1);
\r
2120 mProfileToVista.setAction(aSendToVistaDB);
\r
2121 mProfileToVista.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).dimmed);
\r
2122 mProfileToVista.setIcon(((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).active);
\r
2123 mProfileToVista.setName("ActSendToVista");
\r
2124 mProfile.add(mProfileToVista);
\r
2125 mProfile.add(mProfileSeparator2);
\r
2126 mProfileFromCookie.setAction(aFromCookie);
\r
2127 mProfileFromCookie.setName("ActFrCook");
\r
2128 mProfile.add(mProfileFromCookie);
\r
2129 mProfileToCookie.setAction(aToCookie);
\r
2130 mProfileToCookie.setName("ActToCook");
\r
2131 mProfile.add(mProfileToCookie);
\r
2132 mProfileCreateFilter.setAction(aCreateFilter);
\r
2133 mProfileCreateFilter.setName("ActCreFlt");
\r
2134 mProfile.add(mProfileCreateFilter);
\r
2135 mProfileWeb.setAction(aToVistaPage);
\r
2136 mProfileWeb.setName("ActToVistaPage");
\r
2137 mProfile.add(mProfileWeb);
\r
2138 mProfile.add(mProfileSeparator3);
\r
2139 mProfilePrint.setAction(aPrint);
\r
2140 mProfilePrint.setName("ActPrint");
\r
2141 mProfile.add(mProfilePrint);
\r
2142 mProfilePageSetup.setAction(aPageSetup);
\r
2143 mProfilePageSetup.setName("ActPageSet");
\r
2144 mProfile.add(mProfilePageSetup);
\r
2145 mProfile.add(mProfileSeparator4);
\r
2146 mProfileProperties.setAction(aProperties);
\r
2147 mProfileProperties.setName("ActProProps");
\r
2148 mProfile.add(mProfileProperties);
\r
2149 mbMain.add(mProfile);
\r
2150 mModel.setMnemonic(java.awt.event.KeyEvent.VK_M);
\r
2151 mModel.setText(cIDresources.getString("mModName"));
\r
2152 mModel.setName("mMod");
\r
2153 mModel1.setSelected(true);
\r
2154 mbgModelAlgorithm.add(mModel1);
\r
2155 mModel1.setAction(a1_Up);
\r
2156 mModel1.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).dimmed);
\r
2157 mModel1.setIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).active);
\r
2158 mModel1.setName("Act1Up");
\r
2159 mModel.add(mModel1);
\r
2160 mbgModelAlgorithm.add(mModel2);
\r
2161 mModel2.setAction(a2_Up);
\r
2162 mModel2.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_2UP)).dimmed);
\r
2163 mModel2.setIcon(((ToolIconPair)vToolIcons.get(IC_2UP)).active);
\r
2164 mModel2.setName("Act2Up");
\r
2165 mModel.add(mModel2);
\r
2166 mbgModelAlgorithm.add(mModelAlternate);
\r
2167 mModelAlternate.setAction(aAlternate);
\r
2168 mModelAlternate.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).dimmed);
\r
2169 mModelAlternate.setIcon(((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).active);
\r
2170 mModelAlternate.setName("ActAlt");
\r
2171 mModel.add(mModelAlternate);
\r
2172 mModel.add(jSeparator9);
\r
2173 mModelBothEyes.setSelected(true);
\r
2174 mbgModelEyes.add(mModelBothEyes);
\r
2175 mModelBothEyes.setAction(aBothEyes);
\r
2176 mModelBothEyes.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).dimmed);
\r
2177 mModelBothEyes.setIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active);
\r
2178 mModelBothEyes.setName("ActBothEyes");
\r
2179 mModel.add(mModelBothEyes);
\r
2180 mbgModelEyes.add(mModelEyesSeparate);
\r
2181 mModelEyesSeparate.setAction(aSeparateEyes);
\r
2182 mModelEyesSeparate.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).dimmed);
\r
2183 mModelEyesSeparate.setIcon(((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).active);
\r
2184 mModelEyesSeparate.setName("ActSepEyes");
\r
2185 mModel.add(mModelEyesSeparate);
\r
2186 mbMain.add(mModel);
\r
2187 mTemplate.setMnemonic(java.awt.event.KeyEvent.VK_T);
\r
2188 mTemplate.setText(cIDresources.getString("mTemplName"));
\r
2189 mTemplate.setName("mTempl");
\r
2190 mTemplateReading.setSelected(true);
\r
2191 mbgTemplate.add(mTemplateReading);
\r
2192 mTemplateReading.setAction(aReading);
\r
2193 mTemplateReading.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_READING)).dimmed);
\r
2194 mTemplateReading.setIcon(((ToolIconPair)vToolIcons.get(IC_READING)).active);
\r
2195 mTemplateReading.setName("ActRead");
\r
2196 mTemplate.add(mTemplateReading);
\r
2197 mbgTemplate.add(mTemplatePattern);
\r
2198 mTemplatePattern.setAction(aPatterns);
\r
2199 mTemplatePattern.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PATTERNS)).dimmed);
\r
2200 mTemplatePattern.setIcon(((ToolIconPair)vToolIcons.get(IC_PATTERNS)).active);
\r
2201 mTemplatePattern.setName("ActPat");
\r
2202 mTemplate.add(mTemplatePattern);
\r
2203 mbgTemplate.add(mTemplateImage);
\r
2204 mTemplateImage.setAction(aImages);
\r
2205 mTemplateImage.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_IMAGES)).dimmed);
\r
2206 mTemplateImage.setIcon(((ToolIconPair)vToolIcons.get(IC_IMAGES)).active);
\r
2207 mTemplateImage.setName("ActPat");
\r
2208 mTemplate.add(mTemplateImage);
\r
2209 mbMain.add(mTemplate);
\r
2210 mColour.setMnemonic(java.awt.event.KeyEvent.VK_C);
\r
2211 mColour.setText(cIDresources.getString("mColourName"));
\r
2212 mColour.setName("mColour");
\r
2213 mbgColourModel.add(mColourRGB);
\r
2214 mColourRGB.setAction(aRGB);
\r
2215 mColourRGB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_RGB)).dimmed);
\r
2216 mColourRGB.setIcon(((ToolIconPair)vToolIcons.get(IC_RGB)).active);
\r
2217 mColourRGB.setName("ActRGB");
\r
2218 mColour.add(mColourRGB);
\r
2219 mColourHSB.setSelected(true);
\r
2220 mbgColourModel.add(mColourHSB);
\r
2221 mColourHSB.setAction(aHSB);
\r
2222 mColourHSB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HSB)).dimmed);
\r
2223 mColourHSB.setIcon(((ToolIconPair)vToolIcons.get(IC_HSB)).active);
\r
2224 mColourHSB.setName("ActHSB");
\r
2225 mColour.add(mColourHSB);
\r
2226 mbgColourModel.add(mColourCYMK);
\r
2227 mColourCYMK.setAction(aCYMK);
\r
2228 mColourCYMK.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_CYMK)).dimmed);
\r
2229 mColourCYMK.setIcon(((ToolIconPair)vToolIcons.get(IC_CYMK)).active);
\r
2230 mColourCYMK.setName("ActCYMK");
\r
2231 mColour.add(mColourCYMK);
\r
2232 mColour.add(jSeparator7);
\r
2233 mbgColourView.add(mColourWheel);
\r
2234 mColourWheel.setAction(aWheel);
\r
2235 mColourWheel.setName("ActWheel");
\r
2236 mColour.add(mColourWheel);
\r
2237 mbgColourView.add(mColourTriangle);
\r
2238 mColourTriangle.setAction(aTriangle);
\r
2239 mColourTriangle.setName("ActTri");
\r
2240 mColour.add(mColourTriangle);
\r
2241 mbgColourView.add(mColourCube);
\r
2242 mColourCube.setAction(aQube);
\r
2243 mColourCube.setName("ActQube");
\r
2244 mColour.add(mColourCube);
\r
2245 mColourSystemChooser.setSelected(true);
\r
2246 mbgColourView.add(mColourSystemChooser);
\r
2247 mColourSystemChooser.setAction(aColorChooser);
\r
2248 mColourSystemChooser.setName("ActSysCol");
\r
2249 mColour.add(mColourSystemChooser);
\r
2250 mbgColourView.add(mColourSwatch);
\r
2251 mColourSwatch.setAction(aSwatches);
\r
2252 mColourSwatch.setName("ActSwatch");
\r
2253 mColour.add(mColourSwatch);
\r
2254 mbMain.add(mColour);
\r
2255 mDirector.setMnemonic(java.awt.event.KeyEvent.VK_D);
\r
2256 mDirector.setText(cIDresources.getString("mDirName"));
\r
2257 mDirector.setName("mDir");
\r
2258 mDirectorManual.setSelected(true);
\r
2259 mbgDirection.add(mDirectorManual);
\r
2260 mDirectorManual.setAction(aManual);
\r
2261 mDirectorManual.setName("ActManual");
\r
2262 mDirector.add(mDirectorManual);
\r
2263 mbgDirection.add(mDirectorAuto);
\r
2264 mDirectorAuto.setAction(aAuto);
\r
2265 mDirectorAuto.setName("ActAuto");
\r
2266 mDirector.add(mDirectorAuto);
\r
2267 mbgDirection.add(mDirectorDirect);
\r
2268 mDirectorDirect.setAction(aDirected);
\r
2269 mDirectorDirect.setName("ActDirect");
\r
2270 mDirector.add(mDirectorDirect);
\r
2271 mbgDirection.add(mDirectorScript);
\r
2272 mDirectorScript.setAction(aScript);
\r
2273 mDirectorScript.setName("ActScript");
\r
2274 mDirector.add(mDirectorScript);
\r
2275 mbMain.add(mDirector);
\r
2276 mOptions.setMnemonic(java.awt.event.KeyEvent.VK_O);
\r
2277 mOptions.setText(cIDresources.getString("mOptName"));
\r
2278 mOptions.setName("mOpt");
\r
2279 mOptionsReading.setMnemonic(java.awt.event.KeyEvent.VK_R);
\r
2280 mOptionsReading.setText(cIDresources.getString("mOptReadName"));
\r
2281 mOptionsReading.setToolTipText(cIDresources.getString("mOptReadTip"));
\r
2282 mOptionsReading.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_READING)).dimmed);
\r
2283 mOptionsReading.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_READING)).active);
\r
2284 mOptionsReading.setName("mOptRead");
\r
2285 mReadingChoose.setMnemonic(java.awt.event.KeyEvent.VK_O);
\r
2286 mReadingChoose.setText(cIDresources.getString("mOptReadChosName"));
\r
2287 mReadingChoose.setToolTipText(cIDresources.getString("mOptReadChosTip"));
\r
2288 mReadingChoose.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed);
\r
2289 mReadingChoose.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active);
\r
2290 mReadingChoose.setName("mOptReadChos");
\r
2291 mOptionsReading.add(mReadingChoose);
\r
2292 mReadingCustomize.setMnemonic(java.awt.event.KeyEvent.VK_C);
\r
2293 mReadingCustomize.setText(cIDresources.getString("mOptTemplCustName"));
\r
2294 mReadingCustomize.setToolTipText(cIDresources.getString("mOptTemplCustTip"));
\r
2295 mReadingCustomize.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed);
\r
2296 mReadingCustomize.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active);
\r
2297 mReadingCustomize.setName("mOptTemplCust");
\r
2298 mOptionsReading.add(mReadingCustomize);
\r
2299 mReadingPreferences.setMnemonic(java.awt.event.KeyEvent.VK_R);
\r
2300 mReadingPreferences.setText(cIDresources.getString("mOptReadPrefsName"));
\r
2301 mReadingPreferences.setToolTipText(cIDresources.getString("mOptReadPrefsTip"));
\r
2302 mReadingPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);
\r
2303 mReadingPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);
\r
2304 mReadingPreferences.setName("mOptReadPrefs");
\r
2305 mOptionsReading.add(mReadingPreferences);
\r
2306 mOptions.add(mOptionsReading);
\r
2307 mOptionsPatterns.setMnemonic(java.awt.event.KeyEvent.VK_P);
\r
2308 mOptionsPatterns.setText(cIDresources.getString("mOptPatName"));
\r
2309 mOptionsPatterns.setToolTipText(cIDresources.getString("mOptPatTip"));
\r
2310 mOptionsPatterns.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_PATTERNS)).dimmed);
\r
2311 mOptionsPatterns.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_PATTERNS)).active);
\r
2312 mOptionsPatterns.setName("mOptPat");
\r
2313 mPatternsChoose.setMnemonic(java.awt.event.KeyEvent.VK_O);
\r
2314 mPatternsChoose.setText(cIDresources.getString("mOptPatChosName"));
\r
2315 mPatternsChoose.setToolTipText(cIDresources.getString("mOptPatChosTip"));
\r
2316 mPatternsChoose.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed);
\r
2317 mPatternsChoose.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active);
\r
2318 mPatternsChoose.setName("mOptPatChos");
\r
2319 mOptionsPatterns.add(mPatternsChoose);
\r
2320 mPatternsCustomize.setMnemonic(java.awt.event.KeyEvent.VK_C);
\r
2321 mPatternsCustomize.setText(cIDresources.getString("mOptTemplCustName"));
\r
2322 mPatternsCustomize.setToolTipText(cIDresources.getString("mOptTemplCustTip"));
\r
2323 mPatternsCustomize.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed);
\r
2324 mPatternsCustomize.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active);
\r
2325 mPatternsCustomize.setName("mOptTemplCust");
\r
2326 mOptionsPatterns.add(mPatternsCustomize);
\r
2327 mPatternsPreferences.setMnemonic(java.awt.event.KeyEvent.VK_R);
\r
2328 mPatternsPreferences.setText(cIDresources.getString("mOptPatPrefsName"));
\r
2329 mPatternsPreferences.setToolTipText(cIDresources.getString("mOptPatPrefsTip"));
\r
2330 mPatternsPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);
\r
2331 mPatternsPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);
\r
2332 mPatternsPreferences.setName("mOptPatPrefs");
\r
2333 mOptionsPatterns.add(mPatternsPreferences);
\r
2334 mOptions.add(mOptionsPatterns);
\r
2335 mOptionsImages.setMnemonic(java.awt.event.KeyEvent.VK_I);
\r
2336 mOptionsImages.setText(cIDresources.getString("mOptImgName"));
\r
2337 mOptionsImages.setToolTipText(cIDresources.getString("mOptImgTip"));
\r
2338 mOptionsImages.setIcon(((ToolIconPair)vToolIcons.get(IC_IMAGES)).active);
\r
2339 mOptionsImages.setName("mOptImg");
\r
2340 mImgChoose.setMnemonic(java.awt.event.KeyEvent.VK_O);
\r
2341 mImgChoose.setText(cIDresources.getString("mOptImgChosName"));
\r
2342 mImgChoose.setToolTipText(cIDresources.getString("mOptImgChosTip"));
\r
2343 mImgChoose.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed);
\r
2344 mImgChoose.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active);
\r
2345 mImgChoose.setName("mOptSwatChos");
\r
2346 mOptionsImages.add(mImgChoose);
\r
2347 mImgCustomize.setMnemonic(java.awt.event.KeyEvent.VK_C);
\r
2348 mImgCustomize.setText(cIDresources.getString("mOptTemplCustName"));
\r
2349 mImgCustomize.setToolTipText(cIDresources.getString("mOptTemplCustTip"));
\r
2350 mImgCustomize.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed);
\r
2351 mImgCustomize.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active);
\r
2352 mImgCustomize.setName("mOptTemplCust");
\r
2353 mOptionsImages.add(mImgCustomize);
\r
2354 mImgPreferences.setMnemonic(java.awt.event.KeyEvent.VK_R);
\r
2355 mImgPreferences.setText(cIDresources.getString("mOptImgPrefsName"));
\r
2356 mImgPreferences.setToolTipText(cIDresources.getString("mOptImgPrefsTip"));
\r
2357 mImgPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);
\r
2358 mImgPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);
\r
2359 mImgPreferences.setName("mOptSwatPrefs");
\r
2360 mOptionsImages.add(mImgPreferences);
\r
2361 mOptions.add(mOptionsImages);
\r
2362 mOptionsSwatches.setMnemonic(java.awt.event.KeyEvent.VK_W);
\r
2363 mOptionsSwatches.setText(cIDresources.getString("mOptSwatName"));
\r
2364 mOptionsSwatches.setToolTipText(cIDresources.getString("mOptSwatTip"));
\r
2365 mOptionsSwatches.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_READING)).dimmed);
\r
2366 mOptionsSwatches.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_SWATCHES)).active);
\r
2367 mOptionsSwatches.setName("mOptSwat");
\r
2368 mSwatchesChoose.setMnemonic(java.awt.event.KeyEvent.VK_O);
\r
2369 mSwatchesChoose.setText(cIDresources.getString("mOptSwatChosName"));
\r
2370 mSwatchesChoose.setToolTipText(cIDresources.getString("mOptSwatChosTip"));
\r
2371 mSwatchesChoose.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed);
\r
2372 mSwatchesChoose.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active);
\r
2373 mSwatchesChoose.setName("mOptSwatChos");
\r
2374 mOptionsSwatches.add(mSwatchesChoose);
\r
2375 mSwatchesCustomize.setMnemonic(java.awt.event.KeyEvent.VK_C);
\r
2376 mSwatchesCustomize.setText(cIDresources.getString("mOptTemplCustName"));
\r
2377 mSwatchesCustomize.setToolTipText(cIDresources.getString("mOptTemplCustTip"));
\r
2378 mSwatchesCustomize.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).dimmed);
\r
2379 mSwatchesCustomize.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CUSTOMIZE)).active);
\r
2380 mSwatchesCustomize.setName("mOptTemplCust");
\r
2381 mOptionsSwatches.add(mSwatchesCustomize);
\r
2382 mSwatchesPreferences.setMnemonic(java.awt.event.KeyEvent.VK_R);
\r
2383 mSwatchesPreferences.setText(cIDresources.getString("mOptSwatPrefsName"));
\r
2384 mSwatchesPreferences.setToolTipText(cIDresources.getString("mOptSwatPrefsTip"));
\r
2385 mSwatchesPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);
\r
2386 mSwatchesPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);
\r
2387 mSwatchesPreferences.setName("mOptSwatPrefs");
\r
2388 mOptionsSwatches.add(mSwatchesPreferences);
\r
2389 mOptions.add(mOptionsSwatches);
\r
2390 mOptionsDirected.setMnemonic(java.awt.event.KeyEvent.VK_I);
\r
2391 mOptionsDirected.setText(cIDresources.getString("mOptDirName"));
\r
2392 mOptionsDirected.setToolTipText(cIDresources.getString("mOptDirTip"));
\r
2393 mOptionsDirected.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_DIRECTED)).dimmed);
\r
2394 mOptionsDirected.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_DIRECTED)).active);
\r
2395 mOptionsDirected.setName("mOptDir");
\r
2396 mDirectedConnect.setAction(aConnect);
\r
2397 mDirectedConnect.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_CONNECT)).dimmed);
\r
2398 mDirectedConnect.setIcon(((ToolIconPair)vToolIcons.get(IC_CONNECT)).active);
\r
2399 mDirectedConnect.setName("ActConnect");
\r
2400 mOptionsDirected.add(mDirectedConnect);
\r
2401 mDirectedDisconnect.setAction(aDisconnect);
\r
2402 mDirectedDisconnect.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).dimmed);
\r
2403 mDirectedDisconnect.setIcon(((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).active);
\r
2404 mDirectedDisconnect.setName("ActDisc");
\r
2405 mOptionsDirected.add(mDirectedDisconnect);
\r
2406 mDirectedPreferences.setMnemonic(java.awt.event.KeyEvent.VK_R);
\r
2407 mDirectedPreferences.setText(cIDresources.getString("mOptDirPrefsName"));
\r
2408 mDirectedPreferences.setToolTipText(cIDresources.getString("mOptDirPrefsTip"));
\r
2409 mDirectedPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);
\r
2410 mDirectedPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);
\r
2411 mDirectedPreferences.setName("mOptDirPrefs");
\r
2412 mOptionsDirected.add(mDirectedPreferences);
\r
2413 mOptions.add(mOptionsDirected);
\r
2414 mOptionsScripted.setMnemonic(java.awt.event.KeyEvent.VK_C);
\r
2415 mOptionsScripted.setText(cIDresources.getString("mOptScrName"));
\r
2416 mOptionsScripted.setToolTipText(cIDresources.getString("mOptScrTip"));
\r
2417 mOptionsScripted.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_SCRIPT)).dimmed);
\r
2418 mOptionsScripted.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_SCRIPT)).active);
\r
2419 mOptionsScripted.setName("mOptScr");
\r
2420 mOptionsScriptedChoose.setMnemonic(java.awt.event.KeyEvent.VK_O);
\r
2421 mOptionsScriptedChoose.setText(cIDresources.getString("mOptScrChosName"));
\r
2422 mOptionsScriptedChoose.setToolTipText(cIDresources.getString("mOptScrChosTip"));
\r
2423 mOptionsScriptedChoose.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).dimmed);
\r
2424 mOptionsScriptedChoose.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CHOOSE)).active);
\r
2425 mOptionsScriptedChoose.setName("mOptScrChos");
\r
2426 mOptionsScripted.add(mOptionsScriptedChoose);
\r
2427 mOptionsScriptedPlay.setMnemonic(java.awt.event.KeyEvent.VK_Y);
\r
2428 mOptionsScriptedPlay.setAction(aPlay);
\r
2429 mOptionsScriptedPlay.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PLAY)).dimmed);
\r
2430 mOptionsScriptedPlay.setIcon(((ToolIconPair)vToolIcons.get(IC_PLAY)).active);
\r
2431 mOptionsScriptedPlay.setName("ActPlay");
\r
2432 mOptionsScripted.add(mOptionsScriptedPlay);
\r
2433 mOptionsScriptedRecord.setAction(aRecord);
\r
2434 mOptionsScriptedRecord.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_RECORD)).dimmed);
\r
2435 mOptionsScriptedRecord.setName("ActRec");
\r
2436 mOptionsScripted.add(mOptionsScriptedRecord);
\r
2437 mOptionsScriptedPause.setAction(aPause);
\r
2438 mOptionsScriptedPause.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PAUSE)).dimmed);
\r
2439 mOptionsScriptedPause.setIcon(((ToolIconPair)vToolIcons.get(IC_PAUSE)).active);
\r
2440 mOptionsScriptedPause.setName("ActPause");
\r
2441 mOptionsScripted.add(mOptionsScriptedPause);
\r
2442 mOptionsScriptedStop.setAction(aStop);
\r
2443 mOptionsScriptedStop.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_STOP)).dimmed);
\r
2444 mOptionsScriptedStop.setIcon(((ToolIconPair)vToolIcons.get(IC_STOP)).active);
\r
2445 mOptionsScriptedStop.setName("ActStop");
\r
2446 mOptionsScripted.add(mOptionsScriptedStop);
\r
2447 mOptionsScriptedPreferences.setText(cIDresources.getString("mOptScrPrefsName"));
\r
2448 mOptionsScriptedPreferences.setToolTipText(cIDresources.getString("mOptScrPrefsTip"));
\r
2449 mOptionsScriptedPreferences.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).dimmed);
\r
2450 mOptionsScriptedPreferences.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_PREFERENCES)).active);
\r
2451 mOptionsScriptedPreferences.setName("mOptScrPrefs");
\r
2452 mOptionsScripted.add(mOptionsScriptedPreferences);
\r
2453 mOptions.add(mOptionsScripted);
\r
2454 mOptionsFilter.setMnemonic(java.awt.event.KeyEvent.VK_F);
\r
2455 mOptionsFilter.setText(cIDresources.getString("mOptFltName"));
\r
2456 mOptionsFilter.setToolTipText(cIDresources.getString("mOptFltTip"));
\r
2457 mOptionsFilter.setIcon(((ToolIconPair)vToolIcons.get(IC_FILTER_WINDOW)).active);
\r
2458 mOptionsFilter.setName("mOptFlt");
\r
2459 mFilterTemplate.setSelected(true);
\r
2460 mbgFilter.add(mFilterTemplate);
\r
2461 mFilterTemplate.setAction(aFilterTemplate);
\r
2462 mFilterTemplate.setName("ActFltTmpl");
\r
2463 mOptionsFilter.add(mFilterTemplate);
\r
2464 mbgFilter.add(mFilterWindow);
\r
2465 mFilterWindow.setAction(aFilterWindow);
\r
2466 mFilterWindow.setName("ActFltWin");
\r
2467 mOptionsFilter.add(mFilterWindow);
\r
2468 mbgFilter.add(mFilterScreen);
\r
2469 mFilterScreen.setAction(aFilterScreen);
\r
2470 mFilterScreen.setName("ActFltScr");
\r
2471 mOptionsFilter.add(mFilterScreen);
\r
2472 mOptions.add(mOptionsFilter);
\r
2473 mOptionsLanguage.setMnemonic(java.awt.event.KeyEvent.VK_L);
\r
2474 mOptionsLanguage.setText(cIDresources.getString("mOptLangName"));
\r
2475 mOptionsLanguage.setToolTipText(cIDresources.getString("mOptLangTip"));
\r
2476 mOptionsLanguage.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANGUAGE)).dimmed);
\r
2477 mOptionsLanguage.setIcon(((ToolIconPair)vToolIcons.get(IC_LANGUAGE)).active);
\r
2478 mOptionsLanguage.setName("mOptLang");
\r
2479 mLanguageDefault.setSelected(true);
\r
2480 mbgLanguage.add(mLanguageDefault);
\r
2481 mLanguageDefault.setAction(aLanguageDefault);
\r
2482 mLanguageDefault.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_DEFAULT)).dimmed);
\r
2483 mLanguageDefault.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_DEFAULT)).active);
\r
2484 mLanguageDefault.setName("ActLangDef");
\r
2485 mOptionsLanguage.add(mLanguageDefault);
\r
2486 mbgLanguage.add(mLanguageBritish);
\r
2487 mLanguageBritish.setAction(aLanguageBritish);
\r
2488 mLanguageBritish.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).dimmed);
\r
2489 mLanguageBritish.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active);
\r
2490 mLanguageBritish.setName("ActLangBrit");
\r
2491 mOptionsLanguage.add(mLanguageBritish);
\r
2492 mbgLanguage.add(mLanguageFrench);
\r
2493 mLanguageFrench.setAction(aLanguageFrench);
\r
2494 mLanguageFrench.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_FRENCH)).dimmed);
\r
2495 mLanguageFrench.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_FRENCH)).active);
\r
2496 mLanguageFrench.setName("ActLangFr");
\r
2497 mOptionsLanguage.add(mLanguageFrench);
\r
2498 mbgLanguage.add(mLanguageSpanish);
\r
2499 mLanguageSpanish.setAction(aLanguageSpanish);
\r
2500 mLanguageSpanish.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_SPANISH)).dimmed);
\r
2501 mLanguageSpanish.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_SPANISH)).active);
\r
2502 mLanguageSpanish.setName("ActLangSpan");
\r
2503 mOptionsLanguage.add(mLanguageSpanish);
\r
2504 mbgLanguage.add(mLanguageGerman);
\r
2505 mLanguageGerman.setAction(aLanguageGerman);
\r
2506 mLanguageGerman.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_GERMAN)).dimmed);
\r
2507 mLanguageGerman.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_GERMAN)).active);
\r
2508 mLanguageGerman.setName("ActLangGer");
\r
2509 mOptionsLanguage.add(mLanguageGerman);
\r
2510 mbgLanguage.add(mLanguageArabicEgypt);
\r
2511 mLanguageArabicEgypt.setAction(aLanguageArabicEgypt);
\r
2512 mLanguageArabicEgypt.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_AR_EG)).dimmed);
\r
2513 mLanguageArabicEgypt.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_AR_EG)).active);
\r
2514 mLanguageArabicEgypt.setName("ActLangArEG");
\r
2515 mOptionsLanguage.add(mLanguageArabicEgypt);
\r
2516 mbgLanguage.add(mLanguageFarsiIran);
\r
2517 mLanguageFarsiIran.setAction(aLanguageFarsiIran);
\r
2518 mLanguageFarsiIran.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_FA_IR)).dimmed);
\r
2519 mLanguageFarsiIran.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_FA_IR)).active);
\r
2520 mLanguageFarsiIran.setName("ActLangFaIR");
\r
2521 mOptionsLanguage.add(mLanguageFarsiIran);
\r
2522 mbgLanguage.add(mLanguageHindiIndia);
\r
2523 mLanguageHindiIndia.setAction(aLanguageHindiIndia);
\r
2524 mLanguageHindiIndia.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_HI_IN)).dimmed);
\r
2525 mLanguageHindiIndia.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_HI_IN)).active);
\r
2526 mLanguageHindiIndia.setName("ActLangHiIN");
\r
2527 mOptionsLanguage.add(mLanguageHindiIndia);
\r
2528 mbgLanguage.add(mLanguageIndonesian);
\r
2529 mLanguageIndonesian.setAction(aLanguageIndonesian);
\r
2530 mLanguageIndonesian.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_IN)).dimmed);
\r
2531 mLanguageIndonesian.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_IN)).active);
\r
2532 mLanguageIndonesian.setName("ActLangIndonesian");
\r
2533 mOptionsLanguage.add(mLanguageIndonesian);
\r
2534 mbgLanguage.add(mLanguageJapanese);
\r
2535 mLanguageJapanese.setAction(aLanguageJapanese);
\r
2536 mLanguageJapanese.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_JA)).dimmed);
\r
2537 mLanguageJapanese.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_JA)).active);
\r
2538 mLanguageJapanese.setName("ActLangJapanese");
\r
2539 mOptionsLanguage.add(mLanguageJapanese);
\r
2540 mbgLanguage.add(mLanguageDutch);
\r
2541 mLanguageDutch.setAction(aLanguageDutch);
\r
2542 mLanguageDutch.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_NL)).dimmed);
\r
2543 mLanguageDutch.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_NL)).active);
\r
2544 mLanguageDutch.setName("ActLangDutch");
\r
2545 mOptionsLanguage.add(mLanguageDutch);
\r
2546 mbgLanguage.add(mLanguagePashto);
\r
2547 mLanguagePashto.setAction(aLanguagePashto);
\r
2548 mLanguagePashto.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_PS)).dimmed);
\r
2549 mLanguagePashto.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_PS)).active);
\r
2550 mLanguagePashto.setName("ActLangPashto");
\r
2551 mOptionsLanguage.add(mLanguagePashto);
\r
2552 mbgLanguage.add(mLanguagePortuguese);
\r
2553 mLanguagePortuguese.setAction(aLanguagePortuguese);
\r
2554 mLanguagePortuguese.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_PT)).dimmed);
\r
2555 mLanguagePortuguese.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_PT)).active);
\r
2556 mLanguagePortuguese.setName("ActLangPortuguese");
\r
2557 mOptionsLanguage.add(mLanguagePortuguese);
\r
2558 mbgLanguage.add(mLanguageRussian);
\r
2559 mLanguageRussian.setAction(aLanguageRussian);
\r
2560 mLanguageRussian.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_RU)).dimmed);
\r
2561 mLanguageRussian.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_RU)).active);
\r
2562 mLanguageRussian.setName("ActLangRussian");
\r
2563 mOptionsLanguage.add(mLanguageRussian);
\r
2564 mbgLanguage.add(mLanguageSwedish);
\r
2565 mLanguageSwedish.setAction(aLanguageSwedish);
\r
2566 mLanguageSwedish.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_SV)).dimmed);
\r
2567 mLanguageSwedish.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_SV)).active);
\r
2568 mLanguageSwedish.setName("ActLangSwedish");
\r
2569 mOptionsLanguage.add(mLanguageSwedish);
\r
2570 mbgLanguage.add(mLanguageUrdu);
\r
2571 mLanguageUrdu.setAction(aLanguageUrdu);
\r
2572 mLanguageUrdu.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_UR)).dimmed);
\r
2573 mLanguageUrdu.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_UR)).active);
\r
2574 mLanguageUrdu.setName("ActLangUrdu");
\r
2575 mOptionsLanguage.add(mLanguageUrdu);
\r
2576 mbgLanguage.add(mLanguageChinese);
\r
2577 mLanguageChinese.setAction(aLanguageChinese);
\r
2578 mLanguageChinese.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_ZH)).dimmed);
\r
2579 mLanguageChinese.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_ZH)).active);
\r
2580 mLanguageChinese.setName("ActLangChinese");
\r
2581 mOptionsLanguage.add(mLanguageChinese);
\r
2582 mOptions.add(mOptionsLanguage);
\r
2583 mOptionsToolbar.setMnemonic(java.awt.event.KeyEvent.VK_T);
\r
2584 mOptionsToolbar.setText(cIDresources.getString("mOptTbarName"));
\r
2585 mOptionsToolbar.setToolTipText(cIDresources.getString("mOptTbarTip"));
\r
2586 mOptionsToolbar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/toolbars.gif")));
\r
2587 mOptionsToolbar.setName("mOptTbar");
\r
2588 mToolbarToolBar.setSelected(true);
\r
2589 mToolbarToolBar.setText(cIDresources.getString("mTbarTbarName"));
\r
2590 mToolbarToolBar.setToolTipText(cIDresources.getString("mTbarTbarTip"));
\r
2591 mToolbarToolBar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/toolbars.gif")));
\r
2592 mToolbarToolBar.setName("mTbarTbar");
\r
2593 mToolbarToolBar.addActionListener(new java.awt.event.ActionListener() {
\r
2594 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2595 mToolbarToolBarActionPerformed(evt);
\r
2599 mOptionsToolbar.add(mToolbarToolBar);
\r
2600 mOptionsToolbar.add(jSeparator1);
\r
2601 mToolbarProfile.setSelected(true);
\r
2602 mToolbarProfile.setText(cIDresources.getString("ActProName"));
\r
2603 mToolbarProfile.setIcon(((ToolIconPair)vToolIcons.get(IC_NEW)).active);
\r
2604 mToolbarProfile.setName("ActPro");
\r
2605 mToolbarProfile.addActionListener(new java.awt.event.ActionListener() {
\r
2606 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2607 mToolbarProfileActionPerformed(evt);
\r
2611 mOptionsToolbar.add(mToolbarProfile);
\r
2612 mToolbarModel.setSelected(true);
\r
2613 mToolbarModel.setText(cIDresources.getString("mModName"));
\r
2614 mToolbarModel.setIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).active);
\r
2615 mToolbarModel.setName("mMod");
\r
2616 mToolbarModel.addActionListener(new java.awt.event.ActionListener() {
\r
2617 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2618 mToolbarModelActionPerformed(evt);
\r
2622 mOptionsToolbar.add(mToolbarModel);
\r
2623 mToolbarEyes.setSelected(true);
\r
2624 mToolbarEyes.setText(cIDresources.getString("mEyesName"));
\r
2625 mToolbarEyes.setIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active);
\r
2626 mToolbarEyes.setName("mEyes");
\r
2627 mToolbarEyes.addActionListener(new java.awt.event.ActionListener() {
\r
2628 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2629 mToolbarEyesActionPerformed(evt);
\r
2633 mOptionsToolbar.add(mToolbarEyes);
\r
2634 mToolbarTemplate.setSelected(true);
\r
2635 mToolbarTemplate.setText(cIDresources.getString("mTemplName"));
\r
2636 mToolbarTemplate.setIcon(((ToolIconPair)vToolIcons.get(IC_READING)).active);
\r
2637 mToolbarTemplate.setName("mTempl");
\r
2638 mToolbarTemplate.addActionListener(new java.awt.event.ActionListener() {
\r
2639 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2640 mToolbarTemplateActionPerformed(evt);
\r
2644 mOptionsToolbar.add(mToolbarTemplate);
\r
2645 mToolbarColourModel.setSelected(true);
\r
2646 mToolbarColourModel.setText(cIDresources.getString("mColourModelName"));
\r
2647 mToolbarColourModel.setIcon(((ToolIconPair)vToolIcons.get(IC_RGB)).active);
\r
2648 mToolbarColourModel.setName("mColourModel");
\r
2649 mToolbarColourModel.addActionListener(new java.awt.event.ActionListener() {
\r
2650 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2651 mToolbarColourModelActionPerformed(evt);
\r
2655 mOptionsToolbar.add(mToolbarColourModel);
\r
2656 mToolbarColourView.setSelected(true);
\r
2657 mToolbarColourView.setText(cIDresources.getString("mColourViewName"));
\r
2658 mToolbarColourView.setIcon(((ToolIconPair)vToolIcons.get(IC_WHEEL)).active);
\r
2659 mToolbarColourView.setName("mColourView");
\r
2660 mToolbarColourView.addActionListener(new java.awt.event.ActionListener() {
\r
2661 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2662 mToolbarColourViewActionPerformed(evt);
\r
2666 mOptionsToolbar.add(mToolbarColourView);
\r
2667 mToolbarDirector.setSelected(true);
\r
2668 mToolbarDirector.setText(cIDresources.getString("mDirName"));
\r
2669 mToolbarDirector.setIcon(((ToolIconPair)vToolIcons.get(IC_MANUAL)).active);
\r
2670 mToolbarDirector.setName("mDir");
\r
2671 mToolbarDirector.addActionListener(new java.awt.event.ActionListener() {
\r
2672 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2673 mToolbarDirectorActionPerformed(evt);
\r
2677 mOptionsToolbar.add(mToolbarDirector);
\r
2678 mToolbarConnection.setSelected(true);
\r
2679 mToolbarConnection.setText(cIDresources.getString("mConnectName"));
\r
2680 mToolbarConnection.setIcon(((ToolIconPair)vToolIcons.get(IC_CONNECT)).active);
\r
2681 mToolbarConnection.setName("mConnect");
\r
2682 mToolbarConnection.addActionListener(new java.awt.event.ActionListener() {
\r
2683 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2684 mToolbarConnectionActionPerformed(evt);
\r
2688 mOptionsToolbar.add(mToolbarConnection);
\r
2689 mToolbarScript.setSelected(true);
\r
2690 mToolbarScript.setText(cIDresources.getString("ActScriptName"));
\r
2691 mToolbarScript.setIcon(((ToolIconPair)vToolIcons.get(IC_PLAY)).active);
\r
2692 mToolbarScript.setName("ActScript");
\r
2693 mToolbarScript.addActionListener(new java.awt.event.ActionListener() {
\r
2694 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2695 mToolbarScriptActionPerformed(evt);
\r
2699 mOptionsToolbar.add(mToolbarScript);
\r
2700 mOptions.add(mOptionsToolbar);
\r
2701 mOptionsLandF.setMnemonic(java.awt.event.KeyEvent.VK_AMPERSAND);
\r
2702 mOptionsLandF.setText(cIDresources.getString("mOptLFName"));
\r
2703 mOptionsLandF.setToolTipText(cIDresources.getString("mOptLFTip"));
\r
2704 mOptionsLandF.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/lookfeel.gif")));
\r
2705 mOptionsLandF.setName("mOptLF");
\r
2706 mOptions.add(mOptionsLandF);
\r
2707 mOptionsVistaDB.setMnemonic(java.awt.event.KeyEvent.VK_V);
\r
2708 mOptionsVistaDB.setText(cIDresources.getString("mOptVistaDBName"));
\r
2709 mOptionsVistaDB.setToolTipText(cIDresources.getString("mOptVistaDBTip"));
\r
2710 mOptionsVistaDB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_VISTA_DB)).dimmed);
\r
2711 mOptionsVistaDB.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_CONFIG_VISTA_DB)).active);
\r
2712 mOptionsVistaDB.setName("mOptVistaDB");
\r
2713 mOptions.add(mOptionsVistaDB);
\r
2714 mOptions.add(mOptionsSeparator2);
\r
2715 mOptionsVistaWeb.setMnemonic(java.awt.event.KeyEvent.VK_W);
\r
2716 mOptionsVistaWeb.setSelected(true);
\r
2717 mOptionsVistaWeb.setText(cIDresources.getString("mOptDynName"));
\r
2718 mOptionsVistaWeb.setToolTipText(cIDresources.getString("mOptDynTip"));
\r
2719 mOptionsVistaWeb.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_DYNAMIC_VISTA)).dimmed);
\r
2720 mOptionsVistaWeb.setIcon(((ToolIconPair)vToolIcons.get(IC_OPTION_DYNAMIC_VISTA)).active);
\r
2721 mOptionsVistaWeb.setName("mOptDyn");
\r
2722 mOptions.add(mOptionsVistaWeb);
\r
2723 mbMain.add(mOptions);
\r
2724 mHelp.setMnemonic(java.awt.event.KeyEvent.VK_H);
\r
2725 mHelp.setText(cIDresources.getString("mHelpName"));
\r
2726 mHelp.setName("mHelp");
\r
2727 mHelpContents.setAction(aHelpContents);
\r
2728 mHelpContents.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP)).dimmed);
\r
2729 mHelpContents.setName("ActHelpCon");
\r
2730 mHelp.add(mHelpContents);
\r
2731 mHelpIndex.setMnemonic(java.awt.event.KeyEvent.VK_I);
\r
2732 mHelpIndex.setText(cIDresources.getString("mHelpIdxName"));
\r
2733 mHelpIndex.setToolTipText(cIDresources.getString("mHelpIdxTip"));
\r
2734 mHelpIndex.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP_INDEX)).dimmed);
\r
2735 mHelpIndex.setIcon(((ToolIconPair)vToolIcons.get(IC_HELP_INDEX)).active);
\r
2736 mHelpIndex.setName("ActHelpIdx");
\r
2737 mHelpIndex.addActionListener(new java.awt.event.ActionListener() {
\r
2738 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2739 mHelpIndexActionPerformed(evt);
\r
2743 mHelp.add(mHelpIndex);
\r
2744 mHelpSearch.setAction(aHelpSearch);
\r
2745 mHelpSearch.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP_SEARCH)).dimmed);
\r
2746 mHelpSearch.setName("ActHelpSrc");
\r
2747 mHelp.add(mHelpSearch);
\r
2748 mHelpWebLink.setAction(aHelpWeb);
\r
2749 mHelpWebLink.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP_WEB)).dimmed);
\r
2750 mHelpWebLink.setIcon(((ToolIconPair)vToolIcons.get(IC_HELP_WEB)).active);
\r
2751 mHelpWebLink.setName("ActHelpWeb");
\r
2752 mHelp.add(mHelpWebLink);
\r
2753 mHelp.add(mHelpSeparator1);
\r
2754 mHelpExplain.setMnemonic(java.awt.event.KeyEvent.VK_X);
\r
2755 mHelpExplain.setSelected(true);
\r
2756 mHelpExplain.setText(cIDresources.getString("mHelpExpName"));
\r
2757 mHelpExplain.setToolTipText(cIDresources.getString("mHelpExpTip"));
\r
2758 mHelpExplain.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP_EXPLAIN)).dimmed);
\r
2759 mHelpExplain.setIcon(((ToolIconPair)vToolIcons.get(IC_HELP_EXPLAIN)).active);
\r
2760 mHelpExplain.setName("ActHelpExp");
\r
2761 mHelp.add(mHelpExplain);
\r
2762 mHelpDock.setMnemonic(java.awt.event.KeyEvent.VK_D);
\r
2763 mHelpDock.setText(cIDresources.getString("mHelpDockName"));
\r
2764 mHelpDock.setToolTipText(cIDresources.getString("mHelpDockTip"));
\r
2765 mHelpDock.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/undocked.gif")));
\r
2766 mHelpDock.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/docked.gif")));
\r
2767 mHelpDock.addActionListener(new java.awt.event.ActionListener() {
\r
2768 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2769 mHelpDockActionPerformed(evt);
\r
2773 mHelp.add(mHelpDock);
\r
2774 mHelpFilter.setMnemonic(java.awt.event.KeyEvent.VK_V);
\r
2775 mHelpFilter.setText(cIDresources.getString("mHelpFilterName"));
\r
2776 mHelpFilter.setToolTipText(cIDresources.getString("mHelpFilterTip"));
\r
2777 mHelpFilter.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/helpFilter.gif")));
\r
2778 mHelpFilter.addActionListener(new java.awt.event.ActionListener() {
\r
2779 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2780 mHelpFilterActionPerformed(evt);
\r
2784 mHelp.add(mHelpFilter);
\r
2785 mHelp.add(mHelpSeparator2);
\r
2786 mHelpAbout.setMnemonic(java.awt.event.KeyEvent.VK_A);
\r
2787 mHelpAbout.setText(cIDresources.getString("mHelpAbtName"));
\r
2788 mHelpAbout.setToolTipText(cIDresources.getString("mHelpAbtTip"));
\r
2789 mHelpAbout.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HELP_ABOUT)).dimmed);
\r
2790 mHelpAbout.setIcon(((ToolIconPair)vToolIcons.get(IC_HELP_ABOUT)).active);
\r
2791 mHelpAbout.setName("ActHelpAbt");
\r
2792 mHelpAbout.addActionListener(new java.awt.event.ActionListener() {
\r
2793 public void actionPerformed(java.awt.event.ActionEvent evt) {
\r
2794 mHelpAboutActionPerformed(evt);
\r
2798 mHelp.add(mHelpAbout);
\r
2799 mbMain.add(mHelp);
\r
2801 setTitle(cIDresources.getString("tVistaAppTitle"));
\r
2802 setFont(new java.awt.Font("Dialog", 0, 12));
\r
2803 setIconImage(icVista.getImage());
\r
2804 setName("tVistaApp");
\r
2805 addComponentListener(new java.awt.event.ComponentAdapter() {
\r
2806 public void componentMoved(java.awt.event.ComponentEvent evt) {
\r
2807 formComponentMoved(evt);
\r
2811 addPropertyChangeListener(new java.beans.PropertyChangeListener() {
\r
2812 public void propertyChange(java.beans.PropertyChangeEvent evt) {
\r
2813 formPropertyChange(evt);
\r
2817 addWindowListener(new java.awt.event.WindowAdapter() {
\r
2818 public void windowClosing(java.awt.event.WindowEvent evt) {
\r
2823 toolBar.setToolTipText(cIDresources.getString("tToolBarTip"));
\r
2824 toolBar.setName("tToolBar");
\r
2825 toolBar.addMouseListener(new java.awt.event.MouseAdapter() {
\r
2826 public void mousePressed(java.awt.event.MouseEvent evt) {
\r
2827 toolBarMousePressed(evt);
\r
2829 public void mouseReleased(java.awt.event.MouseEvent evt) {
\r
2830 toolBarMouseReleased(evt);
\r
2834 pProfile.setLayout(new javax.swing.BoxLayout(pProfile, javax.swing.BoxLayout.X_AXIS));
\r
2836 btnNew.setToolTipText(cIDresources.getString("ActNewTip"));
\r
2837 btnNew.setAction(aNew);
\r
2838 btnNew.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_NEW)).dimmed);
\r
2839 btnNew.setName("ActNew");
\r
2840 btnNew.addMouseListener(new java.awt.event.MouseAdapter() {
\r
2841 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
2842 toolBarBtnMouseExited(evt);
\r
2844 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
2845 toolBarBtnMouseEntered(evt);
\r
2849 pProfile.add(btnNew);
\r
2851 btnOpenFile.setToolTipText(cIDresources.getString("ActOpenTip"));
\r
2852 btnOpenFile.setAction(aOpen);
\r
2853 btnOpenFile.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_OPEN_FILE)).dimmed);
\r
2854 btnOpenFile.setName("ActOpen");
\r
2855 btnOpenFile.addMouseListener(new java.awt.event.MouseAdapter() {
\r
2856 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
2857 toolBarBtnMouseExited(evt);
\r
2859 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
2860 toolBarBtnMouseEntered(evt);
\r
2864 pProfile.add(btnOpenFile);
\r
2866 btnSave.setToolTipText(cIDresources.getString("ActSaveTip"));
\r
2867 btnSave.setAction(aSave);
\r
2868 btnSave.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SAVE)).dimmed);
\r
2869 btnSave.setName("ActSave");
\r
2870 btnSave.addMouseListener(new java.awt.event.MouseAdapter() {
\r
2871 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
2872 toolBarBtnMouseExited(evt);
\r
2874 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
2875 toolBarBtnMouseEntered(evt);
\r
2879 pProfile.add(btnSave);
\r
2881 btnSendToVistaDB.setToolTipText(cIDresources.getString("ActSendToVistaTip"));
\r
2882 btnSendToVistaDB.setAction(aSendToVistaDB);
\r
2883 btnSendToVistaDB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SEND_TO_VISTA_DB)).dimmed);
\r
2884 btnSendToVistaDB.setName("ActSendToVista");
\r
2885 btnSendToVistaDB.addMouseListener(new java.awt.event.MouseAdapter() {
\r
2886 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
2887 toolBarBtnMouseExited(evt);
\r
2889 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
2890 toolBarBtnMouseEntered(evt);
\r
2894 pProfile.add(btnSendToVistaDB);
\r
2896 toolBar.add(pProfile);
\r
2898 pModel.setLayout(new javax.swing.BoxLayout(pModel, javax.swing.BoxLayout.X_AXIS));
\r
2900 toolBar.addSeparator();
\r
2901 btn1Up.setSelected(true);
\r
2902 btn1Up.setToolTipText(cIDresources.getString("Act1UpTip"));
\r
2903 tbgModelAlgorithm.add(btn1Up);
\r
2904 btn1Up.setAction(a1_Up);
\r
2905 btn1Up.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).dimmed);
\r
2906 btn1Up.setName("Act1Up");
\r
2907 btn1Up.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/sel1up.gif")));
\r
2908 btn1Up.addMouseListener(new java.awt.event.MouseAdapter() {
\r
2909 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
2910 toolBarBtnMouseExited(evt);
\r
2912 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
2913 toolBarBtnMouseEntered(evt);
\r
2917 pModel.add(btn1Up);
\r
2919 btn2Up.setToolTipText(cIDresources.getString("Act2UpTip"));
\r
2920 tbgModelAlgorithm.add(btn2Up);
\r
2921 btn2Up.setAction(a2_Up);
\r
2922 btn2Up.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_2UP)).dimmed);
\r
2923 btn2Up.setName("Act2Up");
\r
2924 btn2Up.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/sel2up.gif")));
\r
2925 btn2Up.addMouseListener(new java.awt.event.MouseAdapter() {
\r
2926 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
2927 toolBarBtnMouseExited(evt);
\r
2929 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
2930 toolBarBtnMouseEntered(evt);
\r
2934 pModel.add(btn2Up);
\r
2936 btnAlternate.setToolTipText(cIDresources.getString("ActAltTip"));
\r
2937 tbgModelAlgorithm.add(btnAlternate);
\r
2938 btnAlternate.setAction(aAlternate);
\r
2939 btnAlternate.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_ALTERNATE)).dimmed);
\r
2940 btnAlternate.setName("ActAlt");
\r
2941 btnAlternate.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selalternate.gif")));
\r
2942 btnAlternate.addMouseListener(new java.awt.event.MouseAdapter() {
\r
2943 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
2944 toolBarBtnMouseExited(evt);
\r
2946 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
2947 toolBarBtnMouseEntered(evt);
\r
2951 pModel.add(btnAlternate);
\r
2953 toolBar.add(pModel);
\r
2955 pEyes.setLayout(new javax.swing.BoxLayout(pEyes, javax.swing.BoxLayout.X_AXIS));
\r
2957 toolBar.addSeparator();
\r
2958 btnEyes2.setSelected(true);
\r
2959 btnEyes2.setToolTipText(cIDresources.getString("ActBothEyesTip"));
\r
2960 tbgModelEyes.add(btnEyes2);
\r
2961 btnEyes2.setAction(aBothEyes);
\r
2962 btnEyes2.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).dimmed);
\r
2963 btnEyes2.setName("ActBothEyes");
\r
2964 btnEyes2.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/seleyes2.gif")));
\r
2965 btnEyes2.addMouseListener(new java.awt.event.MouseAdapter() {
\r
2966 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
2967 toolBarBtnMouseExited(evt);
\r
2969 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
2970 toolBarBtnMouseEntered(evt);
\r
2974 pEyes.add(btnEyes2);
\r
2976 btnEyes1.setToolTipText(cIDresources.getString("ActSepEyesTip"));
\r
2977 tbgModelEyes.add(btnEyes1);
\r
2978 btnEyes1.setAction(aSeparateEyes);
\r
2979 btnEyes1.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SEPARATE_EYES)).dimmed);
\r
2980 btnEyes1.setName("ActSepEyes");
\r
2981 btnEyes1.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/seleyes1.gif")));
\r
2982 btnEyes1.addMouseListener(new java.awt.event.MouseAdapter() {
\r
2983 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
2984 toolBarBtnMouseExited(evt);
\r
2986 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
2987 toolBarBtnMouseEntered(evt);
\r
2991 pEyes.add(btnEyes1);
\r
2993 toolBar.add(pEyes);
\r
2995 pTemplate.setLayout(new javax.swing.BoxLayout(pTemplate, javax.swing.BoxLayout.X_AXIS));
\r
2997 toolBar.addSeparator();
\r
2998 btnReading.setSelected(true);
\r
2999 btnReading.setToolTipText(cIDresources.getString("ActReadTip"));
\r
3000 tbgTemplate.add(btnReading);
\r
3001 btnReading.setAction(aReading);
\r
3002 btnReading.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_READING)).dimmed);
\r
3003 btnReading.setName("ActRead");
\r
3004 btnReading.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selreading.gif")));
\r
3005 btnReading.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3006 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3007 toolBarBtnMouseExited(evt);
\r
3009 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3010 toolBarBtnMouseEntered(evt);
\r
3014 pTemplate.add(btnReading);
\r
3016 btnPatterns.setToolTipText(cIDresources.getString("ActPatTip"));
\r
3017 tbgTemplate.add(btnPatterns);
\r
3018 btnPatterns.setAction(aPatterns);
\r
3019 btnPatterns.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PATTERNS)).dimmed);
\r
3020 btnPatterns.setName("ActPat");
\r
3021 btnPatterns.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selpatterns.gif")));
\r
3022 btnPatterns.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3023 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3024 toolBarBtnMouseExited(evt);
\r
3026 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3027 toolBarBtnMouseEntered(evt);
\r
3031 pTemplate.add(btnPatterns);
\r
3033 tbgTemplate.add(btnImages);
\r
3034 btnImages.setAction(aImages);
\r
3035 btnImages.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_IMAGES)).dimmed);
\r
3036 btnImages.setName("ActImages");
\r
3037 btnImages.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selimages.gif")));
\r
3038 btnImages.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3039 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3040 toolBarBtnMouseExited(evt);
\r
3042 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3043 toolBarBtnMouseEntered(evt);
\r
3047 pTemplate.add(btnImages);
\r
3049 toolBar.add(pTemplate);
\r
3051 pColourModel.setLayout(new javax.swing.BoxLayout(pColourModel, javax.swing.BoxLayout.X_AXIS));
\r
3053 toolBar.addSeparator();
\r
3054 btnRGB.setToolTipText(cIDresources.getString("ActRGBTip"));
\r
3055 tbgColourModel.add(btnRGB);
\r
3056 btnRGB.setAction(aRGB);
\r
3057 btnRGB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_RGB)).dimmed);
\r
3058 btnRGB.setName("ActRGB");
\r
3059 btnRGB.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selrgb.gif")));
\r
3060 btnRGB.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3061 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3062 toolBarBtnMouseExited(evt);
\r
3064 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3065 toolBarBtnMouseEntered(evt);
\r
3069 pColourModel.add(btnRGB);
\r
3071 btnHSB.setSelected(true);
\r
3072 btnHSB.setToolTipText(cIDresources.getString("ActHSBTip"));
\r
3073 tbgColourModel.add(btnHSB);
\r
3074 btnHSB.setAction(aHSB);
\r
3075 btnHSB.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HSB)).dimmed);
\r
3076 btnHSB.setName("ActHSB");
\r
3077 btnHSB.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selhsb.gif")));
\r
3078 btnHSB.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3079 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3080 toolBarBtnMouseExited(evt);
\r
3082 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3083 toolBarBtnMouseEntered(evt);
\r
3087 pColourModel.add(btnHSB);
\r
3089 btnCYMK.setToolTipText(cIDresources.getString("ActCYMKTip"));
\r
3090 tbgColourModel.add(btnCYMK);
\r
3091 btnCYMK.setAction(aCYMK);
\r
3092 btnCYMK.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_CYMK)).dimmed);
\r
3093 btnCYMK.setName("ActCYMK");
\r
3094 btnCYMK.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selcymk.gif")));
\r
3095 btnCYMK.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3096 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3097 toolBarBtnMouseExited(evt);
\r
3099 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3100 toolBarBtnMouseEntered(evt);
\r
3104 pColourModel.add(btnCYMK);
\r
3106 toolBar.add(pColourModel);
\r
3108 pColourView.setLayout(new javax.swing.BoxLayout(pColourView, javax.swing.BoxLayout.X_AXIS));
\r
3110 toolBar.addSeparator();
\r
3111 btnWheel.setToolTipText(cIDresources.getString("ActWheelTip"));
\r
3112 tbgColourView.add(btnWheel);
\r
3113 btnWheel.setAction(aWheel);
\r
3114 btnWheel.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_WHEEL)).dimmed);
\r
3115 btnWheel.setName("ActWheel");
\r
3116 btnWheel.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selwheel.gif")));
\r
3117 btnWheel.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3118 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3119 toolBarBtnMouseExited(evt);
\r
3121 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3122 toolBarBtnMouseEntered(evt);
\r
3126 pColourView.add(btnWheel);
\r
3128 btnTriangle.setToolTipText(cIDresources.getString("ActTriTip"));
\r
3129 tbgColourView.add(btnTriangle);
\r
3130 btnTriangle.setAction(aTriangle);
\r
3131 btnTriangle.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_TRIANGLE)).dimmed);
\r
3132 btnTriangle.setName("ActTri");
\r
3133 btnTriangle.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/seltriangle.gif")));
\r
3134 btnTriangle.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3135 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3136 toolBarBtnMouseExited(evt);
\r
3138 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3139 toolBarBtnMouseEntered(evt);
\r
3143 pColourView.add(btnTriangle);
\r
3145 btnQube.setToolTipText(cIDresources.getString("ActQubeTip"));
\r
3146 tbgColourView.add(btnQube);
\r
3147 btnQube.setAction(aQube);
\r
3148 btnQube.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_QUBE)).dimmed);
\r
3149 btnQube.setName("ActQube");
\r
3150 btnQube.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selqube.gif")));
\r
3151 btnQube.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3152 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3153 toolBarBtnMouseExited(evt);
\r
3155 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3156 toolBarBtnMouseEntered(evt);
\r
3160 pColourView.add(btnQube);
\r
3162 btnSystemChooser.setSelected(true);
\r
3163 btnSystemChooser.setToolTipText(cIDresources.getString("ActSysColTip"));
\r
3164 tbgColourView.add(btnSystemChooser);
\r
3165 btnSystemChooser.setAction(aColorChooser);
\r
3166 btnSystemChooser.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).dimmed);
\r
3167 btnSystemChooser.setName("ActSysCol");
\r
3168 btnSystemChooser.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selsysColour.gif")));
\r
3169 btnSystemChooser.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3170 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3171 toolBarBtnMouseExited(evt);
\r
3173 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3174 toolBarBtnMouseEntered(evt);
\r
3178 pColourView.add(btnSystemChooser);
\r
3180 btnSwatches.setToolTipText(cIDresources.getString("ActSwatchTip"));
\r
3181 tbgColourView.add(btnSwatches);
\r
3182 btnSwatches.setAction(aSwatches);
\r
3183 btnSwatches.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SWATCHES)).dimmed);
\r
3184 btnSwatches.setName("ActSwatch");
\r
3185 btnSwatches.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selswatches.gif")));
\r
3186 btnSwatches.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3187 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3188 toolBarBtnMouseExited(evt);
\r
3190 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3191 toolBarBtnMouseEntered(evt);
\r
3195 pColourView.add(btnSwatches);
\r
3197 toolBar.add(pColourView);
\r
3199 pDirector.setLayout(new javax.swing.BoxLayout(pDirector, javax.swing.BoxLayout.X_AXIS));
\r
3201 toolBar.addSeparator();
\r
3202 btnManual.setSelected(true);
\r
3203 btnManual.setToolTipText(cIDresources.getString("ActManualTip"));
\r
3204 tbgDirection.add(btnManual);
\r
3205 btnManual.setAction(aManual);
\r
3206 btnManual.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_MANUAL)).dimmed);
\r
3207 btnManual.setName("ActManual");
\r
3208 btnManual.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selmanual.gif")));
\r
3209 btnManual.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3210 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3211 toolBarBtnMouseExited(evt);
\r
3213 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3214 toolBarBtnMouseEntered(evt);
\r
3218 pDirector.add(btnManual);
\r
3220 btnAuto.setToolTipText(cIDresources.getString("ActAutoTip"));
\r
3221 tbgDirection.add(btnAuto);
\r
3222 btnAuto.setAction(aAuto);
\r
3223 btnAuto.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_AUTO)).dimmed);
\r
3224 btnAuto.setName("ActAuto");
\r
3225 btnAuto.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selauto.gif")));
\r
3226 btnAuto.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3227 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3228 toolBarBtnMouseExited(evt);
\r
3230 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3231 toolBarBtnMouseEntered(evt);
\r
3235 pDirector.add(btnAuto);
\r
3237 btnDirected.setToolTipText(cIDresources.getString("ActDirectTip"));
\r
3238 tbgDirection.add(btnDirected);
\r
3239 btnDirected.setAction(aDirected);
\r
3240 btnDirected.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_DIRECTED)).dimmed);
\r
3241 btnDirected.setName("ActDirect");
\r
3242 btnDirected.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/seldirected.gif")));
\r
3243 btnDirected.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3244 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3245 toolBarBtnMouseExited(evt);
\r
3247 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3248 toolBarBtnMouseEntered(evt);
\r
3252 pDirector.add(btnDirected);
\r
3254 btnScript.setToolTipText(cIDresources.getString("ActScriptTip"));
\r
3255 tbgDirection.add(btnScript);
\r
3256 btnScript.setAction(aScript);
\r
3257 btnScript.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_SCRIPT)).dimmed);
\r
3258 btnScript.setName("ActScript");
\r
3259 btnScript.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selscript.gif")));
\r
3260 btnScript.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3261 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3262 toolBarBtnMouseExited(evt);
\r
3264 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3265 toolBarBtnMouseEntered(evt);
\r
3269 pDirector.add(btnScript);
\r
3271 toolBar.add(pDirector);
\r
3273 pConnection.setLayout(new javax.swing.BoxLayout(pConnection, javax.swing.BoxLayout.X_AXIS));
\r
3275 toolBar.addSeparator();
\r
3276 btnConnect.setToolTipText(cIDresources.getString("ActConnectTip"));
\r
3277 tbgConnection.add(btnConnect);
\r
3278 btnConnect.setAction(aConnect);
\r
3279 btnConnect.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_CONNECT)).dimmed);
\r
3280 btnConnect.setName("ActConnect");
\r
3281 btnConnect.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selconnect.gif")));
\r
3282 btnConnect.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3283 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3284 toolBarBtnMouseExited(evt);
\r
3286 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3287 toolBarBtnMouseEntered(evt);
\r
3291 pConnection.add(btnConnect);
\r
3293 btnDisconnect.setSelected(true);
\r
3294 btnDisconnect.setToolTipText(cIDresources.getString("ActDiscTip"));
\r
3295 tbgConnection.add(btnDisconnect);
\r
3296 btnDisconnect.setAction(aDisconnect);
\r
3297 btnDisconnect.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_DISCONNECT)).dimmed);
\r
3298 btnDisconnect.setName("ActDisc");
\r
3299 btnDisconnect.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/seldisconnect.gif")));
\r
3300 btnDisconnect.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3301 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3302 toolBarBtnMouseExited(evt);
\r
3304 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3305 toolBarBtnMouseEntered(evt);
\r
3309 pConnection.add(btnDisconnect);
\r
3311 toolBar.add(pConnection);
\r
3313 pScript.setLayout(new javax.swing.BoxLayout(pScript, javax.swing.BoxLayout.X_AXIS));
\r
3315 toolBar.addSeparator();
\r
3316 btnPlay.setToolTipText(cIDresources.getString("ActPlayTip"));
\r
3317 tbgPlayback.add(btnPlay);
\r
3318 btnPlay.setAction(aPlay);
\r
3319 btnPlay.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PLAY)).dimmed);
\r
3320 btnPlay.setName("ActPlay");
\r
3321 btnPlay.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selplay.gif")));
\r
3322 btnPlay.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3323 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3324 toolBarBtnMouseExited(evt);
\r
3326 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3327 toolBarBtnMouseEntered(evt);
\r
3331 pScript.add(btnPlay);
\r
3333 btnRecord.setToolTipText(cIDresources.getString("ActRecTip"));
\r
3334 tbgPlayback.add(btnRecord);
\r
3335 btnRecord.setAction(aRecord);
\r
3336 btnRecord.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_RECORD)).dimmed);
\r
3337 btnRecord.setName("ActRec");
\r
3338 btnRecord.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selrecord.gif")));
\r
3339 pScript.add(btnRecord);
\r
3341 btnPause.setToolTipText(cIDresources.getString("ActPauseTip"));
\r
3342 tbgPlayback.add(btnPause);
\r
3343 btnPause.setAction(aPause);
\r
3344 btnPause.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_PAUSE)).dimmed);
\r
3345 btnPause.setName("ActPause");
\r
3346 btnPause.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selpause.gif")));
\r
3347 btnPause.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3348 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3349 toolBarBtnMouseExited(evt);
\r
3351 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3352 toolBarBtnMouseEntered(evt);
\r
3356 pScript.add(btnPause);
\r
3358 btnStop.setSelected(true);
\r
3359 btnStop.setToolTipText(cIDresources.getString("ActStopTip"));
\r
3360 tbgPlayback.add(btnStop);
\r
3361 btnStop.setAction(aStop);
\r
3362 btnStop.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_STOP)).dimmed);
\r
3363 btnStop.setName("ActStop");
\r
3364 btnStop.setSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/selstop.gif")));
\r
3365 btnStop.addMouseListener(new java.awt.event.MouseAdapter() {
\r
3366 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
3367 toolBarBtnMouseExited(evt);
\r
3369 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
3370 toolBarBtnMouseEntered(evt);
\r
3374 pScript.add(btnStop);
\r
3376 toolBar.add(pScript);
\r
3378 getContentPane().add(toolBar, java.awt.BorderLayout.NORTH);
\r
3380 workPanel.setLayout(new java.awt.GridBagLayout());
\r
3381 java.awt.GridBagConstraints gridBagConstraints1;
\r
3383 spTemplate.setDividerLocation(450);
\r
3384 spTemplate.setResizeWeight(0.5);
\r
3385 spTemplate.setMinimumSize(new java.awt.Dimension(300, 343));
\r
3386 spTemplate.setOneTouchExpandable(true);
\r
3387 spColour.setDividerLocation(213);
\r
3388 spColour.setLastDividerLocation(208);
\r
3389 spColour.setMinimumSize(new java.awt.Dimension(213, 258));
\r
3390 spColour.setOneTouchExpandable(true);
\r
3391 spColour.setPreferredSize(new java.awt.Dimension(400, 343));
\r
3392 colourPanel.setLayout(new java.awt.BorderLayout());
\r
3394 colourPanel.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), cIDresources.getString("tColourCntrlTitle")));
\r
3395 colourPanel.setMinimumSize(new java.awt.Dimension(208, 256));
\r
3396 colourSelectorPanel.setLayout(new java.awt.GridLayout(2, 1));
\r
3398 filterSelector.setLayout(new javax.swing.BoxLayout(filterSelector, javax.swing.BoxLayout.X_AXIS));
\r
3400 jIconRadioButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/tFilterB21.gif")));
\r
3401 jIconRadioButton1.setText("1");
\r
3402 btnGroupFilter.add(jIconRadioButton1);
\r
3403 filterSelector.add(jIconRadioButton1);
\r
3405 jIconRadioButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/tFilterB22.gif")));
\r
3406 jIconRadioButton2.setText("2");
\r
3407 btnGroupFilter.add(jIconRadioButton2);
\r
3408 filterSelector.add(jIconRadioButton2);
\r
3410 jIconRadioButton3.setText("3");
\r
3411 btnGroupFilter.add(jIconRadioButton3);
\r
3412 filterSelector.add(jIconRadioButton3);
\r
3414 jIconRadioButton4.setText("4");
\r
3415 btnGroupFilter.add(jIconRadioButton4);
\r
3416 filterSelector.add(jIconRadioButton4);
\r
3418 colourSelectorPanel.add(filterSelector);
\r
3420 colourSelectorPanel.add(filterHistory);
\r
3422 colourPanel.add(colourSelectorPanel, java.awt.BorderLayout.NORTH);
\r
3424 sysColorChooser.setMinimumSize(new java.awt.Dimension(128, 192));
\r
3425 colourPanel.add(sysColorChooser, java.awt.BorderLayout.CENTER);
\r
3427 tintPanel.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), cIDresources.getString("tTintTitle")));
\r
3428 tintPanel.setName("tTint");
\r
3429 sliderTint.setMajorTickSpacing(10);
\r
3430 sliderTint.setMinorTickSpacing(5);
\r
3431 sliderTint.setPaintTicks(true);
\r
3432 sliderTint.setToolTipText(cIDresources.getString("tTintTip"));
\r
3433 sliderTint.setMinimumSize(new java.awt.Dimension(50, 27));
\r
3434 sliderTint.setName("tTint");
\r
3435 sliderTint.setPreferredSize(new java.awt.Dimension(128, 27));
\r
3436 sliderTint.addChangeListener(new javax.swing.event.ChangeListener() {
\r
3437 public void stateChanged(javax.swing.event.ChangeEvent evt) {
\r
3438 sliderTintStateChanged(evt);
\r
3442 sliderTint.addKeyListener(new java.awt.event.KeyAdapter() {
\r
3443 public void keyPressed(java.awt.event.KeyEvent evt) {
\r
3444 sliderTintKeyPressed(evt);
\r
3448 tintPanel.add(sliderTint);
\r
3450 colourPanel.add(tintPanel, java.awt.BorderLayout.SOUTH);
\r
3452 spColour.setLeftComponent(colourPanel);
\r
3454 filterLayerPane.setMinimumSize(new java.awt.Dimension(48, 48));
\r
3455 filterLayerPane.setPreferredSize(new java.awt.Dimension(256, 343));
\r
3456 // filterLayerPane.setLayout(new GridLayout(0,1));
\r
3457 filterLayerPane.addComponentListener(new java.awt.event.ComponentAdapter() {
\r
3458 public void componentResized(java.awt.event.ComponentEvent evt) {
\r
3459 filterLayerPaneComponentResized(evt);
\r
3463 templatePanel.setLayout(new java.awt.BorderLayout());
\r
3465 templatePanel.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), cIDresources.getString("tTemplTitle")));
\r
3466 templatePanel.setName("tTempl");
\r
3467 templatePanel.setPreferredSize(new java.awt.Dimension(343, 343));
\r
3468 templatePanel.addComponentListener(new java.awt.event.ComponentAdapter() {
\r
3469 public void componentResized(java.awt.event.ComponentEvent evt) {
\r
3470 templatePanelComponentResized(evt);
\r
3474 jTextPane3.setBorder(new javax.swing.border.EtchedBorder());
\r
3475 jTextPane3.setEditable(false);
\r
3476 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
3477 jTextPane3.setMargin(new java.awt.Insets(8, 8, 8, 8));
\r
3478 jTextPane3.setMinimumSize(new java.awt.Dimension(16, 16));
\r
3479 jTextPane3.setPreferredSize(new java.awt.Dimension(256, 256));
\r
3480 jTextPane3.addComponentListener(new java.awt.event.ComponentAdapter() {
\r
3481 public void componentResized(java.awt.event.ComponentEvent evt) {
\r
3482 jTextPane3ComponentResized(evt);
\r
3486 templatePanel.add(jTextPane3, java.awt.BorderLayout.CENTER);
\r
3488 filterLayerPane.add(templatePanel, javax.swing.JLayeredPane.DEFAULT_LAYER);
\r
3489 templatePanel.setBounds(0, 0, 343, 343);
\r
3491 spColour.setRightComponent(filterLayerPane);
\r
3493 spTemplate.setLeftComponent(spColour);
\r
3495 templateControlPanel.setLayout(new java.awt.BorderLayout());
\r
3497 templateControlPanel.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), cIDresources.getString("tTemplCntrlTitle")));
\r
3498 templateControlPanel.setName("tTemplCntrl");
\r
3499 templateSelectorPanel.setLayout(new java.awt.GridLayout(2, 1));
\r
3501 templateSelector.setLayout(new javax.swing.BoxLayout(templateSelector, javax.swing.BoxLayout.X_AXIS));
\r
3503 jIconRadioButton6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/tFilterBA1.gif")));
\r
3504 jIconRadioButton6.setText("1");
\r
3505 btnGroupTemplate.add(jIconRadioButton6);
\r
3506 templateSelector.add(jIconRadioButton6);
\r
3508 jIconRadioButton7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/tjworld/vista/cid/media/tFilterBA2.gif")));
\r
3509 jIconRadioButton7.setText("2");
\r
3510 btnGroupTemplate.add(jIconRadioButton7);
\r
3511 templateSelector.add(jIconRadioButton7);
\r
3513 jIconRadioButton8.setText("3");
\r
3514 btnGroupTemplate.add(jIconRadioButton8);
\r
3515 templateSelector.add(jIconRadioButton8);
\r
3517 jIconRadioButton9.setText("4");
\r
3518 btnGroupTemplate.add(jIconRadioButton9);
\r
3519 templateSelector.add(jIconRadioButton9);
\r
3521 templateSelectorPanel.add(templateSelector);
\r
3523 templateSelectorPanel.add(templateHistory);
\r
3525 templateControlPanel.add(templateSelectorPanel, java.awt.BorderLayout.NORTH);
\r
3527 ratingPanel.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), cIDresources.getString("tRatingTitle")));
\r
3528 sliderRating.setPaintTicks(true);
\r
3529 sliderRating.setPreferredSize(new java.awt.Dimension(100, 27));
\r
3530 ratingPanel.add(sliderRating);
\r
3532 templateControlPanel.add(ratingPanel, java.awt.BorderLayout.SOUTH);
\r
3534 spTemplate.setRightComponent(templateControlPanel);
\r
3536 gridBagConstraints1 = new java.awt.GridBagConstraints();
\r
3537 gridBagConstraints1.gridx = 0;
\r
3538 gridBagConstraints1.gridy = 0;
\r
3539 gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;
\r
3540 gridBagConstraints1.anchor = java.awt.GridBagConstraints.NORTH;
\r
3541 gridBagConstraints1.weightx = 0.25;
\r
3542 gridBagConstraints1.weighty = 0.5;
\r
3543 workPanel.add(spTemplate, gridBagConstraints1);
\r
3545 statusLine.setLayout(new javax.swing.BoxLayout(statusLine, javax.swing.BoxLayout.X_AXIS));
\r
3547 statusMessage.setText(cIDresources.getString("msgVistaBuild"));
\r
3548 statusMessage.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
\r
3549 statusMessage.setMaximumSize(new java.awt.Dimension(256, 21));
\r
3550 statusMessage.setMinimumSize(new java.awt.Dimension(128, 21));
\r
3551 statusMessage.setPreferredSize(new java.awt.Dimension(256, 21));
\r
3552 statusLine.add(statusMessage);
\r
3554 statusRed.setFont(new java.awt.Font("Dialog", 1, 11));
\r
3555 statusRed.setForeground(java.awt.Color.red);
\r
3556 statusRed.setMaximum(255);
\r
3557 statusRed.setValue(128);
\r
3558 statusRed.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
\r
3559 statusRed.setPreferredSize(new java.awt.Dimension(64, 21));
\r
3560 statusRed.setString("128");
\r
3561 statusRed.setStringPainted(true);
\r
3562 statusLine.add(statusRed);
\r
3564 statusGreen.setFont(new java.awt.Font("Dialog", 1, 11));
\r
3565 statusGreen.setForeground(java.awt.Color.green);
\r
3566 statusGreen.setMaximum(255);
\r
3567 statusGreen.setValue(128);
\r
3568 statusGreen.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
\r
3569 statusGreen.setPreferredSize(new java.awt.Dimension(64, 21));
\r
3570 statusGreen.setString("128");
\r
3571 statusGreen.setStringPainted(true);
\r
3572 statusLine.add(statusGreen);
\r
3574 statusBlue.setFont(new java.awt.Font("Dialog", 1, 11));
\r
3575 statusBlue.setForeground(java.awt.Color.blue);
\r
3576 statusBlue.setMaximum(255);
\r
3577 statusBlue.setValue(128);
\r
3578 statusBlue.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
\r
3579 statusBlue.setPreferredSize(new java.awt.Dimension(64, 21));
\r
3580 statusBlue.setString("128");
\r
3581 statusBlue.setStringPainted(true);
\r
3582 statusLine.add(statusBlue);
\r
3584 statusTint.setFont(new java.awt.Font("Dialog", 1, 11));
\r
3585 statusTint.setValue(50);
\r
3586 statusTint.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
\r
3587 statusTint.setStringPainted(true);
\r
3588 statusLine.add(statusTint);
\r
3590 statusIconPanel.setLayout(new javax.swing.BoxLayout(statusIconPanel, javax.swing.BoxLayout.X_AXIS));
\r
3592 statusIconPanel.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
\r
3593 statusIconModel.setIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).active);
\r
3594 statusIconModel.setToolTipText(cIDresources.getString("tTemplMod"));
\r
3595 statusIconModel.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_1UP)).active);
\r
3596 statusIconPanel.add(statusIconModel);
\r
3598 statusIconEyes.setIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active);
\r
3599 statusIconEyes.setToolTipText(cIDresources.getString("tEyeMod"));
\r
3600 statusIconEyes.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_BOTH_EYES)).active);
\r
3601 statusIconPanel.add(statusIconEyes);
\r
3603 statusIconTemplate.setIcon(((ToolIconPair)vToolIcons.get(IC_READING)).active);
\r
3604 statusIconTemplate.setToolTipText(cIDresources.getString("tTemplMod"));
\r
3605 statusIconTemplate.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_READING)).active);
\r
3606 statusIconPanel.add(statusIconTemplate);
\r
3608 statusIconColourModel.setIcon(((ToolIconPair)vToolIcons.get(IC_HSB)).active);
\r
3609 statusIconColourModel.setToolTipText(cIDresources.getString("tColMod"));
\r
3610 statusIconColourModel.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_HSB)).active);
\r
3611 statusIconPanel.add(statusIconColourModel);
\r
3613 statusIconColourView.setIcon(((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).active);
\r
3614 statusIconColourView.setToolTipText(cIDresources.getString("tColView"));
\r
3615 statusIconColourView.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_COLOR_CHOOSER)).active);
\r
3616 statusIconPanel.add(statusIconColourView);
\r
3618 statusIconDirector.setIcon(((ToolIconPair)vToolIcons.get(IC_MANUAL)).active);
\r
3619 statusIconDirector.setToolTipText(cIDresources.getString("tDirector"));
\r
3620 statusIconDirector.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_MANUAL)).active);
\r
3621 statusIconPanel.add(statusIconDirector);
\r
3623 statusIconFilter.setIcon(((ToolIconPair)vToolIcons.get(IC_FILTER_TEMPLATE)).active);
\r
3624 statusIconFilter.setToolTipText(cIDresources.getString("mOptFltName"));
\r
3625 statusIconFilter.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_FILTER_TEMPLATE)).active);
\r
3626 statusIconPanel.add(statusIconFilter);
\r
3628 statusIconLanguage.setIcon(((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active);
\r
3629 statusIconLanguage.setToolTipText(cIDresources.getString("mOptLangName"));
\r
3630 statusIconLanguage.setDisabledIcon(((ToolIconPair)vToolIcons.get(IC_LANG_BRITISH)).active);
\r
3631 statusIconPanel.add(statusIconLanguage);
\r
3633 statusLine.add(statusIconPanel);
\r
3635 statusState.setText(cIDresources.getString("msgStatRdy"));
\r
3636 statusState.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
\r
3637 statusState.setMaximumSize(new java.awt.Dimension(39, 21));
\r
3638 statusState.setMinimumSize(new java.awt.Dimension(39, 21));
\r
3639 statusState.setPreferredSize(new java.awt.Dimension(39, 21));
\r
3640 statusLine.add(statusState);
\r
3642 gridBagConstraints1 = new java.awt.GridBagConstraints();
\r
3643 gridBagConstraints1.gridx = 0;
\r
3644 gridBagConstraints1.gridy = 1;
\r
3645 gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;
\r
3646 gridBagConstraints1.anchor = java.awt.GridBagConstraints.NORTH;
\r
3647 gridBagConstraints1.weightx = 0.25;
\r
3648 workPanel.add(statusLine, gridBagConstraints1);
\r
3650 getContentPane().add(workPanel, java.awt.BorderLayout.CENTER);
\r
3652 setJMenuBar(mbMain);
\r
3654 }//GEN-END:initComponents
\r
3656 private void mHelpFilterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mHelpFilterActionPerformed
\r
3657 float alpha = vfFilter.getAlpha();
\r
3658 helpWindow.setVistaColour(vfFilter.getBackground(), alpha);
\r
3659 helpWindow.setVista(mHelpFilter.isSelected());
\r
3660 }//GEN-LAST:event_mHelpFilterActionPerformed
\r
3662 private void mHelpDockActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mHelpDockActionPerformed
\r
3663 if(helpWindow != null) // copy selected state from menu item to Help window
\r
3664 helpWindow.setDocking(mHelpDock.isSelected());
\r
3665 }//GEN-LAST:event_mHelpDockActionPerformed
\r
3667 private void formComponentMoved(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_formComponentMoved
\r
3668 showHelp(0, true, false, false);
\r
3669 }//GEN-LAST:event_formComponentMoved
\r
3671 private void mHelpIndexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mHelpIndexActionPerformed
\r
3672 showHelp(xhtmlHelp.TAB_INDEX, false, true, true);
\r
3673 }//GEN-LAST:event_mHelpIndexActionPerformed
\r
3676 /** Catches changes to the CID window frame
\r
3678 * Intended to allow one Locale-change to the window frame as a result of the
\r
3679 * user changing the Language, to be caught and then propagated to all other
\r
3680 * Locale-sensitive components.
\r
3682 * @param evt The ProperyChangeEvent - usually a 'locale' property event
\r
3684 private void formPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_formPropertyChange
\r
3685 if(evt.getPropertyName() == "locale") { // the application(or applet) Locale has been changed
\r
3686 if(debugging) System.out.println("Locale changed from " + ((java.util.Locale)evt.getOldValue()).getDisplayLanguage() + " to " + ((java.util.Locale)evt.getNewValue()).getDisplayLanguage());
\r
3687 changeLocale((java.util.Locale)evt.getNewValue()); // do a dynamic change to all components now
\r
3689 }//GEN-LAST:event_formPropertyChange
\r
3691 private void mToolbarToolBarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarToolBarActionPerformed
\r
3692 toolBar.setVisible(mToolbarToolBar.isSelected()); // show or hide the toolbar
\r
3693 }//GEN-LAST:event_mToolbarToolBarActionPerformed
\r
3695 /** Catch various keyboard accelerators when the Tint slider has focus
\r
3697 * Cursor (arrow) keys on the their own move the slider 1%
\r
3698 * with SHIFT key, moves 2%
\r
3699 * with ALT key, moves 5%
\r
3700 * with CTRL key, moves 10%
\r
3702 * NumPad keys + and - control direction
\r
3704 * NumPad 5 resets slider to central point
\r
3706 * Intended that these keys will be available as Application-wide accelerators
\r
3707 * because when the Slider doesn't have keyboard focus the arrow keys are needed
\r
3708 * for Focus naviagtion and other core activities.
\r
3710 private void sliderTintKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_sliderTintKeyPressed
\r
3711 boolean abVal = false;
\r
3712 int dir = 0, newVal = 0;
\r
3713 int step = 1; // default stepping is 1
\r
3715 // adjust the Tint from the keyboard
\r
3716 switch(evt.getModifiers()) { // set the stepping value
\r
3717 case ActionEvent.SHIFT_MASK: // shift key
\r
3720 case ActionEvent.ALT_MASK: // alt key
\r
3723 case ActionEvent.CTRL_MASK: // ctrl key
\r
3728 switch(evt.getKeyCode()) { // set the direction
\r
3729 case KeyEvent.VK_ADD: // num-pad key +
\r
3732 case KeyEvent.VK_SUBTRACT: // num-pad key -
\r
3735 case KeyEvent.VK_NUMPAD5: // reset slider to central position...
\r
3736 case KeyEvent.VK_CLEAR: // ... allow for NumLock on or off
\r
3737 newVal = sliderTint.getMinimum() + ((sliderTint.getMaximum() - sliderTint.getMinimum())/2);
\r
3738 abVal = true; // indicate absolute value is being set
\r
3741 if(dir != 0) { // don't do anything if one of the adjuster keys wasn't pressed
\r
3742 newVal = sliderTint.getValue() + (dir * step); // calculate the new value
\r
3743 if(newVal > sliderTint.getMaximum()) // adjust it if too high
\r
3744 newVal = sliderTint.getMaximum();
\r
3745 else if(newVal < sliderTint.getMinimum()) // or if too low
\r
3746 newVal = sliderTint.getMinimum();
\r
3747 sliderTint.setValue(newVal); // change the value
\r
3749 else if(abVal) // set an absolute value
\r
3750 sliderTint.setValue(newVal);
\r
3751 }//GEN-LAST:event_sliderTintKeyPressed
\r
3753 /** show or hide the Script buttons on the tool bar */
\r
3754 private void mToolbarScriptActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarScriptActionPerformed
\r
3755 pScript.setVisible(mToolbarScript.isSelected());
\r
3756 }//GEN-LAST:event_mToolbarScriptActionPerformed
\r
3758 /** show or hide the Remote Connection buttons on the tool bar */
\r
3759 private void mToolbarConnectionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarConnectionActionPerformed
\r
3760 pConnection.setVisible(mToolbarConnection.isSelected());
\r
3761 }//GEN-LAST:event_mToolbarConnectionActionPerformed
\r
3763 /** show or hide the Director buttons on the tool bar */
\r
3764 private void mToolbarDirectorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarDirectorActionPerformed
\r
3765 pDirector.setVisible(mToolbarDirector.isSelected());
\r
3766 }//GEN-LAST:event_mToolbarDirectorActionPerformed
\r
3768 private void mToolbarColourViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarColourViewActionPerformed
\r
3769 pColourView.setVisible(mToolbarColourView.isSelected());
\r
3770 }//GEN-LAST:event_mToolbarColourViewActionPerformed
\r
3772 /** show or hide the Colour Model buttons on the tool bar */
\r
3773 private void mToolbarColourModelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarColourModelActionPerformed
\r
3774 pColourModel.setVisible(mToolbarColourModel.isSelected());
\r
3775 }//GEN-LAST:event_mToolbarColourModelActionPerformed
\r
3777 /** show or hide the Template buttons on the tool bar */
\r
3778 private void mToolbarTemplateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarTemplateActionPerformed
\r
3779 pTemplate.setVisible(mToolbarTemplate.isSelected());
\r
3780 }//GEN-LAST:event_mToolbarTemplateActionPerformed
\r
3782 /** show or hide the Eye Model buttons on the tool bar */
\r
3783 private void mToolbarEyesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarEyesActionPerformed
\r
3784 pEyes.setVisible(mToolbarEyes.isSelected());
\r
3785 }//GEN-LAST:event_mToolbarEyesActionPerformed
\r
3787 private void mToolbarModelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarModelActionPerformed
\r
3788 pModel.setVisible(mToolbarModel.isSelected());
\r
3789 }//GEN-LAST:event_mToolbarModelActionPerformed
\r
3791 /** show or hide the Profile buttons on the tool bar */
\r
3792 private void mToolbarProfileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mToolbarProfileActionPerformed
\r
3793 pProfile.setVisible(mToolbarProfile.isSelected());
\r
3794 }//GEN-LAST:event_mToolbarProfileActionPerformed
\r
3796 /** Listen for potentional context menu requests (platform-specific activation sequence)
\r
3797 * @param evt The MouseEvent
\r
3798 * @see MouseEvent#isPoupTrigger()
\r
3800 private void toolBarMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toolBarMouseReleased
\r
3801 if(evt.isPopupTrigger()) showToolbarPopup(evt); // only show if event conforms to platform context gesture
\r
3802 }//GEN-LAST:event_toolBarMouseReleased
\r
3804 /** Listen for potentional context menu requests (platform-specific activation sequence)
\r
3805 * @param evt The MouseEvent
\r
3806 * @see MouseEvent#isPoupTrigger()
\r
3808 private void toolBarMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toolBarMousePressed
\r
3809 if(evt.isPopupTrigger()) showToolbarPopup(evt); // only show if event conforms to platform context gesture
\r
3810 }//GEN-LAST:event_toolBarMousePressed
\r
3812 /** Show Toolbar customization Popup
\r
3813 * Conditional on receiving environment-specific context gesture.
\r
3815 * Because the JPopUp belonging to the mOptionsToolbar JMenu is being 'borrowed'
\r
3816 * we must make sure to reset the invoker after we've used it so it's owner
\r
3817 * can use it again.
\r
3819 * @param evt The MouseEvent
\r
3821 private void showToolbarPopup(java.awt.event.MouseEvent evt) {
\r
3822 Component c = toolBarPopup.getInvoker(); // remember the original invoker
\r
3823 toolBarPopup.show(evt.getComponent(), evt.getX(), evt.getY());
\r
3824 toolBarPopup.setInvoker(c); // restore the invoker
\r
3827 /** Central 'Template' panel isn't managed by a Layout Manager
\r
3828 * When the parent container resizes, <code>templatePanel</code> must ensure it's
\r
3829 * child components are all resized too.
\r
3831 * @param evt The ComponentEvent
\r
3833 private void templatePanelComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_templatePanelComponentResized
\r
3834 Dimension dim = templatePanel.getSize(); // container size
\r
3835 Insets insets = templatePanel.getInsets(); // unavailable margins
\r
3836 dim.width -= insets.left + insets.right; // adjust size to take account of insets
\r
3837 dim.height -= insets.top + insets.bottom;
\r
3838 jTextPane3.setSize(dim); // fit the child component exactly into the panel
\r
3839 }//GEN-LAST:event_templatePanelComponentResized
\r
3841 private void jTextPane3ComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_jTextPane3ComponentResized
\r
3842 jTextPane3.revalidate(); // cause the parent container(s) to re-layout child components
\r
3843 jTextPane3.repaint(); // and then make sure the resized pane is shown on screen
\r
3844 }//GEN-LAST:event_jTextPane3ComponentResized
\r
3846 /** When the mouse leaves a tool bar button, causes the button border to be undrawn
\r
3847 * Single method which is called by all buttons wanting this functionality
\r
3848 * @param evt The MouseEvent
\r
3850 private void toolBarBtnMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toolBarBtnMouseExited
\r
3851 // whichever tool bar button, remove the border because the mouse has moved away
\r
3852 ((AbstractButton)evt.getSource()).setBorderPainted(false);
\r
3854 }//GEN-LAST:event_toolBarBtnMouseExited
\r
3856 /** When the mouse is over a tool bar button, causes the button border to be drawn
\r
3857 * Single method which is called by all buttons wanting this functionality
\r
3858 * @param evt The MouseEvent
\r
3860 private void toolBarBtnMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toolBarBtnMouseEntered
\r
3861 // whichever tool bar button, show the mouse is over it
\r
3862 ((javax.swing.AbstractButton)evt.getSource()).setBorderPainted(true);
\r
3863 }//GEN-LAST:event_toolBarBtnMouseEntered
\r
3865 /** Show the application's Help/About dialog
\r
3866 * @param evt The ActionEvent
\r
3868 private void mHelpAboutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mHelpAboutActionPerformed
\r
3869 if(aboutDialog == null)
\r
3870 aboutDialog = new CIDAbout(this, true);
\r
3872 aboutDialog.setLocation(getCentralLocation(aboutDialog, frameCID));
\r
3873 aboutDialog.setVisible(true); // show the (modal) dialog
\r
3874 }//GEN-LAST:event_mHelpAboutActionPerformed
\r
3876 /** Responds to changes in the transparency of the VisTA filter
\r
3878 * Gets the new tint and applies it to the VisTA filter and reflects the value to the
\r
3879 * status line tint-indicator progress bar.
\r
3881 * @param evt The ChangeEvent
\r
3883 private void sliderTintStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_sliderTintStateChanged
\r
3884 int value = sliderTint.getValue(); // new tint %
\r
3885 vfFilter.setAlpha(((float)value)/100); // apply it to the VisTA filter panel
\r
3886 statusTint.setValue(value); // and reflect the value in the status-line progress bar
\r
3887 }//GEN-LAST:event_sliderTintStateChanged
\r
3889 /** <code>filterLayerPane</code> cannot use a regular Layout Manager because it needs
\r
3890 * to place the VisTA <code>vfFilter</code> transparent 'glass' pane completely over
\r
3891 * all other components.
\r
3893 * Therefore, when <code>filterLayerPane</code> is resized, the change has to be
\r
3894 * propagated manually to the glass pane and the active Template panel, so they
\r
3895 * fill the <code>filterLayerPane</code> completely.
\r
3897 private void filterLayerPaneComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_filterLayerPaneComponentResized
\r
3898 Dimension dim = filterLayerPane.getSize(); // the new size
\r
3899 if(mFilterTemplate.isSelected()) vfFilter.setSize(dim); // tell the VisTA filter if it's attached to the Template
\r
3900 templatePanel.setSize(dim); // tell the Template pane
\r
3901 }//GEN-LAST:event_filterLayerPaneComponentResized
\r
3903 private void sysColorChooserStateChanged(ChangeEvent e) {
\r
3904 Color newColor = sysColorChooser.getColor();
\r
3905 vfFilter.setBackground(newColor);
\r
3906 statusRed.setValue(newColor.getRed());
\r
3907 statusRed.setString(Integer.toString(newColor.getRed()));
\r
3908 statusGreen.setValue(newColor.getGreen());
\r
3909 statusGreen.setString(Integer.toString(newColor.getGreen()));
\r
3910 statusBlue.setValue(newColor.getBlue());
\r
3911 statusBlue.setString(Integer.toString(newColor.getBlue()));
\r
3914 /** Calculate the top-left position that will place a component in the center of the screen
\r
3915 * @param child Component that requires positioning
\r
3916 * @return Top-Left co-ordinate
\r
3918 public Point getCentralScreenLocation(Component child) {
\r
3919 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
\r
3920 Dimension childSize = child.getSize();
\r
3921 return new Point(screenSize.width/2 - childSize.width/2, screenSize.height/2 - childSize.height/2);
\r
3924 /** Calculate the top-left position that will place a component in the center of a container
\r
3925 * @param child Component that requires positioning
\r
3926 * @param container Component to position child relative to
\r
3927 * @return Top-Left co-ordinate of child
\r
3929 public Point getCentralLocation(Component child, Component container) {
\r
3930 Dimension containerSize = container.getSize();
\r
3931 Dimension childSize = child.getSize();
\r
3932 return new Point(container.getX() + (containerSize.width/2 - childSize.width/2), container.getY() + (containerSize.height/2 - childSize.height/2));
\r
3934 /** Exit the Application
\r
3935 * @param evt The WindowEvent
\r
3937 private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
\r
3938 if(parent == null) System.exit(0); // running as an application; safe to close down Java Virtual Machine
\r
3939 else setVisible(false); // running as an applet; just hide
\r
3940 }//GEN-LAST:event_exitForm
\r
3942 // Variables declaration - do not modify//GEN-BEGIN:variables
\r
3943 private javax.swing.JMenuBar mbMain;
\r
3944 private javax.swing.JMenu mProfile;
\r
3945 private javax.swing.JMenuItem mProfileNew;
\r
3946 private javax.swing.JMenuItem mProfileOpen;
\r
3947 private javax.swing.JMenuItem mProfileSave;
\r
3948 private javax.swing.JMenuItem mProfileSaveAs;
\r
3949 private javax.swing.JMenuItem mProfileDelete;
\r
3950 private javax.swing.JSeparator mProfileSeparator1;
\r
3951 private javax.swing.JMenuItem mProfileToVista;
\r
3952 private javax.swing.JSeparator mProfileSeparator2;
\r
3953 private javax.swing.JMenuItem mProfileFromCookie;
\r
3954 private javax.swing.JMenuItem mProfileToCookie;
\r
3955 private javax.swing.JMenuItem mProfileCreateFilter;
\r
3956 private javax.swing.JMenuItem mProfileWeb;
\r
3957 private javax.swing.JSeparator mProfileSeparator3;
\r
3958 private javax.swing.JMenuItem mProfilePrint;
\r
3959 private javax.swing.JMenuItem mProfilePageSetup;
\r
3960 private javax.swing.JSeparator mProfileSeparator4;
\r
3961 private javax.swing.JMenuItem mProfileProperties;
\r
3962 private javax.swing.JMenu mModel;
\r
3963 private javax.swing.JRadioButtonMenuItem mModel1;
\r
3964 private javax.swing.JRadioButtonMenuItem mModel2;
\r
3965 private javax.swing.JRadioButtonMenuItem mModelAlternate;
\r
3966 private javax.swing.JSeparator jSeparator9;
\r
3967 private javax.swing.JRadioButtonMenuItem mModelBothEyes;
\r
3968 private javax.swing.JRadioButtonMenuItem mModelEyesSeparate;
\r
3969 private javax.swing.JMenu mTemplate;
\r
3970 private javax.swing.JRadioButtonMenuItem mTemplateReading;
\r
3971 private javax.swing.JRadioButtonMenuItem mTemplatePattern;
\r
3972 private javax.swing.JRadioButtonMenuItem mTemplateImage;
\r
3973 private javax.swing.JMenu mColour;
\r
3974 private javax.swing.JRadioButtonMenuItem mColourRGB;
\r
3975 private javax.swing.JRadioButtonMenuItem mColourHSB;
\r
3976 private javax.swing.JRadioButtonMenuItem mColourCYMK;
\r
3977 private javax.swing.JSeparator jSeparator7;
\r
3978 private javax.swing.JRadioButtonMenuItem mColourWheel;
\r
3979 private javax.swing.JRadioButtonMenuItem mColourTriangle;
\r
3980 private javax.swing.JRadioButtonMenuItem mColourCube;
\r
3981 private javax.swing.JRadioButtonMenuItem mColourSystemChooser;
\r
3982 private javax.swing.JRadioButtonMenuItem mColourSwatch;
\r
3983 private javax.swing.JMenu mDirector;
\r
3984 private javax.swing.JRadioButtonMenuItem mDirectorManual;
\r
3985 private javax.swing.JRadioButtonMenuItem mDirectorAuto;
\r
3986 private javax.swing.JRadioButtonMenuItem mDirectorDirect;
\r
3987 private javax.swing.JRadioButtonMenuItem mDirectorScript;
\r
3988 private javax.swing.JMenu mOptions;
\r
3989 private javax.swing.JMenu mOptionsReading;
\r
3990 private javax.swing.JMenuItem mReadingChoose;
\r
3991 private javax.swing.JMenuItem mReadingCustomize;
\r
3992 private javax.swing.JMenuItem mReadingPreferences;
\r
3993 private javax.swing.JMenu mOptionsPatterns;
\r
3994 private javax.swing.JMenuItem mPatternsChoose;
\r
3995 private javax.swing.JMenuItem mPatternsCustomize;
\r
3996 private javax.swing.JMenuItem mPatternsPreferences;
\r
3997 private javax.swing.JMenu mOptionsImages;
\r
3998 private javax.swing.JMenuItem mImgChoose;
\r
3999 private javax.swing.JMenuItem mImgCustomize;
\r
4000 private javax.swing.JMenuItem mImgPreferences;
\r
4001 private javax.swing.JMenu mOptionsSwatches;
\r
4002 private javax.swing.JMenuItem mSwatchesChoose;
\r
4003 private javax.swing.JMenuItem mSwatchesCustomize;
\r
4004 private javax.swing.JMenuItem mSwatchesPreferences;
\r
4005 private javax.swing.JMenu mOptionsDirected;
\r
4006 private javax.swing.JMenuItem mDirectedConnect;
\r
4007 private javax.swing.JMenuItem mDirectedDisconnect;
\r
4008 private javax.swing.JMenuItem mDirectedPreferences;
\r
4009 private javax.swing.JMenu mOptionsScripted;
\r
4010 private javax.swing.JMenuItem mOptionsScriptedChoose;
\r
4011 private javax.swing.JMenuItem mOptionsScriptedPlay;
\r
4012 private javax.swing.JMenuItem mOptionsScriptedRecord;
\r
4013 private javax.swing.JMenuItem mOptionsScriptedPause;
\r
4014 private javax.swing.JMenuItem mOptionsScriptedStop;
\r
4015 private javax.swing.JMenuItem mOptionsScriptedPreferences;
\r
4016 private javax.swing.JMenu mOptionsFilter;
\r
4017 private javax.swing.JRadioButtonMenuItem mFilterTemplate;
\r
4018 private javax.swing.JRadioButtonMenuItem mFilterWindow;
\r
4019 private javax.swing.JRadioButtonMenuItem mFilterScreen;
\r
4020 private javax.swing.JMenu mOptionsLanguage;
\r
4021 private javax.swing.JRadioButtonMenuItem mLanguageDefault;
\r
4022 private javax.swing.JRadioButtonMenuItem mLanguageBritish;
\r
4023 private javax.swing.JRadioButtonMenuItem mLanguageFrench;
\r
4024 private javax.swing.JRadioButtonMenuItem mLanguageSpanish;
\r
4025 private javax.swing.JRadioButtonMenuItem mLanguageGerman;
\r
4026 private javax.swing.JRadioButtonMenuItem mLanguageArabicEgypt;
\r
4027 private javax.swing.JRadioButtonMenuItem mLanguageFarsiIran;
\r
4028 private javax.swing.JRadioButtonMenuItem mLanguageHindiIndia;
\r
4029 private javax.swing.JRadioButtonMenuItem mLanguageIndonesian;
\r
4030 private javax.swing.JRadioButtonMenuItem mLanguageJapanese;
\r
4031 private javax.swing.JRadioButtonMenuItem mLanguageDutch;
\r
4032 private javax.swing.JRadioButtonMenuItem mLanguagePashto;
\r
4033 private javax.swing.JRadioButtonMenuItem mLanguagePortuguese;
\r
4034 private javax.swing.JRadioButtonMenuItem mLanguageRussian;
\r
4035 private javax.swing.JRadioButtonMenuItem mLanguageSwedish;
\r
4036 private javax.swing.JRadioButtonMenuItem mLanguageUrdu;
\r
4037 private javax.swing.JRadioButtonMenuItem mLanguageChinese;
\r
4038 private javax.swing.JMenu mOptionsToolbar;
\r
4039 private javax.swing.JCheckBoxMenuItem mToolbarToolBar;
\r
4040 private javax.swing.JSeparator jSeparator1;
\r
4041 private javax.swing.JCheckBoxMenuItem mToolbarProfile;
\r
4042 private javax.swing.JCheckBoxMenuItem mToolbarModel;
\r
4043 private javax.swing.JCheckBoxMenuItem mToolbarEyes;
\r
4044 private javax.swing.JCheckBoxMenuItem mToolbarTemplate;
\r
4045 private javax.swing.JCheckBoxMenuItem mToolbarColourModel;
\r
4046 private javax.swing.JCheckBoxMenuItem mToolbarColourView;
\r
4047 private javax.swing.JCheckBoxMenuItem mToolbarDirector;
\r
4048 private javax.swing.JCheckBoxMenuItem mToolbarConnection;
\r
4049 private javax.swing.JCheckBoxMenuItem mToolbarScript;
\r
4050 private javax.swing.JMenu mOptionsLandF;
\r
4051 private javax.swing.JMenuItem mOptionsVistaDB;
\r
4052 private javax.swing.JSeparator mOptionsSeparator2;
\r
4053 private javax.swing.JCheckBoxMenuItem mOptionsVistaWeb;
\r
4054 private javax.swing.JMenu mHelp;
\r
4055 private javax.swing.JMenuItem mHelpContents;
\r
4056 private javax.swing.JMenuItem mHelpIndex;
\r
4057 private javax.swing.JMenuItem mHelpSearch;
\r
4058 private javax.swing.JMenuItem mHelpWebLink;
\r
4059 private javax.swing.JSeparator mHelpSeparator1;
\r
4060 private javax.swing.JCheckBoxMenuItem mHelpExplain;
\r
4061 private javax.swing.JCheckBoxMenuItem mHelpDock;
\r
4062 private javax.swing.JCheckBoxMenuItem mHelpFilter;
\r
4063 private javax.swing.JSeparator mHelpSeparator2;
\r
4064 private javax.swing.JMenuItem mHelpAbout;
\r
4065 private javax.swing.ButtonGroup btnGroupFilter;
\r
4066 private javax.swing.ButtonGroup btnGroupTemplate;
\r
4067 private javax.swing.JToolBar toolBar;
\r
4068 private javax.swing.JPanel pProfile;
\r
4069 private javax.swing.JButton btnNew;
\r
4070 private javax.swing.JButton btnOpenFile;
\r
4071 private javax.swing.JButton btnSave;
\r
4072 private javax.swing.JButton btnSendToVistaDB;
\r
4073 private javax.swing.JPanel pModel;
\r
4074 private javax.swing.JToggleButton btn1Up;
\r
4075 private javax.swing.JToggleButton btn2Up;
\r
4076 private javax.swing.JToggleButton btnAlternate;
\r
4077 private javax.swing.JPanel pEyes;
\r
4078 private javax.swing.JToggleButton btnEyes2;
\r
4079 private javax.swing.JToggleButton btnEyes1;
\r
4080 private javax.swing.JPanel pTemplate;
\r
4081 private javax.swing.JToggleButton btnReading;
\r
4082 private javax.swing.JToggleButton btnPatterns;
\r
4083 private javax.swing.JToggleButton btnImages;
\r
4084 private javax.swing.JPanel pColourModel;
\r
4085 private javax.swing.JToggleButton btnRGB;
\r
4086 private javax.swing.JToggleButton btnHSB;
\r
4087 private javax.swing.JToggleButton btnCYMK;
\r
4088 private javax.swing.JPanel pColourView;
\r
4089 private javax.swing.JToggleButton btnWheel;
\r
4090 private javax.swing.JToggleButton btnTriangle;
\r
4091 private javax.swing.JToggleButton btnQube;
\r
4092 private javax.swing.JToggleButton btnSystemChooser;
\r
4093 private javax.swing.JToggleButton btnSwatches;
\r
4094 private javax.swing.JPanel pDirector;
\r
4095 private javax.swing.JToggleButton btnManual;
\r
4096 private javax.swing.JToggleButton btnAuto;
\r
4097 private javax.swing.JToggleButton btnDirected;
\r
4098 private javax.swing.JToggleButton btnScript;
\r
4099 private javax.swing.JPanel pConnection;
\r
4100 private javax.swing.JToggleButton btnConnect;
\r
4101 private javax.swing.JToggleButton btnDisconnect;
\r
4102 private javax.swing.JPanel pScript;
\r
4103 private javax.swing.JToggleButton btnPlay;
\r
4104 private javax.swing.JToggleButton btnRecord;
\r
4105 private javax.swing.JToggleButton btnPause;
\r
4106 private javax.swing.JToggleButton btnStop;
\r
4107 private javax.swing.JPanel workPanel;
\r
4108 private javax.swing.JSplitPane spTemplate;
\r
4109 private javax.swing.JSplitPane spColour;
\r
4110 private javax.swing.JPanel colourPanel;
\r
4111 private javax.swing.JPanel colourSelectorPanel;
\r
4112 private javax.swing.JPanel filterSelector;
\r
4113 private org.tjworld.components.JIconRadioButton jIconRadioButton1;
\r
4114 private org.tjworld.components.JIconRadioButton jIconRadioButton2;
\r
4115 private org.tjworld.components.JIconRadioButton jIconRadioButton3;
\r
4116 private org.tjworld.components.JIconRadioButton jIconRadioButton4;
\r
4117 private javax.swing.JComboBox filterHistory;
\r
4118 private javax.swing.JColorChooser sysColorChooser;
\r
4119 private javax.swing.JPanel tintPanel;
\r
4120 private javax.swing.JSlider sliderTint;
\r
4121 private javax.swing.JLayeredPane filterLayerPane;
\r
4122 private javax.swing.JPanel templatePanel;
\r
4123 private javax.swing.JTextPane jTextPane3;
\r
4124 private javax.swing.JPanel templateControlPanel;
\r
4125 private javax.swing.JPanel templateSelectorPanel;
\r
4126 private javax.swing.JPanel templateSelector;
\r
4127 private org.tjworld.components.JIconRadioButton jIconRadioButton6;
\r
4128 private org.tjworld.components.JIconRadioButton jIconRadioButton7;
\r
4129 private org.tjworld.components.JIconRadioButton jIconRadioButton8;
\r
4130 private org.tjworld.components.JIconRadioButton jIconRadioButton9;
\r
4131 private javax.swing.JComboBox templateHistory;
\r
4132 private javax.swing.JPanel ratingPanel;
\r
4133 private javax.swing.JSlider sliderRating;
\r
4134 private javax.swing.JPanel statusLine;
\r
4135 private javax.swing.JLabel statusMessage;
\r
4136 private javax.swing.JProgressBar statusRed;
\r
4137 private javax.swing.JProgressBar statusGreen;
\r
4138 private javax.swing.JProgressBar statusBlue;
\r
4139 private javax.swing.JProgressBar statusTint;
\r
4140 private javax.swing.JPanel statusIconPanel;
\r
4141 private javax.swing.JButton statusIconModel;
\r
4142 private javax.swing.JButton statusIconEyes;
\r
4143 private javax.swing.JButton statusIconTemplate;
\r
4144 private javax.swing.JButton statusIconColourModel;
\r
4145 private javax.swing.JButton statusIconColourView;
\r
4146 private javax.swing.JButton statusIconDirector;
\r
4147 private javax.swing.JButton statusIconFilter;
\r
4148 private javax.swing.JButton statusIconLanguage;
\r
4149 private javax.swing.JLabel statusState;
\r
4150 // End of variables declaration//GEN-END:variables
\r
4152 /** Pairs of active & dimmed icons for common actions */
\r
4153 class ToolIconPair {
\r
4154 /** Active icon */
\r
4155 public javax.swing.ImageIcon active;
\r
4156 /** Dimmed icon */
\r
4157 public javax.swing.ImageIcon dimmed;
\r
4159 /** Default empty constructor */
\r
4160 public ToolIconPair() {
\r
4165 /** defines a pair of icons
\r
4166 * @param a The active Icon
\r
4167 * @param d The dimmed Icon
\r
4169 public ToolIconPair(javax.swing.ImageIcon a, javax.swing.ImageIcon d) {
\r
4175 /** Provides common mouseover hilighting services to all tool bar buttons
\r
4176 * Without this container class, each button would have to provide it's own
\r
4177 * instantiation of the <code>MouseAdapter</code> class when it registers
\r
4178 * a mouse listener.
\r
4180 class ToolBarButtonMouseAdapter extends java.awt.event.MouseAdapter {
\r
4181 /** Default empty constructor */
\r
4182 public ToolBarButtonMouseAdapter() {}
\r
4184 /** mouse has left the house!
\r
4185 * @param evt A mouse event
\r
4187 public void mouseExited(java.awt.event.MouseEvent evt) {
\r
4188 toolBarBtnMouseExited(evt); // indicate mouse gone
\r
4190 /** mouse over the button
\r
4191 * @param evt A mouse event
\r
4193 public void mouseEntered(java.awt.event.MouseEvent evt) {
\r
4194 toolBarBtnMouseEntered(evt); // indicate mouse over
\r
4199 /** Receives an event from a selectable descendent of AbstractButton
\r
4201 * A component that fires this event MUST keep the className of the L&F it is requesting
\r
4202 * in it's tool tip text
\r
4204 * @param e The event caused by an item state change
\r
4206 public void itemStateChanged(java.awt.event.ItemEvent e) {
\r
4207 // cast to an AbstractButton so menu items and tool bar (toggle) buttons can use this same listener
\r
4208 javax.swing.AbstractButton item = (javax.swing.AbstractButton)e.getSource();
\r
4209 if(item.getClientProperty("ButtonGroup") == "LandF" && item.isSelected()) { // only make the call if this component has been selected, NOT deselected
\r
4210 setLookAndFeel(item.getToolTipText()); // change to the L&F which cleverly is stored in the menu item tool tip text
\r
4211 if(helpWindow != null) // change the help window too
\r
4212 helpWindow.setLookAndFeel(item.getToolTipText());
\r
4216 /** Choose the Java Look & Feel
\r
4217 * @param lf The L&F name
\r
4219 public void setLookAndFeel(String lf) {
\r
4220 Cursor curCursor = getCursor(); // save the existing cursor
\r
4221 setCursor(new Cursor(Cursor.WAIT_CURSOR)); // let the user know this might take a while
\r
4224 UIManager.setLookAndFeel(lf);
\r
4226 // now adjust the frame decoration depending on whether the L&F supports painting it
\r
4227 setVisible(false); // hide the frame while the decoration is changed
\r
4228 dispose(); // detatch all of the native windowing resources
\r
4230 if(UIManager.getLookAndFeel().getSupportsWindowDecorations()) {
\r
4231 setUndecorated(true); // don't use the Host window decoration
\r
4232 getRootPane().setWindowDecorationStyle(javax.swing.JRootPane.FRAME);
\r
4234 setUndecorated(false); // L&F doesn't support decorating the frame
\r
4235 getRootPane().setWindowDecorationStyle(javax.swing.JRootPane.NONE);
\r
4237 } catch(UnsupportedLookAndFeelException e) { // uh-oh, a problem
\r
4239 System.err.println("Couldn't switch to " + lf + ", selecting Cross Platform instead");
\r
4240 UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); // try to recover gracefully
\r
4241 } catch(Exception g) { // major problem!
\r
4242 System.err.println("Couldn't return to Cross Platform L&F - eeek!");
\r
4243 g.printStackTrace();
\r
4245 } catch(Exception f) { // oh pooey, what do I do now?
\r
4246 System.err.println("Couldn't load " + lf);
\r
4247 f.printStackTrace();
\r
4248 } finally { // do this in any case
\r
4249 SwingUtilities.updateComponentTreeUI(this); // update the view
\r
4250 pack(); // make sure to adjust for potentially altered component sizes
\r
4254 setCursor(curCursor); // restore the cursor
\r
4257 /** Run as an Application
\r
4258 * @param args the command line arguments
\r
4260 public static void main(String args[]) {
\r
4261 new CID().show(); // create and show the application - everything happens in the Event Dispatching thread
\r