svn commit: r12828 - trunk/src_new: META-INF org/argouml/gefext org/argouml/i18n org/argouml/kernel org/argouml/uml/diagram/ui

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: mvw
Date: 2007-06-13 12:08:44-0700
New Revision: 12828

Added:
   trunk/src_new/org/argouml/gefext/
   trunk/src_new/org/argouml/gefext/ArgoFigCircle.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoFigInk.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoFigLine.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoFigPoly.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoFigRRect.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoFigRect.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoFigSpline.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoFigText.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoModeCreateFigCircle.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoModeCreateFigInk.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoModeCreateFigLine.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoModeCreateFigPoly.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoModeCreateFigRRect.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoModeCreateFigRect.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoModeCreateFigSpline.java   (contents, props changed)
   trunk/src_new/org/argouml/gefext/ArgoModeCreateFigText.java   (contents, props changed)
Modified:
   trunk/src_new/META-INF/MANIFEST.MF
   trunk/src_new/org/argouml/i18n/statusmsg.properties
   trunk/src_new/org/argouml/kernel/Project.java
   trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java

Log:
Remove a dependency from org.argouml.kernel.Project to org.argouml.ui (TargetManager).

Added i18n for help messages for primitive Figs.

Modified: trunk/src_new/META-INF/MANIFEST.MF
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/META-INF/MANIFEST.MF?view=diff&rev=12828&p1=trunk/src_new/META-INF/MANIFEST.MF&p2=trunk/src_new/META-INF/MANIFEST.MF&r1=12827&r2=12828
==============================================================================
--- trunk/src_new/META-INF/MANIFEST.MF	(original)
+++ trunk/src_new/META-INF/MANIFEST.MF	2007-06-13 12:08:44-0700
@@ -20,6 +20,7 @@
  org.argouml.cognitive.critics.ui,
  org.argouml.cognitive.ui,
  org.argouml.configuration,
+ org.argouml.gefext,
  org.argouml.i18n,
  org.argouml.kernel,
  org.argouml.language.java.cognitive.critics,

Added: trunk/src_new/org/argouml/gefext/ArgoFigCircle.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoFigCircle.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoFigCircle.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,95 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import javax.management.ListenerNotFoundException;
+import javax.management.MBeanNotificationInfo;
+import javax.management.Notification;
+import javax.management.NotificationBroadcasterSupport;
+import javax.management.NotificationEmitter;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+
+import org.tigris.gef.presentation.FigCircle;
+
+/**
+ * Primitive Fig for displaying circles and ovals.
+ *
+ * @author Michiel
+ */
+public class ArgoFigCircle extends FigCircle implements NotificationEmitter {
+
+    private NotificationBroadcasterSupport notifier = 
+        new NotificationBroadcasterSupport();
+
+    public ArgoFigCircle(int x, int y, int w, int h) {
+        super(x, y, w, h);
+    }
+
+
+    /*
+     * @see org.tigris.gef.presentation.Fig#deleteFromModel()
+     */
+    @Override
+    public void deleteFromModel() {
+        super.deleteFromModel();
+        firePropChange("remove", null, null);
+        notifier.sendNotification(new Notification("remove", this, 0));
+    }
+
+    /*
+     * @see javax.management.NotificationEmitter#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void removeNotificationListener(NotificationListener listener,
+        NotificationFilter filter, Object handback) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void addNotificationListener(NotificationListener listener, 
+        NotificationFilter filter, Object handback) 
+        throws IllegalArgumentException {
+        notifier.addNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#getNotificationInfo()
+     */
+    public MBeanNotificationInfo[] getNotificationInfo() {
+        return notifier.getNotificationInfo();
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#removeNotificationListener(javax.management.NotificationListener)
+     */
+    public void removeNotificationListener(NotificationListener listener) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener);
+    }
+
+}

