|
What this is
Other links
The source code
// $Id: SynchronizeDialog.java,v 1.6 2004/09/08 19:31:37 mvw Exp $
// Copyright (c) 1996-2004 The Regents of the University of California. All
// Rights Reserved. Permission to use, copy, modify, and distribute this
// software and its documentation without fee, and without a written
// agreement is hereby granted, provided that the above copyright notice
// and this paragraph appear in all copies. This software program and
// documentation are copyrighted by The Regents of the University of
// California. The software program and documentation are supplied "AS
// IS", without any accompanying services from The Regents. The Regents
// does not warrant that the operation of the program will be
// uninterrupted or error-free. The end-user understands that the program
// was developed for research purposes and is advised not to rely
// exclusively on the program for any reason. IN NO EVENT SHALL THE
// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
package org.argouml.language.java.ui;
import java.awt.Cursor;
import java.awt.event.WindowAdapter;
import java.awt.GridBagLayout;
/**
* This dialog offers the controls to synchronize model and code.
*
* @author Thomas Neustupny
*/
public class SynchronizeDialog extends javax.swing.JDialog {
/**
* Creates new form SynchronizeDialog.
*
* @param parent the parent frame
* @param modal true if modal
*/
public SynchronizeDialog(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
buttonPause.requestFocus();
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() { //GEN-BEGIN:initComponents
java.awt.GridBagConstraints gridBagConstraints;
labelModel = new javax.swing.JLabel();
actionPanel = new javax.swing.JPanel();
labelUpdCod = new javax.swing.JLabel();
buttonGen = new javax.swing.JButton();
buttonRenCod = new javax.swing.JButton();
labelUpdMod = new javax.swing.JLabel();
buttonImp = new javax.swing.JButton();
buttonRenMod = new javax.swing.JButton();
labelCode = new javax.swing.JLabel();
tableModel = new javax.swing.JTable();
tableCode = new javax.swing.JTable();
labelStatus = new javax.swing.JLabel();
bottomPanel = new javax.swing.JPanel();
buttonPause = new javax.swing.JButton();
buttonClose = new javax.swing.JButton();
getContentPane().setLayout(new GridBagLayout());
setTitle("Synchronize Model/Code Dialog");
addWindowListener(new WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
closeDialog(evt);
}
});
labelModel.setText("found in model only:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
getContentPane().add(labelModel, gridBagConstraints);
actionPanel.setLayout(new java.awt.GridLayout(0, 1, 2, 2));
labelUpdCod.setText("code update:");
actionPanel.add(labelUpdCod);
buttonGen.setText("Generate");
buttonGen.setToolTipText(
"Adds the selected model element to the source code");
buttonGen.setEnabled(false);
actionPanel.add(buttonGen);
buttonRenCod.setText("Rename");
buttonRenCod.setToolTipText(
"Renames all occurences of the selected source code element"
+ " to the name of the selected model element");
buttonRenCod.setEnabled(false);
actionPanel.add(buttonRenCod);
labelUpdMod.setText("model update:");
actionPanel.add(labelUpdMod);
buttonImp.setText("Import");
buttonImp.setToolTipText(
"Adds the selected source code element to the model");
buttonImp.setEnabled(false);
actionPanel.add(buttonImp);
buttonRenMod.setText("Rename");
buttonRenMod.setToolTipText(
"Renames all occurences of the selected model element to "
+ "the name of the selected source code element" );
buttonRenMod.setEnabled(false);
actionPanel.add(buttonRenMod);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridheight = 2;
gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
getContentPane().add(actionPanel, gridBagConstraints);
labelCode.setText("found in code only:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
getContentPane().add(labelCode, gridBagConstraints);
tableModel.setBorder(new javax.swing.border.EtchedBorder());
tableModel.setForeground(new java.awt.Color(0, 0, 0));
tableModel.setModel(new ModelTableModel());
tableModel.setEnabled(false);
tableModel.addKeyListener(new java.awt.event.KeyAdapter()
{
public void keyPressed(java.awt.event.KeyEvent evt) {
tableModelKeyPressed(evt);
}
});
tableModel.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(java.awt.event.MouseEvent evt) {
tableModelMousePressed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
getContentPane().add(tableModel, gridBagConstraints);
tableCode.setBorder(new javax.swing.border.EtchedBorder());
tableCode.setModel(
new javax.swing.table.DefaultTableModel(new Object [][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null}
},
new String [] {
"Title 1",
"Title 2",
"Title 3"
}
)
{
private boolean[] canEdit = new boolean [] {
false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
tableCode.setEnabled(false);
tableCode.addKeyListener(new java.awt.event.KeyAdapter()
{
public void keyPressed(java.awt.event.KeyEvent evt) {
tableCodeKeyPressed(evt);
}
});
tableCode.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(java.awt.event.MouseEvent evt) {
tableCodeMousePressed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 1;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
getContentPane().add(tableCode, gridBagConstraints);
labelStatus.setBackground(new java.awt.Color(204, 204, 204));
labelStatus.setFont(new java.awt.Font("Dialog", 0, 10));
labelStatus.setForeground(new java.awt.Color(0, 0, 0));
labelStatus.setText("Running...");
labelStatus.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
getContentPane().add(labelStatus, gridBagConstraints);
bottomPanel.setLayout(new java.awt.GridLayout(1, 0, 2, 2));
buttonPause.setText("Pause");
buttonPause.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonPauseActionPerformed(evt);
}
});
bottomPanel.add(buttonPause);
buttonClose.setText("Close");
buttonClose.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonCloseActionPerformed(evt);
}
});
bottomPanel.add(buttonClose);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
getContentPane().add(bottomPanel, gridBagConstraints);
pack();
} //GEN-END:initComponents
private void buttonPauseActionPerformed(java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_buttonPauseActionPerformed
tableModel.setEnabled(isBusy);
tableCode.setEnabled(isBusy);
if (isBusy) {
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
updateActionButtons();
labelStatus.setText("Paused.");
buttonPause.setText("Continue");
} else {
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
buttonGen.setEnabled(false);
buttonImp.setEnabled(false);
buttonRenMod.setEnabled(false);
buttonRenCod.setEnabled(false);
labelStatus.setText("Running...");
buttonPause.setText("Pause");
}
buttonPause.requestFocus();
isBusy = !isBusy;
} //GEN-LAST:event_buttonPauseActionPerformed
private void tableModelKeyPressed(java.awt.event.KeyEvent evt)
{ //GEN-FIRST:event_tableModelKeyPressed
updateActionButtons();
} //GEN-LAST:event_tableModelKeyPressed
private void tableModelMousePressed(java.awt.event.MouseEvent evt)
{ //GEN-FIRST:event_tableModelMousePressed
updateActionButtons();
} //GEN-LAST:event_tableModelMousePressed
private void tableCodeKeyPressed(java.awt.event.KeyEvent evt)
{ //GEN-FIRST:event_tableCodeKeyPressed
updateActionButtons();
} //GEN-LAST:event_tableCodeKeyPressed
private void tableCodeMousePressed(java.awt.event.MouseEvent evt)
{ //GEN-FIRST:event_tableCodeMousePressed
updateActionButtons();
} //GEN-LAST:event_tableCodeMousePressed
private void buttonCloseActionPerformed(java.awt.event.ActionEvent evt)
{ //GEN-FIRST:event_buttonCloseActionPerformed
setVisible(false);
dispose();
} //GEN-LAST:event_buttonCloseActionPerformed
/** Closes the dialog */
private void closeDialog(java.awt.event.WindowEvent evt)
{ //GEN-FIRST:event_closeDialog
setVisible(false);
dispose();
} //GEN-LAST:event_closeDialog
private void updateActionButtons() {
boolean renameable =
tableModel.getSelectedRowCount() == 1
&& tableCode.getSelectedRowCount() == 1;
if (tableModel.isEnabled()) {
buttonGen.setEnabled(tableModel.getSelectedRowCount() > 0);
buttonRenMod.setEnabled(renameable);
}
if (tableCode.isEnabled()) {
buttonImp.setEnabled(tableCode.getSelectedRowCount() > 0);
buttonRenCod.setEnabled(renameable);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
new SynchronizeDialog(new javax.swing.JFrame(), true).show();
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton buttonGen;
private javax.swing.JTable tableModel;
private javax.swing.JButton buttonImp;
private javax.swing.JButton buttonRenMod;
private javax.swing.JButton buttonRenCod;
private javax.swing.JPanel actionPanel;
private javax.swing.JLabel labelUpdMod;
private javax.swing.JButton buttonClose;
private javax.swing.JButton buttonPause;
private javax.swing.JLabel labelUpdCod;
private javax.swing.JTable tableCode;
private javax.swing.JPanel bottomPanel;
private javax.swing.JLabel labelModel;
private javax.swing.JLabel labelStatus;
private javax.swing.JLabel labelCode;
// End of variables declaration//GEN-END:variables
private boolean isBusy = true;
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.