Repository: cayenne
Updated Branches:
  refs/heads/master 9ac7a2292 -> 781dcce21


CAY-2497 Modeler: SQL Scripts tab isn't scrollable


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/c339c308
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/c339c308
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/c339c308

Branch: refs/heads/master
Commit: c339c308f327243a9294f00ee054ab0b8df2a10d
Parents: b580bda
Author: Arseni Bulatski <ancars...@gmail.com>
Authored: Mon Nov 19 12:15:51 2018 +0300
Committer: Arseni Bulatski <ancars...@gmail.com>
Committed: Mon Nov 19 12:19:51 2018 +0300

----------------------------------------------------------------------
 RELEASE-NOTES.txt                               |  1 +
 .../modeler/editor/SQLTemplateScriptsTab.java   | 51 +++++++++-----------
 .../components/textpane/JCayenneTextPane.java   | 29 ++++++-----
 3 files changed, 37 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/c339c308/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index d701e29..6943bd2 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -26,6 +26,7 @@ CAY-2487 Removed usage of CayenneException.
 CAY-2489 Add validation to the case of not to PK relationships
 CAY-2491 Remaster Db Import View
 CAY-2493 Save cgen configuration with datamap XML
+CAY-2497 Modeler: SQL Scripts tab isn't scrollable
 
 Bug Fixes:
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/c339c308/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateScriptsTab.java
----------------------------------------------------------------------
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateScriptsTab.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateScriptsTab.java
index 90f8451..1427c28 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateScriptsTab.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateScriptsTab.java
@@ -23,10 +23,10 @@ import com.jgoodies.forms.builder.PanelBuilder;
 import com.jgoodies.forms.layout.CellConstraints;
 import com.jgoodies.forms.layout.FormLayout;
 import org.apache.cayenne.configuration.event.QueryEvent;
-import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.util.DbAdapterInfo;
 import org.apache.cayenne.map.QueryDescriptor;
 import org.apache.cayenne.map.SQLTemplateDescriptor;
+import org.apache.cayenne.modeler.ProjectController;
+import org.apache.cayenne.modeler.util.DbAdapterInfo;
 import org.apache.cayenne.modeler.util.JUndoableCayenneTextPane;
 import org.apache.cayenne.swing.components.textpane.JCayenneTextPane;
 import org.apache.cayenne.swing.components.textpane.syntax.SQLSyntaxConstants;
@@ -49,11 +49,9 @@ import javax.swing.text.Document;
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Component;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
+import java.util.*;
 import java.util.List;
-import java.util.Map;
+
 
 /**
  * A panel for configuring SQL scripts of a SQL template.
@@ -80,6 +78,16 @@ public class SQLTemplateScriptsTab extends JPanel {
         initView();
     }
 
+    private void prepareScriptAreas() {
+        for(String key : DbAdapterInfo.getStandardAdapters()) {
+            JCayenneTextPane currPane = new JUndoableCayenneTextPane(new 
SQLSyntaxConstants());
+            currPane.setName(key);
+            currPane.getDocument().addDocumentListener(new 
CustomListener(currPane.getName()));
+            builder.add(currPane.getScrollPane(), cc.xy(3, 2));
+            panes.add(currPane);
+        }
+    }
+
     protected void initView() {
         // create widgets, etc.
 
@@ -114,17 +122,19 @@ public class SQLTemplateScriptsTab extends JPanel {
 
         builder = new PanelBuilder(new FormLayout(
                 "fill:100dlu, 3dlu, fill:100dlu:grow",
-                "3dlu, fill:p:grow"));
+                "3dlu, fill:100dlu:grow"));
 
         // orderings table must grow as the panel is resized
         builder.add(new JScrollPane(
                 scripts,
                 JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                 JScrollPane.HORIZONTAL_SCROLLBAR_NEVER), cc.xy(1, 2));
-        builder.add(textPane.getPane(), cc.xy(3, 2));
+        builder.add(textPane.getScrollPane(), cc.xy(3, 2));
 
         setLayout(new BorderLayout());
         add(builder.getPanel(), BorderLayout.CENTER);
+
+        prepareScriptAreas();
     }
 
     void initFromModel() {
@@ -182,33 +192,16 @@ public class SQLTemplateScriptsTab extends JPanel {
             return;
         }
 
-        boolean exist = false;
-        for (JCayenneTextPane textPane: panes) {
-            if (textPane.getName().equals(key)) {
-                exist = true;
-                break;
-            }
-        }
-
-        if (!exist) {
-            JCayenneTextPane textPane = new JUndoableCayenneTextPane(new 
SQLSyntaxConstants());
-            textPane.setName(key);
-            textPane.getDocument().addDocumentListener(new 
CustomListener(textPane.getName()));
-            builder.add(textPane.getPane(), cc.xy(3, 2));
-            panes.add(textPane);
-        }
-
         final String text = (key.equals(DEFAULT_LABEL)) ? query.getSql() : 
query
                 .getAdapterSql().get(key);
 
-        for (final JCayenneTextPane textPane: panes) {
+        for (final JCayenneTextPane textPane : panes) {
             if (key.equals(textPane.getName())) {
                 textPane.setDocumentTextDirect(text);
-                textPane.getPane().setVisible(true);
-                textPane.getPane().setEditable(true);
+                textPane.getScrollPane().setVisible(true);
+                textPane.getPane().requestFocusInWindow();
             } else {
-                textPane.getPane().setVisible(false);
-                textPane.getPane().setEditable(false);
+                textPane.getScrollPane().setVisible(false);
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/c339c308/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/textpane/JCayenneTextPane.java
----------------------------------------------------------------------
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/textpane/JCayenneTextPane.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/textpane/JCayenneTextPane.java
index 30ca3bc..0f99977 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/textpane/JCayenneTextPane.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/textpane/JCayenneTextPane.java
@@ -18,14 +18,12 @@
  ****************************************************************/
 package org.apache.cayenne.swing.components.textpane;
 
-import java.awt.Color;
-import java.awt.Cursor;
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Image;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.event.MouseEvent;
+import org.apache.cayenne.modeler.Main;
+import org.apache.cayenne.modeler.util.ModelerUtil;
+import org.apache.cayenne.swing.components.textpane.syntax.SQLSyntaxConstants;
+import org.apache.cayenne.swing.components.textpane.syntax.SyntaxConstant;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.swing.BorderFactory;
 import javax.swing.JPanel;
@@ -38,13 +36,14 @@ import javax.swing.text.BadLocationException;
 import javax.swing.text.Document;
 import javax.swing.text.Highlighter;
 import javax.swing.text.JTextComponent;
-
-import org.apache.cayenne.modeler.Main;
-import org.apache.cayenne.modeler.util.ModelerUtil;
-import org.apache.cayenne.swing.components.textpane.syntax.SQLSyntaxConstants;
-import org.apache.cayenne.swing.components.textpane.syntax.SyntaxConstant;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.awt.Color;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.awt.Point;
+import java.awt.Rectangle;
+import java.awt.event.MouseEvent;
 
 public class JCayenneTextPane extends JPanel {
 

Reply via email to