1 20 21 package org.apache.directory.ldapstudio.browser.common.dialogs; 22 23 24 import org.apache.directory.ldapstudio.browser.common.BrowserCommonActivator; 25 import org.apache.directory.ldapstudio.browser.common.BrowserCommonConstants; 26 import org.apache.directory.ldapstudio.browser.common.widgets.search.FilterWidget; 27 import org.apache.directory.ldapstudio.browser.core.model.IConnection; 28 import org.eclipse.jface.dialogs.Dialog; 29 import org.eclipse.jface.dialogs.IDialogConstants; 30 import org.eclipse.swt.SWT; 31 import org.eclipse.swt.layout.GridData; 32 import org.eclipse.swt.layout.GridLayout; 33 import org.eclipse.swt.widgets.Composite; 34 import org.eclipse.swt.widgets.Control; 35 import org.eclipse.swt.widgets.Shell; 36 37 38 44 public class FilterWidgetDialog extends Dialog 45 { 46 47 48 private String title; 49 50 51 private IConnection connection; 52 53 54 private FilterWidget filterWidget; 55 56 57 private String filter; 58 59 60 68 public FilterWidgetDialog( Shell parentShell, String title, String filter, IConnection connection ) 69 { 70 super( parentShell ); 71 this.title = title; 72 this.filter = filter; 73 this.connection = connection; 74 setShellStyle( SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.RESIZE ); 75 } 76 77 78 83 public String getFilter() 84 { 85 return filter; 86 } 87 88 89 92 protected void configureShell( Shell newShell ) 93 { 94 super.configureShell( newShell ); 95 newShell.setText( title ); 96 newShell.setImage( BrowserCommonActivator.getDefault().getImage( BrowserCommonConstants.IMG_FILTER_EDITOR ) ); 97 } 98 99 100 103 protected void buttonPressed( int buttonId ) 104 { 105 if ( buttonId == IDialogConstants.OK_ID ) 106 { 107 filter = filterWidget.getFilter(); 108 filterWidget.saveDialogSettings(); 109 } 110 111 super.buttonPressed( buttonId ); 113 } 114 115 116 119 protected Control createDialogArea( Composite parent ) 120 { 121 Composite composite = ( Composite ) super.createDialogArea( parent ); 122 GridData gd = new GridData( GridData.FILL_BOTH ); 123 gd.widthHint = convertHorizontalDLUsToPixels( IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH ); 124 composite.setLayoutData( gd ); 125 126 Composite inner = new Composite( composite, SWT.NONE ); 127 GridLayout gridLayout = new GridLayout( 2, false ); 128 inner.setLayout( gridLayout ); 129 gd = new GridData( GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL ); 130 gd.widthHint = convertHorizontalDLUsToPixels( IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH ); 131 inner.setLayoutData( gd ); 132 133 filterWidget = new FilterWidget( connection, filter != null ? filter : "" ); 134 filterWidget.createWidget( inner ); 135 filterWidget.setFocus(); 136 137 return composite; 138 } 139 140 } 141 | Popular Tags |