blob: 62b495d9b6acdce4c6fc6da38c718d7f31648846 [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.emf.ecore.EObject;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.views.properties.tabbed.ISection;
/**
* An IDetailsSection representing a panel of widgets for one specifying one kind
* of From/To contents. Subclasses of AssignCategory can answer whether they apply
* to the contents of a particular From or To, and they provide widgets specific to
* that kind of contents.
*
*/
public interface IAssignCategory extends ISection {
/** Get the composite on which the section had been created
*
* @return the composite on which this section had been created.
*/
public Composite getComposite ();
/**
* Answer if hidden.
*
* @return true of hidden, false if not.
*/
public boolean isHidden();
/**
* Returns a label for the category (e.g. to show in a combo).
* @return name
*/
public String getName();
/**
* Returns true if the state in the toOrFrom object can be represented by this category.
* If isFrom is true, toOrFrom will be a From object, otherwise it will be a To object.
* @param aModel the model object.
* @return true if this is the category for this model object, false otherwise.
*/
public boolean isCategoryForModel (EObject aModel);
/**
* Used in the same way as BPELPropertySection.getUserContext(), except that this is
* normally called by AssignImplDetails rather than directly by the wrapped Command.
*
* This is because an AssignCategory should not use itself as the detailsSection
* when it wraps a Command--it should use its ownerSection.
*
* @return the user context object
*/
public Object getUserContext();
/**
* Used in the same way as BPELPropertySection.getUserContext(), except that this is
* normally called by AssignImplDetails rather than directly by the wrapped Command.
*
* This is because an AssignCategory should not use itself as the detailsSection
* when it wraps a Command--it should use its ownerSection.
*
* @param userContext the user context object
*
* @see BPELPropertySection#restoreUserContext(Object)
*/
public void restoreUserContext(Object userContext);
/**
* This is just a workaround to keep the AssignCategory from changing too much.
* TODO: get rid of these!
*
* @param aModel the model object
*/
public void setInput(EObject aModel);
}