You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by ol...@apache.org on 2009/12/30 15:50:58 UTC

svn commit: r894632 - in /cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne: modeler/dialog/ modeler/dialog/codegen/ swing/

Author: oltka
Date: Wed Dec 30 14:50:57 2009
New Revision: 894632

URL: http://svn.apache.org/viewvc?rev=894632&view=rev
Log:
CAY-1352 in "code generation" dialog add generation embeddables

* add icon to column "Class"

(cherry picked from commit 0c02e4259a6e6a82dbdcd3f5029feefe6b04c260)

Added:
    cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/swing/ImageRendererColumn.java
Modified:
    cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialogView.java
    cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabController.java
    cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java

Modified: cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialogView.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialogView.java?rev=894632&r1=894631&r2=894632&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialogView.java (original)
+++ cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialogView.java Wed Dec 30 14:50:57 2009
@@ -55,6 +55,7 @@
 import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.modeler.util.CellRenderers;
 import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.swing.ImageRendererColumn;
 
 
 /**
@@ -140,7 +141,7 @@
 
             table = new JTable(tableModel);
 
-            table.getColumnModel().getColumn(0).setCellRenderer(new ImageRenderer());
+            table.getColumnModel().getColumn(0).setCellRenderer(new ImageRendererColumn());
             table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
 
             InputMap im = table
@@ -229,35 +230,6 @@
 
 }
 
-class ImageRenderer extends DefaultTableCellRenderer {
-
-    JLabel lbl = new JLabel();
-    ImageIcon icon = null;
-
-    ImageRenderer() {
-        super();
-    }
-
-    public Component getTableCellRendererComponent(
-            JTable table,
-            Object value,
-            boolean isSelected,
-            boolean hasFocus,
-            int row,
-            int column) {
-        lbl.setOpaque(true);
-        lbl.setText(((JLabel) value).getText().toString());
-        lbl.setIcon(((JLabel) value).getIcon());
-        lbl.setBorder(BorderFactory.createLineBorder(Color.WHITE, 0));
-        lbl.setBackground(Color.WHITE);
-
-        lbl.setHorizontalAlignment(JLabel.LEFT);
-        lbl.setFont(isSelected ? FindDialog.getFontSelected() : FindDialog.getFont());
-
-        return lbl;
-    }
-}
-
 class TableModel extends javax.swing.table.DefaultTableModel {
 
     public boolean isCellEditable(int row, int col) {

Modified: cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabController.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabController.java?rev=894632&r1=894631&r2=894632&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabController.java (original)
+++ cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClassesTabController.java Wed Dec 30 14:50:57 2009
@@ -21,8 +21,11 @@
 
 import java.awt.Component;
 
+import javax.swing.JLabel;
+
 import org.apache.cayenne.modeler.util.CayenneController;
 import org.apache.cayenne.swing.BindingBuilder;
+import org.apache.cayenne.swing.ImageRendererColumn;
 import org.apache.cayenne.swing.ObjectBinding;
 import org.apache.cayenne.swing.TableBindingBuilder;
 import org.apache.commons.collections.Predicate;
@@ -59,7 +62,7 @@
         builder.bindToAction(view.getCheckAll(), "checkAllAction()");
 
         TableBindingBuilder tableBuilder = new TableBindingBuilder(builder);
-
+        
         tableBuilder.addColumn(
                 "",
                 "parent.setCurrentClass(#item), selected",
@@ -69,7 +72,7 @@
         tableBuilder.addColumn(
                 "Class",
                 "parent.getItemName(#item)",
-                String.class,
+                JLabel.class,
                 false,
                 "XXXXXXXXXXXXXX");
 
@@ -79,8 +82,9 @@
                 String.class,
                 false,
                 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
-
+       
         this.tableBinding = tableBuilder.bindToTable(view.getTable(), "parent.classes");
+        view.getTable().getColumnModel().getColumn(1).setCellRenderer(new ImageRendererColumn());
     }
 
     public boolean isSelected() {

Modified: cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java?rev=894632&r1=894631&r2=894632&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java (original)
+++ cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java Wed Dec 30 14:50:57 2009
@@ -26,10 +26,14 @@
 import java.util.List;
 import java.util.Set;
 
+import javax.swing.Icon;
+import javax.swing.JLabel;
+
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.Embeddable;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.modeler.util.CayenneController;
+import org.apache.cayenne.modeler.util.CellRenderers;
 import org.apache.cayenne.validation.ValidationFailure;
 import org.apache.cayenne.validation.ValidationResult;
 import org.apache.commons.collections.Predicate;
@@ -252,10 +256,20 @@
         return dataMap;
     }
 
-    public String getItemName(Object obj) {
+    public JLabel getItemName(Object obj) {
+        String className;
+        Icon icon = null;
         if (obj instanceof Embeddable) {
-            return ((Embeddable) obj).getClassName();
-        }
-        return ((ObjEntity) obj).getName();
+            className = ((Embeddable) obj).getClassName();
+            icon = CellRenderers.iconForObject(new Embeddable());
+        } else {
+            className = ((ObjEntity) obj).getName();
+            icon = CellRenderers.iconForObject(new ObjEntity());
+        }
+        JLabel labelIcon = new JLabel();
+        labelIcon.setIcon(icon);
+        labelIcon.setVisible(true);
+        labelIcon.setText(className);
+        return labelIcon;
     }
 }

Added: cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/swing/ImageRendererColumn.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/swing/ImageRendererColumn.java?rev=894632&view=auto
==============================================================================
--- cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/swing/ImageRendererColumn.java (added)
+++ cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/swing/ImageRendererColumn.java Wed Dec 30 14:50:57 2009
@@ -0,0 +1,59 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+package org.apache.cayenne.swing;
+
+import java.awt.Color;
+import java.awt.Component;
+
+import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableCellRenderer;
+
+import org.apache.cayenne.modeler.dialog.FindDialog;
+
+public class ImageRendererColumn extends DefaultTableCellRenderer {
+
+    JLabel lbl = new JLabel();
+    ImageIcon icon = null;
+
+    public ImageRendererColumn() {
+        super();
+    }
+
+    public Component getTableCellRendererComponent(
+            JTable table,
+            Object value,
+            boolean isSelected,
+            boolean hasFocus,
+            int row,
+            int column) {
+        lbl.setOpaque(true);
+        lbl.setText(((JLabel) value).getText().toString());
+        lbl.setIcon(((JLabel) value).getIcon());
+        lbl.setBorder(BorderFactory.createLineBorder(Color.WHITE, 0));
+        lbl.setBackground(Color.WHITE);
+
+        lbl.setHorizontalAlignment(JLabel.LEFT);
+        lbl.setFont(isSelected ? FindDialog.getFontSelected() : FindDialog.getFont());
+
+        return lbl;
+    }
+}