001package csheets.ext.database.ui;
002
003import javax.swing.*;
004
005import csheets.ext.Extension;
006import csheets.ui.ctrl.UIController;
007import csheets.ui.ext.*;
008
009/**
010 * UI extension that offers database options (export, import and update)
011 * @see UIExtension
012 * @author João Carreira
013 */
014public class UIDatabaseExtension extends UIExtension 
015{
016
017    /** The icon to display with the extension's name */
018    private Icon icon;
019
020    /** The menu of the extension */
021    private DatabaseMenu menu;
022
023    /**
024     * constructor
025     * @param extension
026     * @param uiController 
027     */
028    public UIDatabaseExtension(Extension extension, UIController uiController) 
029    {
030        super(extension, uiController);
031    }
032
033    /**
034     * return the icon
035     * @return Icon object
036     */
037    @Override
038    public Icon getIcon() 
039    {
040        return null;
041    }
042
043    /**
044     * return instance that implements JMenu
045     * @return 
046     */
047    @Override
048    public JMenu getMenu() 
049    {
050        if (menu == null)
051        {
052            menu = new DatabaseMenu(uiController);
053        }
054        return menu;
055    }
056
057    /**
058     * return a cell decorator
059     * @return 
060     */
061    @Override
062    public CellDecorator getCellDecorator() 
063    {
064        return null;
065    }
066
067    /**
068     * returns a table decorator
069     * @return 
070     */
071    @Override
072    public TableDecorator getTableDecorator() 
073    {
074        return null;
075    }
076
077    /**
078     * return a toolbar specific to the extension
079     * @return 
080     */
081    @Override
082    public JToolBar getToolBar() 
083    {
084        return null;
085    }
086
087   /**
088    * return a sidebar specific to the extension
089    * @return 
090    */
091    @Override
092    public JComponent getSideBar() 
093    {
094        return null;
095    }
096}