规范化前端组件命名

This commit is contained in:
PeterZhong 2025-04-27 12:06:01 +08:00
parent 3ec94c7fa1
commit d655680fde
11 changed files with 128 additions and 38 deletions

1
.gitignore vendored
View File

@ -7,6 +7,7 @@
./vs/
./bin/
./obj/
./Properties/launchSettings.json
*.sln.iml
*.DotSettings
*.dotCover

View File

@ -11,34 +11,39 @@
Content, Framework, Editing, Geodatabase, Geometry, Geoprocessing, Layouts, Map Authoring, Map Exploration -->
</AddInInfo>
<modules>
<insertModule id="LinkToolAddin_Module" className="Module1" autoLoad="false" caption="Module1">
<insertModule id="LinkToolAddin_Module" className="LinkToolModule" autoLoad="false" caption="LinkTool">
<!-- uncomment to have the control hosted on a separate tab-->
<tabs>
<tab id="LinkToolAddin_Tab1" caption="LinkTool">
<group refID="LinkToolAddin_Group1" />
<group refID="CoreGroup" />
<group refID="PreferenceGroup" />
</tab>
</tabs>
<groups>
<!-- comment this out if you have no controls on the Addin tab to avoid
an empty group-->
<group id="LinkToolAddin_Group1" caption="LinkTool核心" appearsOnAddInTab="false">
<!-- host controls within groups -->
<button refID="LinkToolAddin_Dockpane1_ShowButton" size="large" />
<button refID="LinkToolAddin_Button1" size="large" />
<group id="CoreGroup" caption="核心功能" appearsOnAddInTab="false">
<button refID="DialogDockpane_ShowButton" size="large" />
<button refID="Version_Button" size="large" />
</group>
<group id="PreferenceGroup" caption="设置项" appearsOnAddInTab="false">
<button refID="Preference_Button" size="large" />
</group>
</groups>
<controls>
<!-- add your controls here -->
<button id="LinkToolAddin_Dockpane1_ShowButton" caption="打开对话面板" className="Dockpane1_ShowButton" loadOnClick="true" smallImage="GenericButtonPurple16" largeImage="GenericButtonPurple32">
<tooltip heading="打开对话面板">打开LinkTool对话面板你可以通过与AI对话完成一系列地理处理操作<disabledText /></tooltip>
</button>
<button id="LinkToolAddin_Button1" caption="版本信息" className="Button1" loadOnClick="true" smallImage="GenericButtonBlue16" largeImage="GenericButtonBlue32">
<button id="Version_Button" caption="版本信息" className="VersionButton" loadOnClick="true" smallImage="GenericButtonBlue16" largeImage="GenericButtonBlue32">
<tooltip heading="版本信息">点击查看LinkTool插件版本号<disabledText /></tooltip>
</button>
<button id="Preference_Button" caption="偏好设置" className="LinkToolAddin.ui.preference.ShowProWindow1" loadOnClick="true" smallImage="GenericButtonPurple16" largeImage="GenericButtonPurple32">
<tooltip heading="偏好设置">大模型相关参数设置<disabledText /></tooltip>
</button>
<button id="DialogDockpane_ShowButton" caption="对话面板" className="LinkToolAddin.ui.dockpane.DialogDockpane_ShowButton" loadOnClick="true" smallImage="GenericButtonPurple16" largeImage="GenericButtonPurple32">
<tooltip heading="对话面板">打开AI对话面板<disabledText /></tooltip>
</button>
</controls>
<dockPanes>
<dockPane id="LinkToolAddin_Dockpane1" caption="LinkTool" className="Dockpane1ViewModel" dock="group" dockWith="esri_core_projectDockPane">
<content className="Dockpane1View" />
<dockPane id="DialogDockpane" caption="LinkTool" className="LinkToolAddin.ui.dockpane.DialogDockpaneViewModel" dock="group" dockWith="esri_core_projectDockPane">
<content className="LinkToolAddin.ui.dockpane.DialogDockpaneView" />
</dockPane>
</dockPanes>
</insertModule>

View File

@ -101,14 +101,6 @@
<Folder Include="client\" />
<Folder Include="resource\" />
<Folder Include="server\" />
<Folder Include="ui\preference\" />
</ItemGroup>
<ItemGroup>
<Page Update="ui\Dockpane1.xaml">
<Generator>MSBuild:Compile</Generator>
<XamlRuntime>Wpf</XamlRuntime>
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<Import Project="C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\Esri.ProApp.SDK.Desktop.targets" Condition="Exists('C:\Users\PeterZhong\AppData\Local\Programs\ArcGIS\Pro\bin\Esri.ProApp.SDK.Desktop.targets') AND !Exists('Esri.ArcGISPro.Extensions.targets')" />
</Project>

