package rocks.inspectit.ui.rcp.ci.form.part.business; import org.eclipse.jface.action.ToolBarManager; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.forms.IFormPart; import org.eclipse.ui.forms.IManagedForm; import rocks.inspectit.shared.cs.ci.business.expression.AbstractExpression; import rocks.inspectit.shared.cs.ci.business.impl.IMatchingRuleProvider; /** * @author Alexander Wert * */ public interface IMatchingRulesPart extends IFormPart { /** * Creates the part content. * * @param managedForm * the {@link IManagedForm} to add this part to * @param parent * the parent composite */ void createContent(IManagedForm managedForm, Composite parent); /** * Reinitializes the contents of the sub-elements according to the {@link AbstractExpression} * retrieved from the provided {@link IMatchingRuleProvider} instance. * * @param ruleProvider * {@link IMatchingRuleProvider} instance providing the {@link AbstractExpression} * that describes the content of this form part. */ void initContent(IMatchingRuleProvider ruleProvider); /** * Sets the description text for this section. * * @param description * new description text. */ void setDescriptionText(String description); /** * Returns the control of the {@link IMatchingRulesPart}. * * @return the control of the {@link IMatchingRulesPart}. */ Control getControl(); /** * Returns the {@link ToolBarManager} of this part. * * @return the {@link ToolBarManager} of this part. */ ToolBarManager getToolbarManager(); /** * Marks this part as dirty. */ void markDirty(); /** * Sets editable state. * * @param editable * editable state. */ void setEditable(boolean editable); }