/* * 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.editors; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; /** * ModelEditorPageOutline is an interface for contributing a control to the * Outline PageBook. * * @since 8.0 */ public interface ModelEditorPageOutline { /** * Create the control to be placed in the outline page when the corresponding ModelEditorPage * is activated. * @param parent the Composite parent to be used to construct the Control. */ void createControl(Composite parent); /** * Obtain the control to be placed in the outline page when the corresponding ModelEditorPage * is activated. * @return */ Control getControl(); /** * Obtain the tool tip text to be placed on the toolbar button for displaying this outline * page contribution. * @return */ String getToolTipText(); /** * Obtain the icon to be placed on the toolbar button for displaying this outline * page contribution. * @return */ ImageDescriptor getIcon(); /** * Determine whether or not this contribution should be enabled. This method will be called * each time an the ModelEditorPage is activated or a new object is sent to it's openObject * method. * @return true if the contribution may be viewed, false if it should be hidden and the show * action disabled. */ boolean isEnabled(); /** * Callback from the ModelOutlinePage to notify this ModelEditorPageOutline that it has either * become visble or hidden. * @param isVisible true if the page has become visible, false if another page has been shown. */ void setVisible(boolean isVisible); void dispose(); }