You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/11/05 13:29:00 UTC
[03/10] cayenne git commit: CAY-2491 Made DB Import View have
flexible design. Moved 'Refresh Db Schema' and 'Run Import' buttons to
toolbar. Added show/hide advanced options functionality. Add space in
DbImport tab label.
CAY-2491 Made DB Import View have flexible design. Moved 'Refresh Db Schema' and 'Run Import' buttons to toolbar. Added show/hide advanced options functionality. Add space in DbImport tab label.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/438eec9b
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/438eec9b
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/438eec9b
Branch: refs/heads/master
Commit: 438eec9b9f3f1738bfff843526474e58e1d284c1
Parents: 9854138
Author: kkomyak <co...@gmail.com>
Authored: Mon Oct 29 15:21:49 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Mon Oct 29 15:21:49 2018 +0300
----------------------------------------------------------------------
RELEASE-NOTES.txt | 1 +
.../modeler/editor/DataMapTabbedView.java | 3 +-
.../modeler/editor/dbimport/DbImportView.java | 60 +++++++++++++++-----
.../dbimport/ReverseEngineeringTreePanel.java | 1 +
4 files changed, 50 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/438eec9b/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index c0c093c..fd08cdc 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -24,6 +24,7 @@ CAY-2481 Support for Object[] as return type in SQLTemplate and SQLExec
CAY-2485 Compact Slf4j Logger
CAY-2487 Removed usage of CayenneException.
CAY-2489 Add validation to the case of not to PK relationships
+CAY-2491 Remaster Db Import View
Bug Fixes:
http://git-wip-us.apache.org/repos/asf/cayenne/blob/438eec9b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
index ed1b6f1..b89b1c2 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
@@ -24,7 +24,6 @@ import javax.swing.JTabbedPane;
import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.editor.dbimport.DbImportView;
-
/**
* Data map editing tabs container
*
@@ -56,7 +55,7 @@ public class DataMapTabbedView extends JTabbedPane {
JScrollPane dataMapView = new JScrollPane(new DataMapView(mediator));
JScrollPane dbImportView = new JScrollPane(new DbImportView(mediator));
addTab("DataMap", dataMapView);
- addTab("DbImport", dbImportView);
+ addTab("DB Import", dbImportView);
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/438eec9b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
index 3f0bb3b..38e3d87 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
@@ -29,22 +29,29 @@ import org.apache.cayenne.modeler.action.ReverseEngineeringAction;
import org.apache.cayenne.modeler.dialog.db.load.DbImportTreeNode;
import org.apache.cayenne.modeler.dialog.db.load.TransferableNode;
import org.apache.cayenne.modeler.util.CayenneAction;
+import org.apache.cayenne.modeler.util.ModelerUtil;
+import javax.swing.AbstractAction;
+import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import java.awt.BorderLayout;
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
/**
* @since 4.1
*/
public class DbImportView extends JPanel {
- private static final String MAIN_LAYOUT = "fill:160dlu, 5dlu, fill:50dlu, 5dlu, fill:160dlu";
- private static final String HEADER_LAYOUT = "fill:70dlu, 15dlu, fill:75dlu";
+ private static final String MAIN_LAYOUT = "fill:160dlu:grow, 5dlu, fill:50dlu, 5dlu, fill:160dlu:grow";
+ private static final String HEADER_LAYOUT = "fill:80dlu:grow";
private static final String BUTTON_PANEL_LAYOUT = "fill:50dlu";
private static final String PROGRESS_PANEL_LAYOUT = "fill:160dlu, 60dlu, fill:160dlu";
private static final int ALL_LINE_SPAN = 5;
+ private static final ImageIcon rightArrow = ModelerUtil.buildIcon("icon-arrow-closed.png");
+ private static final ImageIcon downArrow = ModelerUtil.buildIcon("icon-arrow-open.png");
private TreeToolbarPanel treeToolbar;
private ReverseEngineeringTreePanel treePanel;
@@ -104,14 +111,6 @@ public class DbImportView extends JPanel {
DefaultFormBuilder reverseEngineeringHeaderBuilder = new DefaultFormBuilder(headerLayout);
reverseEngineeringHeaderBuilder.append("Import Configuration");
- ReverseEngineeringAction reverseEngineeringAction = projectController.getApplication().getActionManager().
- getAction(ReverseEngineeringAction.class);
- reverseEngineeringAction.setView(this);
- CayenneAction.CayenneToolbarButton reverseEngineeringButton = (CayenneAction.CayenneToolbarButton)
- reverseEngineeringAction.buildButton(0);
- reverseEngineeringButton.setShowingText(true);
- reverseEngineeringButton.setText("Run Import");
- reverseEngineeringHeaderBuilder.append(reverseEngineeringButton);
builder.append(reverseEngineeringHeaderBuilder.getPanel());
DefaultFormBuilder databaseHeaderBuilder = new DefaultFormBuilder(headerLayout);
@@ -120,12 +119,26 @@ public class DbImportView extends JPanel {
getAction(LoadDbSchemaAction.class);
loadDbSchemaAction.setDraggableTreePanel(draggableTreePanel);
loadDbSchemaButton = (CayenneAction.CayenneToolbarButton) loadDbSchemaAction.buildButton(0);
- loadDbSchemaButton.setShowingText(true);
+ loadDbSchemaButton.setShowingText(false);
loadDbSchemaButton.setText("Refresh DB Schema");
- databaseHeaderBuilder.append(loadDbSchemaButton);
+ treeToolbar.add(loadDbSchemaButton);
+
+ ReverseEngineeringAction reverseEngineeringAction = projectController.getApplication().getActionManager().
+ getAction(ReverseEngineeringAction.class);
+ reverseEngineeringAction.setView(this);
+ CayenneAction.CayenneToolbarButton reverseEngineeringButton = (CayenneAction.CayenneToolbarButton)
+ reverseEngineeringAction.buildButton(0);
+ reverseEngineeringButton.setShowingText(true);
+ reverseEngineeringButton.setText("Run Import");
+ JPanel reverseEngineeringButtonPanel = new JPanel();
+ reverseEngineeringButtonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
+ reverseEngineeringButtonPanel.add(reverseEngineeringButton);
+ treeToolbar.addSeparator();
+ treeToolbar.add(reverseEngineeringButtonPanel);
builder.append("");
builder.append(databaseHeaderBuilder.getPanel());
+
builder.append(treePanel);
builder.append(buttonBuilder.getPanel());
builder.append(draggableTreePanel);
@@ -142,11 +155,31 @@ public class DbImportView extends JPanel {
progressBarBuilder.append(loadDbSchemaProgress);
builder.append(progressBarBuilder.getPanel(), ALL_LINE_SPAN);
+ createAdvancedOptionsHiderPanel(builder);
+
builder.append(configPanel, ALL_LINE_SPAN);
this.setLayout(new BorderLayout());
add(builder.getPanel(), BorderLayout.CENTER);
}
+ private void createAdvancedOptionsHiderPanel(DefaultFormBuilder builder) {
+ JPanel advancedOptionsPanel = new JPanel();
+ advancedOptionsPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
+ JButton hideButton = new JButton("Advanced Options");
+ hideButton.setIcon(configPanel.isVisible() ? downArrow : rightArrow);
+ hideButton.setBorderPainted(false);
+ hideButton.addActionListener(new AbstractAction() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ configPanel.setVisible(!configPanel.isVisible());
+ hideButton.setIcon(configPanel.isVisible() ? downArrow : rightArrow);
+ }
+ });
+ advancedOptionsPanel.add(hideButton);
+
+ builder.append(advancedOptionsPanel, ALL_LINE_SPAN);
+ }
+
private void initFormElements() {
DbImportTreeNode root = new DbImportTreeNode(new ReverseEngineering());
DbImportTreeNode draggableTreeRoot = new DbImportTreeNode(new ReverseEngineering());
@@ -168,13 +201,14 @@ public class DbImportView extends JPanel {
treeToolbar = new TreeToolbarPanel(projectController, reverseEngineeringTree, draggableTreePanel);
treePanel = new ReverseEngineeringTreePanel(projectController, reverseEngineeringTree, draggableTree);
treePanel.setTreeToolbar(treeToolbar);
-
model.setDbSchemaTree(draggableTree);
draggableTreeModel.setDbSchemaTree(draggableTree);
((ColorTreeRenderer) draggableTreePanel.getSourceTree().getCellRenderer()).
setReverseEngineeringTree(reverseEngineeringTree);
configPanel = new ReverseEngineeringConfigPanel(projectController);
+ configPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
+ configPanel.setVisible(false);
}
public boolean isSkipRelationshipsLoading() {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/438eec9b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringTreePanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringTreePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringTreePanel.java
index 010e6c1..5f4e081 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringTreePanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringTreePanel.java
@@ -39,6 +39,7 @@ import org.apache.cayenne.modeler.dialog.db.load.SchemaPopUpMenu;
import javax.swing.JScrollPane;
import javax.swing.JTree;
+import javax.swing.ScrollPaneLayout;
import javax.swing.SwingUtilities;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.TreePath;