Author: heuermh
Date: Tue Oct  7 14:06:41 2008
New Revision: 398

Modified:
     
piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwingCanvas.java

Log:
Issue 25 ; use the current PSwing repaint manager if one has been set, or  
create a new one if it is not of the right type

Modified:  
piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwingCanvas.java
==============================================================================
---  
piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwingCanvas.java
   
(original)
+++  
piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwingCanvas.java
   
Tue Oct  7 14:06:41 2008
@@ -44,10 +44,7 @@

  public class PSwingCanvas extends PCanvas {
      public static final String SWING_WRAPPER_KEY = "Swing Wrapper";
-    private static PSwingRepaintManager pSwingRepaintManager = new  
PSwingRepaintManager();
-
      private SwingWrapper swingWrapper;
-    private PSwingEventHandler swingEventHandler;

      /**
       * Construct a new PSwingCanvas.
@@ -55,12 +52,21 @@
      public PSwingCanvas() {
          swingWrapper = new SwingWrapper(this);
          add(swingWrapper);
-        RepaintManager.setCurrentManager(pSwingRepaintManager);
-        pSwingRepaintManager.addPSwingCanvas(this);
+        initRepaintManager();
+        new PSwingEventHandler(this, getCamera()).setActive(true);
+    }

-        // todo or maybe getCameraLayer() or getRoot()?
-        swingEventHandler = new PSwingEventHandler(this, getCamera());
-        swingEventHandler.setActive(true);
+    private void initRepaintManager() {
+        RepaintManager repaintManager =  
RepaintManager.currentManager(this);
+        PSwingRepaintManager pSwingRepaintManager;
+        if (repaintManager instanceof PSwingRepaintManager) {
+            pSwingRepaintManager = (PSwingRepaintManager) repaintManager;
+        }
+        else {
+            pSwingRepaintManager = new PSwingRepaintManager();
+            RepaintManager.setCurrentManager(pSwingRepaintManager);
+        }
+        pSwingRepaintManager.addPSwingCanvas(this);
      }

      JComponent getSwingWrapper() {

--~--~---------~--~----~------------~-------~--~----~
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to