ProConcepts Framework - EsriJapan/arcgis-pro-sdk GitHub Wiki
ArcGIS Pro ã¯ãé«åºŠã«æ§æå¯èœã§æ¡åŒµå¯èœãªã¢ããªã±ãŒã·ã§ã³ã§ãããã¹ãŠã®ãœãããŠã§ã¢ã®å€æŽãšæ¡åŒµã¯ãã¢ãã€ã³ã䜿çšããŠå®çŸãããŸããã¢ãã€ã³ ã¢ãã«ã¯ãåäžã®å§çž®ãã¡ã€ã«ã«äŸ¿å©ã«ããã±ãŒãžåãããã«ã¹ã¿ãã€ãºã®ã³ã¬ã¯ã·ã§ã³ãäœæããããã®å®£èšããŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ãæäŸããŸããã¢ãã€ã³ã¯ãã€ã³ã¹ããŒã« ããã°ã©ã ãç»é²ãå¿ èŠãšããªããããç°¡åã«å ±æã§ããŸããã¢ãã€ã³ã¯ãæ¢ç¥ã®ãã©ã«ããŒã«ã³ããŒããã ãã§ã·ã¹ãã ã«è¿œå ããããã®ãã©ã«ããŒããåé€ããããšã§åé€ãããŸããã¢ãã€ã³ã¯ãäžå åããããããã¯ãŒã¯å ±æã䜿çšããŠãçµç¹å ã®ãŠãŒã¶ãŒéã§å ±æããããšãã§ããŸãã
ã¢ãã€ã³ã¯ã.NET ãš Esri ã®ãã¹ã¯ããã ã¢ããªã±ãŒã·ã§ã³ ããŒã¯ã¢ããèšèªïŒDAMLïŒã䜿çšããŠäœæãããŸããDAMLïŒEsri ã«ãã£ãŠäœæããã XML èšèªïŒã¯ã«ã¹ã¿ãã€ãºãèšè¿°ããŸãã.NET ã¯ã©ã¹ã¯ã«ã¹ã¿ã åäœãæäŸããŸããArcGIS Pro ãœãããŠã§ã¢éçºãããïŒSDKïŒã«ã¯ãMicrosoft Visual Studio ãšçµ±åããŠéçºãç°¡çŽ åããã¢ãã€ã³ ãŠã£ã¶ãŒããå«ãŸããŠããŸãã
Language: C#
Subject: Framework
Contributor: ArcGIS Pro SDK Team <[email protected]>
Organization: Esri, http://www.esri.com
Date: 04/25/2025
ArcGIS Pro: 3.5
Visual Studio: 2022
ãããã¯
- ã¢ãã€ã³ã®æ¡åŒµæ§ãã€ã³ã
- æ§æç®¡ç
- ãã©ã°ã€ã³ ããŒã¿ãœãŒã¹
- ããŒã«ã« ã¢ãã€ã³ VS å ±æ ã¢ãã€ã³
- ãµãŒãããŒãã£ãŒè£œã¢ã»ã³ããªãŒ ãªãã¡ã¬ã³ã¹ã®èªã¿èŸŒã¿
- ã¢ãã€ã³ ã€ã³ã¹ããŒã«æã«ãšã³ã ãŠãŒã¶ãŒäœ¿çšèš±è«Ÿå¥çŽæžïŒEULAïŒã衚瀺ãã
- DAMLïŒDesktop Application Markup LanguageïŒã®æŠèŠ
- Daml èŠçŽ
- ããã¯ã¹ããŒãž
- ã³ã³ãã㌠ã³ã³ãããŒã«
- ã³ã³ãããŒã«
- ãããã³ã° ãã€ã³
- ãã€ã³
- ãããã㣠ã·ãŒããšããŒãž
- ã¿ããšã°ã«ãŒã
- ããŒã«ããŒ
- ã³ãã³ãã®æ€çŽ¢
- ã³ãã³ã ãã£ã«ã¿ãŒ
- UI ã³ã³ãããŒã«
- XAML ã¢ã€ã³ã³
- Runtime API
- ã¢ãã€ã³ ã¡ã¿ããŒã¿
- ã€ãã³ã
- RelayCommand
- ã©ã€ã»ã³ã¹ã®ãã§ã㯠ã€ã³ãšãã§ã㯠ã¢ãŠã
- Undo/Redo ãã¬ãŒã ã¯ãŒã¯
- ãã©ãã° ã¢ã³ã ãããã
- éç¥
- 蚺æã¢ãŒãïŒã€ãã³ã ãã°ïŒ
- ArcGIS Pro ã§ã®ãã«ãã¹ã¬ããã®æäœ
- Progress ãš Cancellation
ArcGIS Pro ã¢ãã€ã³ ãã¬ãŒã ã¯ãŒã¯ã¯ãã¢ãã€ã³ã®å€æ°ã®æ¡åŒµãã€ã³ãããµããŒãããŠããŸããæ¬¡ã®ãªã¹ãã¯ãæãäžè¬çãªã«ã¹ã¿ãã€ãºã瀺ããŠããŸãã
- Ribbon
- Tabs/Contextual Tabs
- Groups
- Controls
- Buttons
- Split buttons
- Button palettes
- Tools (including tray tools and construction tools)
- Tool palettes
- Toolbars
- Galleries
- Combobox
- Editbox
- Menus
- Dynamic menus
- Custom controls
- Panes
- DockPanes
- Property sheets/pages
- Backstage tabs
- Component categories
- ProWindow (for modal and modeless dialogs)
ArcGIS Pro ã®æ§æç®¡çã¯ãã¢ããªã±ãŒã·ã§ã³ã®é«åºŠãªã«ã¹ã¿ãã€ãºã§ããæ§æç®¡çã¯ã¢ãã€ã³ã«äŒŒãŠããŸãããã¢ããªã±ãŒã·ã§ã³ãæ¡åŒµããããã®ããå€ãã®æ¹æ³ãæäŸããçµç¹ã®ãã©ã³ããšã¯ãŒã¯ãããŒãåæ ããããŒãžã§ã³ã® ArcGIS Pro ãèšèšããã®ã«åœ¹ç«ã¡ãŸããæ§æç®¡çã§å®è¡ã§ããéèŠãªããšã«ã¯ã次ã®ãããªãã®ããããŸãã
- ã«ã¹ã¿ã ã¹ãã©ãã·ã¥ç»é¢ãšã«ã¹ã¿ã ã¹ã¿ãŒã ããŒãžãäœæãã
- ã¢ããªã±ãŒã·ã§ã³ã®ã¿ã€ãã«ãšã¢ã€ã³ã³ã倿Žãã
- 䜿çšé »åºŠã®äœãã³ã³ãããŒã«ãåé 眮ãŸãã¯åé€ãããæ°ããã³ã³ãããŒã«ãæ¿å ¥ãã
- èµ·åæã«ããžãã¯ãæ¿å ¥ããŠãã©ã€ã»ã³ã¹ã確èªãããããŠãŒã¶ãŒã®åœ¹å²ã«å¿ããŠãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ã倿Žãã
- ã©ã®ã¢ãã€ã³ãããŒãããããå¶åŸ¡ãã
- ã³ãã³ãããã£ã«ã¿ãªã³ã°ããïŒã³ãã³ãéç¥ãšããããç¡å¹ã«ãããªãã·ã§ã³ïŒ
æ§æç®¡çã§ã¯ãã¢ãã€ã³ãšãŸã£ããåãããã«ãã¢ãžã¥ãŒã«ããã¿ã³ããããã³ã° ãã€ã³ãªã©ã®ãããªæ°ããæ©èœãå ¬éããããšãã§ããŸãã
æ§æã®è©³çްã«ã€ããŠã¯ãProConcepts Configurations ãš ProGuide Configurations ãåç §ããŠãã ããã
ãã©ã°ã€ã³ ããŒã¿ãœãŒã¹ã¯ããµãŒã ããŒãã£ãŒãã«ã¹ã¿ã ïŒããµããŒããããŠããªããïŒããŒã¿ ãœãŒã¹ã Esri ãœãããŠã§ã¢ã«çµ±åã§ããããã«ããããã« ArcObjects ã§æåã«ãªãªãŒã¹ããããã¿ãŒã³ã§ããã2.3 以éãPro ãã¬ãŒã ã¯ãŒã¯ãæ¡åŒµãããã«ã¹ã¿ã ãã©ã°ã€ã³ ããŒã¿ãœãŒã¹ã Pro ã«çµã¿èŸŒãŸããŸãããArcObjects ã§ã¯ããã©ã°ã€ã³ ããŒã¿ãœãŒã¹ïŒãŸãã¯ãã¯ãŒã¯ã¹ããŒã¹ãïŒã®å®è£ 㯠COM dll ã§ãããPro ã§ã¯ããã©ã°ã€ã³ ããŒã¿ãœãŒã¹ã¯ã¢ãã€ã³ã§ããã¢ãã€ã³ãšããŠãRegisterAddin.exe ã«ããããã« ã¯ãªãã¯ç»é²ãæ¢ç¥ã®ãã©ã«ããŒãžã® xcopy ã¹ã¿ã€ã«ã®å±éãäžäœäºææ§ãArcGIS.Core.Data API ã䜿çšãã .NET ã§ã®å®è£ ãªã©ã®å€ãã®åãå©ç¹ã享åã§ããŸãã
ãã©ã°ã€ã³ã®åºç€ãšãªããžãªããŒã¿ããŒã¹æ§é 㯠ProConcepts Plugin Datasource ã§èª¬æãããŠããããã©ã°ã€ã³ ããŒã¿ãœãŒã¹ã®å®è£ æ¹æ³ã«é¢ããã¹ããã ã〠ã¹ãããã®ã¬ã€ã㯠ProGuide Plugin Datasource ã§èª¬æãããŠããŸãã2.3 以éã® Pro SDK ã¯ããã©ã°ã€ã³ ããŒã¿ãœãŒã¹ .csproj ãæåããçæããããã®ãããžã§ã¯ã ãã³ãã¬ãŒãã C# ã§ã®ã¿æäŸããŸãã
ã«ã¹ã¿ã ãã©ã°ã€ã³ ããŒã¿ãœãŒã¹ã¯ãå®å šã« .NET ã«å®è£ ãããŠããŸããããã㯠.esriPlugin æ¡åŒµåãæã¡ã1 ã€ã®äŸå€ãé€ããŠããéåžžã®ãPro ã¢ãã€ã³ãšåãæ¢ç¥ã®ãã©ã«ããŒã®å Žæã«ãããã€ãããŸããPro ã¢ãã€ã³ã¯ããŒãžã§ã³ã®ãªããArcGISProããã©ã«ããŒã«ã³ããŒãããŸãããããã©ã«ãã®ãã©ã°ã€ã³å±éãã©ã«ããŒã¯ããŒãžã§ã³ç®¡çãããŠããŸãïŒArcGISPro2.4ãArcGISPro2.5ãArcGISPro2.6 ãªã©ïŒããã ãããã©ã°ã€ã³ã«ã¯éåžžã®ã¢ãã€ã³ãšåãèªã¿èŸŒã¿ç¹æ§ããããŸããããšãã°ã以åã®ããŒãžã§ã³ã¯æ°ããããŒãžã§ã³ã® Pro ã«ãã£ãŠèªã¿èŸŒãŸããPro ã¢ã»ã³ããªåç §ã¯èªåçã«è»¢éãããææ°ããŒãžã§ã³ã®ãã©ã°ã€ã³ãåªå ãããŸããããŒãžã§ã³ç®¡çãããããã©ã«ãã®ãããã€ã¡ã³ã ãã©ã«ããŒã¯ããã©ã°ã€ã³ã Pro ã«ããŒããããæ¹æ³ã®ç¹ç°æ§ã§ãã
ãã©ã°ã€ã³ Pro ã®ãã€ãã£ãïŒc++ïŒã³ãŒãã«ãã£ãŠããŒãããããã€ãã£ã ã³ãŒãã¯ããŒãžã§ã³ç®¡çãããã¢ãã€ã³ ãã©ã«ããŒïŒArcObjects 10x ãšåãïŒã䜿çšããŠã¢ãã€ã³ïŒãŸãã¯ãã®å Žåã¯ããã©ã°ã€ã³ãïŒãæ€åºããŸãããã©ã°ã€ã³ã¯ãã€ãã£ã ã³ãŒãã«ãã£ãŠèªã¿èŸŒãŸãããããŒãž ã¯ã©ã€ã¢ã³ããšãã€ãã£ã ã¯ã©ã€ã¢ã³ãã®äž¡æ¹ãšçµ±åã§ããããã«ãªããŸãããããã¯å®è£ ã®è©³çްã§ãããã¢ãã€ã³ ã³ãŒãã§ãã©ã°ã€ã³ãå®è£ ãŸãã¯æäœããããã«éèŠã§ã¯ãããŸããã管ç察象ã¯ã©ã€ã¢ã³ãã«ã¯ãPro ã¢ããªã±ãŒã·ã§ã³èªäœãšãµãŒã ããŒãã£ã®ã¢ãã€ã³ãå«ãŸããŸãããã€ãã£ã ã³ãŒãã®çµ±åã¯ããã©ã°ã€ã³ ããŒã¿ãœãŒã¹ããçæããããã£ãŒã㣠ã¯ã©ã¹ãŸãã¯ããŒãã«ãšçµ±åã§ããããã«ãPro ã¢ããªã±ãŒã·ã§ã³ã®c++å±€ã«å¶éãããŠããŸãïŒæ³šïŒãµãŒã ããŒãã£ã¯åžžã« .NET ãä»ã㊠Pro ãã©ã°ã€ã³ãšå¯Ÿè©±ããŸãïŒããã©ã°ã€ã³ã¯ Pro ã®ãã€ãã£ãå±€ã«ãã£ãŠããŒããããããã[ã¢ãã€ã³ ãããŒãžã£ãŒ]ã¿ãã«ã¯è¡šç€ºãããŸããããã©ã°ã€ã³åºæã®ãŠãŒã¶ãŒãšãã·ã³ã®èšå®ã«ã€ããŠã¯ãArcGIS Pro Plugin Registry Keys ãåç §ããŠãã ããã
ã«ã¹ã¿ã ãã©ã°ã€ã³ ããŒã¿ ãœãŒã¹ã¯ãPro ã§ã¯ãžãªããŒã¿ããŒã¹ ãã£ãŒã㣠ã¯ã©ã¹ããã³ããŒãã«ãšããŠå€éšã«è¡šç€ºããããããã¢ããªã±ãŒã·ã§ã³ã®ã¬ã€ã€ãŒããã³ã¹ã¿ã³ã ã¢ãã³ ããŒãã«ã®ããŒã¿ ãœãŒã¹ãšããŠäœ¿çšã§ããŸãããã©ã°ã€ã³ ããŒãã«ããäŸçµŠãããã¬ã€ã€ãŒãŸãã¯ã¹ã¿ã³ã ã¢ãã³ ããŒãã«ãå«ããããžã§ã¯ããä¿åãããŠããå Žåããã®ãããžã§ã¯ããå床éããšãããããŸãã¯ã·ãŒã³ã¯ãã³ã¢ ããŒã¿ã¹ãã¢ã®ãã£ãŒã㣠ã¯ã©ã¹ãŸãã¯ããŒãã«ã®å Žåãšåãããã«ãïŒã«ã¹ã¿ã ãã©ã°ã€ã³ ããŒã¿ ãœãŒã¹ããã®ïŒåºã«ãªããã©ã°ã€ã³ ããŒãã«ãèªåçã«ãã€ãã¬ãŒãããŸãããã©ã°ã€ã³ ããŒãã«ããœãŒã¹ãšãããã£ãŒã㣠ã¬ã€ã€ãŒã¯ãä»ã®ïŒãã£ãŒãã£ïŒã¬ã€ã€ãŒãšåãããã«æç»ãèå¥ãã¯ãšãªãã·ã³ãã«åãªã©ãã§ããŸããããããã®ãœãŒã¹ïŒãã©ã°ã€ã³ïŒããŒã¿ã¯ç·šéã§ããŸããã
ãã©ã°ã€ã³ã«ã¯ Config.daml ã§ã¯ãªã Config.xml ãå«ãŸããŠããŸããDamlèŠçŽ ïŒãã¿ã³ãããŒã«ããããã³ã° ãã€ã³ãã¡ãã¥ãŒããããã㣠ã·ãŒããªã©ïŒããã©ã°ã€ã³ã«è¿œå ããããšã¯ã§ããŸããããããã¯ãµããŒããããŠããŸããããã©ã°ã€ã³ã¯ãããã¬ã¹ã§ãããã«ã¹ã¿ã ãã©ã°ã€ã³ ããŒã¿ãœãŒã¹ã®å®è£
ã®ã¿ãå«ãŸããŠããŸããSDK ã¢ã€ãã ãã³ãã¬ãŒããä»ããŠãã©ã°ã€ã³ ãããžã§ã¯ãã«ãã¿ã³ãããŒã«ããããã³ã° ãã€ã³ãªã©ããŸãã¯ãã®ä»ã® DAML èŠçŽ ã远å ããããšãããšããç¡å¹ãª ArcGIS Pro ã¢ãã€ã³ ãããžã§ã¯ãããšãããšã©ãŒãçºçããŸãã
ãã©ã°ã€ã³èªäœã®äžã§ã¯ãPro ArcGIS.Core API ã®ã¿ã«ã¢ã¯ã»ã¹ã§ããŸãïŒPro ã¢ã»ã³ããªãŒã«é¢ããŠïŒãArcGIS.Desktop.xxxxx ãšã¯ã¹ãã³ã·ã§ã³ API ããã¯ã©ã¹ã€ã³ã¹ã¿ã³ã¹ã«ã¢ã¯ã»ã¹ããããšãããšãPro ã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãã·ã¥ããŸããArcGIS.Desktop.xxxxx ãšã¯ã¹ãã³ã·ã§ã³ API dll åç
§ããã©ã°ã€ã³ã«è¿œå ããŠãPro SDK NuGet ãå«ããããšã¯ã§ããŸããããã©ã°ã€ã³ã«ã¢ã¯ã»ã¹ããã«ã¯ïŒããšãã°ãã¬ã€ã€ãŒãäœæããããããã©ã°ã€ã³ããè¡ãååŸããããã®ã¯ãšãªãªã©ïŒãArcGIS.Core.Data API ãä»ããŠãã©ã°ã€ã³ãã€ã³ã¹ã¿ã³ã¹åããå¥ã® Pro ã¢ãã€ã³ãå¿
èŠã§ãããã®ãã¿ãŒã³ã説æããå®å
šã«å®è£
ããããã©ã°ã€ã³ãšã¢ãã€ã³ã«ã€ããŠã¯ãSimple Point Plugin ãµã³ãã«ãåç
§ããŠãã ããã
ãŠãŒã¶ãŒã®ããã©ã«ã ã¢ãã€ã³ ãã©ã«ã㌠(C:\Users\<username>\Documents\ArcGIS\AddIns\ArcGISPro) ããããŒãããããã¹ãŠã®ã¢ãã€ã³ã¯ãããŒã«ã«ãã¢ãã€ã³ãšã¿ãªãããã¢ãã€ã³ ãããŒãžã£ãŒã®ããã¯ã¹ããŒãž ã¿ãã®ãMy Add-insããªã¹ãã«è¡šç€ºãããŸãã éã«ãããç¥ããããã©ã«ããŒããããŒããããã¢ãã€ã³ã¯ãå
±æã¢ãã€ã³ããšã¿ãªããããShared Add-insããªã¹ã*ã«è¡šç€ºãããŸããå
±æã¢ãã€ã³ã¯ãã¢ãã€ã³ ãããŒãžã£ãŒ ããŒãžã䜿çšããŠåé€ããããšã¯ã§ããŸããã æžãèŸŒã¿æš©éãããã°ããã¡ã€ã« ãšã¯ã¹ãããŒã©ãŒã䜿çšããŠãããã®ã¢ãã€ã³ãåé€ã§ããŸãã 詳现ã«ã€ããŠã¯ãPro ãã«ãã®ã¢ãã€ã³ã®ç®¡çãåç
§ããŠãã ããã
* 3.4 以åã§ã¯ãããç¥ããããã©ã«ããŒããããŒããããã¢ãã€ã³ã¯ ãMy Add-Insã ãªã¹ãã«è¡šç€ºãããŸããã
ã¢ãã€ã³ ã€ã³ã¹ããŒã«æã«ãšã³ã ãŠãŒã¶ãŒäœ¿çšèš±è«Ÿå¥çŽæžïŒEULAïŒã衚瀺ãã
ã¢ãã€ã³ãŸãã¯æ§æç®¡çã®ã€ã³ã¹ããŒã«æã«ãšã³ã ãŠãŒã¶ãŒäœ¿çšèš±è«Ÿå¥çŽæžïŒEULAïŒã衚瀺ããã«ã¯ãEULA æ å ±ãã¢ãã€ã³ .csproj ãŸã㯠.vbproj ã®ã«ãŒãã« EULA.rtf ãã¡ã€ã«ãšããŠè¿œå ããŸãããã¡ã€ã«ã¯ rtf ã§ããå¿ èŠããããŸãããEULAããšããååã«ããå¿ èŠããããŸããEula.rtf ã® Build Content ããããã£ã Content ã«èšå®ããŸããã¢ãã€ã³ã RegisterAddin.exe ã䜿çšããŠã€ã³ã¹ããŒã«ããããšïŒåã«ã³ããŒããã®ã§ã¯ãªãïŒãEULA ãã¡ã€ã«ãã¢ãã€ã³ ã¡ã¿ããŒã¿ããæœåºãããEsri ArcGIS ã¢ãã€ã³ ã€ã³ã¹ããŒã« ãŠãŒãã£ãªã㣠ãã€ã¢ãã°ã«è¡šç€ºãããŸãããšã³ã ãŠãŒã¶ãŒã¯ã[ã¢ãã€ã³ã®ã€ã³ã¹ããŒã«] ãã¿ã³ãæå¹ã«ããŠã€ã³ã¹ããŒã«ãç¶è¡ããããã«ã[åæãã] ãã§ã㯠ããã¯ã¹ãã¯ãªãã¯ããå¿ èŠããããŸãã
詳现ã«ã€ããŠã¯ãPro Concepts Advanced Topics ã®ãDisplay End user license AgreementãEULAãwithAddin installationãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
詳现ã«ã€ããŠã¯ãProConcepts Advanced Topics, Loading 3rd Party Assembly References ãåç §ããŠãã ããã
ã¢ãã€ã³ãšæ§æç®¡çã«ã¯ã宣èšçã§ã¢ã¯ãã£ããªåŽé¢ããããŸããã¢ãã€ã³ãšæ§æã®å®£èšéšåã¯ãã¢ããªã±ãŒã·ã§ã³çšèªã§ã«ã¹ã¿ãã€ãºãèšè¿°ãããã¬ãŒã ã¯ãŒã¯èŠçŽ ïŒäž»ã«ãã©ã°ã€ã³ïŒã®ã³ã¬ã¯ã·ã§ã³ãå«ã DAML ãã¡ã€ã«å ã§å®çŸ©ãããŸããããšãã°ãã¢ãã€ã³ã¯ããããã³ã° ãã€ã³ãš2ã€ã®ã°ã«ãŒããšãã¿ã³ã®ã³ã¬ã¯ã·ã§ã³ãæã€æ°ããã¿ãã§æ§æãããŠããå ŽåããããŸãããããã® DAML èŠçŽ ã¯ããã£ãã·ã§ã³ãããŒã«ããããç»åãã¬ã€ã¢ãŠãïŒäœçœ®ïŒã®è©³çްãªã©ãã³ã³ããŒãã³ãã®éçãªåŽé¢ãèšè¿°ããŸãã宣èšéšåã«ã¯ãå¿ èŠã«å¿ããŠé¢é£ãªããžã§ã¯ããã¢ã¯ãã£ãåïŒäœæïŒããããã«ãã¬ãŒã ã¯ãŒã¯ãå¿ èŠãšããæ å ±ãå«ãŸããŠããŸãã宣èšçåŽé¢ãšããã°ã©ã çåŽé¢ãžã®ãã®åå²ã«ãããæè»æ§ãåäžããã«ã¹ã¿ãã€ãºã®å±éãšé åžãç°¡çŽ åãããŸãã
次㮠DAML ã¯ãæ°ããã¢ãã€ã³ã®å§ãŸãã瀺ããŠããŸãããã®å Žåããã¿ã³ã 1 ã€ããæ°ããã¿ããã¢ããªã±ãŒã·ã§ã³ã«è¿œå ãããŸãã
<?xml version="1.0" encoding="utf-8"?>
<ArcGIS defaultAssembly="Acme.dll"
defaultNamespace="Acme"
xmlns="http://schemas.esri.com/DADF/Registry"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.esri.com/DADF/Registry
file:///C:/Program%20Files/ArcGIS/Pro/bin/ArcGIS.Desktop.Framework.xsd">
<AddInInfo id="{3329a7d3-9f16-4642-9a70-475b421c77b5}"
version="1.0" desktopVersion="3.0.34791">
<Name>Acme</Name>
<Description>Acme Extension</Description>
<Image>Images\AddinDesktop32.png</Image>
<Company>Acme</Company>
<Date>1/10/2020 10:28:50 AM, 2019</Date>
<Subject>Mapping</Subject>
</AddInInfo>
<modules>
<insertModule id="acme_MainModule" className="MainModule"
autoLoad="false" caption="Acme">
<tabs>
<tab id="acme_MainTab" caption="Acme Tools" keytip="AT">
<group refID="acme_mainGroup"/>
</tab>
</tabs>
<groups>
<group id="acme_mainGroup" caption="Tools" keytip="G1">
<button refID="acme_FullExtent" size="large" />
</group>
</groups>
<controls>
<button id="acme_FullExtent" caption="FullExtent "
className="FullExtent" loadOnClick="true"
smallImage="Images\FullExtent16.png"
largeImage="Images\FullExtent32.png"
condition="esri_mapping_mapPane"
keytip="B1">
<tooltip heading="Full Extent">
Displays the current map at its full extent.<disabledText />
</tooltip>
</button>
</controls>
</insertModule>
</modules>
</ArcGIS>泚ïŒ1 ã€ã®ãã¡ã€ã«å ã® DAML èŠçŽ ã¯ãä»ã®ãã¡ã€ã«å ã®èŠçŽ ã倿ŽãŸãã¯åé€ã§ããŸããããšãã°ãå¥ã®ã¢ãã€ã³ã«ãã£ãŠå®çŸ©ããããªãã³ ã°ã«ãŒãã« 1 ã€ã®ãã¿ã³ãæ¿å ¥ããã ãã®ã¢ãã€ã³ã§ããæ¬¡ã®äŸã¯ããããã³ã° ã¢ãžã¥ãŒã«ã®æ¢åã®ã¿ãã®ã°ã«ãŒãã«ãã¿ã³ã远å ãããã®ã§ãããã¿ã³ã¯ç¹å®ã®ã³ã³ãããŒã«ã®åã«é 眮ãããŸãã
<updateModule refID="esri_mapping">
<groups>
<updateGroup refID="esri_mapping_navigateGroup">
<insertButton refID="acme_FullExtent"
insert="before"
placeWith="esri_mapping_zoomFullButton"
separator="true"/>
</updateGroup>
</groups>
</updateModule>ãã¹ãŠã® DAML èŠçŽ ã¯ã«ãŒã ArcGIS èŠçŽ ã«åé¡ãããå¿ èŠããããŸããæåã®åããŒã㯠AddInInfo èŠçŽ ã§ãããã¢ãã€ã³èªäœã«é¢ããã¡ã¿ããŒã¿ãä¿æããŸããããã«ã¯ãäžæã® GUID èå¥åããã®ããŒãžã§ã³ãååãããã³èª¬æãå«ãŸããŸãã
<AddInInfo id="{3329a7d3-9f16-4642-9a70-475b421c77b5}"
version="1.0" desktopVersion="3.1">
<Name>Acme</Name>
<Description>Acme Extension</Description>
<Image>Images\AddinDesktop32.png</Image>
<Company>Acme</Company>
<Date>5/28/2015 10:28:50 AM, 2015</Date>
<Subject>Framework</Subject>
</AddInInfo>ã«ã¹ã¿ãã€ãºãç¶ããmodules, categories, conditions, propertySheets, backstage, dropHandlers ãªã©ã®ããã€ãã®äž»èŠãªé ç®ã«åé¡ãããŸããã芧ã®ãšãããã»ãšãã©ã®ã«ã¹ã¿ãã€ãºã¯ modules èŠçŽ ã®äžã«è¡šç€ºãããŸãã
ãã¹ãŠã®ã«ãŒã ããŒãã¯ãinsert, update, delete ã® 3 ã€ã®ç°ãªãã¢ã¯ã·ã§ã³ã®1ã€ä»¥äžãå®è¡ããŸããæäœã®çš®é¡ã¯ãèŠçŽ åã«ãã£ãŠæ±ºãŸããŸããããšãã°ãæ°ããã¢ãžã¥ãŒã«ã¯ãinsertModule èŠçŽ ã䜿çšããŠå®£èšãããŸããåæ§ã«ãã¢ãžã¥ãŒã«ã¯ updateModule èŠçŽ ã䜿çšããŠæŽæ°ãããŸããinsert 以å€ã®æäœãæå¹ã§ãªãå Žåãinsert ãã¬ãã£ãã¯ã¹ã¯åé€ãããŠããããšã«æ³šæããŠãã ããã
<modules>
<insertModule id="acme_mainModule" caption="Acme"
className="MainModule" autoLoad="false">
...
</insertModule>
</modules>ã«ã¹ã¿ãã€ãºã®çš®é¡ããšã«ãäœæè ãäžæã® ID ãå²ãåœãŠãå¿ èŠããããŸããID ã¯ãèŠçŽ ãæ¿å ¥ããããšãã«ç¢ºç«ãããŸããã«ã¹ã¿ãã€ãºã¯ãæŽæ°ãŸãã¯åé€ããããšãã« ID ã«ãã£ãŠåç §ãããŸãã
æ¬¡ã®æç²ã§ã¯ã以åã«æ¿å ¥ããããã¿ã³ã®ãã£ãã·ã§ã³ã updateButton èŠçŽ ã䜿çšããŠæŽæ°ãããŠããŸããid 屿§ã¯æ°ãããªããžã§ã¯ãã宣èšãããšãã«äœ¿çšãããrefID 屿§ã¯æ¢åã®èŠçŽ ãåç §ããããã«äœ¿çšãããããšã«æ³šæããŠãã ããã
<updateButton refID="esri_SubSystem_Button1" caption="New Caption"/>åæ§ã«ããã¿ã³ã¯ deleteButton ã䜿çšããŠåé€ãããŸãã
<deleteButton refID="esri_SubSystem_Button1"/>DAML åœä»€ïŒinsert, update, deleteïŒã¯ãããŸããŸãªãœãŒã¹ããåŠçãããå®è¡æã«ãã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠçµåãããŠãå
ã® DAML ãã¡ã€ã«ã倿Žããã«ããã¹ãŠã®é¢ä¿è
ã«ãã£ãŠæç€ºããããã¹ãŠã®ã«ã¹ã¿ãã€ãºã®åäžã®ã¡ã¢ãªå
衚çŸã«ãªããŸããArcGIS Pro ã®åã»ãã·ã§ã³ã®å®å
šãª DAML ã調ã¹ãã«ã¯ãã³ãã³ãã©ã€ã³ãªãã·ã§ã³ /dumpcombineddaml ã ArcGISPro.exe ã«è¿œå ããŸãã
ArcGISPro.exe /dumpcombineddaml
ã¡ãã¥ãŒãªã©ã®äžéšã®ã«ã¹ã¿ãã€ãºã¯ãçŽç²ã«å®£èšåã§ããDAML ã§ã®å®çŸ©ã¯ããã¬ãŒã ã¯ãŒã¯ãã¡ãã¥ãŒãäœæããŠè¡šç€ºããããã«å¿ èŠãªãã¹ãŠã§ãããã ããã»ãšãã©ã®ã«ã¹ã¿ãã€ãºã«ã¯ã¢ã¯ãã£ããªïŒã³ãŒã ããã€ã³ãïŒã³ã³ããŒãã³ããããããããã®ã»ãšãã©ã¯å ±éã®åºåºã¯ã©ã¹ PlugIn ããç¶æ¿ããŸãã
public abstract class PlugIn : PropertyChangedBase
{
public string Caption { get; set; }
public string DisabledTooltip { get; set; }
public bool Enabled { get; set; }
public string ID { get; }
public object LargeImage { get; set; }
public object SmallImage { get; set; }
public string Tooltip { get; set; }
public string TooltipHeading { get; set; }
protected internal virtual void OnUpdate();
}PlugIn ãšãã®æŽŸçã¯ã©ã¹ã®ã¡ãœãããšããããã£ã®å€ãã¯ãéçºè ããªãŒããŒã©ã€ããŸãã¯å®è£ ããå¿ èŠã¯ãããŸãããããšãã°ãå€ãã®ãã©ã°ã€ã³ã«èŠããã Caption ããããã£ã®å®è£ ã¯ãã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠæäŸããããã©ã°ã€ã³ã DAML ã䜿çšããŠå®£èšããããšãã«æäŸããããã£ãã·ã§ã³ãè¿ããŸããéçºè ã¯ãOnClick ãªã©ã®ç¹å®ã®åäœãå¿ èŠãªä¿è·ãããä»®æ³ãªãŒããŒã©ã€ãã®ã¿ãæäŸããå¿ èŠããããŸãã
åè¿°ã®ããã«ããã¹ãŠã®ãã©ã°ã€ã³ã«ã¯è±æ°åã®èå¥åïŒIDïŒãå¿ èŠã§ãããã®IDã¯ããã©ã°ã€ã³ã宣èšããããšãã«ãã©ã°ã€ã³ DAML å ã§æå®ãããCOM ã³ã¯ã©ã¹ã«äžæã®ååãä»ããããã«äœ¿çšããã GUID ãšæŠå¿µçã«é¡äŒŒããŠããŸãã
ã¢ã¯ãã£ããªã³ã³ããŒãã³ããæã€ãã¹ãŠã®ãã©ã°ã€ã³ã¯ãã¯ã©ã¹å±æ§ãšã¢ã»ã³ããªå±æ§ã䜿çšããŠãDAML ããããŒãžã³ãŒãã«æ¥ç¶ããŸããã¯ã©ã¹åã¯ãåå空éãå«ãå®å šãªã¯ã©ã¹åã§ããã¢ã»ã³ããªã¯ DAML ãã¡ã€ã«ãšåããã©ã«ããŒã«ãããšæ³å®ãããããããã¹ãæå®ããªãã§ãã ãããã«ãŒã ArcGIS ããŒãã«ã¯defaultNamespace屿§ãš defaultAssembly 屿§ããããDAML å šäœã§ãã®æ å ±ãäžå¿ èŠã«ç¹°ãè¿ãããã®ã軜æžããããšã«æ³šæããŠãã ããã
<?xml version="1.0" encoding="utf-8"?>
<ArcGIS defaultAssembly="Acme.dll"
defaultNamespace="Acme"ãã©ã°ã€ã³ãå¥ã®åå空éã«å±ããŠããå Žåã¯ãã¯ã©ã¹åã®äžéšãšããŠæå®ããŠãã ãããåå空éãããã©ã«ãã®åå空éã®äžéšã§ããå Žåã¯ãæ¬ èœããŠããéšåã®ã¿ãæå®ããŠãã ãããæ¬¡ã®äŸã§ã¯ãFullExtentButton ã¯ã©ã¹ã Acme.Controls åå空éã«è¿œå ãããŠããŸããããã©ã«ãå㯠Acme ã§ãããããDAML ã¯ã©ã¹ãšã³ããªã¯ Controls.FullExtentButton ãèªã¿åãå¿ èŠããããŸãã
namespace Acme.Controls
{
sealed class FullExtentButton : Button
{
}
}<button id="acme_FullExtent" caption="Full Extent" className="Controls.FullExtentButton"
loadOnClick="true"
smallImage="Images\GenericButtonBlack16.png"
largeImage="Images\GenericButtonBlack32.png">
</button>次㮠Pro UI èŠçŽ ã¯ãã©ã°ã€ã³ããæŽŸçããŠããŸãã
- Button
- ComboBox
- CustomControl
- DynamicMenu
- EditBox
- Gallery
- Pane
- DockPane
- Spinner
ã¢ãžã¥ãŒã«ã¯ããµãã·ã¹ãã ã®ããããã³äžå€®ã¢ã¯ã»ã¹ ãã€ã³ããšããŠæ©èœããŸãããµãã·ã¹ãã å ã®æ©èœã«ã¢ã¯ã»ã¹ããå¿ èŠãããå Žåã¯ãã¢ãžã¥ãŒã«ããå§ããŸããã¢ãžã¥ãŒã«ã¯ã·ã³ã°ã«ãã³ã§ãããã³ãŒãã®å®è¡æã«ã¢ã¯ã»ã¹ãæç€ºçã«èŠæ±ããããšãããŸãã¯ã³ã³ããã¹ã ã·ããã®ããã«ã¢ãžã¥ãŒã«ããé¢é£ãã«ãªã£ããšãã«ããã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠèªåçã«ã€ã³ã¹ã¿ã³ã¹åãããŸããã¢ãžã¥ãŒã«ã®äžéšã§ãããã¹ãŠã®ããã°ã©ã èŠçŽ ã¯ããã®ããã«æç€ºçã«å®£èšãããŠããŸãããããã®èŠçŽ ã«ã¯ããªãã³ ãã¿ã³ãããŒã«ãã®ã£ã©ãªãŒãã³ã³ã ããã¯ã¹ãç·šéããã¯ã¹ããã¬ããããã®ä»ã®ã³ã³ãããŒã«ãããã³ã¢ããªã±ãŒã·ã§ã³ ãã€ã³ãšãããã³ã° ãã€ã³ãå«ãŸããŸããã¢ãžã¥ãŒã«ãšããã«é¢é£ããã³ã³ããŒãã³ãã®éã®æç¢ºã«å®çŸ©ãããé¢ä¿ã«ãããã¢ããªã±ãŒã·ã§ã³ã¯ãµãã·ã¹ãã å šäœãåæåãåæåè§£é€ãããã³åé€ã§ããŸãã
UI ã¬ãã«ã®ããžãã¯ã®ã»ãšãã©ã¯ãã¢ãžã¥ãŒã«ãŸãã¯ã¢ãžã¥ãŒã«ãçŽæ¥ç®¡çãããã«ããŒïŒé UIïŒã¯ã©ã¹ã«ååšããå¿ èŠããããŸããããšãã°ããã¿ã³ãäœæããå Žåããã¿ã³ ã¯ã©ã¹èªäœã«ããžãã¹ ããžãã¯ãå«ããããšã¯ã§ããŸããããã¹ãŠã®ããžãã¯ã¯ããã®èŠªã¢ãžã¥ãŒã«ã«éäžåããå¿ èŠããããŸããããžãã¹ ããžãã¯ãäžå åãããšãã¹ãã²ããã£çŸè±¡ãæžå°ããŸããããšãã°ããããããç¹å®ã®ã€ãã³ãããªãã¹ã³ããè€æ°ã®ãã¿ã³ã®ä»£ããã«ã1 ã€ã®ã¢ãžã¥ãŒã«ã«ã€ãã³ãããªãã¹ã³ããã代ããã«åãã¿ã³ã


