Package org.geoforge.guillc.dialog

Source Code of org.geoforge.guillc.dialog.GfrDlgSelectObjects

/*
*  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.dialog;

import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import org.geoforge.guillc.button.GfrBtnTxtRndCmdCheckAllXXSmall;
import org.geoforge.guillc.button.GfrBtnTxtRndCmdClearXXSmall;
import org.geoforge.guillc.button.GfrBtnTxtRndCmdNewXXSmall;
import org.geoforge.guillc.button.GfrBtnTxtRndCmdUncheckAllXXSmall;
import org.geoforge.guillc.panel.GfrPnlCmdCancelOkEnableDisableCheckUncheckAll;
import org.geoforge.guillc.panel.GfrPnlGrpSngTblSelectObjects;

/**
*
* @author Amadeus.Sowerby
*
* email: Amadeus.Sowerby_AT_gmail.com
* ... please remove "_AT_" from the above string to get the right email address
*/
public class GfrDlgSelectObjects extends GfrDlgCmdCancelOkCheckUncheckAllAbs implements
      ListSelectionListener,
      ChangeListener
{

   private GfrPnlGrpSngTblSelectObjects _pnlItemsToSelect_;

   public String[] getResult()
   {
      return _pnlItemsToSelect_.getResult();
   }

   public GfrDlgSelectObjects(
         JFrame frmOwner,
         String strTitleSuffix,
         String[] strsValueNameCandidateSorted)
   {
      super(
            frmOwner,
            strTitleSuffix);

      Object[][] objss = new Object[strsValueNameCandidateSorted.length][2];

      for (int i = 0; i < strsValueNameCandidateSorted.length; i++)
      {
         objss[i][0] = Boolean.TRUE;
         objss[i][1] = strsValueNameCandidateSorted[i];
      }

      this._pnlItemsToSelect_ = new GfrPnlGrpSngTblSelectObjects(
            "Objects",
            objss,
            (ListSelectionListener) this,
            (ChangeListener) this);

   }

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

      if (!this._pnlItemsToSelect_.init())
         return false;

      ((GfrPnlCmdCancelOkEnableDisableCheckUncheckAll) super._pnlCommand).setEnabledOkCommandDialog(true);
      ((GfrPnlCmdCancelOkEnableDisableCheckUncheckAll) super._pnlCommand).setEnabledButtonEnablingOk(false);
      ((GfrPnlCmdCancelOkEnableDisableCheckUncheckAll) super._pnlCommand).setEnabledButtonDisablingOk(true);

      super.add(this._pnlItemsToSelect_);

      return true;
   }

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


      if (this._pnlItemsToSelect_ != null)
      {
         this._pnlItemsToSelect_.destroy();
         this._pnlItemsToSelect_ = null;
      }
   }

   @Override
   public void valueChanged(ListSelectionEvent e)
   {
      this._someChange_();
   }

   @Override
   public void actionPerformed(ActionEvent e)
   {
      Object objSource = e.getSource();

      if (objSource instanceof GfrBtnTxtRndCmdNewXXSmall ||
          objSource instanceof GfrBtnTxtRndCmdCheckAllXXSmall)
      {
         this._pnlItemsToSelect_.checkAll();
         ((GfrPnlCmdCancelOkEnableDisableCheckUncheckAll) super._pnlCommand).setEnabledOkCommandDialog(true);
         return;
      }

      if (objSource instanceof GfrBtnTxtRndCmdClearXXSmall ||
          objSource instanceof GfrBtnTxtRndCmdUncheckAllXXSmall)
      {
         this._pnlItemsToSelect_.uncheckAll();
         ((GfrPnlCmdCancelOkEnableDisableCheckUncheckAll) super._pnlCommand).setEnabledOkCommandDialog(false);
         return;
      }
      super.actionPerformed(e);
   }

   @Override
   protected boolean _okEnableable()
   {
      boolean blnAllUnchecked = this._pnlItemsToSelect_.isAllUnchecked();

      return !blnAllUnchecked;
   }

   @Override
   public void stateChanged(ChangeEvent e)
   {
      this._someChange_();
   }

   private void _someChange_()
   {
      boolean blnAllUnchecked = this._pnlItemsToSelect_.isAllUnchecked();
      ((GfrPnlCmdCancelOkEnableDisableCheckUncheckAll) super._pnlCommand).setEnabledButtonDisablingOk(!blnAllUnchecked);

      boolean blnAllChecked = this._pnlItemsToSelect_.isAllChecked();
      ((GfrPnlCmdCancelOkEnableDisableCheckUncheckAll) super._pnlCommand).setEnabledButtonEnablingOk(!blnAllChecked);

      ((GfrPnlCmdCancelOkEnableDisableCheckUncheckAll) super._pnlCommand).setEnabledOkCommandDialog(!blnAllUnchecked);
   }
}
TOP

Related Classes of org.geoforge.guillc.dialog.GfrDlgSelectObjects

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.