blob: dd60e3dd13df45775ec222655cf0973805a56387 [file] [log] [blame]
/*******************************************************************************
* 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
}
}