com.esri.arcgis.controls
Interface IARPageLayout

All Superinterfaces:
Serializable
All Known Implementing Classes:
ARPageLayout, IARPageLayoutProxy

public interface IARPageLayout
extends Serializable

Provides access to members that control the ARPageLayout.

Description

The IARPageLayout interface is a starting point for navigating around the page, setting the page properties and accessing any map's contained within the page.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.


Method Summary
 void centerAt(double xCoord, double yCoord)
          Moves the center of the page layout to the specified point.
 IARMap getARMap(int index)
          The map at the specified index.
 int getARMapCount()
          The number of maps in the page layout's map collection.
 Object getCustomProperty()
          A property to associate data with an object.
 void getExtent(double[] xMin, double[] yMin, double[] xMax, double[] yMax)
          The visible extent of the page layout.
 IARMap getFocusARMap()
          The current focus map that the current tool acts upon.
 double getHeight()
          The height of the page.
 Object getInternalObject()
          The internal ArcObjects IPageLayout object.
 int getMapExtentType(IARMap pMap)
          The extent type of the specified map.
 int getPageUnits()
          The units of the page and all associated coordinates.
 String getTitle()
          The title in the page layout.
 double getWidth()
          The width of the page.
 double getZoomPercent()
          The zoom percent (100 means 1:1, 200 means twice the normal size).
 IARMap hitTestMap(int x, int y)
          Returns the first map present in the page layout at the specified coordinates.
 boolean isCanRedoExtent()
          Indicates if there is a page layout extent that can be redone.
 boolean isCanUndoExtent()
          Indicates if there is a page layout extent that can be undone.
 boolean isHasTitle()
          Indicates if the page layout has a title that can be changed.
 void pan(int direction, double screenPercentage)
          Pans the page layout by a factor in a specified direction.
 void redoExtent()
          Redo the next page layout extent in the stack.
 void refresh(boolean refreshNow)
          Redraws the page layout display area.
 void setCustomProperty(Object pVal)
          A property to associate data with an object.
 void setExtent(double xMin, double yMin, double xMax, double yMax)
          Sets the visible extent of the page layout.
 void setFocusARMapByRef(IARMap ppARMap)
          The current focus map that the current tool acts upon.
 void setPageUnits(int units)
          The units of the page and all associated coordinates.
 void setTitle(String currentTitle)
          The title in the page layout.
 void toPagePoint(int x, int y, double[] xCoord, double[] yCoord)
          Converts a point in device coordinates (typically pixels) to coordinates in page units.
 void undoExtent()
          Undo to the previous page layout extent in the stack.
 void zoomIn(double factor)
          Zooms in on the page layout by a factor.
 void zoomOut(double factor)
          Zooms out on the page layout by a factor.
 void zoomToPercent(int percent)
          Magnifies the page by a percentage (100 means actual size, 200 means twice the normal size).
 void zoomToWholePage()
          Zooms to the whole page.
 void zoomToWidth()
          Fits the width of the page into the page layout display area.
 

Method Detail

setExtent

void setExtent(double xMin,
               double yMin,
               double xMax,
               double yMax)
               throws IOException,
                      AutomationException
Sets the visible extent of the page layout.

Description

