[Schmitzm-commits] r114 - in trunk: dist src/org/geotools/gui/swing src/schmitzm/geotools/gui src/schmitzm/lang/tree

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Wed May 13 16:11:01 CEST 2009


Author: mojays
Date: 2009-05-13 16:11:00 +0200 (Wed, 13 May 2009)
New Revision: 114

Modified:
   trunk/dist/schmitzm-src.zip
   trunk/dist/schmitzm.jar
   trunk/src/org/geotools/gui/swing/JMapPane.java
   trunk/src/schmitzm/geotools/gui/JMapPane.java
   trunk/src/schmitzm/lang/tree/OperationTreeParser.java
Log:
OperationTreeParser:
- Aussagekr?\195?\164ftigere Fehlermeldung bei unbekanntem Fehler
JMapPane
- Entfernen/Hinzuf?\195?\188gen des MouseSelectionTrackers (um Rahmen bei Info-Tool zu verhindern) ersetzt gegen ?\195?\156berschreiben der mouseDragged(.) des SelectionTrackers

Modified: trunk/dist/schmitzm-src.zip
===================================================================
(Binary files differ)

Modified: trunk/dist/schmitzm.jar
===================================================================
(Binary files differ)

Modified: trunk/src/org/geotools/gui/swing/JMapPane.java
===================================================================
--- trunk/src/org/geotools/gui/swing/JMapPane.java	2009-05-13 11:38:56 UTC (rev 113)
+++ trunk/src/org/geotools/gui/swing/JMapPane.java	2009-05-13 14:11:00 UTC (rev 114)
@@ -17,7 +17,7 @@
 
 /**
  * <b>Xulu:<br>
- *    Code taken from gt-2.4.2 to make some changes (marked with {@code xulu}),
+ *    Code taken from gt-2.4.5 to make some changes (marked with {@code xulu}),
  *    which can not be realized in a subclass:</b>
  *    <ul>
  *       <li>{@link #getMapArea()} declared as {@code final}<li>

Modified: trunk/src/schmitzm/geotools/gui/JMapPane.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/JMapPane.java	2009-05-13 11:38:56 UTC (rev 113)
+++ trunk/src/schmitzm/geotools/gui/JMapPane.java	2009-05-13 14:11:00 UTC (rev 114)
@@ -249,7 +249,15 @@
 	protected Vector<JMapPaneListener> mapPaneListeners = new Vector<JMapPaneListener>();
 
 	protected MouseSelectionTracker_Public selTracker = new MouseSelectionTracker_Public() {
-	  protected void selectionPerformed(int ox, int oy, int px, int py) {
+	    public void mouseDragged(final MouseEvent event) {
+	      // Wenn Fenster-Selektions-Modus auf NICHTS steht (z.B. Info-Tool),
+	      // keinen Rahmen beim Draggen zeichnen
+	      if ( selState == NONE  )
+	        return;
+	      super.mouseDragged(event);
+	    }
+	    
+	    protected void selectionPerformed(int ox, int oy, int px, int py) {
 			// MS, 20.05.2008: In performSelectionEvent(..) wurde das Zoomen
 			// wieder
 			// reingenommen, damit bei Fenster-Auswahl auch gezoomt
@@ -360,6 +368,9 @@
 	     setWindowSelectionState(ZOOM_IN);
 	     setState(ZOOM_IN);
 
+	     // Listener fuer Selektions-Rahmen
+	     addMouseListener(selTracker);
+	     
 	     // Listener, der auf das Mausrad lauscht und mit Zoom reagiert
 	     mouseWheelZoomListener = new MouseWheelListener() {
 	       public void mouseWheelMoved(MouseWheelEvent e) {
@@ -709,14 +720,17 @@
 			throw new IllegalArgumentException(
 					"Unknown selection state for window selection!");
 
-		// Den selTracker bei Wechsel zu NONE deaktivieren (SK)
-		if ((newSelState == NONE) && (selState != NONE)) {
-			this.removeMouseListener(selTracker);
-		} else
-		// Den selTracker bei Wechsel von NONE aktivieren (SK)
-		if ((newSelState != NONE) && (selState == NONE)) {
-			this.addMouseListener(selTracker);
-		}
+//MS (13.05.2009): Wird durch Ueberschreiben von mouseDragged(.) des
+//                 MouseSelectionTracker realisiert
+//		// Den selTracker bei Wechsel zu NONE deaktivieren (SK), damit
+//		// Selektionsfenster beim Draggen nicht mehr gezeichnet wird
+//		if ((newSelState == NONE) && (selState != NONE)) {
+//			this.removeMouseListener(selTracker);
+//		} else
+//		// Den selTracker bei Wechsel von NONE aktivieren (SK)
+//		if ((newSelState != NONE) && (selState == NONE)) {
+//			this.addMouseListener(selTracker);
+//		}
 
 		this.selState = newSelState;
 

Modified: trunk/src/schmitzm/lang/tree/OperationTreeParser.java
===================================================================
--- trunk/src/schmitzm/lang/tree/OperationTreeParser.java	2009-05-13 11:38:56 UTC (rev 113)
+++ trunk/src/schmitzm/lang/tree/OperationTreeParser.java	2009-05-13 14:11:00 UTC (rev 114)
@@ -434,7 +434,7 @@
     } catch (NoSuchElementException err) {
       throwParseError( LangUtil.RESOURCE.getString("OperationTree.err.UnexpectedEOR") );
     } catch (Exception err) {
-      throwParseError( LangUtil.RESOURCE.getString("OperationTree.err.UnexpectedError") );
+      throwParseError( LangUtil.RESOURCE.getString("OperationTree.err.UnexpectedError"), err );
     }
     // kann nicht vorkommen!!
     return null;
@@ -1007,10 +1007,24 @@
    * @param mess Fehler-Meldung
    */
   protected void throwParseError(String mess) {
+    throwParseError(mess,null);
+  }
+
+  /**
+   * Wirft eine {@link IllegalArgumentException} mit der angegebenen Fehlermeldung.
+   * Als zusaetzlicher Hinweis wird das Formel-Praefix ausgegeben nach dem
+   * der Fehler aufgetreten ist.
+   * @param mess Fehler-Meldung
+   * @param err  verursachender Fehler
+   */
+  protected void throwParseError(String mess, Throwable err) {
     String errorPos = tok.getReadTokens();
 //    // Die Klammer entfernen, die am Anfang kuenstlich eingefuegt wurde
 //    errorPos = errorPos.substring(1);
-    throw new IllegalArgumentException( LangUtil.RESOURCE.getString("OperationTree.err.ParseErrorMess", errorPos, mess) );
+    if ( err != null )
+      throw new IllegalArgumentException( LangUtil.RESOURCE.getString("OperationTree.err.ParseErrorMess", errorPos, mess), err );
+    else
+      throw new IllegalArgumentException( LangUtil.RESOURCE.getString("OperationTree.err.ParseErrorMess", errorPos, mess) );
   }
 
   /**



More information about the Schmitzm-commits mailing list