/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.ui.forms; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.widgets.FormToolkit; /** A LinkedComponentSet is a way for one or more components that * work on the same data value to be linked. * A ComponentCategory groups multiple LinkedComponentSets together. * @author PForhan * * @since 8.0 */ public interface LinkedComponentSet extends Cloneable { /** Get the ID of this LCS. Not user-visible. */ public String getID(); public void setCategory(ComponentCategory cat); public ComponentCategory getCategory(); // GUI methods: public int getControlCount(); public void addFormControls(Composite parent, FormToolkit ftk, int totalColumns); public void setEditible(boolean enabled); // value methods: public boolean isUserSet(); public void setValue(Object o); // public Object getValue(); /** revert to the last set value or to defaults */ public void reset(); // Update handling: public void setMonitor(ComponentSetMonitor csl); public LinkedComponentSet cloneSet(); }