// ============================================================================
//
// Copyright (C) 2006-2016 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.mdm.repository.ui.wizards.process;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
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.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.talend.mdm.repository.i18n.Messages;
/**
* DOC hbhong class global comment. Detailled comment
*/
public class ConfigRedirectURLPage extends WizardPage {
public static final String PAGE_ID = "org.talend.mdm.repository.ui.wizards.process.ConfigRedirectURLPage"; //$NON-NLS-1$
private Text urlText;
private Label lblNewLabel;
private Button enableButton;
private String url;
public String getUrl() {
if(enableButton.getSelection())
return this.url;
else
return "";//$NON-NLS-1$
}
private boolean enableRedirect;
public boolean isEnableRedirect() {
return this.enableRedirect;
}
/**
* Create the wizard.
*/
public ConfigRedirectURLPage() {
super(PAGE_ID);
setTitle(Messages.NewProcessWizard_title);
setDescription(Messages.ConfigRedirectURLPage_description);
}
/**
* Create contents of the wizard.
*
* @param parent
*/
public void createControl(Composite parent) {
Composite container = new Composite(parent, SWT.NULL);
setControl(container);
container.setLayout(new GridLayout(2, false));
enableButton = new Button(container, SWT.CHECK);
enableButton.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
enableButton.setText(Messages.ConfigRedirectURLPage_enableRedirect);
lblNewLabel = new Label(container, SWT.NONE);
GridData gd_lblNewLabel = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1);
gd_lblNewLabel.horizontalIndent = 20;
lblNewLabel.setLayoutData(gd_lblNewLabel);
lblNewLabel.setText(Messages.ConfigRedirectURLPage_url);
urlText = new Text(container, SWT.BORDER);
urlText.setText("http://www.talend.com"); //$NON-NLS-1$
urlText.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
getWizard().getContainer().updateButtons();
}
});
urlText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
enableButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
enableURL(enableButton.getSelection());
getWizard().getContainer().updateButtons();
}
});
enableURL(false);
}
private boolean validateURL() {
url = urlText.getText().trim();
boolean result = false;
enableRedirect = enableButton.getSelection();
if (enableRedirect && url.length() == 0) {
setErrorMessage(Messages.ConfigRedirectURLPage_pleaseInputUrl);
} else {
setErrorMessage(null);
result = true;
}
return result;
}
private void enableURL(boolean enable) {
lblNewLabel.setEnabled(enable);
urlText.setEnabled(enable);
}
@Override
public boolean isPageComplete() {
return validateURL();
}
@Override
public IWizardPage getNextPage() {
//get jobtemplate page
return getWizard().getPage("org.talend.mdm.repository.enterprise.ui.wizards.jobtemplate.CreateJobTemplateWizardPage");//$NON-NLS-1$
}
}