/* * Copyright (c) 2007 BUSINESS OBJECTS SOFTWARE LIMITED * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of Business Objects nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* * CALIDE.java * Creation date: (4/14/01 5:21:21 PM) * By: Luke Evans */ package org.openquark.gems.client.caleditor.editorapp; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Font; import java.awt.Insets; import java.awt.Point; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JToolBar; import javax.swing.SwingConstants; import javax.swing.UIManager; import javax.swing.WindowConstants; import javax.swing.border.EtchedBorder; import javax.swing.filechooser.FileFilter; /** * This type was generated by a SmartGuide. */ public final class CALIDE extends JFrame { private static final long serialVersionUID = 2210315120497831938L; /** * CAL source file filter * Filters *.cal files * Creation date: (4/14/01 5:21:21 PM) * @author Luke Evans */ private static class CALSourceFileFilter extends FileFilter { /** * Override accept method * Creation date: (4/14/01 5:23:38 PM) * @param f File the file * @return boolean whether to accept (true) the file for viewing */ @Override public boolean accept(File f) { return f.isDirectory() || f.getName().endsWith(".cal"); //$NON-NLS-1$ } /** * Override getDescription method * Creation date: (4/14/01 5:24:31 PM) * @return the description of the filter */ @Override public String getDescription() { return CALIDEMessages.getString("CALIDE.CALFileDescription"); //$NON-NLS-1$ } } private JMenuItem ivjAbout_BoxMenuItem = null; private JMenuItem ivjBooks_OnlineMenuItem = null; private JMenuBar ivjCALIDEJMenuBar = null; private JScrollPane ivjCALIDEPane = null; private JButton ivjCopyButton = null; private JMenuItem ivjCopyMenuItem = null; private JButton ivjCutButton = null; private JMenuItem ivjCutMenuItem = null; private JMenuItem ivjDeleteMenuItem = null; private JMenu ivjEditMenu = null; private final IvjEventHandler ivjEventHandler = new IvjEventHandler(); private JMenuItem ivjExitMenuItem = null; private JMenu ivjFileMenu = null; private JMenuItem ivjFind_ReplaceMenuItem = null; private JMenuItem ivjHelp_TopicsMenuItem = null; private JMenu ivjHelpMenu = null; private JPanel ivjJFrameContentPane = null; private JSeparator ivjJSeparator1 = null; private JSeparator ivjJSeparator2 = null; private JSeparator ivjJSeparator3 = null; private JMenuItem ivjNewMenuItem = null; private JMenuItem ivjOpenMenuItem = null; private JButton ivjPasteButton = null; private JMenuItem ivjPasteMenuItem = null; private JMenuItem ivjRedoMenuItem = null; private JMenuItem ivjSave_AsMenuItem = null; private JMenuItem ivjSaveMenuItem = null; private JMenuItem ivjSelect_AllMenuItem = null; private JMenuItem ivjStatusbarMenuItem = null; private JPanel ivjStatusBarPane = null; private JLabel ivjStatusMsg1 = null; private JLabel ivjStatusMsg2 = null; private JMenuItem ivjToolbarMenuItem = null; private JToolBar ivjToolBarPane = null; private JMenuItem ivjUndoMenuItem = null; private JMenu ivjViewMenu = null; private CALEditorPanel ivjEditorPane = null; private File sourceFile = null; private boolean modified; // modified (dirty) flag class IvjEventHandler implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getSource() == CALIDE.this.getExitMenuItem()) { connEtoM1(); } if (e.getSource() == CALIDE.this.getToolbarMenuItem()) { connEtoC1(); } if (e.getSource() == CALIDE.this.getStatusbarMenuItem()) { connEtoC2(); } if (e.getSource() == CALIDE.this.getAbout_BoxMenuItem()) { connEtoC3(); } if (e.getSource() == CALIDE.this.getOpenMenuItem()) { connEtoC4(); } if (e.getSource() == CALIDE.this.getSaveMenuItem()) { connEtoC5(); } if (e.getSource() == CALIDE.this.getSave_AsMenuItem()) { connEtoC6(); } } } /** * CALIDE constructor comment. */ public CALIDE() { super(); initialize(); } /** * CALIDE constructor comment. * @param title String */ public CALIDE(String title) { super(title); } /** * connEtoC1: (ToolbarMenuItem.action.actionPerformed(ActionEvent) --> CALIDE.viewToolBar()V) */ private void connEtoC1() { try { this.viewToolBar(); } catch (Throwable ivjExc) { handleException(ivjExc); } } /** * connEtoC2: (StatusbarMenuItem.action.actionPerformed(ActionEvent) --> CALIDE.viewStatusBar()V) */ private void connEtoC2() { try { this.viewStatusBar(); } catch (Throwable ivjExc) { handleException(ivjExc); } } /** * connEtoC3: (About_BoxMenuItem.action.actionPerformed(ActionEvent) --> CALIDE.showAboutBox()V) */ private void connEtoC3() { try { this.showAboutBox(); } catch (Throwable ivjExc) { handleException(ivjExc); } } /** * connEtoC4: (OpenMenuItem.action.actionPerformed(ActionEvent) --> CALIDE.openMenuItem_ActionPerformed(LActionEvent;)V) */ private void connEtoC4() { try { this.openMenuItem_ActionPerformed(); } catch (Throwable ivjExc) { handleException(ivjExc); } } /** * connEtoC5: (SaveMenuItem.action.actionPerformed(ActionEvent) --> CALIDE.saveMenuItem_ActionPerformed(LActionEvent;)V) */ private void connEtoC5() { try { this.saveMenuItem_ActionPerformed(); } catch (Throwable ivjExc) { handleException(ivjExc); } } /** * connEtoC6: (Save_AsMenuItem.action.actionPerformed(ActionEvent) --> CALIDE.save_AsMenuItem_ActionPerformed(LActionEvent;)V) */ private void connEtoC6() { try { this.save_AsMenuItem_ActionPerformed(); } catch (Throwable ivjExc) { handleException(ivjExc); } } /** * connEtoM1: (ExitMenuItem.action.actionPerformed(ActionEvent) --> CALIDE.dispose()V) */ private void connEtoM1() { try { this.dispose(); } catch (Throwable ivjExc) { handleException(ivjExc); } } /** * Indicate that the document has changed. * Creation date: (5/7/01 7:40:15 AM) */ public void docChanged() { // Set modified flag and update the title modified = true; updateTitle(); } /** * Return the About_BoxMenuItem property value. * @return JMenuItem */ private JMenuItem getAbout_BoxMenuItem() { if (ivjAbout_BoxMenuItem == null) { try { ivjAbout_BoxMenuItem = new JMenuItem(); ivjAbout_BoxMenuItem.setName("About_BoxMenuItem"); //$NON-NLS-1$ ivjAbout_BoxMenuItem.setText(CALIDEMessages.getString("CALIDE.AboutBoxMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjAbout_BoxMenuItem; } /** * Return the Books_OnlineMenuItem property value. * @return JMenuItem */ private JMenuItem getBooks_OnlineMenuItem() { if (ivjBooks_OnlineMenuItem == null) { try { ivjBooks_OnlineMenuItem = new JMenuItem(); ivjBooks_OnlineMenuItem.setName("Books_OnlineMenuItem"); //$NON-NLS-1$ ivjBooks_OnlineMenuItem.setText(CALIDEMessages.getString("CALIDE.BooksOnlineMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjBooks_OnlineMenuItem; } /** * Return the CALIDEJMenuBar property value. * @return JMenuBar */ private JMenuBar getCALIDEJMenuBar() { if (ivjCALIDEJMenuBar == null) { try { ivjCALIDEJMenuBar = new JMenuBar(); ivjCALIDEJMenuBar.setName("CALIDEJMenuBar"); //$NON-NLS-1$ ivjCALIDEJMenuBar.add(getFileMenu()); ivjCALIDEJMenuBar.add(getEditMenu()); ivjCALIDEJMenuBar.add(getViewMenu()); ivjCALIDEJMenuBar.add(getHelpMenu()); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjCALIDEJMenuBar; } /** * Return the CALIDEPane property value. * @return JScrollPane */ private JScrollPane getCALIDEPane() { if (ivjCALIDEPane == null) { try { ivjCALIDEPane = new JScrollPane(); ivjCALIDEPane.setName("CALIDEPane"); //$NON-NLS-1$ ivjCALIDEPane.setPreferredSize(new Dimension(200, 100)); ivjCALIDEPane.setMinimumSize(new Dimension(200, 100)); getCALIDEPane().setViewportView(getEditorPane()); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjCALIDEPane; } /** * Return the CopyButton property value. * @return JButton */ private JButton getCopyButton() { if (ivjCopyButton == null) { try { ivjCopyButton = new JButton(); ivjCopyButton.setName("CopyButton"); //$NON-NLS-1$ ivjCopyButton.setIcon(new ImageIcon(getClass().getResource("/Resources/copy.gif"))); //$NON-NLS-1$ ivjCopyButton.setText(""); //$NON-NLS-1$ ivjCopyButton.setMargin(new Insets(0, 0, 0, 0)); ivjCopyButton.setHorizontalTextPosition(SwingConstants.CENTER); ivjCopyButton.setVerticalTextPosition(SwingConstants.BOTTOM); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjCopyButton; } /** * Return the CopyMenuItem property value. * @return JMenuItem */ private JMenuItem getCopyMenuItem() { if (ivjCopyMenuItem == null) { try { ivjCopyMenuItem = new JMenuItem(); ivjCopyMenuItem.setName("CopyMenuItem"); //$NON-NLS-1$ ivjCopyMenuItem.setText(CALIDEMessages.getString("CALIDE.CopyMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjCopyMenuItem; } /** * Return the CutButton property value. * @return JButton */ private JButton getCutButton() { if (ivjCutButton == null) { try { ivjCutButton = new JButton(); ivjCutButton.setName("CutButton"); //$NON-NLS-1$ ivjCutButton.setIcon(new ImageIcon(getClass().getResource("/Resources/cut.gif"))); //$NON-NLS-1$ ivjCutButton.setText(""); //$NON-NLS-1$ ivjCutButton.setMargin(new Insets(0, 0, 0, 0)); ivjCutButton.setHorizontalTextPosition(SwingConstants.CENTER); ivjCutButton.setVerticalTextPosition(SwingConstants.BOTTOM); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjCutButton; } /** * Return the CutMenuItem property value. * @return JMenuItem */ private JMenuItem getCutMenuItem() { if (ivjCutMenuItem == null) { try { ivjCutMenuItem = new JMenuItem(); ivjCutMenuItem.setName("CutMenuItem"); //$NON-NLS-1$ ivjCutMenuItem.setText(CALIDEMessages.getString("CALIDE.CutMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjCutMenuItem; } /** * Return the DeleteMenuItem property value. * @return JMenuItem */ private JMenuItem getDeleteMenuItem() { if (ivjDeleteMenuItem == null) { try { ivjDeleteMenuItem = new JMenuItem(); ivjDeleteMenuItem.setName("DeleteMenuItem"); //$NON-NLS-1$ ivjDeleteMenuItem.setText(CALIDEMessages.getString("CALIDE.DeleteMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjDeleteMenuItem; } /** * Return the EditMenu property value. * @return JMenu */ private JMenu getEditMenu() { if (ivjEditMenu == null) { try { ivjEditMenu = new JMenu(); ivjEditMenu.setName("EditMenu"); //$NON-NLS-1$ ivjEditMenu.setText(CALIDEMessages.getString("CALIDE.EditMenu")); //$NON-NLS-1$ ivjEditMenu.setMargin(new Insets(2, 0, 2, 0)); ivjEditMenu.add(getUndoMenuItem()); ivjEditMenu.add(getRedoMenuItem()); ivjEditMenu.add(getJSeparator2()); ivjEditMenu.add(getCutMenuItem()); ivjEditMenu.add(getCopyMenuItem()); ivjEditMenu.add(getPasteMenuItem()); ivjEditMenu.add(getJSeparator3()); ivjEditMenu.add(getDeleteMenuItem()); ivjEditMenu.add(getSelect_AllMenuItem()); ivjEditMenu.add(getFind_ReplaceMenuItem()); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjEditMenu; } /** * Return the EditorPane property value. * @return org.openquark.gems.client.caleditor.editorapp.CALEditorPanel */ private CALEditorPanel getEditorPane() { if (ivjEditorPane == null) { try { ivjEditorPane = new org.openquark.gems.client.caleditor.editorapp.CALEditorPanel(); ivjEditorPane.setName(CALIDEMessages.getString("CALIDE.22")); //$NON-NLS-1$ ivjEditorPane.setPreferredSize(new Dimension(200, 100)); ivjEditorPane.setMinimumSize(new Dimension(200, 100)); ivjEditorPane.setCALIDE(this); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjEditorPane; } /** * Return the ExitMenuItem property value. * @return JMenuItem */ private JMenuItem getExitMenuItem() { if (ivjExitMenuItem == null) { try { ivjExitMenuItem = new JMenuItem(); ivjExitMenuItem.setName("ExitMenuItem"); //$NON-NLS-1$ ivjExitMenuItem.setText(CALIDEMessages.getString("CALIDE.ExitMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjExitMenuItem; } /** * Return the FileMenu property value. * @return JMenu */ private JMenu getFileMenu() { if (ivjFileMenu == null) { try { ivjFileMenu = new JMenu(); ivjFileMenu.setName("FileMenu"); //$NON-NLS-1$ ivjFileMenu.setText(CALIDEMessages.getString("CALIDE.FileMenu")); //$NON-NLS-1$ ivjFileMenu.setMargin(new Insets(2, 0, 2, 0)); ivjFileMenu.add(getNewMenuItem()); ivjFileMenu.add(getOpenMenuItem()); ivjFileMenu.add(getJSeparator1()); ivjFileMenu.add(getSaveMenuItem()); ivjFileMenu.add(getSave_AsMenuItem()); ivjFileMenu.add(getExitMenuItem()); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjFileMenu; } /** * Return the Find_ReplaceMenuItem property value. * @return JMenuItem */ private JMenuItem getFind_ReplaceMenuItem() { if (ivjFind_ReplaceMenuItem == null) { try { ivjFind_ReplaceMenuItem = new JMenuItem(); ivjFind_ReplaceMenuItem.setName("Find_ReplaceMenuItem"); //$NON-NLS-1$ ivjFind_ReplaceMenuItem.setText(CALIDEMessages.getString("CALIDE.Find_ReplaceMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjFind_ReplaceMenuItem; } /** * Return the Help_TopicsMenuItem property value. * @return JMenuItem */ private JMenuItem getHelp_TopicsMenuItem() { if (ivjHelp_TopicsMenuItem == null) { try { ivjHelp_TopicsMenuItem = new JMenuItem(); ivjHelp_TopicsMenuItem.setName("Help_TopicsMenuItem"); //$NON-NLS-1$ ivjHelp_TopicsMenuItem.setText(CALIDEMessages.getString("CALIDE.Help_TopicsMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjHelp_TopicsMenuItem; } /** * Return the HelpMenu property value. * @return JMenu */ private JMenu getHelpMenu() { if (ivjHelpMenu == null) { try { ivjHelpMenu = new JMenu(); ivjHelpMenu.setName("HelpMenu"); //$NON-NLS-1$ ivjHelpMenu.setText(CALIDEMessages.getString("CALIDE.HelpMenu")); //$NON-NLS-1$ ivjHelpMenu.setMargin(new Insets(2, 0, 2, 0)); ivjHelpMenu.add(getHelp_TopicsMenuItem()); ivjHelpMenu.add(getBooks_OnlineMenuItem()); ivjHelpMenu.add(getAbout_BoxMenuItem()); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjHelpMenu; } /** * Return the JFrameContentPane property value. * @return JPanel */ private JPanel getJFrameContentPane() { if (ivjJFrameContentPane == null) { try { ivjJFrameContentPane = new JPanel(); ivjJFrameContentPane.setName("JFrameContentPane"); //$NON-NLS-1$ ivjJFrameContentPane.setLayout(new BorderLayout()); getJFrameContentPane().add(getToolBarPane(), "North"); //$NON-NLS-1$ getJFrameContentPane().add(getStatusBarPane(), "South"); //$NON-NLS-1$ getJFrameContentPane().add(getCALIDEPane(), "Center"); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjJFrameContentPane; } /** * Return the JSeparator1 property value. * @return JSeparator */ private JSeparator getJSeparator1() { if (ivjJSeparator1 == null) { try { ivjJSeparator1 = new JSeparator(); ivjJSeparator1.setName("JSeparator1"); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjJSeparator1; } /** * Return the JSeparator2 property value. * @return JSeparator */ private JSeparator getJSeparator2() { if (ivjJSeparator2 == null) { try { ivjJSeparator2 = new JSeparator(); ivjJSeparator2.setName("JSeparator2"); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjJSeparator2; } /** * Return the JSeparator3 property value. * @return JSeparator */ private JSeparator getJSeparator3() { if (ivjJSeparator3 == null) { try { ivjJSeparator3 = new JSeparator(); ivjJSeparator3.setName("JSeparator3"); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjJSeparator3; } /** * Return the NewMenuItem property value. * @return JMenuItem */ private JMenuItem getNewMenuItem() { if (ivjNewMenuItem == null) { try { ivjNewMenuItem = new JMenuItem(); ivjNewMenuItem.setName("NewMenuItem"); //$NON-NLS-1$ ivjNewMenuItem.setText(CALIDEMessages.getString("CALIDE.NewMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjNewMenuItem; } /** * Return the OpenMenuItem property value. * @return JMenuItem */ private JMenuItem getOpenMenuItem() { if (ivjOpenMenuItem == null) { try { ivjOpenMenuItem = new JMenuItem(); ivjOpenMenuItem.setName("OpenMenuItem"); //$NON-NLS-1$ ivjOpenMenuItem.setText(CALIDEMessages.getString("CALIDE.OpenMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjOpenMenuItem; } /** * Return the PasteButton property value. * @return JButton */ private JButton getPasteButton() { if (ivjPasteButton == null) { try { ivjPasteButton = new JButton(); ivjPasteButton.setName("PasteButton"); //$NON-NLS-1$ ivjPasteButton.setIcon(new ImageIcon(getClass().getResource("/Resources/paste.gif"))); //$NON-NLS-1$ ivjPasteButton.setText(""); //$NON-NLS-1$ ivjPasteButton.setMargin(new Insets(0, 0, 0, 0)); ivjPasteButton.setHorizontalTextPosition(SwingConstants.CENTER); ivjPasteButton.setVerticalTextPosition(SwingConstants.BOTTOM); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjPasteButton; } /** * Return the PasteMenuItem property value. * @return JMenuItem */ private JMenuItem getPasteMenuItem() { if (ivjPasteMenuItem == null) { try { ivjPasteMenuItem = new JMenuItem(); ivjPasteMenuItem.setName("PasteMenuItem"); //$NON-NLS-1$ ivjPasteMenuItem.setText(CALIDEMessages.getString("CALIDE.PasteMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjPasteMenuItem; } /** * Return the RedoMenuItem property value. * @return JMenuItem */ private JMenuItem getRedoMenuItem() { if (ivjRedoMenuItem == null) { try { ivjRedoMenuItem = new JMenuItem(); ivjRedoMenuItem.setName("RedoMenuItem"); //$NON-NLS-1$ ivjRedoMenuItem.setText(CALIDEMessages.getString("CALIDE.RedoMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjRedoMenuItem; } /** * Return the Save_AsMenuItem property value. * @return JMenuItem */ private JMenuItem getSave_AsMenuItem() { if (ivjSave_AsMenuItem == null) { try { ivjSave_AsMenuItem = new JMenuItem(); ivjSave_AsMenuItem.setName("Save_AsMenuItem"); //$NON-NLS-1$ ivjSave_AsMenuItem.setText(CALIDEMessages.getString("CALIDE.Save_AsMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjSave_AsMenuItem; } /** * Return the SaveMenuItem property value. * @return JMenuItem */ private JMenuItem getSaveMenuItem() { if (ivjSaveMenuItem == null) { try { ivjSaveMenuItem = new JMenuItem(); ivjSaveMenuItem.setName("SaveMenuItem"); //$NON-NLS-1$ ivjSaveMenuItem.setText(CALIDEMessages.getString("CALIDE.SaveMenuITem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjSaveMenuItem; } /** * Return the Select_AllMenuItem property value. * @return JMenuItem */ private JMenuItem getSelect_AllMenuItem() { if (ivjSelect_AllMenuItem == null) { try { ivjSelect_AllMenuItem = new JMenuItem(); ivjSelect_AllMenuItem.setName("Select_AllMenuItem"); //$NON-NLS-1$ ivjSelect_AllMenuItem.setText(CALIDEMessages.getString("CALIDE.Select_AllMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjSelect_AllMenuItem; } /** * Return the StatusbarMenuItem property value. * @return JMenuItem */ private JMenuItem getStatusbarMenuItem() { if (ivjStatusbarMenuItem == null) { try { ivjStatusbarMenuItem = new JMenuItem(); ivjStatusbarMenuItem.setName("StatusbarMenuItem"); //$NON-NLS-1$ ivjStatusbarMenuItem.setText(CALIDEMessages.getString("CALIDE.StatusbarMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjStatusbarMenuItem; } /** * Return the StatusBarPane property value. * @return JPanel */ private JPanel getStatusBarPane() { if (ivjStatusBarPane == null) { try { ivjStatusBarPane = new JPanel(); ivjStatusBarPane.setName("StatusBarPane"); //$NON-NLS-1$ ivjStatusBarPane.setLayout(new BorderLayout()); getStatusBarPane().add(getStatusMsg1(), "West"); //$NON-NLS-1$ getStatusBarPane().add(getStatusMsg2(), "Center"); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjStatusBarPane; } /** * Return the StatusMsg1 property value. * @return JLabel */ private JLabel getStatusMsg1() { if (ivjStatusMsg1 == null) { try { ivjStatusMsg1 = new JLabel(); ivjStatusMsg1.setName("StatusMsg1"); //$NON-NLS-1$ ivjStatusMsg1.setBorder(new EtchedBorder()); ivjStatusMsg1.setText(CALIDEMessages.getString("CALIDE.ReadyStatusMsg")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjStatusMsg1; } /** * Return the StatusMsg2 property value. * @return JLabel */ private JLabel getStatusMsg2() { if (ivjStatusMsg2 == null) { try { ivjStatusMsg2 = new JLabel(); ivjStatusMsg2.setName("StatusMsg2"); //$NON-NLS-1$ ivjStatusMsg2.setBorder(new EtchedBorder()); ivjStatusMsg2.setText(""); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjStatusMsg2; } /** * Return the ToolbarMenuItem property value. * @return JMenuItem */ private JMenuItem getToolbarMenuItem() { if (ivjToolbarMenuItem == null) { try { ivjToolbarMenuItem = new JMenuItem(); ivjToolbarMenuItem.setName("ToolbarMenuItem"); //$NON-NLS-1$ ivjToolbarMenuItem.setText(CALIDEMessages.getString("CALIDE.ToolbarMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjToolbarMenuItem; } /** * Return the ToolBarPane property value. * @return JToolBar */ private JToolBar getToolBarPane() { if (ivjToolBarPane == null) { try { ivjToolBarPane = new JToolBar(); ivjToolBarPane.setName("ToolBarPane"); //$NON-NLS-1$ ivjToolBarPane.add(getCutButton()); ivjToolBarPane.add(getCopyButton()); ivjToolBarPane.add(getPasteButton()); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjToolBarPane; } /** * Return the UndoMenuItem property value. * @return JMenuItem */ private JMenuItem getUndoMenuItem() { if (ivjUndoMenuItem == null) { try { ivjUndoMenuItem = new JMenuItem(); ivjUndoMenuItem.setName("UndoMenuItem"); //$NON-NLS-1$ ivjUndoMenuItem.setText(CALIDEMessages.getString("CALIDE.UndoMenuItem")); //$NON-NLS-1$ } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjUndoMenuItem; } /** * Return the ViewMenu property value. * @return JMenu */ private JMenu getViewMenu() { if (ivjViewMenu == null) { try { ivjViewMenu = new JMenu(); ivjViewMenu.setName("ViewMenu"); //$NON-NLS-1$ ivjViewMenu.setText(CALIDEMessages.getString("CALIDE.ViewMenu")); //$NON-NLS-1$ ivjViewMenu.setMargin(new Insets(2, 0, 2, 0)); ivjViewMenu.add(getToolbarMenuItem()); ivjViewMenu.add(getStatusbarMenuItem()); } catch (Throwable ivjExc) { handleException(ivjExc); } } return ivjViewMenu; } /** * Called whenever the part throws an exception. * @param exception Throwable */ private void handleException(Throwable exception) { /* Uncomment the following lines to print uncaught exceptions to stdout */ System.out.println("--------- UNCAUGHT EXCEPTION ---------"); //$NON-NLS-1$ exception.printStackTrace(System.out); } /** * Initializes connections * @exception Exception The exception description. */ private void initConnections() throws Exception { getExitMenuItem().addActionListener(ivjEventHandler); getToolbarMenuItem().addActionListener(ivjEventHandler); getStatusbarMenuItem().addActionListener(ivjEventHandler); getAbout_BoxMenuItem().addActionListener(ivjEventHandler); getOpenMenuItem().addActionListener(ivjEventHandler); getSaveMenuItem().addActionListener(ivjEventHandler); getSave_AsMenuItem().addActionListener(ivjEventHandler); } /** * Initialize the class. */ private void initialize() { try { setName("CALIDE"); //$NON-NLS-1$ setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setJMenuBar(getCALIDEJMenuBar()); setSize(460, 300); setContentPane(getJFrameContentPane()); initConnections(); } catch (Throwable ivjExc) { handleException(ivjExc); } updateTitle(); } /** * Starts the application. * @param args an array of command-line arguments */ public static void main(String[] args) { try { /* Set native look and feel */ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); // Make stuff even more like Windows if (UIManager.getSystemLookAndFeelClassName().endsWith("WindowsLookAndFeel")) { //$NON-NLS-1$ Font systemPlain11font = new Font("Dialog", Font.PLAIN, 11); //$NON-NLS-1$ //set menu fonts UIManager.put("Menu.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("MenuItem.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("CheckBoxMenuItem.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("RadioButtonMenuItem.font", systemPlain11font); //$NON-NLS-1$ //set fonts for buttons & check boxes UIManager.put("Button.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("RadioButton.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("ToggleButton.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("CheckBox.font", systemPlain11font); //$NON-NLS-1$ //set fonts for text UIManager.put("Label.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("TabbedPane.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("List.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("Tree.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("TextField.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("TextArea.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("PasswordField.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("ComboBox.font", systemPlain11font); //$NON-NLS-1$ UIManager.put("Slider.font", systemPlain11font); //$NON-NLS-1$ } /* Create the frame */ CALIDE aCALIDE = new CALIDE(); /* Calculate the screen size */ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); /* Create the splash screen */ CALIDESplashScreen aCALIDESplashScreen = new CALIDESplashScreen(); aCALIDESplashScreen.pack(); /* Center splash screen */ Dimension splashScreenSize = aCALIDESplashScreen.getSize(); if (splashScreenSize.height > screenSize.height) { splashScreenSize.height = screenSize.height; } if (splashScreenSize.width > screenSize.width) { splashScreenSize.width = screenSize.width; } aCALIDESplashScreen.setLocation((screenSize.width - splashScreenSize.width) / 2, (screenSize.height - splashScreenSize.height) / 2); aCALIDESplashScreen.setVisible(true); try { Thread.sleep(3000); } catch (InterruptedException ie) { } aCALIDESplashScreen.dispose(); /* Pack frame on the screen */ //aCALIDE.pack(); /* Center frame on the screen */ aCALIDE.setSize((int) (screenSize.width * 0.8), (int) (screenSize.height * 0.8)); Dimension frameSize = aCALIDE.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } aCALIDE.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); /* Add a windowListener for the windowClosedEvent */ aCALIDE.addWindowListener(new WindowAdapter() { @Override public void windowClosed(WindowEvent e) { System.exit(0); } }); aCALIDE.setVisible(true); } catch (Throwable exception) { System.err.println("Exception occurred in main() of CALIDE"); //$NON-NLS-1$ exception.printStackTrace(System.out); } } /** * Open a document in the editor */ public void openMenuItem_ActionPerformed() { // Ask user for a file name JFileChooser filePicker = new JFileChooser(); CALSourceFileFilter CALFileFilter = new CALSourceFileFilter(); filePicker.addChoosableFileFilter(CALFileFilter); filePicker.setFileFilter(CALFileFilter); StringBuilder content = null; File inFile = null; if (filePicker.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { inFile = filePicker.getSelectedFile(); content = new StringBuilder((int) inFile.length()); // Dodgy cast! BufferedReader breader = null; try { // Load the chosen file into the editor breader = new BufferedReader(new FileReader(inFile)); while (breader.ready()) { content.append(breader.readLine()); content.append('\n'); } // Remember the source file sourceFile = inFile; // Set content into editor getEditorPane().setContent(content.toString()); // Update the title modified = false; updateTitle(); } catch (IOException e) { JOptionPane.showMessageDialog(this, CALIDEMessages.getString("CALIDE.FailedToReadFile_Msg") + inFile, CALIDEMessages.getString("CALIDE.FailedToReadFile_Title"), JOptionPane.ERROR_MESSAGE); //$NON-NLS-1$ //$NON-NLS-2$ return; } finally { if (breader != null) { try { breader.close(); } catch (Exception e) { } // Ignore exceptions in tidy up } } } } /** * Save content to another file */ public void save_AsMenuItem_ActionPerformed() { // Ask user for a file name JFileChooser filePicker = new JFileChooser(); CALSourceFileFilter CALFileFilter = new CALSourceFileFilter(); filePicker.addChoosableFileFilter(CALFileFilter); filePicker.setFileFilter(CALFileFilter); String content = getEditorPane().getContent(); File outFile = null; if (filePicker.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) { outFile = filePicker.getSelectedFile(); if (!saveToFile(outFile, content)) { JOptionPane.showMessageDialog(this, CALIDEMessages.getString("CALIDE.FailedToWriteFile_Msg") + outFile, CALIDEMessages.getString("CALIDE.FailedToWriteFile_Title"), JOptionPane.ERROR_MESSAGE); //$NON-NLS-1$ //$NON-NLS-2$ } else { // Remember the source file has changed if (sourceFile != null) { sourceFile = outFile; } // No longer modified modified = false; updateTitle(); } } } /** * Save document */ public void saveMenuItem_ActionPerformed() { // Save to original file saveToFile(sourceFile, getEditorPane().getContent()); // No longer modified modified = false; updateTitle(); } /** * Save content to the given file * Creation date: (5/4/01 5:28:42 PM) * @return boolean whether successful * @param outFile File the file to write to * @param content String the content to write out */ private boolean saveToFile(File outFile, String content) { BufferedWriter bwriter = null; try { // Load the chosen file into the editor bwriter = new BufferedWriter(new FileWriter(outFile)); bwriter.write(content); } catch (IOException e) { return false; } finally { if (bwriter != null) { try { bwriter.close(); } catch (Exception e) { } // Ignore exceptions in tidy up } } return true; } public void showAboutBox() { /* Create the AboutBox dialog */ CALIDEAboutBox aCALIDEAboutBox = new CALIDEAboutBox(); Dimension dialogSize = aCALIDEAboutBox.getPreferredSize(); Dimension frameSize = getSize(); Point loc = getLocation(); aCALIDEAboutBox.setLocation((frameSize.width - dialogSize.width) / 2 + loc.x, (frameSize.height - dialogSize.height) / 2 + loc.y); aCALIDEAboutBox.setModal(true); aCALIDEAboutBox.setVisible(true); } /** * Update the title to show the file being edited and the dirty flag. * Creation date: (5/7/01 7:26:13 AM) */ private void updateTitle() { StringBuilder title = new StringBuilder("Calide"); //$NON-NLS-1$ if (sourceFile != null) { try { title.append(" - " + sourceFile.getCanonicalFile()); //$NON-NLS-1$ } catch (IOException e) { } } // Dirty flag if (modified) { title.append(" *"); //$NON-NLS-1$ } // Set the new title setTitle(title.toString()); } public void viewStatusBar() { /* Hide or show the statusbar */ getStatusBarPane().setVisible(!(getStatusBarPane().isVisible())); } public void viewToolBar() { /* Hide or show the toolbar */ getToolBarPane().setVisible(!(getToolBarPane().isVisible())); } }