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 2010/08/24 17:17:52 UTC

svn commit: r988586 [1/3] - in /cayenne/main/trunk: docs/doc/src/main/resources/ framework/cayenne-modeler/ framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ f...

Author: aadamchik
Date: Tue Aug 24 15:17:45 2010
New Revision: 988586

URL: http://svn.apache.org/viewvc?rev=988586&view=rev
Log:
CAY-1474 Straightening CayenneModeler platform-specific builds

* generic/win launcher
* refactoring OSX packages
* adding missing license headers
* fixing Embeddable validation
* refactoring WidgetFactory to take out os-specific code

Added:
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DefaultWidgetFactory.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JUndoableCayenneTextPane.java
      - copied, changed from r988538, cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JCayenneTextPaneUndoable.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/WidgetFactory.java
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.classpath
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.project
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.eclipse.jdt.core.prefs
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.eclipse.jdt.ui.prefs
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.maven.ide.eclipse.prefs
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/pom.xml
      - copied, changed from r988538, cayenne/main/trunk/modeler/cayenne-modeler-java/pom.xml
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericCayenneModelerModule.java
      - copied, changed from r988538, cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericMain.java
      - copied, changed from r988538, cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/OSXMain.java
    cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericPlatformInitializer.java
    cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/
    cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/org.eclipse.jdt.core.prefs
    cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/org.eclipse.jdt.ui.prefs
    cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/
    cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXCayenneModelerModule.java
      - copied, changed from r988538, cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java
    cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXMain.java
      - copied, changed from r988538, cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/OSXMain.java
    cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXPlatformInitializer.java
    cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXWidgetFactory.java
Removed:
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneWidgetFactory.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JCayenneTextPaneUndoable.java
    cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/OSXMain.java
    cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/init/
Modified:
    cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
    cayenne/main/trunk/framework/cayenne-modeler/pom.xml
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerConstants.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerPreferences.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DocumentationAction.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerTokenSelectorController.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialogView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/OverrideEmbeddableAttributeTableModel.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/validator/DuplicatedAttributesDialog.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackListenersTab.java
    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/DataDomainView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EjbqlQueryScriptsTab.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/EmbeddableAttributeTableModel.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjAttributeTableModel.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/ObjEntityRelationshipTab.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityTab.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/ProcedureQueryView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/RawQueryPropertiesPanel.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateMainTab.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateScriptsTab.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectPropertiesPanel.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectQueryMainTab.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/AdapterView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/CustomDataSourceView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/DBCPDataSourceView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JNDIDataSourceView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/PasswordEncoderView.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
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/DataDomainGraphTab.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/BrowserControl.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTable.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldUndoable.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/OperatingSystem.java
    cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project/validation/EmbeddableValidator.java
    cayenne/main/trunk/modeler/cayenne-modeler-java/pom.xml
    cayenne/main/trunk/modeler/cayenne-modeler-mac/pom.xml
    cayenne/main/trunk/modeler/cayenne-modeler-win/pom.xml
    cayenne/main/trunk/modeler/pom.xml

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=988586&r1=988585&r2=988586&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 Tue Aug 24 15:17:45 2010
@@ -47,6 +47,7 @@ CAY-1438 refactoring EntityInheritanceTr
 CAY-1439 ClassDescriptor refactoring - replacing returned iterators with collections
 CAY-1446 Remove DataContextFactory, replace it with DI-enabled ObjectContextFactory
 CAY-1447 Switch ROP client to dependency injection
+CAY-1474 Straightening CayenneModeler platform-specific builds
 
 Bug Fixes Since 3.0:
 

