package org.nightlabs.jfire.issuetracking.admin.ui.overview.issueproperty; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; 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.ui.forms.editor.FormPage; import org.eclipse.ui.forms.widgets.ExpandableComposite; import org.nightlabs.base.ui.composite.XComposite; import org.nightlabs.base.ui.composite.XComposite.LayoutMode; import org.nightlabs.base.ui.editor.RestorableSectionPart; import org.nightlabs.base.ui.language.I18nTextEditor; import org.nightlabs.jfire.issue.IssueType; import org.nightlabs.jfire.issuetracking.admin.ui.resource.Messages; /** * @author Chairat Kongarayawetchakun - chairat [AT] nightlabs [DOT] de * */ public class IssueTypeNameSection extends RestorableSectionPart { private IssueTypeEditorPageController controller; private IssueType issueType; private I18nTextEditor issueTypeName; public IssueTypeNameSection(FormPage page, Composite parent, IssueTypeEditorPageController controller) { super(parent, page.getEditor().getToolkit(), ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE); this.controller = controller; getSection().setText(Messages.getString("org.nightlabs.jfire.issuetracking.admin.ui.overview.issueproperty.IssueTypeNameSection.section.text")); //$NON-NLS-1$ getSection().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); getSection().setLayout(new GridLayout()); XComposite client = new XComposite(getSection(), SWT.NONE, LayoutMode.TIGHT_WRAPPER); client.getGridLayout().numColumns = 2; new Label(client, SWT.NONE).setText(Messages.getString("org.nightlabs.jfire.issuetracking.admin.ui.overview.issueproperty.IssueTypeNameSection.label.issueTypeName.text")); //$NON-NLS-1$ issueTypeName = new I18nTextEditor(client); issueTypeName.addModifyListener(new ModifyListener(){ public void modifyText(ModifyEvent e) { issueType.getName().copyFrom(issueTypeName.getI18nText()); markDirty(); } }); getSection().setClient(client); } public void setIssueType(IssueType issueType){ this.issueType = issueType; issueTypeName.setI18nText(issueType.getName()); } }