// ============================================================================ // // Copyright (C) 2006-2012 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.repository.ui.wizards; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.talend.commons.ui.runtime.exception.ExceptionHandler; import org.talend.core.CorePlugin; import org.talend.core.i18n.Messages; import org.talend.core.model.general.Project; import org.talend.repository.model.IProxyRepositoryFactory; import org.talend.repository.ui.dialog.PaletteSettingsDialog; /** * DOC qwei class global comment. Detailled comment * * @deprecated see ProjectSettingDialog */ public class ProjectSettingsWizardPage extends WizardPage { /** Name text. */ protected Text nameText; /** Comment text. */ protected Text descriptionText; /** Project settings button */ private Button projectSetBtn; /** Version management button */ private Button versionBtn; private Project pro; private static boolean setState = false; protected ProjectSettingsWizardPage(String pageName, Project pro) { super(pageName); this.pro = pro; // TODO Auto-generated constructor stub } /* * (non-Javadoc) * * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) */ public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(2, false); container.setLayout(layout); GridData data; // Name Label nameLab = new Label(container, SWT.NONE); nameLab.setText(Messages.getString("PropertiesWizardPage.Name")); //$NON-NLS-1$ nameText = new Text(container, SWT.BORDER); nameText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); nameText.setEditable(false); // Description Label descriptionLab = new Label(container, SWT.NONE); descriptionLab.setText(Messages.getString("PropertiesWizardPage.Description")); //$NON-NLS-1$ descriptionLab.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING)); descriptionText = new Text(container, SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); data = new GridData(GridData.FILL_BOTH); data.heightHint = 120; descriptionText.setLayoutData(data); createButtons(container); setControl(container); updateContent(); addListeners(); setPageComplete(true); } private void createButtons(Composite parent) { Composite btnComposite = new Composite(parent, SWT.NONE); GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); data.horizontalSpan = 2; btnComposite.setLayoutData(data); RowLayout layout = new RowLayout(); layout.marginTop = 8; layout.spacing = 15; btnComposite.setLayout(layout); // Project settings projectSetBtn = new Button(btnComposite, SWT.PUSH); projectSetBtn.setText(org.talend.repository.i18n.Messages.getString("ProjectSettingsWizardPage.PaletteSettings")); //$NON-NLS-1$ // Version management versionBtn = new Button(btnComposite, SWT.PUSH); versionBtn.setText(org.talend.repository.i18n.Messages.getString("ProjectSettingsWizardPage.VersionManagement")); //$NON-NLS-1$ } protected void updateContent() { nameText.setText(pro.getLabel()); descriptionText.setText(pro.getEmfProject().getDescription()); } protected void addListeners() { projectSetBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { PaletteSettingsDialog dialog = new PaletteSettingsDialog(getShell(), pro); dialog.open(); } }); versionBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { setState = true; // VersionManagementDialog dialog = new VersionManagementDialog(getShell(), pro); // dialog.open(); } }); } protected void finish() { if (descriptionText.getText().equals(pro.getEmfProject().getDescription())) { return; } pro.getEmfProject().setDescription(descriptionText.getText()); IProxyRepositoryFactory prf = CorePlugin.getDefault().getProxyRepositoryFactory(); try { prf.saveProject(pro); } catch (Exception ex) { ExceptionHandler.process(ex); } } }