Lines 52-57
Link Here
|
52 |
import java.awt.event.FocusEvent; |
52 |
import java.awt.event.FocusEvent; |
53 |
import java.awt.event.KeyEvent; |
53 |
import java.awt.event.KeyEvent; |
54 |
import java.awt.event.KeyListener; |
54 |
import java.awt.event.KeyListener; |
|
|
55 |
import java.awt.event.MouseAdapter; |
55 |
import java.awt.event.MouseEvent; |
56 |
import java.awt.event.MouseEvent; |
56 |
import java.awt.event.MouseListener; |
57 |
import java.awt.event.MouseListener; |
57 |
import java.beans.PropertyChangeEvent; |
58 |
import java.beans.PropertyChangeEvent; |
Lines 64-70
Link Here
|
64 |
import javax.swing.BoxLayout; |
65 |
import javax.swing.BoxLayout; |
65 |
import javax.swing.ImageIcon; |
66 |
import javax.swing.ImageIcon; |
66 |
import javax.swing.JButton; |
67 |
import javax.swing.JButton; |
|
|
68 |
import javax.swing.JCheckBoxMenuItem; |
67 |
import javax.swing.JPanel; |
69 |
import javax.swing.JPanel; |
|
|
70 |
import javax.swing.JPopupMenu; |
68 |
import javax.swing.JScrollPane; |
71 |
import javax.swing.JScrollPane; |
69 |
import javax.swing.JTextField; |
72 |
import javax.swing.JTextField; |
70 |
import javax.swing.JToolBar; |
73 |
import javax.swing.JToolBar; |
Lines 77-82
Link Here
|
77 |
import org.netbeans.modules.db.dataview.table.ResultSetJXTable; |
80 |
import org.netbeans.modules.db.dataview.table.ResultSetJXTable; |
78 |
import static org.netbeans.modules.db.dataview.table.SuperPatternFilter.MODE.LITERAL_FIND; |
81 |
import static org.netbeans.modules.db.dataview.table.SuperPatternFilter.MODE.LITERAL_FIND; |
79 |
import org.openide.util.NbBundle; |
82 |
import org.openide.util.NbBundle; |
|
|
83 |
import org.openide.util.NbPreferences; |
80 |
|
84 |
|
81 |
/** |
85 |
/** |
82 |
* DataViewUI hosting display of design-level SQL test output. |
86 |
* DataViewUI hosting display of design-level SQL test output. |
Lines 85-90
Link Here
|
85 |
*/ |
89 |
*/ |
86 |
class DataViewUI extends JXPanel { |
90 |
class DataViewUI extends JXPanel { |
87 |
|
91 |
|
|
|
92 |
private static final String SHOW_TRUNCATE_BUTTON = "showTruncateButton"; |
93 |
|
88 |
private JXButton commit; |
94 |
private JXButton commit; |
89 |
private JXButton refreshButton; |
95 |
private JXButton refreshButton; |
90 |
private JXButton truncateButton; |
96 |
private JXButton truncateButton; |
Lines 550-555
Link Here
|
550 |
truncateButton.setMnemonic('T'); |
556 |
truncateButton.setMnemonic('T'); |
551 |
truncateButton.addActionListener(outputListener); |
557 |
truncateButton.addActionListener(outputListener); |
552 |
truncateButton.setEnabled(false); |
558 |
truncateButton.setEnabled(false); |
|
|
559 |
truncateButton.setVisible(NbPreferences.forModule(DataViewUI.class).getBoolean(SHOW_TRUNCATE_BUTTON, true)); |
553 |
processButton(truncateButton); |
560 |
processButton(truncateButton); |
554 |
editButtons[4] = truncateButton; |
561 |
editButtons[4] = truncateButton; |
555 |
} |
562 |
} |
Lines 563-572
Link Here
|
563 |
ActionListener outputListener = createOutputListener(); |
570 |
ActionListener outputListener = createOutputListener(); |
564 |
initVerticalToolbar(outputListener); |
571 |
initVerticalToolbar(outputListener); |
565 |
|
572 |
|
|
|
573 |
MouseListener toolbarMouseListener = createToolbarMouseListener(); |
574 |
|
566 |
JToolBar toolbarWest = new JToolBar(); |
575 |
JToolBar toolbarWest = new JToolBar(); |
567 |
toolbarWest.setFloatable(false); |
576 |
toolbarWest.setFloatable(false); |
568 |
toolbarWest.setRollover(true); |
577 |
toolbarWest.setRollover(true); |
569 |
initToolbarWest(toolbarWest, outputListener, nbOutputComponent); |
578 |
initToolbarWest(toolbarWest, outputListener, nbOutputComponent); |
|
|
579 |
toolbarWest.addMouseListener(toolbarMouseListener); |
570 |
|
580 |
|
571 |
JToolBar toolbarEast = new JToolBar(); |
581 |
JToolBar toolbarEast = new JToolBar(); |
572 |
toolbarEast.setFloatable(false); |
582 |
toolbarEast.setFloatable(false); |
Lines 575-580
Link Here
|
575 |
toolbarEast.setMinimumSize(toolbarWest.getPreferredSize()); |
585 |
toolbarEast.setMinimumSize(toolbarWest.getPreferredSize()); |
576 |
toolbarEast.setSize(toolbarWest.getPreferredSize()); |
586 |
toolbarEast.setSize(toolbarWest.getPreferredSize()); |
577 |
toolbarEast.setMaximumSize(toolbarWest.getPreferredSize()); |
587 |
toolbarEast.setMaximumSize(toolbarWest.getPreferredSize()); |
|
|
588 |
toolbarEast.addMouseListener(toolbarMouseListener); |
578 |
|
589 |
|
579 |
panel.add(toolbarWest); |
590 |
panel.add(toolbarWest); |
580 |
panel.add(Box.createHorizontalGlue()); |
591 |
panel.add(Box.createHorizontalGlue()); |
Lines 583-588
Link Here
|
583 |
return panel; |
594 |
return panel; |
584 |
} |
595 |
} |
585 |
|
596 |
|
|
|
597 |
private MouseListener createToolbarMouseListener() { |
598 |
final JPopupMenu popupMenu = new JPopupMenu(); |
599 |
final JCheckBoxMenuItem showTruncateButton = new JCheckBoxMenuItem(NbBundle.getMessage(DataViewTableUI.class, "DataViewUI_ShowTruncateButton")); |
600 |
showTruncateButton.setSelected(truncateButton.isVisible()); |
601 |
showTruncateButton.addActionListener(new ActionListener() { |
602 |
@Override |
603 |
public void actionPerformed(ActionEvent e) { |
604 |
truncateButton.setVisible(showTruncateButton.isSelected()); |
605 |
NbPreferences.forModule(DataViewUI.class).putBoolean(SHOW_TRUNCATE_BUTTON, showTruncateButton.isSelected()); |
606 |
} |
607 |
}); |
608 |
popupMenu.add(showTruncateButton); |
609 |
|
610 |
return new MouseAdapter() { |
611 |
@Override |
612 |
public void mouseReleased(MouseEvent e) { |
613 |
if (e.getButton() == MouseEvent.BUTTON3) { |
614 |
popupMenu.show(DataViewUI.this, e.getX(), e.getY()); |
615 |
} |
616 |
} |
617 |
}; |
618 |
} |
619 |
|
586 |
public void enableDeleteBtn(boolean value) { |
620 |
public void enableDeleteBtn(boolean value) { |
587 |
deleteRow.setEnabled(value); |
621 |
deleteRow.setEnabled(value); |
588 |
} |
622 |
} |