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;
+ }
+}