Added: trunk/src_new/org/argouml/gefext/ArgoFigInk.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoFigInk.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoFigInk.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,95 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import javax.management.ListenerNotFoundException;
+import javax.management.MBeanNotificationInfo;
+import javax.management.Notification;
+import javax.management.NotificationBroadcasterSupport;
+import javax.management.NotificationEmitter;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+
+import org.tigris.gef.presentation.FigInk;
+
+/**
+ * Primitive Fig to paint Ink on a diagram.
+ *
+ * @author Michiel
+ */
+public class ArgoFigInk extends FigInk implements NotificationEmitter {
+
+    private NotificationBroadcasterSupport notifier = 
+        new NotificationBroadcasterSupport();
+
+    public ArgoFigInk(int x, int y) {
+        super(x, y);
+    }
+
+
+    /*
+     * @see org.tigris.gef.presentation.Fig#deleteFromModel()
+     */
+    @Override
+    public void deleteFromModel() {
+        super.deleteFromModel();
+        firePropChange("remove", null, null);
+        notifier.sendNotification(new Notification("remove", this, 0));
+    }
+
+    /*
+     * @see javax.management.NotificationEmitter#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void removeNotificationListener(NotificationListener listener,
+        NotificationFilter filter, Object handback) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void addNotificationListener(NotificationListener listener, 
+        NotificationFilter filter, Object handback) 
+        throws IllegalArgumentException {
+        notifier.addNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#getNotificationInfo()
+     */
+    public MBeanNotificationInfo[] getNotificationInfo() {
+        return notifier.getNotificationInfo();
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#removeNotificationListener(javax.management.NotificationListener)
+     */
+    public void removeNotificationListener(NotificationListener listener) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener);
+    }
+
+}

Added: trunk/src_new/org/argouml/gefext/ArgoFigLine.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoFigLine.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoFigLine.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,95 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import javax.management.ListenerNotFoundException;
+import javax.management.MBeanNotificationInfo;
+import javax.management.Notification;
+import javax.management.NotificationBroadcasterSupport;
+import javax.management.NotificationEmitter;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+
+import org.tigris.gef.presentation.FigLine;
+
+/**
+ * Primitive Fig for drawing a line in a diagram.
+ *
+ * @author Michiel
+ */
+public class ArgoFigLine extends FigLine implements NotificationEmitter {
+
+    private NotificationBroadcasterSupport notifier = 
+        new NotificationBroadcasterSupport();
+
+    public ArgoFigLine(int x1, int y1, int x2, int y2) {
+        super(x1, y1, x2, y2);
+    }
+
+
+    /*
+     * @see org.tigris.gef.presentation.Fig#deleteFromModel()
+     */
+    @Override
+    public void deleteFromModel() {
+        super.deleteFromModel();
+        firePropChange("remove", null, null);
+        notifier.sendNotification(new Notification("remove", this, 0));
+    }
+
+    /*
+     * @see javax.management.NotificationEmitter#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void removeNotificationListener(NotificationListener listener,
+        NotificationFilter filter, Object handback) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void addNotificationListener(NotificationListener listener, 
+        NotificationFilter filter, Object handback) 
+        throws IllegalArgumentException {
+        notifier.addNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#getNotificationInfo()
+     */
+    public MBeanNotificationInfo[] getNotificationInfo() {
+        return notifier.getNotificationInfo();
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#removeNotificationListener(javax.management.NotificationListener)
+     */
+    public void removeNotificationListener(NotificationListener listener) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener);
+    }
+
+}

