/*
* 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.buttongroup;
import java.awt.event.ActionListener;
import java.util.Enumeration;
import java.util.logging.Logger;
import javax.swing.AbstractButton;
import javax.swing.JRadioButton;
import org.geoforge.guillc.optionpane.GfrOptionPaneAbs;
import org.geoforge.guillc.radiobutton.RbnIcnFxSmpViewWwdEarthAbs;
import org.geoforge.guillc.radiobutton.RbnIcnFxSmpViewWwdEarthFlat;
import org.geoforge.guillc.radiobutton.RbnIcnFxSmpViewWwdEarthRound;
import org.geoforge.java.util.logging.filehandler.FileHandlerLogger;
/**
*
* @author bantchao
*
* email: bantchao_AT_gmail.com
* ... please remove "_AT_" from the above string to get the right email address
*
*/
public class GfrBgpKindViewWwdEarth extends GfrBgp
{
// ----
// begin: instantiate logger for this class
final private static Logger _LOGGER_ = Logger.getLogger(GfrBgpKindViewWwdEarth.class.getName());
static
{
GfrBgpKindViewWwdEarth._LOGGER_.addHandler(FileHandlerLogger.s_getInstance());
}
// end: instantiate logger for this class
// ----
final public static String F_STR_WHAT = "View kind";
private RbnIcnFxSmpViewWwdEarthAbs _btnViewRound_ = null;
private RbnIcnFxSmpViewWwdEarthAbs _btnViewFlat_ = null;
public void setVisibleButtons(boolean bln)
{
Enumeration<AbstractButton> enu = super.getElements();
while (enu.hasMoreElements())
{
JRadioButton btn = (JRadioButton) enu.nextElement();
btn.setVisible(bln);
}
}
public GfrBgpKindViewWwdEarth(int intSize, int intInset, int intLocationText, ActionListener alr)
{
super();
if (intLocationText == AbstractButton.RIGHT)
this._btnViewRound_ = new RbnIcnFxSmpViewWwdEarthRound(intSize,
intInset, AbstractButton.LEFT, alr);
else
this._btnViewRound_ = new RbnIcnFxSmpViewWwdEarthRound(intSize,
intInset, intLocationText, alr);
if (intLocationText == AbstractButton.TOP)
this._btnViewFlat_ = new RbnIcnFxSmpViewWwdEarthFlat(intSize,
intInset, AbstractButton.BOTTOM, alr);
else
this._btnViewFlat_ = new RbnIcnFxSmpViewWwdEarthFlat(intSize,
intInset, intLocationText, alr);
}
@Override
public boolean init()
{
if(!super.init())
return false;
if(!this._btnViewFlat_.init())
return false;
if(!this._btnViewRound_.init())
return false;
super.add(this._btnViewRound_);
super.add(this._btnViewFlat_);
_btnViewRound_.setSelected(true);
return true;
}
public void resetSelected()
{
if (! this._btnViewRound_.isSelected())
this._btnViewRound_.setSelected(true);
}
public boolean isEnabledFlatGlobe()
{
Enumeration<AbstractButton> enu = super.getElements();
while (enu.hasMoreElements())
{
JRadioButton btn = (JRadioButton) enu.nextElement();
if (!btn.isSelected())
continue;
if (btn instanceof RbnIcnFxSmpViewWwdEarthFlat)
return true;
return false;
}
String str = "No selected radioButton";
GfrBgpKindViewWwdEarth._LOGGER_.severe(str);
GfrOptionPaneAbs.s_showDialogError(null, str);
System.exit(1);
return false; // statement never reached !!!
}
}