/3.1 (Extension.1 Name: "Single Cell Editor" Dependencies: "$AVBIN/avdlog.dll\n$AVEXT/spatial.avx\n" FirstRootClassName: "AVDLog" Roots: 2 Roots: 100 Roots: 102 Roots: 103 Roots: 104 Roots: 105 Roots: 106 Roots: 107 Roots: 108 Roots: 109 Roots: 110 Roots: 111 Roots: 112 Roots: 113 Roots: 114 Roots: 115 Roots: 116 Roots: 117 Roots: 118 Roots: 119 Roots: 120 Roots: 121 Roots: 122 Version: 31 About: "This extension allows for the editing of single cell values in a Grid." CanUnloadScript: 123 UnloadScript: 124 InstallScript: 125 UninstallScript: 126 ExtVersion: 1 ) (AVDLog.2 Name: "gred" X: 82 Y: 175 W: 357 H: 501 ConstrainedControlNames: 3 ConstrainedControlNames: 4 ConstrainedControlNames: 5 ConstrainedControlNames: 6 ConstrainedControlNames: 7 ConstrainedControlNames: 8 ConstrainedControlNames: 9 ConstrainedControlNames: 10 ConstrainedControlNames: 11 ConstrainedControlNames: 12 ConstrainedControlNames: 13 ConstrainedControlNames: 14 ConstrainedControlNames: 15 ConstrainedControlNames: 16 ConstrainedControlNames: 17 Constraints: 18 Constraints: 19 Constraints: 20 Constraints: 21 Constraints: 22 Constraints: 23 Constraints: 24 Constraints: 25 Constraints: 26 Constraints: 27 Constraints: 28 Constraints: 29 Constraints: 30 Constraints: 31 Constraints: 32 Server: 33 ControlPanel: 34 Title: "Single Cell Editor" EscapeEnabled: 1 Resizable: 1 AlwaysOnTop: 1 HasTitleBar: 1 Closeable: 1 Activate: "gred.activate" Close: "gred.close" Open: "gred.open" DefaultButton: 99 ) (AVStr.3 S: "grstat.lbt_tl" ) (AVStr.4 S: "grstat.lbt_l" ) (AVStr.5 S: "grstat.lbt_bl" ) (AVStr.6 S: "grstat.lbt_t" ) (AVStr.7 S: "grstat.lbt_c" ) (AVStr.8 S: "grstat.lbt_b" ) (AVStr.9 S: "grstat.lbt_tr" ) (AVStr.10 S: "grstat.lbt_r" ) (AVStr.11 S: "grstat.lbt_br" ) (AVStr.12 S: "grshp.lbt_nodata" ) (AVStr.13 S: "grstat.lbt_stat" ) (AVStr.14 S: "gred.lbt_create" ) (AVStr.15 S: "gred.lbt_exit" ) (AVStr.16 S: "gred.btn_fn" ) (AVStr.17 S: "grshp.tol_sel" ) (Numb.18 N: 85.00000000000000 ) (Numb.19 N: 85.00000000000000 ) (Numb.20 N: 85.00000000000000 ) (Numb.21 N: 85.00000000000000 ) (Numb.22 N: 85.00000000000000 ) (Numb.23 N: 85.00000000000000 ) (Numb.24 N: 85.00000000000000 ) (Numb.25 N: 85.00000000000000 ) (Numb.26 N: 85.00000000000000 ) (Numb.27 N: 85.00000000000000 ) (Numb.28 N: 85.00000000000000 ) (Numb.29 N: 101.00000000000000 ) (Numb.30 N: 85.00000000000000 ) (Numb.31 N: 101.00000000000000 ) (Numb.32 N: 85.00000000000000 ) (Nil.33 ) (CPanel.34 Child: 35 Child: 40 Child: 70 Child: 74 Child: 87 Child: 89 Child: 91 ResBox: 92 ResBox: 93 ResBox: 94 ResBox: 95 ResBox: 96 ResBox: 97 ResBox: 98 Listening: 1 ) (CPanel.35 InternalName: "gred.cpa_dummy" ObjectTag: 33 Child: 36 Child: 37 Constraints: 0x55 ResBox: 38 ResBox: 39 Label: "aControlPanel4" VisibleBorder: 1 Listening: 1 ) (AVCBBox.36 InternalName: "gred.cbx_views" ObjectTag: 33 NextControl: 33 ContentKind: 4 Constraints: 0x55 Listening: 1 Label: "View:" Select: "gred.cbx_views.select" ) (AVCBBox.37 InternalName: "gred.cbx_themes" ObjectTag: 33 NextControl: 33 ContentKind: 4 Constraints: 0x55 Listening: 1 Label: "Grid Theme:" Select: "gred.cbx_themes.select" ) (RectD.38 Left: 42.00000000000000 Top: 205.00000000000000 Right: 176.00000000000000 Bottom: 51.00000000000000 ) (RectD.39 Left: 181.00000000000000 Top: 206.00000000000000 Right: 357.00000000000000 Bottom: 51.00000000000000 ) (CPanel.40 InternalName: "grshp.cpa_shp" ObjectTag: 33 Child: 41 Child: 60 Child: 61 Child: 63 Child: 64 Constraints: 0x55 ResBox: 65 ResBox: 66 ResBox: 67 ResBox: 68 ResBox: 69 Label: " 2) New Cell Value " VisibleBorder: 1 Listening: 1 ) (CPanel.41 InternalName: "gred.cpa_neighbor" ObjectTag: 33 Child: 42 Child: 43 Child: 44 Child: 45 Child: 46 Child: 47 Child: 48 Child: 49 Child: 50 Constraints: 0x55 ResBox: 51 ResBox: 52 ResBox: 53 ResBox: 54 ResBox: 55 ResBox: 56 ResBox: 57 ResBox: 58 ResBox: 59 Label: " Neighborhood Stats " VisibleBorder: 1 Listening: 1 ) (LButn.42 InternalName: "grstat.lbt_tl" Tag: "TL" ObjectTag: 33 Label: "TL" Click: "grstat.lbt_all.click" ) (LButn.43 InternalName: "grstat.lbt_l" Tag: "L" ObjectTag: 33 Label: "L" Click: "grstat.lbt_all.click" ) (LButn.44 InternalName: "grstat.lbt_bl" Tag: "BL" ObjectTag: 33 Label: "BL" Click: "grstat.lbt_all.click" ) (LButn.45 InternalName: "grstat.lbt_t" Tag: "T" ObjectTag: 33 Label: "T" Click: "grstat.lbt_all.click" ) (LButn.46 InternalName: "grstat.lbt_c" Tag: "CENTER" ObjectTag: 33 Label: "CENTER" Click: "grstat.lbt_all.click" ) (LButn.47 InternalName: "grstat.lbt_b" Tag: "B" ObjectTag: 33 Label: "B" Click: "grstat.lbt_all.click" ) (LButn.48 InternalName: "grstat.lbt_tr" Tag: "TR" ObjectTag: 33 Label: "TR" Click: "grstat.lbt_all.click" ) (LButn.49 InternalName: "grstat.lbt_r" Tag: "R" ObjectTag: 33 Label: "R" Click: "grstat.lbt_all.click" ) (LButn.50 InternalName: "grstat.lbt_br" Tag: "BR" ObjectTag: 33 Label: "BR" Click: "grstat.lbt_all.click" ) (RectD.51 Left: 18.00000000000000 Top: 39.00000000000000 Right: 92.00000000000000 Bottom: 19.00000000000000 ) (RectD.52 Left: 18.00000000000000 Top: 63.00000000000000 Right: 92.00000000000000 Bottom: 43.00000000000000 ) (RectD.53 Left: 18.00000000000000 Top: 86.00000000000000 Right: 92.00000000000000 Bottom: 66.00000000000000 ) (RectD.54 Left: 96.00000000000000 Top: 39.00000000000000 Right: 170.00000000000000 Bottom: 19.00000000000000 ) (RectD.55 Left: 96.00000000000000 Top: 62.00000000000000 Right: 170.00000000000000 Bottom: 42.00000000000000 ) (RectD.56 Left: 96.00000000000000 Top: 86.00000000000000 Right: 170.00000000000000 Bottom: 66.00000000000000 ) (RectD.57 Left: 173.00000000000000 Top: 39.00000000000000 Right: 247.00000000000000 Bottom: 19.00000000000000 ) (RectD.58 Left: 173.00000000000000 Top: 63.00000000000000 Right: 247.00000000000000 Bottom: 43.00000000000000 ) (RectD.59 Left: 173.00000000000000 Top: 86.00000000000000 Right: 247.00000000000000 Bottom: 66.00000000000000 ) (AVCBBox.60 InternalName: "grstat.cbx_stattypes" ObjectTag: 33 NextControl: 33 ContentKind: 4 Constraints: 0x55 Listening: 1 Label: "Stat Type:" Select: "grstat.cbx_stattypes.select" ) (TextLine.61 InternalName: "grshp.txl_new" ObjectTag: 33 Text: "No Data" Label: "New Value:" Constraints: 0x55 Listening: 1 TextType: 62 Apply: "grshp.txl_new.apply" Changed: "grshp.txl_new.changed" NextControl: 33 ) (AVEnum.62 Name: "TEXTLINE_TYPE_REAL" ) (LButn.63 InternalName: "grshp.lbt_nodata" Help: "Set new value to 'No Data'//Set new value to 'No Data'" Tag: "No Data" ObjectTag: 33 Label: "No Data" Click: "grshp.lbt_nodata.click" ) (LButn.64 InternalName: "grstat.lbt_stat" Help: " " Tag: "STAT" ObjectTag: 33 Label: "STAT" Click: "grstat.lbt_all.click" ) (RectD.65 Left: 36.00000000000000 Top: 164.00000000000000 Right: 299.00000000000000 Bottom: 70.00000000000000 ) (RectD.66 Left: 13.00000000000000 Top: 175.00000000000000 Right: 238.00000000000000 Bottom: 50.00000000000000 ) (RectD.67 Left: 41.00000000000000 Top: 39.00000000000000 Right: 193.00000000000000 Bottom: 19.00000000000000 ) (RectD.68 Left: 195.00000000000000 Top: 39.00000000000000 Right: 268.00000000000000 Bottom: 19.00000000000000 ) (RectD.69 Left: 243.00000000000000 Top: 68.00000000000000 Right: 316.00000000000000 Bottom: 48.00000000000000 ) (CPanel.70 InternalName: "grshp.cpa_sc" ObjectTag: 33 Child: 71 Constraints: 0x55 ResBox: 73 Label: " Single Cell Values " VisibleBorder: 1 Listening: 1 ) (AVLBox.71 InternalName: "grshp.lbx_singlecell" ObjectTag: 33 NextControl: 33 ContentKind: 4 Constraints: 0x55 ColumnCount: 1 FieldNamesVisible: 1 Listening: 1 VerticalScroll: 1 Select: "grshp.lbx_singecell.select" SelectionStyle: 72 ) (AVEnum.72 Name: "LISTBOX_SELECTION_SINGLEROW" ) (RectD.73 Left: 13.00000000000000 Top: 143.00000000000000 Right: 322.00000000000000 Bottom: 18.00000000000000 ) (CPanel.74 InternalName: "gred.cpa_new" ObjectTag: 33 Child: 75 Child: 76 Child: 78 Child: 80 Child: 81 Constraints: 0x65 ResBox: 82 ResBox: 83 ResBox: 84 ResBox: 85 ResBox: 86 Label: " New Grid Theme " VisibleBorder: 1 Listening: 1 ) (LButn.75 InternalName: "gred.lbt_create" Tag: "3) Create New Grid Theme" ObjectTag: 33 Label: "3) Create New Grid Theme" Click: "gred.lbt_create.click" ) (Butn.76 InternalName: "gred.btn_fn" ObjectTag: 33 Icon: 77 Click: "gred.btn_fn.click" ) (AVIcon.77 Name: "FileBrowser" Res: "Icons.FileBrowser" ) (TextLine.78 InternalName: "gred.txl_fn" ObjectTag: 33 Text: "d:\\temp\\scgr6" Label: "FileName:" Constraints: 0x65 Listening: 1 ReadOnly: 1 TextType: 79 NextControl: 33 ) (AVEnum.79 Name: "TEXTLINE_TYPE_ALL" ) (AVCBox.80 InternalName: "gred.chk_savetmp" ObjectTag: 33 Listening: 1 Label: "Save temp theme" Constraints: 0x55 ) (LButn.81 InternalName: "gred.lbt_exit" Tag: "EXIT" ObjectTag: 33 Label: "EXIT" Click: "gred.lbt_exit.click" ) (RectD.82 Left: 116.00000000000000 Top: 73.00000000000000 Right: 255.00000000000000 Bottom: 48.00000000000000 ) (RectD.83 Left: 295.00000000000000 Top: 40.00000000000000 Right: 319.00000000000000 Bottom: 18.00000000000000 ) (RectD.84 Left: 19.00000000000000 Top: 40.00000000000000 Right: 293.00000000000000 Bottom: 20.00000000000000 ) (RectD.85 Left: 4.00000000000000 Top: 71.00000000000000 Right: 111.00000000000000 Bottom: 47.00000000000000 ) (RectD.86 Left: 258.00000000000000 Top: 73.00000000000000 Right: 323.00000000000000 Bottom: 48.00000000000000 ) (TextLine.87 InternalName: "grshp.txl_current" ObjectTag: 33 Label: "1) Current Cell Value:" Constraints: 0x55 Listening: 1 ReadOnly: 1 TextType: 88 NextControl: 33 ) (AVEnum.88 Name: "TEXTLINE_TYPE_REAL" ) (Tool.89 InternalName: "grshp.tol_sel" Help: "Select Current Cell//Select Current Cell" ObjectTag: 33 Icon: 90 Cursor: "Cursors.Select" Apply: "grshp.tol_sel.apply" ) (AVIcon.90 Name: "Select" Res: "Icons.Select" ) (TextLabel.91 InternalName: "gred.txt_msg" Tag: " " ObjectTag: 33 Constraints: 0x55 Label: "Click on the desired\ngrid cell to apply\nthe new value." Listening: 1 ) (RectD.92 Left: -27.00000000000000 Top: 38.00000000000000 Right: 399.00000000000000 Bottom: -41.00000000000000 ) (RectD.93 Left: 12.00000000000000 Top: 256.00000000000000 Right: 347.00000000000000 Bottom: 83.00000000000000 ) (RectD.94 Left: 12.00000000000000 Top: 411.00000000000000 Right: 347.00000000000000 Bottom: 258.00000000000000 ) (RectD.95 Left: 12.00000000000000 Top: 493.00000000000000 Right: 347.00000000000000 Bottom: 411.00000000000000 ) (RectD.96 Left: 11.00000000000000 Top: 71.00000000000000 Right: 206.00000000000000 Bottom: 51.00000000000000 ) (RectD.97 Left: 208.00000000000000 Top: 72.00000000000000 Right: 235.00000000000000 Bottom: 49.00000000000000 ) (RectD.98 Left: 244.00000000000000 Top: 88.00000000000000 Right: 337.00000000000000 Bottom: 42.00000000000000 ) (Nil.99 ) (Butn.100 Help: "Single Cell Editor//Single Cell Editor" Icon: 101 Click: "gred.rundialog" ) (AVIcon.101 Name: "sceditor.bmp" Data: 4e442049 6d616765 00010010 00100000 Data: 0300c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c00000ff 0000ff00 00ff0000 Data: ff0000ff c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c000 00ff0000 ff0000ff 0000ffc0 Data: c0c00000 ff0000ff c0c0c0c0 c0c0c0c0 Data: c00000ff 0000ffc0 c0c0c0c0 c0c0c0c0 Data: 0000ff00 00ffc0c0 c0c0c0c0 0000ff00 Data: 00ff0000 ff0000ff c0c0c0c0 c0c0c0c0 Data: c00000ff 0000ffc0 c0c0c0c0 c00000ff Data: 0000ffc0 c0c0c0c0 c0c0c0c0 c0c0c000 Data: 00ffc0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c00000ff 0000ffc0 c0c0c0c0 c00000ff Data: 0000ffc0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c000 00ff0000 Data: ff0000ff c0c0c0c0 c0c0c0c0 c00000ff Data: 0000ffc0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c00000ff 0000ff00 00ffc0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c00000ff Data: 0000ffc0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c00000 ff0000ff c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c00000ff Data: 0000ffc0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c00000 ff0000ff c0c0c0c0 c0c0c0c0 Data: c00000ff 0000ffc0 c0c0c0c0 c00000ff Data: 0000ffc0 c0c0c0c0 c0c0c0c0 c0c0c000 Data: 00ff0000 ff0000ff c0c0c0c0 c0c0c0c0 Data: c00000ff 0000ffc0 c0c0c0c0 c0c0c0c0 Data: 0000ff00 00ffc0c0 c0c0c0c0 0000ff00 Data: 00ffc0c0 c00000ff 0000ff00 00ff0000 Data: ff0000ff c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c000 00ff0000 ff0000ff 0000ffc0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0 Data: c0c00000 00000001 00180007 00200001 Data: 00020000 00000000 0000 ) (Script.102 Name: "gred.activate" SourceCode: "'--\n'-- gred.activate\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\n'msgbox.info(script.the.getname++\"is running...\",date.now.asstring)\n\nd = self\nactdoc = d.getactivedoc\nif(actdoc.is(dialog)) then return nil end\n\nif(actdoc.is(view).not) then \n if(actdoc.is(project).not) then\n actdoc.getwin.close\n end\n d.findbyname(\"gred.cbx_views\").getcurrentvalue.getwin.open\nend\n\n\n\n\n\n" ) (Script.103 Name: "gred.btn_fn.click" SourceCode: "'--\n'-- gred.btn_fn.click\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nd = self.getdialog\n\nnewgrfn = d.findbyname(\"gred.txl_fn\").gettext.asfilename\nnewfn = sourcemanager.putdataset(grid,\"New Grid FileName\",newgrfn,true)\nif(newfn <> nil) then\n d.findbyname(\"gred.txl_fn\").settext(newfn.asstring)\nend\n\n" ) (Script.104 Name: "gred.cbx_themes.select" SourceCode: "'--\n'-- gred.cbx_themes.select\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nd = self.getdialog\nv = d.findbyname(\"gred.cbx_views\").getcurrentvalue\ngthm = self.getcurrentvalue\n\nfor each thm in v.getthemes\n if(thm.getname = gthm.getname) then\n gthm.setvisible(true)\n gthm.setactive(true)\n else\n gthm.setvisible(false)\n gthm.setactive(false)\n end\nend\n \n'v.getdisplay.zoomtorect(gthm.returnextent.scale(1.1))\nav.processallinvals\n\n\n\n\n\n\n\n\n\n\n\n\n\n" ) (Script.105 Name: "gred.cbx_views.select" SourceCode: "'--\n'-- gred.cbx_views.select\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nd = self.getdialog\n\ngrdlist = {}\nv = self.getcurrentvalue\n\nif(d.findbyname(\"gred.chk_savetmp\").isselected.not) then\n fthm = v.findtheme(\"Single Cell\")\n if(fthm <> nil) then\n v.deletetheme(fthm)\n fthm = nil\n av.processallinvals\n end\n av.purgeobjects\n av.run(\"Project.Save\",\"\")\n \n tempfiles = av.getproject.getworkdir.readfiles(\"sctmp*\")\n if(tempfiles.isempty.not) then\n for each f in tempfiles\n if(file.candelete( f)) then\n file.delete(f)\n end\n end\n end\nend\n\nfor each adoc in av.getproject.getdocs\n if(adoc.is(view)) then\n if(adoc.getname = v.getname) then\n adoc.getwin.open\n else \n adoc.getwin.close\n end\n end\nend\n\n\nfor each thm in v.getthemes\n if(thm.is(gtheme)) then\n grdlist.add(thm) \n end \nend \n\nactthms = v.getactivethemes\nactgthm = nil\nfor each gthm in grdlist\n if(gthm.isactive) then\n actgthm = gthm\n break\n end\nend\nif(actgthm = nil) then\n actgthm = grdli st.get(0)\nend\n\nthmcbx = d.findbyname(\"gred.cbx_themes\")\nthmcbx.definefromlist(grdlist)\nthmcbx.findbyvalue(actgthm)\nthmcbx.selectcurrent\nthmcbx.select\n" ) (Script.106 Name: "gred.close" SourceCode: "'--\n'-- gred.close\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nd = self\n\nv = d.findbyname(\"gred.cbx_views\").getcurrentvalue\ngthm = d.findbyname(\"gred.cbx_themes\").getcurrentvalue\ngthm.clearselection\n\n \nfor each cnt in d.findbyclass(control)\n cnt.setobjecttag(nil)\n if(cnt.is(combobox)) then\n cnt.definefromlist({})\n elseif(cnt.is(listbox)) then\n cnt.definefromlist({})\n end \nend \nd.setserver(nil)\nav.purgeobjects\nav.run(\"Project.Save\",\"\")\n\nif(d.findbyname(\"gred.chk_savetmp\").isselected.not) then\n fthm = v.findtheme(\"Single Cell\")\n if(fthm <> nil) then\n v.deletetheme(fthm)\n fthm = nil\n av.processallinvals\n end\n av.purgeobjects\n av.run(\"Project.Save\",\"\")\n \n tempfiles = av.getproject.getworkdir.readfiles(\"sctmp*\")\n if(tempfiles.isempty.not) then\n for each f in tempfiles\n if(file.candelete(f)) then\n file.delete(f)\n end\n end\n end\nend\n\n'v.getdisplay.zoomtorect(gthm.returnextent.scale(1.1))\nv.getwin.activate\nav.findgui(\"view\").gettoolbar.selectdefault\nav.findgui(\"vi ew\").activate\nav.purgeobjects\nav.run(\"Project.Save\",\"\")\n\n\n\n\n" ) (Script.107 Name: "gred.hasgridtheme" SourceCode: "'--\n'-- gred.hasgridtheme\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nv = self\nfoundgrid = false\n\nfor each thm in v.getthemes\n if(thm.is(gtheme)) then \n foundgrid = true\n break\n end \nend \n\nreturn foundgrid" ) (Script.108 Name: "gred.lbt_create.click" SourceCode: "'--\n'-- gred.lbt_create.click\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n'msgbox.info(script.the.getname++\"is running...\",date.now.asstring)\n\nd = self.getdialog\n\nv = d.findbyname(\"gred.cbx_views\").getcurrentvalue\ngthm = d.findbyname(\"gred.cbx_themes\").getcurrentvalue\ngr = gthm.getgrid\n\nfthm = v.findtheme(\"Single Cell\")\nif(fthm = nil) then return nil end\nftb = fthm.getftab \nfthm.clearselection\nvalfld = ftb.findfield(\"NewValNum\") \ntmpgr = Grid.MakeFromFTab(ftb,prj.makenull,valfld,{gr.getcellsize,gr.getexte nt})\ntmpgr = tmpgr.merge({gr})\nnewgr = (tmpgr = -999999.AsGrid).SetNull(tmpgr)\nif((gr.isinteger) and (newgr.isinteger.not)) then\n newgr = newgr.int \nelseif((gr.isinteger.not) and (newgr.isinteger)) then\n newgr = newgr.float\nend\n\nnewgrfn = d.findbyname(\"gred.txl_fn\").gettext.asfilename\nnewgr.savedataset(newgrfn)\n\nnewgthm = gtheme.make(newgr)\nif(newgthm <> nil) then \n newgthm.setactive(true)\n newgthm.setvisible(true)\n newgthm.setcomments(\"Created on\"++date.now.asstring+NL+\"by Single Cell Editor extensio n.\")\n v.addtheme(newgthm)\n gthm.setactive(false)\n av.processallinvals\nelse\n msgbox.warning(\"Unable to make final output Grid...\",newgthm.getname)\nend\n\nav.run(\"gred.open\",d)\n" ) (Script.109 Name: "gred.lbt_exit.click" SourceCode: "'--\n'-- gred.lbt_exit.click\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nself.getdialog.close" ) (Script.110 Name: "gred.open" SourceCode: "'--\n'-- gred.open\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nd = self\n\nd.findbyname(\"gred.cbx_views\").select\n\nfor each cnt in d.findbyclass(control)\n cnt.setobjecttag(nil)\n if(cnt.is(textline)) then\n cnt.settext(\"\")\n elseif(cnt.is(listbox)) then\n cnt.definefromlist({}) \n elseif(cnt.is(labelbutton)) then\n cnt.setlabel(cnt.gettag) \n end \nend \nd.setserver(nil)\nav.purgeobjects\n\ntmpfn = av.getproject.getworkdir.maketmp(\"scgr\",\"\")\nd.findbyname(\"gred.txl_fn\").settext(tmpfn.asstring)\n\nstattypelil st = enumerationelt.returnelements(\"GridStaTypeEnum\") \nd.findbyname(\"grstat.cbx_stattypes\").definefromlist(stattypelilst)\n\nd.findbyname(\"gred.txt_msg\").setlabel(\"Click on the desired\"+NL+\"grid cell to apply\"+NL+\"the new value.\")\nd.findbyname(\"grshp.txl_new\").settext(\"No Data\")\nd.findbyname(\"grshp.txl_current\").sethelp(\"\")\nd.findbyname(\"gred.chk_savetmp\").setselected(false)\nd.findbyname(\"grshp.tol_sel\").select" ) (Script.111 Name: "gred.PolygonListToGird" SourceCode: "'--\n'-- gred.PolygonListToGird\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\ngr = self.get(0)\npolylist = self.get(1)\nnewval = self.get(2)\n\ntmpidfld = field.make(\"ID\",#field_long,16,0)\ntmpvalfld = field.make(\"Value\",#field_double,40,8)\n\ntmpfn = av.getproject.getworkdir.maketmp(\"sctmp\",\"shp\")\n\ntmpftb = ftab.makenew(tmpfn,polygon)\nshpfld = tmpftb.findfield(\"shape\")\ntmpftb.seteditable(true)\n tmpftb.addfields({tmpidfld,tmpvalfld})\n for each p in polylist\n newrec = tmpftb.addrecord\n tmpftb.setvalue(shpfld, newrec,p)\n tmpftb.setvalue(tmpidfld,newrec,newrec)\n tmpftb.setvalue(tmpvalfld,newrec,newval) \n end\ntmpftb.seteditable(false)\n\ntmpgr = Grid.MakeFromFTab(tmpftb,prj.makenull,tmpvalfld,{gr.getcellsize,gr.getextent})\ntmpftb = nil\nav.purgeobjects\n\nif(tmpgr.haserror) then\n return \"haserror\"\nelse\n return tmpgr\nend\n" ) (Script.112 Name: "gred.returnbndrect" SourceCode: "'--\n'-- gred.returnbndrect\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\np = self.get(0)\ngr = self.get(1)\n\no = gr.GetExtent.ReturnOrigin\nc = gr.GetCellSize\n\npx = p.Getx\npy = p.Gety\nox = o.Getx\noy = o.Gety\n\nrow = ( (px - ox) / c ).Floor\ncol = ( (py - oy) / c ).Floor\n'av.ShowMsg(\"Row: \"+row.AsString++\",\"+\" Column: \"+col.AsString)\nlowx = ( ( row - 1 ) * c ) + ox\nlowy = ( ( col - 1 ) * c ) + oy\nnewo = ( lowx@lowy )\n\nupx = ( row * c ) + ox\nupy = ( col * c ) + oy\nupo = ( upx@upy )\n\nunionrect = rect.makenull\n valdict = dictionary.make(9)\n\ncent = rect.make( upo, c@c )\nunionrect = unionrect.unionwith(cent)\nvaldict.add(\"CENTER\",gr.cellvalue(cent.returncenter,prj.makenull))\n\nr = Rect.Make( (upx + c)@upy, c@c )\nunionrect = unionrect.unionwith(r)\nvaldict.add(\"R\",gr.cellvalue(r.returncenter,prj.makenull))\n\nbr = Rect.Make( (upx + c)@(upy - c), c@c )\nunionrect = unionrect.unionwith(br)\nvaldict.add(\"BR\",gr.cellvalue(br.returncenter,prj.makenull))\n\nb = Rect.Make( upx@(upy - c), c@c )\nunionrect = unionrect.unionwith(b)\nvald ict.add(\"B\",gr.cellvalue(b.returncenter,prj.makenull))\n\nbl = Rect.Make( newo, c@c )\nunionrect = unionrect.unionwith(bl)\nvaldict.add(\"BL\",gr.cellvalue(bl.returncenter,prj.makenull))\n\nl = Rect.Make( (upx - c)@upy, c@c )\nunionrect = unionrect.unionwith(l)\nvaldict.add(\"L\",gr.cellvalue(l.returncenter,prj.makenull))\n\ntl = Rect.Make( (upx - c)@(upy + c), c@c )\n\nunionrect = unionrect.unionwith(tl)\nvaldict.add(\"TL\",gr.cellvalue(tl.returncenter,prj.makenull))\n\nt = Rect.Make( upx@(upy + c), c@c )\nunionrect = unionrect .unionwith(t)\nvaldict.add(\"T\",gr.cellvalue(t.returncenter,prj.makenull))\n\ntr = Rect.Make( (upx + c)@(upy + c), c@c )\nunionrect = unionrect.unionwith(tr)\nvaldict.add(\"TR\",gr.cellvalue(tr.returncenter,prj.makenull))\n\nfor each key in valdict.returnkeys\n val = valdict.get(key)\n if(val.isnull) then\n valdict.set(key,\"No Data\")\n end\nend\n\nreturn {unionrect.clone, valdict, cent.clone, col, row}\n" ) (Script.113 Name: "gred.rundialog" SourceCode: "'--\n'-- gred.rundialog\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n \n\n\ngred = av.finddialog(\"gred\")\nv = av.getactivedoc\n\nvlist = {}\nfor each adoc in av.getproject.getdocs\n if(adoc.is(view)) then\n if(av.run(\"gred.hasgridtheme\",adoc)) then\n vlist.add(adoc)\n end \n end \nend\nif(vlist.isempty) then\n msgbox.warning(\"There are NO Grid Themes in ANY of the views in this project.\",\"Exiting...\")\n v.getwin.activate\nelse\n if(av.getproject.getname = \"Untitled\") then\n msgbox.warning(\"Please save pro ject before continuing...\",\"Project not saved\")\n av.run(\"Project.Save\",\"\")\n end\n vcbx = gred.findbyname(\"gred.cbx_views\")\n vcbx.definefromlist(vlist)\n vcbx.findbyvalue(v)\n vcbx.selectcurrent\n gred.open \nend" ) (Script.114 Name: "gred.updatevalue" SourceCode: "'--\n'-- gred.updatevalue\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\nd = self.getdialog\n\np = d.findbyname(\"grshp.tol_sel\").getobjecttag\nif(p = nil) then return nil end\n\nv = d.findbyname(\"gred.cbx_views\").getcurrentvalue\ngthm = d.findbyname(\"gred.cbx_themes\").getcurrentvalue\ngr = gthm.getgrid\n\nnewvalstr = d.findbyname(\"grshp.txl_new\").gettext\nif(newvalstr = \"\") then\n newvalstr = \"0\"\n newval = 0 \nelseif(newvalstr = \"No Data\") then\n newval = -999999\nelse\n newval = newvalstr.asnumber\nend \n\nalist = av.run(\" gred.returnbndrect\",{p,gr})\nunionrect = alist.get(0)\ncenter = alist.get(2)\noldval = gr.cellvalue(p,prj.makenull)\nif(oldval.isnull) then\n oldvalstr = \"No Data\"\nelse\n oldvalstr = oldval.asstring\nend\n\nd.findbyname(\"grshp.txl_current\").settext(oldvalstr)\n\ntmpfthm = v.findtheme(\"Single Cell\")\nif(tmpfthm = nil) then \n tmpfn = av.getproject.getworkdir.maketmp(\"sctmp\",\"shp\")\n tmpftb = ftab.makenew(tmpfn,polygon)\n idfld = field.make(\"ID\",#field_long,10,0)\n origfld = field.make(\"OrigVal\",#FIELD_CHAR,32,0)\n ol dfld = field.make(\"OldVal\",#FIELD_CHAR,32,0)\n newfld = field.make(\"NewVal\",#FIELD_CHAR,32,0)\n newfldnum = field.make(\"NewValNum\",#FIELD_DOUBLE,40,8)\n tmpftb.seteditable(true) \n tmpftb.addfields({idfld,newfldnum,origfld,oldfld,newfld}) \n tmpfthm = ftheme.make(tmpftb)\n tmpfthm.setname(\"Single Cell\") \n tmpfthm.setvisible(true)\n v.addtheme(tmpfthm) \nend\n\ntmpftb = tmpfthm.getftab\ntmpftb.seteditable(true)\nidfld = tmpftb.findfield(\"ID\")\norigfld = tmpftb.findfield(\"OrigVal\")\noldfld = tmpftb.fin dfield(\"OldVal\")\nnewfld = tmpftb.findfield(\"NewVal\") \nnewfldnum = tmpftb.findfield(\"NewValNum\") \n\nsel = tmpftb.getselection\nsel.clearall\ntmpftb.selectbypoint(p,0.0,#VTAB_SELTYPE_NEW)\nsel = tmpftb.getselection\nif(sel.count > 0) then\n selrec = sel.getnextset(-1)\n oldval = tmpftb.returnvalue(newfld,selrec) \n if(oldval <> newvalstr) then \n tmpftb.setvalue(oldfld,selrec,oldval) \n tmpftb.setvalue(newfld,selrec,newvalstr) \n tmpftb.setvalue(newfldnum,selrec,newval)\n end\n tmpftb.updateselection \nelse\n selrec = tmpftb.addrecord\n tmpftb.setvalue(tmpftb.findfield(\"shape\"),selrec,center.aspolygon)\n tmpftb.setvalue(idfld,selrec,selrec)\n tmpftb.setvalue(origfld,selrec,oldvalstr) \n tmpftb.setvalue(oldfld,selrec,oldvalstr) \n tmpftb.setvalue(newfld,selrec,newvalstr)\n tmpftb.setvalue(newfldnum,selrec,newval) \n sel.set(selrec)\nend\ntmpftb.seteditable(false)\n\nav.run(\"grshp.setlegend\",\"\")\n\nfldlist = tmpftb.getfields.deepclone\nfldlist.remove(0)\nfldlist.remove(1)\n\nslbx = d.findbyname(\"grshp.lbx_singl ecell\")\nslbx.definefromvtab(tmpftb,fldlist,false)\nslbx.gorow(selrec)\nslbx.selectcurrent(false)\nslbx.showcurrent\nslbx.fitcolumns(0..(slbx.getcolumncount-1),true)\n\nv.getdisplay.zoomtorect(unionrect.clone.scale(2))" ) (Script.115 Name: "grshp.lbt_nodata.click" SourceCode: "'--\n'-- grshp.lbt_nodata.click\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\nd = self.getdialog\n\nd.findbyname(\"grshp.txl_new\").settext(\"No Data\")\nd.findbyname(\"grshp.txl_new\").changed\nav.run(\"gred.updatevalue\",self)\n" ) (Script.116 Name: "grshp.lbx_singecell.select" SourceCode: "'--\n'-- grshp.lbx_singecell.select\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nd = self.getdialog\n\nv = d.findbyname(\"gred.cbx_views\").getcurrentvalue\ngthm = d.findbyname(\"gred.cbx_themes\").getcurrentvalue\ngr = gthm.getgrid\n\ntmpfthm = v.findtheme(\"Single Cell\")\nrow = self.getcurrentrow\ntmpftb = tmpfthm.getftab\napolygon = tmpftb.returnvalue(tmpftb.findfield(\"shape\"),row)\ntmpftb.getselection.clearall\ntmpftb.getselection.set(row)\n\nd.findbyname(\"grshp.tol_sel\").setobjecttag(apolygon.returncenter)\nv.getdisplay.z oomtorect(apolygon.clone.returnextent.clone.scale(6))\n'av.run(\"gred.updatevalue\",self)\nav.processallinvals\n\n\n\n" ) (Script.117 Name: "grshp.setlegend" SourceCode: "'--\n'-- grshp.setlegend\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\ngred = av.finddialog(\"gred\")\nv = gred.findbyname(\"gred.cbx_views\").getcurrentvalue\ngthm = gred.findbyname(\"gred.cbx_themes\").getcurrentvalue\n\n\ngleg = gthm.getlegend\n\n\ntmpfthm = v.findtheme(\"Single Cell\")\ntheLegend = tmpfthm.GetLegend\ntheLegend.SetLegendType(#LEGEND_TYPE_UNIQUE)\ntheLegend.Unique(tmpfthm,\"NewVal\")\ntheColorSchemes = SymbolList.GetPreDefined(#SYMLIST_TYPE_COLORRAMP)\ntheColorRamp = theColorSchemes.Get(theColorSchemes.count-1)\nt heLegend.GetSymbols.RampSavedColors(theColorRamp)\ntmpfthm.UpdateLegend \n\n'for each index in 0..(theLegend.getnumclasses-1)\n \n' fthmclassinfo = thelegend.returnclassinfo(index)\n' val = fthmclassinfo.get(0)\n' gcidx = gleg.GetIndex({val})\n' gci = gleg.returnclassinfo(gcidx)\n' gclr = gci.get(2).getcolor\n' fthmclassinfo.set(2,gclr.clone)\n' thelegend.setclassinfo(index,fthmclassinfo)\n\n'end\n\n'tmpfthm.UpdateLegend \n\n\n" ) (Script.118 Name: "grshp.tol_sel.apply" SourceCode: "'--\n'-- grshp.tol_sel.apply\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nd = self.getdialog\nv = d.findbyname(\"gred.cbx_views\").getcurrentvalue\n\np = v.getdisplay.returnuserpoint\nif(p.is(point).not) then \n return nil \nend\nself.setobjecttag(p)\n\nav.run(\"gred.updatevalue\",self)\nd.findbyname(\"grstat.cbx_stattypes\").select\nav.processallinvals\n\n \n\n" ) (Script.119 Name: "grshp.txl_new.apply" SourceCode: "'--\n'-- grshp.txl_new.apply\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\nav.run(\"gred.updatevalue\",self)" ) (Script.120 Name: "grshp.txl_new.changed" SourceCode: "'--\n'-- grshp.txl_new.changed\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nd = self.getdialog\nd.findbyname(\"grshp.tol_sel\").setenabled(self.isempty.not)" ) (Script.121 Name: "grstat.cbx_stattypes.select" SourceCode: "'--\n'-- grstat.cbx_stattypes.select\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\nd = self.getdialog\ntol = d.findbyname(\"grshp.tol_sel\")\np = tol.getobjecttag\nif(p = nil) then return nil end\n\nv = d.findbyname(\"gred.cbx_views\").getcurrentvalue\ngthm = d.findbyname(\"gred.cbx_themes\").getcurrentvalue\ngr = gthm.getgrid\n\nalist = av.run(\"gred.returnbndrect\",{p,gr})\nunionrect = alist.get(0)\nvaldict = alist.get(1)\n\n' Create stats...\nGrid.SetAnalysisExtent(#GRID_ENVTYPE_VALUE,unionrect)\nstattype = d.findbyname(\"grstat.c bx_stattypes\").getcurrentvalue\nnbrrect = NbrHood.MakeRectangle(3,3,false)\nstatgr = gr.BlockStats(stattype, nbrrect, false)\nstat = statgr.cellvalue(statgr.getextent.returncenter,prj.makenull)\nif(stat.isnull) then\n stat = \"No Data\"\nend\nvaldict.add(\"STAT\",stat)\ngrid.reset\n\nfor each lbt in d.findbyclass(labelbutton)\n val = valdict.get(lbt.gettag)\n if(val = nil) then continue end\n if(val <> -1) then\n lbt.setlabel(val.asstring) \n end\nend\n\n" ) (Script.122 Name: "grstat.lbt_all.click" SourceCode: "'--\n'-- grstat.lbt_all.click\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\nd = self.getdialog\nval = self.getlabel\nif(val <> self.gettag) then\n d.findbyname(\"grshp.txl_new\").settext(val)\n d.findbyname(\"grshp.txl_new\").changed \n av.run(\"gred.updatevalue\",self)\nend\n" ) (Script.123 Name: "MyDialogExt.CanUnload" SourceCode: "'--\n'-- MyDialogExt.CanUnload\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\nreturn (System.CanUnloadLibrary(self.GetDependencies.Get(0)))" ) (Script.124 Name: "MyDialogExt.Unload" SourceCode: "'--\n'-- MyDialogExt.Unload\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n \n\n\n' MyDialogExt.Unload\nDialog.DetachFromExtension(self)" ) (Script.125 Name: "MyDialogExt.Install" SourceCode: "'--\n'-- MyDialogExt.Install\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\n\n\n' Only install user interface components if a project is open\nif (av.GetProject = nil) then\n return nil\nend\n' Retrieve the button from the extension (self) and add it after the first\n' button in the View button bar\nmyButton = Self.Get(1)\nviewGUI = av.GetProject.FindGUI(\"View\")\nviewGUI.GetButtonBar.Add(myButton,viewgui.getbuttonbar.getcontrols.count)\nviewGUI.SetModified(TRUE)\n\nmsg = \"--------------------------------------------------- ---------------------------\"+NL\nmsg = msg + \"To start using this extension, please select the\"+NL\nmsg = msg + \"new 'SC' button located in the View GUI.\"+NL\nmsg = msg + \"------------------------------------------------------------------------------\"+NL+NL+NL\n\ndisclaimer = \"/* ============================DISCLAIMER================================\"+NL\ndisclaimer = disclaimer+\"/* You may use, copy, modify, merge, distribute, alter, reproduce and/or\"+NL\ndisclaimer = disclaimer+\"/* create derivative works of this Avenue script for your own internal\"+NL \ndisclaimer = disclaimer+\"/* use. All rights not specifically granted herein are reserved to ESRI.\"+NL\ndisclaimer = disclaimer+\"/*\"+NL\ndisclaimer = disclaimer+\"/* THIS AVENUE SCRIPT IS PROVIDED \"\"AS-IS\"\" WITHOUT WARRANTY OF ANY KIND,\"+NL \ndisclaimer = disclaimer+\"/* EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\"+NL\ndisclaimer = disclaimer+\"/* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE,\"+NL\ndisclaimer = disclaimer+\"/* W ITH RESPECT TO THE AVENUE SCRIPT.\"+NL\ndisclaimer = disclaimer+\"/*\"+NL\ndisclaimer = disclaimer+\"/* ESRI shall not be liable for any damages under any theory of law\"+NL\ndisclaimer = disclaimer+\"/* related to your use of this Avenue script, even if ESRI is advised of\"+NL \ndisclaimer = disclaimer+\"/* the possibilites of such damage. This Avenue script is not supported\"+NL \ndisclaimer = disclaimer+\"/* by ESRI.\"+NL\ndisclaimer = disclaimer+\"/* ====================================================================== \"+NL\n\nmsgbox.report(msg+disclaimer,\"Single Cell Editor Extension\")" ) (Script.126 Name: "MyDialogExt.UnInstall" SourceCode: "'--\n'-- MyDialogExt.UnInstall\n'--\n'-- JG - Fri Jul 23 09:40:15 1999\n'--\n\n\nif (av.GetProject = nil) then\n return nil\nend\nif (av.GetProject.IsClosing) then\n return nil\nend\n' Remove the button from the button bar\ntheButtonBar = av.GetProject.FindGUI(\"View\").GetButtonBar\ntheButtonBar.Remove(Self.Get(1))\n" )