Package org.geoforge.guillc.tree

Source Code of org.geoforge.guillc.tree.GfrTreCtrTopSpcTogChkPrjSecMloFixAbs

/*
* 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
* and openSpaceAny the template in the editor.
*/
package org.geoforge.guillc.tree;

import java.awt.event.ActionListener;
import java.awt.event.MouseListener;
import java.util.logging.Logger;
import javax.swing.event.TreeExpansionListener;
import javax.swing.event.TreeModelListener;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultTreeModel;
import org.geoforge.guillc.panel.GfrPnlStatusBarSec;
import org.geoforge.guillc.treenode.GfrNodCtrFixFolderRootAbs;
import org.geoforge.guillc.treenode.GfrNodCtrFixFolderRootChkSecTopTlo;
import org.geoforge.guillc.treenode.GfrNodCtrFixFolderSetFixPrjAbs;
import org.geoforge.java.util.logging.filehandler.FileHandlerLogger;

/**
*
* @author robert
*/
abstract public class GfrTreCtrTopSpcTogChkPrjSecMloFixAbs extends GfrTreCtrTopSpcTogChkPrjSecAbs
{
   // ----
   // begin: instantiate logger for this class

   final private static Logger _LOGGER_ = Logger.getLogger(GfrTreCtrTopSpcTogChkPrjSecMloFixAbs.class.getName());

   static
   {
      GfrTreCtrTopSpcTogChkPrjSecMloFixAbs._LOGGER_.addHandler(FileHandlerLogger.s_getInstance());
   }
   // end: instantiate logger for this class
   // ----
  
   transient protected GfrNodCtrFixFolderSetFixPrjAbs _nodTopHiddenTlo = null;
   protected String _strIdTlo = null;
  
   protected GfrTreCtrTopSpcTogChkPrjSecMloFixAbs(
           MouseListener mlrParentMvc,
            TreeSelectionListener lstTreeSelectionToolbar,
            TreeExpansionListener lstTreeExpansionToolbar,
            TreeModelListener lstTreeModelToolbar,
            GfrPnlStatusBarSec pnlStatusBar,
            String strIdViewer,
            String strIdTlo)
   {
      super(mlrParentMvc,
              (ActionListener) null, // no need to catch events of type checkBoxMenuItems - alrParentMvc,
              lstTreeSelectionToolbar,
              lstTreeExpansionToolbar,
              lstTreeModelToolbar,
              new GfrNodCtrFixFolderRootChkSecTopTlo(),
              pnlStatusBar,
              strIdViewer);
     
      this._strIdTlo = strIdTlo;
   }
  
   @Override
   public void releaseTransient() throws Exception
   {
      super.releaseTransient();

      if (this._nodTopHiddenTlo != null)
      {
         Object objRoot = super.getModel().getRoot();
         GfrNodCtrFixFolderRootAbs nodRoot = (GfrNodCtrFixFolderRootAbs) objRoot;
         nodRoot.remove(this._nodTopHiddenTlo);

         // TODO: iterate through children, remove
         this._nodTopHiddenTlo.releaseTransient();
         this._nodTopHiddenTlo.destroy();
         this._nodTopHiddenTlo = null;
      }
   }


   @Override
   public void openSpaceApplicationProject(ActionListener alrControllerSpcPrj, ActionListener alrControllerPrs) throws Exception
   {
      super.openSpaceApplicationProject(alrControllerSpcPrj, alrControllerPrs);

      Object objRoot = super.getModel().getRoot();
      GfrNodCtrFixFolderRootAbs nodRoot = (GfrNodCtrFixFolderRootAbs) objRoot;
      nodRoot.setTree(this);
      DefaultTreeModel dtm = (DefaultTreeModel) super.getModel();
      dtm.insertNodeInto(this._nodTopHiddenTlo, nodRoot, 0);

      dtm.nodeStructureChanged(nodRoot);

      if (! this._nodTopHiddenTlo.init())
      {
         String strError = "! this._nodTopHiddenTlo.init()";
         GfrTreCtrTopSpcTogChkPrjSecMloFixAbs._LOGGER_.severe(strError);
         throw new Exception(strError);
      }
   }

   @Override
   public void closeSpace() throws Exception
   {
      super.closeSpace();

      if (this._nodTopHiddenTlo != null)
      {
         // TODO: iterate through children, remove
         this._nodTopHiddenTlo.destroy();
         this._nodTopHiddenTlo = null;
      }
   }

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

      // TODO: remove children from root
     
      if (this._nodTopHiddenTlo != null)
      {
         // TODO: iterate through children, remove
         this._nodTopHiddenTlo.destroy();
         this._nodTopHiddenTlo = null;
      }
   }

   @Override
   public void folderAllCollapse()
   {
      if (! super._blnIsOpen)
          return;
     
      super.folderAllCollapse(this._nodTopHiddenTlo);
   }

   @Override
   public void folderAllExpand()
   {
      if (! super._blnIsOpen)
          return;
     
      super.folderAllExpand(this._nodTopHiddenTlo);
   }

   @Override
   public boolean isAllowedFolderAllCollapse() throws Exception
   {
      if (! super._blnIsOpen)
          return false;
     
      if (super.isAllowedFolderAllCollapse(this._nodTopHiddenTlo))
         return true;

      return false;
   }

   @Override
   public boolean isAllowedFolderAllExpand() throws Exception
   {
      if (! super._blnIsOpen)
          return false;
     
      if (super.isAllowedFolderAllExpand(this._nodTopHiddenTlo))
         return true;

      return false;
   }

   @Override
   public void childrenAllCheck()
   {
      if (! super._blnIsOpen)
          return;
     
      this._nodTopHiddenTlo.childrenAllCheck();
   }

   @Override
   public void childrenAllUncheck()
   {
      if (! super._blnIsOpen)
          return;
     
      this._nodTopHiddenTlo.childrenAllUncheck();
   }
}
TOP

Related Classes of org.geoforge.guillc.tree.GfrTreCtrTopSpcTogChkPrjSecMloFixAbs

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.