Added: trunk/src_new/org/argouml/gefext/ArgoFigPoly.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoFigPoly.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoFigPoly.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,95 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import javax.management.ListenerNotFoundException;
+import javax.management.MBeanNotificationInfo;
+import javax.management.Notification;
+import javax.management.NotificationBroadcasterSupport;
+import javax.management.NotificationEmitter;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+
+import org.tigris.gef.presentation.FigPoly;
+
+/**
+ * Primitive Fig to paint Polygons on a diagram.
+ *
+ * @author Michiel
+ */
+public class ArgoFigPoly extends FigPoly implements NotificationEmitter {
+
+    private NotificationBroadcasterSupport notifier = 
+        new NotificationBroadcasterSupport();
+
+    public ArgoFigPoly(int x, int y) {
+        super(x, y);
+    }
+
+    
+    /*
+     * @see org.tigris.gef.presentation.Fig#deleteFromModel()
+     */
+    @Override
+    public void deleteFromModel() {
+        super.deleteFromModel();
+        firePropChange("remove", null, null);
+        notifier.sendNotification(new Notification("remove", this, 0));
+    }
+
+    /*
+     * @see javax.management.NotificationEmitter#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void removeNotificationListener(NotificationListener listener,
+        NotificationFilter filter, Object handback) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void addNotificationListener(NotificationListener listener, 
+        NotificationFilter filter, Object handback) 
+        throws IllegalArgumentException {
+        notifier.addNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#getNotificationInfo()
+     */
+    public MBeanNotificationInfo[] getNotificationInfo() {
+        return notifier.getNotificationInfo();
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#removeNotificationListener(javax.management.NotificationListener)
+     */
+    public void removeNotificationListener(NotificationListener listener) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener);
+    }
+
+}

Added: trunk/src_new/org/argouml/gefext/ArgoFigRRect.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoFigRRect.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoFigRRect.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,94 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import javax.management.ListenerNotFoundException;
+import javax.management.MBeanNotificationInfo;
+import javax.management.Notification;
+import javax.management.NotificationBroadcasterSupport;
+import javax.management.NotificationEmitter;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+
+import org.tigris.gef.presentation.FigRRect;
+
+/**
+ * Primitive Fig to paint rounded rectangles on a diagram.
+ *
+ * @author Michiel
+ */
+public class ArgoFigRRect extends FigRRect implements NotificationEmitter {
+
+    private NotificationBroadcasterSupport notifier = 
+        new NotificationBroadcasterSupport();
+    
+    public ArgoFigRRect(int x, int y, int w, int h) {
+        super(x, y, w, h);
+    }
+
+    /*
+     * @see org.tigris.gef.presentation.Fig#deleteFromModel()
+     */
+    @Override
+    public void deleteFromModel() {
+        super.deleteFromModel();
+        firePropChange("remove", null, null);
+        notifier.sendNotification(new Notification("remove", this, 0));
+    }
+
+    /*
+     * @see javax.management.NotificationEmitter#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void removeNotificationListener(NotificationListener listener,
+        NotificationFilter filter, Object handback) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void addNotificationListener(NotificationListener listener, 
+        NotificationFilter filter, Object handback) 
+        throws IllegalArgumentException {
+        notifier.addNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#getNotificationInfo()
+     */
+    public MBeanNotificationInfo[] getNotificationInfo() {
+        return notifier.getNotificationInfo();
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#removeNotificationListener(javax.management.NotificationListener)
+     */
+    public void removeNotificationListener(NotificationListener listener) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener);
+    }
+
+}

Added: trunk/src_new/org/argouml/gefext/ArgoFigRect.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoFigRect.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoFigRect.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,94 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import javax.management.ListenerNotFoundException;
+import javax.management.MBeanNotificationInfo;
+import javax.management.Notification;
+import javax.management.NotificationBroadcasterSupport;
+import javax.management.NotificationEmitter;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+
+import org.tigris.gef.presentation.FigRect;
+
+/**
+ * Primitive Fig to paint rectangles on a Diagram.
+ *
+ * @author Michiel
+ */
+public class ArgoFigRect extends FigRect  implements NotificationEmitter {
+
+    private NotificationBroadcasterSupport notifier = 
+        new NotificationBroadcasterSupport();
+    
+    public ArgoFigRect(int x, int y, int w, int h) {
+        super(x, y, w, h);
+    }
+
+    /*
+     * @see org.tigris.gef.presentation.Fig#deleteFromModel()
+     */
+    @Override
+    public void deleteFromModel() {
+        super.deleteFromModel();
+        firePropChange("remove", null, null);
+        notifier.sendNotification(new Notification("remove", this, 0));
+    }
+
+    /*
+     * @see javax.management.NotificationEmitter#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void removeNotificationListener(NotificationListener listener,
+        NotificationFilter filter, Object handback) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void addNotificationListener(NotificationListener listener, 
+        NotificationFilter filter, Object handback) 
+        throws IllegalArgumentException {
+        notifier.addNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#getNotificationInfo()
+     */
+    public MBeanNotificationInfo[] getNotificationInfo() {
+        return notifier.getNotificationInfo();
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#removeNotificationListener(javax.management.NotificationListener)
+     */
+    public void removeNotificationListener(NotificationListener listener) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener);
+    }
+
+}

