1 20 21 package org.apache.directory.ldapstudio.browser.ui.views.connection; 22 23 24 import org.apache.directory.ldapstudio.browser.common.widgets.connection.ConnectionConfiguration; 25 import org.apache.directory.ldapstudio.browser.common.widgets.connection.ConnectionWidget; 26 import org.apache.directory.ldapstudio.browser.core.BrowserCorePlugin; 27 import org.apache.directory.ldapstudio.browser.core.model.IConnection; 28 import org.apache.directory.ldapstudio.browser.ui.BrowserUIPlugin; 29 import org.eclipse.jface.viewers.ISelection; 30 import org.eclipse.jface.viewers.StructuredSelection; 31 import org.eclipse.swt.SWT; 32 import org.eclipse.swt.layout.GridData; 33 import org.eclipse.swt.layout.GridLayout; 34 import org.eclipse.swt.widgets.Composite; 35 import org.eclipse.ui.PlatformUI; 36 import org.eclipse.ui.part.ViewPart; 37 38 39 45 public class ConnectionView extends ViewPart 46 { 47 48 49 private ConnectionConfiguration configuration; 50 51 52 private ConnectionViewActionGroup actionGroup; 53 54 55 private ConnectionWidget mainWidget; 56 57 58 private ConnectionViewUniversalListener universalListener; 59 60 61 66 public static String getId() 67 { 68 return ConnectionView.class.getName(); 69 } 70 71 72 75 public ConnectionView() 76 { 77 } 78 79 80 85 public void setFocus() 86 { 87 mainWidget.getViewer().getControl().setFocus(); 88 } 89 90 91 94 public void dispose() 95 { 96 if ( configuration != null ) 97 { 98 actionGroup.dispose(); 99 actionGroup = null; 100 configuration.dispose(); 101 configuration = null; 102 universalListener.dispose(); 103 universalListener = null; 104 mainWidget.dispose(); 105 mainWidget = null; 106 getSite().setSelectionProvider( null ); 107 } 108 109 super.dispose(); 110 } 111 112 113 116 public void createPartControl( Composite parent ) 117 { 118 119 Composite composite = new Composite( parent, SWT.NONE ); 120 composite.setLayoutData( new GridData( GridData.FILL_BOTH ) ); 121 GridLayout layout = new GridLayout(); 122 layout.marginWidth = 0; 123 layout.marginHeight = 0; 124 composite.setLayout( layout ); 125 126 PlatformUI.getWorkbench().getHelpSystem().setHelp( composite, 127 BrowserUIPlugin.PLUGIN_ID + "." + "tools_connections_view" ); 128 129 configuration = new ConnectionConfiguration(); 131 132 mainWidget = new ConnectionWidget( configuration, getViewSite().getActionBars() ); 134 mainWidget.createWidget( composite ); 135 mainWidget.setInput( BrowserCorePlugin.getDefault().getConnectionManager() ); 136 137 actionGroup = new ConnectionViewActionGroup( this ); 139 actionGroup.fillToolBar( mainWidget.getToolBarManager() ); 140 actionGroup.fillMenu( mainWidget.getMenuManager() ); 141 actionGroup.enableGlobalActionHandlers( getViewSite().getActionBars() ); 142 actionGroup.fillContextMenu( configuration.getContextMenuManager( mainWidget.getViewer() ) ); 143 144 getSite().setSelectionProvider( mainWidget.getViewer() ); 146 universalListener = new ConnectionViewUniversalListener( this ); 147 148 IConnection[] connections = BrowserCorePlugin.getDefault().getConnectionManager().getConnections(); 150 if ( connections.length > 0 ) 151 { 152 ISelection selection = new StructuredSelection( connections[0] ); 153 mainWidget.getViewer().setSelection( selection ); 154 } 156 157 } 158 159 160 166 public void select( Object obj ) 167 { 168 if ( obj instanceof IConnection ) 169 { 170 IConnection connection = ( IConnection ) obj; 171 172 mainWidget.getViewer().reveal( connection ); 173 mainWidget.getViewer().refresh( connection, true ); 174 mainWidget.getViewer().setSelection( new StructuredSelection( connection ), true ); 175 } 176 } 177 178 179 184 public ConnectionViewActionGroup getActionGroup() 185 { 186 return actionGroup; 187 } 188 189 190 195 public ConnectionConfiguration getConfiguration() 196 { 197 return configuration; 198 } 199 200 201 206 public ConnectionWidget getMainWidget() 207 { 208 return mainWidget; 209 } 210 211 212 217 public ConnectionViewUniversalListener getUniversalListener() 218 { 219 return universalListener; 220 } 221 222 } 223 | Popular Tags |