package org.nightlabs.jfire.issuetracking.ui.projecttype;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.nightlabs.base.ui.composite.XComposite;
import org.nightlabs.base.ui.composite.XComposite.LayoutMode;
import org.nightlabs.base.ui.language.I18nTextEditorTable;
import org.nightlabs.base.ui.language.II18nTextEditor;
import org.nightlabs.base.ui.resource.SharedImages;
import org.nightlabs.base.ui.wizard.DynamicPathWizardPage;
import org.nightlabs.i18n.I18nTextBuffer;
import org.nightlabs.jfire.issue.project.id.ProjectID;
import org.nightlabs.jfire.issuetracking.ui.IssueTrackingPlugin;
import org.nightlabs.jfire.issuetracking.ui.resource.Messages;
public class CreateProjectTypeNameWizardPage extends DynamicPathWizardPage
{
public CreateProjectTypeNameWizardPage(String pageName) {
super(pageName);
}
private I18nTextBuffer projectTypeNameBuffer;
private II18nTextEditor projectTypeNameEditor;
private ProjectID projectID;
@Override
public Control createPageContents(Composite parent) {
XComposite page = new XComposite(parent, SWT.NONE, LayoutMode.TIGHT_WRAPPER);
new Label(page, SWT.NONE).setText(Messages.getString("org.nightlabs.jfire.issuetracking.ui.projecttype.CreateProjectTypeNameWizardPage.label.projectName.text")); //$NON-NLS-1$
projectTypeNameBuffer = new I18nTextBuffer();
projectTypeNameEditor = new I18nTextEditorTable(page);
projectTypeNameEditor.setI18nText(projectTypeNameBuffer);
projectTypeNameEditor.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent arg0)
{
getWizard().getContainer().updateButtons();
}
});
return page;
}
public CreateProjectTypeNameWizardPage(ProjectID projectID)
{
super(CreateProjectTypeNameWizardPage.class.getName(), Messages.getString("org.nightlabs.jfire.issuetracking.ui.projecttype.CreateProjectTypeNameWizardPage.title"), //$NON-NLS-1$
SharedImages.getWizardPageImageDescriptor(IssueTrackingPlugin.getDefault(), CreateProjectTypeNameWizardPage.class));
this.setDescription(Messages.getString("org.nightlabs.jfire.issuetracking.ui.projecttype.CreateProjectTypeNameWizardPage.description")); //$NON-NLS-1$
this.projectID = projectID;
}
public II18nTextEditor getVoucherTypeNameEditor()
{
return projectTypeNameEditor;
}
public I18nTextBuffer getProjectTypeNameBuffer()
{
return projectTypeNameBuffer;
}
@Override
public boolean isPageComplete()
{
return !projectTypeNameBuffer.isEmpty();
}
}