diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/options/Bundle.properties b/db.dataview/src/org/netbeans/modules/db/dataview/options/Bundle.properties
--- a/db.dataview/src/org/netbeans/modules/db/dataview/options/Bundle.properties
+++ b/db.dataview/src/org/netbeans/modules/db/dataview/options/Bundle.properties
@@ -1,8 +1,8 @@
-DataViewSettingsPanel.chkPackColumns.text=Pack columns
+DataViewSettingsPanel.chkPackColumns.text=Always pack columns
DataViewSettingsPanel.chkShowAbsoluteRowNumbers.text=Show absolute row numbers
DataViewSettingsPanel.rbRememberPageSize.text=Remember and use previous
-DataViewSettingsPanel.lblPageSize.text=Default page size:
DataViewSettingsPanel.rbShowAllRows.text=Show all rows
DataViewSettingsPanel.rbFixedPageSize.text=
DataViewSettingsPanel.chkShowTruncateTableButton.text=Show truncate table button
DataViewSettingsPanel.chkCopyRowValuesWithHeaders.text=Copy row values with headers (keyboard)
+DataViewSettingsPanel.pnlPageSize.border.title=Default page size
diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/options/DataViewSettingsPanel.form b/db.dataview/src/org/netbeans/modules/db/dataview/options/DataViewSettingsPanel.form
--- a/db.dataview/src/org/netbeans/modules/db/dataview/options/DataViewSettingsPanel.form
+++ b/db.dataview/src/org/netbeans/modules/db/dataview/options/DataViewSettingsPanel.form
@@ -23,22 +23,13 @@
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -46,25 +37,16 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
+
@@ -99,39 +81,81 @@
-
+
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/options/DataViewSettingsPanel.java b/db.dataview/src/org/netbeans/modules/db/dataview/options/DataViewSettingsPanel.java
--- a/db.dataview/src/org/netbeans/modules/db/dataview/options/DataViewSettingsPanel.java
+++ b/db.dataview/src/org/netbeans/modules/db/dataview/options/DataViewSettingsPanel.java
@@ -68,11 +68,11 @@
chkShowAbsoluteRowNumbers = new javax.swing.JCheckBox();
chkPackColumns = new javax.swing.JCheckBox();
chkCopyRowValuesWithHeaders = new javax.swing.JCheckBox();
+ pnlPageSize = new javax.swing.JPanel();
rbRememberPageSize = new javax.swing.JRadioButton();
+ rbShowAllRows = new javax.swing.JRadioButton();
rbFixedPageSize = new javax.swing.JRadioButton();
spnFixedPageSize = new javax.swing.JSpinner();
- lblPageSize = new javax.swing.JLabel();
- rbShowAllRows = new javax.swing.JRadioButton();
chkShowTruncateTableButton.setSelected(true);
org.openide.awt.Mnemonics.setLocalizedText(chkShowTruncateTableButton, org.openide.util.NbBundle.getMessage(DataViewSettingsPanel.class, "DataViewSettingsPanel.chkShowTruncateTableButton.text")); // NOI18N
@@ -83,17 +83,46 @@
org.openide.awt.Mnemonics.setLocalizedText(chkCopyRowValuesWithHeaders, org.openide.util.NbBundle.getMessage(DataViewSettingsPanel.class, "DataViewSettingsPanel.chkCopyRowValuesWithHeaders.text")); // NOI18N
+ pnlPageSize.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(DataViewSettingsPanel.class, "DataViewSettingsPanel.pnlPageSize.border.title"))); // NOI18N
+
rbRememberPageSize.setSelected(true);
org.openide.awt.Mnemonics.setLocalizedText(rbRememberPageSize, org.openide.util.NbBundle.getMessage(DataViewSettingsPanel.class, "DataViewSettingsPanel.rbRememberPageSize.text")); // NOI18N
+ org.openide.awt.Mnemonics.setLocalizedText(rbShowAllRows, org.openide.util.NbBundle.getMessage(DataViewSettingsPanel.class, "DataViewSettingsPanel.rbShowAllRows.text")); // NOI18N
+
org.openide.awt.Mnemonics.setLocalizedText(rbFixedPageSize, org.openide.util.NbBundle.getMessage(DataViewSettingsPanel.class, "DataViewSettingsPanel.rbFixedPageSize.text")); // NOI18N
org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, rbFixedPageSize, org.jdesktop.beansbinding.ELProperty.create("${selected}"), spnFixedPageSize, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);
- org.openide.awt.Mnemonics.setLocalizedText(lblPageSize, org.openide.util.NbBundle.getMessage(DataViewSettingsPanel.class, "DataViewSettingsPanel.lblPageSize.text")); // NOI18N
-
- org.openide.awt.Mnemonics.setLocalizedText(rbShowAllRows, org.openide.util.NbBundle.getMessage(DataViewSettingsPanel.class, "DataViewSettingsPanel.rbShowAllRows.text")); // NOI18N
+ javax.swing.GroupLayout pnlPageSizeLayout = new javax.swing.GroupLayout(pnlPageSize);
+ pnlPageSize.setLayout(pnlPageSizeLayout);
+ pnlPageSizeLayout.setHorizontalGroup(
+ pnlPageSizeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(pnlPageSizeLayout.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(pnlPageSizeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(rbRememberPageSize)
+ .addGroup(pnlPageSizeLayout.createSequentialGroup()
+ .addComponent(rbFixedPageSize)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(spnFixedPageSize, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(rbShowAllRows))
+ .addContainerGap(162, Short.MAX_VALUE))
+ );
+ pnlPageSizeLayout.setVerticalGroup(
+ pnlPageSizeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(pnlPageSizeLayout.createSequentialGroup()
+ .addContainerGap()
+ .addComponent(rbRememberPageSize)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(rbShowAllRows)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addGroup(pnlPageSizeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(rbFixedPageSize)
+ .addComponent(spnFixedPageSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ );
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
@@ -102,42 +131,27 @@
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(pnlPageSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(chkShowAbsoluteRowNumbers)
+ .addComponent(chkCopyRowValuesWithHeaders)
.addComponent(chkShowTruncateTableButton)
- .addComponent(chkCopyRowValuesWithHeaders)
- .addComponent(chkPackColumns)
- .addComponent(lblPageSize)
- .addComponent(rbRememberPageSize)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
- .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
- .addComponent(rbFixedPageSize)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(spnFixedPageSize, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addComponent(rbShowAllRows, javax.swing.GroupLayout.Alignment.LEADING)))
- .addContainerGap(251, Short.MAX_VALUE))
+ .addComponent(chkPackColumns))
+ .addContainerGap(329, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
- .addComponent(lblPageSize)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(rbRememberPageSize)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(rbShowAllRows)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(rbFixedPageSize)
- .addComponent(spnFixedPageSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(18, 18, 18)
+ .addComponent(pnlPageSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(24, 24, 24)
.addComponent(chkPackColumns)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGap(9, 9, 9)
.addComponent(chkShowTruncateTableButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(chkShowAbsoluteRowNumbers)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(chkCopyRowValuesWithHeaders)
- .addContainerGap(129, Short.MAX_VALUE))
+ .addContainerGap(91, Short.MAX_VALUE))
);
bindingGroup.bind();
@@ -184,8 +198,8 @@
private javax.swing.JCheckBox chkPackColumns;
private javax.swing.JCheckBox chkShowAbsoluteRowNumbers;
private javax.swing.JCheckBox chkShowTruncateTableButton;
- private javax.swing.JLabel lblPageSize;
private javax.swing.ButtonGroup pageSizeButtonGroup;
+ private javax.swing.JPanel pnlPageSize;
private javax.swing.JRadioButton rbFixedPageSize;
private javax.swing.JRadioButton rbRememberPageSize;
private javax.swing.JRadioButton rbShowAllRows;
diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java
--- a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java
+++ b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java
@@ -71,6 +71,8 @@
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.SwingUtilities;
+import javax.swing.event.TableModelEvent;
+import javax.swing.event.TableModelListener;
import org.jdesktop.swingx.JXButton;
import org.jdesktop.swingx.JXLabel;
import org.jdesktop.swingx.JXPanel;
@@ -120,6 +122,13 @@
@Override
public void propertyChange(PropertyChangeEvent evt) {
updateTotalCountLabel();
+ }
+ };
+
+ private final TableModelListener tableModelListener =
+ new TableModelListener() {
+ @Override
+ public void tableChanged(TableModelEvent e) {
updateRowOffset();
}
};
@@ -189,6 +198,7 @@
dataPanel.setModel(pageContext.getModel());
pageContext.addPropertyChangeListener(pageContextListener);
+ pageContext.getModel().addTableModelListener(tableModelListener);
updateTotalCountLabel();
updateRowOffset();
}