// ============================================================================ // // 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.preferences; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferencePage; 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.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.eclipse.ui.PlatformUI; import org.talend.mdm.repository.i18n.Messages; import com.amalto.workbench.exadapter.ExAdapterManager; public class AutoDeployPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { public AutoDeployPreferencePage() { } private Button bAutoDeploy; private Button warnUserBun; IAutoDeployPreferencePageExAdapter exAdapter = null; public void init(IWorkbench workbench) { IPreferenceStore store = PlatformUI.getPreferenceStore(); setPreferenceStore(store); exAdapter = ExAdapterManager.getAdapter(this, IAutoDeployPreferencePageExAdapter.class); } @Override protected Control createContents(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridData gridData = new GridData(GridData.FILL_BOTH); composite.setLayoutData(gridData); composite.setLayout(new GridLayout(2, false)); bAutoDeploy = new Button(composite, SWT.CHECK); bAutoDeploy.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { updateWarnUserBun(); } }); bAutoDeploy.setText(Messages.AutoDeploy_saving_text); bAutoDeploy.setSelection(getPreferenceStore().getBoolean(PreferenceConstants.P_AUTO_DEPLOY)); gridData = new GridData(); gridData.horizontalSpan = 2; bAutoDeploy.setLayoutData(gridData); warnUserBun = new Button(composite, SWT.CHECK); GridData gd_btnCheckButton = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_btnCheckButton.horizontalIndent = 20; warnUserBun.setLayoutData(gd_btnCheckButton); warnUserBun.setText(Messages.AutoDeployPreferencePage_btnCheckButton_text); if (exAdapter != null) { exAdapter.createContents(composite); } // initCheckedBuns(); return composite; } private void updateWarnUserBun() { warnUserBun.setEnabled(bAutoDeploy.getSelection()); } @Override public boolean performOk() { IPreferenceStore store = getPreferenceStore(); store.setValue(PreferenceConstants.P_AUTO_DEPLOY, bAutoDeploy.getSelection()); store.setValue(PreferenceConstants.P_WARN_USER_AUTO_DEPLOY, warnUserBun.getSelection()); if (exAdapter != null) { exAdapter.performOk(); } return true; } private void initCheckedBuns() { IPreferenceStore store = getPreferenceStore(); bAutoDeploy.setSelection(store.getBoolean(PreferenceConstants.P_AUTO_DEPLOY)); warnUserBun.setSelection(store.getBoolean(PreferenceConstants.P_WARN_USER_AUTO_DEPLOY)); if (exAdapter != null) { exAdapter.initCheckedBuns(); } updateWarnUserBun(); } @Override protected void performDefaults() { IPreferenceStore store = getPreferenceStore(); store.setValue(PreferenceConstants.P_AUTO_DEPLOY, false); store.setValue(PreferenceConstants.P_WARN_USER_AUTO_DEPLOY, true); if (exAdapter != null) { exAdapter.performDefaults(); } initCheckedBuns(); } }