Package org.geoforge.guillc.panel

Source Code of org.geoforge.guillc.panel.GfrPnlCadSpcAbs

/*
*  Copyright (C) 2011-2014 GeoForge Project
*
*  This program is free software: you can redistribute it and/or modify
*  it under the terms of the GNU Lesser General Public License as published by
*  the Free Software Foundation, either version 3 of the License, or
*  (at your option) any later version.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU Lesser General Public License for more details.
*
*  You should have received a copy of the GNU Lesser General Public License
*  along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

package org.geoforge.guillc.panel;

import java.awt.BorderLayout;
import java.awt.Component;
import javax.help.HelpBroker;
import javax.swing.JPanel;
import org.geoforge.guihlp.handler.IGfrHandlerSetEnabledTrueHelpOnThisSection;
import org.geoforge.guillc.border.GfrBorderHelpOnThis;
import org.geoforge.guillc.handler.IGfrHandlerCloseSpace;
import org.geoforge.guillc.splitpane.GfrSplHlpMainAppAbs;
import org.geoforge.guillc.toolbar.GfrTbrHlpSubAbs;

/**
*
* @author bantchao
*
* email: bantchao_AT_gmail.com
* ... please remove "_AT_" from the above string to get the right email address
*
*
* panel with a toolbar
* "Prs": "Perspective"
*/

abstract public class GfrPnlCadSpcAbs extends GfrPnlPrintableSctAwt implements
        IGfrHandlerSetEnabledTrueHelpOnThisSection,
        IGfrHandlerCloseSpace
{
    protected GfrSplHlpMainAppAbs _spp = null;
    protected GfrTbrHlpSubAbs _tbr = null;

    protected GfrPnlCadSpcAbs()
    {
        super();
       
        GfrBorderHelpOnThis.s_set((JPanel) this);
       
        setLayout(new BorderLayout());
    }


    @Override
    public boolean init()
    {
        if (! super.init())
            return false;

        if (this._tbr != null)
            if (! this._tbr.init())
                return false;
       
        if (! this._spp.init())
            return false;

        if (this._tbr != null)
            super.add((Component) this._tbr,BorderLayout.EAST);
       
        super.add(this._spp, BorderLayout.CENTER);
       
        return true;
    }

    @Override
    public void destroy()
    {
        super.destroy();

        if (this._tbr != null)
        {
            this._tbr.destroy();
            this._tbr = null;
        }
       
        if (this._spp != null)
        {
            this._spp.destroy();
            this._spp = null;
        }
    }
   
    @Override
    public void closeSpace() throws Exception
    {
        this._spp.closeSpace();
    }
   
    @Override
    public void setEnabledTrueHelpOnThisSection(HelpBroker hbr)
    {
        for (int i=0; i<super.getComponentCount(); i++)
        {
            Component cmpCur = super.getComponent(i);

            if (cmpCur instanceof IGfrHandlerSetEnabledTrueHelpOnThisSection)
            {
                IGfrHandlerSetEnabledTrueHelpOnThisSection hot = (IGfrHandlerSetEnabledTrueHelpOnThisSection) cmpCur;
                hot.setEnabledTrueHelpOnThisSection(hbr);
            }
        }
    }
}
TOP

Related Classes of org.geoforge.guillc.panel.GfrPnlCadSpcAbs

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.