blob: 38f259b822f4706587d4efaebde8682b7bb6ca02 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2012 IBM Corporation 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.bpel.ui.properties;
import org.eclipse.bpel.common.ui.details.IDetailsAreaConstants;
import org.eclipse.bpel.common.ui.flatui.FlatFormAttachment;
import org.eclipse.bpel.common.ui.flatui.FlatFormData;
import org.eclipse.bpel.common.ui.flatui.FlatFormLayout;
import org.eclipse.bpel.model.BPELPackage;
import org.eclipse.bpel.model.EventHandler;
import org.eclipse.bpel.model.OnAlarm;
import org.eclipse.bpel.ui.IBPELUIConstants;
import org.eclipse.bpel.ui.IHelpContextIds;
import org.eclipse.bpel.ui.Messages;
import org.eclipse.bpel.ui.expressions.IEditorConstants;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.PlatformUI;
/**
* @author IBM Original contribution.
*
* @author Michal Chmielewski (michal.chmielewski@oracle.com)
* @date Jul 16, 2007
*
*/
public class RepeatingAlarmConditionSection extends ExpressionSection {
protected Label label1, label2, label3;
protected Button createDefaultButton;
@Override
protected String getExpressionType() {
return IEditorConstants.ET_DURATION;
}
@Override
protected Composite createNoEditorWidgets(Composite composite) {
Composite section = fWidgetFactory.createComposite(composite);
section.setLayout(new FlatFormLayout());
FlatFormData ffdata;
label1 = fWidgetFactory
.createLabel(
section,
Messages.RepeatingAlarmConditionSection_No_condition_specified_1);
ffdata = new FlatFormData();
ffdata.left = new FlatFormAttachment(0, 0);
ffdata.top = new FlatFormAttachment(0, 0);
ffdata.right = new FlatFormAttachment(100, 0);
label1.setLayoutData(ffdata);
label2 = fWidgetFactory.createLabel(section,
Messages.RepeatingAlarmConditionSection_Choose_type_text_2);
ffdata = new FlatFormData();
ffdata.left = new FlatFormAttachment(0, 0);
ffdata.top = new FlatFormAttachment(label1,
IDetailsAreaConstants.VSPACE);
ffdata.right = new FlatFormAttachment(100, 0);
label2.setLayoutData(ffdata);
label3 = fWidgetFactory
.createLabel(
section,
Messages.RepeatingAlarmConditionSection_Not_supported_in_Pick_text_3);
ffdata = new FlatFormData();
ffdata.left = new FlatFormAttachment(0, 0);
ffdata.top = new FlatFormAttachment(0, 0);
ffdata.right = new FlatFormAttachment(100, 0);
label3.setLayoutData(ffdata);
createDefaultButton = fWidgetFactory
.createButton(
section,
Messages.RepeatingAlarmConditionSection_Create_a_New_Repeat_Condition_3,
SWT.PUSH);
ffdata = new FlatFormData();
ffdata.left = new FlatFormAttachment(0, 0);
ffdata.top = new FlatFormAttachment(label2,
IDetailsAreaConstants.VSPACE);
createDefaultButton.setLayoutData(ffdata);
createDefaultButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
doChooseExpressionLanguage(SAME_AS_PARENT);
}
public void widgetDefaultSelected(SelectionEvent e) {
}
});
return section;
}
@Override
protected void basicSetInput(EObject newInput) {
super.basicSetInput(newInput);
boolean enable = (newInput.eContainer() instanceof EventHandler);
expressionLanguageViewer.getControl().setEnabled(enable);
expressionLanguageViewer.getControl().setEnabled(enable);
label1.setVisible(enable);
label2.setVisible(enable);
label3.setVisible(!enable);
createDefaultButton.setVisible(enable);
createDefaultButton.setEnabled(enable);
}
@Override
protected EStructuralFeature getStructuralFeature(EObject object) {
if (object instanceof OnAlarm) {
return BPELPackage.eINSTANCE.getOnAlarm_RepeatEvery();
}
return super.getStructuralFeature(object);
}
@Override
protected boolean isValidClientUseType(String useType) {
return IBPELUIConstants.USE_TYPE_DURATION_CONDITION.equals(useType);
}
@Override
protected void createClient(Composite parent) {
super.createClient(parent);
PlatformUI.getWorkbench().getHelpSystem().setHelp(fParentComposite,
IHelpContextIds.PROPERTY_PAGE_REPEAT_ALARM);
}
}