|
Eclipse GEF 3.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.gef.editparts.ZoomManager
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 String |
FIT_ALL
String constant for the "Page" zoom level. |
static String |
FIT_HEIGHT
String constant for the "Height" zoom level. |
static 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. |
String |
getZoomAsText()
Returns the current zoom level as a percentage formatted String |
List |
getZoomLevelContributions()
Returns the list of strings that should be appended to the list of numerical zoom levels. |
double[] |
getZoomLevels()
Returns the zoomLevels. |
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(String zoomString)
Sets zoom to the passed string. |
void |
setZoomLevelContributions(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 |
public static final int ANIMATE_NEVER
public static final int ANIMATE_ZOOM_IN_OUT
zoomIn()
and zoomOut()
public static final String FIT_HEIGHT
public static final String FIT_WIDTH
public static final String FIT_ALL
Constructor Detail |
public ZoomManager(ScalableFigure pane, Viewport viewport)
pane
- The ScalableFigure associated with this ZoomManagerviewport
- The Viewport assoicated with this ZoomManagerpublic ZoomManager(ScalableFreeformLayeredPane pane, Viewport viewport)
ZoomManager(ScalableFigure, Viewport)
instead.
Creates a new ZoomManager
pane
- The ScalableFreeformLayeredPane associated with this ZoomManagerviewport
- The Viewport assoicated with this viewportMethod Detail |
public void addZoomListener(ZoomListener listener)
listener
- the ZoomListener to be addedpublic boolean canZoomIn()
true
if the zoommanager can perform zoomIn()
.
public boolean canZoomOut()
true
if the zoommanager can perform zoomOut()
.
protected void fireZoomChanged()
protected double getFitHeightZoomLevel()
scalable figure
is visible on the screen. This is the
zoom level associated with FIT_HEIGHT
.
protected double getFitPageZoomLevel()
scalable figure
on the screen. This is the zoom setting
associated with FIT_ALL
. It is the minimum of getFitHeightZoomLevel()
and getFitWidthZoomLevel()
.
protected double getFitWidthZoomLevel()
scalable figure
is visible on the screen. This is the
zoom setting associated with FIT_WIDTH
.
public double getMaxZoom()
public double getMinZoom()
public double getUIMultiplier()
public double getNextZoomLevel()
public ScalableFreeformLayeredPane getPane()
getScalableFigure()
instead.
Returns the pane.
public double getPreviousZoomLevel()
public ScalableFigure getScalableFigure()
public Viewport getViewport()
public double getZoom()
public String getZoomAsText()
public List getZoomLevelContributions()
null
.
public double[] getZoomLevels()
public String[] getZoomLevelsAsText()
setZoomLevelContributions(List)
.
protected void primSetZoom(double zoom)
zoom
- the new zoom levelpublic void removeZoomListener(ZoomListener listener)
listener
- the ZoomListener to be removedpublic void setUIMultiplier(double multiplier)
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.
multiplier
- The mutltiplier to setpublic void setViewLocation(Point p)
p
- The new location for the Viewport's view.public void setZoom(double zoom)
zoom
- the new zoom levelpublic void setZoomAnimationStyle(int style)
style
- the style bits determining the zoom methods to be animated.public void setZoomAsText(String zoomString)
zoomString
- The new zoom levelpublic void setZoomLevelContributions(List contributions)
FIT_HEIGHT
, FIT_WIDTH
and
FIT_ALL
you must subclass this class and override this method to
implement your contributed zoom function.
contributions
- the list of contributed zoom levelspublic void setZoomLevels(double[] zoomLevels)
zoomLevels
- The zoomLevels to setpublic void zoomIn()
public void zoomTo(Rectangle rect)
rect
- a rectanglepublic void zoomOut()
|
Eclipse GEF 3.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |