/******************************************************************************* * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ package org.eclipse.tcf.te.ui.controls.panels; import org.eclipse.core.runtime.Assert; import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.swt.widgets.Composite; import org.eclipse.tcf.te.ui.controls.BaseDialogPageControl; import org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel; /** * Abstract base implementation of the <code>IWizardConfigurationPanel</code> interface. */ public abstract class AbstractWizardConfigurationPanel implements IWizardConfigurationPanel { private final BaseDialogPageControl parentControl; private Composite topControl = null; private String message = null; private int messageType = IMessageProvider.NONE; private boolean enabled = true; /** * Constructor. * * @param parentControl The parent control. Must not be <code>null</code>! */ public AbstractWizardConfigurationPanel(BaseDialogPageControl parentControl) { super(); Assert.isNotNull(parentControl); this.parentControl = parentControl; } /** * Returns the associated parent control. * * @return The associated parent control. Must be never <code>null</code>! */ public BaseDialogPageControl getParentControl() { return parentControl; } /* (non-Javadoc) * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage() */ @Override public final String getMessage() { return message; } /* (non-Javadoc) * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType() */ @Override public final int getMessageType() { return messageType; } /** * Set the message and the message type this control wants to display in * the outer control or panel. * * @param message The message from this control. * @param messageType The type o the message (NONE, INFORMATION, WARNING, ERROR). */ protected final void setMessage(String message, int messageType) { this.message = message; this.messageType = messageType; } /* (non-Javadoc) * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#dispose() */ @Override public void dispose() { } /** * Sets the top control. * * @param topControl The top control or <code>null</code>. */ protected void setControl(Composite topControl) { this.topControl = topControl; } /* (non-Javadoc) * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#getControl() */ @Override public Composite getControl() { return topControl; } /* (non-Javadoc) * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#getDialogSettingsSectionName() */ @Override public String getDialogSettingsSectionName() { return null; } /* (non-Javadoc) * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { } /* (non-Javadoc) * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { } /* (non-Javadoc) * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setEnabled(boolean) */ @Override public void setEnabled(boolean enabled) { this.enabled = enabled; } /** * @return Returns the enabled state. */ public boolean isEnabled() { return enabled; } /* (non-Javadoc) * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#isValid() */ @Override public boolean isValid() { setMessage(null, NONE); return true; } /* (non-Javadoc) * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#activate() */ @Override public void activate() { } }