From 58455ca979699eb5d9f6a12e1be915036f52721c Mon Sep 17 00:00:00 2001 From: PeterZhong Date: Sun, 27 Apr 2025 10:59:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E5=8D=8F=E4=BD=9C?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 419 +++++++++++++++++++++++++++++++++ Button1.cs | 31 +++ Config.daml | 46 ++++ DarkImages/AddInDesktop16.png | Bin 0 -> 1314 bytes DarkImages/AddInDesktop32.png | Bin 0 -> 1744 bytes Dockpane1.xaml | 34 +++ Dockpane1.xaml.cs | 29 +++ Dockpane1ViewModel.cs | 62 +++++ Images/AddInDesktop16.png | Bin 0 -> 524 bytes Images/AddInDesktop32.png | Bin 0 -> 948 bytes LinkToolAddin.csproj | 101 ++++++++ LinkToolAddin.sln | 25 ++ Module1.cs | 48 ++++ Properties/launchSettings.json | 8 + 14 files changed, 803 insertions(+) create mode 100644 .gitignore create mode 100644 Button1.cs create mode 100644 Config.daml create mode 100644 DarkImages/AddInDesktop16.png create mode 100644 DarkImages/AddInDesktop32.png create mode 100644 Dockpane1.xaml create mode 100644 Dockpane1.xaml.cs create mode 100644 Dockpane1ViewModel.cs create mode 100644 Images/AddInDesktop16.png create mode 100644 Images/AddInDesktop32.png create mode 100644 LinkToolAddin.csproj create mode 100644 LinkToolAddin.sln create mode 100644 Module1.cs create mode 100644 Properties/launchSettings.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d9b1680 --- /dev/null +++ b/.gitignore @@ -0,0 +1,419 @@ +!.gitignore +!**/appsettings.json +!**/Properties/launchSettings.json + +/.git/ +/.idea/ +./vs/ +./bin/ +./obj/ +*.sln.iml +*.DotSettings +*.dotCover +*.userprefs +*.env + + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates +*.cache + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ +*.log + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +# but not Directory.Build.rsp, as it configures directory-level build defaults +!Directory.Build.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml \ No newline at end of file diff --git a/Button1.cs b/Button1.cs new file mode 100644 index 0000000..c50b51a --- /dev/null +++ b/Button1.cs @@ -0,0 +1,31 @@ +using ArcGIS.Core.CIM; +using ArcGIS.Core.Data; +using ArcGIS.Core.Geometry; +using ArcGIS.Desktop.Catalog; +using ArcGIS.Desktop.Core; +using ArcGIS.Desktop.Editing; +using ArcGIS.Desktop.Extensions; +using ArcGIS.Desktop.Framework; +using ArcGIS.Desktop.Framework.Contracts; +using ArcGIS.Desktop.Framework.Dialogs; +using ArcGIS.Desktop.Framework.Threading.Tasks; +using ArcGIS.Desktop.KnowledgeGraph; +using ArcGIS.Desktop.Layouts; +using ArcGIS.Desktop.Mapping; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LinkToolAddin +{ + internal class Button1 : Button + { + private string version = "0.1.0"; + protected override void OnClick() + { + MessageBox.Show($"当前LinkTool版本为{version}", "版本信息"); + } + } +} diff --git a/Config.daml b/Config.daml new file mode 100644 index 0000000..e08f198 --- /dev/null +++ b/Config.daml @@ -0,0 +1,46 @@ + + + LinkTool(灵图) + LinkTool(灵图)与ArcGIS Pro集成,基于MCP技术融合LLM,为您带来更智能化的GIS工作流实现。 + Images\AddinDesktop32.png + PeterZhong + 华南农业大学 + 4/27/2025 10:30:14 AM + Framework + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DarkImages/AddInDesktop16.png b/DarkImages/AddInDesktop16.png new file mode 100644 index 0000000000000000000000000000000000000000..0118942a923d37745dced41536d71172f7517deb GIT binary patch literal 1314 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m^Cs(B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuU%v{0TQqR!T z+}y-mN5ROz&{W^RSl`${*T~q)#K6kLNC66zfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$IMft0d=ry1 z^FV@{U|qhxR-SpqC5d^-sh%#jNbn4Gmq*EQ}4@91Trf z9F2`FOx&CdV0vBhlS^|`^GaZPQ-FG%U0huajGRnx>IEf;+ybD@E~!PCWvMA{Mftf3 zV2@j6;&zJxPV=C8Q?R%N>JLMldi8;h(Fa8@Qgp+FfN2QCgeP7g2cG;>^MGl-2$;A{ z^UHoRFfdN=ba4!+xHV_eSudtQk>mf3ADc`I;N%lh@rhWMHCaSu#|rTc+b*73D_z|f zchKzJnb0k|)r|_C3qu72JFMDTIvVAZpRQPZcJC7h=Cdqs6d>g;Fd(<~UJ81^dm+<(73@IuqYmV0m9+Os7i{i0=el#xWp=L=ll zcWrlNR9(*{VE_OC literal 0 HcmV?d00001 diff --git a/DarkImages/AddInDesktop32.png b/DarkImages/AddInDesktop32.png new file mode 100644 index 0000000000000000000000000000000000000000..9713e3b1548cc2ee78c60ad4ffb3a46566609b2b GIT binary patch literal 1744 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%o>>?5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0*lEl2^R8JRMC7?NanVBh8&MvO521ZWi7A`KPhK8g6oCT>m!FugAM$)&lec_lEtDG0q5IQ4=OL~a4lW|!2W%(B!Jx1#)91+d4hGI6`b z6sLJmy(zfeVun+%KF~4xpy)-4ZkP}-4S|^O#0%uWlYeR+FwGYM6ZcJlSNy;{W9RAO z7*cU-Pq?qYaH7Dxw|Vt6-sL_XG#dCA=nEb^pfQtK4{2?@f5-Yn6Pn-PZZfE9Y0HrEx1H z9!!{UoHf^M-t)%bq7T3S{`vE#W^-XsO7HozXLCLFraX~2kgXt)p=H#>-|A#wX*ttK zsyEz0fq7Ti0YpasWR z+$R{k6EQaQOgubCjeVsOtlnOk{w`C6b(O-k z!?%v*K6AM`eR77=`V*;bYYY>29(i2Y;i6QsaMQ#fQ$;238P%!+a}++v7ICVt;*4J- z(t7o6^o7?q*{10_e_A1~bF=-!5qqwE6AORrn%yeg8+zd1YNnkg1x*k3n|IH?7GcRX zm5aSBol`57Z&RkUjQpL}K6dR7mnSsJ-QzxQ+bj^ZpL1#Y`=~J1hg`^%fgqBz3;E zypY`VWYg}1goK7Hr>$HfCJm_;pKI;?o2*r3d5-OQQhbGzDPtR#z=0d{_h&}7^PSf8 zb>5gD)M&Ftrs?+EygIQdKZL&Ay+5huW~Qg(^y=;BTJBYZU1$4y=WKYiF?T?MgwEt` zT`TsR|L}eiBb-#bV0KB@XNO?X7m|OEe!um$R*<1vcj3z0E6+0PZcey)bXUf@iL7he zsyA4hS#t{wI^H6T7(3Ke0lyCJVujWX{t((u~qp@l3TlWoH zzfI9w__aZNhOnDxgV^fc$14>N2duI-*SXET!S?cG;RSYO0%GFg(Vy;~h>>%(s=VC@S26m4%0k2Q>`~uZ6p00i_ I>zopr0LdSn0ssI2 literal 0 HcmV?d00001 diff --git a/Dockpane1.xaml b/Dockpane1.xaml new file mode 100644 index 0000000..d007c5e --- /dev/null +++ b/Dockpane1.xaml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Dockpane1.xaml.cs b/Dockpane1.xaml.cs new file mode 100644 index 0000000..6663993 --- /dev/null +++ b/Dockpane1.xaml.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + + +namespace LinkToolAddin +{ + /// + /// Interaction logic for Dockpane1View.xaml + /// + public partial class Dockpane1View : UserControl + { + public Dockpane1View() + { + InitializeComponent(); + } + } +} diff --git a/Dockpane1ViewModel.cs b/Dockpane1ViewModel.cs new file mode 100644 index 0000000..8b77c2e --- /dev/null +++ b/Dockpane1ViewModel.cs @@ -0,0 +1,62 @@ +using ArcGIS.Core.CIM; +using ArcGIS.Core.Data; +using ArcGIS.Core.Geometry; +using ArcGIS.Desktop.Catalog; +using ArcGIS.Desktop.Core; +using ArcGIS.Desktop.Editing; +using ArcGIS.Desktop.Extensions; +using ArcGIS.Desktop.Framework; +using ArcGIS.Desktop.Framework.Contracts; +using ArcGIS.Desktop.Framework.Dialogs; +using ArcGIS.Desktop.Framework.Threading.Tasks; +using ArcGIS.Desktop.KnowledgeGraph; +using ArcGIS.Desktop.Layouts; +using ArcGIS.Desktop.Mapping; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LinkToolAddin +{ + internal class Dockpane1ViewModel : DockPane + { + private const string _dockPaneID = "LinkToolAddin_Dockpane1"; + + protected Dockpane1ViewModel() { } + + /// + /// Show the DockPane. + /// + internal static void Show() + { + DockPane pane = FrameworkApplication.DockPaneManager.Find(_dockPaneID); + if (pane == null) + return; + + pane.Activate(); + } + + /// + /// Text shown near the top of the DockPane. + /// + private string _heading = "My DockPane"; + public string Heading + { + get => _heading; + set => SetProperty(ref _heading, value); + } + } + + /// + /// Button implementation to show the DockPane. + /// + internal class Dockpane1_ShowButton : Button + { + protected override void OnClick() + { + Dockpane1ViewModel.Show(); + } + } +} diff --git a/Images/AddInDesktop16.png b/Images/AddInDesktop16.png new file mode 100644 index 0000000000000000000000000000000000000000..5910bbf3dcd0cb09139b0c9926e00f96131d4757 GIT binary patch literal 524 zcmV+n0`vWeP)#SV*!XQdtWo`zW)u3-ITZ)bVS)1Hr@Kl zz{$$UaP`DN21cm=1AtUN5Gz1JiI2g=(Ssq}!4R(tz+M1pW@cqxuV5w1AS5Nuz{e%d z@ciLDhV#4Ef^E~*)jrVX(1?VK7tH?T6 zV6mVetE9oe&dLMU{OQ|Eumra#H^Zy{AHiV&j|FE@unXFbz5|BS4@5LRd2^9LP1=Fs z?(<^|fByc0Yxw-(Jy;XE3zP*}8B8QO7*;|Jc<}h%4F!2wFfb;P zxhYzAxw&0+>vq3KuWs}H(rta=aCh(dp7Z^j&-d3E1qyPfy+g$3^PX-BvM8b`0+z$sEF<`iyY2Ae<*Q&c8r=f|8OVVw3&**j?e;Ck zVzCTK2dhb)&pH4-5R^=}QQ41M&;^P5et#gz9sk7zdQ8wtsg|iA)B@4{v}Z_qW$A36 zS|g1a!az2SYcVJTJ5US^%!I)ois|a14(e*jz5%?O4nZ^~0%zAJ4|Px%*Qkl&E^=T> z6egvpHz0tI--L%3oLe-0T-F58R?EQ6YCCj}{U&QYu6$zv)bbcNKmd3m+_>vfks-#) zS+kcvH2!lU0R_CwMvf`X*4FLOL@5)Jax6; z@zjyXMoRSp5m`dtYk{B>43|ldep^vNO<~0$sBgFmzQ8Al#W%p^tOAj@!pP@Q82B&( z?xq{SRhAgbf_ZT#W>f)e8~?(cDQ3_(ZOVn^KRz(!*X6hUv&46xLfHSK4s) z{cGSW+o5wJma#18FFSjjaa9}vYo3#w*qX9np;VV%hI1#I$w)f=d;}b3hh_~hDsnr%?w?u=t}mEXYC)KkXZhqyUjxwE z(wvcdBbC~Wuqt9 + + net8.0-windows + true + win-x64 + false + true + CA1416 + + + + + + + + + + + + + + + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.Framework.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Core.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\Core\ArcGIS.Desktop.Core.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\Mapping\ArcGIS.Desktop.Mapping.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\Catalog\ArcGIS.Desktop.Catalog.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\Editing\ArcGIS.Desktop.Editing.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\DesktopExtensions\ArcGIS.Desktop.Extensions.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\GeoProcessing\ArcGIS.Desktop.GeoProcessing.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\Layout\ArcGIS.Desktop.Layouts.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\KnowledgeGraph\ArcGIS.Desktop.KnowledgeGraph.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.Shared.Wpf.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.Ribbon.Wpf.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.DataGrid.Contrib.Wpf.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.Resources.dll + False + False + + + C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\ESRI.ArcGIS.ItemIndex.dll + False + False + + + + diff --git a/LinkToolAddin.sln b/LinkToolAddin.sln new file mode 100644 index 0000000..99143d5 --- /dev/null +++ b/LinkToolAddin.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35222.181 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LinkToolAddin", "LinkToolAddin.csproj", "{4018B975-CBC3-4F01-A311-F3FE7AFE142A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4018B975-CBC3-4F01-A311-F3FE7AFE142A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4018B975-CBC3-4F01-A311-F3FE7AFE142A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4018B975-CBC3-4F01-A311-F3FE7AFE142A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4018B975-CBC3-4F01-A311-F3FE7AFE142A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {225781D3-C405-4C91-8B43-8EA5EEBF836E} + EndGlobalSection +EndGlobal diff --git a/Module1.cs b/Module1.cs new file mode 100644 index 0000000..d12c3c7 --- /dev/null +++ b/Module1.cs @@ -0,0 +1,48 @@ +using ArcGIS.Core.CIM; +using ArcGIS.Core.Data; +using ArcGIS.Core.Geometry; +using ArcGIS.Desktop.Catalog; +using ArcGIS.Desktop.Core; +using ArcGIS.Desktop.Editing; +using ArcGIS.Desktop.Extensions; +using ArcGIS.Desktop.Framework; +using ArcGIS.Desktop.Framework.Contracts; +using ArcGIS.Desktop.Framework.Dialogs; +using ArcGIS.Desktop.Framework.Threading.Tasks; +using ArcGIS.Desktop.KnowledgeGraph; +using ArcGIS.Desktop.Layouts; +using ArcGIS.Desktop.Mapping; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Input; + +namespace LinkToolAddin +{ + internal class Module1 : Module + { + private static Module1 _this = null; + + /// + /// Retrieve the singleton instance to this module here + /// + public static Module1 Current => _this ??= (Module1)FrameworkApplication.FindModule("LinkToolAddin_Module"); + + #region Overrides + /// + /// Called by Framework when ArcGIS Pro is closing + /// + /// False to prevent Pro from closing, otherwise True + protected override bool CanUnload() + { + //TODO - add your business logic + //return false to ~cancel~ Application close + return true; + } + + #endregion Overrides + + } +} diff --git a/Properties/launchSettings.json b/Properties/launchSettings.json new file mode 100644 index 0000000..f8e1bfb --- /dev/null +++ b/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "LinkToolAddin": { + "commandName": "Executable", + "executablePath": "C:\\Users\\PeterZhong\\AppData\\Local\\Programs\\ArcGIS\\Pro\\bin\\ArcGISPro.exe" + } + } +} \ No newline at end of file