/*
* 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()));
}
}