Added: trunk/src_new/org/argouml/gefext/ArgoFigSpline.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoFigSpline.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoFigSpline.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,95 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import javax.management.ListenerNotFoundException;
+import javax.management.MBeanNotificationInfo;
+import javax.management.Notification;
+import javax.management.NotificationBroadcasterSupport;
+import javax.management.NotificationEmitter;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+
+import org.tigris.gef.presentation.FigSpline;
+
+/**
+ * Primitive Fig for displaying splines.
+ *
+ * @author Michiel
+ */
+public class ArgoFigSpline extends FigSpline implements NotificationEmitter {
+
+    private NotificationBroadcasterSupport notifier = 
+        new NotificationBroadcasterSupport();
+
+    public ArgoFigSpline(int x, int y) {
+        super(x, y);
+    }
+
+
+    /*
+     * @see org.tigris.gef.presentation.Fig#deleteFromModel()
+     */
+    @Override
+    public void deleteFromModel() {
+        super.deleteFromModel();
+        firePropChange("remove", null, null);
+        notifier.sendNotification(new Notification("remove", this, 0));
+    }
+
+    /*
+     * @see javax.management.NotificationEmitter#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void removeNotificationListener(NotificationListener listener,
+        NotificationFilter filter, Object handback) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void addNotificationListener(NotificationListener listener, 
+        NotificationFilter filter, Object handback) 
+        throws IllegalArgumentException {
+        notifier.addNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#getNotificationInfo()
+     */
+    public MBeanNotificationInfo[] getNotificationInfo() {
+        return notifier.getNotificationInfo();
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#removeNotificationListener(javax.management.NotificationListener)
+     */
+    public void removeNotificationListener(NotificationListener listener) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener);
+    }
+
+}

