This is an automated email from the ASF dual-hosted git repository.
abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push:
new 5346def CAY-2592 Modeler: make all datamaps selected in global cgen
tab
5346def is described below
commit 5346def3d1f2b362ea42e81973fcd25fa0f13c28
Author: Arseni Bulatski <[email protected]>
AuthorDate: Mon Jul 8 13:57:58 2019 +0300
CAY-2592 Modeler: make all datamaps selected in global cgen tab
---
RELEASE-NOTES.txt | 1 +
.../modeler/editor/GeneratorsTabController.java | 23 ++++++++++++++++++----
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 73e6cf1..2c34fda 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -40,6 +40,7 @@ CAY-2579 Review and possibly relax usage of readonly flag of
ObjRelationship
CAY-2585 Rename scalarQuery and params methods in SQLSelect
CAY-2589 - Allow optionally using a local query cache that is separate from
the shared query cache.
CAY-2590 Add method to set query timeout to queries
+CAY-2592 Modeler: make all datamaps selected in global cgen tab
Bug Fixes:
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
index b5039d5..d3665cd 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
@@ -21,11 +21,13 @@ package org.apache.cayenne.modeler.editor;
import java.awt.event.ItemEvent;
import java.util.Collection;
import java.util.HashSet;
+import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.cayenne.configuration.DataChannelDescriptor;
+import org.apache.cayenne.gen.CgenConfiguration;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.dialog.ErrorDebugDialog;
@@ -72,30 +74,43 @@ public abstract class GeneratorsTabController {
currPanel.getCheckConfig().setSelected(true);
}
});
+ if(selectedDataMaps.isEmpty() && type == CgenConfiguration.class) {
+ GeneratorsTab.TopGeneratorPanel topGeneratorPanel =
view.getGenerationPanel();
+ topGeneratorPanel.getSelectAll().setSelected(true);
+ topGeneratorPanel.getGenerateAll().setEnabled(true);
+ for (Map.Entry<DataMap, GeneratorsPanel> entry :
generatorsPanels.entrySet()) {
+ entry.getValue().getCheckConfig().setSelected(true);
+ }
+ }
}
private void initListenersForPanel(GeneratorsPanel panel) {
panel.getCheckConfig().addItemListener(e -> {
if(e.getStateChange() == ItemEvent.SELECTED) {
selectedDataMaps.add(panel.getDataMap());
+ if(selectedDataMaps.size() == generatorsPanels.size()) {
+ view.getGenerationPanel().getSelectAll().setSelected(true);
+ }
} else if(e.getStateChange() == ItemEvent.DESELECTED) {
selectedDataMaps.remove(panel.getDataMap());
+ view.getGenerationPanel().getSelectAll().setSelected(false);
}
setGenerateButtonDisabled();
});
panel.getToConfigButton().addActionListener(action ->
showConfig(panel.getDataMap()));
- view.getGenerationPanel().getSelectAll().addItemListener(e -> {
- if(e.getStateChange() == ItemEvent.SELECTED) {
+ view.getGenerationPanel().getSelectAll().addActionListener(e -> {
+ boolean isSelected =
view.getGenerationPanel().getSelectAll().isSelected();
+ if(isSelected) {
getGeneratorsPanels().forEach((key, value) -> {
if (value.getCheckConfig().isEnabled()) {
value.getCheckConfig().setSelected(true);
}
});
- } else if(e.getStateChange() == ItemEvent.DESELECTED) {
+ } else {
getGeneratorsPanels().forEach((key, value) -> {
- if(value.getCheckConfig().isEnabled()) {
+ if (value.getCheckConfig().isEnabled()) {
value.getCheckConfig().setSelected(false);
}
});