/******************************************************************************* | |
* Copyright (c) 2006, 2012 Oracle Corporation and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License 2.0 | |
* which accompanies this distribution, and is available at | |
* https://www.eclipse.org/legal/epl-2.0/ | |
* | |
* SPDX-License-Identifier: EPL-2.0 | |
* | |
* Contributors: | |
* Oracle Corporation - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.bpel.ui.properties; | |
import org.eclipse.bpel.common.ui.flatui.FlatFormAttachment; | |
import org.eclipse.bpel.common.ui.flatui.FlatFormData; | |
import org.eclipse.swt.layout.FillLayout; | |
import org.eclipse.swt.widgets.Combo; | |
import org.eclipse.swt.widgets.Composite; | |
import org.eclipse.swt.widgets.Label; | |
/** | |
* Assign category shows the current assign category section. | |
* There is one for "from" and one for "to" | |
* | |
* This is also used in the Variable Initialization section. | |
* | |
* @author Michal Chmielewski (michal.chmielewski@oracle.com) | |
* @date Jun 11, 2007 | |
* | |
*/ | |
class CategorySection { | |
IAssignCategory[] fAllowed = {}; | |
IAssignCategory fCurrent; | |
Label fLabel; | |
Combo fCombo; | |
Composite fOuterComposite; | |
BPELPropertySection fParentSection ; | |
CategorySection ( BPELPropertySection aSection ) { | |
fParentSection = aSection; | |
} | |
Composite ensureCategoryCompositeCreated () { | |
if (fCurrent.getComposite() == null) { | |
Composite c = fParentSection.createFlatFormComposite(fOuterComposite); | |
FlatFormData data = new FlatFormData(); | |
data.left = new FlatFormAttachment(0,0); | |
data.right = new FlatFormAttachment(100,0); | |
data.top = new FlatFormAttachment(0,0); | |
data.bottom = new FlatFormAttachment(100,0); | |
c.setLayoutData(data); | |
FillLayout fillLayout = new FillLayout(); | |
fillLayout.marginHeight = fillLayout.marginWidth = 0; | |
c.setLayout(fillLayout); | |
fCurrent.createControls(c, fParentSection.getTabbedPropertySheetPage()); | |
fOuterComposite.layout(true); | |
return c; | |
} | |
return fCurrent.getComposite(); | |
} | |
@SuppressWarnings("nls") | |
void showCurrent ( ) { | |
assert(fCurrent != null); | |
if (fCurrent.isHidden()) { | |
fCurrent.aboutToBeShown(); | |
} | |
fCurrent.getComposite().setVisible(true); | |
} | |
void hideCurrent ( ) { | |
if (fCurrent == null) { | |
return ; | |
} | |
if (fCurrent.isHidden() == false) { | |
fCurrent.aboutToBeHidden(); | |
} | |
fCurrent.getComposite().setVisible(false); | |
} | |
void updateCombo () { | |
for(int i=0; i < fAllowed.length; i++) { | |
if (fAllowed[i] == fCurrent) { | |
fCombo.select(i); | |
return ; | |
} | |
} | |
} | |
}; |