Added: trunk/src_new/org/argouml/gefext/ArgoFigText.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoFigText.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoFigText.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,95 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import javax.management.ListenerNotFoundException;
+import javax.management.MBeanNotificationInfo;
+import javax.management.Notification;
+import javax.management.NotificationBroadcasterSupport;
+import javax.management.NotificationEmitter;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+
+import org.tigris.gef.presentation.FigText;
+
+/**
+ * Primitive Fig for text.
+ *
+ * @author Michiel
+ */
+public class ArgoFigText extends FigText implements NotificationEmitter {
+
+    private NotificationBroadcasterSupport notifier = 
+        new NotificationBroadcasterSupport();
+
+    public ArgoFigText(int x, int y, int w, int h) {
+        super(x, y, w, h);
+    }
+
+
+    /*
+     * @see org.tigris.gef.presentation.Fig#deleteFromModel()
+     */
+    @Override
+    public void deleteFromModel() {
+        super.deleteFromModel();
+        firePropChange("remove", null, null);
+        notifier.sendNotification(new Notification("remove", this, 0));
+    }
+
+    /*
+     * @see javax.management.NotificationEmitter#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void removeNotificationListener(NotificationListener listener,
+        NotificationFilter filter, Object handback) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+     */
+    public void addNotificationListener(NotificationListener listener, 
+        NotificationFilter filter, Object handback) 
+        throws IllegalArgumentException {
+        notifier.addNotificationListener(listener, filter, handback);
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#getNotificationInfo()
+     */
+    public MBeanNotificationInfo[] getNotificationInfo() {
+        return notifier.getNotificationInfo();
+    }
+
+    /*
+     * @see javax.management.NotificationBroadcaster#removeNotificationListener(javax.management.NotificationListener)
+     */
+    public void removeNotificationListener(NotificationListener listener) 
+        throws ListenerNotFoundException {
+        notifier.removeNotificationListener(listener);
+    }
+
+}

Added: trunk/src_new/org/argouml/gefext/ArgoModeCreateFigCircle.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoModeCreateFigCircle.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoModeCreateFigCircle.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,53 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import java.awt.event.MouseEvent;
+
+import org.argouml.i18n.Translator;
+import org.tigris.gef.base.ModeCreateFigCircle;
+import org.tigris.gef.presentation.Fig;
+
+/**
+ * A Mode to interprete user input while creating a FigCircle. All of
+ * the actual event handling is inherited from ModeCreate. This class
+ * just implements the differences needed to make it specific to
+ * circles. 
+ *
+ * @author Michiel
+ */
+public class ArgoModeCreateFigCircle extends ModeCreateFigCircle {
+
+    @Override
+    public Fig createNewItem(MouseEvent me, int snapX, int snapY) {
+        return new ArgoFigCircle(snapX, snapY, 0, 0);
+    }
+
+    @Override
+    public String instructions() {
+        return Translator.localize("statusmsg.help.create.circle");
+    }
+
+}

Added: trunk/src_new/org/argouml/gefext/ArgoModeCreateFigInk.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoModeCreateFigInk.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoModeCreateFigInk.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,50 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import java.awt.event.MouseEvent;
+
+import org.argouml.i18n.Translator;
+import org.tigris.gef.base.ModeCreateFigInk;
+import org.tigris.gef.presentation.Fig;
+import org.tigris.gef.presentation.FigInk;
+
+/**
+ * A Mode to interprete user input while creating a FigInk.
+ *
+ * @author Michiel
+ */
+public class ArgoModeCreateFigInk extends ModeCreateFigInk {
+
+    public String instructions() { 
+        return Translator.localize("statusmsg.help.create.ink"); 
+    }
+
+    public Fig createNewItem(MouseEvent me, int snapX, int snapY) {
+        FigInk p = new ArgoFigInk(snapX, snapY);
+        _lastX = snapX; _lastY = snapY;
+        return p;
+    }
+}

Added: trunk/src_new/org/argouml/gefext/ArgoModeCreateFigLine.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoModeCreateFigLine.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoModeCreateFigLine.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,52 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import java.awt.event.MouseEvent;
+
+import org.argouml.i18n.Translator;
+import org.tigris.gef.base.ModeCreateFigLine;
+import org.tigris.gef.presentation.Fig;
+
+/**
+ * A Mode to interprete user input while creating a FigLine. All of
+ *  the actual event handling is inherited from ModeCreate. This class
+ *  just implements the differences needed to make it specific to
+ *  lines.
+ *
+ * @author Michiel
+ */
+public class ArgoModeCreateFigLine extends ModeCreateFigLine {
+
+    @Override
+    public Fig createNewItem(MouseEvent me, int snapX, int snapY) {
+        return new ArgoFigLine(snapX, snapY, snapX, snapY);
+    }
+
+    @Override
+    public String instructions() { 
+        return Translator.localize("statusmsg.help.create.line"); 
+    }
+}

Added: trunk/src_new/org/argouml/gefext/ArgoModeCreateFigPoly.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoModeCreateFigPoly.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoModeCreateFigPoly.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,63 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import java.awt.event.MouseEvent;
+
+import org.argouml.i18n.Translator;
+import org.tigris.gef.base.ModeCreateFigPoly;
+import org.tigris.gef.presentation.Fig;
+import org.tigris.gef.presentation.FigPoly;
+
+/**
+ * A Mode to interprete user input while creating a FigPoly. All of
+ * the actual event handling is inherited from ModeCreate. This class
+ * just implements the differences needed for ArgoUML.
+ *
+ * @author Michiel
+ */
+public class ArgoModeCreateFigPoly extends ModeCreateFigPoly {
+
+    public String instructions() {
+        return Translator.localize("statusmsg.help.create.poly");
+    }
+
+    /*
+     * @see org.tigris.gef.base.ModeCreateFigPoly#createNewItem(java.awt.event.MouseEvent, int, int)
+     */
+    @Override
+    public Fig createNewItem(MouseEvent me, int snapX, int snapY) {
+        FigPoly p = new ArgoFigPoly(snapX, snapY);
+        p.addPoint(snapX, snapY); // add the first point twice
+        _lastX = snapX;
+        _lastY = snapY;
+        _startX = snapX;
+        _startY = snapY;
+        _npoints = 2;
+        return p;
+    }
+    
+    
+}

Added: trunk/src_new/org/argouml/gefext/ArgoModeCreateFigRRect.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoModeCreateFigRRect.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoModeCreateFigRRect.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,52 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import java.awt.event.MouseEvent;
+
+import org.argouml.i18n.Translator;
+import org.tigris.gef.base.ModeCreateFigRRect;
+import org.tigris.gef.presentation.Fig;
+
+/**
+ * A Mode to interprete user input while creating a FigRRect. All of
+ *  the actual event handling is inherited from ModeCreate. This class
+ *  just implements the differences needed to make it specific to
+ *  RRects.
+ *
+ * @author Michiel
+ */
+public class ArgoModeCreateFigRRect extends ModeCreateFigRRect {
+
+    @Override
+    public Fig createNewItem(MouseEvent me, int snapX, int snapY) {
+        return new ArgoFigRRect(snapX, snapY, 0, 0);
+    }
+
+    @Override
+    public String instructions() { 
+        return Translator.localize("statusmsg.help.create.rrect"); 
+    }
+}

Added: trunk/src_new/org/argouml/gefext/ArgoModeCreateFigRect.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoModeCreateFigRect.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoModeCreateFigRect.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,52 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import java.awt.event.MouseEvent;
+
+import org.argouml.i18n.Translator;
+import org.tigris.gef.base.ModeCreateFigRect;
+import org.tigris.gef.presentation.Fig;
+
+/**
+ * A Mode to interprete user input while creating a FigRect. All of
+ *  the actual event handling is inherited from ModeCreate. This class
+ *  just implements the differences needed to make it specific to
+ *  rectangles.
+ *
+ * @author Michiel
+ */
+public class ArgoModeCreateFigRect extends ModeCreateFigRect {
+
+    @Override
+    public Fig createNewItem(MouseEvent me, int snapX, int snapY) {
+        return new ArgoFigRect(snapX, snapY, 0, 0);
+    }
+
+    @Override
+    public String instructions() { 
+        return Translator.localize("statusmsg.help.create.rect"); 
+    }
+}

Added: trunk/src_new/org/argouml/gefext/ArgoModeCreateFigSpline.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoModeCreateFigSpline.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoModeCreateFigSpline.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,56 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import java.awt.event.MouseEvent;
+
+import org.argouml.i18n.Translator;
+import org.tigris.gef.base.ModeCreateFigSpline;
+import org.tigris.gef.presentation.Fig;
+import org.tigris.gef.presentation.FigSpline;
+
+/**
+ * A Mode to interprete user input while creating a FigSpline.
+ *
+ * @author Michiel
+ */
+public class ArgoModeCreateFigSpline extends ModeCreateFigSpline {
+
+    public String instructions() {
+        return Translator.localize("statusmsg.help.create.spline");
+    }
+    
+    public Fig createNewItem(MouseEvent me, int snapX, int snapY) {
+        FigSpline p = new ArgoFigSpline(snapX, snapY);
+        p.addPoint(snapX, snapY); // add the first point twice
+        _startX = snapX; 
+        _startY = snapY;
+        _lastX = snapX; 
+        _lastY = snapY;
+        _npoints = 2;
+        return p;
+    }
+
+}

Added: trunk/src_new/org/argouml/gefext/ArgoModeCreateFigText.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/gefext/ArgoModeCreateFigText.java?view=auto&rev=12828
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/gefext/ArgoModeCreateFigText.java	2007-06-13 12:08:44-0700
@@ -0,0 +1,54 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.gefext;
+
+import java.awt.event.MouseEvent;
+
+import org.argouml.i18n.Translator;
+import org.tigris.gef.base.ModeCreateFigText;
+import org.tigris.gef.presentation.Fig;
+
+/**
+ * A Mode to interprete user input while creating a FigText. All of
+ * the actual event handling is inherited from ModeCreate. This class
+ * just implements the differences needed to make it specific to
+ * text.
+ *
+ * @author Michiel
+ */
+public class ArgoModeCreateFigText extends ModeCreateFigText {
+    
+    public String instructions() {
+        return Translator.localize("statusmsg.help.create.text");
+    }
+
+    /*
+     * Create a new FigText instance based on the given mouse down
+     * event and the state of the parent Editor. 
+     */
+    public Fig createNewItem(MouseEvent e, int snapX, int snapY) {
+        return new ArgoFigText(snapX, snapY, 0, 0);
+    }
+}

Modified: trunk/src_new/org/argouml/i18n/statusmsg.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/i18n/statusmsg.properties?view=diff&rev=12828&p1=trunk/src_new/org/argouml/i18n/statusmsg.properties&p2=trunk/src_new/org/argouml/i18n/statusmsg.properties&r1=12827&r2=12828
==============================================================================
--- trunk/src_new/org/argouml/i18n/statusmsg.properties	(original)
+++ trunk/src_new/org/argouml/i18n/statusmsg.properties	2007-06-13 12:08:44-0700
@@ -69,6 +69,14 @@
 statusmsg.bar.model-subsystem = Initializing Model Subsystem
 statusmsg.bar.open-project-browser = Opening Project Browser
 statusmsg.bar.readingproject = Reading \"{0}\"
+statusmsg.help.create.circle = Drag to define a circle
+statusmsg.help.create.ink = Drag to draw a stream of ink
+statusmsg.help.create.line = Drag to define a line
+statusmsg.help.create.poly = Click to add a point; Double-click to finish
+statusmsg.help.create.rect = Drag to define a rectangle
+statusmsg.help.create.rrect = Drag to define a rounded rectangle
+statusmsg.help.create.spline = Click to add a point; Double-click to finish
+statusmsg.help.create.text = Drag to define a text rectangle, then type
 statusmsg.msg.arguments = arguments
 statusmsg.msg.close-splash = close splash
 statusmsg.msg.make-empty-project = make empty project

Modified: trunk/src_new/org/argouml/kernel/Project.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/kernel/Project.java?view=diff&rev=12828&p1=trunk/src_new/org/argouml/kernel/Project.java&p2=trunk/src_new/org/argouml/kernel/Project.java&r1=12827&r2=12828
==============================================================================
--- trunk/src_new/org/argouml/kernel/Project.java	(original)
+++ trunk/src_new/org/argouml/kernel/Project.java	2007-06-13 12:08:44-0700
@@ -50,7 +50,6 @@
 import org.argouml.model.Model;
 import org.argouml.persistence.PersistenceManager;
 import org.argouml.ui.explorer.ExplorerEventAdaptor;
-import org.argouml.ui.targetmanager.TargetManager;
 import org.argouml.uml.Profile;
 import org.argouml.uml.ProfileException;
 import org.argouml.uml.ProfileJava;
@@ -1102,8 +1101,6 @@
             // don't have a decent event system set up.
             ExplorerEventAdaptor.getInstance().modelElementRemoved(obj);
         } else if (obj instanceof Fig) {
-            TargetManager.getInstance().removeTarget(obj);
-            TargetManager.getInstance().removeHistoryElement(obj);
             ((Fig) obj).deleteFromModel();
             // TODO: Bob says - I've never seen this appear in the log.
             // I believe this code is never reached. If we delete a FigEdge

Modified: trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java?view=diff&rev=12828&p1=trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java&p2=trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java&r1=12827&r2=12828
==============================================================================
--- trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java	(original)
+++ trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java	2007-06-13 12:08:44-0700
@@ -34,6 +34,14 @@
 import javax.swing.JToolBar;
 
 import org.apache.log4j.Logger;
+import org.argouml.gefext.ArgoModeCreateFigCircle;
+import org.argouml.gefext.ArgoModeCreateFigInk;
+import org.argouml.gefext.ArgoModeCreateFigLine;
+import org.argouml.gefext.ArgoModeCreateFigPoly;
+import org.argouml.gefext.ArgoModeCreateFigRRect;
+import org.argouml.gefext.ArgoModeCreateFigRect;
+import org.argouml.gefext.ArgoModeCreateFigSpline;
+import org.argouml.gefext.ArgoModeCreateFigText;
 import org.argouml.i18n.Translator;
 import org.argouml.kernel.Project;
 import org.argouml.model.CoreHelper;
@@ -47,14 +55,6 @@
 import org.argouml.uml.diagram.UMLMutableGraphSupport;
 import org.argouml.util.ToolBarUtility;
 import org.tigris.gef.base.ModeBroom;
-import org.tigris.gef.base.ModeCreateFigCircle;
-import org.tigris.gef.base.ModeCreateFigInk;
-import org.tigris.gef.base.ModeCreateFigLine;
-import org.tigris.gef.base.ModeCreateFigPoly;
-import org.tigris.gef.base.ModeCreateFigRRect;
-import org.tigris.gef.base.ModeCreateFigRect;
-import org.tigris.gef.base.ModeCreateFigSpline;
-import org.tigris.gef.base.ModeCreateFigText;
 import org.tigris.gef.base.ModeCreatePolyEdge;
 import org.tigris.gef.base.ModeSelect;
 import org.tigris.toolbar.ToolBarFactory;
@@ -149,36 +149,36 @@
         new ActionSetMode(ModeBroom.class, "button.broom");
 
     private static Action actionRectangle =
-        new RadioAction(new ActionSetMode(ModeCreateFigRect.class, "Rectangle",
-        			       "misc.primitive.rectangle"));
+        new RadioAction(new ActionSetMode(ArgoModeCreateFigRect.class, 
+                "Rectangle", "misc.primitive.rectangle"));
 
     private static Action actionRRectangle =
-        new RadioAction(new ActionSetMode(ModeCreateFigRRect.class, "RRect",
-        			       "misc.primitive.rounded-rectangle"));
+        new RadioAction(new ActionSetMode(ArgoModeCreateFigRRect.class, 
+                "RRect", "misc.primitive.rounded-rectangle"));
 
     private static Action actionCircle =
-        new RadioAction(new ActionSetMode(ModeCreateFigCircle.class, "Circle",
-        			       "misc.primitive.circle"));
+        new RadioAction(new ActionSetMode(ArgoModeCreateFigCircle.class, 
+                "Circle", "misc.primitive.circle"));
 
     private static Action actionLine =
-        new RadioAction(new ActionSetMode(ModeCreateFigLine.class, "Line",
-        			       "misc.primitive.line"));
+        new RadioAction(new ActionSetMode(ArgoModeCreateFigLine.class, 
+                "Line", "misc.primitive.line"));
 
     private static Action actionText =
-        new RadioAction(new ActionSetMode(ModeCreateFigText.class, "Text",
-        			       "misc.primitive.text"));
+        new RadioAction(new ActionSetMode(ArgoModeCreateFigText.class, 
+                "Text", "misc.primitive.text"));
 
     private static Action actionPoly =
-        new RadioAction(new ActionSetMode(ModeCreateFigPoly.class, "Polygon",
-        			       "misc.primitive.polygon"));
+        new RadioAction(new ActionSetMode(ArgoModeCreateFigPoly.class, 
+                "Polygon", "misc.primitive.polygon"));
 
     private static Action actionSpline =
-        new RadioAction(new ActionSetMode(ModeCreateFigSpline.class, "Spline",
-        			       "misc.primitive.spline"));
+        new RadioAction(new ActionSetMode(ArgoModeCreateFigSpline.class, 
+                "Spline", "misc.primitive.spline"));
 
     private static Action actionInk =
-        new RadioAction(new ActionSetMode(ModeCreateFigInk.class, "Ink",
-        			       "misc.primitive.ink"));
+        new RadioAction(new ActionSetMode(ArgoModeCreateFigInk.class, 
+                "Ink", "misc.primitive.ink"));
 
     ////////////////////////////////////////////////////////////////
     // instance variables
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.