Package net.sourceforge.squirrel_sql.plugins.graph

Source Code of net.sourceforge.squirrel_sql.plugins.graph.Zoomer

package net.sourceforge.squirrel_sql.plugins.graph;

import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.ZoomerXmlBean;

import java.util.Vector;


public class Zoomer
{
   private double _zoom = 1;
   private double _oldZoom = 1;
   Vector<ZoomerListener> _listeners = new Vector<ZoomerListener>();
   private boolean _enabled;
   private boolean _hideScrollBars;

   public Zoomer(ZoomerXmlBean xmlBean)
   {
      if(null != xmlBean)
      {
         _zoom = xmlBean.getZoom();
         _oldZoom = xmlBean.getOldZoom();
         _enabled = xmlBean.isEnabled();
         _hideScrollBars = xmlBean.isHideScrollbars();
      }
   }

   public void setEnabled(boolean b)
   {
      _enabled = b;

      if(_enabled)
      {
         setZoom(_oldZoom, false);
      }
      else
      {
         setZoom(1, false);
      }

      ZoomerListener[] listeners = _listeners.toArray(new ZoomerListener[_listeners.size()]);
      for (int i = 0; i < listeners.length; i++)
      {
         listeners[i].zoomEnabled(b);
      }
   }

   public void setZoom(double zoom, boolean adjusting)
   {
      _oldZoom = _zoom;
      _zoom = zoom;

      ZoomerListener[] listeners = _listeners.toArray(new ZoomerListener[_listeners.size()]);
      for (int i = 0; i < listeners.length; i++)
      {
         listeners[i].zoomChanged(_zoom, _oldZoom, adjusting);
      }
   }

   public double getZoom()
   {
      return _zoom;
   }

   public void addZoomListener(ZoomerListener l)
   {
      _listeners.remove(l);
      _listeners.add(l);
   }

   public void removeZoomListener(ZoomerListener l)
   {
      _listeners.remove(l);
   }

   public boolean isEnabled()
   {
      return _enabled;
   }

   public void setHideScrollBars(boolean b)
   {
      _hideScrollBars =b;
      ZoomerListener[] listeners = _listeners.toArray(new ZoomerListener[_listeners.size()]);
      for (int i = 0; i < listeners.length; i++)
      {
         listeners[i].setHideScrollBars(b);
      }
   }

   public ZoomerXmlBean getXmlBean()
   {
      ZoomerXmlBean xmlBean = new ZoomerXmlBean();
      xmlBean.setZoom(_zoom);
      xmlBean.setOldZoom(_oldZoom);
      xmlBean.setEnabled(_enabled);
      xmlBean.setHideScrollbars(_hideScrollBars);
      return xmlBean;
   }

   public boolean isHideScrollbars()
   {
      return _hideScrollBars;
   }
}
TOP

Related Classes of net.sourceforge.squirrel_sql.plugins.graph.Zoomer

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.