Package hermes.browser

Source Code of hermes.browser.AutoRefreshCheckBox

/*
* Copyright 2003,2004,2005 Colin Crist
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

package hermes.browser;

import hermes.browser.actions.BrowserAction;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JCheckBox;

import com.jidesoft.document.DocumentComponentEvent;
import com.jidesoft.document.DocumentComponentListener;

public class AutoRefreshCheckBox extends JCheckBox implements DocumentComponentListener
{
   /**
   *
   */
  private static final long serialVersionUID = -5175293195735313150L;
private static AutoRefreshCheckBox singleton = new AutoRefreshCheckBox();

   private AutoRefreshCheckBox()
   {
      setSelectedIcon(IconCache.getIcon("hermes.messages.autorefresh.off"));
      setIcon(IconCache.getIcon("hermes.messages.autorefresh.on"));
      setEnabled(false);
      setSelected(false);
      setOpaque(false);

      setToolTipText("Enable auto refresh.");

      addActionListener(new ActionListener()
      {
         public void actionPerformed(ActionEvent e)
         {
            if (HermesBrowser.getBrowser().getDocumentPane().getActiveDocument() instanceof BrowserAction)
            {
               BrowserAction action = (BrowserAction) HermesBrowser.getBrowser().getDocumentPane().getActiveDocument();
               action.setAutoBrowse(isSelected());

               if (isSelected())
               {
                  setToolTipText("Disable auto refresh.");
               }
               else
               {
                  setToolTipText("Enable auto refresh.");
               }
            }
         }
      });
   }

   public static AutoRefreshCheckBox getInstance()
   {
      return singleton;
   }

   protected void checkEnabled(Object object)
   {
      if (object instanceof BrowserAction)
      {
         final BrowserAction browseAction = (BrowserAction) object;

         if (browseAction.isRefreshable())
         {
            setEnabled(true);
            setSelected(browseAction.isAutoBrowse());
         }
         else
         {
            setEnabled(false);
         }
      }
   }

   public void documentComponentDocked(DocumentComponentEvent arg0)
   {
      // TODO Auto-generated method stub
     
   }

   public void documentComponentFloated(DocumentComponentEvent arg0)
   {
      // TODO Auto-generated method stub
     
   }

   public void documentComponentMoved(DocumentComponentEvent arg0)
   {
      // NOP
   }

   public void documentComponentMoving(DocumentComponentEvent arg0)
   {
      // NOP
   }

   public void documentComponentActivated(DocumentComponentEvent event)
   {
      checkEnabled(event.getSource());
   }

   public void documentComponentClosed(DocumentComponentEvent event)
   {
      setEnabled(false);
   }

   public void documentComponentClosing(DocumentComponentEvent event)
   {
      setEnabled(false);
   }

   public void documentComponentDeactivated(DocumentComponentEvent event)
   {
      setEnabled(false);
   }

   public void documentComponentOpened(DocumentComponentEvent event)
   {
      checkEnabled(event.getSource());
   }
}
TOP

Related Classes of hermes.browser.AutoRefreshCheckBox

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.