Ticket #17040: 17040-toggle-dlg.patch
| File 17040-toggle-dlg.patch, 3.6 KB (added by , 7 years ago) |
|---|
-
src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java
17 17 import javax.swing.JCheckBox; 18 18 import javax.swing.JTable; 19 19 import javax.swing.ListSelectionModel; 20 import javax.swing.SwingUtilities;21 20 import javax.swing.table.DefaultTableCellRenderer; 22 21 import javax.swing.table.JTableHeader; 23 22 import javax.swing.table.TableCellRenderer; … … 247 246 public void destroy() { 248 247 MultikeyActionsHandler.getInstance().removeAction(enableFilterAction); 249 248 MultikeyActionsHandler.getInstance().removeAction(hidingFilterAction); 249 userTable = null; 250 250 super.destroy(); 251 251 } 252 252 … … 301 301 * Updates the headline of this dialog to display the number of active filters. 302 302 */ 303 303 public void updateDialogHeader() { 304 SwingUtilities.invokeLater(() -> setTitle( 305 tr("Filter Hidden:{0} Disabled:{1}", 306 filterModel.model.getDisabledAndHiddenCount(), filterModel.model.getDisabledCount()))); 304 setTitle(tr("Filter Hidden:{0} Disabled:{1}", filterModel.model.getDisabledAndHiddenCount(), 305 filterModel.model.getDisabledCount())); 307 306 } 308 307 309 308 /** -
src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
469 469 } 470 470 Config.getPref().removePreferenceChangeListener(this); 471 471 GuiHelper.destroyComponents(this, false); 472 titleBar.destroy(); 473 titleBar = null; 474 this.buttonActions.clear(); 472 475 } 473 476 474 477 /** … … 500 503 /** 501 504 * The title bar displayed in docked mode 502 505 */ 503 protected class TitleBar extends JPanel {506 protected class TitleBar extends JPanel implements Destroyable { 504 507 /** the label which shows whether the toggle dialog is expanded or collapsed */ 505 508 private final JLabel lblMinimized; 506 509 /** the label which displays the dialog's title **/ … … 511 514 /** the contextual menu **/ 512 515 private DialogPopupMenu popupMenu; 513 516 517 private MouseEventHandler mouseEventHandler; 518 514 519 @SuppressWarnings("unchecked") 515 520 public TitleBar(String toggleDialogName, String iconName) { 516 521 setLayout(new GridBagLayout()); … … 632 637 */ 633 638 public final void registerMouseListener() { 634 639 popupMenu = new DialogPopupMenu(); 635 addMouseListener(new MouseEventHandler()); 640 mouseEventHandler = new MouseEventHandler(); 641 addMouseListener(mouseEventHandler); 636 642 } 637 643 638 644 class MouseEventHandler extends PopupMenuLauncher { … … 656 662 } 657 663 } 658 664 } 665 666 @Override 667 public void destroy() { 668 removeMouseListener(mouseEventHandler); 669 this.mouseEventHandler = null; 670 this.popupMenu = null; 671 } 659 672 } 660 673 661 674 /** … … 753 766 * @param title The dialog's title 754 767 */ 755 768 public void setTitle(String title) { 756 titleBar.setTitle(title); 769 if (titleBar != null) { 770 titleBar.setTitle(title); 771 } 757 772 if (detachedDialog != null) { 758 773 detachedDialog.setTitle(title); 759 774 }
