You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2009/10/08 11:04:52 UTC
svn commit: r823096 [2/2] - in /cayenne/main/trunk/framework:
cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/
cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/
cayenne-modeler/.settings/ cayenne-modeler/src/main/java...
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjAttributeTableModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjAttributeTableModel.java?rev=823096&r1=823095&r2=823096&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjAttributeTableModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjAttributeTableModel.java Thu Oct 8 09:04:49 2009
@@ -19,19 +19,12 @@
package org.apache.cayenne.modeler.editor;
-import java.awt.Component;
-import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
-import java.util.EventObject;
-import java.util.Hashtable;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
-import javax.swing.JTable;
-import javax.swing.event.CellEditorListener;
-import javax.swing.table.TableCellEditor;
import org.apache.cayenne.dba.TypesMapping;
import org.apache.cayenne.map.Attribute;
import org.apache.cayenne.map.DbAttribute;
@@ -45,6 +38,7 @@
import org.apache.cayenne.modeler.util.CayenneTable;
import org.apache.cayenne.modeler.util.CayenneTableModel;
import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.util.CellEditorForAttributeTable;
import org.apache.cayenne.modeler.util.ModelerUtil;
import org.apache.cayenne.modeler.util.ProjectUtil;
import org.apache.cayenne.util.Util;
@@ -67,7 +61,7 @@
protected ObjEntity entity;
protected DbEntity dbEntity;
- private CellEditor cellEditor;
+ private CellEditorForAttributeTable cellEditor;
private CayenneTable table;
public ObjAttributeTableModel(ObjEntity entity, ProjectController mediator,
@@ -84,6 +78,11 @@
protected void orderList() {
// NOOP
}
+
+
+ public CayenneTable getTable() {
+ return table;
+ }
public Class getColumnClass(int col) {
switch (col) {
@@ -221,15 +220,15 @@
}
}
- public CellEditor setCellEditor(Collection<String> nameAttr, CayenneTable table) {
- this.cellEditor = new CellEditor(table, CayenneWidgetFactory.createComboBox(
+ public CellEditorForAttributeTable setCellEditor(Collection<String> nameAttr, CayenneTable table) {
+ this.cellEditor = new CellEditorForAttributeTable(table, CayenneWidgetFactory.createComboBox(
nameAttr,
true));
this.table = table;
return cellEditor;
}
- public CellEditor getCellEditor() {
+ public CellEditorForAttributeTable getCellEditor() {
return cellEditor;
}
@@ -384,85 +383,4 @@
}
}
- final class CellEditor implements TableCellEditor {
-
- protected Hashtable editors;
- protected TableCellEditor editor, defaultEditor;
- JTable table;
-
- public CellEditor(JTable table, JComboBox combo) {
- this.table = table;
- editors = new Hashtable();
- if (combo != null) {
- defaultEditor = new DefaultCellEditor(combo);
- }
- else {
- defaultEditor = new DefaultCellEditor(new JComboBox());
- }
- }
-
- public void setEditorAt(int row, TableCellEditor editor) {
- editors.put(new Integer(row), editor);
- }
-
- public Component getTableCellEditorComponent(
- JTable table,
- Object value,
- boolean isSelected,
- int row,
- int column) {
-
- return editor.getTableCellEditorComponent(
- table,
- value,
- isSelected,
- row,
- column);
- }
-
- public Object getCellEditorValue() {
- return editor.getCellEditorValue();
- }
-
- public boolean stopCellEditing() {
- return editor.stopCellEditing();
- }
-
- public void cancelCellEditing() {
- editor.cancelCellEditing();
- }
-
- public boolean isCellEditable(EventObject anEvent) {
- selectEditor((MouseEvent) anEvent);
- return editor.isCellEditable(anEvent);
- }
-
- public void addCellEditorListener(CellEditorListener l) {
- editor.addCellEditorListener(l);
- }
-
- public void removeCellEditorListener(CellEditorListener l) {
- editor.removeCellEditorListener(l);
- }
-
- public boolean shouldSelectCell(EventObject anEvent) {
- selectEditor((MouseEvent) anEvent);
- return editor.shouldSelectCell(anEvent);
- }
-
- protected void selectEditor(MouseEvent e) {
- int row;
- if (e == null) {
- row = table.getSelectionModel().getAnchorSelectionIndex();
- }
- else {
- row = table.rowAtPoint(e.getPoint());
- }
- editor = (TableCellEditor) editors.get(new Integer(row));
- if (editor == null) {
- editor = defaultEditor;
- }
- }
- }
-
}
Added: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CellEditorForAttributeTable.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CellEditorForAttributeTable.java?rev=823096&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CellEditorForAttributeTable.java (added)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CellEditorForAttributeTable.java Thu Oct 8 09:04:49 2009
@@ -0,0 +1,114 @@
+/*****************************************************************
+ * 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.modeler.util;
+
+import java.awt.Component;
+import java.awt.event.MouseEvent;
+import java.util.EventObject;
+import java.util.Hashtable;
+
+import javax.swing.DefaultCellEditor;
+import javax.swing.JComboBox;
+import javax.swing.JTable;
+import javax.swing.event.CellEditorListener;
+import javax.swing.table.TableCellEditor;
+
+
+public class CellEditorForAttributeTable implements TableCellEditor {
+
+ protected Hashtable editors;
+ protected TableCellEditor editor, defaultEditor;
+ JTable table;
+
+ public CellEditorForAttributeTable(JTable table, JComboBox combo) {
+ this.table = table;
+ editors = new Hashtable();
+ if (combo != null) {
+ defaultEditor = new DefaultCellEditor(combo);
+ }
+ else {
+ defaultEditor = new DefaultCellEditor(new JComboBox());
+ }
+ }
+
+ public void setEditorAt(int row, TableCellEditor editor) {
+ editors.put(new Integer(row), editor);
+ }
+
+ public Component getTableCellEditorComponent(
+ JTable table,
+ Object value,
+ boolean isSelected,
+ int row,
+ int column) {
+
+ return editor.getTableCellEditorComponent(
+ table,
+ value,
+ isSelected,
+ row,
+ column);
+ }
+
+ public Object getCellEditorValue() {
+ return editor.getCellEditorValue();
+ }
+
+ public boolean stopCellEditing() {
+ return editor.stopCellEditing();
+ }
+
+ public void cancelCellEditing() {
+ editor.cancelCellEditing();
+ }
+
+ public boolean isCellEditable(EventObject anEvent) {
+ selectEditor((MouseEvent) anEvent);
+ return editor.isCellEditable(anEvent);
+ }
+
+ public void addCellEditorListener(CellEditorListener l) {
+ editor.addCellEditorListener(l);
+ }
+
+ public void removeCellEditorListener(CellEditorListener l) {
+ editor.removeCellEditorListener(l);
+ }
+
+ public boolean shouldSelectCell(EventObject anEvent) {
+ selectEditor((MouseEvent) anEvent);
+ return editor.shouldSelectCell(anEvent);
+ }
+
+ protected void selectEditor(MouseEvent e) {
+ int row;
+ if (e == null) {
+ row = table.getSelectionModel().getAnchorSelectionIndex();
+ }
+ else {
+ row = table.rowAtPoint(e.getPoint());
+ }
+ editor = (TableCellEditor) editors.get(new Integer(row));
+ if (editor == null) {
+ editor = defaultEditor;
+ }
+ }
+
+
+}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/Comparators.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/Comparators.java?rev=823096&r1=823095&r2=823096&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/Comparators.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/Comparators.java Thu Oct 8 09:04:49 2009
@@ -25,6 +25,7 @@
import org.apache.cayenne.map.Attribute;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.map.Embeddable;
import org.apache.cayenne.map.Entity;
import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.map.Procedure;
@@ -146,15 +147,18 @@
else if (o instanceof ObjEntity) {
return 2;
}
- else if (o instanceof DbEntity) {
+ else if (o instanceof Embeddable) {
return 3;
}
- else if (o instanceof Procedure) {
+ else if (o instanceof DbEntity) {
return 4;
}
- else if (o instanceof Query) {
+ else if (o instanceof Procedure) {
return 5;
}
+ else if (o instanceof Query) {
+ return 6;
+ }
else {
// this should trap nulls among other things
return Integer.MAX_VALUE;