Package org.geoforge.guillcogcecl.menuitem

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

/*
* 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.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;
import org.geoforge.guillc.menuitem.GfrMimTrsAlrIdZoomToObjectOpenViewersTloAlwaysNoAbs;
import org.geoforge.mdl.event.GfrEvtMdlIdAbs;
import org.geoforge.mdldat.event.GfrEvtMdlIdDatChangedGeometry;
import org.geoforge.mdldat.event.GfrEvtMdlIdDatRemovedPosMlo;
import org.geoforge.mdldatecl.GfrMdlDatIdObjTloEclSpn;
import org.geoforge.wrpbasprssynecl.GfrWrpBasSynObjNameTloEclSpn;

/**
*
* @author robert
*/
public class GfrMimTrsAlrIdZoomToObjectOpenViewersTloAlwaysNoSpn extends GfrMimTrsAlrIdZoomToObjectOpenViewersTloAlwaysNoAbs
{
   public GfrMimTrsAlrIdZoomToObjectOpenViewersTloAlwaysNoSpn(String strId) throws Exception
   {
      super(strId);
     
      GfrMdlDatIdObjTloEclSpn.getInstance().addObserver((Observer) this);
      _load();
   }
  
   @Override
   protected void _load() throws Exception
   {
      List<Position> lstPos = GfrWrpBasSynObjNameTloEclSpn.getInstance().getGeometry(super.getId());
     
      if (lstPos!=null && !lstPos.isEmpty())
         super.setEnabled(true);
   }

   @Override
   protected void _updateRemovedObject() throws Exception
   {
      List<Position> lstPos = GfrWrpBasSynObjNameTloEclSpn.getInstance().getGeometry(super.getId());
     
      if (lstPos==null || lstPos.isEmpty())
         super.setEnabled(false);
   }
  
   @Override
   public void destroy()
   {
      GfrMdlDatIdObjTloEclSpn.getInstance().deleteObserver((Observer) this);

      super.destroy();
   }
  
   @Override
   public void update(Observable obs, Object objEvt)
   {
      if (objEvt instanceof GfrEvtMdlIdDatChangedGeometry)
      {
         GfrEvtMdlIdAbs mdlId = (GfrEvtMdlIdAbs) objEvt;
            String strIdEvt = mdlId.getId();

         if (strIdEvt.compareTo(super.getId()) != 0)
            return;
        
         GfrEvtMdlIdDatChangedGeometry evtGeom = (GfrEvtMdlIdDatChangedGeometry) objEvt;
        
         ArrayList<Position> altPos = (ArrayList<Position>) evtGeom.getGeometry();
        
         if (altPos==null || altPos.isEmpty())
         {
            if (super.isEnabled())
               setEnabled(false);
           
            return;
         }
        
         if (! super.isEnabled())
            setEnabled(true);
        
         return;
      }
     
     
      super.update(obs, objEvt);
   }
}
TOP

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

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.