Revision: 5770
http://sourceforge.net/p/jump-pilot/code/5770
Author: michaudm
Date: 2018-04-18 11:56:17 +0000 (Wed, 18 Apr 2018)
Log Message:
-----------
improve WritableDataStoreLayer wizard (user interaction)
Modified Paths:
--------------
core/trunk/ChangeLog
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanel.java
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanelV2.java
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizardPanel.java
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerPanel.java
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerWizard.java
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerWizardPanel.java
Modified: core/trunk/ChangeLog
===================================================================
--- core/trunk/ChangeLog 2018-04-17 19:31:45 UTC (rev 5769)
+++ core/trunk/ChangeLog 2018-04-18 11:56:17 UTC (rev 5770)
@@ -5,6 +5,9 @@
* Changes.txt updated until here **********************************************
+2018-04-18 mmichaud <[email protected]>
+ * improve WritableDataStoreLayer wizard (user interaction)
+
2018-04-12 mmichaud <[email protected]>
* Fix #473 : shapefile driver no more limited to 4G files
* Fix #471 : small bug in PostGIS (new) driver UI
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanel.java
===================================================================
--- core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanel.java
2018-04-17 19:31:45 UTC (rev 5769)
+++ core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanel.java
2018-04-18 11:56:17 UTC (rev 5770)
@@ -41,12 +41,12 @@
/**
* Called when the user presses Next on this panel's previous panel
*/
- public void enteredFromLeft(Map dataMap);
+ void enteredFromLeft(Map dataMap);
/**
* Called when the user presses Next on this panel
*/
- public void exitingToRight() throws Exception;
+ void exitingToRight() throws Exception;
/**
* Tip: Delegate to an InputChangedFirer.
@@ -54,20 +54,20 @@
* WizardDialog, which needs to know when to update the enabled state of
* the buttons.
*/
- public void add(InputChangedListener listener);
+ void add(InputChangedListener listener);
- public void remove(InputChangedListener listener);
+ void remove(InputChangedListener listener);
- public String getTitle();
+ String getTitle();
- public String getID();
+ String getID();
- public String getInstructions();
+ String getInstructions();
- public boolean isInputValid();
+ boolean isInputValid();
/**
* @return null to turn the Next button into a Finish button
*/
- public String getNextID();
+ String getNextID();
}
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanelV2.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanelV2.java
2018-04-17 19:31:45 UTC (rev 5769)
+++
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanelV2.java
2018-04-18 11:56:17 UTC (rev 5770)
@@ -1,6 +1,5 @@
package com.vividsolutions.jump.workbench.ui.wizard;
-import java.util.Map;
/**
* adds missing method definitions in older interface
@@ -11,5 +10,5 @@
* Called in WizardDialog when the user presses Previous on this panel's
* next panel to (re)initialize this panel, see e.g. {@link
org.openjump.core.ui.plugin.file.open.SelectFilesPanel}
*/
- public void enteredFromRight() throws Exception;
+ void enteredFromRight() throws Exception;
}
Modified:
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizardPanel.java
===================================================================
---
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizardPanel.java
2018-04-17 19:31:45 UTC (rev 5769)
+++
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizardPanel.java
2018-04-18 11:56:17 UTC (rev 5770)
@@ -12,6 +12,7 @@
import com.vividsolutions.jump.workbench.ui.wizard.AbstractWizardPanel;
public class AddDataStoreLayerWizardPanel extends AbstractWizardPanel {
+
private static final String KEY =
AddDataStoreLayerWizardPanel.class.getName();
private static final String TITLE = I18N.get(KEY);
@@ -46,7 +47,7 @@
/**
* @return the dataStorePanel
*/
- AddDatastoreLayerPanel getDataStorePanel() {
+ public AddDatastoreLayerPanel getDataStorePanel() {
return dataStorePanel;
}
Modified:
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerPanel.java
===================================================================
---
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerPanel.java
2018-04-17 19:31:45 UTC (rev 5769)
+++
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerPanel.java
2018-04-18 11:56:17 UTC (rev 5770)
@@ -15,6 +15,7 @@
import com.vividsolutions.jump.workbench.ui.plugin.datastore.ConnectionPanel;
import com.vividsolutions.jump.workbench.ui.plugin.datastore.PasswordPrompter;
import com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager;
+import com.vividsolutions.jump.workbench.ui.wizard.WizardPanel;
import javax.swing.*;
import javax.swing.event.PopupMenuEvent;
@@ -41,7 +42,6 @@
private JComboBox<PrimaryKeyColumn> identifierAttributeComboBox = null;
private JTextField maxFeaturesTextField = null;
private JTextArea whereTextArea = null;
- //private JCheckBox cachingCheckBox = null;
private JCheckBox limitedToViewCheckBox = null;
private JCheckBox manageConflictsCheckBox = null;
@@ -51,6 +51,13 @@
getConnectionComboBox().addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e ) {
getDatasetComboBox().setSelectedItem( null );
+ Component c = AddWritableDataStoreLayerPanel.this;
+ while ((c = c.getParent()) != null) {
+ if (c instanceof WizardPanel) {
+ ((AddWritableDataStoreLayerWizardPanel)
c).selectionChanged();
+ break;
+ }
+ }
}
});
}
@@ -69,7 +76,7 @@
return description;
}
- public boolean execute(PlugInContext context) throws
Exception {
+ public boolean execute(PlugInContext context) {
return true;
}
@@ -134,14 +141,6 @@
return whereTextArea.getText().trim();
}
- //public boolean isCaching() {
- // return getCachingCheckBox().isSelected();
- //}
-
- //public void setCaching( boolean caching ) {
- // getCachingCheckBox().setSelected( caching );
- //}
-
public boolean isLimitedToView() {
return getLimitedToViewCheckBox().isSelected();
}
@@ -159,8 +158,9 @@
}
public String validateInput() {
- if ( super.validateInput() != null ) {
- return super.validateInput();
+ String validation = super.validateInput();
+ if ( validation != null ) {
+ return validation;
}
if (((String) LangUtil.ifNull(getDatasetName(), "")).length() == 0) {
return I18N.get(KEY + ".missing-dataset-name");
@@ -202,6 +202,13 @@
if ( identifierAttributeComboBox.getItemCount() >
0 ) {
identifierAttributeComboBox.setSelectedIndex(
0 );
}
+ Component c = AddWritableDataStoreLayerPanel.this;
+ while ((c = c.getParent()) != null) {
+ if (c instanceof WizardPanel) {
+ ((AddWritableDataStoreLayerWizardPanel)
c).selectionChanged();
+ break;
+ }
+ }
}
} );
// Populate the dataset combobox only if the user pushes the
@@ -494,6 +501,7 @@
addRow("Where", sp, null, true );
addRow(null, getLimitedToViewCheckBox(), null, false );
addRow(null, getManageConflictsCheckBox(), null, true );
+
}
/**
Modified:
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerWizard.java
===================================================================
---
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerWizard.java
2018-04-17 19:31:45 UTC (rev 5769)
+++
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerWizard.java
2018-04-18 11:56:17 UTC (rev 5770)
@@ -110,7 +110,6 @@
}
else throw new Exception(dataStorePanel.validateInput());
} catch (Exception e) {
- monitor.report(e);
throw e;
}
}
Modified:
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerWizardPanel.java
===================================================================
---
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerWizardPanel.java
2018-04-17 19:31:45 UTC (rev 5769)
+++
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddWritableDataStoreLayerWizardPanel.java
2018-04-18 11:56:17 UTC (rev 5770)
@@ -2,17 +2,18 @@
import com.vividsolutions.jump.I18N;
import com.vividsolutions.jump.workbench.WorkbenchContext;
-import com.vividsolutions.jump.workbench.ui.InputChangedListener;
-import com.vividsolutions.jump.workbench.ui.wizard.WizardPanel;
+import com.vividsolutions.jump.workbench.ui.wizard.AbstractWizardPanel;
import javax.swing.*;
import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.util.Map;
/**
* WizardPanel to connect to a read/write datastore.
*/
-public class AddWritableDataStoreLayerWizardPanel extends JPanel implements
WizardPanel {
+public class AddWritableDataStoreLayerWizardPanel extends AbstractWizardPanel {
private static final String KEY =
AddWritableDataStoreLayerWizardPanel.class.getName();
@@ -23,14 +24,18 @@
private AddWritableDataStoreLayerPanel dataStorePanel;
public AddWritableDataStoreLayerWizardPanel(WorkbenchContext context) {
- super(new BorderLayout());
+ super(KEY, TITLE, INSTRUCTIONS);
+ setLayout(new BorderLayout());
dataStorePanel = new AddWritableDataStoreLayerPanel(context);
+ dataStorePanel.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ selectionChanged();
+ }
+ });
add(new JScrollPane(dataStorePanel), BorderLayout.CENTER);
}
- public void add(InputChangedListener listener) {
- }
-
public void enteredFromLeft(Map dataMap) {
dataStorePanel.populateConnectionComboBox();
}
@@ -38,33 +43,21 @@
public void exitingToRight() throws Exception {
}
- public String getID() {
- return KEY;
+ /**
+ * expose the input listeners fire for the wrapped panel to use
+ */
+ public void selectionChanged(){
+ fireInputChanged();
}
- public String getInstructions() {
- return INSTRUCTIONS;
- }
-
- public String getNextID() {
- return null;
- }
-
- public String getTitle() {
- return TITLE;
- }
-
public boolean isInputValid() {
- return true;
+ return dataStorePanel.validateInput() == null;
}
- public void remove(InputChangedListener listener) {
- }
-
/**
* @return the dataStorePanel
*/
- AddWritableDataStoreLayerPanel getDataStorePanel() {
+ public AddWritableDataStoreLayerPanel getDataStorePanel() {
return dataStorePanel;
}
}
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel