Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Eclipse GEF
3.3

org.eclipse.gef.editparts
Class ZoomManager

java.lang.Object
  extended by
org.eclipse.gef.editparts.ZoomManager

public class ZoomManager
extends java.lang.Object

Manage the primary zoom function in a graphical viewer. This class is used by the zoom contribution items, including:

A ZoomManager controls how zoom in and zoom out are performed. It also determines the list of choices the user sees in the drop-down Combo on the toolbar. The zoom manager controls a ScalableFigure, which performs the actual zoom, and also a Viewport. The viewport is needed so that the scrolled location is preserved as the zoom level changes.

NOTE: For the settings of Page, Width and Height to work properly, the given Viewport should have its scrollbars always visible or never visible. Otherwise, these settings may cause undesired effects.


Field Summary
static int ANIMATE_NEVER
          Style bit meaning don't animate any zooms
static int ANIMATE_ZOOM_IN_OUT
          Style bit meaning animate during zoomIn() and zoomOut()
static java.lang.String FIT_ALL
          String constant for the "Page" zoom level.
static java.lang.String FIT_HEIGHT
          String constant for the "Height" zoom level.
static java.lang.String FIT_WIDTH
          String constant for the "Width" zoom level.
 
Constructor Summary
ZoomManager ( ScalableFigure pane, Viewport viewport)
          Creates a new ZoomManager.
ZoomManager ( ScalableFreeformLayeredPane pane, Viewport viewport)
          Deprecated. Use ZoomManager(ScalableFigure, Viewport) instead. Creates a new ZoomManager
 
Method Summary
 void addZoomListener ( ZoomListener listener)
          Adds the given ZoomListener to this ZoomManager's list of listeners.
 boolean canZoomIn ()
          returns true if the zoommanager can perform zoomIn().
 boolean canZoomOut ()
          returns true if the zoommanager can perform zoomOut().
protected  void fireZoomChanged ()
          Notifies listeners that the zoom level has changed.
protected  double getFitHeightZoomLevel ()
          Calculates and returns the zoom percent required so that the entire height of the scalable figure is visible on the screen.
protected  double getFitPageZoomLevel ()
          Calculates and returns the zoom percentage required to fit the entire scalable figure on the screen.
protected  double getFitWidthZoomLevel ()
          Calculates and returns the zoom percentage required so that the entire width of the scalable figure is visible on the screen.
 double getMaxZoom ()
          Returns the maxZoom.
 double getMinZoom ()
          Returns the minZoom.
 double getNextZoomLevel ()
          Returns the zoom level that is one level higher than the current level.
  ScalableFreeformLayeredPane getPane ()
          Deprecated. Use getScalableFigure() instead. Returns the pane.
 double getPreviousZoomLevel ()
          Returns the zoom level that is one level higher than the current level.
  ScalableFigure getScalableFigure ()
          Returns the figure which performs the actual zooming.
 double getUIMultiplier ()
          Returns the mutltiplier.
  Viewport getViewport ()
          Returns the viewport.
 double getZoom ()
          Returns the current zoom level.
 java.lang.String getZoomAsText ()
          Returns the current zoom level as a percentage formatted String
 java.util.List getZoomLevelContributions ()
          Returns the list of strings that should be appended to the list of numerical zoom levels.
 double[] getZoomLevels ()
          Returns the zoomLevels.
 java.lang.String[] getZoomLevelsAsText ()
          Returns the list of zoom levels as Strings in percent notation, plus any additional zoom levels that were contributed using setZoomLevelContributions(List).
protected  void primSetZoom (double zoom)
          Sets the zoom level to the given value.
 void removeZoomListener ( ZoomListener listener)
          Removes the given ZoomListener from this ZoomManager's list of listeners.
 void setUIMultiplier (double multiplier)
          Sets the UI multiplier.
 void setViewLocation ( Point p)
          Sets the Viewport's view associated with this ZoomManager to the passed Point
 void setZoom (double zoom)
          Sets the zoom level to the given value.
 void setZoomAnimationStyle (int style)
          Sets which zoom methods get animated.
 void setZoomAsText (java.lang.String zoomString)
          Sets zoom to the passed string.
 void setZoomLevelContributions (java.util.List contributions)
          Sets the list of zoom level contributions (as strings).
 void setZoomLevels (double[] zoomLevels)
          Sets the zoomLevels.
 void zoomIn ()
          Sets the zoom level to be one level higher
 void zoomOut ()
          Sets the zoom level to be one level lower
 void zoomTo ( Rectangle rect)
          Currently does nothing.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ANIMATE_NEVER

