/*
* 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.guillcogc.tree;
import java.awt.event.ActionListener;
import java.awt.event.MouseListener;
import javax.swing.event.TreeExpansionListener;
import javax.swing.event.TreeModelListener;
import javax.swing.event.TreeSelectionListener;
import org.geoforge.guillc.panel.GfrPnlStatusBarSec;
import org.geoforge.guillc.tree.GfrTreCtrTopSpcTogChkPrjSecAbs;
import org.geoforge.guillc.treenode.GfrNodCtrFixFolderRootAbs;
import org.geoforge.guillcogc.treenode.GfrNodCtrFixFolderRootChkSecOgc;
import org.geoforge.guillcogc.treenode.GfrNodCtrFixFolderTopPrjSecChkOgcWmssAbs;
import org.geoforge.guillcogc.util.GfrResBundleGuiLlcOgc;
/**
*
* @author bantchao
*
* email: bantchao_AT_gmail.com
* ... please remove "_AT_" from the above string to get the right email address
*
*/
abstract public class GfrTreCtrTopSpcTogChkPrjSecOgcAbs extends GfrTreCtrTopSpcTogChkPrjSecAbs
{
transient protected GfrNodCtrFixFolderTopPrjSecChkOgcWmssAbs _nodWmss_ = null;
protected GfrTreCtrTopSpcTogChkPrjSecOgcAbs(
MouseListener alrParentCad,
TreeSelectionListener lstTreeSelectionToolbar,
TreeExpansionListener lstTreeExpansionToolbar,
TreeModelListener lstTreeModelToolbar,
ActionListener alrParentPanelMvc,
GfrPnlStatusBarSec pnlStatusBar,
String strIdViewer)
{
super(alrParentCad,
alrParentPanelMvc,
lstTreeSelectionToolbar,
lstTreeExpansionToolbar,
lstTreeModelToolbar,
new GfrNodCtrFixFolderRootChkSecOgc(GfrResBundleGuiLlcOgc.s_getInstance().getValue("sentence.ogcServices")), // memo: not visible
pnlStatusBar,
strIdViewer);
}
@Override
public void releaseTransient() throws Exception
{
super.releaseTransient();
if (this._nodWmss_ != null)
{
Object objRoot = super.getModel().getRoot();
GfrNodCtrFixFolderRootAbs nodRoot = (GfrNodCtrFixFolderRootAbs) objRoot;
nodRoot.remove(_nodWmss_);
// TODO: iterate through children, remove
this._nodWmss_.releaseTransient();
this._nodWmss_.destroy();
this._nodWmss_ = null;
}
}
@Override
public void closeSpace() throws Exception
{
super.closeSpace();
//this._nodWmss_.closeSpace();
if (this._nodWmss_ != null)
{
// TODO: iterate through children, remove
this._nodWmss_.destroy();
this._nodWmss_ = null;
}
}
@Override
public boolean init()
{
if (! super.init())
return false;
return true;
}
@Override
public void destroy()
{
super.destroy();
if (this._nodWmss_ != null)
{
// TODO: iterate through children, remove
this._nodWmss_.destroy();
this._nodWmss_ = null;
}
}
@Override
public void folderAllCollapse()
{
if (! super._blnIsOpen)
return;
super.folderAllCollapse(this._nodWmss_);
}
@Override
public void folderAllExpand()
{
if (! super._blnIsOpen)
return;
super.folderAllExpand(this._nodWmss_);
}
@Override
public boolean isAllowedFolderAllCollapse() throws Exception
{
if (! super._blnIsOpen)
return false;
if (super.isAllowedFolderAllCollapse(this._nodWmss_))
return true;
return false;
}
@Override
public boolean isAllowedFolderAllExpand() throws Exception
{
if (! super._blnIsOpen)
return false;
if (super.isAllowedFolderAllExpand(this._nodWmss_))
return true;
return false;
}
@Override
public void childrenAllCheck()
{
if (! super._blnIsOpen)
return;
this._nodWmss_.childrenAllCheck();
}
@Override
public void childrenAllUncheck()
{
if (! super._blnIsOpen)
return;
this._nodWmss_.childrenAllUncheck();
}
}