1 20 package org.apache.directory.ldapstudio.proxy.view; 21 22 23 import org.apache.directory.ldapstudio.browser.core.model.filter.LdapOrFilterComponent; 24 import org.apache.directory.ldapstudio.proxy.Activator; 25 import org.apache.directory.ldapstudio.proxy.controller.ProxyViewController; 26 import org.apache.directory.ldapstudio.proxy.model.LdapMessageWithPDU; 27 import org.apache.directory.ldapstudio.proxy.model.LdapProxy; 28 import org.apache.directory.ldapstudio.proxy.model.LdapProxyListener; 29 import org.apache.directory.ldapstudio.proxy.view.wrappers.IWrapper; 30 import org.apache.directory.ldapstudio.proxy.view.wrappers.LdapMessageWrapper; 31 import org.apache.directory.ldapstudio.proxy.view.wrappers.LdapProxyWrapper; 32 import org.eclipse.jface.viewers.TreeViewer; 33 import org.eclipse.swt.SWT; 34 import org.eclipse.swt.widgets.Composite; 35 import org.eclipse.swt.widgets.Display; 36 import org.eclipse.ui.PlatformUI; 37 import org.eclipse.ui.part.ViewPart; 38 39 40 46 public class ProxyView extends ViewPart 47 { 48 49 public static final String ID = Activator.PLUGIN_ID + ".view.ProxyView"; 50 51 52 private ProxyViewController controller; 53 54 55 private TreeViewer viewer; 56 57 58 private LdapProxy ldapProxy; 59 60 61 private LdapProxyWrapper ldapProxyWrapper; 62 63 64 private LdapProxyListener proxyListener = new LdapProxyListener() 65 { 66 public void ldapMessageReceived( final LdapMessageWithPDU ldapMessage ) 67 { 68 System.out.println( ldapMessage.getLdapMessage() ); 69 PlatformUI.getWorkbench().getDisplay().asyncExec( new Runnable () 70 { 71 public void run() 72 { 73 ( ( LdapProxyWrapper ) viewer.getInput() ).addChild( new LdapMessageWrapper( ( IWrapper ) viewer.getInput(), ldapMessage ) ); 75 } 76 } ); 77 } 78 }; 79 80 81 84 public void createPartControl( Composite parent ) 85 { 86 viewer = new TreeViewer( parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER ); 87 viewer.setContentProvider( new ProxyViewContentProvider() ); 88 viewer.setLabelProvider( new ProxyViewLabelProvider() ); 89 ldapProxyWrapper = new LdapProxyWrapper( this ); 90 viewer.setInput( ldapProxyWrapper ); 91 92 controller = new ProxyViewController( this ); 93 94 } 136 137 138 141 public void setFocus() 142 { 143 viewer.getControl().setFocus(); 144 } 145 146 147 public ProxyViewController getController() 148 { 149 return controller; 150 } 151 152 153 public TreeViewer getViewer() 154 { 155 return viewer; 156 } 157 158 159 public LdapProxy getLdapProxy() 160 { 161 return ldapProxy; 162 } 163 164 165 public void setLdapProxy( LdapProxy ldapProxy ) 166 { 167 if ( this.ldapProxy != null ) 168 { 169 this.ldapProxy.removeListener( proxyListener ); 170 } 171 this.ldapProxy = ldapProxy; 172 if ( ldapProxy != null ) 173 { 174 ldapProxy.addListener( proxyListener ); 175 } 176 } 177 } 178 | Popular Tags |