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

List:       jedit-cvs
Subject:    [ jEdit-commits ] SF.net SVN: jedit: [12978] plugins/SVNPlugin/trunk
From:       daleanson () users ! sourceforge ! net
Date:       2008-06-30 3:39:12
Message-ID: E1KDAES-0006Oz-9m () sc8-pr-svn4 ! sourceforge ! net
[Download RAW message or body]

Revision: 12978
          http://jedit.svn.sourceforge.net/jedit/?rev=12978&view=rev
Author:   daleanson
Date:     2008-06-29 20:39:11 -0700 (Sun, 29 Jun 2008)

Log Message:
-----------
updates for DynamicContextMenuService.

Modified Paths:
--------------
    plugins/SVNPlugin/trunk/src/ise/plugin/svn/ContextMenuService.java

Added Paths:
-----------
    plugins/SVNPlugin/trunk/services.xml

Added: plugins/SVNPlugin/trunk/services.xml
===================================================================
--- plugins/SVNPlugin/trunk/services.xml	                        (rev 0)
+++ plugins/SVNPlugin/trunk/services.xml	2008-06-30 03:39:11 UTC (rev 12978)
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE SERVICES SYSTEM "services.dtd">
+
+<!-- Adds the SVN context menu to the jEdit text area context menu. -->
+<SERVICES>
+    <SERVICE CLASS="org.gjt.sp.jedit.gui.DynamicContextMenuService" \
NAME="subversion"> +        new ise.plugin.svn.ContextMenuService();
+    </SERVICE>
+</SERVICES>
+

Modified: plugins/SVNPlugin/trunk/src/ise/plugin/svn/ContextMenuService.java
===================================================================
--- plugins/SVNPlugin/trunk/src/ise/plugin/svn/ContextMenuService.java	2008-06-29 \
                21:07:30 UTC (rev 12977)
+++ plugins/SVNPlugin/trunk/src/ise/plugin/svn/ContextMenuService.java	2008-06-30 \
03:39:11 UTC (rev 12978) @@ -1,8 +1,10 @@
 package ise.plugin.svn;
 
+import java.util.HashMap;
 import javax.swing.JMenuItem;
 import org.gjt.sp.jedit.gui.DynamicContextMenuService;
 import org.gjt.sp.jedit.jEdit;
+import org.gjt.sp.jedit.View;
 import org.gjt.sp.jedit.textarea.JEditTextArea;
 
 import ise.plugin.svn.gui.TextAreaContextMenu;
@@ -15,10 +17,18 @@
  * add the SVN context menu, this class is declared in the services.xml file.
  */
 public class ContextMenuService extends DynamicContextMenuService {
+
+    // cache menu for quicker response
+    private HashMap<View, TextAreaContextMenu> menus = new HashMap<View, \
TextAreaContextMenu>(); +
+    // context menu is per View
     public JMenuItem createMenu( JEditTextArea textArea ) {
-        if (textArea != null) {
-            return new TextAreaContextMenu( textArea.getView() );
+        View view = textArea.getView();
+        TextAreaContextMenu menu = menus.get(view);
+        if (menu == null) {
+            menu = textArea == null ? new TextAreaContextMenu(jEdit.getFirstView()) \
: new TextAreaContextMenu(view); +            menus.put(view, menu);
         }
-        return new TextAreaContextMenu( jEdit.getFirstView());
+        return menu;
     }
 }
\ No newline at end of file


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

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
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