English

How To: Move View graphics to another ArcView session or to another machine

Procedure

Question:

I want to copy a theme that has a set of self made graphic shapes and text
attached to the theme. The problem is that the set of graphics was created and attached to the theme, so creating a shapefile or copying the directory does not copy the extra graphics. How can I move those graphics to another session of ArcView, or to another computer that uses the theme?

Cause:

The shapefile format does not support GraphicShapes nor GraphicText.
Graphicshapes and GraphicText are project specific.

Answer:

There are two ways to save and load text in a View.

1.New Sample extension "Load and Save Graphic Labels" (gtext.avx) (included
with AV3.1 and AV3.2)

2.Since the shapefile format does not support GraphicText nor GraphicShape
objects, you must use Avenue to store them into an ODB file and then move this file. See the help menu topic "ODB" for more information. You can collect the graphic objects as a list and add that list as one object to your new ODB file, or you can add each graphic as its own object to the ODB file. The following example illustrates the latter:

In this example View1 contains the graphics to be moved graphics and View 2 is the destination for the graphics:

'--- Sample ODB WRITE script
theView = av.GetProject.FindDoc("View1")
theGraphicList = theView.GetGraphics
myODB = ODB.Make("C:\mynew.odb".AsFileName) 'or use FileDialog.Put
for each aGraphic in theGraphicList
myODB.Add(aGraphic)
end
myODB.Commit
'--- End of Sample ODB WRITE script

Put the "mynew.odb" file onto a floppy and move it to wherever you are moving the shapefile.

Now when you are in the new project, run the following script:

'--- Sample ODB READ script
theView = av.GetProject.FindDoc("View2")
theGraphicList = theView.GetGraphics
myODB = ODB.Open("C:\mynew.odb".AsFileName) 'or use FileDialog.Show
theCount = myODB.Count
for each i in 0..(theCount - 1)
theGraphicList.Add(myODB.Get(i))
end
theView.Invalidate
'--- End of Sample ODB READ script
The graphics contained in your ODB file will be added to the GraphicList of the new View. If you want, you could attach these graphics to the appropriate theme.

Notes:
If you want to move the graphics to a new View or a new Project in the same ArcView session, you can select the graphics with the pointer tool, then choose "Edit | Copy Graphics". When in the new View, select the "Edit | Paste" menu item.