|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IMapDocument
Provides access to members that control the reading and writing of map document files.
The IMapDocument interface provides properties and methods for reading map document files (*.mxd, *mxt, *.pmf) and writing and saving changes to map document files (*.mxd). However, since it is not tied to the ArcMap application, application-specific functionality in the MapDocument will not be persisted. Examples of application specific functionality are toolbar settings, UI customizations, VBA projects, and ArcMap graphs. For desktop developers who need to use this functionality, the MxDocument interface located in the ArcMapUI library is a better choice.
Method Summary | |
---|---|
void |
close()
Close the map document. |
void |
esri_new(String sDocument)
Creates and opens a new map document in preparation for the contents to be retrieve or updated. |
IActiveView |
getActiveView()
The ActiveView of the map document. |
String |
getDocumentFilename()
The map document filename that the MapDocument coclass is linked to. |
int |
getDocumentType()
The type of map document currently loaded in the object. |
int |
getDocumentVersion()
Indicates if the version of the map document is compatible with the current version of software. |
ILayer |
getLayer(int mapIndex,
int layerIndex)
The Layer object at the specified index for the specified map. |
IMap |
getMap(int mapIndex)
The Map object at the specified index. |
int |
getMapCount()
The number of Map objects contained within the map document. |
IPageLayout |
getPageLayout()
The PageLayout object. |
IPrinter |
getPrinter()
The printer object. |
IPicture |
getThumbnail()
The thumbnail stored in the map document. |
void |
getVersionInfo(boolean[] versionInfoMissing,
int[] lMajor,
int[] lMinor,
int[] lRevision,
int[] lBuild)
Retrieve the detailed version information of the map document. |
boolean |
isMapDocument(String sDocument)
Indicates if the map document is a valid map document. |
boolean |
isPasswordProtected(String sDocument)
Indicates if the map document is protected by a passsword. |
boolean |
isPresent(String sDocument)
Indicates if the map document is present. |
boolean |
isReadOnly(String sDocument)
Indicates if the map document is read only. |
boolean |
isRestricted(String sDocument)
Indicates if the use of the map document is restricted to certain applications. |
boolean |
isUsesRelativePaths()
Indicates if the data in the map document is referenced using relative paths. |
void |
open(String sDocument,
String bsPassword)
Open the map document in preparation for the contents to be retrieve or updated. |
void |
replaceContents(IMxdContents pObject)
Replace the contents of the map document. |
void |
save(boolean bUseRelativePaths,
boolean bCreateThumnbail)
Save the contents of the map document to the bound file. |
void |
saveAs(String sDocument,
boolean bUseRelativePaths,
boolean bCreateThumnbail)
Save the contents of the map document to the specified file name. |
void |
setActiveView(IActiveView pActiveView)
Set the ActiveView content of the map document. |
Method Detail |
---|
boolean isMapDocument(String sDocument) throws IOException, AutomationException
sDocument
- The sDocument (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isPresent(String sDocument) throws IOException, AutomationException
sDocument
- The sDocument (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isReadOnly(String sDocument) throws IOException, AutomationException
sDocument
- The sDocument (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isRestricted(String sDocument) throws IOException, AutomationException
sDocument
- The sDocument (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isPasswordProtected(String sDocument) throws IOException, AutomationException
sDocument
- The sDocument (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void esri_new(String sDocument) throws IOException, AutomationException
sDocument
- The sDocument (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void open(String sDocument, String bsPassword) throws IOException, AutomationException
Opens the specified MapDocument in preparation for reading it. The MapDocument can be an an ArcMap document (*.mxd), ArcMap template (*.mxt), Published Map File (*.pmf) or Layer File (*.lyr). The MapDocument will be cached so no other users will be able to access the MapDocument until it has been closed.
Before using the Open methods check whether the specified document IsPresent, IsRestricted, IsMapDocument and IsPasswordProtected. If the MapDocument is password protected, specify the password in the Open method.
If a Layer File (*.lyr) is opened a portriat PageLayout containing one Map with the layer added to it is created.
When opening or creating a map document with the IMapDocument Open() or New() methods, you should always make subsequent calls to IActiveView::Activate() in order to properly initialize the display of the PageLayout and Map objects. Call Activate() once for the PageLayout and once for each Map you will be working with. If your application has a user interface, you should call Activate() with the hWnd of the application's client area. If your application runs in the background and has no windows, you can always get a valid hWnd from the GDI GetDesktopWindow() function, part of the Win32 API.
sDocument
- The sDocument (in)bsPassword
- The bsPassword (in, optional, pass if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.String getDocumentFilename() throws IOException, AutomationException
Returns the DocumentFilename of the last map document that was successfully opened with the Open method. An empty string will be returned if no document has been opened.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getDocumentType() throws IOException, AutomationException
Returns the type of MapDocument that is open.
If a map template (*.mxt) is open esriMapDocumentTypeMxd will be returned.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isUsesRelativePaths() throws IOException, AutomationException
Determines whether the MapDocument that is open stores paths to data sources as relative path names (relative to the MapDocument) or absolute path names.
If a Published Map File (*.pmf) is Open that was published with ArcGIS 8.x or a Layer File (*.lyr) is Open the UsesRelativePaths will always return false.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getDocumentVersion() throws IOException, AutomationException
Returns whether the version of the MapDocument that is open is compatible with the current software accessing the document.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IPageLayout getPageLayout() throws IOException, AutomationException
Returns the PageLayout of the MapDocument that is open.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IActiveView getActiveView() throws IOException, AutomationException
Returns the ActiveView of the MapDocument that is open. This can can be a PageLayout or a Map. If a map document (*.mxd) is Open the ActiveView will be the map or page layout that was the ActiveView when the document was last saved. If a Published Map File (*.pmf) is Open the ActivewView will be the default view specified at the time the document was published. If a layer file (*.lyr) is Open the ActiveView will be a map.
When working with the IActiveView interface on a MapDocument object, you should always first call IActiveView::Activate() in order to properly initialize the display of the PageLayout or Map object. If your application has a user interface, you should call Activate() with the hWnd of the application's client area. If your application runs in the background and has no windows, you can always get a valid hWnd from the GDI GetDesktopWindow() function, part of the Win32 API.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getMapCount() throws IOException, AutomationException
Returns the number of map's within the PageLayout.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IMap getMap(int mapIndex) throws IOException, AutomationException
mapIndex
- The mapIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ILayer getLayer(int mapIndex, int layerIndex) throws IOException, AutomationException
mapIndex
- The mapIndex (in)layerIndex
- The layerIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IPrinter getPrinter() throws IOException, AutomationException
The Printer stored in the MapDocument. If a map document (*.mxd) or map template (*.mxt) is Open the Printer returned will be the printer stored in the document when it was last saved. If no printer is saved in the document the Printer will be nothing. If a Published Map File (*.pmf) or layer file (*.lyr) is Open the Printer will be nothing. Creating a New MapDocument will set the Printer to nothing.
If the Printer cannot be found on the system, a message box will display indicating that the printer is not installed. The MessageLogger can be used to switch this message off.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IPicture getThumbnail() throws IOException, AutomationException
Returns the Thumbnail stored in the MapDocument that is open. Not every MapDocument has a thumbnail. The Thumnail is a small bitmap picture representation of the contents of the MapDocument.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void close() throws IOException, AutomationException
Closes the MapDocument. This sets the DocumentFilename property to an empty string and resets the ActiveView, PageLayout, Map, MapCount, Printer and Thumbnail properties.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void getVersionInfo(boolean[] versionInfoMissing, int[] lMajor, int[] lMinor, int[] lRevision, int[] lBuild) throws IOException, AutomationException
Returns the major, minor, revision and build numbers of the MapDocument if the map document version information is present.
versionInfoMissing
- The versionInfoMissing (in/out: use single element array)lMajor
- The lMajor (in/out: use single element array)lMinor
- The lMinor (in/out: use single element array)lRevision
- The lRevision (in/out: use single element array)lBuild
- The lBuild (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void replaceContents(IMxdContents pObject) throws IOException, AutomationException
Replaces the contents of the MapDocument with the contents of the specified Map, PageLayout, MapControl or PageLayoutControl. Before using the ReplaceContents method a New MapDocument must be created or an existing MapDocument must be Open.
If a MapControl is passed to the ReplaceContents method the MapDocument will be replaced with the IMapControl2::Map. Likewise, if a PageLayoutControl is passed to the ReplaceContents method the MapDocument will be replaced with the IPageLayoutControl::PageLayout.
If the MapDocument contents is replaced with the contents of a Map or MapControl a portriat PageLayout containing the map will be created.
pObject
- A reference to a com.esri.arcgis.carto.IMxdContents (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setActiveView(IActiveView pActiveView) throws IOException, AutomationException
Use this method to set the ActiveView of the MapDocument. Use the PageLayout and Map properties to specify the ActiveView.
pActiveView
- A reference to a com.esri.arcgis.carto.IActiveView (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void save(boolean bUseRelativePaths, boolean bCreateThumnbail) throws IOException, AutomationException
Saves the MapDocument that is Open and any changes that have been made to it. Before using the Save method check whether the document IsReadOnly. If a MapDocument is read only use the SaveAs method to create a new MapDocument. By default MapDocuments are saved without relative paths and thumbnails.
Specifying thumbnails as True can delay saving complex map documents as the view of the document is generated for the thumbnail. However, thumbnails are guides for users browsing map documents using ArcCatalog and Windows Explorer.
If a Published Map File (*.pmf) or Layer File (*.lyr) is Open use the SaveAs method to create a new Map Document (*.mxd), as attempting to use the Save method will return an error.
bUseRelativePaths
- The bUseRelativePaths (in, optional, pass true if not required)bCreateThumnbail
- The bCreateThumnbail (in, optional, pass true if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void saveAs(String sDocument, boolean bUseRelativePaths, boolean bCreateThumnbail) throws IOException, AutomationException
Saves the MapDocument that is Open and any changes that have been made to it to a new MapDocument with the specified filename. The filename that is supplied must be valid and inlcude the *.mxd extension. By default MapDocuments are saved without relative paths and thumbnails.
Specifying thumbnails as True can delay saving complex map documents as the view of the document is generated for the thumbnail. However, thumbnails are guides for users browsing map documents using ArcCatalog and Windows Explorer.
The SaveAs method cannot be used to save the MapDocument as an earlier ArcGIS 8.3 map document.
sDocument
- The sDocument (in)bUseRelativePaths
- The bUseRelativePaths (in, optional, pass true if not required)bCreateThumnbail
- The bCreateThumnbail (in, optional, pass true if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |