[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jedit-cvs
Subject:    [ jEdit-commits ] SF.net SVN: jedit: [9356] plugins/Docker/trunk
From:       ezust () users ! sourceforge ! net
Date:       2007-03-29 23:38:06
Message-ID: E1HX4By-0000rn-AG () sc8-pr-svn4 ! sourceforge ! net
[Download RAW message or body]

Revision: 9356
          http://svn.sourceforge.net/jedit/?rev=9356&view=rev
Author:   ezust
Date:     2007-03-29 16:38:05 -0700 (Thu, 29 Mar 2007)

Log Message:
-----------
Code cleanup

Modified Paths:
--------------
    plugins/Docker/trunk/docker/DockFocusManager.java
    plugins/Docker/trunk/docs/users-guide.xml

Modified: plugins/Docker/trunk/docker/DockFocusManager.java
===================================================================
--- plugins/Docker/trunk/docker/DockFocusManager.java	2007-03-29 23:18:27 UTC (rev \
                9355)
+++ plugins/Docker/trunk/docker/DockFocusManager.java	2007-03-29 23:38:05 UTC (rev \
9356) @@ -27,7 +27,10 @@
 import java.awt.FocusTraversalPolicy;
 import java.awt.event.ContainerEvent;
 import java.awt.event.ContainerListener;
-import java.util.ArrayList;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
 import java.util.Stack;
 
 import javax.swing.SwingUtilities;
@@ -41,19 +44,17 @@
 import org.gjt.sp.util.Log;
 
 /**
- * Manages focus handling for docks that does provide default docking
- * facilities.
+ * Manages focus handling for docks and provides default docking facilities.
  */
 class DockFocusManager implements EBComponent, ContainerListener
 {
 
-	ArrayList <Triple> tlist = new ArrayList<Triple>();
+	// map of previous focus traversal policies (before we overrode them)
+	Map<View, FocusTraversalPolicy> ftps = new HashMap<View, FocusTraversalPolicy>();
+
+	// containers which have this as a ContainerListener
 	Stack <Container> clist = new Stack<Container>();
-	public DockFocusManager()
-	{
 
-	}
-
 	public void handleMessage(EBMessage msg)
 	{
 		if (msg instanceof ViewUpdate)
@@ -68,12 +69,19 @@
 		}
 	}
 
+	/**
+	 * Cleans up all listeners and other registered objects.
+	 *
+	 */
 	public void destroy() 
-	{
-		for (Triple t: tlist) {
-			t.view.setFocusTraversalPolicy(t.oftp);
+	{     
+		Iterator <View> itr = ftps.keySet().iterator();
+		while (itr.hasNext()) {
+			View v = itr.next();
+			FocusTraversalPolicy ftp = ftps.get(v);
+			v.setFocusTraversalPolicy(ftp);
 		}
-		tlist.clear();
+		ftps.clear();
 		while (!clist.empty()) {
 			Container c = clist.pop();
 			c.removeContainerListener(this);
@@ -125,7 +133,7 @@
 		FocusTraversalPolicy oftp = view.getFocusTraversalPolicy();
 		DockerFocusTraversalPolicy p = new DockerFocusTraversalPolicy(oftp);
 		view.setFocusTraversalPolicy(p);
-		tlist.add(new Triple(view, p, oftp));
+		ftps.put(view, oftp);
 	}
 
 	private int indexOfContainer(View view, Container c)
@@ -169,15 +177,5 @@
 		clist.push(c);
 		
 	}
-	/** Temporary storage to remember what we need to clean up at plugin unload time */
-	static class Triple {
-		View view;
-		DockerFocusTraversalPolicy dftp;
-		FocusTraversalPolicy oftp;
-		Triple(View view, DockerFocusTraversalPolicy dftp, FocusTraversalPolicy oftp) {
-			this.view=view;
-			this.dftp = dftp;
-			this.oftp = oftp;
-		}
-	}
+
 }

Modified: plugins/Docker/trunk/docs/users-guide.xml
===================================================================
--- plugins/Docker/trunk/docs/users-guide.xml	2007-03-29 23:18:27 UTC (rev 9355)
+++ plugins/Docker/trunk/docs/users-guide.xml	2007-03-29 23:38:05 UTC (rev 9356)
@@ -76,16 +76,18 @@
  <itemizedlist>
  
  <listitem><para>
- <emphasis role="bold">Version 0.4</emphasis> requires jEdit 4.2final </para>
+ <emphasis role="bold">Version 0.4</emphasis> requires jEdit 4.2final, Java 1.5 \
(Alan Ezust)</para>  <itemizedlist>
  <listitem><para> Merged Perspective plugin into Docker plugin. </para></listitem>
+ <listitem><para> Added some cleanup code to the DockerPlugin.stop() method. </para> \
</listitem> + <listitem><para> Updated collections to use 1.5 generics. \
</para></listitem>  </itemizedlist>
  </listitem>
  
  <listitem><para>
  <emphasis role="bold">Version 0.3.1</emphasis> requires jEdit 4.2final</para>
  <itemizedlist>
- <listitem><para> Updated menu and option panes for 4.2 plugin API. \
</para></listitem> + <listitem><para> Updated menu and option panes for 4.2 plugin \
API (Alan Ezust). </para></listitem>  </itemizedlist></listitem>
  
  <listitem><para>


This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
jEdit-CVS mailing list
jEdit-CVS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jedit-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic