| /******************************************************************************* |
| * 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 v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * 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 ; |
| } |
| } |
| } |
| }; |