| /******************************************************************************* |
| * Copyright (c) 2001, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jem.internal.proxy.remote; |
| /* |
| |
| |
| */ |
| |
| import java.awt.*; |
| /** |
| * This is an AWT message dialog. It will only be used |
| * if not running in the workbench by the debug mode helper. |
| * It won't be loaded unless AWT is available, so it can be |
| * distributed without causing problems on systems that |
| * don't have AWT because it won't be loaded in that case. |
| */ |
| class MessageDialog extends Dialog { |
| /** |
| * Comment for <code>serialVersionUID</code> |
| * |
| * @since 1.1.0 |
| */ |
| private static final long serialVersionUID = 2547670349372067345L; |
| private java.awt.Panel ivjContentsPane = null; |
| IvjEventHandler ivjEventHandler = new IvjEventHandler(); |
| private java.awt.TextArea ivjTextArea1 = null; |
| private java.awt.Button ivjButton1 = null; |
| public int result = 2; // Nothing hit is the same as button 2. |
| private java.awt.Button ivjButton2 = null; |
| |
| class IvjEventHandler implements java.awt.event.ActionListener, java.awt.event.WindowListener { |
| public void actionPerformed(java.awt.event.ActionEvent e) { |
| if (e.getSource() == MessageDialog.this.getButton1()) |
| connEtoC2(e); |
| if (e.getSource() == MessageDialog.this.getButton2()) |
| connEtoC3(e); |
| }; |
| public void windowActivated(java.awt.event.WindowEvent e) {}; |
| public void windowClosed(java.awt.event.WindowEvent e) {}; |
| public void windowClosing(java.awt.event.WindowEvent e) { |
| if (e.getSource() == MessageDialog.this) |
| connEtoC1(e); |
| }; |
| public void windowDeactivated(java.awt.event.WindowEvent e) {}; |
| public void windowDeiconified(java.awt.event.WindowEvent e) {}; |
| public void windowIconified(java.awt.event.WindowEvent e) {}; |
| public void windowOpened(java.awt.event.WindowEvent e) {}; |
| }; |
| /** |
| * MessageDialog constructor comment. |
| * @param owner java.awt.Frame |
| * @param title java.lang.String |
| * @param modal boolean |
| */ |
| public MessageDialog(Frame owner, String title, boolean modal, String msg, String button1, String button2) { |
| super(owner, title, modal); |
| |
| initialize(); |
| getTextArea1().setText(msg); |
| getButton1().setLabel(button1); |
| if (button2 != null) |
| getButton2().setLabel(button2); |
| else { |
| // We only want one button, so remove button2 |
| getContentsPane().remove(getButton2()); |
| } |
| |
| } |
| /** |
| * Comment |
| */ |
| public void button1_ActionPerformed() { |
| result = 1; |
| setVisible(false); |
| return; |
| } |
| /** |
| * Comment |
| */ |
| public void button2_ActionPerformed() { |
| result = 2; |
| setVisible(false); |
| return; |
| } |
| /** |
| * connEtoC1: (MessageDialog.window.windowClosing(java.awt.event.WindowEvent) --> MessageDialog.dispose()V) |
| * @param arg1 java.awt.event.WindowEvent |
| */ |
| /* WARNING: THIS METHOD WILL BE REGENERATED. */ |
| private void connEtoC1(java.awt.event.WindowEvent arg1) { |
| try { |
| // user code begin {1} |
| // user code end |
| this.dispose(); |
| // user code begin {2} |
| // user code end |
| } catch (java.lang.Throwable ivjExc) { |
| // user code begin {3} |
| // user code end |
| handleException(ivjExc); |
| } |
| } |
| /** |
| * connEtoC2: (Button1.action.actionPerformed(java.awt.event.ActionEvent) --> MessageDialog.button1_ActionPerformed()V) |
| * @param arg1 java.awt.event.ActionEvent |
| */ |
| /* WARNING: THIS METHOD WILL BE REGENERATED. */ |
| private void connEtoC2(java.awt.event.ActionEvent arg1) { |
| try { |
| // user code begin {1} |
| // user code end |
| this.button1_ActionPerformed(); |
| // user code begin {2} |
| // user code end |
| } catch (java.lang.Throwable ivjExc) { |
| // user code begin {3} |
| // user code end |
| handleException(ivjExc); |
| } |
| } |
| /** |
| * connEtoC3: (Button2.action.actionPerformed(java.awt.event.ActionEvent) --> MessageDialog.button2_ActionPerformed()V) |
| * @param arg1 java.awt.event.ActionEvent |
| */ |
| /* WARNING: THIS METHOD WILL BE REGENERATED. */ |
| private void connEtoC3(java.awt.event.ActionEvent arg1) { |
| try { |
| // user code begin {1} |
| // user code end |
| this.button2_ActionPerformed(); |
| // user code begin {2} |
| // user code end |
| } catch (java.lang.Throwable ivjExc) { |
| // user code begin {3} |
| // user code end |
| handleException(ivjExc); |
| } |
| } |
| /** |
| * Display dialog. |
| * @param args java.lang.String[] |
| */ |
| public static int doit(String title, String message, String button1, String button2) { |
| try { |
| Frame f = new java.awt.Frame(title); |
| f.setVisible(true); |
| // Need to massage the method since AWT doesn't have wordwrap. This is for left to right only. |
| String msg = message; |
| if (message.length() > 95) { |
| msg = ""; //$NON-NLS-1$ |
| nextSeg: while (message.length() > 95) { |
| // Too wide, wrapping should be done. This is just a rough guess. |
| for (int i=95; 0<=i; i--) { |
| if (message.charAt(i) == ' ') { |
| // Break here. |
| msg = msg + message.substring(0, i) + '\n'; |
| if (i+1 < message.length()) |
| message = message.substring(i+1); |
| else |
| message = ""; //$NON-NLS-1$ |
| continue nextSeg; |
| } |
| } |
| // If we got here, then there weren't any spaces in the first 80, so look right for first space. |
| for (int i=96; i<message.length(); i++) { |
| if (message.charAt(i) == ' ') { |
| // Break here |
| msg = msg + message.substring(0, i) + '\n'; |
| if (i+1 < message.length()) |
| message = message.substring(i+1); |
| else |
| message = ""; //$NON-NLS-1$ |
| continue nextSeg; |
| } |
| } |
| } |
| msg += message; // Now put on whatever is left. |
| } |
| MessageDialog aMessageDialog = new MessageDialog(f,title,true, msg, button1, button2); |
| aMessageDialog.pack(); |
| aMessageDialog.getToolkit().beep(); |
| aMessageDialog.setVisible(true); |
| f.dispose(); |
| aMessageDialog.dispose(); |
| |
| return aMessageDialog.result; |
| } catch (Exception exception) { |
| } |
| |
| return 2; |
| } |
| /** |
| * Return the Button1 property value. |
| * @return java.awt.Button |
| */ |
| /* WARNING: THIS METHOD WILL BE REGENERATED. */ |
| private java.awt.Button getButton1() { |
| if (ivjButton1 == null) { |
| try { |
| ivjButton1 = new java.awt.Button(); |
| ivjButton1.setName("Button1"); //$NON-NLS-1$ |
| ivjButton1.setLabel("Button1"); //$NON-NLS-1$ |
| // user code begin {1} |
| // user code end |
| } catch (java.lang.Throwable ivjExc) { |
| // user code begin {2} |
| // user code end |
| handleException(ivjExc); |
| } |
| } |
| return ivjButton1; |
| } |
| /** |
| * Return the Button2 property value. |
| * @return java.awt.Button |
| */ |
| /* WARNING: THIS METHOD WILL BE REGENERATED. */ |
| private java.awt.Button getButton2() { |
| if (ivjButton2 == null) { |
| try { |
| ivjButton2 = new java.awt.Button(); |
| ivjButton2.setName("Button2"); //$NON-NLS-1$ |
| ivjButton2.setLabel("Button2"); //$NON-NLS-1$ |
| // user code begin {1} |
| // user code end |
| } catch (java.lang.Throwable ivjExc) { |
| // user code begin {2} |
| // user code end |
| handleException(ivjExc); |
| } |
| } |
| return ivjButton2; |
| } |
| /** |
| * Return the ContentsPane property value. |
| * @return java.awt.Panel |
| */ |
| /* WARNING: THIS METHOD WILL BE REGENERATED. */ |
| private java.awt.Panel getContentsPane() { |
| if (ivjContentsPane == null) { |
| try { |
| ivjContentsPane = new java.awt.Panel(); |
| ivjContentsPane.setName("ContentsPane"); //$NON-NLS-1$ |
| ivjContentsPane.setLayout(new java.awt.FlowLayout()); |
| getContentsPane().add(getTextArea1(), getTextArea1().getName()); |
| getContentsPane().add(getButton1(), getButton1().getName()); |
| getContentsPane().add(getButton2(), getButton2().getName()); |
| // user code begin {1} |
| // user code end |
| } catch (java.lang.Throwable ivjExc) { |
| // user code begin {2} |
| // user code end |
| handleException(ivjExc); |
| } |
| } |
| return ivjContentsPane; |
| } |
| /** |
| * Return the TextArea1 property value. |
| * @return java.awt.TextArea |
| */ |
| /* WARNING: THIS METHOD WILL BE REGENERATED. */ |
| private java.awt.TextArea getTextArea1() { |
| if (ivjTextArea1 == null) { |
| try { |
| ivjTextArea1 = new TextArea(); |
| ivjTextArea1.setName("TextArea1"); //$NON-NLS-1$ |
| ivjTextArea1.setText("TextArea1"); //$NON-NLS-1$ |
| ivjTextArea1.setRows(20); |
| ivjTextArea1.setColumns(100); |
| ivjTextArea1.setEditable(false); |
| // user code begin {1} |
| // user code end |
| } catch (java.lang.Throwable ivjExc) { |
| // user code begin {2} |
| // user code end |
| handleException(ivjExc); |
| } |
| } |
| return ivjTextArea1; |
| } |
| /** |
| * Called whenever the part throws an exception. |
| * @param exception java.lang.Throwable |
| */ |
| private void handleException(java.lang.Throwable exception) { |
| |
| /* Uncomment the following lines to print uncaught exceptions to stdout */ |
| // ProxyPlugin.getPlugin().getMsgLogger().write(Level.WARNING,"--------- UNCAUGHT EXCEPTION ---------"); |
| // ProxyPlugin.getPlugin().getMsgLogger().write(Level.WARNING,exception); |
| } |
| /** |
| * Initializes connections |
| * @exception java.lang.Exception The exception description. |
| */ |
| /* WARNING: THIS METHOD WILL BE REGENERATED. */ |
| private void initConnections() throws java.lang.Exception { |
| // user code begin {1} |
| // user code end |
| this.addWindowListener(ivjEventHandler); |
| getButton1().addActionListener(ivjEventHandler); |
| getButton2().addActionListener(ivjEventHandler); |
| } |
| /** |
| * Initialize the class. |
| */ |
| /* WARNING: THIS METHOD WILL BE REGENERATED. */ |
| private void initialize() { |
| try { |
| // user code begin {1} |
| // user code end |
| setName("MessageDialog"); //$NON-NLS-1$ |
| setLayout(new java.awt.BorderLayout()); |
| setSize(426, 240); |
| add(getContentsPane(), "Center"); //$NON-NLS-1$ |
| initConnections(); |
| } catch (java.lang.Throwable ivjExc) { |
| handleException(ivjExc); |
| } |
| // user code begin {2} |
| // user code end |
| } |
| } |