Sets the xmin, ymin, xmax and ymax coordinates of the ARPageLayout's current visible extent in PageUnits. The SetExtent method automatically refreshes the ARPageLayout's display area.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
xMin - The xMin (in)
yMin - The yMin (in)
xMax - The xMax (in)
yMax - The yMax (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

void getExtent(double[] xMin,
               double[] yMin,
               double[] xMax,
               double[] yMax)
               throws IOException,
                      AutomationException
The visible extent of the page layout.

Description

Returns the xmin, ymin, xmax and ymax coordinates of the ARPageLayout's current visible extent in PageUnits.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
xMin - The xMin (in/out: use single element array)
yMin - The yMin (in/out: use single element array)
xMax - The xMax (in/out: use single element array)
yMax - The yMax (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFocusARMapByRef

void setFocusARMapByRef(IARMap ppARMap)
                        throws IOException,
                               AutomationException
The current focus map that the current tool acts upon.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
ppARMap - A reference to a com.esri.arcgis.controls.IARMap (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFocusARMap

IARMap getFocusARMap()
                     throws IOException,
                            AutomationException
The current focus map that the current tool acts upon.

Description

An ARPageLayout may contain one or more ARMap objects. The FocusARMap is the ARMap that has focus and is visible when CurrentView is in 'Data View'. Changing the FocusARMap triggers the IARControlEvents::OnFocusARMapChanged event.

Remarks

The FocusARMap property will return an error if it is set to Nothing.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
A reference to a com.esri.arcgis.controls.IARMap
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getARMapCount

int getARMapCount()
                  throws IOException,
                         AutomationException
The number of maps in the page layout's map collection.

Description

The ARMapCount property returns the number of ARMap's within the ARPageLayout.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getARMap

IARMap getARMap(int index)
                throws IOException,
                       AutomationException
The map at the specified index.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.controls.IARMap
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPageUnits

void setPageUnits(int units)
                  throws IOException,
                         AutomationException
The units of the page and all associated coordinates.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
units - A com.esri.arcgis.controls.esriARUnits constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPageUnits

int getPageUnits()
                 throws IOException,
                        AutomationException
The units of the page and all associated coordinates.

Description

The ARPageLayout's page units. Any coordinates returned from the GetExtent and ToPagePoint methods will be in PageUnits. Likewise the coordinates passed into the SetExtent and CenterAt methods need to be in PageUnits.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
A com.esri.arcgis.controls.esriARUnits constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getZoomPercent

double getZoomPercent()
                      throws IOException,
                             AutomationException
The zoom percent (100 means 1:1, 200 means twice the normal size).

Description

The ZoomPercent property indicates the current zoom factor used to view the ARPageLayout'. A ZoomPercent of 100 means viewing the ARPageLayout at a scale of 1:1, whilst a ZoomPercent of 200 means viewing the ARPageLayout at twice the normal size. To view the ARPageLayout at a specific percentage use the ZoomToPercent method.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The percent
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

zoomToPercent

void zoomToPercent(int percent)
                   throws IOException,
                          AutomationException
Magnifies the page by a percentage (100 means actual size, 200 means twice the normal size).

Description

Zoom the ARPageLayout's page to the specified percentage. A percent of 100 will display the page at 1:1 and a percent of 200 will display the page at twice the normal size. The ZoomToPercent method automatically refreshes the ARPageLayout display area.

Remarks

Use the ZoomPercent property to check the current zoom factor.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
percent - The percent (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout#zoomToWidth(), com.esri.arcgis.publishercontrols.IARPageLayout#zoomToWholePage()

zoomToWholePage

void zoomToWholePage()
                     throws IOException,
                            AutomationException
Zooms to the whole page.

Description

Changes the ARPageLayout's viewing extent to show the whole page, causing the ZoomPercent property to change. The ZoomToWholePage method automatically refreshes the ARPageLayout display area.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout#zoomToWidth(), com.esri.arcgis.publishercontrols.IARPageLayout#zoomToPercent(int)

zoomToWidth

void zoomToWidth()
                 throws IOException,
                        AutomationException
Fits the width of the page into the page layout display area.

Description

Changes the ARPageLayout's viewing extent to show the full width of the page, causing the ZoomPercent property to change. The ZoomToWidth method automatically refreshes the ARPageLayout display area.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout#zoomToWholePage(), com.esri.arcgis.publishercontrols.IARPageLayout#zoomToPercent(int)

refresh

void refresh(boolean refreshNow)
             throws IOException,
                    AutomationException
Redraws the page layout display area.

Description

The Refresh method causes screen display area of the ARPageLayout to be completely redrawn by sending a windows paint event. Use the Refresh method to ensure the ARPageLayout is displaying the current state of the data. For example, if data is in an SDE server with many users editing the data, refreshing the ARPageLayout ensures the user of a ArcReaderControl application sees any new edits.

Specify whether to immediately redraw the ARPageLayout or whether to queue up the redraw to happen at some point in the immediate future. For example, if there are many extent changes, but only the last extent needs displaying to the user pass False to the Refresh method. The paint event will be queued and the ARPageLayout will be redrawn once after the last extent change. However, if every extent change needs displaying to the user, pass True to the Refresh method. The ARPageLayout will be redrawn after every extent change.

Remarks

The Refresh method triggers the following events:

OnBeforeScreenDraw
OnAfterScreenDraw

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
refreshNow - The refreshNow (in, optional, pass false if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMapExtentType

int getMapExtentType(IARMap pMap)
                     throws IOException,
                            AutomationException
The extent type of the specified map.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
pMap - A reference to a com.esri.arcgis.controls.IARMap (in)
Returns:
A com.esri.arcgis.controls.esriARExtentType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hitTestMap

IARMap hitTestMap(int x,
                  int y)
                  throws IOException,
                         AutomationException
Returns the first map present in the page layout at the specified coordinates. If there isn't a map or the coordinates are not over a map, nothing will be returned.

Description

The HitTestMap method takes x and y screen coordinates supplied in pixels and returns the first ARMap it finds at the given location. The method returns nothing of no ARMap is found.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
x - The x (in)
y - The y (in)
Returns:
A reference to a com.esri.arcgis.controls.IARMap
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

zoomIn

void zoomIn(double factor)
            throws IOException,
                   AutomationException
Zooms in on the page layout by a factor.

Description

Zooms in on the ARPageLayout from the center of its current visible extent by a specified factor. This factor represents the ratio between the new visible extent and the previous visible extent and will cause the ZoomPercent property to change. For example, zooming in by a factor of 2, is the same as zooming out by a factor of 0.5 and vice versa.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
factor - The factor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout#centerAt(double, double), com.esri.arcgis.publishercontrols.IARPageLayout#zoomOut(double), com.esri.arcgis.publishercontrols.IARPageLayout#pan(int, double)

zoomOut

void zoomOut(double factor)
             throws IOException,
                    AutomationException
Zooms out on the page layout by a factor.

Description

Zooms out on the ARPageLayout from the center of its current visible extent by a specified factor. This factor represents the ratio between the new visible extent and the previous visible extent and will cause the ZoomPercent property to change. For example, zooming in by a factor of 2, is the same as zooming out by a factor of 0.5 and vice versa.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
factor - The factor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout#zoomIn(double), com.esri.arcgis.publishercontrols.IARPageLayout#centerAt(double, double), com.esri.arcgis.publishercontrols.IARPageLayout#pan(int, double)

pan

void pan(int direction,
         double screenPercentage)
         throws IOException,
                AutomationException
Pans the page layout by a factor in a specified direction.

Description

Pans the ARPageLayout display area in the specified direction, by a specified screen percentage. The extent of the ARPageLayout will change, but the ZoomPercent will remain the same.

A percentage of 0 will not actually offset the APPageLayout in the display area, a percentage of 25 will pan the current visible extent by a quarter of its width, and a percentage of 100 will offset the ARPageLayout in the display area completely, so that any of the ARPageLayout visible before the Pan will no longer be visible.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
direction - A com.esri.arcgis.controls.esriARDirection constant (in)
screenPercentage - The screenPercentage (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout#zoomIn(double), com.esri.arcgis.publishercontrols.IARPageLayout#centerAt(double, double), com.esri.arcgis.publishercontrols.IARPageLayout#zoomOut(double)

centerAt

void centerAt(double xCoord,
              double yCoord)
              throws IOException,
                     AutomationException
Moves the center of the page layout to the specified point.

Description

The CenterAt method positions the supplied x and y page coordinates in the center of the ARPageLayout display area. The extent of the ARPageLayout will change, but the ZoomPercent will remain the same.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
xCoord - The xCoord (in)
yCoord - The yCoord (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout#zoomIn(double), com.esri.arcgis.publishercontrols.IARPageLayout#zoomOut(double), com.esri.arcgis.publishercontrols.IARPageLayout#pan(int, double)

getWidth

double getWidth()
                throws IOException,
                       AutomationException
The width of the page.

Description

The width of the ARPageLayout's page in PageUnits.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The dWidth
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHeight

double getHeight()
                 throws IOException,
                        AutomationException
The height of the page.

Description

The height of the ARPageLayout's page in PageUnits.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The dHeight
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

toPagePoint

void toPagePoint(int x,
                 int y,
                 double[] xCoord,
                 double[] yCoord)
                 throws IOException,
                        AutomationException
Converts a point in device coordinates (typically pixels) to coordinates in page units.

Description

Converts the x and y screen coordinates supplied in pixels to x and y map coordinates. The screen coordinates are relative to the top left of the ARPageLayout display area. To obtain the offset of the display area from the top left of the ReaderControl use the IARControl::ViewTop and IARControl::ViewLeft properties. The returned page coordinates will be in PageUnits.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
x - The x (in)
y - The y (in)
xCoord - The xCoord (in/out: use single element array)
yCoord - The yCoord (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanUndoExtent

boolean isCanUndoExtent()
                        throws IOException,
                               AutomationException
Indicates if there is a page layout extent that can be undone.

Description

Whenever the extent of the page layout changes the previous extent is placed onto an extent stack. It is possible to navigate backwards and forwards through any extents in the extent stack.

CanUndoExtent indicates if there is an ARPageLayout extent that can be undone. Use the property before using the UndoExtent method.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The bCanUndo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout#undoExtent(), com.esri.arcgis.publishercontrols.IARPageLayout#redoExtent()

undoExtent

void undoExtent()
                throws IOException,
                       AutomationException
Undo to the previous page layout extent in the stack.

Description

Undo the ARPageLayout extent to the previous extent in the extent stack. Use the CanUndoExtent property to determine whether the extent can be undone.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout, com.esri.arcgis.publishercontrols.IARPageLayout#redoExtent()

isCanRedoExtent

boolean isCanRedoExtent()
                        throws IOException,
                               AutomationException
Indicates if there is a page layout extent that can be redone.

Description

Whenever the extent of the page layout changes the previous extent is placed onto an extent stack. It is possible to navigate backwards and forwards through any extents in the extent stack.

CanRedoExtent indicates if there is an ARPageLayout extent that can be redone. Use the property before using the RedoExtent method.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The bCanRedo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout#undoExtent(), com.esri.arcgis.publishercontrols.IARPageLayout#redoExtent()

redoExtent

void redoExtent()
                throws IOException,
                       AutomationException
Redo the next page layout extent in the stack.

Description

Redo the ARPageLayout extent to the next extent in the extent stack. Use the CanRedoExtent property to determine whether the extent can be redone.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARPageLayout, com.esri.arcgis.publishercontrols.IARPageLayout#undoExtent()

getInternalObject

Object getInternalObject()
                         throws IOException,
                                AutomationException
The internal ArcObjects IPageLayout object.

Description

Use the InternalObject property to access the underlying IPageLayout object. This property is always inaccessible.

Remarks

Getting the InternalObject property will return an error if no license is available and if the currently loaded document was not published with permission to access InternalObjects. Use the IARControl::HasDocumentPermission method to determine this.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
A reference to another Object (IUnknown)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCustomProperty

Object getCustomProperty()
                         throws IOException,
                                AutomationException
A property to associate data with an object.

Description

Use the CustomProperty to associate any useful data with the ARPageLayout. This is similar to a 'Tag' property, and can be use to store strings, numbers and objects.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCustomProperty

void setCustomProperty(Object pVal)
                       throws IOException,
                              AutomationException
A property to associate data with an object.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
pVal - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTitle

void setTitle(String currentTitle)
              throws IOException,
                     AutomationException
The title in the page layout. Not all page layouts have a title that can be changed, use the HasTitle method to check this.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
currentTitle - The currentTitle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTitle

String getTitle()
                throws IOException,
                       AutomationException
The title in the page layout. Not all page layouts have a title that can be changed, use the HasTitle method to check this.

Description

This property can be used to get and set the ARPageLayout title, provided a PMF has been Published with a Published Map Title. A Published Map Title can be added to a PMF prior to publication via the Publisher Settings menu on the Publisher extension toolbar in ArcMap. If a the PMF doesn't have a Published Map title, attempting to access the title using this property will return a custom error.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The currentTitle
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasTitle

boolean isHasTitle()
                   throws IOException,
                          AutomationException
Indicates if the page layout has a title that can be changed.

Description

This property determines whether the currently loaded document has been published with a Published Map title. Use this property before using ARPageLayout::Title property. The ability to publish a PMF with a Published Map title was added as new functionality for the 9.2 release.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The hasTitle
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.