public static final int ANIMATE_NEVER
Style bit meaning don't animate any zooms

See Also:
Constant Field Values

ANIMATE_ZOOM_IN_OUT

public static final int ANIMATE_ZOOM_IN_OUT
Style bit meaning animate during zoomIn() and zoomOut()

See Also:
Constant Field Values

FIT_HEIGHT

public static final java.lang.String FIT_HEIGHT
String constant for the "Height" zoom level. At this zoom level, the zoom manager will adopt a zoom setting such that the entire height of the diagram will be visible on the screen.


FIT_WIDTH

public static final java.lang.String FIT_WIDTH
String constant for the "Width" zoom level. At this zoom level, the zoom manager will adopt a zoom setting such that the entire width of the diagram will be visible on the screen.


FIT_ALL

public static final java.lang.String FIT_ALL
String constant for the "Page" zoom level. At this zoom level, the zoom manager will adopt a zoom setting such that the entire diagram will be visible on the screen.

Constructor Detail

ZoomManager

public ZoomManager(
ScalableFigure pane,
                   
Viewport viewport)
Creates a new ZoomManager.

Parameters:
pane - The ScalableFigure associated with this ZoomManager
viewport - The Viewport assoicated with this ZoomManager

ZoomManager

public ZoomManager(
ScalableFreeformLayeredPane pane,
                   
Viewport viewport)
Deprecated. Use ZoomManager(ScalableFigure, Viewport) instead. Creates a new ZoomManager

Parameters:
pane - The ScalableFreeformLayeredPane associated with this ZoomManager
viewport - The Viewport assoicated with this viewport
Method Detail

addZoomListener

public void addZoomListener(
ZoomListener listener)
Adds the given ZoomListener to this ZoomManager's list of listeners.

Parameters:
listener - the ZoomListener to be added

canZoomIn

public boolean canZoomIn()
returns true if the zoommanager can perform zoomIn().

Returns:
boolean true if zoomIn can be called

canZoomOut

public boolean canZoomOut()
returns true if the zoommanager can perform zoomOut().

Returns:
boolean true if zoomOut can be called

fireZoomChanged

protected void fireZoomChanged()
Notifies listeners that the zoom level has changed.


getFitHeightZoomLevel

protected double getFitHeightZoomLevel()
Calculates and returns the zoom percent required so that the entire height of the scalable figure is visible on the screen. This is the zoom level associated with FIT_HEIGHT.

Returns:
zoom setting required to fit the scalable figure vertically on the screen

getFitPageZoomLevel

protected double getFitPageZoomLevel()
Calculates and returns the zoom percentage required to fit the entire scalable figure on the screen. This is the zoom setting associated with FIT_ALL. It is the minimum of getFitHeightZoomLevel() and getFitWidthZoomLevel().

Returns:
zoom setting required to fit the entire scalable figure on the screen

getFitWidthZoomLevel

protected double getFitWidthZoomLevel()
Calculates and returns the zoom percentage required so that the entire width of the scalable figure is visible on the screen. This is the zoom setting associated with FIT_WIDTH.

Returns:
zoom setting required to fit the scalable figure horizontally on the screen

getMaxZoom

public double getMaxZoom()
Returns the maxZoom.

Returns:
double

getMinZoom

public double getMinZoom()
Returns the minZoom.

Returns:
double

getUIMultiplier

public double getUIMultiplier()
Returns the mutltiplier. This value is used to use zoom levels internally that are proportionally different than those displayed to the user. e.g. with a multiplier value of 2.0, the zoom level 1.0 will be displayed as "200%".

Returns:
double The multiplier

getNextZoomLevel

public double getNextZoomLevel()
Returns the zoom level that is one level higher than the current level. If zoom level is at maximum, returns the maximum.

