/*
* 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.popupmenu;
import java.awt.event.ActionListener;
import org.geoforge.guillc.menuitem.GfrMimTrsAlrIdCopTlo;
import org.geoforge.guillc.menuitem.GfrMimTrsAlrIdDelObj;
import org.geoforge.guillc.menuitem.GfrMimTrsAlrIdRenTlo;
import org.geoforge.guillc.menuitem.GfrMimTrsAlrIdSetTlo;
import org.geoforge.guillc.menuitem.GfrMimTrsAlrAbs;
import org.geoforge.guillc.tree.GfrTreAbs;
import org.geoforge.java.awt.container.GfrUtilContainer;
/**
*
* @author bantchao
*
* email: bantchao_AT_gmail.com
* ... please remove "_AT_" from the above string to get the right email address
*
*/
abstract public class GfrPmuCtlCtrFolderTloDskAbs extends GfrPmuCtlCtrFolderTloAbs
{
protected GfrMimTrsAlrAbs _mimCopy = null;
protected GfrMimTrsAlrAbs _mimRename = null;
protected GfrPmuCtlCtrFolderTloDskAbs(
String strUniqueId,
GfrTreAbs tree)
{
super(
strUniqueId,
tree);
}
protected GfrPmuCtlCtrFolderTloDskAbs(
String strUniqueId,
GfrTreAbs tree,
ActionListener alrControllerEitherSpcPrjAppliOrPlugin,
String strValueKindTargetWindowForSettings,
String strValueKindObject)
{
super(
strUniqueId,
tree);
this._mimCopy = new GfrMimTrsAlrIdCopTlo(alrControllerEitherSpcPrjAppliOrPlugin, strUniqueId,
strValueKindObject);
this._mimRename = new GfrMimTrsAlrIdRenTlo(alrControllerEitherSpcPrjAppliOrPlugin, strUniqueId,
strValueKindObject);
super._mimDelete = new GfrMimTrsAlrIdDelObj(
alrControllerEitherSpcPrjAppliOrPlugin,
strUniqueId,
strValueKindObject);
super._mimSettings = new GfrMimTrsAlrIdSetTlo(
alrControllerEitherSpcPrjAppliOrPlugin,
strUniqueId,
strValueKindTargetWindowForSettings,
strValueKindObject);
}
@Override
public boolean init()
{
if (!super.init())
return false;
if (!this._mimCopy.init())
return false;
if (!this._mimRename.init())
return false;
int intPos = 0;
if (super._menPlugins != null)
{
intPos = GfrUtilContainer.s_getPosition(this, super._menPlugins);
intPos += 2;
}
else
{
intPos = GfrUtilContainer.s_getPosition(this, super._mimFolderAllCollapse);
intPos += 2;
}
super.add(this._mimRename, intPos++);
super.add(this._mimCopy, intPos++);
return true;
}
@Override
public void destroy()
{
super.destroy();
if (this._mimCopy != null)
{
this._mimCopy.destroy();
this._mimCopy = null;
}
if (this._mimRename != null)
{
this._mimRename.destroy();
this._mimRename = null;
}
}
@Override
public void loadTransient() throws Exception
{
super.loadTransient();
this._mimCopy.loadTransient();
this._mimRename.loadTransient();
}
@Override
public void releaseTransient() throws Exception
{
super.releaseTransient();
this._mimCopy.releaseTransient();
this._mimRename.releaseTransient();
}
}