All Downloads are FREE. Search and download functionalities are using the official Maven repository.

at.spardat.xma.appshell.ITabItemCreator Maven / Gradle / Ivy

/*
 * @(#) $Id: ITabItemCreator.java 8593 2011-10-13 10:35:08Z laslovd $
 *
 * Copyright 2009/2010 by sIT Solutions,
 * A-1110 Wien, Geiselbergstr.21-25.
 * All rights reserved.
 *
 */
package at.spardat.xma.appshell;

import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.widgets.Composite;

public interface ITabItemCreator {

    /**
     * Factory method for creating all the CTabFolders used for the menu.
     * This method can be overwritten to change or enhance the folder creation, 
     * e.g. to customize graphical design. 
     * @param parent The parent Composite (or CTabFolder what is a specialized Composite) 
     * @param menuItem The menu item related to the CTab related to the folder that has to be created here, 
     *                 or null for the root tab folder
     * @param globalAlignment the instance-wide defined alignment setting, see {@link #TabAppShell(ComponentClient, boolean, int, int)} 
     * @return the created CTabFolder instance
     */
    CTabFolder createTabFolder ( Composite parent, IMenuItem menuItem, int globalAlignment );
    
    /**
     * Factory method for creating all the CTabItems used for the menu.
     * This method can be overwritten to change or enhance the folder creation, 
     * e.g. to customize graphical design. 
     * @param parent The parent CTabFolder
     * @param item related IMenuItem instance
     * @return the created CTabItem instance
     */
    CTabItem createTabItem ( CTabFolder parent, IMenuItem item );
    
    /**
     * Event-method called, when an item in the given tab folder is selected. Calls the
     * Task of the corresponding MenuItem, witch could possible be a child leave under 
     * the selected one.  
     *
     * @param folder which got the selection event
     */
    void tabFolderSelected ( CTabFolder folder );
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy