in plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/wizards/NewEntryObjectclassWizardPage.java [310:467]
public void createControl( Composite parent )
{
Composite composite = new Composite( parent, SWT.NONE );
GridLayout gl = new GridLayout( 3, false );
composite.setLayout( gl );
composite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
Label availableLabel = new Label( composite, SWT.NONE );
availableLabel.setText( Messages.getString( "NewEntryObjectclassWizardPage.AvailableObjectClasses" ) ); //$NON-NLS-1$
Label buttonLabel = new Label( composite, SWT.NONE );
buttonLabel.setText( "" ); //$NON-NLS-1$
Label selectedLabel = new Label( composite, SWT.NONE );
selectedLabel.setText( Messages.getString( "NewEntryObjectclassWizardPage.SelectedObjectClasses" ) ); //$NON-NLS-1$
Composite availableObjectClassesComposite = BaseWidgetUtils.createColumnContainer( composite, 1, 1 );
Composite availableObjectClassesInstantSearchComposite = BaseWidgetUtils.createColumnContainer(
availableObjectClassesComposite, 2, 1 );
availableObjectClassesInstantSearch = new Text( availableObjectClassesInstantSearchComposite, SWT.NONE
| SWT.BORDER | SWT.SEARCH | SWT.CANCEL );
availableObjectClassesInstantSearch.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
availableObjectClassesInstantSearch.addModifyListener( new ModifyListener()
{
public void modifyText( ModifyEvent e )
{
availableObjectClassesViewer.refresh();
if ( availableObjectClassesViewer.getTable().getItemCount() >= 1 )
{
Object item = availableObjectClassesViewer.getElementAt( 0 );
availableObjectClassesViewer.setSelection( new StructuredSelection( item ) );
}
}
} );
availableObjectClassesInstantSearch.addKeyListener( new KeyAdapter()
{
public void keyPressed( KeyEvent e )
{
if ( e.keyCode == SWT.ARROW_DOWN )
{
availableObjectClassesViewer.getTable().setFocus();
}
else if ( e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR )
{
add( availableObjectClassesViewer.getSelection() );
}
}
} );
ControlDecoration availableObjectClassesInstantSearchDecoration = new ControlDecoration(
availableObjectClassesInstantSearch, SWT.TOP | SWT.LEFT, composite );
availableObjectClassesInstantSearchDecoration.setDescriptionText( Messages
.getString( "NewEntryObjectclassWizardPage.FilterDescription" ) ); //$NON-NLS-1$
availableObjectClassesInstantSearchDecoration.setImage( FieldDecorationRegistry.getDefault()
.getFieldDecoration( FieldDecorationRegistry.DEC_CONTENT_PROPOSAL ).getImage() );
Button reloadButton = new Button( availableObjectClassesInstantSearchComposite, SWT.PUSH | SWT.FLAT );
reloadButton.setToolTipText( Messages.getString( "NewEntryObjectclassWizardPage.ReloadSchema" ) ); //$NON-NLS-1$
reloadButton.setImage( BrowserCommonActivator.getDefault().getImage( BrowserCommonConstants.IMG_REFRESH ) );
reloadButton.addSelectionListener( new SelectionAdapter()
{
@Override
public void widgetSelected( SelectionEvent e )
{
IBrowserConnection browserConnection = wizard.getSelectedConnection();
ReloadSchemaRunnable runnable = new ReloadSchemaRunnable( browserConnection );
RunnableContextRunner.execute( runnable, wizard.getContainer(), true );
setVisible( true );
}
} );
availableObjectClassesViewer = new TableViewer( availableObjectClassesComposite );
GridData data = new GridData( GridData.FILL_BOTH );
data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
data.widthHint = ( int ) ( SIZING_SELECTION_WIDGET_WIDTH * 0.4 );
availableObjectClassesViewer.getTable().setLayoutData( data );
availableObjectClassesViewer.setContentProvider( new ArrayContentProvider() );
availableObjectClassesViewer.setLabelProvider( labelProvider );
availableObjectClassesViewer.setSorter( new ViewerSorter() );
availableObjectClassesViewer.addFilter( new InstantSearchFilter( availableObjectClassesInstantSearch ) );
availableObjectClassesViewer.setInput( availableObjectClasses );
availableObjectClassesViewer.addDoubleClickListener( new IDoubleClickListener()
{
public void doubleClick( DoubleClickEvent event )
{
add( event.getSelection() );
}
} );
availableObjectClassesViewer.getTable().addKeyListener( new KeyAdapter()
{
public void keyPressed( KeyEvent e )
{
if ( e.keyCode == SWT.ARROW_UP )
{
if ( availableObjectClassesViewer.getTable().getSelectionIndex() <= 0 )
{
availableObjectClassesInstantSearch.setFocus();
}
}
}
} );
Composite buttonComposite = new Composite( composite, SWT.NONE );
gl = new GridLayout( 1, true );
buttonComposite.setLayout( gl );
data = new GridData( GridData.FILL_BOTH );
data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
// data.widthHint = (int)(SIZING_SELECTION_WIDGET_WIDTH * 0.2);
data.horizontalAlignment = SWT.CENTER;
buttonComposite.setLayoutData( data );
Label label0 = new Label( buttonComposite, SWT.NONE );
data = new GridData();
data.grabExcessHorizontalSpace = true;
data.grabExcessVerticalSpace = true;
label0.setLayoutData( data );
addButton = BaseWidgetUtils.createButton( buttonComposite, Messages
.getString( "NewEntryObjectclassWizardPage.AddButton" ), 1 ); //$NON-NLS-1$
removeButton = BaseWidgetUtils.createButton( buttonComposite, Messages
.getString( "NewEntryObjectclassWizardPage.RemoveButton" ), 1 ); //$NON-NLS-1$
Label label3 = new Label( buttonComposite, SWT.NONE );
data = new GridData();
data.grabExcessHorizontalSpace = true;
data.grabExcessVerticalSpace = true;
label3.setLayoutData( data );
addButton.addSelectionListener( new SelectionAdapter()
{
public void widgetSelected( SelectionEvent e )
{
add( availableObjectClassesViewer.getSelection() );
}
} );
removeButton.addSelectionListener( new SelectionAdapter()
{
public void widgetSelected( SelectionEvent e )
{
remove( selectedObjectClassesViewer.getSelection() );
}
} );
selectedObjectClassesViewer = new TableViewer( composite );
data = new GridData( GridData.FILL_BOTH );
data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
data.widthHint = ( int ) ( SIZING_SELECTION_WIDGET_WIDTH * 0.4 );
selectedObjectClassesViewer.getTable().setLayoutData( data );
selectedObjectClassesViewer.setContentProvider( new ArrayContentProvider() );
selectedObjectClassesViewer.setLabelProvider( labelProvider );
selectedObjectClassesViewer.setSorter( new ViewerSorter() );
selectedObjectClassesViewer.setInput( selectedObjectClasses );
selectedObjectClassesViewer.addDoubleClickListener( new IDoubleClickListener()
{
public void doubleClick( DoubleClickEvent event )
{
remove( event.getSelection() );
}
} );
setControl( composite );
}