Returns:
double The next zoom level

getPane

public 
ScalableFreeformLayeredPane getPane()
Deprecated. Use getScalableFigure() instead. Returns the pane.

Returns:
the pane

getPreviousZoomLevel

public double getPreviousZoomLevel()
Returns the zoom level that is one level higher than the current level. If zoom level is at maximum, returns the maximum.

Returns:
double The previous zoom level

getScalableFigure

public 
ScalableFigure getScalableFigure()
Returns the figure which performs the actual zooming.

Returns:
the scalable figure

getViewport

public 
Viewport getViewport()
Returns the viewport.

Returns:
Viewport

getZoom

public double getZoom()
Returns the current zoom level.

Returns:
double the zoom level

getZoomAsText

public java.lang.String getZoomAsText()
Returns the current zoom level as a percentage formatted String

Returns:
String The current zoom level as a String

getZoomLevelContributions

public java.util.List getZoomLevelContributions()
Returns the list of strings that should be appended to the list of numerical zoom levels. These could be things such as Fit Width, Fit Page, etc. May return null.

Returns:
the list of contributed zoom levels

getZoomLevels

public double[] getZoomLevels()
Returns the zoomLevels.

Returns:
double[]

getZoomLevelsAsText

public java.lang.String[] getZoomLevelsAsText()
Returns the list of zoom levels as Strings in percent notation, plus any additional zoom levels that were contributed using setZoomLevelContributions(List).

Returns:
List The list of zoom levels

primSetZoom

protected void primSetZoom(double zoom)
Sets the zoom level to the given value. Min-max range check is not done.

Parameters:
zoom - the new zoom level

removeZoomListener

public void removeZoomListener(
ZoomListener listener)
Removes the given ZoomListener from this ZoomManager's list of listeners.

Parameters:
listener - the ZoomListener to be removed

setUIMultiplier

public void setUIMultiplier(double multiplier)
Sets the UI multiplier. The UI multiplier is applied to all zoom settings when they are presented to the user ( getZoomAsText()). Similarly, the multiplier is inversely applied when the user specifies a zoom level ( setZoomAsText(String)).

When the UI multiplier is 1.0, the User will see the exact zoom level that is being applied. If the value is 2.0, then a scale of 0.5 will be labeled "100%" to the User.

Parameters:
multiplier - The mutltiplier to set

setViewLocation

public void setViewLocation(
Point p)
Sets the Viewport's view associated with this ZoomManager to the passed Point

Parameters:
p - The new location for the Viewport's view.

setZoom

public void setZoom(double zoom)
Sets the zoom level to the given value. If the zoom is out of the min-max range, it will be ignored.

Parameters:
zoom - the new zoom level

setZoomAnimationStyle

public void setZoomAnimationStyle(int style)
Sets which zoom methods get animated.

Parameters:
style - the style bits determining the zoom methods to be animated.

setZoomAsText

public void setZoomAsText(java.lang.String zoomString)
Sets zoom to the passed string. The string must be composed of numeric characters only with the exception of a decimal point and a '%' as the last character. If the zoom level contribution list has been set, this method should be overridden to provide the appropriate zoom implementation for the new zoom levels.

Parameters:
zoomString - The new zoom level

setZoomLevelContributions

public void setZoomLevelContributions(java.util.List contributions)
Sets the list of zoom level contributions (as strings). If you contribute something other than FIT_HEIGHT, FIT_WIDTH and FIT_ALL you must subclass this class and override this method to implement your contributed zoom function.

Parameters:
contributions - the list of contributed zoom levels

setZoomLevels

public void setZoomLevels(double[] zoomLevels)
Sets the zoomLevels.

Parameters:
zoomLevels - The zoomLevels to set

zoomIn

public void zoomIn()
Sets the zoom level to be one level higher


zoomTo

public void zoomTo(
Rectangle rect)
Currently does nothing.

Parameters:
rect - a rectangle

zoomOut

public void zoomOut()
Sets the zoom level to be one level lower


Eclipse GEF
3.3

Copyright (c) IBM Corp. and others 2000, 2007. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire