Changeset 1999

Show
Ignore:
Timestamp:
03/13/08 11:57:20 (8 months ago)
Author:
apatel
Message:

Upon double click of mouse, Collapse/Expand items in the viewer.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/custome_policy/framework-plugin/src/com/tresys/framework/plugin/views/navigator/PolicyTreeViewer.java

    r1825 r1999  
    44|*| Author:     Brandon Whalen <bwhalen@tresys.com> 
    55|*|                             David Sugar <dsugar@tresys.com> 
     6|*|                     Anand Patel <apatel@tresys.com> 
    67|*|   
    7 |*| Version: @version@ 
     8|*|   
     9|*| $Rev$   
     10|*| $Date$ 
    811\*/ 
    912 
     
    1619import org.eclipse.core.resources.IWorkspaceRoot; 
    1720import org.eclipse.gef.EditPart; 
     21import org.eclipse.gef.KeyHandler; 
    1822import org.eclipse.gef.ui.parts.TreeViewer; 
    1923import org.eclipse.jface.viewers.ISelection; 
    2024import org.eclipse.jface.viewers.StructuredSelection; 
     25import org.eclipse.swt.events.MouseEvent; 
     26import org.eclipse.swt.events.MouseListener; 
     27import org.eclipse.swt.widgets.Control; 
     28import org.eclipse.swt.widgets.Tree; 
     29import org.eclipse.swt.widgets.TreeItem; 
    2130 
    2231public class PolicyTreeViewer  
    2332        extends TreeViewer  
    2433{ 
    25  
     34         
     35        private final MouseListener mListner = new MouseListener() 
     36        { 
     37                /** 
     38                 * TODO::arp::there has to be a better way, it works for now 
     39                 */ 
     40                public void mouseDoubleClick (MouseEvent e) 
     41                { 
     42                Object source = e.getSource (); 
     43                if( source instanceof Tree) 
     44                { 
     45                        TreeItem [] items =  ((Tree)source).getSelection (); 
     46                        if( items == null || items.length != 1) 
     47                                return; 
     48                        items[0].setExpanded (!items[0].getExpanded ()); 
     49                } 
     50                } 
     51                 
     52                public void mouseDown (MouseEvent e) 
     53                { 
     54                } 
     55                public void mouseUp (MouseEvent e) 
     56                { 
     57                } 
     58        }; 
     59         
     60        public PolicyTreeViewer () 
     61        { 
     62                super (); 
     63        } 
     64         
    2665        /*  
    2766         * make sure that IWorkspaceRoot is not part of the selection 
     
    5493                return tmpSelection; 
    5594        } 
     95         
     96        protected void hookControl () 
     97        { 
     98                super.hookControl (); 
     99                getControl ().addMouseListener (mListner); 
     100        } 
     101         
     102        protected void unhookControl () 
     103        { 
     104                if(getControl () != null ) 
     105                        getControl ().removeMouseListener (mListner); 
     106                super.unhookControl (); 
     107        } 
     108 
     109        public KeyHandler getKeyHandler () 
     110        { 
     111                return super.getKeyHandler (); 
     112        } 
     113         
    56114}