编写 Repository 插件快捷菜单程序需要执行以下两步操作
编写特定的 Repository Provider“VciRepositoryAddInProvider”程序
编写特定的 Repository 插件程序
要为工作区使用插件,必须在相应工作区中激活此插件,此外,还需要在 TIA Portal 中将其激活。
需要具有 C# 项目来创建类库。
要编写特定的 Repository Provider“VciRepositoryAddInProvider”程序,请按以下步骤操作:
在项目中创建一个新类,并*一个具体名称,例如“VciRepositoryProvider.cs”。
在该类中添加以下两个 using 指令:
- using Siemens.Engineering.AddIn.VersionControl;
- using <项目名称>;
将该类声明为“public”,并将其用作“VciRepositoryAddInProvider”的子类:
public class WorkspaceSpecificRepositoryAddInProvider : VciRepositoryAddInProvider
在新类中输入“override”作为文本,然后在所显示的下拉菜单中选择条目“GetVciRepositoryAddIns”。
该方法是一种补充,目的是包括所有相关组件。
移除方法的内容,然后输入以下代码:
yield return new <Your_WorkspaceSpecificRepositoryAddIn_ClassName>("<Name of the Repository Add-In>");
要编写新的特定 Repository 插件程序,请按以下步骤操作:
在项目中创建一个新类,并*一个具体名称,例如“VciRepositoryAddIn.cs”。
在该类中添加以下 using 指令:
using Siemens.Engineering.AddIn.VersionControl;
将该类声明为“public”,并将其用作“VciRepositoryAddIn”的子类:
public class RepositorySpecificAddIn : VciRepositoryAddIn
在新类中输入“override”作为文本,然后在所显示的下拉菜单中选择条目“GetVciWorkspaceViewAddInProvider”。
该方法是一种补充,目的是包括所有相关组件。
在项目中创建一个新类,并*一个具体名称,例如“VciWorkspaceProvider.cs”。
在该类中添加以下两个 using 指令:
- using Siemens.nu;
- using Siemens.Engineering.AddIn.VersionControl;
将该类声明为“public”,并将其用作“VciWorkspaceViewAddInProvider”的子类:
public class VciWorkspaceProvider : VciWorkspaceViewAddInProvider
在新类中输入“override”作为文本,然后在所显示的下拉菜单中选择条目“GetContextMenuAddIns”。
该方法是一种补充,目的是包括所有相关组件。
删除行“return base.GetContextMenuAddIns();”,然后输入以下代码:
yield return new <Your_Shortcut_Menu_Class_Name>("<Text of shortcut menu>");
如果在“AddInContextMenu”类中编写快捷菜单程序,且快捷菜单中的条目名为“My AddIn”,则该行将如下所示:
yield return new AddInContextMenu("My AddIn");
仅当已在工作区中组态插件时,使用 Repository 插件创建的快捷菜单才可用。否则,此类快捷菜单与常规快捷菜单没有区别。
View Provider "VciRepositoryAddInProvider":
using System.Collections.Generic; using Siemens.Engineering.AddIn.VersionControl; using VCI.RepoSpecificContextMenu.AddIn; namespace Vci.Git.AddIn { public class WorkspaceSpecificRepositoryAddInProvider : VciRepositoryAddInProvider { public override IEnumerable<VciRepositoryAddIn> GetVciRepositoryAddIns() { yield return new RepoSpecificAddIn(); } } } |
特定的 Repository 插件包含两个不同的类。
|
---|
using Siemens.Engineering.AddIn.VersionControl; namespace VCI.RepoSpecificContextMenu.AddIn { public class RepoSpecificAddIn : VciRepositoryAddIn { private const string s_DisplayName = "Repo Specific Context Menu AddIn"; public RepoSpecificAddIn() : base(s_DisplayName) { } public override VciWorkspaceViewAddInProvider GetVciWorkspaceViewAddInProvider() { return new RepoSpecificWorkspaceViewAddInProvider(); } } } |
using System.Windows.Forms; using Siemens.nu; using Siemens.Engineering.AddIn.VersionControl; namespace VCI.RepoSpecificContextMenu.AddIn { public class VCIContextMenuAddIn : ContextMenuAddIn { private const string s_DisplayName = "Repo Specific Context Menu AddIn"; public VCIContextMenuAddIn() : base(s_DisplayName) { } protected override void BuildContextMenuItems(ContextMenuAddInRoot addInRootSubmenu) { addInRootSubmenu.Items.AddActionItem<WorkspaceFile>("Repo Specific Entry", LogClickDelegate); } private void LogClickDelegate(MenuSelectionProvider<WorkspaceFile> menuSelectionProvider) { MessageBox.Show("Repo Specific Context Menu Entry", "Repo Specific", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } |
产品推荐
友情链接