Modified: cayenne/main/trunk/framework/cayenne-modeler/pom.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/pom.xml?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/pom.xml (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/pom.xml Tue Aug 24 15:17:45 2010
@@ -70,11 +70,6 @@
 
 		<dependency>
 			<groupId>jgoodies</groupId>
-			<artifactId>looks</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>jgoodies</groupId>
 			<artifactId>forms</artifactId>
 		</dependency>
 

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java Tue Aug 24 15:17:45 2010
@@ -41,6 +41,7 @@ import org.apache.cayenne.modeler.dialog
 import org.apache.cayenne.modeler.undo.CayenneUndoManager;
 import org.apache.cayenne.modeler.util.AdapterMapping;
 import org.apache.cayenne.modeler.util.CayenneDialog;
+import org.apache.cayenne.modeler.util.WidgetFactory;
 import org.apache.cayenne.pref.CayennePreference;
 import org.apache.cayenne.pref.CayenneProjectPreferences;
 import org.apache.cayenne.project.Project;
@@ -66,6 +67,8 @@ import org.scopemvc.view.swing.SwingView
  */
 public class Application {
 
+    public static final String DEFAULT_MESSAGE_BUNDLE = "org.apache.cayenne.modeler.cayennemodeler-strings";
+
     public static final String APPLICATION_NAME_PROPERTY = "cayenne.modeler.application.name";
     public static final String DEFAULT_APPLICATION_NAME = "CayenneModeler";
 
@@ -99,6 +102,11 @@ public class Application {
         Application.instance = instance;
     }
 
+    // TODO: must be injectable directly in components
+    public static WidgetFactory getWidgetFactory() {
+        return instance.getInjector().getInstance(WidgetFactory.class);
+    }
+
     // static methods that should probably go away eventually...
     public static CayenneModelerFrame getFrame() {
         return (CayenneModelerFrame) getInstance().getFrameController().getView();
@@ -184,7 +192,7 @@ public class Application {
 
         // TODO: this will go away if switch away from Scope
         // force Scope to use CayenneModeler properties
-        UIStrings.setPropertiesName(ModelerConstants.DEFAULT_MESSAGE_BUNDLE);
+        UIStrings.setPropertiesName(DEFAULT_MESSAGE_BUNDLE);
         ViewContext.clearThreadContext();
 
         this.undoManager = new CayenneUndoManager(this);

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerConstants.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerConstants.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerConstants.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerConstants.java Tue Aug 24 15:17:45 2010
@@ -19,24 +19,13 @@
 
 package org.apache.cayenne.modeler;
 
-import com.jgoodies.looks.plastic.PlasticXPLookAndFeel;
-
 /**
  * Defines constants used in the modeler.
- * 
  */
 public interface ModelerConstants {
 
     /** Defines path to the images. */
     public static final String RESOURCE_PATH = "org/apache/cayenne/modeler/images/";
 
-    public static final String DEFAULT_MESSAGE_BUNDLE = "org.apache.cayenne.modeler.cayennemodeler-strings";
-
     public static final String TITLE = "CayenneModeler";
-    public static final String DEFAULT_LAF_NAME = PlasticXPLookAndFeel.class.getName();
-
-    // note that previous default - "Desert Blue" theme doesn't support Chinese and
-    // Japanese chars
-    public static final String DEFAULT_THEME_NAME = "Sky Bluer";
-
 }

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerPreferences.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerPreferences.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerPreferences.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ModelerPreferences.java Tue Aug 24 15:17:45 2010
@@ -55,7 +55,7 @@ public class ModelerPreferences implemen
     public static final String EDITOR_LOGFILE_ENABLED = "logfileEnabled";
     public static final String EDITOR_LOGFILE = "logfile";
 
-    /*
+    /**
      * Number of items in combobox visible without scrolling
      */
     public static final int COMBOBOX_MAX_VISIBLE_SIZE = 12;

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DocumentationAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DocumentationAction.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DocumentationAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DocumentationAction.java Tue Aug 24 15:17:45 2010
@@ -25,12 +25,8 @@ import org.apache.cayenne.modeler.Applic
 import org.apache.cayenne.modeler.util.BrowserControl;
 import org.apache.cayenne.modeler.util.CayenneAction;
 
-/**
- */
 public class DocumentationAction extends CayenneAction {
 
-    
-
     public final static String getActionName() {
         return "Documentation";
     }

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java Tue Aug 24 15:17:45 2010
@@ -47,12 +47,10 @@ import org.apache.cayenne.map.Relationsh
 import org.apache.cayenne.map.event.MapEvent;
 import org.apache.cayenne.map.event.RelationshipEvent;
 import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.editor.ObjAttributeTableModel;
 import org.apache.cayenne.modeler.pref.TableColumnPreferences;
 import org.apache.cayenne.modeler.undo.RelationshipUndoableEdit;
 import org.apache.cayenne.modeler.util.CayenneDialog;
 import org.apache.cayenne.modeler.util.CayenneTable;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.modeler.util.ModelerUtil;
 import org.apache.cayenne.modeler.util.PanelFactory;
 import org.apache.cayenne.modeler.util.ProjectUtil;
@@ -112,8 +110,8 @@ public class ResolveDbRelationshipDialog
     private void initView() {
 
         // create widgets
-        name = CayenneWidgetFactory.createTextField(25);
-        reverseName = CayenneWidgetFactory.createTextField(25);
+        name = new JTextField(25);
+        reverseName = new JTextField(25);
 
         addButton = new JButton("Add");
         addButton.setEnabled(this.editable);
@@ -127,11 +125,10 @@ public class ResolveDbRelationshipDialog
         cancelButton.setEnabled(this.editable);
 
         table = new AttributeTable();
-        
-        
+
         table.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
         tablePreferences = new TableColumnPreferences(getClass(), "dbentity/dbjoinTable");
-        
+
         // assemble
         getContentPane().setLayout(new BorderLayout());
 
@@ -193,21 +190,25 @@ public class ResolveDbRelationshipDialog
         table.setModel(new DbJoinTableModel(relationship, getMediator(), this, true));
         TableColumn sourceColumn = table.getColumnModel().getColumn(
                 DbJoinTableModel.SOURCE);
-        JComboBox comboBox = CayenneWidgetFactory.createComboBox(ModelerUtil
-                .getDbAttributeNames(getMediator(), (DbEntity) relationship
-                        .getSourceEntity()), true);
+        JComboBox comboBox = Application.getWidgetFactory().createComboBox(
+                ModelerUtil.getDbAttributeNames(getMediator(), (DbEntity) relationship
+                        .getSourceEntity()),
+                true);
 
         AutoCompletion.enable(comboBox);
-        sourceColumn.setCellEditor(CayenneWidgetFactory.createCellEditor(comboBox));
+        sourceColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(
+                comboBox));
 
         TableColumn targetColumn = table.getColumnModel().getColumn(
                 DbJoinTableModel.TARGET);
-        comboBox = CayenneWidgetFactory.createComboBox(ModelerUtil.getDbAttributeNames(
-                getMediator(),
-                (DbEntity) relationship.getTargetEntity()), true);
+        comboBox = Application.getWidgetFactory().createComboBox(
+                ModelerUtil.getDbAttributeNames(getMediator(), (DbEntity) relationship
+                        .getTargetEntity()),
+                true);
         AutoCompletion.enable(comboBox);
 
-        targetColumn.setCellEditor(CayenneWidgetFactory.createCellEditor(comboBox));
+        targetColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(
+                comboBox));
 
         if (reverseRelationship != null) {
             reverseName.setText(reverseRelationship.getName());

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerTokenSelectorController.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerTokenSelectorController.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerTokenSelectorController.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerTokenSelectorController.java Tue Aug 24 15:17:45 2010
@@ -35,8 +35,8 @@ import javax.swing.table.TableModel;
 import org.apache.cayenne.merge.MergeDirection;
 import org.apache.cayenne.merge.MergerFactory;
 import org.apache.cayenne.merge.MergerToken;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.util.CayenneController;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.swing.BindingBuilder;
 import org.apache.cayenne.swing.ObjectBinding;
 
@@ -165,7 +165,7 @@ public class MergerTokenSelectorControll
         TableColumnModel columnModel = view.getTokens().getColumnModel();
         
         // dropdown for direction column
-        JComboBox directionCombo = CayenneWidgetFactory.createComboBox(dirs, false);
+        JComboBox directionCombo = Application.getWidgetFactory().createComboBox(dirs, false);
         directionCombo.setEditable(false);
         TableColumn directionColumn = columnModel.getColumn(
                 MergerTokenTableModel.COL_DIRECTION);

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialogView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialogView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialogView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialogView.java Tue Aug 24 15:17:45 2010
@@ -38,11 +38,10 @@ import javax.swing.JScrollPane;
 import javax.swing.JTextField;
 
 import org.apache.cayenne.map.Embeddable;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.editor.dbentity.DbAttributeTableModel;
 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;
 import org.apache.cayenne.modeler.util.MultiColumnBrowser;
 import org.apache.cayenne.modeler.util.PanelFactory;
@@ -94,7 +93,7 @@ public class ObjAttributeInfoDialogView 
         this.currentPathLabel = new JLabel();
         this.sourceEntityLabel = new JLabel();
 
-        this.type = CayenneWidgetFactory.createComboBox(ModelerUtil
+        this.type = Application.getWidgetFactory().createComboBox(ModelerUtil
                 .getRegisteredTypeNames(), false);
         AutoCompletion.enable(type, false, true);
         type.getRenderer();

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/OverrideEmbeddableAttributeTableModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/OverrideEmbeddableAttributeTableModel.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/OverrideEmbeddableAttributeTableModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/OverrideEmbeddableAttributeTableModel.java Tue Aug 24 15:17:45 2010
@@ -42,10 +42,10 @@ import org.apache.cayenne.map.Embeddable
 import org.apache.cayenne.map.EmbeddedAttribute;
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
 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;
 
 public class OverrideEmbeddableAttributeTableModel extends CayenneTableModel {
@@ -148,7 +148,8 @@ public class OverrideEmbeddableAttribute
             Collection<String> nameAttr,
             CayenneTable table) {
         this.table = table;
-        this.cellEditor = new CellEditorForAttributeTable(table, CayenneWidgetFactory
+        this.cellEditor = new CellEditorForAttributeTable(table, Application
+                .getWidgetFactory()
                 .createComboBox(nameAttr, true));
         return cellEditor;
     }
@@ -200,8 +201,7 @@ public class OverrideEmbeddableAttribute
         if (currentEnt != null
                 && currentEnt.getAttributes() != null
                 && dbAttributeName != null) {
-            DbAttribute dbAttr = (DbAttribute) currentEnt
-                    .getAttribute(dbAttributeName);
+            DbAttribute dbAttr = (DbAttribute) currentEnt.getAttribute(dbAttributeName);
             if (dbAttr != null) {
                 return TypesMapping.getSqlNameByType(dbAttr.getType());
             }
@@ -234,7 +234,7 @@ public class OverrideEmbeddableAttribute
                 Collection<String> attributeComboForRow = new ArrayList<String>();
                 attributeComboForRow.addAll(nameAttr);
                 attributeComboForRow.add(embAt.getDbAttributeName());
-                JComboBox comboBoxForRow = CayenneWidgetFactory.createComboBox(
+                JComboBox comboBoxForRow = Application.getWidgetFactory().createComboBox(
                         attributeComboForRow,
                         true);
 
@@ -261,47 +261,47 @@ public class OverrideEmbeddableAttribute
 
     @Override
     public void sortByColumn(final int sortCol, boolean isAscent) {
-        Collections.sort(embeddableList, new Comparator<EmbeddableAttribute>(){
+        Collections.sort(embeddableList, new Comparator<EmbeddableAttribute>() {
 
-                    public int compare(EmbeddableAttribute o1, EmbeddableAttribute o2) {
-                        Integer compareObjAttributesVal = compareObjAttributes(o1, o2);
-                        if(compareObjAttributesVal!=null){
-                            return compareObjAttributesVal;
-                        }
-                        String valueToCompare1 = "";
-                        String valueToCompare2 = ""; 
-                        switch(sortCol){
-                            case OBJ_ATTRIBUTE:
-                                valueToCompare1=o1.getName();
-                                valueToCompare2=o2.getName();
-                                break;
-                            case OBJ_ATTRIBUTE_TYPE:
-                                valueToCompare1=o1.getType();
-                                valueToCompare2=o2.getType();
-                                break;
-                            case DB_ATTRIBUTE:
-                                valueToCompare1=o1.getDbAttributeName();
-                                valueToCompare2=o2.getDbAttributeName();
-                                break;
-                            case DB_ATTRIBUTE_TYPE:
-                                valueToCompare1=getDBAttrType(o1.getDbAttributeName());
-                                valueToCompare2=getDBAttrType(o2.getDbAttributeName());
-                                break;
-                        }
-                        
-                        return (valueToCompare1 == null) ? -1 : (valueToCompare2 == null)? 1 : valueToCompare1.compareTo(valueToCompare2);
-                    }
-                    
-                });
-        
-        if(!isAscent){
+            public int compare(EmbeddableAttribute o1, EmbeddableAttribute o2) {
+                Integer compareObjAttributesVal = compareObjAttributes(o1, o2);
+                if (compareObjAttributesVal != null) {
+                    return compareObjAttributesVal;
+                }
+                String valueToCompare1 = "";
+                String valueToCompare2 = "";
+                switch (sortCol) {
+                    case OBJ_ATTRIBUTE:
+                        valueToCompare1 = o1.getName();
+                        valueToCompare2 = o2.getName();
+                        break;
+                    case OBJ_ATTRIBUTE_TYPE:
+                        valueToCompare1 = o1.getType();
+                        valueToCompare2 = o2.getType();
+                        break;
+                    case DB_ATTRIBUTE:
+                        valueToCompare1 = o1.getDbAttributeName();
+                        valueToCompare2 = o2.getDbAttributeName();
+                        break;
+                    case DB_ATTRIBUTE_TYPE:
+                        valueToCompare1 = getDBAttrType(o1.getDbAttributeName());
+                        valueToCompare2 = getDBAttrType(o2.getDbAttributeName());
+                        break;
+                }
+
+                return (valueToCompare1 == null) ? -1 : (valueToCompare2 == null)
+                        ? 1
+                        : valueToCompare1.compareTo(valueToCompare2);
+            }
+
+        });
+
+        if (!isAscent) {
             Collections.reverse(embeddableList);
         }
-        
-            
-        
+
     }
-    
+
     private Integer compareObjAttributes(EmbeddableAttribute o1, EmbeddableAttribute o2) {
         if ((o1 == null && o2 == null) || o1 == o2) {
             return 0;
@@ -350,5 +350,5 @@ class BoxCellRenderer implements ListCel
     public void setNotActiveColumn(int notActiveColumn) {
         this.notActiveColumn = notActiveColumn;
     }
-   
+
 }

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/validator/DuplicatedAttributesDialog.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/validator/DuplicatedAttributesDialog.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/validator/DuplicatedAttributesDialog.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/validator/DuplicatedAttributesDialog.java Tue Aug 24 15:17:45 2010
@@ -19,10 +19,11 @@
 package org.apache.cayenne.modeler.dialog.validator;
 
 
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.CayenneModelerFrame;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.util.CayenneDialog;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.util.WidgetFactory;
 import org.apache.cayenne.modeler.util.ProjectUtil;
 import org.apache.cayenne.modeler.util.CayenneTableModel;
 import org.apache.cayenne.map.ObjAttribute;
@@ -161,8 +162,8 @@ public class DuplicatedAttributesDialog 
 
     private void updateTable() {
         TableColumn actionColumn = attributesTable.getColumnModel().getColumn(DuplicatedAttributeTableModel.ACTION);
-        JComboBox actionsCombo = CayenneWidgetFactory.createComboBox(new String[]{DELETE_ACTION, RENAME_ACTION}, false);
-        actionColumn.setCellEditor(CayenneWidgetFactory.createCellEditor(actionsCombo));
+        JComboBox actionsCombo = Application.getWidgetFactory().createComboBox(new String[]{DELETE_ACTION, RENAME_ACTION}, false);
+        actionColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(actionsCombo));
     }
 
     private void applyChanges() {

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackListenersTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackListenersTab.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackListenersTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackListenersTab.java Tue Aug 24 15:17:45 2010
@@ -31,19 +31,18 @@ import javax.swing.JLabel;
 
 import org.apache.cayenne.map.EntityListener;
 import org.apache.cayenne.map.event.MapEvent;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.event.EntityListenerEvent;
 import org.apache.cayenne.modeler.event.EntityListenerListener;
 import org.apache.cayenne.modeler.util.CayenneAction;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 
 import com.jgoodies.forms.builder.DefaultFormBuilder;
 
-
 /**
- * Base abstract class for editing callback mapping on listener class
- * Adds entity listener class processing logic
- *
+ * Base abstract class for editing callback mapping on listener class Adds entity listener
+ * class processing logic
+ * 
  * @version 1.0 Oct 29, 2007
  */
 public abstract class AbstractCallbackListenersTab extends AbstractCallbackMethodsTab {
@@ -55,6 +54,7 @@ public abstract class AbstractCallbackLi
 
     /**
      * Constructor
+     * 
      * @param mediator mediator instance
      */
     protected AbstractCallbackListenersTab(ProjectController mediator) {
@@ -104,87 +104,83 @@ public abstract class AbstractCallbackLi
         }
     }
 
-
     /**
      * init listeners
      */
     protected void initController() {
         super.initController();
-        addComponentListener(
-                new ComponentAdapter() {
-                    public void componentShown(ComponentEvent e) {
-                        rebuildListenerClassCombo(null);
-                        mediator.setCurrentCallbackType((CallbackType)callbackTypeCombo.getSelectedItem());
+        addComponentListener(new ComponentAdapter() {
+
+            public void componentShown(ComponentEvent e) {
+                rebuildListenerClassCombo(null);
+                mediator.setCurrentCallbackType((CallbackType) callbackTypeCombo
+                        .getSelectedItem());
+                updateCallbackTypeCounters();
+                rebuildTable();
+            }
+        });
+
+        listenerClassCombo.addItemListener(new ItemListener() {
+
+            public void itemStateChanged(ItemEvent e) {
+                if (e.getStateChange() == ItemEvent.SELECTED && isVisible()) {
+                    // detect editing
+                    if (listenerClassCombo.getSelectedIndex() == -1
+                            && listenerClassCombo.getSelectedItem() != null) {
+                        processEditedListenerClassValue((String) listenerClassCombo
+                                .getSelectedItem());
+                    }
+                    else {
+                        // just celeection changed
+                        mediator.setCurrentListenerClass((String) listenerClassCombo
+                                .getSelectedItem());
                         updateCallbackTypeCounters();
                         rebuildTable();
                     }
                 }
-        );
+            }
+        });
 
+        mediator.addEntityListenerListener(new EntityListenerListener() {
 
-        listenerClassCombo.addItemListener(
-                new ItemListener() {
-                    public void itemStateChanged(ItemEvent e) {
-                        if (e.getStateChange() == ItemEvent.SELECTED && isVisible()) {
-                            //detect editing
-                            if (listenerClassCombo.getSelectedIndex() == -1 &&
-                                listenerClassCombo.getSelectedItem() != null) {
-                                processEditedListenerClassValue((String)listenerClassCombo.getSelectedItem());
-                            }
-                            else {
-                                //just celeection changed
-                                mediator.setCurrentListenerClass((String)listenerClassCombo.getSelectedItem());
-                                updateCallbackTypeCounters();
-                                rebuildTable();
-                            }
-                        }
-                    }
+            public void entityListenerAdded(EntityListenerEvent e) {
+                if (isVisible() && getCreateEntityListenerAction() == e.getSource()) {
+                    rebuildListenerClassCombo(e.getNewName());
+                    rebuildTable();
                 }
-        );
-
-        mediator.addEntityListenerListener(
-                new EntityListenerListener() {
-                    public void entityListenerAdded(EntityListenerEvent e) {
-                        if (isVisible() && getCreateEntityListenerAction() == e.getSource()) {
-                            rebuildListenerClassCombo(e.getNewName());
-                            rebuildTable();
-                        }
-                    }
+            }
 
-                    public void entityListenerChanged(EntityListenerEvent e) {
-                        if (isVisible() && e.getSource() == AbstractCallbackListenersTab.this) {
-                            rebuildListenerClassCombo(e.getNewName());
-                            rebuildTable();
-                        }
-                    }
+            public void entityListenerChanged(EntityListenerEvent e) {
+                if (isVisible() && e.getSource() == AbstractCallbackListenersTab.this) {
+                    rebuildListenerClassCombo(e.getNewName());
+                    rebuildTable();
+                }
+            }
 
-                    public void entityListenerRemoved(EntityListenerEvent e) {
-                        if (isVisible() && getRemoveEntityListenerAction() == e.getSource()) {
-                            rebuildListenerClassCombo(null);
-                            rebuildTable();
-                        }
-                    }
+            public void entityListenerRemoved(EntityListenerEvent e) {
+                if (isVisible() && getRemoveEntityListenerAction() == e.getSource()) {
+                    rebuildListenerClassCombo(null);
+                    rebuildTable();
                 }
-        );
+            }
+        });
     }
 
     /**
      * rebuils listener class selection dropdown content and fires selection event
-     *
+     * 
      * @param selectedListener listener to be selected after rebuild
      */
     protected void rebuildListenerClassCombo(String selectedListener) {
         List entityListeners = getEntityListeners();
         List listenerClasses = new ArrayList();
-        if (entityListeners !=  null) {
+        if (entityListeners != null) {
             for (EntityListener entityListener : getEntityListeners()) {
                 listenerClasses.add(entityListener.getClassName());
             }
         }
 
-        listenerClassCombo.setModel(
-                new DefaultComboBoxModel(listenerClasses.toArray())
-        );
+        listenerClassCombo.setModel(new DefaultComboBoxModel(listenerClasses.toArray()));
 
         getCreateCallbackMethodAction().setEnabled(listenerClasses.size() > 0);
 
@@ -197,19 +193,19 @@ public abstract class AbstractCallbackLi
             listenerClassCombo.setSelectedItem(selectedListener);
         }
 
-        mediator.setCurrentListenerClass((String)listenerClassCombo.getSelectedItem());
+        mediator.setCurrentListenerClass((String) listenerClassCombo.getSelectedItem());
 
         getRemoveEntityListenerAction().setEnabled(listenerClasses.size() > 0);
         listenerClassCombo.setEnabled(listenerClasses.size() > 0);
     }
 
-
     /**
      * adds listener class dropdown to filter bar
+     * 
      * @param builder filter forms builder
      */
     protected void buildFilter(DefaultFormBuilder builder) {
-        listenerClassCombo = CayenneWidgetFactory.createComboBox();
+        listenerClassCombo = Application.getWidgetFactory().createComboBox();
         listenerClassCombo.setEditable(true);
         builder.append(new JLabel("Listener class:"), listenerClassCombo);
         builder.nextLine();

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=988586&r1=988585&r2=988586&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 Tue Aug 24 15:17:45 2010
@@ -56,7 +56,6 @@ import org.apache.cayenne.modeler.event.
 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;
 import org.apache.cayenne.modeler.util.PanelFactory;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -96,18 +95,20 @@ public abstract class AbstractCallbackMe
     /**
      * Dropdown for callback type selection. Contains fixed list of 7 callback types.
      */
-    protected JComboBox callbackTypeCombo = CayenneWidgetFactory.createComboBox(
-            new Object[] {
-                    new CallbackType(LifecycleEvent.POST_ADD, "post-add"),
-                    new CallbackType(LifecycleEvent.PRE_PERSIST, "pre-persist"),
-                    new CallbackType(LifecycleEvent.POST_PERSIST, "post-persist"),
-                    new CallbackType(LifecycleEvent.PRE_UPDATE, "pre-update"),
-                    new CallbackType(LifecycleEvent.POST_UPDATE, "post-update"),
-                    new CallbackType(LifecycleEvent.PRE_REMOVE, "pre-remove"),
-                    new CallbackType(LifecycleEvent.POST_REMOVE, "post-remove"),
-                    new CallbackType(LifecycleEvent.POST_LOAD, "post-load"),
-            },
-            false);
+    protected JComboBox callbackTypeCombo = Application
+            .getWidgetFactory()
+            .createComboBox(
+                    new Object[] {
+                            new CallbackType(LifecycleEvent.POST_ADD, "post-add"),
+                            new CallbackType(LifecycleEvent.PRE_PERSIST, "pre-persist"),
+                            new CallbackType(LifecycleEvent.POST_PERSIST, "post-persist"),
+                            new CallbackType(LifecycleEvent.PRE_UPDATE, "pre-update"),
+                            new CallbackType(LifecycleEvent.POST_UPDATE, "post-update"),
+                            new CallbackType(LifecycleEvent.PRE_REMOVE, "pre-remove"),
+                            new CallbackType(LifecycleEvent.POST_REMOVE, "post-remove"),
+                            new CallbackType(LifecycleEvent.POST_LOAD, "post-load"),
+                    },
+                    false);
 
     /**
      * constructor

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataDomainView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataDomainView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataDomainView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataDomainView.java Tue Aug 24 15:17:45 2010
@@ -43,7 +43,6 @@ import org.apache.cayenne.modeler.Projec
 import org.apache.cayenne.modeler.dialog.datadomain.CacheSyncConfigController;
 import org.apache.cayenne.modeler.event.DomainDisplayEvent;
 import org.apache.cayenne.modeler.event.DomainDisplayListener;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.modeler.util.ProjectUtil;
 import org.apache.cayenne.modeler.util.TextAdapter;
 import org.apache.cayenne.pref.RenamedPreferences;
@@ -104,7 +103,7 @@ public class DataDomainView extends JPan
         this.objectValidation = new JCheckBox();
         this.externalTransactions = new JCheckBox();
 
-        this.queryCacheFactory = CayenneWidgetFactory.createUndoableComboBox();
+        this.queryCacheFactory = Application.getWidgetFactory().createUndoableComboBox();
 
         this.sharedCache = new JCheckBox();
         this.remoteUpdates = new JCheckBox();

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapView.java Tue Aug 24 15:17:45 2010
@@ -32,10 +32,10 @@ import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 
-import org.apache.cayenne.configuration.event.DataMapEvent;
-import org.apache.cayenne.configuration.event.DataNodeEvent;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
+import org.apache.cayenne.configuration.event.DataMapEvent;
+import org.apache.cayenne.configuration.event.DataNodeEvent;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.modeler.Application;
@@ -47,7 +47,6 @@ import org.apache.cayenne.modeler.dialog
 import org.apache.cayenne.modeler.event.DataMapDisplayEvent;
 import org.apache.cayenne.modeler.event.DataMapDisplayListener;
 import org.apache.cayenne.modeler.pref.DataMapDefaults;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.modeler.util.CellRenderers;
 import org.apache.cayenne.modeler.util.Comparators;
 import org.apache.cayenne.modeler.util.ProjectUtil;
@@ -105,7 +104,7 @@ public class DataMapView extends JPanel 
         };
 
         location = new JLabel();
-        nodeSelector = CayenneWidgetFactory.createUndoableComboBox();
+        nodeSelector = Application.getWidgetFactory().createUndoableComboBox();
         nodeSelector.setRenderer(CellRenderers.listRendererWithIcons());
 
         updateDefaultSchema = new JButton("Update...");

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EjbqlQueryScriptsTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EjbqlQueryScriptsTab.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EjbqlQueryScriptsTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EjbqlQueryScriptsTab.java Tue Aug 24 15:17:45 2010
@@ -34,12 +34,13 @@ import org.apache.cayenne.configuration.
 import org.apache.cayenne.configuration.event.QueryEvent;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.util.JUndoableCayenneTextPane;
 import org.apache.cayenne.project.validation.EJBQLStatementValidator;
 import org.apache.cayenne.project.validation.EJBQLStatementValidator.PositionException;
 import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.swing.components.textpane.JCayenneTextPane;
+import org.apache.cayenne.swing.components.textpane.syntax.EJBQLSyntaxConstant;
 import org.apache.cayenne.util.Util;
 
 public class EjbqlQueryScriptsTab extends JPanel implements DocumentListener {
@@ -47,7 +48,7 @@ public class EjbqlQueryScriptsTab extend
     protected ProjectController mediator;
     protected JCayenneTextPane scriptArea;
     private boolean updateDisabled;
-    protected EJBQLStatementValidator  ejbqlQueryValidator = new EJBQLStatementValidator();
+    protected EJBQLStatementValidator ejbqlQueryValidator = new EJBQLStatementValidator();
 
     public EjbqlQueryScriptsTab(ProjectController mediator) {
         this.mediator = mediator;
@@ -62,10 +63,8 @@ public class EjbqlQueryScriptsTab extend
 
     private void initView() {
 
-        scriptArea = CayenneWidgetFactory.createJEJBQLTextPane();
-         
+        scriptArea = new JUndoableCayenneTextPane(new EJBQLSyntaxConstant());
         scriptArea.getDocument().addDocumentListener(this);
-
         scriptArea.getDocument().addDocumentListener(new DocumentListener() {
 
             public void changedUpdate(DocumentEvent e) {
@@ -216,7 +215,9 @@ public class EjbqlQueryScriptsTab extend
     void validateEJBQL() {
         PositionException positionException = ejbqlQueryValidator.validateEJBQL(
                 getQuery(),
-                new EntityResolver(((DataChannelDescriptor)mediator.getProject().getRootNode()).getDataMaps()));
+                new EntityResolver(((DataChannelDescriptor) mediator
+                        .getProject()
+                        .getRootNode()).getDataMaps()));
         if (positionException != null) {
             if (positionException.getBeginLine() != null
                     || positionException.getBeginColumn() != null
@@ -246,7 +247,7 @@ public class EjbqlQueryScriptsTab extend
             super("ejbql-validation-thread");
             setDaemon(true);
         }
-        
+
         public void run() {
             running = true;
             while (running) {

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=988586&r1=988585&r2=988586&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 Tue Aug 24 15:17:45 2010
@@ -54,7 +54,6 @@ import org.apache.cayenne.modeler.event.
 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;
 import org.apache.cayenne.modeler.util.PanelFactory;
 import org.apache.cayenne.modeler.util.UIUtil;
@@ -180,10 +179,12 @@ public class EmbeddableAttributeTab exte
 
         TableColumn typeColumn = table.getColumnModel().getColumn(
                 EmbeddableAttributeTableModel.OBJ_ATTRIBUTE_TYPE);
-        JComboBox javaTypesCombo = CayenneWidgetFactory.createComboBox(ModelerUtil
-                .getRegisteredTypeNames(), false);
+        JComboBox javaTypesCombo = Application.getWidgetFactory().createComboBox(
+                ModelerUtil.getRegisteredTypeNames(),
+                false);
         AutoCompletion.enable(javaTypesCombo, false, true);
-        typeColumn.setCellEditor(CayenneWidgetFactory.createCellEditor(javaTypesCombo));
+        typeColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(
+                javaTypesCombo));
 
         tablePreferences.bind(
                 table,

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EmbeddableAttributeTableModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EmbeddableAttributeTableModel.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EmbeddableAttributeTableModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EmbeddableAttributeTableModel.java Tue Aug 24 15:17:45 2010
@@ -25,10 +25,10 @@ import java.util.Comparator;
 import org.apache.cayenne.map.Embeddable;
 import org.apache.cayenne.map.EmbeddableAttribute;
 import org.apache.cayenne.map.event.EmbeddableAttributeEvent;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
 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.ProjectUtil;
 import org.apache.cayenne.util.Util;
@@ -51,7 +51,7 @@ public class EmbeddableAttributeTableMod
         this.embeddable = embeddable;
 
         // order using local comparator
-       // Collections.sort(objectList, new EmbeddableAttributeComparator());
+        // Collections.sort(objectList, new EmbeddableAttributeComparator());
     }
 
     public EmbeddableAttribute getEmbeddableAttribute(int row) {
@@ -67,15 +67,18 @@ public class EmbeddableAttributeTableMod
     @Override
     public void setUpdatedValueAt(Object value, int row, int col) {
         EmbeddableAttribute attribute = getEmbeddableAttribute(row);
-        EmbeddableAttributeEvent event = new EmbeddableAttributeEvent(eventSource, embeddable, attribute);
+        EmbeddableAttributeEvent event = new EmbeddableAttributeEvent(
+                eventSource,
+                embeddable,
+                attribute);
         String path = null;
         Collection<String> nameAttr = null;
-        
+
         if (col == OBJ_ATTRIBUTE) {
             event.setOldName(attribute.getName());
             ProjectUtil.setEmbeddableAttributeName(attribute, value != null ? value
-             .toString()
-             .trim() : null);
+                    .toString()
+                    .trim() : null);
 
             fireTableCellUpdated(row, col);
         }
@@ -87,7 +90,7 @@ public class EmbeddableAttributeTableMod
             attribute.setDbAttributeName(value != null ? value.toString() : null);
             fireTableCellUpdated(row, col);
         }
-        
+
         mediator.fireEmbeddableAttributeEvent(event);
     }
 
@@ -125,10 +128,12 @@ public class EmbeddableAttributeTableMod
         }
     }
 
-    public CellEditorForAttributeTable setCellEditor(Collection<String> nameAttr, CayenneTable table) {
-        this.cellEditor = new CellEditorForAttributeTable(table, CayenneWidgetFactory.createComboBox(
-                nameAttr,
-                true));
+    public CellEditorForAttributeTable setCellEditor(
+            Collection<String> nameAttr,
+            CayenneTable table) {
+        this.cellEditor = new CellEditorForAttributeTable(table, Application
+                .getWidgetFactory()
+                .createComboBox(nameAttr, true));
         return cellEditor;
     }
 
@@ -164,7 +169,7 @@ public class EmbeddableAttributeTableMod
 
     @Override
     public void sortByColumn(int sortCol, boolean isAscent) {
-        switch(sortCol){
+        switch (sortCol) {
             case OBJ_ATTRIBUTE:
                 sortByElementProperty("name", isAscent);
                 break;

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=988586&r1=988585&r2=988586&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 Tue Aug 24 15:17:45 2010
@@ -29,6 +29,7 @@ import java.util.Iterator;
 import javax.swing.DefaultCellEditor;
 import javax.swing.JComboBox;
 
+import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.dba.TypesMapping;
 import org.apache.cayenne.map.Attribute;
@@ -36,24 +37,23 @@ import org.apache.cayenne.map.DbAttribut
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.map.Embeddable;
+import org.apache.cayenne.map.EmbeddedAttribute;
 import org.apache.cayenne.map.Entity;
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.map.EmbeddedAttribute;
 import org.apache.cayenne.map.event.AttributeEvent;
 import org.apache.cayenne.map.event.EntityEvent;
 import org.apache.cayenne.map.event.MapEvent;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.event.AttributeDisplayEvent;
 import org.apache.cayenne.modeler.event.EntityDisplayEvent;
 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;
-import org.apache.cayenne.CayenneRuntimeException;
 
 /**
  * Model for the Object Entity attributes and for Obj to DB Attribute Mapping tables.
@@ -239,7 +239,8 @@ public class ObjAttributeTableModel exte
     public CellEditorForAttributeTable setCellEditor(
             Collection<String> nameAttr,
             CayenneTable table) {
-        this.cellEditor = new CellEditorForAttributeTable(table, CayenneWidgetFactory
+        this.cellEditor = new CellEditorForAttributeTable(table, Application
+                .getWidgetFactory()
                 .createComboBox(nameAttr, true));
         this.table = table;
         return cellEditor;
@@ -269,7 +270,7 @@ public class ObjAttributeTableModel exte
             String newType = attribute.getType();
             String[] registeredTypes = ModelerUtil.getRegisteredTypeNames();
             Collection<String> registeredTypesList = Arrays.asList(registeredTypes);
-            
+
             if (oldType != null
                     && newType != null
                     && !(registeredTypesList.contains(oldType) == registeredTypesList
@@ -304,8 +305,11 @@ public class ObjAttributeTableModel exte
 
                 mediator.fireObjEntityEvent(new EntityEvent(this, ent, MapEvent.CHANGE));
 
-                EntityDisplayEvent ev = new EntityDisplayEvent(this, mediator
-                        .getCurrentObjEntity(), mediator.getCurrentDataMap(), (DataChannelDescriptor)mediator.getProject().getRootNode());
+                EntityDisplayEvent ev = new EntityDisplayEvent(
+                        this,
+                        mediator.getCurrentObjEntity(),
+                        mediator.getCurrentDataMap(),
+                        (DataChannelDescriptor) mediator.getProject().getRootNode());
 
                 mediator.fireObjEntityDisplayEvent(ev);
 
@@ -320,7 +324,7 @@ public class ObjAttributeTableModel exte
                         attributeNew,
                         mediator.getCurrentObjEntity(),
                         mediator.getCurrentDataMap(),
-                        (DataChannelDescriptor)mediator.getProject().getRootNode());
+                        (DataChannelDescriptor) mediator.getProject().getRootNode());
 
                 mediator.fireObjAttributeDisplayEvent(eventAttr);
             }
@@ -417,7 +421,7 @@ public class ObjAttributeTableModel exte
                 Collection<String> attributeComboForRow = new ArrayList<String>();
                 attributeComboForRow.addAll(nameAttr);
                 attributeComboForRow.add(getAttribute(i).getDbAttributePath());
-                JComboBox comboBoxForRow = CayenneWidgetFactory.createComboBox(
+                JComboBox comboBoxForRow = Application.getWidgetFactory().createComboBox(
                         attributeComboForRow,
                         true);
 

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=988586&r1=988585&r2=988586&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 Tue Aug 24 15:17:45 2010
@@ -34,13 +34,13 @@ import java.util.List;
 import java.util.Map;
 
 import javax.swing.Icon;
+import javax.swing.ImageIcon;
 import javax.swing.JButton;
 import javax.swing.JComboBox;
 import javax.swing.JPanel;
 import javax.swing.JPopupMenu;
 import javax.swing.JTable;
 import javax.swing.JToolBar;
-import javax.swing.ImageIcon;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ListSelectionEvent;
 import javax.swing.event.ListSelectionListener;
@@ -72,7 +72,6 @@ import org.apache.cayenne.modeler.event.
 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;
 import org.apache.cayenne.modeler.util.PanelFactory;
 import org.apache.cayenne.modeler.util.UIUtil;
@@ -217,10 +216,12 @@ public class ObjEntityAttributeTab exten
         TableColumn typeColumn = table.getColumnModel().getColumn(
                 ObjAttributeTableModel.OBJ_ATTRIBUTE_TYPE);
 
-        JComboBox javaTypesCombo = CayenneWidgetFactory.createComboBox(typeNames
-                .toArray(), false);
+        JComboBox javaTypesCombo = Application.getWidgetFactory().createComboBox(
+                typeNames.toArray(),
+                false);
         AutoCompletion.enable(javaTypesCombo, false, true);
-        typeColumn.setCellEditor(CayenneWidgetFactory.createCellEditor(javaTypesCombo));
+        typeColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(
+                javaTypesCombo));
 
         if (model.getEntity().getDbEntity() != null) {
             Collection<String> nameAttr = ModelerUtil.getDbAttributeNames(mediator, model

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=988586&r1=988585&r2=988586&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 Tue Aug 24 15:17:45 2010
@@ -72,7 +72,6 @@ import org.apache.cayenne.modeler.event.
 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.CellRenderers;
 import org.apache.cayenne.modeler.util.ModelerUtil;
 import org.apache.cayenne.modeler.util.PanelFactory;
@@ -405,7 +404,7 @@ public class ObjEntityRelationshipTab ex
 
         TableColumn col = table.getColumnModel().getColumn(
                 ObjRelationshipTableModel.REL_TARGET);
-        JComboBox targetCombo = CayenneWidgetFactory.createComboBox(
+        JComboBox targetCombo = Application.getWidgetFactory().createComboBox(
                 createObjEntityComboModel(),
                 false);
         AutoCompletion.enable(targetCombo);
@@ -413,15 +412,16 @@ public class ObjEntityRelationshipTab ex
         targetCombo.setRenderer(CellRenderers.entityListRendererWithIcons(entity
                 .getDataMap()));
         targetCombo.setSelectedIndex(-1);
-        col.setCellEditor(CayenneWidgetFactory.createCellEditor(targetCombo));
+        col.setCellEditor(Application.getWidgetFactory().createCellEditor(targetCombo));
 
         col = table.getColumnModel().getColumn(ObjRelationshipTableModel.REL_DELETERULE);
-        JComboBox deleteRulesCombo = CayenneWidgetFactory.createComboBox(
+        JComboBox deleteRulesCombo = Application.getWidgetFactory().createComboBox(
                 deleteRules,
                 false);
         deleteRulesCombo.setEditable(false);
         deleteRulesCombo.setSelectedIndex(0); // Default to the first value
-        col.setCellEditor(CayenneWidgetFactory.createCellEditor(deleteRulesCombo));
+        col.setCellEditor(Application.getWidgetFactory().createCellEditor(
+                deleteRulesCombo));
 
         tablePreferences.bind(
                 table,

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityTab.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ObjEntityTab.java Tue Aug 24 15:17:45 2010
@@ -21,6 +21,7 @@ package org.apache.cayenne.modeler.edito
 
 import java.awt.BorderLayout;
 import java.awt.Color;
+import java.awt.Insets;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.util.Arrays;
@@ -37,6 +38,7 @@ import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import javax.swing.JToolBar;
+import javax.swing.SwingConstants;
 
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.exp.Expression;
@@ -56,7 +58,6 @@ import org.apache.cayenne.modeler.dialog
 import org.apache.cayenne.modeler.event.EntityDisplayEvent;
 import org.apache.cayenne.modeler.event.ObjEntityDisplayListener;
 import org.apache.cayenne.modeler.graph.action.ShowGraphEntityAction;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.modeler.util.CellRenderers;
 import org.apache.cayenne.modeler.util.Comparators;
 import org.apache.cayenne.modeler.util.ExpressionConvertor;
@@ -171,8 +172,8 @@ public class ObjEntityTab extends JPanel
             }
         };
 
-        dbEntityCombo = CayenneWidgetFactory.createComboBox();
-        superEntityCombo = CayenneWidgetFactory.createComboBox();
+        dbEntityCombo = Application.getWidgetFactory().createComboBox();
+        superEntityCombo = Application.getWidgetFactory().createComboBox();
 
         AutoCompletion.enable(dbEntityCombo);
         AutoCompletion.enable(superEntityCombo);
@@ -182,8 +183,15 @@ public class ObjEntityTab extends JPanel
         excludeSuperclassListeners = new JCheckBox();
         excludeDefaultListeners = new JCheckBox();
 
-        tableLabel = CayenneWidgetFactory.createLabelButton("Table/View:");
-        syncWithDbEntityButton = CayenneWidgetFactory.createButton("Sync w/DbEntity");
+        // borderless clickable button used as a label
+        tableLabel = new JButton("Table/View:");
+        tableLabel.setBorderPainted(false);
+        tableLabel.setHorizontalAlignment(SwingConstants.LEFT);
+        tableLabel.setFocusPainted(false);
+        tableLabel.setMargin(new Insets(0, 0, 0, 0));
+        tableLabel.setBorder(null);
+
+        syncWithDbEntityButton = new JButton("Sync w/DbEntity");
         syncWithDbEntityButton.setIcon(ModelerUtil.buildIcon("icon-sync.gif"));
         syncWithDbEntityButton.setToolTipText("Sync this ObjEntity with its DBEntity");
 

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=988586&r1=988585&r2=988586&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 Tue Aug 24 15:17:45 2010
@@ -62,7 +62,6 @@ import org.apache.cayenne.modeler.event.
 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;
 import org.apache.cayenne.modeler.util.ModelerUtil;
 import org.apache.cayenne.modeler.util.PanelFactory;
 import org.apache.cayenne.modeler.util.UIUtil;
@@ -117,8 +116,9 @@ public class ProcedureParameterTab exten
         JToolBar toolBar = new JToolBar();
 
         ActionManager actionManager = Application.getInstance().getActionManager();
-        toolBar.add(actionManager.getAction(
-                CreateProcedureParameterAction.class).buildButton());
+        toolBar.add(actionManager
+                .getAction(CreateProcedureParameterAction.class)
+                .buildButton());
         removeParameterButton = actionManager.getAction(
                 RemoveProcedureParameterAction.class).buildButton();
         toolBar.add(removeParameterButton);
@@ -171,12 +171,11 @@ public class ProcedureParameterTab exten
         popup.add(moveDownMenu);
 
         popup.addSeparator();
-        popup.add(actionManager
-                .getAction(CutProcedureParameterAction.class)
-                .buildMenu());
-        popup.add(actionManager
-                .getAction(CopyProcedureParameterAction.class)
-                .buildMenu());
+        popup.add(actionManager.getAction(CutProcedureParameterAction.class).buildMenu());
+        popup
+                .add(actionManager
+                        .getAction(CopyProcedureParameterAction.class)
+                        .buildMenu());
         popup.add(actionManager.getAction(PasteAction.class).buildMenu());
 
         TablePopupHandler.install(table, popup);
@@ -295,15 +294,17 @@ public class ProcedureParameterTab exten
 
         TableColumn typesColumn = table.getColumnModel().getColumn(
                 ProcedureParameterTableModel.PARAMETER_TYPE);
-        JComboBox typesEditor = CayenneWidgetFactory.createComboBox(TypesMapping
-                .getDatabaseTypes(), true);
+        JComboBox typesEditor = Application.getWidgetFactory().createComboBox(
+                TypesMapping.getDatabaseTypes(),
+                true);
         AutoCompletion.enable(typesEditor);
-        typesColumn.setCellEditor(CayenneWidgetFactory.createCellEditor(typesEditor));
+        typesColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(
+                typesEditor));
 
         // direction column tweaking
         TableColumn directionColumn = table.getColumnModel().getColumn(
                 ProcedureParameterTableModel.PARAMETER_DIRECTION);
-        JComboBox directionEditor = CayenneWidgetFactory.createComboBox(
+        JComboBox directionEditor = Application.getWidgetFactory().createComboBox(
                 ProcedureParameterTableModel.PARAMETER_DIRECTION_NAMES,
                 false);
         directionEditor.setEditable(false);

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureQueryView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureQueryView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureQueryView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureQueryView.java Tue Aug 24 15:17:45 2010
@@ -37,10 +37,10 @@ import javax.swing.JTextField;
 import org.apache.cayenne.configuration.event.QueryEvent;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.event.QueryDisplayEvent;
 import org.apache.cayenne.modeler.event.QueryDisplayListener;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.modeler.util.CellRenderers;
 import org.apache.cayenne.modeler.util.Comparators;
 import org.apache.cayenne.modeler.util.ProjectUtil;
@@ -60,14 +60,13 @@ import com.jgoodies.forms.layout.RowSpec
 /**
  */
 public class ProcedureQueryView extends JPanel {
-    
+
     private static final String DEFAULT_CAPS_LABEL = "Database Default";
     private static final String LOWER_CAPS_LABEL = "Force Lower Case";
     private static final String UPPER_CAPS_LABEL = "Force Upper Case";
 
     private static final CapsStrategy[] LABEL_CAPITALIZATION = {
-            CapsStrategy.DEFAULT, CapsStrategy.LOWER,
-            CapsStrategy.UPPER
+            CapsStrategy.DEFAULT, CapsStrategy.LOWER, CapsStrategy.UPPER
     };
 
     private static final Map<CapsStrategy, String> labelCapsLabels = new HashMap<CapsStrategy, String>();
@@ -100,7 +99,7 @@ public class ProcedureQueryView extends 
             }
         };
 
-        queryRoot = CayenneWidgetFactory.createUndoableComboBox();
+        queryRoot = Application.getWidgetFactory().createUndoableComboBox();
         queryRoot.setRenderer(CellRenderers.listRendererWithIcons());
         properties = new ProcedureQueryPropertiesPanel(mediator);
 
@@ -158,7 +157,6 @@ public class ProcedureQueryView extends 
 
         ProcedureQuery procedureQuery = (ProcedureQuery) query;
 
-     
         properties.setEnabled(true);
         name.setText(procedureQuery.getName());
 
@@ -248,7 +246,7 @@ public class ProcedureQueryView extends 
             mediator.fireQueryEvent(new QueryEvent(this, procedureQuery));
         }
     }
-    
+
     final class LabelCapsRenderer extends DefaultListCellRenderer {
 
         public Component getListCellRendererComponent(
@@ -261,7 +259,7 @@ public class ProcedureQueryView extends 
             return super.getListCellRendererComponent(list, object, arg2, arg3, arg4);
         }
     }
-    
+
     final class ProcedureQueryPropertiesPanel extends RawQueryPropertiesPanel {
 
         private JComboBox labelCase;
@@ -271,7 +269,7 @@ public class ProcedureQueryView extends 
         }
 
         protected PanelBuilder createPanelBuilder() {
-            labelCase = CayenneWidgetFactory.createUndoableComboBox();
+            labelCase = Application.getWidgetFactory().createUndoableComboBox();
             labelCase.setRenderer(new LabelCapsRenderer());
 
             labelCase.addActionListener(new ActionListener() {

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/RawQueryPropertiesPanel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/RawQueryPropertiesPanel.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/RawQueryPropertiesPanel.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/RawQueryPropertiesPanel.java Tue Aug 24 15:17:45 2010
@@ -34,8 +34,8 @@ import org.apache.cayenne.configuration.
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.modeler.util.CellRenderers;
 import org.apache.cayenne.modeler.util.Comparators;
 import org.apache.cayenne.query.Query;
@@ -111,7 +111,7 @@ public abstract class RawQueryProperties
 
         dataObjects = new JCheckBox();
 
-        entities = CayenneWidgetFactory.createUndoableComboBox();
+        entities = Application.getWidgetFactory().createUndoableComboBox();
         entities.setRenderer(CellRenderers.listRendererWithIcons());
 
         this.setLayout(new BorderLayout());
@@ -124,7 +124,9 @@ public abstract class RawQueryProperties
      */
     public void initFromModel(Query query) {
         super.initFromModel(query);
-        EntityResolver entRes = new EntityResolver(((DataChannelDescriptor)mediator.getProject().getRootNode()).getDataMaps());
+        EntityResolver entRes = new EntityResolver(((DataChannelDescriptor) mediator
+                .getProject()
+                .getRootNode()).getDataMaps());
         boolean fetchingDO = !query.getMetaData(entRes).isFetchingDataRows();
         dataObjects.setSelected(fetchingDO);
 

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateMainTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateMainTab.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateMainTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateMainTab.java Tue Aug 24 15:17:45 2010
@@ -36,8 +36,8 @@ import javax.swing.JTextField;
 import org.apache.cayenne.configuration.event.QueryEvent;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.modeler.util.ProjectUtil;
 import org.apache.cayenne.modeler.util.TextAdapter;
 import org.apache.cayenne.query.CapsStrategy;
@@ -62,8 +62,7 @@ public class SQLTemplateMainTab extends 
     private static final String UPPER_CAPS_LABEL = "Force Upper Case";
 
     private static final CapsStrategy[] LABEL_CAPITALIZATION = {
-            CapsStrategy.DEFAULT, CapsStrategy.LOWER,
-            CapsStrategy.UPPER
+            CapsStrategy.DEFAULT, CapsStrategy.LOWER, CapsStrategy.UPPER
     };
 
     private static final Map<CapsStrategy, String> labelCapsLabels = new HashMap<CapsStrategy, String>();
@@ -216,7 +215,7 @@ public class SQLTemplateMainTab extends 
         }
 
         protected PanelBuilder createPanelBuilder() {
-            labelCase = CayenneWidgetFactory.createUndoableComboBox();
+            labelCase = Application.getWidgetFactory().createUndoableComboBox();
             labelCase.setRenderer(new LabelCapsRenderer());
 
             labelCase.addActionListener(new ActionListener() {

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateScriptsTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateScriptsTab.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateScriptsTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SQLTemplateScriptsTab.java Tue Aug 24 15:17:45 2010
@@ -42,8 +42,8 @@ import javax.swing.text.BadLocationExcep
 import javax.swing.text.Document;
 
 import org.apache.cayenne.configuration.event.QueryEvent;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.modeler.util.DbAdapterInfo;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.SQLTemplate;
@@ -139,7 +139,7 @@ public class SQLTemplateScriptsTab exten
         keys.add(0, DEFAULT_LABEL);
         scripts.setModel(new DefaultComboBoxModel(keys.toArray()));
         
-        scriptArea = CayenneWidgetFactory.createJEditTextArea();
+        scriptArea = Application.getWidgetFactory().createJEditTextArea();
         
         scriptArea.setTokenMarker(SQL_TEMPLATE_MARKER);
         scriptArea.getDocument().addDocumentListener(this);

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectPropertiesPanel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectPropertiesPanel.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectPropertiesPanel.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectPropertiesPanel.java Tue Aug 24 15:17:45 2010
@@ -36,8 +36,8 @@ import javax.swing.JPanel;
 import javax.swing.JTextField;
 
 import org.apache.cayenne.configuration.event.QueryEvent;
+import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.modeler.util.TextAdapter;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.QueryCacheStrategy;
@@ -111,7 +111,7 @@ public abstract class SelectPropertiesPa
             }
         };
 
-        cacheStrategy = CayenneWidgetFactory.createUndoableComboBox();
+        cacheStrategy = Application.getWidgetFactory().createUndoableComboBox();
         cacheStrategy.setRenderer(new CacheStrategyRenderer());
         cacheGroups = new TextAdapter(new JTextField()) {
 
@@ -141,26 +141,30 @@ public abstract class SelectPropertiesPa
      */
     public void initFromModel(Query query) {
         DefaultComboBoxModel cacheModel = new DefaultComboBoxModel(CACHE_POLICIES);
-        
+
         // TODO (andrey, 15/12/09)
-        //do not use metadata, as it triggers CDO class loading (CAY-1334)
-        //to avoid this evil hack, we need some common interface for SelectQuery, EJBQL
+        // do not use metadata, as it triggers CDO class loading (CAY-1334)
+        // to avoid this evil hack, we need some common interface for SelectQuery, EJBQL
         // & SQLTemplate, but 3.0 API is frozen now
-        QueryCacheStrategy selectedStrategy = (QueryCacheStrategy)
-            PropertyUtils.getProperty(query, "cacheStrategy");
+        QueryCacheStrategy selectedStrategy = (QueryCacheStrategy) PropertyUtils
+                .getProperty(query, "cacheStrategy");
 
         cacheModel.setSelectedItem(selectedStrategy != null
                 ? selectedStrategy
                 : QueryCacheStrategy.getDefaultStrategy());
         cacheStrategy.setModel(cacheModel);
 
-        String[] cacheGroupsArray = (String[]) PropertyUtils.getProperty(query, "cacheGroups");
+        String[] cacheGroupsArray = (String[]) PropertyUtils.getProperty(
+                query,
+                "cacheGroups");
         cacheGroups.setText(toCacheGroupsString(cacheGroupsArray));
         setCacheGroupsEnabled(selectedStrategy != null
                 && selectedStrategy != QueryCacheStrategy.NO_CACHE);
 
-        fetchOffset.setText(String.valueOf(PropertyUtils.getProperty(query, "fetchOffset")));
-        fetchLimit.setText(String.valueOf(PropertyUtils.getProperty(query, "fetchLimit")));
+        fetchOffset.setText(String.valueOf(PropertyUtils
+                .getProperty(query, "fetchOffset")));
+        fetchLimit
+                .setText(String.valueOf(PropertyUtils.getProperty(query, "fetchLimit")));
         pageSize.setText(String.valueOf(PropertyUtils.getProperty(query, "pageSize")));
     }