Better event handling for browser preview refreshs in Wikipedia plugin
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / phpeditor / JavaOutlinePage.java
index b35bfb7..ed2a133 100644 (file)
@@ -41,6 +41,7 @@ import net.sourceforge.phpdt.ui.JavaElementSorter;
 import net.sourceforge.phpdt.ui.JavaUI;
 import net.sourceforge.phpdt.ui.PreferenceConstants;
 import net.sourceforge.phpdt.ui.ProblemsLabelDecorator.ProblemsLabelChangedEvent;
+import net.sourceforge.phpdt.ui.actions.CustomFiltersActionGroup;
 import net.sourceforge.phpdt.ui.actions.GenerateActionGroup;
 import net.sourceforge.phpdt.ui.actions.MemberFilterActionGroup;
 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
@@ -334,9 +335,6 @@ public class JavaOutlinePage extends Page implements IContentOutlinePage, IAdapt
     }
 
     /**
-     * Investigates the given element change event and if affected incrementally updates the outline.
-     */
-    /**
         * Investigates the given element change event and if affected
         * incrementally updates the Java outline.
         * 
@@ -368,26 +366,6 @@ public class JavaOutlinePage extends Page implements IContentOutlinePage, IAdapt
                        refresh(true);
                }
        }
-//    public void reconcile(IJavaElementDelta delta) {
-//      fReorderedMembers = false;
-//      if (getSorter() == null) {
-//        if (fTopLevelTypeOnly && delta.getElement() instanceof IType && (delta.getKind() & IJavaElementDelta.ADDED) != 0) {
-//          refresh(true);
-//
-//        } else {
-//          Widget w = findItem(fInput);
-//          if (w != null && !w.isDisposed())
-//            update(w, delta);
-//          if (fReorderedMembers) {
-//            refresh(false);
-//            fReorderedMembers = false;
-//          }
-//        }
-//      } else {
-//        // just for now
-//        refresh(true);
-//      }
-//    }
 
     /*
      * @see TreeViewer#internalExpandToLevel
@@ -831,7 +809,7 @@ public class JavaOutlinePage extends Page implements IContentOutlinePage, IAdapt
         * Custom filter action group.
         * @since 3.0
         */
-//  private CustomFiltersActionGroup fCustomFiltersActionGroup;
+  private CustomFiltersActionGroup fCustomFiltersActionGroup;
        
   public JavaOutlinePage(String contextMenuID, PHPEditor editor) {
     super();
@@ -878,21 +856,6 @@ public class JavaOutlinePage extends Page implements IContentOutlinePage, IAdapt
     return type.exists() ? type : null;
   }
 
-  /**
-   * Returns the primary type of a class file.
-   * 
-   * @param classFile
-   *          the class file
-   * @return returns the primary type of the class file, or <code>null</code> if is does not have one
-   */
-  //   protected IType getMainType(IClassFile classFile) {
-  //           try {
-  //                   IType type= classFile.getType();
-  //                   return type != null && type.exists() ? type : null;
-  //           } catch (JavaModelException e) {
-  //                   return null;
-  //           }
-  //   }
   /*
    * (non-Javadoc) Method declared on Page
    */
@@ -964,10 +927,10 @@ public class JavaOutlinePage extends Page implements IContentOutlinePage, IAdapt
     if (toolBarManager != null) {
       toolBarManager.add(new LexicalSortingAction());
 
-      fMemberFilterActionGroup = new MemberFilterActionGroup(fOutlineViewer, "org.eclipse.jdt.ui.JavaOutlinePage"); //$NON-NLS-1$
+      fMemberFilterActionGroup = new MemberFilterActionGroup(fOutlineViewer, "net.sourceforge.phpeclipse.JavaOutlinePage"); //$NON-NLS-1$
       fMemberFilterActionGroup.contributeToToolBar(toolBarManager);
-
-      //               fCustomFiltersActionGroup.fillActionBars(actionBars);
+      fCustomFiltersActionGroup.fillActionBars(actionBars);
 
       IMenuManager menu = actionBars.getMenuManager();
       menu.add(new Separator("EndFilterGroup")); //$NON-NLS-1$
@@ -1047,6 +1010,9 @@ public class JavaOutlinePage extends Page implements IContentOutlinePage, IAdapt
       fOutlineViewer.addPostSelectionChangedListener(updater);
     }
 
+//  Custom filter group
+       fCustomFiltersActionGroup= new CustomFiltersActionGroup("net.sourceforge.phpeclipse.JavaOutlinePage", fOutlineViewer); //$NON-NLS-1$
+
     registerToolbarActions(bars);
 
     fOutlineViewer.setInput(fInput);
@@ -1069,6 +1035,11 @@ public class JavaOutlinePage extends Page implements IContentOutlinePage, IAdapt
       fMemberFilterActionGroup = null;
     }
 
+    if (fCustomFiltersActionGroup != null) {
+               fCustomFiltersActionGroup.dispose();
+               fCustomFiltersActionGroup= null;
+       }
+    
     fEditor.outlinePageClosed();
     fEditor = null;