From e368144a3f3967a007ec23e028cc20d4be693834 Mon Sep 17 00:00:00 2001 From: Chrriis Date: Fri, 24 Feb 2012 21:45:54 +0000 Subject: [PATCH] [#1177] Add SQL Console module to jOOQ - Various UI improvements. --- .../jooq/debugger/console/SqlLoggerPane.java | 97 +++++++++--------- .../console/resources/SqlSelect16.png | Bin 3827 -> 3010 bytes .../console/resources/SqlUpdate16.png | Bin 3747 -> 3730 bytes 3 files changed, 51 insertions(+), 46 deletions(-) diff --git a/jOOQ-sql-console/src/main/java/org/jooq/debugger/console/SqlLoggerPane.java b/jOOQ-sql-console/src/main/java/org/jooq/debugger/console/SqlLoggerPane.java index 6d2cfb118a..c7b79b6188 100644 --- a/jOOQ-sql-console/src/main/java/org/jooq/debugger/console/SqlLoggerPane.java +++ b/jOOQ-sql-console/src/main/java/org/jooq/debugger/console/SqlLoggerPane.java @@ -63,7 +63,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.swing.Box; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; @@ -137,8 +136,8 @@ public class SqlLoggerPane extends JPanel { private JTableX table; private SqlTextArea textArea; private JLabel loggerStatusLabel; - private JButton loggerLoggingOnButton; - private JButton loggerLoggingOffButton; + private JButton loggerOnButton; + private JButton loggerOffButton; private boolean isLogging; private boolean isReadQueryTypeDisplayed = true; private boolean isWriteQueryTypeDisplayed = true; @@ -153,30 +152,30 @@ public class SqlLoggerPane extends JPanel { JToolBar loggerHeaderWestPanel = new JToolBar(); loggerHeaderWestPanel.setFloatable(false); loggerHeaderWestPanel.setOpaque(false); - loggerLoggingOnButton = new JButton(new ImageIcon(getClass().getResource("resources/Running16.png"))); - loggerLoggingOnButton.setOpaque(false); - loggerLoggingOnButton.setFocusable(false); - loggerLoggingOnButton.setToolTipText("Activate logging"); - loggerLoggingOnButton.addActionListener(new ActionListener() { + loggerOnButton = new JButton(new ImageIcon(getClass().getResource("resources/Running16.png"))); + loggerOnButton.setOpaque(false); + loggerOnButton.setFocusable(false); + loggerOnButton.setToolTipText("Activate logging"); + loggerOnButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { setLogging(true); } }); - loggerHeaderWestPanel.add(loggerLoggingOnButton); - loggerLoggingOffButton = new JButton(new ImageIcon(getClass().getResource("resources/Paused16.png"))); - loggerLoggingOffButton.setOpaque(false); - loggerLoggingOffButton.setFocusable(false); - loggerLoggingOffButton.setToolTipText("Deactivate logging"); - loggerLoggingOffButton.setVisible(false); - loggerLoggingOffButton.addActionListener(new ActionListener() { + loggerHeaderWestPanel.add(loggerOnButton); + loggerOffButton = new JButton(new ImageIcon(getClass().getResource("resources/Paused16.png"))); + loggerOffButton.setOpaque(false); + loggerOffButton.setFocusable(false); + loggerOffButton.setToolTipText("Deactivate logging"); + loggerOffButton.setVisible(false); + loggerOffButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { setLogging(false); - loggerLoggingOnButton.requestFocus(); + loggerOnButton.requestFocus(); } }); - loggerHeaderWestPanel.add(loggerLoggingOffButton); + loggerHeaderWestPanel.add(loggerOffButton); JButton loggerClearButton = new JButton(new ImageIcon(getClass().getResource("resources/Clear16.png"))); loggerClearButton.setOpaque(false); loggerClearButton.setFocusable(false); @@ -196,19 +195,19 @@ public class SqlLoggerPane extends JPanel { } }); loggerHeaderWestPanel.add(loggerClearButton); - JToggleButton scrollLockButton = new JToggleButton(new ImageIcon(getClass().getResource("resources/LockScroll16.png"))); - scrollLockButton.setFocusable(false); - scrollLockButton.setToolTipText("Scroll Lock"); - scrollLockButton.addItemListener(new ItemListener() { + JToggleButton scrollLockToggleButton = new JToggleButton(new ImageIcon(getClass().getResource("resources/LockScroll16.png"))); + scrollLockToggleButton.setFocusable(false); + scrollLockToggleButton.setToolTipText("Scroll Lock"); + scrollLockToggleButton.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { isScrollLocked = e.getStateChange() == ItemEvent.SELECTED; } }); - loggerHeaderWestPanel.add(scrollLockButton); + loggerHeaderWestPanel.add(scrollLockToggleButton); loggerHeaderPanel.add(loggerHeaderWestPanel, BorderLayout.WEST); - JPanel loggerHeaderEastPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 2, 2)); - loggerHeaderEastPanel.setOpaque(false); + JPanel loggerHeaderCenterPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 2, 2)); + loggerHeaderCenterPanel.setOpaque(false); JCheckBox loggerThreadCheckBox = new JCheckBox("Threads", true); loggerThreadCheckBox.setOpaque(false); loggerThreadCheckBox.addItemListener(new ItemListener() { @@ -220,7 +219,7 @@ public class SqlLoggerPane extends JPanel { table.adjustLastColumn(); } }); - loggerHeaderEastPanel.add(loggerThreadCheckBox); + loggerHeaderCenterPanel.add(loggerThreadCheckBox); JCheckBox loggerTimestampCheckBox = new JCheckBox("Timestamps", true); loggerTimestampCheckBox.setOpaque(false); loggerTimestampCheckBox.addItemListener(new ItemListener() { @@ -232,7 +231,7 @@ public class SqlLoggerPane extends JPanel { table.adjustLastColumn(); } }); - loggerHeaderEastPanel.add(loggerTimestampCheckBox); + loggerHeaderCenterPanel.add(loggerTimestampCheckBox); JCheckBox preparedStatementDataCheckBox = new JCheckBox("PS Data", true); preparedStatementDataCheckBox.setOpaque(false); preparedStatementDataCheckBox.addItemListener(new ItemListener() { @@ -245,7 +244,7 @@ public class SqlLoggerPane extends JPanel { table.adjustLastColumn(); } }); - loggerHeaderEastPanel.add(preparedStatementDataCheckBox); + loggerHeaderCenterPanel.add(preparedStatementDataCheckBox); JCheckBox loggerDurationCheckBox = new JCheckBox("Exec Time", true); loggerDurationCheckBox.setOpaque(false); loggerDurationCheckBox.addItemListener(new ItemListener() { @@ -257,7 +256,7 @@ public class SqlLoggerPane extends JPanel { table.adjustLastColumn(); } }); - loggerHeaderEastPanel.add(loggerDurationCheckBox); + loggerHeaderCenterPanel.add(loggerDurationCheckBox); JCheckBox resultSetDataCheckBox = new JCheckBox("RS Data", true); resultSetDataCheckBox.setOpaque(false); resultSetDataCheckBox.addItemListener(new ItemListener() { @@ -271,7 +270,7 @@ public class SqlLoggerPane extends JPanel { table.adjustLastColumn(); } }); - loggerHeaderEastPanel.add(resultSetDataCheckBox); + loggerHeaderCenterPanel.add(resultSetDataCheckBox); JCheckBox duplicationCountCheckBox = new JCheckBox("Duplication", true); duplicationCountCheckBox.setOpaque(false); duplicationCountCheckBox.addItemListener(new ItemListener() { @@ -283,39 +282,45 @@ public class SqlLoggerPane extends JPanel { table.adjustLastColumn(); } }); - loggerHeaderEastPanel.add(duplicationCountCheckBox); - loggerHeaderEastPanel.add(Box.createHorizontalStrut(10)); - JCheckBox loggerReadQueryTypeCheckBox = new JCheckBox("Read", isReadQueryTypeDisplayed); - loggerReadQueryTypeCheckBox.setOpaque(false); - loggerReadQueryTypeCheckBox.addItemListener(new ItemListener() { + loggerHeaderCenterPanel.add(duplicationCountCheckBox); + loggerHeaderPanel.add(loggerHeaderCenterPanel, BorderLayout.CENTER); + JToolBar loggerHeaderEastPanel = new JToolBar(); + loggerHeaderEastPanel.setFloatable(false); + loggerHeaderEastPanel.setOpaque(false); + JToggleButton loggerReadQueryTypeToggleButton = new JToggleButton(SELECT_ICON, isReadQueryTypeDisplayed); + loggerReadQueryTypeToggleButton.setOpaque(false); + loggerReadQueryTypeToggleButton.setToolTipText("Show/hide read statements"); + loggerReadQueryTypeToggleButton.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { isReadQueryTypeDisplayed = e.getStateChange() == ItemEvent.SELECTED; refreshRows(); } }); - loggerHeaderEastPanel.add(loggerReadQueryTypeCheckBox); - JCheckBox loggerWriteQueryTypeCheckBox = new JCheckBox("Write", isWriteQueryTypeDisplayed); - loggerWriteQueryTypeCheckBox.setOpaque(false); - loggerWriteQueryTypeCheckBox.addItemListener(new ItemListener() { + loggerHeaderEastPanel.add(loggerReadQueryTypeToggleButton); + JToggleButton loggerWriteQueryTypeToggleButton = new JToggleButton(UPDATE_ICON, isWriteQueryTypeDisplayed); + loggerWriteQueryTypeToggleButton.setOpaque(false); + loggerWriteQueryTypeToggleButton.setToolTipText("Show/hide modification statements"); + loggerWriteQueryTypeToggleButton.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { isWriteQueryTypeDisplayed = e.getStateChange() == ItemEvent.SELECTED; refreshRows(); } }); - loggerHeaderEastPanel.add(loggerWriteQueryTypeCheckBox); - JCheckBox loggerOtherQueryTypeCheckBox = new JCheckBox("Other", isOtherQueryTypeDisplayed); - loggerOtherQueryTypeCheckBox.setOpaque(false); - loggerOtherQueryTypeCheckBox.addItemListener(new ItemListener() { + loggerHeaderEastPanel.add(loggerWriteQueryTypeToggleButton); + JToggleButton loggerOtherQueryTypeToggleButton = new JToggleButton(OTHER_ICON, isOtherQueryTypeDisplayed); + loggerOtherQueryTypeToggleButton.setOpaque(false); + loggerOtherQueryTypeToggleButton.setToolTipText("Show/hide other types of statements"); + loggerOtherQueryTypeToggleButton.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { isOtherQueryTypeDisplayed = e.getStateChange() == ItemEvent.SELECTED; refreshRows(); } }); - loggerHeaderEastPanel.add(loggerOtherQueryTypeCheckBox); - loggerHeaderPanel.add(loggerHeaderEastPanel, BorderLayout.CENTER); + loggerHeaderEastPanel.add(loggerOtherQueryTypeToggleButton); + loggerHeaderPanel.add(loggerHeaderEastPanel, BorderLayout.EAST); add(loggerHeaderPanel, BorderLayout.NORTH); table = new JTableX(new AbstractTableModel() { @Override @@ -762,8 +767,8 @@ public class SqlLoggerPane extends JPanel { return; } this.isLogging = isLogging; - loggerLoggingOnButton.setVisible(!isLogging); - loggerLoggingOffButton.setVisible(isLogging); + loggerOnButton.setVisible(!isLogging); + loggerOffButton.setVisible(isLogging); if(sqlQueryDebugger != null) { SqlQueryDebuggerRegister.removeSqlQueryDebugger(sqlQueryDebugger); sqlQueryDebugger = null; diff --git a/jOOQ-sql-console/src/main/java/org/jooq/debugger/console/resources/SqlSelect16.png b/jOOQ-sql-console/src/main/java/org/jooq/debugger/console/resources/SqlSelect16.png index ed535f49e02ab780e5b3187b5d9aa0b1a2e18a08..8e87830d4d50784961a50de416bdfc86eb8c4853 100644 GIT binary patch delta 264 zcmV+j0r&p%9l{ro83+ad001BJ|6#Eqt_ptu-AP12RCwBA{Qv(y10{fofkHsB0W5gr zkp0F;stf+_YZYhM*D6ky7yj>S6=!g)yov4_WQ@}b5Y1&57#RM3XJBAp!0HO8>X-lF z-unOlKMeoh*&zD=-?y81@!l4(|4_j2|Nnou3;u7d5oPcwTFUV6`vbC~k0n@BU|?9+Q^5f9EQ}TwWo2-xe#w9>4B%n0EL-6J z?*~2qmt_n5#{n47!vMuqkyGCPU!Eh#Kukhn#FLqbN{RTAG9z6w6JP)~PqGXHT`%JR O0000k{#kZ{BnLAC1A~SxfAB`dbzJq#3;{kNuK)jE`v3pI|Nqbb|9|oS|GWSH-~a#r z;s5_n|Nnpc|NrOz|9}4fIr#tgng3sB{r|S>|F7%+|2+HuVb1>#bN_$Y_W$e7|G)12 z|NZd)hZX-nZTbIs>;JEZ|9!jg|Hqa8Zx;T4xA^~ujsHI%{QLRT|8M92f4lJS&FcT} z*8hFC>;K2S|LQ;N{ri5;zt3m>eL4I8>-qn0*8T%Zyx+5{o_BYn;N}vBjYSOW3mCSP zF>Weh+*Zc4sf1}+7SrZZ=1pbnTPrv=mU8T<;#`}fSxFpCg7@Rt&N-(5#)>Qm-_8lA+yr~_oRUOOI4zU>u}YFFvHc>?^wqp4L!t|$71ug2 z9GNV;HmUufO#{RC$B~!k9ZC$*nGh|`$$=J7DRn7~{CZ789 zygy+DkAg#f<)<@$jBNklgs3nz0`|Re=o^00000Nks-uM6N<$f=BT{F8}}l delta 159 zcmV;Q0AT-;9ittv4Gw>SNkl5PFpiy9|c%ZugaGt%k;6d#GfLJi4f=%kjxp$y~kX;M7-}@Ku0RTI=Cl(LNTxS3P N002ovPDHLkV1iaONt*xw