| 1 30 31 package com.genimen.djeneric.tools.modeler; 32 33 import java.awt.AWTEvent ; 34 import java.awt.BorderLayout ; 35 import java.awt.Color ; 36 import java.awt.Component ; 37 import java.awt.Dimension ; 38 import java.awt.Font ; 39 import java.awt.Image ; 40 import java.awt.Toolkit ; 41 import java.awt.event.ActionEvent ; 42 import java.awt.event.AdjustmentEvent ; 43 import java.awt.event.InputEvent ; 44 import java.awt.event.KeyEvent ; 45 import java.awt.event.KeyListener ; 46 import java.awt.event.MouseEvent ; 47 import java.awt.event.WindowEvent ; 48 import java.awt.print.PageFormat ; 49 import java.awt.print.PrinterJob ; 50 import java.io.BufferedReader ; 51 import java.io.BufferedWriter ; 52 import java.io.ByteArrayOutputStream ; 53 import java.io.File ; 54 import java.io.FileOutputStream ; 55 import java.io.FileReader ; 56 import java.io.FileWriter ; 57 import java.io.IOException ; 58 import java.net.URL ; 59 import java.util.ArrayList ; 60 61 import javax.imageio.ImageIO ; 62 import javax.swing.ButtonGroup ; 63 import javax.swing.ImageIcon ; 64 import javax.swing.JButton ; 65 import javax.swing.JFileChooser ; 66 import javax.swing.JLabel ; 67 import javax.swing.JMenu ; 68 import javax.swing.JMenuBar ; 69 import javax.swing.JMenuItem ; 70 import javax.swing.JOptionPane ; 71 import javax.swing.JPanel ; 72 import javax.swing.JRadioButtonMenuItem ; 73 import javax.swing.JScrollBar ; 74 import javax.swing.JScrollPane ; 75 import javax.swing.JSlider ; 76 import javax.swing.JTabbedPane ; 77 import javax.swing.JTextArea ; 78 import javax.swing.RepaintManager ; 79 import javax.swing.event.ChangeEvent ; 80 81 import com.genimen.djeneric.language.Messages; 82 import com.genimen.djeneric.repository.DjDomain; 83 import com.genimen.djeneric.repository.DjExtent; 84 import com.genimen.djeneric.repository.DjModelView; 85 import com.genimen.djeneric.repository.DjPackage; 86 import com.genimen.djeneric.repository.DjPersistenceManager; 87 import com.genimen.djeneric.repository.DjPersistenceManagerFactory; 88 import com.genimen.djeneric.repository.DjSession; 89 import com.genimen.djeneric.repository.exceptions.CatalogException; 90 import com.genimen.djeneric.repository.exceptions.DjenericException; 91 import com.genimen.djeneric.structure.EditorDefinition; 92 import com.genimen.djeneric.structure.ResourceDefinition; 93 import com.genimen.djeneric.structure.ScriptDefinition; 94 import com.genimen.djeneric.tools.common.AboutDialog; 95 import com.genimen.djeneric.tools.common.DjenericTool; 96 import com.genimen.djeneric.tools.common.ExportSelectionDialog; 97 import com.genimen.djeneric.tools.io.DjenericDocumentHandler; 98 import com.genimen.djeneric.tools.modeler.diagrammer.ColorChooserDialog; 99 import com.genimen.djeneric.tools.modeler.diagrammer.ExtentViewer; 100 import com.genimen.djeneric.tools.modeler.diagrammer.PaintPanel; 101 import com.genimen.djeneric.tools.modeler.dialogs.CreateRelationDialog; 102 import com.genimen.djeneric.tools.modeler.dialogs.ExtentSelectorDialog; 103 import com.genimen.djeneric.tools.modeler.dialogs.ImportModeDialog; 104 import com.genimen.djeneric.tools.modeler.dialogs.MergeViewDialog; 105 import com.genimen.djeneric.tools.modeler.dialogs.ModelVersionDialog; 106 import com.genimen.djeneric.tools.modeler.dialogs.OpenDialog; 107 import com.genimen.djeneric.tools.modeler.dialogs.PackageEditorDialog; 108 import com.genimen.djeneric.tools.modeler.dialogs.RoleEditorDialog; 109 import com.genimen.djeneric.tools.modeler.dialogs.SaveAsDialog; 110 import com.genimen.djeneric.tools.modeler.domaineditor.DomainEditor; 111 import com.genimen.djeneric.tools.modeler.extenteditor.ExtentEditor; 112 import com.genimen.djeneric.tools.modeler.io.ModelDocumentHandler; 113 import com.genimen.djeneric.tools.modeler.schemagenerator.SchemaGeneratorDlg; 114 import com.genimen.djeneric.tools.modeler.userperspective.ViewEditor; 115 import com.genimen.djeneric.tools.modeler.util.ModelChecker; 116 import com.genimen.djeneric.tools.modeler.util.ModelDescriber; 117 import com.genimen.djeneric.ui.DjCloseable; 118 import com.genimen.djeneric.ui.DjStatusListener; 119 import com.genimen.djeneric.ui.DjTabbedPane; 120 import com.genimen.djeneric.ui.DjVerticalFlowLayout; 121 import com.genimen.djeneric.ui.Util; 122 import com.genimen.djeneric.util.DjEnvironment; 123 import com.genimen.djeneric.util.DjFileFilter; 124 import com.genimen.djeneric.util.DjLogPrintStream; 125 import com.genimen.djeneric.util.DjLogger; 126 import com.genimen.djeneric.util.DjProgressDisplayer; 127 import com.genimen.djeneric.util.DjVersion; 128 129 class CloseableScrollPane extends JScrollPane implements DjCloseable 130 { 131 private static final long serialVersionUID = 1L; 132 JTabbedPane _owner; 133 134 public CloseableScrollPane(JTabbedPane owner) 135 { 136 _owner = owner; 137 } 138 139 public boolean canClose() 140 { 141 return true; 142 } 143 144 public boolean close() 145 { 146 _owner.remove(this); 147 return true; 148 } 149 } 150 public class ModelEditor extends DjenericTool implements DjStatusListener, DjProgressDisplayer, KeyListener  151 { 152 private static final long serialVersionUID = 1L; 153 private final String PROPERTIES_FILE_NAME = DjEnvironment.getAbsoluteFileName("modeleditor.properties"); 154 private final static String LOG_FILE_NAME = DjEnvironment.getAbsoluteFileName("modeleditor.log"); 155 private final String NOT_MODELER_MSG = Messages.getString("ModelEditor.ModelReadOnlyNoPrivs"); 156 public static final String DUMP_EXTENSION = "dmp"; 157 public static final String MODEL_EXTENSION = "djmm"; 158 public static final String VIEW_EXTENSION = "djvw"; 159 public Font _largerFont = new Font ("Arial", Font.BOLD, 14); 160 public Font _font = new Font ("Arial", Font.BOLD, 11); 161 public Font _smallfont = new Font ("Arial", Font.BOLD, 11); 163 public Color _relationColor = new Color (0x00, 0x00, 0x00); 164 public Color _selectionColor = Color.red; 165 public final static String OK_MSG = Messages.getString("global.Ok"); 166 final static int A4 = 150; 167 final static int A3 = (new Double (A4 / Math.sqrt(2))).intValue(); 168 final static int A5 = (new Double (A4 * Math.sqrt(2) * Math.sqrt(2))).intValue(); 169 public final static String NEW_EXTENT_PREFIX = Messages.getString("ModelEditor.NewExtent1"); 170 JPanel contentPane; 171 BorderLayout borderLayout1 = new BorderLayout (); 172 boolean _inRelationAddMode = false; 173 ExtentViewer _relationMaster = null; 174 ExtentViewer _lastPressedExtentViewer = null; 175 int _lastPressedX = -1; 176 int _lastPressedY = -1; 177 int _lastCorner = -1; 178 DjPersistenceManager _mgr; 179 DjTabbedPane _tabs = new DjTabbedPane(); 180 JPanel _diagramPanel = new JPanel (); 181 BorderLayout borderLayout2 = new BorderLayout (); 182 PaintPanel _paintPanel = new PaintPanel(); 183 private JLabel _lblStatus = new JLabel (); 184 ArrayList _allEditorsOpen = new ArrayList (); 185 int _newCounter = 1; 186 DjModelView _theView = null; 187 int _selectionBoxX1 = -1; 188 int _selectionBoxY1 = -1; 189 int _selectionBoxX2 = -1; 190 int _selectionBoxY2 = -1; 191 int _newIncrement = 0; 192 ViewEditor _viewEditor = new ViewEditor(this); 193 JMenuBar _mainMenu = new JMenuBar (); 194 JMenu _mnuFile = new JMenu (); 195 JMenuItem _mnuExit = new JMenuItem (); 196 JMenuItem _mnuSave = new JMenuItem (); 197 JMenuItem _mnuExport2Image = new JMenuItem (); 198 JMenuItem _mnuSaveAs = new JMenuItem (); 199 JMenuItem _mnuDeleteView = new JMenuItem (); 200 JMenu _mnuTools = new JMenu (); 201 JMenu _mnuExport = new JMenu (); 202 JMenuItem _mnuExportModel = new JMenuItem (); 203 JMenuItem _mnuExportView = new JMenuItem (); 204 JMenu _mnuImport = new JMenu (); 205 JMenuItem _mnuImportView = new JMenuItem (); 206 JMenuItem _mnuImportModel = new JMenuItem (); 207 JMenuItem _mnuOpenView = new JMenuItem (); 208 JMenuItem _mnuNewView = new JMenuItem (); 209 JMenuItem _mnuSaveModelOnly = new JMenuItem (); 210 JPanel jPanel1 = new JPanel (); 211 BorderLayout borderLayout3 = new BorderLayout (); 212 JButton _butAdd = new JButton (); 213 JButton _butEdit = new JButton (); 214 JButton _butAddRelation = new JButton (); 215 JButton _butDelete = new JButton (); 216 JButton _butPrint = new JButton (); 217 JPanel _buttonPanel = new JPanel (); 218 JLabel _spaceHolder = new JLabel (); 219 JButton _butColor = new JButton (); 220 JButton _butViewEditor = new JButton (); 221 DjVerticalFlowLayout verticalFlowLayout1 = new DjVerticalFlowLayout(); 222 JButton _butDomains = new JButton (); 223 JSlider _zoomSlider = new JSlider (); 224 JButton _butHideExtent = new JButton (); 225 JButton _butCreate = new JButton (); 226 JLabel _spaceHolder1 = new JLabel (); 227 JButton _butSave = new JButton (); 228 JPanel jPanel2 = new JPanel (); 229 JLabel _imgLocked = new JLabel (); 230 JMenu _mnuShow = new JMenu (); 231 JRadioButtonMenuItem _mnuShowAlias = new JRadioButtonMenuItem (); 232 JRadioButtonMenuItem _mnuShowQualified = new JRadioButtonMenuItem (); 233 JRadioButtonMenuItem _mnuShowExtent = new JRadioButtonMenuItem (); 234 JRadioButtonMenuItem _mnuShowClass = new JRadioButtonMenuItem (); 235 JMenuItem _mnuPrint = new JMenuItem (); 236 JMenu _mnuHelp = new JMenu (); 237 JMenuItem _mnuAbout = new JMenuItem (); 238 JMenuItem _mnuScript = new JMenuItem (); 239 JMenuItem _mnuQualityCheck = new JMenuItem (); 240 JMenuItem _mnuModelDescr = new JMenuItem (); 241 JMenu _mnuTabs = new JMenu (); 242 JMenuItem _mnuRemoveTab = new JMenuItem (); 243 JMenuItem _mnuNextTab = new JMenuItem (); 244 JMenuItem _mnuPrevTab = new JMenuItem (); 245 JMenuItem _mnuValidateRepository = new JMenuItem (); 246 JMenu _mnuEdit = new JMenu (); 247 JMenuItem _mnuNewExtent = new JMenuItem (); 248 JMenuItem _mnuEditExtent = new JMenuItem (); 249 JMenuItem _mnuDeleteExtent = new JMenuItem (); 250 JMenuItem _mnuNewRelation = new JMenuItem (); 251 JMenuItem _mnuAddExtentFromModel = new JMenuItem (); 252 JMenuItem _mnuDomains = new JMenuItem (); 253 JMenuItem _mnuPackages = new JMenuItem (); 254 JMenuItem _mnuDefineEditors = new JMenuItem (); 255 JMenuItem _mnuModelHistory = new JMenuItem (); 256 JMenuItem _mnuKeyboard = new JMenuItem (); 257 JMenuItem _mnuSelectAll = new JMenuItem (); 258 JMenuItem _mnuHideExtent = new JMenuItem (); 259 String _lastOpenedViewName = ""; 260 JMenuItem mnuMergeView = new JMenuItem (); 261 JPanel jPanel3 = new JPanel (); 262 BorderLayout borderLayout4 = new BorderLayout (); 263 JScrollBar _xscroller = new JScrollBar (); 264 JScrollBar _yscroller = new JScrollBar (); 265 JMenuItem _mnuReloadModel = new JMenuItem (); 266 String _originalViewDefinition = ""; 267 268 274 public ModelEditor(String repositories) 275 { 276 enableEvents(AWTEvent.WINDOW_EVENT_MASK); 277 setIconImage(getImage("modeler.gif")); 278 try 279 { 280 setStatusLabel(_lblStatus); 281 DjPersistenceManagerFactory fact = new DjPersistenceManagerFactory(this, repositories); 282 _mgr = fact.createInstance(); 283 if (!_mgr.getCurrentUser().isAdministrator()) 284 { 285 throw new Exception (Messages.getString("ModelEditor.YouNeedAdminPrivs")); 286 } 287 if (_mgr.getSchemaLoadLog().length() > 0) 288 { 289 JOptionPane.showMessageDialog(this, _mgr.getSchemaLoadLog(), Messages.getString("ModelEditor.SeriousWarnings"), 290 JOptionPane.ERROR_MESSAGE); 291 } 292 _theView = _mgr.createModelView(); 293 _paintPanel.setManager(_mgr); 294 jbInit(); 295 _butSave.setIcon(getImageIcon("save.gif")); 296 _butAdd.setIcon(getImageIcon("add.gif")); 297 _butCreate.setIcon(getImageIcon("new.gif")); 298 _butDelete.setIcon(getImageIcon("delete.gif")); 299 _butHideExtent.setIcon(getImageIcon("remove.gif")); 300 _butEdit.setIcon(getImageIcon("edit.gif")); 301 _butColor.setIcon(getImageIcon("colors.gif")); 302 _butPrint.setIcon(getImageIcon("print.gif")); 303 _butDomains.setIcon(getImageIcon("domain.gif")); 304 _butAddRelation.setIcon(getImageIcon("relation.gif")); 305 _butViewEditor.setIcon(getImageIcon("modelview.gif")); 306 _imgLocked.setIcon(getImageIcon("locked.gif")); 307 _imgLocked.setVisible(false); 308 loadProps(PROPERTIES_FILE_NAME); 309 310 _paintPanel.setViewMode(Integer.parseInt(getProperty("diagrammer.show", String.valueOf(PaintPanel.SHOW_CLASS)))); 311 312 switch (_paintPanel.getViewMode()) 313 { 314 case PaintPanel.SHOW_ALIAS : 315 _mnuShowAlias.setSelected(true); 316 break; 317 case PaintPanel.SHOW_CLASS : 318 _mnuShowClass.setSelected(true); 319 break; 320 case PaintPanel.SHOW_EXTENT : 321 _mnuShowExtent.setSelected(true); 322 break; 323 case PaintPanel.SHOW_QUALIFIED : 324 _mnuShowQualified.setSelected(true); 325 break; 326 default : 327 break; 328 } 329 330 int width = Integer.parseInt(getProperty("window.width", "400")); 331 int height = Integer.parseInt(getProperty("window.height", "400")); 332 setSize(new Dimension (width, height)); 333 checkBordersAndSizes(); 334 addKeyListener(this); 335 _butAddRelation.addKeyListener(this); 336 _diagramPanel.addKeyListener(this); 337 updateTitle(); 338 clear(); 339 if (!_mgr.getCurrentUser().isModeler()) 340 { 341 setStatusMessage(NOT_MODELER_MSG); 342 } 343 _originalViewDefinition = getViewDefinition(); 344 } 345 catch (Exception e) 346 { 347 handleException(e); 348 System.exit(-1); 349 } 350 } 351 352 public void clear() 353 { 354 _viewEditor.clear(); 355 } 356 357 private void updateTitle() 358 { 359 String title = Messages.getString("ModelEditor.DjenericModeler", DjVersion.getVersion(), _theView.getCode()); 360 try 361 { 362 title += " - " + _mgr.getConnectionTitle(); 363 } 364 catch (Exception x) 365 { 366 DjLogger.log(x); 367 } 368 setTitle(title); 369 } 370 371 377 private void jbInit() throws Exception  378 { 379 contentPane = (JPanel ) this.getContentPane(); 380 contentPane.setLayout(borderLayout1); 381 this.setSize(new Dimension (549, 584)); 382 _diagramPanel.setLayout(borderLayout2); 383 _paintPanel.setPreferredSize(new Dimension (100, 100)); 384 _paintPanel.addMouseMotionListener(new java.awt.event.MouseMotionAdapter () 385 { 386 public void mouseDragged(MouseEvent e) 387 { 388 _paintPanel_mouseDragged(e); 389 } 390 391 public void mouseMoved(MouseEvent e) 392 { 393 _paintPanel_mouseMoved(e); 394 } 395 }); 396 _paintPanel.addMouseListener(new java.awt.event.MouseAdapter () 397 { 398 public void mousePressed(MouseEvent e) 399 { 400 _paintPanel_mousePressed(e); 401 } 402 403 public void mouseReleased(MouseEvent e) 404 { 405 _paintPanel_mouseReleased(e); 406 } 407 408 public void mouseClicked(MouseEvent e) 409 { 410 _paintPanel_mouseClicked(e); 411 } 412 }); 413 setStatusMessage(OK_MSG); 414 _mnuFile.setMnemonic('F'); 415 _mnuFile.setText(Messages.getString("global.File")); 416 _mnuExit.setMnemonic('X'); 417 _mnuExit.setText(Messages.getString("global.Exit")); 418 _mnuExit.addActionListener(new java.awt.event.ActionListener () 419 { 420 public void actionPerformed(ActionEvent e) 421 { 422 mnuExit(e); 423 } 424 }); 425 _mnuSave.setToolTipText(Messages.getString("ModelEditor.SavesModelAndDiag")); 426 _mnuSave.setMnemonic('S'); 427 _mnuSave.setText(Messages.getString("ModelEditor.SaveAll")); 428 _mnuSave.setAccelerator(javax.swing.KeyStroke.getKeyStroke(83, java.awt.event.KeyEvent.CTRL_MASK, false)); 429 _mnuSave.addActionListener(new java.awt.event.ActionListener () 430 { 431 public void actionPerformed(ActionEvent e) 432 { 433 mnuSave(e); 434 } 435 }); 436 _mnuExport2Image.setToolTipText(Messages.getString("ModelEditor.ExportDiagram")); 437 _mnuExport2Image.setMnemonic('J'); 438 _mnuExport2Image.setText(Messages.getString("ModelEditor.ExportDiagram")); 439 _mnuExport2Image.addActionListener(new java.awt.event.ActionListener () 440 { 441 public void actionPerformed(ActionEvent e) 442 { 443 mnuExportPng(e); 444 } 445 }); 446 _mnuSaveAs.setMnemonic('A'); 447 _mnuSaveAs.setText(Messages.getString("ModelEditor.SaveViewAs")); 448 _mnuSaveAs.addActionListener(new java.awt.event.ActionListener () 449 { 450 public void actionPerformed(ActionEvent e) 451 { 452 mnuSaveAs(e); 453 } 454 }); 455 _mnuDeleteView.setMnemonic('D'); 456 _mnuDeleteView.setText(Messages.getString("ModelEditor.DeleteView")); 457 _mnuDeleteView.addActionListener(new java.awt.event.ActionListener () 458 { 459 public void actionPerformed(ActionEvent e) 460 { 461 mnuDeleteView(e); 462 } 463 }); 464 _mnuTools.setMnemonic('T'); 465 _mnuTools.setText(Messages.getString("global.Tools")); 466 _mnuExport.setMnemonic('E'); 467 _mnuExport.setText(Messages.getString("ModelEditor.Export")); 468 _mnuExportModel.setMnemonic('M'); 469 _mnuExportModel.setText(Messages.getString("ModelEditor.Model")); 470 _mnuExportModel.addActionListener(new java.awt.event.ActionListener () 471 { 472 public void actionPerformed(ActionEvent e) 473 { 474 mnuExportModel(e); 475 } 476 }); 477 _mnuExportView.setMnemonic('V'); 478 _mnuExportView.setText(Messages.getString("ModelEditor.View")); 479 _mnuExportView.addActionListener(new java.awt.event.ActionListener () 480 { 481 public void actionPerformed(ActionEvent e) 482 { 483 mnuExportView(e); 484 } 485 }); 486 _mnuImport.setMnemonic('I'); 487 _mnuImport.setText(Messages.getString("ModelEditor.Import")); 488 mnuMergeView.setText(Messages.getString("ModelEditor.MergeView")); 489 mnuMergeView.addActionListener(new java.awt.event.ActionListener () 490 { 491 public void actionPerformed(ActionEvent e) 492 { 493 mnuMergeView(e); 494 } 495 }); 496 _mnuImportView.setMnemonic('V'); 497 _mnuImportView.setText(Messages.getString("ModelEditor.View")); 498 _mnuImportView.addActionListener(new java.awt.event.ActionListener () 499 { 500 public void actionPerformed(ActionEvent e) 501 { 502 mnuImportView(e); 503 } 504 }); 505 _mnuImportModel.setMnemonic('M'); 506 _mnuImportModel.setText(Messages.getString("ModelEditor.Model")); 507 _mnuImportModel.addActionListener(new java.awt.event.ActionListener () 508 { 509 public void actionPerformed(ActionEvent e) 510 { 511 mnuImportModel(e); 512 } 513 }); 514 _mnuOpenView.setMnemonic('O'); 515 _mnuOpenView.setText(Messages.getString("ModelEditor.OpenView")); 516 _mnuOpenView.setAccelerator(javax.swing.KeyStroke.getKeyStroke(79, java.awt.event.KeyEvent.CTRL_MASK, false)); 517 _mnuOpenView.addActionListener(new java.awt.event.ActionListener () 518 { 519 public void actionPerformed(ActionEvent e) 520 { 521 mnuOpenView(e); 522 } 523 }); 524 _mnuNewView.setMnemonic('N'); 525 _mnuNewView.setText(Messages.getString("ModelEditor.NewView")); 526 _mnuNewView.setAccelerator(javax.swing.KeyStroke.getKeyStroke(78, java.awt.event.KeyEvent.CTRL_MASK, false)); 527 _mnuNewView.addActionListener(new java.awt.event.ActionListener () 528 { 529 public void actionPerformed(ActionEvent e) 530 { 531 mnuNewView(e); 532 } 533 }); 534 _mnuSaveModelOnly.setMnemonic('M'); 535 _mnuSaveModelOnly.setText(Messages.getString("ModelEditor.SaveModelOnly")); 536 _mnuSaveModelOnly.addActionListener(new java.awt.event.ActionListener () 537 { 538 public void actionPerformed(ActionEvent e) 539 { 540 mnuSaveModel(e); 541 } 542 }); 543 _lblStatus.setToolTipText(Messages.getString("ModelEditor.DblClick")); 544 _lblStatus.setText(Messages.getString("global.Ok")); 545 _lblStatus.addMouseListener(new java.awt.event.MouseAdapter () 546 { 547 public void mouseClicked(MouseEvent e) 548 { 549 _status_mouseClicked(e); 550 } 551 }); 552 jPanel1.setLayout(borderLayout3); 553 _butAdd.setPreferredSize(new Dimension (24, 24)); 554 _butAdd.setToolTipText(Messages.getString("ModelEditor.AddExtent")); 555 _butAdd.addActionListener(new java.awt.event.ActionListener () 556 { 557 public void actionPerformed(ActionEvent e) 558 { 559 _butAdd(e); 560 } 561 }); 562 _butEdit.addActionListener(new java.awt.event.ActionListener () 563 { 564 public void actionPerformed(ActionEvent e) 565 { 566 _butEdit(e); 567 } 568 }); 569 _butEdit.setPreferredSize(new Dimension (24, 24)); 570 _butEdit.setToolTipText(Messages.getString("global.Edit")); 571 _butAddRelation.setToolTipText(Messages.getString("ModelEditor.CreateNewRel")); 572 _butAddRelation.setPreferredSize(new Dimension (24, 24)); 573 _butAddRelation.addActionListener(new java.awt.event.ActionListener () 574 { 575 public void actionPerformed(ActionEvent e) 576 { 577 _butAddRelation(e); 578 } 579 }); 580 _butDelete.addActionListener(new java.awt.event.ActionListener () 581 { 582 public void actionPerformed(ActionEvent e) 583 { 584 _butDelete(e); 585 } 586 }); 587 _butDelete.setPreferredSize(new Dimension (24, 24)); 588 _butDelete.setToolTipText(Messages.getString("ModelEditor.DeleteExtentFromModel")); 589 _butPrint.setToolTipText(Messages.getString("ModelEditor.PrintDiagram")); 590 _butPrint.setPreferredSize(new Dimension (24, 24)); 591 _butPrint.addActionListener(new java.awt.event.ActionListener () 592 { 593 public void actionPerformed(ActionEvent e) 594 { 595 _butPrint(e); 596 } 597 }); 598 _buttonPanel.setLayout(verticalFlowLayout1); 599 |