This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit 4eec71d1ae5db7285e64e6828a7c481345cbedb2 Author: Andrus Adamchik <[email protected]> AuthorDate: Tue May 5 16:13:36 2026 -0400 Modeler cleanup don't inherit from JScrollPane, use it via composition --- .../editor/datamap/dbimport/DbImportView.java | 29 +++--- .../dbimport/ReverseEngineeringTreePanel.java | 15 ++- ...ggableTreePanel.java => SourceTargetPanel.java} | 116 ++++++++++++--------- .../dbimport/action/LoadDbSchemaAction.java | 30 +++--- .../dbimport/action/MoveImportNodeAction.java | 4 +- .../cayenne/modeler/ui/welcome/WelcomeScreen.java | 16 +-- 6 files changed, 114 insertions(+), 96 deletions(-) diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java index d98cb0ddc..ede1b0c4c 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java @@ -26,7 +26,6 @@ import org.apache.cayenne.modeler.toolkit.icon.IconFactory; import org.apache.cayenne.modeler.toolkit.ProjectPanel; import org.apache.cayenne.modeler.project.ProjectSession; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action.DbImportActions; -import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action.LoadDbSchemaAction; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action.ModelerDbImportAction; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.tree.ColorTreeRenderer; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.tree.DbImportTreeNode; @@ -47,7 +46,7 @@ public class DbImportView extends ProjectPanel { private final TreeToolbarPanel treeToolbar; private final ReverseEngineeringTreePanel treePanel; private final ReverseEngineeringConfigPanel configPanel; - private final DraggableTreePanel draggableTreePanel; + private final SourceTargetPanel sourceTargetPanel; private final JProgressBar loadDbSchemaProgress; private final JProgressBar reverseEngineeringProgress; private final ModelerAbstractAction.CayenneToolbarButton loadDbSchemaButton; @@ -73,14 +72,14 @@ public class DbImportView extends ProjectPanel { reverseEngineeringTree.setShowsRootHandles(true); DbImportActions actions = new DbImportActions(app(), this, reverseEngineeringTree, draggableTree); - this.draggableTreePanel = new DraggableTreePanel(draggableTree, reverseEngineeringTree, actions); + this.sourceTargetPanel = new SourceTargetPanel(draggableTree, reverseEngineeringTree, actions); draggableTree.setLoadDbSchemaAction(actions.getLoadDbSchemaAction()); this.treeToolbar = new TreeToolbarPanel(reverseEngineeringTree, actions); - this.treePanel = new ReverseEngineeringTreePanel(session, reverseEngineeringTree, draggableTree, actions); + this.treePanel = new ReverseEngineeringTreePanel(session, reverseEngineeringTree, draggableTree, this.sourceTargetPanel, actions); treePanel.setTreeToolbar(treeToolbar); model.setDbSchemaTree(draggableTree); draggableTreeModel.setDbSchemaTree(draggableTree); - ((ColorTreeRenderer) draggableTreePanel.getSourceTree().getCellRenderer()) + ((ColorTreeRenderer) sourceTargetPanel.getSourceTree().getCellRenderer()) .setReverseEngineeringTree(reverseEngineeringTree); this.configPanel = new ReverseEngineeringConfigPanel(session, this); this.loadDbSchemaProgress = new JProgressBar(); @@ -98,8 +97,8 @@ public class DbImportView extends ProjectPanel { FormLayout buttonPanelLayout = new FormLayout("fill:50dlu"); DefaultFormBuilder buttonBuilder = new DefaultFormBuilder(buttonPanelLayout); - buttonBuilder.append(draggableTreePanel.getMoveButton()); - buttonBuilder.append(draggableTreePanel.getMoveInvertButton()); + buttonBuilder.append(sourceTargetPanel.getMoveButton()); + buttonBuilder.append(sourceTargetPanel.getMoveInvertButton()); FormLayout layout = new FormLayout("fill:160dlu:grow, 5dlu, fill:50dlu, 5dlu, fill:160dlu:grow"); DefaultFormBuilder builder = new DefaultFormBuilder(layout); @@ -136,7 +135,7 @@ public class DbImportView extends ProjectPanel { builder.append(databaseHeaderBuilder.getPanel()); builder.append(treePanel); builder.append(buttonBuilder.getPanel()); - builder.append(draggableTreePanel); + builder.append(sourceTargetPanel); loadDbSchemaProgress.setIndeterminate(true); loadDbSchemaProgress.setVisible(false); @@ -153,7 +152,7 @@ public class DbImportView extends ProjectPanel { builder.append(configPanel, ALL_LINE_SPAN); setLayout(new BorderLayout()); add(builder.getPanel(), BorderLayout.CENTER); - draggableTreePanel.getSourceTree().repaint(); + sourceTargetPanel.getSourceTree().repaint(); } private void initBindings() { @@ -206,11 +205,11 @@ public class DbImportView extends ProjectPanel { configPanel.applyTableTypes("TABLE, VIEW"); } treePanel.updateTree(); - DbImportTreeNode root = draggableTreePanel.getSourceTree().getRootNode(); + DbImportTreeNode root = sourceTargetPanel.getSourceTree().getRootNode(); root.removeAllChildren(); - draggableTreePanel.updateTree(session().getSelectedDataMap()); - draggableTreePanel.getMoveButton().setEnabled(false); - draggableTreePanel.getMoveInvertButton().setEnabled(false); + sourceTargetPanel.updateTree(session().getSelectedDataMap()); + sourceTargetPanel.getMoveButton().setEnabled(false); + sourceTargetPanel.getMoveInvertButton().setEnabled(false); } initFromModel = false; } @@ -235,8 +234,8 @@ public class DbImportView extends ProjectPanel { return loadDbSchemaButton; } - public DraggableTreePanel getDraggableTreePanel() { - return draggableTreePanel; + public SourceTargetPanel getDraggableTreePanel() { + return sourceTargetPanel; } public boolean isInitFromModel() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ReverseEngineeringTreePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ReverseEngineeringTreePanel.java index 50a10ce9c..0e55693c1 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ReverseEngineeringTreePanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ReverseEngineeringTreePanel.java @@ -33,32 +33,36 @@ import org.apache.cayenne.modeler.project.ProjectSession; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action.DbImportActions; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.tree.DbImportTreeNode; +import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.SwingUtilities; import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.TreePath; +import java.awt.BorderLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.HashMap; import java.util.Map; -class ReverseEngineeringTreePanel extends JScrollPane { +class ReverseEngineeringTreePanel extends JPanel { private final DbImportTree reverseEngineeringTree; private final DbImportTree dbSchemaTree; private final ProjectSession session; private final DbImportActions actions; + private final SourceTargetPanel sourceTargetPanel; private TreeToolbarPanel treeToolbar; private final Map<Class<?>, DefaultPopUpMenu> popups; ReverseEngineeringTreePanel(ProjectSession session, DbImportTree reverseEngineeringTree, - DbImportTree dbSchemaTree, DbImportActions actions) { - super(reverseEngineeringTree); + DbImportTree dbSchemaTree, SourceTargetPanel sourceTargetPanel, + DbImportActions actions) { this.session = session; this.reverseEngineeringTree = reverseEngineeringTree; this.dbSchemaTree = dbSchemaTree; + this.sourceTargetPanel = sourceTargetPanel; this.actions = actions; this.popups = new HashMap<>(); initLayout(); @@ -86,6 +90,8 @@ class ReverseEngineeringTreePanel extends JScrollPane { popups.put(IncludeProcedure.class, new DefaultPopUpMenu(actions)); popups.put(ExcludeProcedure.class, new DefaultPopUpMenu(actions)); changeIcons(); + setLayout(new BorderLayout()); + add(new JScrollPane(reverseEngineeringTree), BorderLayout.CENTER); } private void initBindings() { @@ -153,8 +159,7 @@ class ReverseEngineeringTreePanel extends JScrollPane { private void scrollToNode(JTree tree, DbImportTreeNode node) { TreePath path = new TreePath(node.getPath()); tree.scrollPathToVisible(path); - DraggableTreePanel parentPanel = ((DraggableTreePanel) dbSchemaTree.getParent().getParent()); - parentPanel.getHorizontalScrollBar().setValue(0); + sourceTargetPanel.resetHorizontalScroll(); } private ReverseEngineering getReverseEngineeringBySelectedMap() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DraggableTreePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/SourceTargetPanel.java similarity index 95% rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DraggableTreePanel.java rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/SourceTargetPanel.java index 2f210d4de..355a21749 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DraggableTreePanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/SourceTargetPanel.java @@ -41,6 +41,7 @@ import javax.swing.*; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.TreePath; +import java.awt.BorderLayout; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; @@ -54,7 +55,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -public class DraggableTreePanel extends JScrollPane { +public class SourceTargetPanel extends JPanel { private static final int ROOT_LEVEL = 14; private static final int FIRST_LEVEL = 11; @@ -74,10 +75,11 @@ public class DraggableTreePanel extends JScrollPane { private final ModelerAbstractAction.CayenneToolbarButton moveButton; private final ModelerAbstractAction.CayenneToolbarButton moveInvertButton; + private final JScrollPane scrollPane; + private ImportSourceTree importSourceTree; - public DraggableTreePanel(DbImportTree sourceTree, DbImportTree targetTree, DbImportActions actions) { - super(sourceTree); + public SourceTargetPanel(DbImportTree sourceTree, DbImportTree targetTree, DbImportActions actions) { this.targetTree = targetTree; this.sourceTree = sourceTree; this.actions = actions; @@ -86,55 +88,13 @@ public class DraggableTreePanel extends JScrollPane { this.insertableLevels = new HashMap<>(); this.moveButton = (ModelerAbstractAction.CayenneToolbarButton) actions.getMoveImportNodeAction().buildButton(); this.moveInvertButton = (ModelerAbstractAction.CayenneToolbarButton) actions.getMoveInvertNodeAction().buildButton(); + this.scrollPane = new JScrollPane(sourceTree); + initLayout(); initBindings(); } - public void updateTree(DataMap dataMap) { - DbImportModel model = (DbImportModel) sourceTree.getModel(); - model.reload(); - if (databaseStructures.get(dataMap) != null) { - sourceTree.setReverseEngineering(databaseStructures.get(dataMap)); - sourceTree.translateReverseEngineeringToTree(databaseStructures.get(dataMap), true); - sourceTree.setEnabled(true); - } else { - sourceTree.setEnabled(false); - } - } - - private void initBindings() { - sourceTree.addKeyListener(new SourceTreeKeyListener()); - sourceTree.setTransferHandler(new SourceTreeTransferHandler()); - sourceTree.addTreeSelectionListener(new SourceTreeSelectionListener()); - sourceTree.addMouseListener(new ResetFocusMouseAdapter()); - - targetTree.addKeyListener(new TargetTreeKeyListener()); - targetTree.setTransferHandler(new TargetTreeTransferHandler()); - targetTree.addTreeSelectionListener(new TargetTreeSelectionListener()); - targetTree.setDragEnabled(true); - targetTree.setDropMode(DropMode.INSERT); - } - - private boolean canBeInverted() { - DbImportTreeNode selectedElement = sourceTree.getSelectedNode(); - if (selectedElement == null) { - return false; - } - return levels.get(selectedElement.getUserObject().getClass()) < SECOND_LEVEL; - } - private void initLayout() { - initLevels(); - sourceTree.setDragEnabled(true); - sourceTree.setCellRenderer(new ColorTreeRenderer()); - sourceTree.setDropMode(DropMode.INSERT); - moveButton.setShowingText(true); - moveButton.setText(MOVE_BUTTON_LABEL); - moveInvertButton.setShowingText(true); - moveInvertButton.setText(MOVE_INV_BUTTON_LABEL); - } - - private void initLevels() { levels.put(ReverseEngineering.class, ROOT_LEVEL); levels.put(Catalog.class, FIRST_LEVEL); levels.put(Schema.class, SECOND_LEVEL); @@ -168,6 +128,54 @@ public class DraggableTreePanel extends JScrollPane { insertableLevels.put(IncludeTable.class, Arrays.asList( IncludeColumn.class, ExcludeColumn.class )); + + sourceTree.setDragEnabled(true); + sourceTree.setCellRenderer(new ColorTreeRenderer()); + sourceTree.setDropMode(DropMode.INSERT); + moveButton.setShowingText(true); + moveButton.setText(MOVE_BUTTON_LABEL); + moveInvertButton.setShowingText(true); + moveInvertButton.setText(MOVE_INV_BUTTON_LABEL); + + setLayout(new BorderLayout()); + add(scrollPane, BorderLayout.CENTER); + } + + private void initBindings() { + sourceTree.addKeyListener(new SourceTreeKeyListener()); + sourceTree.setTransferHandler(new SourceTreeTransferHandler()); + sourceTree.addTreeSelectionListener(new SourceTreeSelectionListener()); + sourceTree.addMouseListener(new ResetFocusMouseAdapter()); + + targetTree.addKeyListener(new TargetTreeKeyListener()); + targetTree.setTransferHandler(new TargetTreeTransferHandler()); + targetTree.addTreeSelectionListener(new TargetTreeSelectionListener()); + targetTree.setDragEnabled(true); + targetTree.setDropMode(DropMode.INSERT); + } + + public void updateTree(DataMap dataMap) { + DbImportModel model = (DbImportModel) sourceTree.getModel(); + model.reload(); + if (databaseStructures.get(dataMap) != null) { + sourceTree.setReverseEngineering(databaseStructures.get(dataMap)); + sourceTree.translateReverseEngineeringToTree(databaseStructures.get(dataMap), true); + sourceTree.setEnabled(true); + } else { + sourceTree.setEnabled(false); + } + } + + private boolean canBeInverted() { + DbImportTreeNode selectedElement = sourceTree.getSelectedNode(); + if (selectedElement == null) { + return false; + } + return levels.get(selectedElement.getUserObject().getClass()) < SECOND_LEVEL; + } + + public void resetHorizontalScroll() { + scrollPane.getHorizontalScrollBar().setValue(0); } private boolean canBeMoved() { @@ -259,7 +267,8 @@ public class DraggableTreePanel extends JScrollPane { private class SourceTreeKeyListener implements KeyListener { @Override - public void keyTyped(KeyEvent e) {} + public void keyTyped(KeyEvent e) { + } @Override public void keyPressed(KeyEvent e) { @@ -271,12 +280,14 @@ public class DraggableTreePanel extends JScrollPane { } @Override - public void keyReleased(KeyEvent e) {} + public void keyReleased(KeyEvent e) { + } } private class TargetTreeKeyListener implements KeyListener { @Override - public void keyTyped(KeyEvent e) {} + public void keyTyped(KeyEvent e) { + } @Override public void keyPressed(KeyEvent e) { @@ -286,7 +297,8 @@ public class DraggableTreePanel extends JScrollPane { } @Override - public void keyReleased(KeyEvent e) {} + public void keyReleased(KeyEvent e) { + } } private class TargetTreeSelectionListener implements TreeSelectionListener { @@ -432,7 +444,7 @@ public class DraggableTreePanel extends JScrollPane { private class ResetFocusMouseAdapter extends MouseAdapter { @Override public void mouseClicked(MouseEvent e) { - if (sourceTree.getRowForLocation(e.getX(),e.getY()) == -1) { + if (sourceTree.getRowForLocation(e.getX(), e.getY()) == -1) { sourceTree.setSelectionRow(-1); moveInvertButton.setEnabled(false); moveButton.setEnabled(false); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java index 47698d910..477b03f48 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java @@ -29,7 +29,7 @@ import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.tree.DbImpo import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DatabaseSchemaLoader; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DbImportModel; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DbImportView; -import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DraggableTreePanel; +import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.SourceTargetPanel; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.PrintColumnsBiFunction; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.PrintTablesBiFunction; import org.apache.cayenne.modeler.dbconnector.DBConnector; @@ -65,14 +65,14 @@ public class LoadDbSchemaAction extends DBConnectionAwareAction { } public void loadDbSchema(TreePath tablePath) { - DraggableTreePanel draggableTreePanel = view.getDraggableTreePanel(); + SourceTargetPanel sourceTargetPanel = view.getDraggableTreePanel(); view.getLoadDbSchemaProgress().setVisible(true); view.getLoadDbSchemaButton().setEnabled(false); Thread thread = new Thread(() -> { LoadDbSchemaAction.this.setEnabled(false); view.lockToolbarButtons(); - draggableTreePanel.getMoveButton().setEnabled(false); - draggableTreePanel.getMoveInvertButton().setEnabled(false); + sourceTargetPanel.getMoveButton().setEnabled(false); + sourceTargetPanel.getMoveInvertButton().setEnabled(false); try { DBConnector connectionInfo = getConnector( @@ -117,36 +117,36 @@ public class LoadDbSchemaAction extends DBConnectionAwareAction { } private void loadDataBase(DBConnector connectionInfo) throws Exception { - DraggableTreePanel draggableTreePanel = view.getDraggableTreePanel(); + SourceTargetPanel sourceTargetPanel = view.getDraggableTreePanel(); ReverseEngineering databaseReverseEngineering = new DatabaseSchemaLoader(application.getDbAdapterFactory()) .load(connectionInfo, application.getClassLoader()); - draggableTreePanel.getSourceTree() + sourceTargetPanel.getSourceTree() .setEnabled(true); - draggableTreePanel.getSourceTree() + sourceTargetPanel.getSourceTree() .translateReverseEngineeringToTree(databaseReverseEngineering, true); - draggableTreePanel + sourceTargetPanel .bindReverseEngineeringToDatamap(getProjectSession().getSelectedDataMap(), databaseReverseEngineering); - ((DbImportModel) draggableTreePanel.getSourceTree().getModel()).reload(); + ((DbImportModel) sourceTargetPanel.getSourceTree().getModel()).reload(); } private void loadTables(DBConnector connectionInfo, TreePath tablePath) throws Exception { - DraggableTreePanel draggableTreePanel = view.getDraggableTreePanel(); + SourceTargetPanel sourceTargetPanel = view.getDraggableTreePanel(); ReverseEngineering databaseReverseEngineering = new DatabaseSchemaLoader(application.getDbAdapterFactory()) .loadTables(connectionInfo, application.getClassLoader(), tablePath, view.getTableTypes()); - draggableTreePanel.getSourceTree() + sourceTargetPanel.getSourceTree() .update(databaseReverseEngineering, - new PrintTablesBiFunction(draggableTreePanel.getSourceTree())); + new PrintTablesBiFunction(sourceTargetPanel.getSourceTree())); } private void loadColumns(DBConnector connectionInfo, TreePath tablePath) throws SQLException { - DraggableTreePanel draggableTreePanel = view.getDraggableTreePanel(); + SourceTargetPanel sourceTargetPanel = view.getDraggableTreePanel(); ReverseEngineering databaseReverseEngineering = new DatabaseSchemaLoader(application.getDbAdapterFactory()) .loadColumns(connectionInfo, application.getClassLoader(), tablePath); - draggableTreePanel.getSourceTree() + sourceTargetPanel.getSourceTree() .update(databaseReverseEngineering, - new PrintColumnsBiFunction(draggableTreePanel.getSourceTree())); + new PrintColumnsBiFunction(sourceTargetPanel.getSourceTree())); } } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/MoveImportNodeAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/MoveImportNodeAction.java index 44f1e7bca..7e8e289d1 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/MoveImportNodeAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/MoveImportNodeAction.java @@ -33,7 +33,7 @@ import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.tree.DbImpo import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DbImportSorter; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DbImportTree; import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DbImportView; -import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DraggableTreePanel; +import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.SourceTargetPanel; import org.apache.cayenne.modeler.undo.DbImportTreeUndoableEdit; import org.apache.cayenne.modeler.ui.action.ModelerAbstractAction; @@ -124,7 +124,7 @@ public class MoveImportNodeAction extends ModelerAbstractAction { TreeManipulationAction action = null; DbImportTreeNode foundNode = null; String insertableName = EMPTY_NAME; - DraggableTreePanel panel = view.getDraggableTreePanel(); + SourceTargetPanel panel = view.getDraggableTreePanel(); view.getReverseEngineeringProgress().setVisible(true); if (paths != null) { boolean isChanged = false; diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/welcome/WelcomeScreen.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/welcome/WelcomeScreen.java index f90d346c0..16b3ba5ee 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/welcome/WelcomeScreen.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/welcome/WelcomeScreen.java @@ -22,6 +22,7 @@ package org.apache.cayenne.modeler.ui.welcome; import org.apache.cayenne.modeler.Application; import org.apache.cayenne.modeler.pref.RecentProjectsPrefs; import org.apache.cayenne.modeler.service.action.GlobalActions; +import org.apache.cayenne.modeler.toolkit.AppPanel; import org.apache.cayenne.modeler.toolkit.icon.IconFactory; import org.apache.cayenne.modeler.ui.action.NewProjectAction; import org.apache.cayenne.modeler.ui.action.OpenProjectAction; @@ -36,9 +37,8 @@ import java.util.List; /** * A panel shown when no project is open. User can quickly create new project or open an existing one. */ -public class WelcomeScreen extends JScrollPane implements RecentFileListListener, RecentFileListRenderer.OnFileClickListener { +public class WelcomeScreen extends AppPanel implements RecentFileListListener, RecentFileListRenderer.OnFileClickListener { - private final Application application; private final GlobalActions actionManager; private final JList<String> recentProjectsList; @@ -46,8 +46,8 @@ public class WelcomeScreen extends JScrollPane implements RecentFileListListener private final JPanel mainPanel; public WelcomeScreen(Application application) { - this.application = application; - this.actionManager = application.getActionManager(); + super(application); + this.actionManager = app().getActionManager(); this.mainPanel = new WelcomeScreenMainPanel(); this.buttonsPanel = new BackgroundPanel("welcome/welcome-screen-left-bg.jpg"); this.recentProjectsList = new JList<>(); @@ -56,10 +56,12 @@ public class WelcomeScreen extends JScrollPane implements RecentFileListListener } private void initLayout() { - setBorder(BorderFactory.createEmptyBorder()); initButtonsPane(); initFileListPane(); - setViewportView(mainPanel); + JScrollPane scrollPane = new JScrollPane(mainPanel); + scrollPane.setBorder(BorderFactory.createEmptyBorder()); + setLayout(new BorderLayout()); + add(scrollPane, BorderLayout.CENTER); } private void initFileListPane() { @@ -124,7 +126,7 @@ public class WelcomeScreen extends JScrollPane implements RecentFileListListener @Override public void recentFileListChanged() { - List<File> arr = RecentProjectsPrefs.of(application.getPreferencesRepository()).getFiles(); + List<File> arr = RecentProjectsPrefs.of(app().getPreferencesRepository()).getFiles(); recentProjectsList.setModel(new RecentFileListModel(arr)); } }
