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/12/28 17:14:37 UTC
svn commit: r894194 - in /cayenne/main/trunk: docs/doc/src/main/resources/
framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/
framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/
Author: aadamchik
Date: Mon Dec 28 16:14:36 2009
New Revision: 894194
URL: http://svn.apache.org/viewvc?rev=894194&view=rev
Log:
CAY-1251 Memorize user-selected column widths in preferences
second patch by Ksenia Khailenko. The Jira is done
Modified:
cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackMethodsTab.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapCallbackListenersTab.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EmbeddableAttributeTab.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityAttributeTab.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityCallbackListenersTab.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityCallbackMethodsTab.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityRelationshipTab.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTab.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributeTab.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipTab.java
Modified: cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt Mon Dec 28 16:14:36 2009
@@ -13,6 +13,7 @@
----------------------------------
Changes/New Features Since 3.0:
+CAY-1251 Memorize user-selected column widths in preferences
CAY-1310 Remove everything deprecated in 3.0
CAY-1314 Migrate Modeler Preferences to Java Preferences API: migrate org.apache.cayenne.modeler.ModelerPreferences
CAY-1315 Formattable exceptions
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackMethodsTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackMethodsTab.java?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackMethodsTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackMethodsTab.java Mon Dec 28 16:14:36 2009
@@ -50,6 +50,7 @@
import org.apache.cayenne.modeler.event.CallbackMethodEvent;
import org.apache.cayenne.modeler.event.CallbackMethodListener;
import org.apache.cayenne.modeler.event.TablePopupHandler;
+import org.apache.cayenne.modeler.pref.TableColumnPreferences;
import org.apache.cayenne.modeler.util.CayenneAction;
import org.apache.cayenne.modeler.util.CayenneTable;
import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
@@ -79,7 +80,12 @@
* table for displaying callback method names
*/
protected CayenneTable table;
-
+
+ /**
+ * preferences for the callback methods table
+ */
+ protected TableColumnPreferences tablePreferences;
+
/**
* Dropdown for callback type selection. Contains fixed list of 7 callback types.
*/
@@ -201,6 +207,8 @@
}
});
+ initTablePreferences();
+
/**
* Create and install a popup
*/
@@ -215,6 +223,11 @@
}
/**
+ * Inits the {@link TableColumnPreferences} object according to callback table name.
+ */
+ protected abstract void initTablePreferences();
+
+ /**
* listeners initialization
*/
protected void initController() {
@@ -326,10 +339,9 @@
table.setRowHeight(25);
table.setRowMargin(3);
- TableColumn methodNameColumn = table.getColumnModel().getColumn(CallbackDescriptorTableModel.METHOD_NAME);
- methodNameColumn.setMinWidth(424);
-
mediator.setCurrentCallbackMethods(new String[0]);
+
+ tablePreferences.bind(table, null, null);
}
/**
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapCallbackListenersTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapCallbackListenersTab.java?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapCallbackListenersTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapCallbackListenersTab.java Mon Dec 28 16:14:36 2009
@@ -31,6 +31,7 @@
import org.apache.cayenne.modeler.action.RemoveEntityListenerForDataMapAction;
import org.apache.cayenne.modeler.event.DataMapDisplayEvent;
import org.apache.cayenne.modeler.event.DataMapDisplayListener;
+import org.apache.cayenne.modeler.pref.TableColumnPreferences;
import org.apache.cayenne.modeler.util.CayenneAction;
@@ -124,5 +125,10 @@
protected EntityListener getEntityListener(String listenerClass) {
return mediator.getCurrentDataMap().getDefaultEntityListener(listenerClass);
}
+
+ @Override
+ protected void initTablePreferences() {
+ tablePreferences = new TableColumnPreferences(this.getClass(),"datamap/callbackTable");
+ }
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EmbeddableAttributeTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EmbeddableAttributeTab.java?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EmbeddableAttributeTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EmbeddableAttributeTab.java Mon Dec 28 16:14:36 2009
@@ -50,6 +50,7 @@
import org.apache.cayenne.modeler.event.EmbeddableDisplayEvent;
import org.apache.cayenne.modeler.event.EmbeddableDisplayListener;
import org.apache.cayenne.modeler.event.TablePopupHandler;
+import org.apache.cayenne.modeler.pref.TableColumnPreferences;
import org.apache.cayenne.modeler.util.CayenneTable;
import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
import org.apache.cayenne.modeler.util.ModelerUtil;
@@ -63,6 +64,7 @@
protected ProjectController mediator;
protected CayenneTable table;
+ protected TableColumnPreferences tablePreferences;
JButton resolve;
@@ -92,6 +94,8 @@
table = new CayenneTable();
+ tablePreferences = new TableColumnPreferences(this.getClass(),"embeddable/attributeTable");
+
/**
* Create and install a popup
*/
@@ -172,22 +176,14 @@
private void setUpTableStructure(EmbeddableAttributeTableModel model) {
- TableColumn nameColumn = table.getColumnModel().getColumn(
- EmbeddableAttributeTableModel.OBJ_ATTRIBUTE);
- nameColumn.setMinWidth(150);
-
TableColumn typeColumn = table.getColumnModel().getColumn(
EmbeddableAttributeTableModel.OBJ_ATTRIBUTE_TYPE);
- typeColumn.setMinWidth(150);
-
JComboBox javaTypesCombo = CayenneWidgetFactory.createComboBox(ModelerUtil
.getRegisteredTypeNames(), false);
AutoCompletion.enable(javaTypesCombo, false, true);
typeColumn.setCellEditor(CayenneWidgetFactory.createCellEditor(javaTypesCombo));
- TableColumn dbAttrColumn = table.getColumnModel().getColumn(
- EmbeddableAttributeTableModel.DB_ATTRIBUTE);
- dbAttrColumn.setMinWidth(150);
+ tablePreferences.bind(table, null, null);
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityAttributeTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityAttributeTab.java?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityAttributeTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityAttributeTab.java Mon Dec 28 16:14:36 2009
@@ -331,28 +331,13 @@
protected void setUpTableStructure(ObjAttributeTableModel model) {
int inheritanceColumnWidth = 20;
- int minNameWidth = 150;
- int minTypeWidth = 150;
- int minLockWidth = 100;
- int minDbAttrWidth = 150;
- int minDbTypeWidth = 120;
-
+
Map<Integer, Integer> minSizes = new HashMap<Integer, Integer>();
Map<Integer, Integer> maxSizes = new HashMap<Integer, Integer>();
minSizes.put(ObjAttributeTableModel.INHERITED, inheritanceColumnWidth);
maxSizes.put(ObjAttributeTableModel.INHERITED, inheritanceColumnWidth);
- minSizes.put(ObjAttributeTableModel.OBJ_ATTRIBUTE, minNameWidth);
-
- minSizes.put(ObjAttributeTableModel.OBJ_ATTRIBUTE_TYPE, minTypeWidth);
-
- minSizes.put(ObjAttributeTableModel.LOCKING, minLockWidth);
-
- minSizes.put(ObjAttributeTableModel.DB_ATTRIBUTE, minDbAttrWidth);
-
- minSizes.put(ObjAttributeTableModel.DB_ATTRIBUTE_TYPE, minDbTypeWidth);
-
initComboBoxes(model);
tablePreferences.bind(table, minSizes, maxSizes);
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityCallbackListenersTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityCallbackListenersTab.java?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityCallbackListenersTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityCallbackListenersTab.java Mon Dec 28 16:14:36 2009
@@ -31,6 +31,7 @@
import org.apache.cayenne.modeler.action.RemoveEntityListenerAction;
import org.apache.cayenne.modeler.event.EntityDisplayEvent;
import org.apache.cayenne.modeler.event.ObjEntityDisplayListener;
+import org.apache.cayenne.modeler.pref.TableColumnPreferences;
import org.apache.cayenne.modeler.util.CayenneAction;
/**
@@ -122,5 +123,10 @@
protected EntityListener getEntityListener(String listenerClass) {
return mediator.getCurrentObjEntity().getEntityListener(listenerClass);
}
+
+ @Override
+ protected void initTablePreferences() {
+ tablePreferences = new TableColumnPreferences(this.getClass(),"objEntity/callbackTable");
+ }
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityCallbackMethodsTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityCallbackMethodsTab.java?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityCallbackMethodsTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityCallbackMethodsTab.java Mon Dec 28 16:14:36 2009
@@ -25,6 +25,7 @@
import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.event.EntityDisplayEvent;
import org.apache.cayenne.modeler.event.ObjEntityDisplayListener;
+import org.apache.cayenne.modeler.pref.TableColumnPreferences;
/**
@@ -81,5 +82,10 @@
}
return null;
}
+
+ @Override
+ protected void initTablePreferences() {
+ tablePreferences = new TableColumnPreferences(this.getClass(),"objEntity/callbackTable");
+ }
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityRelationshipTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityRelationshipTab.java?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityRelationshipTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityRelationshipTab.java Mon Dec 28 16:14:36 2009
@@ -396,20 +396,7 @@
table.setRowHeight(25);
table.setRowMargin(3);
- int minRelLockWidth = 100;
- int minRelNameWidth = 150;
- int minRelTargetWidth = 150;
- int minRelSemanticsWidth = 150;
- int minRelDelRuleWidth = 60;
-
- Map<Integer, Integer> minSizes=new HashMap<Integer, Integer>();
-
- minSizes.put(ObjRelationshipTableModel.REL_LOCKING, minRelLockWidth);
-
- minSizes.put(ObjRelationshipTableModel.REL_NAME, minRelNameWidth);
-
TableColumn col = table.getColumnModel().getColumn(ObjRelationshipTableModel.REL_TARGET);
- minSizes.put(ObjRelationshipTableModel.REL_TARGET, minRelTargetWidth);
JComboBox targetCombo = CayenneWidgetFactory.createComboBox(
createObjEntityComboModel(),
false);
@@ -420,10 +407,7 @@
targetCombo.setSelectedIndex(-1);
col.setCellEditor(CayenneWidgetFactory.createCellEditor(targetCombo));
- minSizes.put(ObjRelationshipTableModel.REL_SEMANTICS, minRelSemanticsWidth);
-
col = table.getColumnModel().getColumn(ObjRelationshipTableModel.REL_DELETERULE);
- minSizes.put(ObjRelationshipTableModel.REL_DELETERULE, minRelDelRuleWidth);
JComboBox deleteRulesCombo = CayenneWidgetFactory.createComboBox(
deleteRules,
false);
@@ -431,7 +415,7 @@
deleteRulesCombo.setSelectedIndex(0); // Default to the first value
col.setCellEditor(CayenneWidgetFactory.createCellEditor(deleteRulesCombo));
- tablePreferences.bind(table, minSizes, null);
+ tablePreferences.bind(table, null, null);
}
class EntityRenderer extends StringRenderer {
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTab.java?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTab.java Mon Dec 28 16:14:36 2009
@@ -58,6 +58,7 @@
import org.apache.cayenne.modeler.event.ProcedureDisplayListener;
import org.apache.cayenne.modeler.event.ProcedureParameterDisplayEvent;
import org.apache.cayenne.modeler.event.TablePopupHandler;
+import org.apache.cayenne.modeler.pref.TableColumnPreferences;
import org.apache.cayenne.modeler.util.CayenneCellEditor;
import org.apache.cayenne.modeler.util.CayenneTable;
import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
@@ -79,6 +80,7 @@
protected ProjectController eventController;
protected CayenneTable table;
+ protected TableColumnPreferences tablePreferences;
protected JButton removeParameterButton;
protected JButton moveUp;
protected JButton moveDown;
@@ -147,6 +149,8 @@
// Create table with two columns and no rows.
table = new CayenneTable();
+ tablePreferences = new TableColumnPreferences(this.getClass(),"procedure/parameterTable");
+
/**
* Create and install a popup
*/
@@ -278,21 +282,12 @@
TableColumn numberColumn =
table.getColumnModel().getColumn(
ProcedureParameterTableModel.PARAMETER_NUMBER);
- numberColumn.setPreferredWidth(35);
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setHorizontalAlignment(SwingConstants.CENTER);
numberColumn.setCellRenderer(renderer);
- // name column tweaking
- TableColumn nameColumn =
- table.getColumnModel().getColumn(ProcedureParameterTableModel.PARAMETER_NAME);
- nameColumn.setMinWidth(150);
-
- // types column tweaking
TableColumn typesColumn =
table.getColumnModel().getColumn(ProcedureParameterTableModel.PARAMETER_TYPE);
- typesColumn.setMinWidth(90);
-
JComboBox typesEditor =
CayenneWidgetFactory.createComboBox(TypesMapping.getDatabaseTypes(), true);
AutoCompletion.enable(typesEditor);
@@ -302,8 +297,6 @@
TableColumn directionColumn =
table.getColumnModel().getColumn(
ProcedureParameterTableModel.PARAMETER_DIRECTION);
- directionColumn.setMinWidth(90);
-
JComboBox directionEditor =
CayenneWidgetFactory.createComboBox(
ProcedureParameterTableModel.PARAMETER_DIRECTION_NAMES,
@@ -313,6 +306,8 @@
moveUp.setEnabled(false);
moveDown.setEnabled(false);
+
+ tablePreferences.bind(table, null, null);
}
public void procedureParameterAdded(ProcedureParameterEvent e) {
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributeTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributeTab.java?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributeTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributeTab.java Mon Dec 28 16:14:36 2009
@@ -219,16 +219,7 @@
table.setRowHeight(25);
table.setRowMargin(3);
- int nameColumnIndex = model.nameColumnInd();
- int minNameColumnWidth = 150;
- int typeColumnIndex = model.typeColumnInd();
- int minTypeColumnWidth = 90;
-
- Map<Integer, Integer> minSizes=new HashMap<Integer, Integer>();
- minSizes.put(nameColumnIndex, minNameColumnWidth);
- minSizes.put(typeColumnIndex, minTypeColumnWidth);
-
- TableColumn col = table.getColumnModel().getColumn(typeColumnIndex);
+ TableColumn col = table.getColumnModel().getColumn(model.typeColumnInd());
String[] types = TypesMapping.getDatabaseTypes();
JComboBox comboBox = CayenneWidgetFactory.createComboBox(types, true);
@@ -239,6 +230,6 @@
table.getSelectionModel().addListSelectionListener(this);
- tablePreferences.bind(table, minSizes, null);
+ tablePreferences.bind(table, null, null);
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipTab.java?rev=894194&r1=894193&r2=894194&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipTab.java Mon Dec 28 16:14:36 2009
@@ -292,13 +292,6 @@
table.setRowHeight(25);
table.setRowMargin(3);
- int minNameColumnWidth = 150;
- int minTargetColumnWidth = 150;
-
- Map<Integer, Integer> minSizes=new HashMap<Integer, Integer>();
- minSizes.put(DbRelationshipTableModel.NAME, minNameColumnWidth);
- minSizes.put(DbRelationshipTableModel.TARGET, minTargetColumnWidth);
-
TableColumn col = table.getColumnModel().getColumn(DbRelationshipTableModel.TARGET);
targetCombo = CayenneWidgetFactory.createComboBox();
@@ -309,7 +302,7 @@
col.setCellEditor(CayenneWidgetFactory.createCellEditor(targetCombo));
table.getSelectionModel().addListSelectionListener(this);
- tablePreferences.bind(table, minSizes, null);
+ tablePreferences.bind(table, null, null);
}
public void dbEntityChanged(EntityEvent e) {