// Created on 08.10.2007 package org.eclipse.rap.rms.ui.internal.datamodel; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.rap.rms.data.IEntity; import org.eclipse.rap.rms.data.IProject; import org.eclipse.rap.rms.data.ITask; import org.eclipse.rap.rms.ui.internal.Activator; import org.eclipse.rap.rms.ui.internal.RMSMessages; import org.eclipse.rap.rms.ui.internal.wizards.INewEntityPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; final class NewTaskWizardPage extends WizardPage implements INewEntityPage { private ITask newTask; private IProject project; private Text txtName; NewTaskWizardPage( final IProject project ) { super( "New Task" ); //$NON-NLS-1$ setTitle( RMSMessages.get().NewTaskWizardPage_NewTask + project.getName() + "]" ); //$NON-NLS-2$ setMessage( RMSMessages.get().NewTaskWizardPage_EnterTaskInfo, IMessageProvider.WARNING ); setPageComplete( false ); this.project = project; Image img = Activator.getDefault().getImage( Activator.IMG_WIZ_BAN ); setImageDescriptor( ImageDescriptor.createFromImage( img ) ); } public void createControl( final Composite parent ) { BgColorUtil.setBgColor( parent.getParent() ); BgColorUtil.setBgColor( parent ); Composite composite = new Composite( parent, SWT.NONE ); BgColorUtil.setBgColor( composite ); composite.setLayout( new GridLayout( 1, false ) ); Label lblName = new Label( composite, SWT.LEFT ); BgColorUtil.setBgColor( lblName ); lblName.setText( RMSMessages.get().NewTaskWizardPage_EnterTaskName ); txtName = new Text( composite, SWT.SINGLE | SWT.BORDER ); txtName.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) ); txtName.addModifyListener( new ModifyListener() { public void modifyText( final ModifyEvent event ) { if( txtName.getText().length() > 0 ) { setMessage( RMSMessages.get().NewTaskWizardPage_CreateTask, IMessageProvider.INFORMATION ); setPageComplete( true ); } else { setMessage( RMSMessages.get().NewTaskWizardPage_EnterName, IMessageProvider.WARNING ); setPageComplete( false ); } } } ); txtName.setFocus(); setControl( composite ); } public boolean create() { newTask = project.newTask( txtName.getText() ); return newTask != null; } public IEntity getEntity() { return newTask; } }