This is an automated email from the ASF dual-hosted git repository. abulatski pushed a commit to branch STABLE-4.1 in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/STABLE-4.1 by this push: new 08b62e0 CAY-2592 Modeler: make all datamaps selected in global cgen tab 08b62e0 is described below commit 08b62e04e8030637544be089e8240f616c5f6e0d Author: Arseni Bulatski <ancars...@gmail.com> AuthorDate: Mon Jul 8 13:57:58 2019 +0300 CAY-2592 Modeler: make all datamaps selected in global cgen tab (cherry picked from commit 5346def3d1f2b362ea42e81973fcd25fa0f13c28) --- RELEASE-NOTES.txt | 3 +++ .../modeler/editor/GeneratorsTabController.java | 23 ++++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index a71fbe4..eda8a6c 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -12,6 +12,9 @@ Release: 4.1.B3 Date: ---------------------------------- +Changes/New Features: +CAY-2592 Modeler: make all datamaps selected in global cgen tab + Bug Fixes: CAY-2417 Modeler: wrong title in attribute context menu 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 8219d2c..3f37978 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); } });