View File

@ -21,14 +21,14 @@ using System.Windows.Input;
namespace LinkToolAddin
{
internal class Module1 : Module
internal class LinkToolModule : Module
{
private static Module1 _this = null;
private static LinkToolModule _this = null;
/// <summary>
/// Retrieve the singleton instance to this module here
/// </summary>
public static Module1 Current => _this ??= (Module1)FrameworkApplication.FindModule("LinkToolAddin_Module");
public static LinkToolModule Current => _this ??= (LinkToolModule)FrameworkApplication.FindModule("LinkToolAddin_Module");
#region Overrides
/// <summary>

View File

@ -20,7 +20,7 @@ using System.Threading.Tasks;
namespace LinkToolAddin
{
internal class Button1 : Button
internal class VersionButton : Button
{
private string version = "0.1.0";
protected override void OnClick()

View File

@ -1,14 +1,14 @@
<UserControl x:Class="LinkToolAddin.Dockpane1View"
<UserControl x:Class="LinkToolAddin.ui.dockpane.DialogDockpaneView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ui="clr-namespace:LinkToolAddin"
xmlns:ui="clr-namespace:LinkToolAddin.ui.dockpane"
xmlns:extensions="clr-namespace:ArcGIS.Desktop.Extensions;assembly=ArcGIS.Desktop.Extensions"
xmlns:controls="clr-namespace:ArcGIS.Desktop.Framework.Controls;assembly=ArcGIS.Desktop.Framework"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
d:DataContext="{Binding Path=ui.Dockpane1ViewModel}">
d:DataContext="{Binding Path=ui.DialogDockpaneViewModel}">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>

View File

@ -14,14 +14,14 @@ using System.Windows.Navigation;
using System.Windows.Shapes;
namespace LinkToolAddin
namespace LinkToolAddin.ui.dockpane
{
/// <summary>
/// Interaction logic for Dockpane1View.xaml
/// Interaction logic for DialogDockpaneView.xaml
/// </summary>
public partial class Dockpane1View : UserControl
public partial class DialogDockpaneView : UserControl
{
public Dockpane1View()
public DialogDockpaneView()
{
InitializeComponent();
}

View File

@ -18,13 +18,13 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LinkToolAddin
namespace LinkToolAddin.ui.dockpane
{
internal class Dockpane1ViewModel : DockPane
internal class DialogDockpaneViewModel : DockPane
{
private const string _dockPaneID = "LinkToolAddin_Dockpane1";
private const string _dockPaneID = "DialogDockpane";
protected Dockpane1ViewModel() { }
protected DialogDockpaneViewModel() { }
/// <summary>
/// Show the DockPane.
@ -52,11 +52,11 @@ namespace LinkToolAddin
/// <summary>
/// Button implementation to show the DockPane.
/// </summary>
internal class Dockpane1_ShowButton : Button
internal class DialogDockpane_ShowButton : Button
{
protected override void OnClick()
{
Dockpane1ViewModel.Show();
DialogDockpaneViewModel.Show();
}
}
}

View File

@ -0,0 +1,22 @@
<controls:ProWindow x:Class="LinkToolAddin.ui.preference.ProWindow1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:controls="clr-namespace:ArcGIS.Desktop.Framework.Controls;assembly=ArcGIS.Desktop.Framework"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:extensions="clr-namespace:ArcGIS.Desktop.Extensions;assembly=ArcGIS.Desktop.Extensions"
mc:Ignorable="d"
Title="LinkTool首选项" Height="300" Width="300"
WindowStartupLocation="CenterOwner"
>
<controls:ProWindow.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<extensions:DesignOnlyResourceDictionary Source="pack://application:,,,/ArcGIS.Desktop.Framework;component\Themes\Default.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</controls:ProWindow.Resources>
<Grid>
</Grid>
</controls:ProWindow>

View File

@ -0,0 +1,28 @@
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.ui.preference
{
/// <summary>
/// Interaction logic for ProWindow1.xaml
/// </summary>
public partial class ProWindow1 : ArcGIS.Desktop.Framework.Controls.ProWindow
{
public ProWindow1()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,42 @@
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.ui.preference
{
internal class ShowProWindow1 : Button
{
private ProWindow1 _prowindow1 = null;
protected override void OnClick()
{
//already open?
if (_prowindow1 != null)
return;
_prowindow1 = new ProWindow1();
_prowindow1.Owner = FrameworkApplication.Current.MainWindow;
_prowindow1.Closed += (o, e) => { _prowindow1 = null; };
_prowindow1.Show();
//uncomment for modal
//_prowindow1.ShowDialog();
}
}
}