A massive organize imports and formatting of the sources using default Eclipse code...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / text / JavaOutlineInformationControl.java
index 68db9b5..31cdf12 100644 (file)
@@ -64,51 +64,52 @@ import org.eclipse.swt.widgets.TreeItem;
 
 /**
  * @author dmegert
- *
+ * 
  * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
+ * Window>Preferences>Java>Templates. To enable and disable the creation of type
+ * comments go to Window>Preferences>Java>Code Generation.
  */
-public class JavaOutlineInformationControl implements IInformationControl, IInformationControlExtension, IInformationControlExtension2 {
-
+public class JavaOutlineInformationControl implements IInformationControl,
+               IInformationControlExtension, IInformationControlExtension2 {
 
        /**
-        * The NamePatternFilter selects the elements which
-        * match the given string patterns.
+        * The NamePatternFilter selects the elements which match the given string
+        * patterns.
         * <p>
-        * The following characters have special meaning:
-        *   ? => any character
-        *   * => any string
+        * The following characters have special meaning: ? => any character * =>
+        * any string
         * </p>
-        *
+        * 
         * @since 2.0
         */
        private static class NamePatternFilter extends ViewerFilter {
                private String fPattern;
+
                private StringMatcher fMatcher;
+
                private ILabelProvider fLabelProvider;
+
                private Viewer fViewer;
 
                private StringMatcher getMatcher() {
                        return fMatcher;
                }
 
-
-               /* (non-Javadoc)
-                * Method declared on ViewerFilter.
+               /*
+                * (non-Javadoc) Method declared on ViewerFilter.
                 */
-               public boolean select(Viewer viewer, Object parentElement, Object element) {
+               public boolean select(Viewer viewer, Object parentElement,
+                               Object element) {
                        if (fMatcher == null)
                                return true;
 
-                       ILabelProvider labelProvider= getLabelProvider(viewer);
+                       ILabelProvider labelProvider = getLabelProvider(viewer);
 
-                       String matchName= null;
+                       String matchName = null;
                        if (labelProvider != null)
-                               matchName= ((ILabelProvider)labelProvider).getText(element);
+                               matchName = ((ILabelProvider) labelProvider).getText(element);
                        else if (element instanceof IJavaElement)
-                               matchName= ((IJavaElement) element).getElementName();
+                               matchName = ((IJavaElement) element).getElementName();
 
                        if (matchName != null && fMatcher.match(matchName))
                                return true;
@@ -120,13 +121,14 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
                        if (fViewer == viewer)
                                return fLabelProvider;
 
-                       fLabelProvider= null;
-                       IBaseLabelProvider baseLabelProvider= null;
+                       fLabelProvider = null;
+                       IBaseLabelProvider baseLabelProvider = null;
                        if (viewer instanceof StructuredViewer)
-                               baseLabelProvider= ((StructuredViewer)viewer).getLabelProvider();
+                               baseLabelProvider = ((StructuredViewer) viewer)
+                                               .getLabelProvider();
 
                        if (baseLabelProvider instanceof ILabelProvider)
-                               fLabelProvider= (ILabelProvider)baseLabelProvider;
+                               fLabelProvider = (ILabelProvider) baseLabelProvider;
 
                        return fLabelProvider;
                }
@@ -135,11 +137,11 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
                        IJavaElement[] children;
                        if (element instanceof IParent) {
                                try {
-                                       children= ((IParent)element).getChildren();
+                                       children = ((IParent) element).getChildren();
                                } catch (JavaModelException ex) {
                                        return false;
                                }
-                               for (int i= 0; i < children.length; i++)
+                               for (int i = 0; i < children.length; i++)
                                        if (select(viewer, element, children[i]))
                                                return true;
                        }
@@ -149,23 +151,21 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
                /**
                 * Sets the patterns to filter out for the receiver.
                 * <p>
-                * The following characters have special meaning:
-                *   ? => any character
-                *   * => any string
+                * The following characters have special meaning: ? => any character * =>
+                * any string
                 * </p>
                 */
                public void setPattern(String pattern) {
-                       fPattern= pattern;
+                       fPattern = pattern;
                        if (fPattern == null) {
-                               fMatcher= null;
+                               fMatcher = null;
                                return;
                        }
-                       boolean ignoreCase= pattern.toLowerCase().equals(pattern);
-                       fMatcher= new StringMatcher(pattern, ignoreCase, false);
+                       boolean ignoreCase = pattern.toLowerCase().equals(pattern);
+                       fMatcher = new StringMatcher(pattern, ignoreCase, false);
                }
        }
 
-
        private static class BorderFillLayout extends Layout {
 
                /** The border widths. */
@@ -177,7 +177,7 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
                public BorderFillLayout(int borderSize) {
                        if (borderSize < 0)
                                throw new IllegalArgumentException();
-                       fBorderSize= borderSize;
+                       fBorderSize = borderSize;
                }
 
                /**
@@ -188,18 +188,21 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
                }
 
                /*
-                * @see org.eclipse.swt.widgets.Layout#computeSize(org.eclipse.swt.widgets.Composite, int, int, boolean)
+                * @see org.eclipse.swt.widgets.Layout#computeSize(org.eclipse.swt.widgets.Composite,
+                *      int, int, boolean)
                 */
-               protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
+               protected Point computeSize(Composite composite, int wHint, int hHint,
+                               boolean flushCache) {
 
-                       Control[] children= composite.getChildren();
-                       Point minSize= new Point(0, 0);
+                       Control[] children = composite.getChildren();
+                       Point minSize = new Point(0, 0);
 
                        if (children != null) {
-                               for (int i= 0; i < children.length; i++) {
-                                       Point size= children[i].computeSize(wHint, hHint, flushCache);
-                                       minSize.x= Math.max(minSize.x, size.x);
-                                       minSize.y= Math.max(minSize.y, size.y);
+                               for (int i = 0; i < children.length; i++) {
+                                       Point size = children[i].computeSize(wHint, hHint,
+                                                       flushCache);
+                                       minSize.x = Math.max(minSize.x, size.x);
+                                       minSize.y = Math.max(minSize.y, size.y);
                                }
                        }
 
@@ -208,125 +211,144 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
 
                        return minSize;
                }
+
                /*
-                * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite, boolean)
+                * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite,
+                *      boolean)
                 */
                protected void layout(Composite composite, boolean flushCache) {
 
-                       Control[] children= composite.getChildren();
-                       Point minSize= new Point(composite.getClientArea().width, composite.getClientArea().height);
+                       Control[] children = composite.getChildren();
+                       Point minSize = new Point(composite.getClientArea().width,
+                                       composite.getClientArea().height);
 
                        if (children != null) {
-                               for (int i= 0; i < children.length; i++) {
-                                       Control child= children[i];
-                                       child.setSize(minSize.x - fBorderSize * 2, minSize.y - fBorderSize * 2);
+                               for (int i = 0; i < children.length; i++) {
+                                       Control child = children[i];
+                                       child.setSize(minSize.x - fBorderSize * 2, minSize.y
+                                                       - fBorderSize * 2);
                                        child.setLocation(fBorderSize, fBorderSize);
                                }
                        }
                }
        }
 
-
        /** Border thickness in pixels. */
-       private static final int BORDER= 1;
+       private static final int BORDER = 1;
+
        /** Right margin in pixels. */
-       private static final int RIGHT_MARGIN= 3;
+       private static final int RIGHT_MARGIN = 3;
 
        /** The control's shell */
        private Shell fShell;
+
        /** The composite */
        Composite fComposite;
+
        /** The control's text widget */
        private Text fFilterText;
+
        /** The control's tree widget */
        private TreeViewer fTreeViewer;
+
        /** The control width constraint */
-       private int fMaxWidth= -1;
+       private int fMaxWidth = -1;
+
        /** The control height constraint */
-       private int fMaxHeight= -1;
+       private int fMaxHeight = -1;
 
        private StringMatcher fStringMatcher;
 
-
        /**
-        * Creates a tree information control with the given shell as parent. The given
-        * style is applied to the tree widget.
-        *
-        * @param parent the parent shell
-        * @param style the additional styles for the tree widget
+        * Creates a tree information control with the given shell as parent. The
+        * given style is applied to the tree widget.
+        * 
+        * @param parent
+        *            the parent shell
+        * @param style
+        *            the additional styles for the tree widget
         */
        public JavaOutlineInformationControl(Shell parent, int style) {
                this(parent, SWT.RESIZE, style);
        }
 
        /**
-        * Creates a tree information control with the given shell as parent.
-        * No additional styles are applied.
-        *
-        * @param parent the parent shell
+        * Creates a tree information control with the given shell as parent. No
+        * additional styles are applied.
+        * 
+        * @param parent
+        *            the parent shell
         */
        public JavaOutlineInformationControl(Shell parent) {
                this(parent, SWT.NONE);
        }
 
        /**
-        * Creates a tree information control with the given shell as parent. The given
-        * styles are applied to the shell and the tree widget.
-        *
-        * @param parent the parent shell
-        * @param shellStyle the additional styles for the shell
-        * @param treeStyle the additional styles for the tree widget
+        * Creates a tree information control with the given shell as parent. The
+        * given styles are applied to the shell and the tree widget.
+        * 
+        * @param parent
+        *            the parent shell
+        * @param shellStyle
+        *            the additional styles for the shell
+        * @param treeStyle
+        *            the additional styles for the tree widget
         */
-       public JavaOutlineInformationControl(Shell parent, int shellStyle, int treeStyle) {
-               fShell= new Shell(parent, shellStyle);
-               Display display= fShell.getDisplay();
+       public JavaOutlineInformationControl(Shell parent, int shellStyle,
+                       int treeStyle) {
+               fShell = new Shell(parent, shellStyle);
+               Display display = fShell.getDisplay();
                fShell.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
 
                // Composite for filter text and tree
-               fComposite= new Composite(fShell,SWT.RESIZE);
-               GridLayout layout= new GridLayout(1, false);
+               fComposite = new Composite(fShell, SWT.RESIZE);
+               GridLayout layout = new GridLayout(1, false);
                fComposite.setLayout(layout);
                fComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-               
+
                createFilterText(fComposite);
                createTreeViewer(fComposite, treeStyle);
 
-               int border= ((shellStyle & SWT.NO_TRIM) == 0) ? 0 : BORDER;
+               int border = ((shellStyle & SWT.NO_TRIM) == 0) ? 0 : BORDER;
                fShell.setLayout(new BorderFillLayout(border));
-               
+
                setInfoSystemColor();
                installFilter();
        }
 
        private void createTreeViewer(Composite parent, int style) {
-               Tree tree= new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI));
-               GridData data= new GridData(GridData.FILL_BOTH);
+               Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI));
+               GridData data = new GridData(GridData.FILL_BOTH);
                tree.setLayoutData(data);
 
-               fTreeViewer= new TreeViewer(tree);
+               fTreeViewer = new TreeViewer(tree);
 
                // Hide import declartions but show the container
-//             fTreeViewer.addFilter(new ViewerFilter() {
-//                     public boolean select(Viewer viewer, Object parentElement, Object element) {
-//                             return !(element instanceof IImportDeclaration);
-//                     }
-//             });
-
-               fTreeViewer.setContentProvider(new StandardJavaElementContentProvider(true, true));
+               // fTreeViewer.addFilter(new ViewerFilter() {
+               // public boolean select(Viewer viewer, Object parentElement, Object
+               // element) {
+               // return !(element instanceof IImportDeclaration);
+               // }
+               // });
+
+               fTreeViewer.setContentProvider(new StandardJavaElementContentProvider(
+                               true, true));
                fTreeViewer.setSorter(new JavaElementSorter());
                fTreeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
-               
-               AppearanceAwareLabelProvider lprovider= new AppearanceAwareLabelProvider(
-                       AppearanceAwareLabelProvider.DEFAULT_TEXTFLAGS |  JavaElementLabels.F_APP_TYPE_SIGNATURE,
-                       AppearanceAwareLabelProvider.DEFAULT_IMAGEFLAGS
-               );
-               fTreeViewer.setLabelProvider(new DecoratingJavaLabelProvider(lprovider));
+
+               AppearanceAwareLabelProvider lprovider = new AppearanceAwareLabelProvider(
+                               AppearanceAwareLabelProvider.DEFAULT_TEXTFLAGS
+                                               | JavaElementLabels.F_APP_TYPE_SIGNATURE,
+                               AppearanceAwareLabelProvider.DEFAULT_IMAGEFLAGS);
+               fTreeViewer
+                               .setLabelProvider(new DecoratingJavaLabelProvider(lprovider));
 
                fTreeViewer.getTree().addKeyListener(new KeyListener() {
-                       public void keyPressed(KeyEvent e)  {
+                       public void keyPressed(KeyEvent e) {
                                if (e.character == 0x1B) // ESC
                                        dispose();
                        }
+
                        public void keyReleased(KeyEvent e) {
                                // do nothing
                        }
@@ -336,6 +358,7 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
                        public void widgetSelected(SelectionEvent e) {
                                // do nothing
                        }
+
                        public void widgetDefaultSelected(SelectionEvent e) {
                                gotoSelectedElement();
                        }
@@ -343,19 +366,20 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
        }
 
        private Text createFilterText(Composite parent) {
-               fFilterText= new Text(parent, SWT.FLAT);
+               fFilterText = new Text(parent, SWT.FLAT);
 
-               GridData data= new GridData();
-               GC gc= new GC(parent);
+               GridData data = new GridData();
+               GC gc = new GC(parent);
                gc.setFont(parent.getFont());
-               FontMetrics fontMetrics= gc.getFontMetrics();
+               FontMetrics fontMetrics = gc.getFontMetrics();
                gc.dispose();
 
-               data.heightHint= org.eclipse.jface.dialogs.Dialog.convertHeightInCharsToPixels(fontMetrics, 1);
-               data.horizontalAlignment= GridData.FILL;
-               data.verticalAlignment= GridData.BEGINNING;
+               data.heightHint = org.eclipse.jface.dialogs.Dialog
+                               .convertHeightInCharsToPixels(fontMetrics, 1);
+               data.horizontalAlignment = GridData.FILL;
+               data.verticalAlignment = GridData.BEGINNING;
                fFilterText.setLayoutData(data);
-               
+
                fFilterText.addKeyListener(new KeyListener() {
                        public void keyPressed(KeyEvent e) {
                                if (e.keyCode == 0x0D) // return
@@ -367,42 +391,44 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
                                if (e.character == 0x1B) // ESC
                                        dispose();
                        }
+
                        public void keyReleased(KeyEvent e) {
                                // do nothing
                        }
                });
 
                // Horizonral separator line
-               Label separator= new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL | SWT.LINE_DOT);
+               Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL
+                               | SWT.LINE_DOT);
                separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
                return fFilterText;
        }
-       
+
        private void setInfoSystemColor() {
-               Display display= fShell.getDisplay();
+               Display display = fShell.getDisplay();
                setForegroundColor(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
                setBackgroundColor(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
        }
 
        private void installFilter() {
-               final NamePatternFilter viewerFilter= new NamePatternFilter();
+               final NamePatternFilter viewerFilter = new NamePatternFilter();
                fTreeViewer.addFilter(viewerFilter);
                fFilterText.setText(""); //$NON-NLS-1$
 
                fFilterText.addModifyListener(new ModifyListener() {
                        public void modifyText(ModifyEvent e) {
-                               String pattern= fFilterText.getText();
+                               String pattern = fFilterText.getText();
                                if (pattern != null) {
-                                       int length= pattern.length();
+                                       int length = pattern.length();
                                        if (length == 0)
-                                               pattern= null;
-                                       else if (pattern.charAt(length -1 ) != '*')
-                                               pattern= pattern + '*';
+                                               pattern = null;
+                                       else if (pattern.charAt(length - 1) != '*')
+                                               pattern = pattern + '*';
                                } else
-                                       pattern= null;
+                                       pattern = null;
                                viewerFilter.setPattern(pattern);
-                               fStringMatcher= viewerFilter.getMatcher();
+                               fStringMatcher = viewerFilter.getMatcher();
                                fTreeViewer.getControl().setRedraw(false);
                                fTreeViewer.refresh();
                                fTreeViewer.expandAll();
@@ -413,7 +439,8 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
        }
 
        private void gotoSelectedElement() {
-               Object selectedElement= ((IStructuredSelection)fTreeViewer.getSelection()).getFirstElement();
+               Object selectedElement = ((IStructuredSelection) fTreeViewer
+                               .getSelection()).getFirstElement();
                if (selectedElement != null) {
                        try {
                                dispose();
@@ -425,12 +452,12 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
        }
 
        /**
-        * Selects the first element in the tree which
-        * matches the current filter pattern.
+        * Selects the first element in the tree which matches the current filter
+        * pattern.
         */
        private void selectFirstMatch() {
-               Tree tree= fTreeViewer.getTree();
-               Object element= findElement(tree.getItems());
+               Tree tree = fTreeViewer.getTree();
+               Object element = findElement(tree.getItems());
                if (element != null)
                        fTreeViewer.setSelection(new StructuredSelection(element), true);
                else
@@ -438,19 +465,20 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
        }
 
        private IJavaElement findElement(TreeItem[] items) {
-               ILabelProvider labelProvider= (ILabelProvider)fTreeViewer.getLabelProvider();
-               for (int i= 0; i < items.length; i++) {
-                       IJavaElement element= (IJavaElement)items[i].getData();
+               ILabelProvider labelProvider = (ILabelProvider) fTreeViewer
+                               .getLabelProvider();
+               for (int i = 0; i < items.length; i++) {
+                       IJavaElement element = (IJavaElement) items[i].getData();
                        if (fStringMatcher == null)
                                return element;
-                       
+
                        if (element != null) {
-                               String label= labelProvider.getText(element);
+                               String label = labelProvider.getText(element);
                                if (fStringMatcher.match(label))
                                        return element;
                        }
 
-                       element= findElement(items[i].getItems());
+                       element = findElement(items[i].getItems());
                        if (element != null)
                                return element;
                }
@@ -463,7 +491,7 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
        public void setInformation(String information) {
                // this method is ignored, see IInformationControlExtension2
        }
-       
+
        /*
         * @see IInformationControlExtension2#setInput(Object)
         */
@@ -473,13 +501,14 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
                        setInput(null);
                        return;
                }
-               IJavaElement je= (IJavaElement)information;
-               IJavaElement sel= null;
-               ICompilationUnit cu= (ICompilationUnit)je.getAncestor(IJavaElement.COMPILATION_UNIT);
+               IJavaElement je = (IJavaElement) information;
+               IJavaElement sel = null;
+               ICompilationUnit cu = (ICompilationUnit) je
+                               .getAncestor(IJavaElement.COMPILATION_UNIT);
                if (cu != null)
-                       sel= cu;
+                       sel = cu;
                else
-                       sel= je.getAncestor(IJavaElement.CLASS_FILE);
+                       sel = je.getAncestor(IJavaElement.CLASS_FILE);
                fTreeViewer.setInput(sel);
                fTreeViewer.setSelection(new StructuredSelection(information));
        }
@@ -488,7 +517,7 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
         * @see IInformationControl#setVisible(boolean)
         */
        public void setVisible(boolean visible) {
-                       fShell.setVisible(visible);
+               fShell.setVisible(visible);
        }
 
        /*
@@ -498,29 +527,30 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
                if (fShell != null) {
                        if (!fShell.isDisposed())
                                fShell.dispose();
-                       fShell= null;
-                       fTreeViewer= null;
-                       fComposite= null;
-                       fFilterText= null;
+                       fShell = null;
+                       fTreeViewer = null;
+                       fComposite = null;
+                       fFilterText = null;
                }
        }
 
-       /* 
+       /*
         * @see org.eclipse.jface.text.IInformationControlExtension#hasContents()
         */
        public boolean hasContents() {
                return fTreeViewer != null && fTreeViewer.getInput() != null;
        }
 
-       /* 
-        * @see org.eclipse.jface.text.IInformationControl#setSizeConstraints(int, int)
+       /*
+        * @see org.eclipse.jface.text.IInformationControl#setSizeConstraints(int,
+        *      int)
         */
        public void setSizeConstraints(int maxWidth, int maxHeight) {
-               fMaxWidth= maxWidth;
-               fMaxHeight= maxHeight;
+               fMaxWidth = maxWidth;
+               fMaxHeight = maxHeight;
        }
 
-       /* 
+       /*
         * @see org.eclipse.jface.text.IInformationControl#computeSizeHint()
         */
        public Point computeSizeHint() {
@@ -531,11 +561,11 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
         * @see IInformationControl#setLocation(Point)
         */
        public void setLocation(Point location) {
-               Rectangle trim= fShell.computeTrim(0, 0, 0, 0);
-               Point textLocation= fComposite.getLocation();                           
-               location.x += trim.x - textLocation.x;          
-               location.y += trim.y - textLocation.y;          
-               fShell.setLocation(location);           
+               Rectangle trim = fShell.computeTrim(0, 0, 0, 0);
+               Point textLocation = fComposite.getLocation();
+               location.x += trim.x - textLocation.x;
+               location.y += trim.y - textLocation.y;
+               fShell.setLocation(location);
        }
 
        /*
@@ -581,7 +611,8 @@ public class JavaOutlineInformationControl implements IInformationControl, IInfo
         * @see IInformationControl#isFocusControl()
         */
        public boolean isFocusControl() {
-               return fTreeViewer.getControl().isFocusControl() || fFilterText.isFocusControl();
+               return fTreeViewer.getControl().isFocusControl()
+                               || fFilterText.isFocusControl();
        }
 
        /*