Package org.geoforge.guillcogcecl.menuitem

Source Code of org.geoforge.guillcogcecl.menuitem.GfrMimTrsAlrIdZoomToObjectTloAlwaysNoLstPosSpnSec

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.geoforge.guillcogcecl.menuitem;

import gov.nasa.worldwind.geom.Position;
import java.awt.event.ActionEvent;
import java.util.List;
import java.util.Observable;
import java.util.Observer;
import java.util.logging.Logger;
import org.geoforge.guillc.optionpane.GfrOptionPaneAbs;
import org.geoforge.java.util.logging.filehandler.FileHandlerLogger;
import org.geoforge.mdldsp.action.control.GfrMdlDspActCtrSubSec;
import org.geoforge.mdldsp.event.state.singleton.selecttlo.GfrEvtMdlSttSngSelTlo;
import org.geoforge.mdldsp.state.singleton.selecttlo.GfrMdlSttSngSelTlo;
import org.geoforge.wrpbasprsdsp.state.singleton.selecttlo.GfrWrpObjSttSngSelTlo;
import org.geoforge.wrpbasprssynecl.GfrWrpBasSynObjNameTloEclSpn;

/**
*
* @author robert
*/
public class GfrMimTrsAlrIdZoomToObjectTloAlwaysNoLstPosSpnSec extends GfrMimTrsAlrIdZoomToObjectTloAlwaysNoLstPosSpnAbs
{
   // ----
    // begin: instantiate logger for this class
    final private static Logger _LOGGER_ = Logger.getLogger(GfrMimTrsAlrIdZoomToObjectTloAlwaysNoLstPosSpnSec.class.getName());

    static
    {
        GfrMimTrsAlrIdZoomToObjectTloAlwaysNoLstPosSpnSec._LOGGER_.addHandler(FileHandlerLogger.s_getInstance());
    }

    // end: instantiate logger for this class
    // ----
   
    private String _strIdViewer_ = null;
  
  
   public GfrMimTrsAlrIdZoomToObjectTloAlwaysNoLstPosSpnSec(String strId, String strIdViewer)
            throws Exception
    {
        super(strId);
       
        this._strIdViewer_ = strIdViewer;
       
        GfrMdlSttSngSelTlo.getInstance().addObserver((Observer) this);
   }
  
   @Override
   public void update(Observable obs, Object objEvt)
   {
      if (!(obs instanceof GfrMdlSttSngSelTlo))
      {
         super.update(obs, objEvt);
         return;
      }

      try
      {
         // ----
         // GfrMdlDspTopS2ds

         if (objEvt instanceof GfrEvtMdlSttSngSelTlo)
         {
            GfrEvtMdlSttSngSelTlo objId = (GfrEvtMdlSttSngSelTlo) objEvt;
            String strIdSource = objId.getKey();

            if (strIdSource.compareTo(super.getId()) != 0)
               return;
           
            List<Position> lstPos = GfrWrpBasSynObjNameTloEclSpn.getInstance().getGeometry(super.getId());
     
            if (lstPos==null || lstPos.isEmpty())
            {
               super.setEnabled(false);
               return;
            }


            boolean bln = objId.getValue();

            if (bln && super.isEnabled())
               return;

            if (!bln && !super.isEnabled())
               return;

            super.setEnabled(bln);
            return;
         }
      }
      catch (Exception exc)
      {
         exc.printStackTrace();
         String str = exc.getMessage();
         GfrMimTrsAlrIdZoomToObjectTloAlwaysNoLstPosSpnSec._LOGGER_.severe(str);
         GfrOptionPaneAbs.s_showDialogError(null, str);
         return;
      }

   }
   
   
    @Override
    public void destroy()
    {
       GfrMdlSttSngSelTlo.getInstance().deleteObserver((Observer) this);
      
       super.destroy();
    }

    @Override
   protected void _load() throws Exception
   {
      super._load();

      if (! super.isEnabled())
         return;

      boolean bln = GfrWrpObjSttSngSelTlo.getInstance().isEnabled(super.getId());

      if (! bln)
         super.setEnabled(false);
   }
    /*
   @Override
   protected void _updateAddedObject() throws Exception
   {
      super._updateAddedObject();

      if (! GfrWrpObjSttSngSelTlo.getInstance().isEnabled(super.getId()))
         super.setEnabled(false);
   }

   @Override
   protected void _updateRemovedObject() throws Exception
   {
      super._updateRemovedObject();

      if (! super.isEnabled())
         return;

      if (! GfrWrpObjSttSngSelTlo.getInstance().isEnabled(super.getId()))
         super.setEnabled(false);
   }*/

   @Override
   public void actionPerformed(ActionEvent e)
   {
      GfrMdlDspActCtrSubSec.s_getInstance().zoomToObject(super.getId(), this._strIdViewer_);
   }
}
TOP

Related Classes of org.geoforge.guillcogcecl.menuitem.GfrMimTrsAlrIdZoomToObjectTloAlwaysNoLstPosSpnSec

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.