From 3f62d18e4361cd1d7a49c126765d95b2ad9c8246 Mon Sep 17 00:00:00 2001 From: chr <chr@mailcom> Date: 星期二, 04 三月 2025 08:42:07 +0800 Subject: [PATCH] 优化插件; --- PdmSwPlugin.Main/SwAddIn/MainControl.cs | 1 PdmSwPlugin.PropertySetting/Panel/JgjModulePanel.xaml | 2 PdmSwPlugin.PropertySetting/PropertySettingControl.xaml.cs | 5 .vs/SwPlugin/v17/DocumentLayout.backup.json | 310 ++++++++++- PdmSwPlugin.Common/Util/CustomPropertyUtil.cs | 106 ++- PdmSwPlugin.PropertySetting/Panel/JgjPartPanel.xaml.cs | 8 PdmSwPlugin.PropertySetting/CommonSettingControl.xaml | 30 + InnoSetupScript/PdmSwPlugin.iss | 2 PdmSwPlugin.Common/Interface/IActiveDocChangeHandler.cs | 2 PdmSwPlugin.PropertySetting/CommonSettingControl.xaml.cs | 249 ++------ PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs | 5 PdmSwPlugin.PropertySetting/SettingControl.xaml.cs | 15 PdmSwPlugin.Main/MainControl.xaml | 3 PdmSwPlugin.Common/Style/ComboxStyle.xaml | 1 PdmSwPlugin.PropertySetting/Panel/StandardPartPanel.xaml | 2 PdmSwPlugin.PropertySetting/Panel/JgjPartPanel.xaml | 2 PdmSwPlugin.PDM/PdmControl.xaml.cs | 176 +---- .vs/SwPlugin/v17/DocumentLayout.json | 321 ++++++++++- PdmSwPlugin.PropertySetting/Util/PropHolder.cs | 65 ++ PdmSwPlugin.Common/Util/Pdm/BomTreeReader.cs | 2 PdmSwPlugin.PropertySetting/Panel/DefaultPanel.xaml.cs | 1 PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml | 2 PdmSwPlugin.Main/MainTab.xaml | 13 PdmSwPlugin.MaterialSelect/SwAddIn/MaterialSelectControl.cs | 4 PdmSwPlugin.DrawApprove/DrawApprove.xaml | 2 PdmSwPlugin.PropertySetting/Panel/StandardPartPanel.xaml.cs | 8 PdmSwPlugin.PropertySetting/PdmSwPlugin.PropertySetting.csproj | 2 PdmSwPlugin.Common/Util/SwDMUtil.cs | 134 ++++ PdmSwPlugin.PropertySetting/Panel/JgjModulePanel.xaml.cs | 8 PdmSwPlugin.Main/Constant/PluginConst.cs | 2 PdmSwPlugin.PropertySetting/Panel/StandardModulePanel.xaml | 2 PdmSwPlugin.PropertySetting/Util/PropSetter.cs | 57 ++ PdmSwPlugin.Main/MainControl.xaml.cs | 1 PdmSwPlugin.Common/Util/UI/MultiExWindow.xaml.cs | 20 PdmSwPlugin.PropertySetting/Panel/StandardModulePanel.xaml.cs | 8 PdmSw/log4net.config | 2 PdmSwPlugin.PDM/PdmControl.xaml | 2 37 files changed, 1,138 insertions(+), 437 deletions(-) diff --git a/.vs/SwPlugin/v17/DocumentLayout.backup.json b/.vs/SwPlugin/v17/DocumentLayout.backup.json index 6ae4a6d..6846227 100644 --- a/.vs/SwPlugin/v17/DocumentLayout.backup.json +++ b/.vs/SwPlugin/v17/DocumentLayout.backup.json @@ -3,16 +3,80 @@ "WorkspaceRootPath": "D:\\Workspace\\PdmSwPlugin2\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.pdm\\pdmcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|solutionrelative:pdmswplugin.pdm\\pdmcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\commonsettingcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.pdm\\pdmcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|solutionrelative:pdmswplugin.pdm\\pdmcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.main\\constant\\pluginconst.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\constant\\pluginconst.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\util\\swdmutil.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\util\\swdmutil.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmsw\\log4net.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", + "RelativeMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|solutionrelative:pdmsw\\log4net.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" + }, + { + "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\maintab.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\maintab.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.drawapprove\\drawaudithiscontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|solutionrelative:pdmswplugin.drawapprove\\drawaudithiscontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.drawapprove\\drawapprove.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|solutionrelative:pdmswplugin.drawapprove\\drawapprove.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.propertysetting\\commonsettingcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\commonsettingcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\maincontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\maincontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\style\\linkbutton.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\style\\linkbutton.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\maincontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\maincontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|D:\\Workspace\\PdmSwPlugin2\\wpfui\\log4net.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", + "RelativeMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|solutionrelative:wpfui\\log4net.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" + }, + { + "AbsoluteMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|D:\\Workspace\\PdmSwPlugin2\\wpfui\\properties\\assemblyinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|solutionrelative:wpfui\\properties\\assemblyinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\swaddin\\maincontrol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\swaddin\\maincontrol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmsw\\swaddin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|solutionrelative:pdmsw\\swaddin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\util\\pdm\\bomtreereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\util\\pdm\\bomtreereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.propertysetting\\commonsettingcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\commonsettingcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", - "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\util\\ui\\multiexwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\util\\ui\\multiexwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -22,44 +86,234 @@ "DocumentGroups": [ { "DockedHeight": 530, - "SelectedChildIndex": 1, + "SelectedChildIndex": 19, "Children": [ { "$type": "Document", + "DocumentIndex": 2, + "Title": "PluginConst.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Main\\Constant\\PluginConst.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs", + "RelativeToolTip": "PdmSwPlugin.Main\\Constant\\PluginConst.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-10T03:06:44.394Z", + "EditorCaption": "" + }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{269a02dc-6af8-11d3-bdc4-00c04f688e50}" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "SwDMUtil.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\SwDMUtil.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Util\\SwDMUtil.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\SwDMUtil.cs", + "RelativeToolTip": "PdmSwPlugin.Common\\Util\\SwDMUtil.cs", + "ViewState": "AgIAAEsAAAAAAAAAAAAywFcAAAAfAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-19T08:17:18.883Z" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "DrawAuditHisControl.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml", + "RelativeToolTip": "PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-19T01:34:25.024Z" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "MainTab.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainTab.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.Main\\MainTab.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainTab.xaml", + "RelativeToolTip": "PdmSwPlugin.Main\\MainTab.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-19T01:25:43.752Z" + }, + { + "$type": "Document", + "DocumentIndex": 9, + "Title": "MainControl.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.Main\\MainControl.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml", + "RelativeToolTip": "PdmSwPlugin.Main\\MainControl.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-19T01:24:39.136Z" + }, + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "CommonSettingControl.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml", + "RelativeToolTip": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-19T01:24:14.453Z" + }, + { + "$type": "Document", + "DocumentIndex": 10, + "Title": "LinkButton.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Style\\LinkButton.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Style\\LinkButton.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Style\\LinkButton.xaml", + "RelativeToolTip": "PdmSwPlugin.Common\\Style\\LinkButton.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-18T02:04:24.459Z" + }, + { + "$type": "Document", "DocumentIndex": 1, + "Title": "PdmControl.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.PDM\\PdmControl.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml", + "RelativeToolTip": "PdmSwPlugin.PDM\\PdmControl.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-14T08:10:21.941Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "log4net.config", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\log4net.config", + "RelativeDocumentMoniker": "PdmSw\\log4net.config", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\log4net.config", + "RelativeToolTip": "PdmSw\\log4net.config", + "ViewState": "AgIAAA8AAAAAAAAAAADwvyMAAAAkAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|", + "WhenOpened": "2025-02-14T06:58:08.237Z" + }, + { + "$type": "Document", + "DocumentIndex": 13, + "Title": "AssemblyInfo.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\Properties\\AssemblyInfo.cs", + "RelativeDocumentMoniker": "WpfUI\\Properties\\AssemblyInfo.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\Properties\\AssemblyInfo.cs", + "RelativeToolTip": "WpfUI\\Properties\\AssemblyInfo.cs", + "ViewState": "AgIAACQAAAAAAAAAAADwvzYAAAAvAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-14T06:24:49.631Z" + }, + { + "$type": "Document", + "DocumentIndex": 11, + "Title": "MainControl.xaml.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Main\\MainControl.xaml.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml.cs", + "RelativeToolTip": "PdmSwPlugin.Main\\MainControl.xaml.cs", + "ViewState": "AgIAADQAAAAAAAAAAAAYwBEAAAAdAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-14T06:24:33.175Z" + }, + { + "$type": "Document", + "DocumentIndex": 12, + "Title": "log4net.config", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\log4net.config", + "RelativeDocumentMoniker": "WpfUI\\log4net.config", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\log4net.config", + "RelativeToolTip": "WpfUI\\log4net.config", + "ViewState": "AgIAAAMAAAAAAAAAAAAUwBAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|", + "WhenOpened": "2025-02-14T06:23:24.263Z" + }, + { + "$type": "Document", + "DocumentIndex": 14, + "Title": "MainControl.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", + "RelativeToolTip": "PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", + "ViewState": "AgIAACoAAAAAAAAAAAAzwDgAAAAgAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-12T08:10:40.337Z" + }, + { + "$type": "Document", + "DocumentIndex": 15, + "Title": "SwAddin.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\SwAddin.cs", + "RelativeDocumentMoniker": "PdmSw\\SwAddin.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\SwAddin.cs", + "RelativeToolTip": "PdmSw\\SwAddin.cs", + "ViewState": "AgIAACoBAAAAAAAAAAAawEcBAAAiAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-12T08:00:05.533Z" + }, + { + "$type": "Document", + "DocumentIndex": 16, + "Title": "BomTreeReader.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs", + "RelativeToolTip": "PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs", + "ViewState": "AgIAALsAAAAAAAAAAAAswMcAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-12T07:44:36.406Z" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "Title": "DrawApprove.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawApprove.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.DrawApprove\\DrawApprove.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawApprove.xaml", + "RelativeToolTip": "PdmSwPlugin.DrawApprove\\DrawApprove.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-12T01:37:15.351Z" + }, + { + "$type": "Document", + "DocumentIndex": 18, + "Title": "MultiExWindow.xaml.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\UI\\MultiExWindow.xaml.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Util\\UI\\MultiExWindow.xaml.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\UI\\MultiExWindow.xaml.cs", + "RelativeToolTip": "PdmSwPlugin.Common\\Util\\UI\\MultiExWindow.xaml.cs", + "ViewState": "AgIAAEUAAAAAAAAAAAA0wFwAAAA+AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-10T02:13:56.89Z" + }, + { + "$type": "Document", + "DocumentIndex": 17, "Title": "CommonSettingControl.xaml.cs", "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs", "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs", "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs", "RelativeToolTip": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs", - "ViewState": "AgIAAAoBAAAAAAAAAAD4vx0BAAAgAAAAAAAAAA==", + "ViewState": "AgIAAPEBAAAAAAAAAAAYwAMCAABHAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-02T06:15:07.965Z", - "EditorCaption": "" + "WhenOpened": "2025-02-10T00:46:05.182Z" }, { "$type": "Document", "DocumentIndex": 0, - "Title": "JgjPartPanel.xaml.cs", - "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs", - "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs", - "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs", - "RelativeToolTip": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs", - "ViewState": "AgIAAF4BAAAAAAAAAAAQwIABAABGAAAAAAAAAA==", + "Title": "PdmControl.xaml.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.PDM\\PdmControl.xaml.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml.cs", + "RelativeToolTip": "PdmSwPlugin.PDM\\PdmControl.xaml.cs", + "ViewState": "AgIAAJwGAAAAAAAAAIBBwKwGAAAgAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-02T06:10:11.494Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 2, - "Title": "JgjPartPanel.xaml", - "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml", - "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml", - "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml", - "RelativeToolTip": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", - "WhenOpened": "2025-01-02T06:07:52.955Z", + "WhenOpened": "2025-01-24T08:15:20.974Z", "EditorCaption": "" } ] diff --git a/.vs/SwPlugin/v17/DocumentLayout.json b/.vs/SwPlugin/v17/DocumentLayout.json index 6ae4a6d..2d46b2b 100644 --- a/.vs/SwPlugin/v17/DocumentLayout.json +++ b/.vs/SwPlugin/v17/DocumentLayout.json @@ -3,16 +3,80 @@ "WorkspaceRootPath": "D:\\Workspace\\PdmSwPlugin2\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\maincontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\maincontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\commonsettingcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.pdm\\pdmcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|solutionrelative:pdmswplugin.pdm\\pdmcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.pdm\\pdmcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{1033FBD8-8700-4CD0-808A-BB97DB057A6B}|PdmSwPlugin.PDM\\PdmSwPlugin.PDM.csproj|solutionrelative:pdmswplugin.pdm\\pdmcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\constant\\pluginconst.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\constant\\pluginconst.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\util\\swdmutil.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\util\\swdmutil.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmsw\\log4net.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", + "RelativeMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|solutionrelative:pdmsw\\log4net.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" + }, + { + "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\maintab.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\maintab.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.drawapprove\\drawaudithiscontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|solutionrelative:pdmswplugin.drawapprove\\drawaudithiscontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.drawapprove\\drawapprove.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{BE239D32-7253-4D19-8793-159E98545B55}|PdmSwPlugin.DrawApprove\\PdmSwPlugin.DrawApprove.csproj|solutionrelative:pdmswplugin.drawapprove\\drawapprove.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.propertysetting\\commonsettingcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\commonsettingcontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\maincontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\maincontrol.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\style\\linkbutton.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\style\\linkbutton.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|D:\\Workspace\\PdmSwPlugin2\\wpfui\\log4net.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", + "RelativeMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|solutionrelative:wpfui\\log4net.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" + }, + { + "AbsoluteMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|D:\\Workspace\\PdmSwPlugin2\\wpfui\\properties\\assemblyinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{4536570F-AD3C-4D24-870A-63C9E9CE0FED}|WpfUI\\WpfUI.csproj|solutionrelative:wpfui\\properties\\assemblyinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.main\\swaddin\\maincontrol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6E609A8C-583B-4607-A510-FA84218C4A31}|PdmSwPlugin.Main\\PdmSwPlugin.Main.csproj|solutionrelative:pdmswplugin.main\\swaddin\\maincontrol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmsw\\swaddin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{7ACEDAA9-2DE8-4485-837A-E7D58812A6DC}|PdmSw\\PdmSw.csproj|solutionrelative:pdmsw\\swaddin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\util\\pdm\\bomtreereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\util\\pdm\\bomtreereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.propertysetting\\commonsettingcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\commonsettingcontrol.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|d:\\workspace\\pdmswplugin2\\pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", - "RelativeMoniker": "D:0:0:{713278FD-1A24-41A4-86B7-1072E7DB9E39}|PdmSwPlugin.PropertySetting\\PdmSwPlugin.PropertySetting.csproj|solutionrelative:pdmswplugin.propertysetting\\panel\\jgjpartpanel.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + "AbsoluteMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|D:\\Workspace\\PdmSwPlugin2\\pdmswplugin.common\\util\\ui\\multiexwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{E17EF6B6-EE83-45AA-B0C0-E3A097089E97}|PdmSwPlugin.Common\\PdmSwPlugin.Common.csproj|solutionrelative:pdmswplugin.common\\util\\ui\\multiexwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -22,45 +86,234 @@ "DocumentGroups": [ { "DockedHeight": 530, - "SelectedChildIndex": 1, + "SelectedChildIndex": 12, "Children": [ { "$type": "Document", + "DocumentIndex": 3, + "Title": "PluginConst.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Main\\Constant\\PluginConst.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\Constant\\PluginConst.cs", + "RelativeToolTip": "PdmSwPlugin.Main\\Constant\\PluginConst.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-10T03:06:44.394Z" + }, + { + "$type": "Document", "DocumentIndex": 1, + "Title": "PdmControl.xaml.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.PDM\\PdmControl.xaml.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml.cs", + "RelativeToolTip": "PdmSwPlugin.PDM\\PdmControl.xaml.cs", + "ViewState": "AgIAAJ0GAAAAAAAAAAAkwKwGAAAgAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-01-24T08:15:20.974Z", + "EditorCaption": "" + }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{269a02dc-6af8-11d3-bdc4-00c04f688e50}" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "SwDMUtil.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\SwDMUtil.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Util\\SwDMUtil.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\SwDMUtil.cs", + "RelativeToolTip": "PdmSwPlugin.Common\\Util\\SwDMUtil.cs", + "ViewState": "AgIAAEsAAAAAAAAAAAAywFcAAAAfAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-19T08:17:18.883Z" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "Title": "DrawAuditHisControl.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml", + "RelativeToolTip": "PdmSwPlugin.DrawApprove\\DrawAuditHisControl.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-19T01:34:25.024Z" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "MainTab.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainTab.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.Main\\MainTab.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainTab.xaml", + "RelativeToolTip": "PdmSwPlugin.Main\\MainTab.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-19T01:25:43.752Z" + }, + { + "$type": "Document", + "DocumentIndex": 10, + "Title": "MainControl.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.Main\\MainControl.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml", + "RelativeToolTip": "PdmSwPlugin.Main\\MainControl.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-19T01:24:39.136Z" + }, + { + "$type": "Document", + "DocumentIndex": 9, + "Title": "CommonSettingControl.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml", + "RelativeToolTip": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-19T01:24:14.453Z" + }, + { + "$type": "Document", + "DocumentIndex": 11, + "Title": "LinkButton.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Style\\LinkButton.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Style\\LinkButton.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Style\\LinkButton.xaml", + "RelativeToolTip": "PdmSwPlugin.Common\\Style\\LinkButton.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-18T02:04:24.459Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "PdmControl.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.PDM\\PdmControl.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PDM\\PdmControl.xaml", + "RelativeToolTip": "PdmSwPlugin.PDM\\PdmControl.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-14T08:10:21.941Z" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "log4net.config", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\log4net.config", + "RelativeDocumentMoniker": "PdmSw\\log4net.config", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\log4net.config", + "RelativeToolTip": "PdmSw\\log4net.config", + "ViewState": "AgIAAA8AAAAAAAAAAADwvyMAAAAkAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|", + "WhenOpened": "2025-02-14T06:58:08.237Z" + }, + { + "$type": "Document", + "DocumentIndex": 13, + "Title": "AssemblyInfo.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\Properties\\AssemblyInfo.cs", + "RelativeDocumentMoniker": "WpfUI\\Properties\\AssemblyInfo.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\Properties\\AssemblyInfo.cs", + "RelativeToolTip": "WpfUI\\Properties\\AssemblyInfo.cs", + "ViewState": "AgIAACQAAAAAAAAAAADwvzYAAAAvAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-14T06:24:49.631Z" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "MainControl.xaml.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Main\\MainControl.xaml.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\MainControl.xaml.cs", + "RelativeToolTip": "PdmSwPlugin.Main\\MainControl.xaml.cs", + "ViewState": "AgIAABsAAAAAAAAAAAAAADMAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-14T06:24:33.175Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 12, + "Title": "log4net.config", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\log4net.config", + "RelativeDocumentMoniker": "WpfUI\\log4net.config", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\WpfUI\\log4net.config", + "RelativeToolTip": "WpfUI\\log4net.config", + "ViewState": "AgIAAAMAAAAAAAAAAAAUwBAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|", + "WhenOpened": "2025-02-14T06:23:24.263Z" + }, + { + "$type": "Document", + "DocumentIndex": 14, + "Title": "MainControl.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", + "RelativeToolTip": "PdmSwPlugin.Main\\SwAddIn\\MainControl.cs", + "ViewState": "AgIAACoAAAAAAAAAAAAzwDgAAAAgAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-12T08:10:40.337Z" + }, + { + "$type": "Document", + "DocumentIndex": 15, + "Title": "SwAddin.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\SwAddin.cs", + "RelativeDocumentMoniker": "PdmSw\\SwAddin.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSw\\SwAddin.cs", + "RelativeToolTip": "PdmSw\\SwAddin.cs", + "ViewState": "AgIAACoBAAAAAAAAAAAawEcBAAAiAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-12T08:00:05.533Z" + }, + { + "$type": "Document", + "DocumentIndex": 16, + "Title": "BomTreeReader.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs", + "RelativeToolTip": "PdmSwPlugin.Common\\Util\\Pdm\\BomTreeReader.cs", + "ViewState": "AgIAALsAAAAAAAAAAAAswMcAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-12T07:44:36.406Z" + }, + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "DrawApprove.xaml", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawApprove.xaml", + "RelativeDocumentMoniker": "PdmSwPlugin.DrawApprove\\DrawApprove.xaml", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.DrawApprove\\DrawApprove.xaml", + "RelativeToolTip": "PdmSwPlugin.DrawApprove\\DrawApprove.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-02-12T01:37:15.351Z" + }, + { + "$type": "Document", + "DocumentIndex": 18, + "Title": "MultiExWindow.xaml.cs", + "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\UI\\MultiExWindow.xaml.cs", + "RelativeDocumentMoniker": "PdmSwPlugin.Common\\Util\\UI\\MultiExWindow.xaml.cs", + "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.Common\\Util\\UI\\MultiExWindow.xaml.cs", + "RelativeToolTip": "PdmSwPlugin.Common\\Util\\UI\\MultiExWindow.xaml.cs", + "ViewState": "AgIAAEUAAAAAAAAAAAA0wFwAAAA+AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-10T02:13:56.89Z" + }, + { + "$type": "Document", + "DocumentIndex": 17, "Title": "CommonSettingControl.xaml.cs", "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs", "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs", "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs", "RelativeToolTip": "PdmSwPlugin.PropertySetting\\CommonSettingControl.xaml.cs", - "ViewState": "AgIAAAoBAAAAAAAAAAD4vx0BAAAgAAAAAAAAAA==", + "ViewState": "AgIAAPEBAAAAAAAAAAAYwAMCAABHAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-02T06:15:07.965Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 0, - "Title": "JgjPartPanel.xaml.cs", - "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs", - "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs", - "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs", - "RelativeToolTip": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml.cs", - "ViewState": "AgIAAF4BAAAAAAAAAAAQwIABAABGAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-02T06:10:11.494Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 2, - "Title": "JgjPartPanel.xaml", - "DocumentMoniker": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml", - "RelativeDocumentMoniker": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml", - "ToolTip": "D:\\Workspace\\PdmSwPlugin2\\PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml", - "RelativeToolTip": "PdmSwPlugin.PropertySetting\\Panel\\JgjPartPanel.xaml", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", - "WhenOpened": "2025-01-02T06:07:52.955Z", - "EditorCaption": "" + "WhenOpened": "2025-02-10T00:46:05.182Z" } ] } diff --git a/InnoSetupScript/PdmSwPlugin.iss b/InnoSetupScript/PdmSwPlugin.iss index 23494a5..b5d9777 100644 --- a/InnoSetupScript/PdmSwPlugin.iss +++ b/InnoSetupScript/PdmSwPlugin.iss @@ -7,7 +7,7 @@ ; 自动更新程序路径 #define AutoUpdaterDir = "D:\Workspace\PdmSwPlugin2\PdmSw\bin\x64\Release\AutoUpdater\" ; 版本 -#define Version = "_0.0.0.45_审核质量" +#define Version = "_0.0.0.46_工程图引用问题" ; 生成的Installer存放路径 #define OutPutDir = "Z:\Output" diff --git a/PdmSw/log4net.config b/PdmSw/log4net.config index 516b83f..60c615e 100644 --- a/PdmSw/log4net.config +++ b/PdmSw/log4net.config @@ -31,7 +31,7 @@ </appender> <root> - <level value="INFO" /> + <level value="DEBUG" /> <appender-ref ref="Console" /> <appender-ref ref="RollingFile" /> </root> diff --git a/PdmSwPlugin.Common/Interface/IActiveDocChangeHandler.cs b/PdmSwPlugin.Common/Interface/IActiveDocChangeHandler.cs index 7749970..711155e 100644 --- a/PdmSwPlugin.Common/Interface/IActiveDocChangeHandler.cs +++ b/PdmSwPlugin.Common/Interface/IActiveDocChangeHandler.cs @@ -32,5 +32,7 @@ void OnDocDestroy(ModelDoc2 doc); void AfterDocDestroy(); + + void DisabledHandler(); } } diff --git a/PdmSwPlugin.Common/Style/ComboxStyle.xaml b/PdmSwPlugin.Common/Style/ComboxStyle.xaml index bb9bc33..0e62472 100644 --- a/PdmSwPlugin.Common/Style/ComboxStyle.xaml +++ b/PdmSwPlugin.Common/Style/ComboxStyle.xaml @@ -9,6 +9,7 @@ <Grid> <!-- 涓嬫媺鎸夐挳 --> <ToggleButton x:Name="ToggleButton" Grid.Column="2" Focusable="false" ClickMode="Press" + FontSize="16" HorizontalContentAlignment="Stretch" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"> <Grid> diff --git a/PdmSwPlugin.Common/Util/CustomPropertyUtil.cs b/PdmSwPlugin.Common/Util/CustomPropertyUtil.cs index 79b7a5a..e3172ba 100644 --- a/PdmSwPlugin.Common/Util/CustomPropertyUtil.cs +++ b/PdmSwPlugin.Common/Util/CustomPropertyUtil.cs @@ -1,5 +1,6 @@ 锘縰sing SolidWorks.Interop.sldworks; using SolidWorks.Interop.swconst; +using System; using System.Collections.Generic; namespace PdmSwPlugin.Common.Util @@ -31,53 +32,6 @@ } } - /// <summary> - /// 鑾峰彇鏂囨。灞炴�� - /// </summary> - /// <param name="currentModelDoc">鏂囨。</param> - /// <param name="needResolve">鏄惁杞崲鍊�</param> - /// <param name="skipName">璺宠繃鐨刵ame</param> - /// <returns></returns> - public static Dictionary<string, string> GetCustomProperties2(ModelDoc2 currentModelDoc, - bool needResolve, - HashSet<string> skipName = null) - { - CustomPropertyManager customPropertyManager = GetCustomPropertyManager(currentModelDoc); - if (customPropertyManager == null) - { - return null; - } - - Dictionary<string, string> Properties = new Dictionary<string, string>(); - string[] names = customPropertyManager.GetNames(); - if (names == null) - { - return Properties; - } - foreach (string name in names) - { - if (customPropertyManager.Get6(name, false, out string valueOut, out string resolvedValueOut, out _, out _) - != (int)swCustomInfoGetResult_e.swCustomInfoGetResult_NotPresent) - { - string value = (needResolve && (skipName == null || !skipName.Contains(name))) ? resolvedValueOut : valueOut; - Properties[name] = value; - } - } - return Properties; - } - - public static bool SaveDoc(ModelDoc2 doc, Dictionary<string, string> props, ref int err, ref int warn) - { - SetCustomProperties(doc, props); - if (doc.Save3((int)swSaveAsOptions_e.swSaveAsOptions_AvoidRebuildOnSave, - ref err, ref warn)) - { - return true; - } - return false; - } - - public static Dictionary<string, string> GetCustomProperties(ModelDoc2 currentModelDoc, bool needResolve, HashSet<string> skipValue = null) @@ -106,6 +60,53 @@ return Properties; } + /// <summary> + /// 鑾峰彇鏂囨。灞炴�� + /// </summary> + /// <param name="currentModelDoc">鏂囨。</param> + /// <param name="needResolve">鏄惁杞崲鍊�</param> + /// <param name="skipName">璺宠繃鐨刵ame</param> + /// <returns></returns> + public static Dictionary<string, string> GetCustomProperties2(ModelDoc2 currentModelDoc, + bool needResolve, + HashSet<string> skipName, + HashSet<string> skipResolveName) + { + CustomPropertyManager customPropertyManager = GetCustomPropertyManager(currentModelDoc); + if (customPropertyManager == null) + { + return null; + } + + Dictionary<string, string> Properties = new Dictionary<string, string>(); + string[] names = customPropertyManager.GetNames(); + if (names == null) + { + return Properties; + } + foreach (string name in names) + { + if (skipName != null && skipName.Contains(name)) continue; + if (customPropertyManager.Get6(name, false, out string valueOut, out string resolvedValueOut, out _, out _) + != (int)swCustomInfoGetResult_e.swCustomInfoGetResult_NotPresent) + { + string value = (needResolve && (skipResolveName == null || !skipResolveName.Contains(name))) ? resolvedValueOut : valueOut; + Properties[name] = value; + } + } + return Properties; + } + + public static bool SaveDoc(ModelDoc2 doc, Dictionary<string, string> props, ref int err, ref int warn) + { + SetCustomProperties(doc, props); + if (doc.Save3((int)swSaveAsOptions_e.swSaveAsOptions_AvoidRebuildOnSave, + ref err, ref warn)) + { + return true; + } + return false; + } public static string GetCustomValue(this Dictionary<string, string> datas, string name, bool ignoreCase = false) { @@ -181,6 +182,17 @@ return values[5].ToString(); } + public static string GetMassBySWDM(ModelDoc2 doc) + { + if (doc == null) return null; + double[] values = SwDMUtil.GetMassProperty(doc.GetPathName(), out string errMSg); + if (values == null) + { + return null; + } + return values[5].ToString(); + } + public static bool SetCustomProperties(ModelDoc2 doc, string key, string value) { CustomPropertyManager cpm = doc.Extension.CustomPropertyManager[""]; diff --git a/PdmSwPlugin.Common/Util/Pdm/BomTreeReader.cs b/PdmSwPlugin.Common/Util/Pdm/BomTreeReader.cs index d0d5981..c2ed154 100644 --- a/PdmSwPlugin.Common/Util/Pdm/BomTreeReader.cs +++ b/PdmSwPlugin.Common/Util/Pdm/BomTreeReader.cs @@ -272,7 +272,7 @@ id = Guid.NewGuid().ToString(), doc = doc, drawingType = drawingType, - properties = CustomPropertyUtil.GetCustomProperties(doc, true), + properties = CustomPropertyUtil.GetCustomProperties2(doc, true, null, null), d3FilePath = childPath, }; return bomInfo; diff --git a/PdmSwPlugin.Common/Util/SwDMUtil.cs b/PdmSwPlugin.Common/Util/SwDMUtil.cs index a3066d6..cb5038a 100644 --- a/PdmSwPlugin.Common/Util/SwDMUtil.cs +++ b/PdmSwPlugin.Common/Util/SwDMUtil.cs @@ -1,5 +1,6 @@ 锘縰sing SolidWorks.Interop.swdocumentmgr; using System; +using System.Collections.Generic; using System.Runtime.InteropServices; namespace PdmSwPlugin.Common.Util @@ -7,7 +8,7 @@ public class SwDMUtil { /// <summary> - /// 鍑屽垱鍏徃鐨� DM API 鎺堟潈鐮� + /// 鍏徃鐨� DM API 鎺堟潈鐮� /// </summary> public static string LinktronLicenseKey = @"SuzhouLinktronSystemsCoLtd:swdocmgr_general-11785-02051-00064-33793-08629-34307-00007-05128-58478-32321-57480-30765-00622-59999-16385-62752-47753-50558-31076-40652-29868-22926-54604-41449-54717-42289-44473-51665-47549-58701-53709-46485-03533-12733-37329-14337-29280-51290-50890-25690-25696-964"; @@ -76,6 +77,72 @@ } } + + /// <summary> + /// 鑾峰彇涓�寮犲伐绋嬪浘寮曠敤鐨�3D鍥捐矾寰� + /// </summary> + /// <param name="filePath"></param> + /// <param name="error1"></param> + /// <param name="error2"></param> + /// <returns></returns> + public static string[] GetDrawingRef2(string filePath, out string errMsg, out int[] status) + { + errMsg = null; + status = null; + try + { + string originalExt; + SwDmDocumentType docType = DMSldFileExtentionChecker.CheckDM(filePath, out originalExt); + if (docType != SwDmDocumentType.swDmDocumentDrawing) + { + errMsg = "缁欏畾鐨勬枃妗d笉鏄竴寮犲伐绋嬪浘"; + throw null; + } + SwDMClassFactory swDMClassFactory = new SwDMClassFactory(); + SwDMApplication swDMApp = swDMClassFactory.GetApplication(LinktronLicenseKey); + if (swDMApp == null) + { + Marshal.ReleaseComObject(swDMClassFactory); + errMsg = "SwDM 鍒濆鍖栧け璐�"; + return null; + } + SwDMDocument23 swDoc = (SwDMDocument23)swDMApp.GetDocument(filePath, docType, true, out var error1); + if (swDoc == null) + { + Marshal.ReleaseComObject(swDMApp); + Marshal.ReleaseComObject(swDMClassFactory); + errMsg = $"SwDM 鍔犺浇鏂囨。澶辫触锛屽紓甯搞�恵error1}銆�"; + return null; + } + var swSearchOpt = swDMApp.GetSearchOptionObject(); + object vBrokenRefs = null; + object vIsVirtuals = null; + object vTimeStamps = null; + object vIsImported = null; + + string[] views = (string[])swDoc.GetAllExternalReferences5(swSearchOpt, + out vBrokenRefs, out vIsVirtuals, out vTimeStamps, out vIsImported); + if (views == null || views.Length <= 0) + { + Marshal.ReleaseComObject(swDoc); + Marshal.ReleaseComObject(swDMApp); + Marshal.ReleaseComObject(swDMClassFactory); + errMsg = $"閫夊畾鐨勫伐绋嬪浘涓嶅寘鍚湁鏁堢殑瑙嗗浘"; + return null; + } + Marshal.ReleaseComObject(swDoc); + Marshal.ReleaseComObject(swDMApp); + Marshal.ReleaseComObject(swDMClassFactory); + status = (int[])vBrokenRefs; + return views; + } + catch (Exception ex) + { + errMsg = ex.Message; + return null; + } + } + public static double[] GetMassProperty(string filePath, out string errMsg) { try @@ -140,5 +207,70 @@ return null; } } + + public static Dictionary<string, string> GetProperty(string filePath, out string errMsg) + { + try + { + errMsg = null; + string originalExt; + SwDmDocumentType docType = DMSldFileExtentionChecker.CheckDM(filePath, out originalExt); + if (docType == SwDmDocumentType.swDmDocumentUnknown) + { + errMsg = "鏈煡鐨勬枃妗g被鍨�"; + return null; + } + SwDMClassFactory swDMClassFactory = new SwDMClassFactory(); + SwDMApplication swDMApp = swDMClassFactory.GetApplication(LinktronLicenseKey); + if (swDMApp == null) + { + Marshal.ReleaseComObject(swDMClassFactory); + errMsg = "SwDM 鍒濆鍖栧け璐�"; + return null; + } + SwDMDocument17 swDoc = (SwDMDocument17)swDMApp.GetDocument(filePath, docType, true, out var error1); + if (swDoc == null) + { + Marshal.ReleaseComObject(swDMApp); + Marshal.ReleaseComObject(swDMClassFactory); + errMsg = $"SwDM 鍔犺浇鏂囨。澶辫触锛屽紓甯搞�恵error1}銆�"; + return null; + } + SwDMConfigurationMgr dmConfigMgr = swDoc.ConfigurationManager; + if (dmConfigMgr == null) + { + Marshal.ReleaseComObject(swDoc); + Marshal.ReleaseComObject(swDMApp); + Marshal.ReleaseComObject(swDMClassFactory); + errMsg = $"鑾峰彇 ConfigurationManager 澶辫触"; + return null; + } + string configName = dmConfigMgr.GetActiveConfigurationName(); + SwDMConfiguration dmConfig = dmConfigMgr.GetConfigurationByName(configName); + if (dmConfig == null) + { + Marshal.ReleaseComObject(dmConfigMgr); + Marshal.ReleaseComObject(swDoc); + Marshal.ReleaseComObject(swDMApp); + Marshal.ReleaseComObject(swDMClassFactory); + errMsg = $"鑾峰彇 Configuration 澶辫触"; + return null; + } + Dictionary<string, string> datas = new Dictionary<string, string>(); + string[] names = dmConfig.GetCustomPropertyNames(); + names = swDoc.GetCustomPropertyNames(); + foreach (string name in names) + { + string val = swDoc.GetCustomProperty2(name, out var type); + datas.Add(name, val); + } + return datas; + } + catch (Exception ex) + { + errMsg = ex.Message; + return null; + } + } } } diff --git a/PdmSwPlugin.Common/Util/UI/MultiExWindow.xaml.cs b/PdmSwPlugin.Common/Util/UI/MultiExWindow.xaml.cs index 0baccba..f5f49a5 100644 --- a/PdmSwPlugin.Common/Util/UI/MultiExWindow.xaml.cs +++ b/PdmSwPlugin.Common/Util/UI/MultiExWindow.xaml.cs @@ -3,8 +3,10 @@ using System.Collections.ObjectModel; using System.ComponentModel; using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; using System.Web.UI.WebControls.WebParts; using System.Windows; +using System.Windows.Interop; namespace PdmSwPlugin.Common.Util.UI { @@ -30,6 +32,16 @@ } } #endregion + + // Windows API 鍑芥暟 + [DllImport("user32.dll", SetLastError = true)] + private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); + + [DllImport("user32.dll", SetLastError = true)] + private static extern int GetWindowLong(IntPtr hWnd, int nIndex); + + private const int GWL_STYLE = -16; // 绐楀彛鏍峰紡 + private const int WS_MINIMIZEBOX = 0x00020000; // 鏈�灏忓寲鎸夐挳鏍峰紡 private string _title; public string title @@ -74,6 +86,14 @@ private void Window_Loaded(object sender, RoutedEventArgs e) { + // 鑾峰彇绐楀彛鍙ユ焺 + IntPtr hWnd = new WindowInteropHelper(this).Handle; + + // 鑾峰彇褰撳墠绐楀彛鐨勬牱寮� + int currentStyle = GetWindowLong(hWnd, GWL_STYLE); + + // 绉婚櫎鏈�灏忓寲鎸夐挳 + SetWindowLong(hWnd, GWL_STYLE, currentStyle & ~WS_MINIMIZEBOX); Dispatcher.Invoke(() => { table.ItemsSource = new ObservableCollection<string>(exceptions); diff --git a/PdmSwPlugin.DrawApprove/DrawApprove.xaml b/PdmSwPlugin.DrawApprove/DrawApprove.xaml index a33fedc..c1c168f 100644 --- a/PdmSwPlugin.DrawApprove/DrawApprove.xaml +++ b/PdmSwPlugin.DrawApprove/DrawApprove.xaml @@ -107,7 +107,7 @@ <RowDefinition Height="20"/> </Grid.RowDefinitions> - <ToolBarTray Grid.Row="0" DockPanel.Dock="Top" Background="#FFF" ToolBarTray.IsLocked="True" > + <ToolBarTray Grid.Row="0" DockPanel.Dock="Top" Background="Transparent" ToolBarTray.IsLocked="True" > <ToolBar Style="{StaticResource CommonToolBar}" ToolBar.OverflowMode="Never" Band="1" BandIndex="1" Height="30" Background="#FFF"> <Button ToolTip="鍒锋柊" Content="鍒锋柊" FontFamily="{StaticResource iconfont}" FontSize="16" Click="Button_Click"/> diff --git a/PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs b/PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs index 464f6fa..28b86bd 100644 --- a/PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs +++ b/PdmSwPlugin.DrawApprove/DrawApprove.xaml.cs @@ -584,5 +584,10 @@ { } + + public void DisabledHandler() + { + + } } } diff --git a/PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml b/PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml index ea0ab73..d47cf3f 100644 --- a/PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml +++ b/PdmSwPlugin.DrawApprove/DrawAuditHisControl.xaml @@ -60,7 +60,7 @@ <Grid x:Name="sb"> <DockPanel x:Name="content" LastChildFill="True"> - <ToolBarTray DockPanel.Dock="Top" Background="#FFF" ToolBarTray.IsLocked="True" > + <ToolBarTray DockPanel.Dock="Top" Background="Transparent" ToolBarTray.IsLocked="True" > <ToolBar Style="{StaticResource CommonToolBar}" ToolBar.OverflowMode="Never" Band="1" BandIndex="1" Height="30" Background="#FFF"> <Button ToolTip="鍒锋柊" Content="鍒锋柊" FontFamily="{StaticResource iconfont}" FontSize="16" Click="Button_Click"/> diff --git a/PdmSwPlugin.Main/Constant/PluginConst.cs b/PdmSwPlugin.Main/Constant/PluginConst.cs index dbef9ca..bac1176 100644 --- a/PdmSwPlugin.Main/Constant/PluginConst.cs +++ b/PdmSwPlugin.Main/Constant/PluginConst.cs @@ -3,6 +3,6 @@ public class PluginConst { public static readonly string AppId = "DF23E96F-A469-4302-8367-7FA2F798CD09"; - public static readonly string Version = "0.0.0.45"; + public static readonly string Version = "0.0.0.46"; } } diff --git a/PdmSwPlugin.Main/MainControl.xaml b/PdmSwPlugin.Main/MainControl.xaml index aab11ca..40fb90d 100644 --- a/PdmSwPlugin.Main/MainControl.xaml +++ b/PdmSwPlugin.Main/MainControl.xaml @@ -6,8 +6,7 @@ xmlns:local="clr-namespace:PdmSwPlugin.Main" d:DataContext="{d:DesignInstance Type=local:MainControl}" x:Name="self" - mc:Ignorable="d" - + mc:Ignorable="d" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" diff --git a/PdmSwPlugin.Main/MainControl.xaml.cs b/PdmSwPlugin.Main/MainControl.xaml.cs index 8f0049f..9994b0d 100644 --- a/PdmSwPlugin.Main/MainControl.xaml.cs +++ b/PdmSwPlugin.Main/MainControl.xaml.cs @@ -266,7 +266,6 @@ } - public void SetSwApp(SldWorks SwApp) { this.SwApp = SwApp; diff --git a/PdmSwPlugin.Main/MainTab.xaml b/PdmSwPlugin.Main/MainTab.xaml index 8501c1b..c6405f3 100644 --- a/PdmSwPlugin.Main/MainTab.xaml +++ b/PdmSwPlugin.Main/MainTab.xaml @@ -18,7 +18,18 @@ <RowDefinition /> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> - <TabControl Grid.Row="0" x:Name="tabControl"></TabControl> + <TabControl Grid.Row="0" x:Name="tabControl" Background="#f0f0f0"> + <TabControl.Resources> + <Style TargetType="{x:Type TabItem}"> + <Setter Property="FontSize" Value="16"/> + <Style.Triggers> + <Trigger Property="IsSelected" Value="True"> + <Setter Property="Background" Value="#f0f0f0"/> + </Trigger> + </Style.Triggers> + </Style> + </TabControl.Resources> + </TabControl> <DockPanel Grid.Row="1" Margin="0" LastChildFill="False"> <Label DockPanel.Dock="Left" x:Name="userLabel" FontWeight="Bold" Padding="0" Margin="0,0,20,0" /> <Button DockPanel.Dock="Left" Style="{StaticResource LinkButton}" Click="Button_Click">閫�鍑虹櫥褰�</Button> diff --git a/PdmSwPlugin.Main/SwAddIn/MainControl.cs b/PdmSwPlugin.Main/SwAddIn/MainControl.cs index 56b44f7..3780752 100644 --- a/PdmSwPlugin.Main/SwAddIn/MainControl.cs +++ b/PdmSwPlugin.Main/SwAddIn/MainControl.cs @@ -379,6 +379,7 @@ ActiveDocCustomPropertyChange -= handler.OnCustomPropertyChange; DocDestroy -= handler.OnDocDestroy; AfterDocDestroy -= handler.AfterDocDestroy; + handler.DisabledHandler(); } } PluginInfos.Clear(); diff --git a/PdmSwPlugin.MaterialSelect/SwAddIn/MaterialSelectControl.cs b/PdmSwPlugin.MaterialSelect/SwAddIn/MaterialSelectControl.cs index 253b132..76c5dc6 100644 --- a/PdmSwPlugin.MaterialSelect/SwAddIn/MaterialSelectControl.cs +++ b/PdmSwPlugin.MaterialSelect/SwAddIn/MaterialSelectControl.cs @@ -144,5 +144,9 @@ { } + + public void DisabledHandler() + { + } } } diff --git a/PdmSwPlugin.PDM/PdmControl.xaml b/PdmSwPlugin.PDM/PdmControl.xaml index 5e8492e..87e6c84 100644 --- a/PdmSwPlugin.PDM/PdmControl.xaml +++ b/PdmSwPlugin.PDM/PdmControl.xaml @@ -314,7 +314,7 @@ <RowDefinition Height="*" /> <RowDefinition Height="20"/> </Grid.RowDefinitions> - <ToolBarTray Grid.Row="0" Background="#FFF" ToolBarTray.IsLocked="True" > + <ToolBarTray Grid.Row="0" Background="Transparent" ToolBarTray.IsLocked="True"> <ToolBar Style="{StaticResource CommonToolBar}" ToolBar.OverflowMode="Never" Band="1" BandIndex="1" Height="30" Background="#FFF"> <Button ToolTip="鍒锋柊" Content="鍒锋柊" FontFamily="{StaticResource iconfont}" FontSize="16" Click="Refresh_Click"/> diff --git a/PdmSwPlugin.PDM/PdmControl.xaml.cs b/PdmSwPlugin.PDM/PdmControl.xaml.cs index e7667fb..260dd1f 100644 --- a/PdmSwPlugin.PDM/PdmControl.xaml.cs +++ b/PdmSwPlugin.PDM/PdmControl.xaml.cs @@ -1,5 +1,6 @@ 锘縰sing log4net; using Microsoft.Win32; +using NPOI.SS.Formula.PTG; using NPOI.SS.UserModel; using NPOI.Util; using NPOI.XSSF.UserModel; @@ -55,6 +56,8 @@ private HttpClientCreator clientCreator { get; set; } private volatile PdmStatus workStatus; + + private TaskFactory taskFactory = LimitedConcurrencyLevelTaskSchedulerMsn.Factory; SldWorks ISwAppSetter.SwApp => SwApp; @@ -904,79 +907,6 @@ //throw new NotImplementedException(); } - public Dictionary<string, DrawInfo> GetAllProperties(List<string> ErrMsgs) - { - ConcurrentDictionary<string, DrawInfo> result = new ConcurrentDictionary<string, DrawInfo>(); - PdmBom topBom = model.BomTree[0]; - CountdownEvent counter = new CountdownEvent(1); - _ = ThreadPool.QueueUserWorkItem( - new WaitCallback(GetAll), - new object[] { - topBom, result, counter, ErrMsgs, 0} - ); - counter.Wait(); - counter.Dispose(); - return new Dictionary<string, DrawInfo>(result); - } - - /// <summary> - /// 鑾峰彇鍏ㄩ儴灞炴�� - /// </summary> - /// <param name="param"></param> - public void GetAll(object param) - { - object[] datas = param as object[]; - PdmBom bom = (PdmBom)datas[0]; - ModelDoc2 sldDoc = bom.doc; - Component2 component = bom.component; - ConcurrentDictionary<string, DrawInfo> result = (ConcurrentDictionary<string, DrawInfo>)datas[1]; - CountdownEvent counter = (CountdownEvent)datas[2]; - List<string> ErrMsgs = (List<string>)datas[3]; - int level = (int)datas[4]; - try - { - counter.TryAddCount(); - string filepath = bom.partNo; - - - if (result.ContainsKey(filepath)) - { - return; - } - - if (!bom.skipCheck) - { - result[filepath] = GetSingleDrawInfo(bom); - } - - ObservableCollection<PdmBom> children = bom.modules; - if (children != null) - { - foreach (PdmBom child in children) - { - _ = ThreadPool.QueueUserWorkItem( - new WaitCallback(GetAll), - new object[] { child, result, counter, ErrMsgs, 1 }); - } - } - MaskAdorner.ShowMessage(content, filepath); - } - catch (Exception e) - { - bom.drawInfo.checkRuleResult = 2; - bom.drawInfo.errMessages = new List<string> { e.Message }; - Logger.Error($"V{PdmUser.LoginUser.pluginVersion},[{bom.filePath}] Read MASS Properies Failed.", e); - } - finally - { - counter.Signal(); - if (level == 0) - { - counter.Signal(); - } - } - } - /// <summary> /// 澶勭悊璐ㄩ噺锛屼繚鐣�6浣嶅皬鏁� /// </summary> @@ -1028,7 +958,10 @@ } // 鏂囦欢淇濆瓨鐘舵�� allProperties["鍥剧焊淇濆瓨鐘舵��"] = sldDoc.GetSaveFlag().ToString(); - Dictionary<string, string> properties = CustomPropertyUtil.GetCustomProperties(sldDoc, true); + Dictionary<string, string> properties = CustomPropertyUtil.GetCustomProperties2(sldDoc, true, new HashSet<string> + { + "閲嶉噺" + }, null); // 鍥剧焊灞炴�� if (properties != null) { @@ -1039,18 +972,39 @@ } if (drawExists) { - string refPath = SwDMUtil.GetDrawingRef(drawFilePath, out string errMsg); - if (refPath == null) + string[] refs = SwDMUtil.GetDrawingRef2(drawFilePath, out string err, out int[] status); + string refPath = ""; + if (refs != null && refs.Length > 0) { - Logger.Error($"V{PdmUser.LoginUser.pluginVersion}, [{drawFilePath}] Read slddrw Ref Path Failed.[{errMsg}]"); + foreach (var rf in refs) + { + if (string.Equals(rf, filepath, StringComparison.CurrentCultureIgnoreCase)) + { + refPath = rf; + refPath = Path.GetFileName(refPath); + break; + } + } } else { - refPath = Path.GetFileName(refPath); + Logger.Error($"V{PdmUser.LoginUser.pluginVersion}, [{drawFilePath}] Read slddrw Ref Path Failed.[{err}]"); } + + //string refPath = SwDMUtil.GetDrawingRef(drawFilePath, out string errMsg); + //if (refPath == null) + //{ + // Logger.Error($"V{PdmUser.LoginUser.pluginVersion}, [{drawFilePath}] Read slddrw Ref Path Failed.[{errMsg}]"); + //} + //else + //{ + // refPath = Path.GetFileName(refPath); + //} Logger.Debug($"V{PdmUser.LoginUser.pluginVersion}锛屾枃妗h矾寰勶細銆恵filepath}銆慭r\n" + $"宸ョ▼鍥捐矾寰�:銆恵drawFilePath}銆慭r\n" + $"鏂囦欢鍏ㄧО锛氥�恵allProperties["鏂囦欢鍏ㄧО"]}銆慭r\n" + + $"Result锛氥�恵string.Join(",", refs ?? new string[] { })}銆慭r\n" + + $"Status锛氥�恵string.Join(",", status ?? new int[] { })}銆慭r\n" + $"寮曠敤璺緞锛氥�恵refPath}銆�"); allProperties["宸ョ▼鍥惧紩鐢ㄦ枃浠�"] = refPath; } @@ -1084,13 +1038,14 @@ ConcurrentDictionary<string, DrawInfo> result = new ConcurrentDictionary<string, DrawInfo>(); PdmBom topBom = model.BomTree[0]; CountdownEvent counter = new CountdownEvent(1); - Task.Run(() => + taskFactory.StartNew(() => { GetAllByTask(new object[] { topBom, result, counter, ErrMsgs, 0 }); }); counter.Wait(); - counter.Dispose(); + // 涓嶉渶瑕佹墜鍔ㄩ噴鏀� + //counter.Dispose(); return new Dictionary<string, DrawInfo>(result); } @@ -1131,7 +1086,7 @@ { foreach (PdmBom child in children) { - Task.Run(() => + taskFactory.StartNew(() => { GetAllByTask(new object[] { child, result, counter, ErrMsgs, 1 }); }); @@ -1155,44 +1110,6 @@ } } - /// <summary> - /// 瀵瑰綋鍓嶅睍绀虹殑BOM缁撴瀯杩涜瑙勫垯妫�鏌� - /// </summary> - /// <returns>鏄惁鍏ㄩ儴閫氳繃</returns> - public bool DoCheckRule(out List<string> messages) - { - messages = new List<string>(); - bool allSuccess = true; - Dictionary<string, DrawInfo> properties = GetAllProperties(messages); - MaskAdorner.ShowMessage(content, "姝e湪璇锋眰鏁版嵁..."); - Result<Dictionary<string, DrawInfo>> result = Client.PostSyncAction<Dictionary<string, DrawInfo>>( - new PdmBomParam - { - needCheckProperties = properties - }, "wpf/bom/openApi/checkRule2"); - Dictionary<string, DrawInfo> checkResult = result.HandleResult(); - foreach (string key in properties.Keys) - { - properties[key].checkRuleResult = checkResult[key].checkRuleResult; - properties[key].errMessages = checkResult[key].errMessages; - var msgs = checkResult[key].errMessages; - if (!properties[key].HistoryData && !checkResult[key].checkRuleOk) - { - // 涓嶆槸鍘嗗彶鏁版嵁骞朵笖鏈夋湭閫氳繃鐨勶紝鏍囪涓篺alse - allSuccess = false; - } - - if (!properties[key].HistoryData && msgs != null && msgs.Count > 0) - { - foreach (string msg in msgs) - { - messages.Add($"鐗╂枡銆恵key}銆戞湭閫氳繃瑙勫垯妫�鏌ワ紒{msg}"); - } - } - } - return allSuccess; - } - public bool DoCheckRuleAsync(out List<string> messages) { var temp = new List<string>(); @@ -1202,16 +1119,19 @@ // var factory = LimitedConcurrencyLevelTaskScheduler.Factory; CountdownEvent counter = new CountdownEvent(properties.Count); int iii = 0; + var start = DateTime.Now; + Logger.Debug("DoCheckRuleAsync Start..."); foreach (KeyValuePair<string, DrawInfo> property in properties) { - /// 杩欎釜鏂规硶鏈�蹇紝浣嗕笉濂界鎺э紝鍥犱负涓嶇煡閬撳睘鎬у瓧鍏告湁澶氬ぇ - Task.Run(() => + /// Task.Run 杩欎釜鏂规硶鏈�蹇紝浣嗕笉濂界鎺э紝鍥犱负涓嶇煡閬撳睘鎬у瓧鍏告湁澶氬ぇ + /// taskFactory.StartNew 绋冲畾涓�鐐瑰悧锛� + taskFactory.StartNew(() => { string key = property.Key; iii++; try { - Logger.Error($"{key} checking rule..."); + Logger.Debug($"{key} checking rule..."); DrawInfo checkResult; Result<DrawInfo> result = Client.PostSyncAction<DrawInfo>(property.Value, "wpf/bom/openApi/checkRuleSingle"); checkResult = result.HandleResult(); @@ -1407,6 +1327,7 @@ counter.Wait(); counter.Dispose(); messages = temp; + Logger.Debug($"DoCheckRuleAsync Ended in {(DateTime.Now - start).TotalMilliseconds}ms."); return allSuccess; } @@ -1415,7 +1336,7 @@ IntPtr winformWindow = Process.GetCurrentProcess().MainWindowHandle; if (winformWindow != null) new WindowInteropHelper(exWin) { Owner = winformWindow }; - exWin.Show(); + exWin.ShowDialog(); } /// <summary> @@ -1585,7 +1506,7 @@ ConcurrentQueue<string> pathCache = new ConcurrentQueue<string>(boms.Select(b => b.filePath).ToList()); foreach (PdmBom bom in boms) { - Task.Run(() => + taskFactory.StartNew(() => { try { @@ -1825,7 +1746,7 @@ if (errs.Count > 0) { MultiExWindow exWin = new MultiExWindow(this, "妫�鏌ョ粨鏋�", errs); - exWin.ShowDialog(); + ShowExWindow(exWin); } else if (bom.checkRuleResult == 3) { @@ -2165,5 +2086,10 @@ { } + + public void DisabledHandler() + { + + } } } diff --git a/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml b/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml index 3d9ebbc..d394e38 100644 --- a/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml +++ b/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml @@ -3,19 +3,43 @@ 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" - mc:Ignorable="d" + mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> <UserControl.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/PdmSwPlugin.Common;component/Style/ToolBar.xaml"/> </ResourceDictionary.MergedDictionaries> + + <Style TargetType="Button"> + <Setter Property="FontSize" Value="16"/> + </Style> + + <Style TargetType="UserControl"> + <Setter Property="FontSize" Value="16"/> + </Style> + + <Style TargetType="TextBox"> + <Setter Property="FontSize" Value="16"/> + </Style> + + <Style TargetType="Label"> + <Setter Property="FontSize" Value="14"/> + </Style> + + <Style TargetType="ComboBox"> + <Setter Property="FontSize" Value="16"/> + </Style> + + <Style TargetType="ComboBoxItem"> + <Setter Property="FontSize" Value="16"/> + </Style> </ResourceDictionary> </UserControl.Resources> <StackPanel> - <ToolBarTray Background="#FFF" ToolBarTray.IsLocked="True" > - <ToolBar Style="{StaticResource CommonToolBar}" ToolBar.OverflowMode="Never" Band="1" BandIndex="1" Height="30" Background="#FFF"> + <ToolBarTray Background="Transparent" ToolBarTray.IsLocked="True" > + <ToolBar Style="{StaticResource CommonToolBar}" ToolBar.OverflowMode="Never" Band="1" BandIndex="1" Height="30"> <Button ToolTip="鍒锋柊" Content="鍒锋柊" Click="Refresh_Click" FontSize="16"/> <Button ToolTip="淇濆瓨" Content="淇濆瓨" FontFamily="{StaticResource iconfont}" FontSize="16" diff --git a/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml.cs b/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml.cs index 2ab4104..66a7d16 100644 --- a/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml.cs +++ b/PdmSwPlugin.PropertySetting/CommonSettingControl.xaml.cs @@ -25,7 +25,7 @@ using System.IO; using System.Collections.ObjectModel; using System.Runtime.InteropServices; -using System.Diagnostics; +using PdmSwPlugin.PropertySetting.Util; namespace PdmSwPlugin.PropertySetting { @@ -67,12 +67,16 @@ Dictionary<string, string> datas = properties as Dictionary<string, string>; (container as UIElement).Dispatcher.Invoke(() => { - var props = container.GetType().GetProperties().Where(prop => System.Attribute.IsDefined(prop, typeof(PropertySettingAttr))) - .ToList(); + // PropHolder.SetPropToUI(container, datas); - foreach (var prop in props) + Dictionary<PropertyInfo, PropertySettingAttr> map = PropHolder.GetAttrMap(container.GetType()); + if (map == null) { - PropertySettingAttr attr = prop.GetCustomAttribute<PropertySettingAttr>(); + return; + } + foreach (var prop in map.Keys) + { + PropertySettingAttr attr = map[prop]; if (attr == null || !attr.NeedInit) { continue; @@ -89,8 +93,32 @@ // 鍏朵粬鍐欏叆initData if (initData != null) initData[name] = value; } - prop.SetValue(container, value); + PropHolder.SetPropToUI(container, prop, value); } + + // var props = container.GetType().GetProperties().Where(prop => System.Attribute.IsDefined(prop, typeof(PropertySettingAttr))) + //.ToList(); + // foreach (var prop in props) + // { + // PropertySettingAttr attr = prop.GetCustomAttribute<PropertySettingAttr>(); + // if (attr == null || !attr.NeedInit) + // { + // continue; + // } + // string name = attr.Name; + // string value = datas.Get(name, string.Empty); + // if (string.IsNullOrEmpty(value) && !string.IsNullOrEmpty(attr.defaultValue)) + // { + // value = attr.defaultValue; + // // 榛樿鍊间笉鍐欏叆initData + // } + // else + // { + // // 鍏朵粬鍐欏叆initData + // if (initData != null) initData[name] = value; + // } + // prop.SetValue(container, value); + // } }); return true; } @@ -232,6 +260,18 @@ this.SwApp = SwApp; } + public Dictionary<string, string> GetPropsWithLog(ModelDoc2 currentModelDoc, + bool needResolve, + HashSet<string> skipName, + HashSet<string> skipResolveName) + { + if (currentModelDoc == null) return null; + var start = DateTime.Now; + var data = CustomPropertyUtil.GetCustomProperties2(currentModelDoc, needResolve, skipName, skipResolveName); + Logger.Debug($"Get Props {(DateTime.Now - start).TotalMilliseconds} ms."); + return data; + } + public void InitPropertyData() { try @@ -292,7 +332,7 @@ private void UpdateActiveDoc() { - long start = DateTime.Now.Millisecond; + var start = DateTime.Now; Logger.Debug("UpdateActiveDoc Start..."); if (activeDoc != null) { @@ -309,11 +349,8 @@ activeDoc.ClearSelection2(true); } } - Logger.Debug($"UpdateActiveDoc End {activeDoc?.GetPathName()} {DateTime.Now.Millisecond - start}ms."); - start = DateTime.Now.Millisecond; - Logger.Debug("UpdateUI Start..."); + Logger.Debug($"UpdateActiveDoc End {activeDoc?.GetPathName()} {(DateTime.Now - start).TotalMilliseconds}ms."); UpdateUI(activeDoc); - Logger.Debug($"UpdateUI End {activeDoc?.GetPathName()} {DateTime.Now.Millisecond - start}ms."); } /// <summary> @@ -390,15 +427,13 @@ public void UpdateUI(ModelDoc2 doc) { + var start = DateTime.Now; + Logger.Debug("UpdateUI Start..."); AlertSaveWindow(); LastReadDoc = ReadDoc; ReadDoc = doc; - Dispatcher.Invoke(() => - { - - // LoadDocProperties(); - }); SwitchVisiable(); + Logger.Debug($"UpdateUI End {activeDoc?.GetPathName()} {(DateTime.Now - start).TotalMilliseconds}ms."); } private int Ass_UserSelectionPostNotify() @@ -433,10 +468,15 @@ /// </summary> private void SwitchVisiable() { - var start = DateTime.Now.Millisecond; + var start = DateTime.Now; Logger.Debug("SwitchVisiable Start..."); - - HashSet<string> skipName = new HashSet<string> { + + HashSet<string> skipName = new HashSet<string> + { + NameConstant.weight + }; + + HashSet<string> skipResolveName = new HashSet<string> { NameConstant.materialCode }; @@ -457,7 +497,7 @@ else if (docType == (int)swDocumentTypes_e.swDocPART) { ReadDocPath = ReadDoc.GetPathName(); - properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, skipName); + properties = GetPropsWithLog(ReadDoc, true, skipName, skipResolveName); string fileType = properties.Get(NameConstant.docType); /*if (fileType == "鍔犲伐浠�" || fileType == "妯$粍") { @@ -495,7 +535,7 @@ else { // !Equals(LastReadDoc, ReadDoc) - properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, skipName); + properties = GetPropsWithLog(ReadDoc, true, skipName, skipResolveName); string fileType = properties.Get(NameConstant.docType); /*if (fileType == "鍔犲伐浠�" || fileType == "妯$粍") { @@ -547,162 +587,13 @@ contentPanel.Children.Add(control); }); - Logger.Debug($"SwitchVisiable End {activeDoc?.GetPathName()} {DateTime.Now.Millisecond - start}ms."); - } - - /// <summary> - /// 鏍规嵁婵�娲荤殑鏂囨。绫诲瀷锛屽彉鏇村睘鎬у彲瑙� - /// </summary> - private void SwitchVisiable2() - { - HashSet<string> skipName = new HashSet<string> { - NameConstant.materialCode - }; - - IPropertyOpt last = ActiveOpter as IPropertyOpt; - string contentKey = "default"; - int? docType = ReadDoc?.GetType(); - UserControl control; - IPropertyOpt newOne; - Dictionary<string, string> properties; - if (docType == (int)swDocumentTypes_e.swDocDRAWING) - { - ReadDocPath = ReadDoc.GetPathName(); - - control = new DefaultPanel(); - newOne = control as IPropertyOpt; - newOne.SetSettings(settings); - newOne.SetProperties(null, "褰撳墠涓嶆敮鎸佸伐绋嬪浘", true, out _); - } - else if (docType == (int)swDocumentTypes_e.swDocPART) - { - ReadDocPath = ReadDoc.GetPathName(); - properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, skipName); - string fileType = properties.Get(NameConstant.docType); - /*if (fileType == "鍔犲伐浠�" || fileType == "妯$粍") - { - contentKey = "jgjPart"; - }*/ - if (BomIniterHolder.Instance.IsJgj(ReadDoc)) - { - control = new JgjPartPanel(); - } - else - { - control = new StandardPartPanel(); - } - newOne = control as IPropertyOpt; - newOne.SetSettings(settings); - newOne.SetProperties(ReadDoc, properties, true, out _); - } - else if (docType == (int)swDocumentTypes_e.swDocASSEMBLY) - { - ReadDocPath = ReadDoc.GetPathName(); - // !Equals(LastReadDoc, ReadDoc) - properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, skipName); - string fileType = properties.Get(NameConstant.docType); - /*if (fileType == "鍔犲伐浠�" || fileType == "妯$粍") - { - contentKey = "jgjPart"; - }*/ - if (BomIniterHolder.Instance.IsJgj(ReadDoc)) - { - control = new JgjModulePanel(); - } - else - { - control = new StandardModulePanel(); - } - newOne = control as IPropertyOpt; - newOne.SetSettings(settings); - newOne.SetProperties(ReadDoc, properties, true, out _); - } - else - { - control = new DefaultPanel(); - newOne = control as IPropertyOpt; - - string PathName = ReadComponent?.GetPathName(); - if (PathName == null) - { - ReadDocPath = ""; - newOne.SetSettings(settings); - newOne.SetProperties(ReadDoc, "璇锋墦寮�涓�涓枃妗�", true, out _); - } - else - { - ReadDocPath = PathName; - string name = Path.GetFileNameWithoutExtension(PathName); - newOne.SetSettings(settings); - newOne.SetProperties(ReadDoc, $"銆恵name}銆戞湭鎵惧埌鏂囨。锛岃妫�鏌ユ槸鍚﹁鍘嬬缉鎴栬交閲忓寲", true, out _); - } - } - if (last != null) - { - last.UpdateProperty -= Jgj_SinglePropertyChanged; - last = null; - } - ActiveOpter = control; - contentPanel.Children.Clear(); - newOne.UpdateProperty += Jgj_SinglePropertyChanged; - contentPanel.Children.Add(control); - } - - /// <summary> - /// 浠庢縺娲荤殑鏂囨。涓鍙栧弬鏁� - /// </summary> - private void LoadDocProperties() - { - IPropertyOpt opt = ActiveOpter as IPropertyOpt; - string ErrMsg = null; - if (ReadDoc == null) - { - string PathName = ReadComponent?.GetPathName(); - if (PathName == null) - { - ReadDocPath = ""; - opt.SetProperties(ReadDoc, "璇锋墦寮�涓�涓枃妗�", true, out ErrMsg); - return; - } - ReadDocPath = PathName; - string name = Path.GetFileNameWithoutExtension(PathName); - opt.SetProperties(ReadDoc, $"銆恵name}銆戞湭鎵惧埌鏂囨。锛岃妫�鏌ユ槸鍚﹁鍘嬬缉鎴栬交閲忓寲", true, out ErrMsg); - return; - } - int docType = ReadDoc.GetType(); - ReadDocPath = ReadDoc.GetPathName(); - if (docType == (int)swDocumentTypes_e.swDocDRAWING) - { - opt.SetProperties(null, "褰撳墠涓嶆敮鎸佸伐绋嬪浘", true, out ErrMsg); - return; - } - HashSet<string> skipName = new HashSet<string> { - NameConstant.materialCode - }; - Dictionary<string, string> properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, skipName); - opt.SetProperties(ReadDoc, properties, !Equals(LastReadDoc, ReadDoc), out ErrMsg); - } - - private void ClearDocProperties() - { - IPropertyOpt opt = ActiveOpter as IPropertyOpt; - opt.ClearAllProperties(out string ErrMsg); - } - - /// <summary> - /// 灏嗗睘鎬ц缃繘鏂囨。锛屾敞鎰忥紝骞舵病鏈変繚瀛� - /// </summary> - /// <param name="doc">鏂囨。</param> - private void SetDocProperty(ModelDoc2 doc, Dictionary<string, string> props) - { - CustomPropertyUtil.SetCustomProperties(doc, props); + Logger.Debug($"SwitchVisiable End {activeDoc?.GetPathName()} {(DateTime.Now - start).TotalMilliseconds}ms."); } public void SetSwApp(SldWorks SwApp) { this.SwApp = SwApp; } - private void SaveDoc(bool qiaoqiaode) { @@ -735,6 +626,8 @@ public void RefreshData() { MaskAdorner.ShowMask(content, "灞炴�у姞杞戒腑锛岃绋嶅��..."); + var start = DateTime.Now; + Logger.Debug($"Refresh [{ReadDocPath}] Data start."); Task.Run(() => { try @@ -754,6 +647,7 @@ finally { MaskAdorner.HideMask(content); + Logger.Debug($"Refresh [{ReadDocPath}] Data end {(DateTime.Now - start).TotalMilliseconds}ms."); } }); } @@ -792,7 +686,6 @@ /// <param name="comp"></param> public void OnSwActiveDocChange(ModelDoc2 lastDoc, ModelDoc2 doc, Component2 comp) { - // CurrentChanged(); RefreshData(); } @@ -835,7 +728,7 @@ /// </summary> public void AlertSaveWindow() { - var start = DateTime.Now.Millisecond; + var start = DateTime.Now; Logger.Debug("AlertSaveWindow Start..."); IPropertyOpt opt = ActiveOpter as IPropertyOpt; if (opt != null && opt.GetDocChanged()) @@ -859,7 +752,7 @@ opt.ResetProperty(out string errMsg); } } - Logger.Debug($"AlertSaveWindow End {activeDoc?.GetPathName()} {DateTime.Now.Millisecond - start}ms."); + Logger.Debug($"AlertSaveWindow End {activeDoc?.GetPathName()} {(DateTime.Now - start).TotalMilliseconds}ms."); } public void OnTabControlSelectionChange(object sender, SelectionChangedEventArgs e) @@ -893,5 +786,13 @@ this.Error($"{ex.Message}"); } } + + public void DisabledHandler() + { + if (activeDoc != null) + { + DetachDocNotify(activeDoc); + } + } } } diff --git a/PdmSwPlugin.PropertySetting/Panel/DefaultPanel.xaml.cs b/PdmSwPlugin.PropertySetting/Panel/DefaultPanel.xaml.cs index 722a8d4..03b25f4 100644 --- a/PdmSwPlugin.PropertySetting/Panel/DefaultPanel.xaml.cs +++ b/PdmSwPlugin.PropertySetting/Panel/DefaultPanel.xaml.cs @@ -49,7 +49,6 @@ set => RaiseAndSetIfChanged(ref _message, value); } - public DefaultPanel() { DataContext = this; diff --git a/PdmSwPlugin.PropertySetting/Panel/JgjModulePanel.xaml b/PdmSwPlugin.PropertySetting/Panel/JgjModulePanel.xaml index 02f0d61..7e94395 100644 --- a/PdmSwPlugin.PropertySetting/Panel/JgjModulePanel.xaml +++ b/PdmSwPlugin.PropertySetting/Panel/JgjModulePanel.xaml @@ -5,7 +5,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" x:Name="self" - d:DesignHeight="900" d:DesignWidth="800" Background="#FFF"> + d:DesignHeight="900" d:DesignWidth="800"> <UserControl.Resources> <ResourceDictionary> diff --git a/PdmSwPlugin.PropertySetting/Panel/JgjModulePanel.xaml.cs b/PdmSwPlugin.PropertySetting/Panel/JgjModulePanel.xaml.cs index a69952b..c4ffaf5 100644 --- a/PdmSwPlugin.PropertySetting/Panel/JgjModulePanel.xaml.cs +++ b/PdmSwPlugin.PropertySetting/Panel/JgjModulePanel.xaml.cs @@ -9,6 +9,7 @@ using PdmSwPlugin.PropertySetting.Entity; using PdmSwPlugin.PropertySetting.Interface; using PdmSwPlugin.PropertySetting.Panel.Attr; +using PdmSwPlugin.PropertySetting.Util; using SolidWorks.Interop.sldworks; using SolidWorks.Interop.swconst; @@ -51,6 +52,11 @@ } } #endregion + + static JgjModulePanel() + { + PropHolder.Register(typeof(JgjModulePanel)); + } public event PanelPropertyChanged UpdateProperty; @@ -221,7 +227,7 @@ [PropertySettingAttr(Name = NameConstant.weight, NeedSave = false)] public string weight { - get => CustomPropertyUtil.GetMass(doc); + get => CustomPropertyUtil.GetMassBySWDM(doc); set { ccc(ref _weight, value); diff --git a/PdmSwPlugin.PropertySetting/Panel/JgjPartPanel.xaml b/PdmSwPlugin.PropertySetting/Panel/JgjPartPanel.xaml index e7fb6b5..3bc1fe9 100644 --- a/PdmSwPlugin.PropertySetting/Panel/JgjPartPanel.xaml +++ b/PdmSwPlugin.PropertySetting/Panel/JgjPartPanel.xaml @@ -5,7 +5,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" x:Name="self" - d:DesignHeight="900" d:DesignWidth="800" Background="#FFF"> + d:DesignHeight="900" d:DesignWidth="800"> <UserControl.Resources> <ResourceDictionary> diff --git a/PdmSwPlugin.PropertySetting/Panel/JgjPartPanel.xaml.cs b/PdmSwPlugin.PropertySetting/Panel/JgjPartPanel.xaml.cs index e7331b2..9977c5d 100644 --- a/PdmSwPlugin.PropertySetting/Panel/JgjPartPanel.xaml.cs +++ b/PdmSwPlugin.PropertySetting/Panel/JgjPartPanel.xaml.cs @@ -9,6 +9,7 @@ using PdmSwPlugin.PropertySetting.Entity; using PdmSwPlugin.PropertySetting.Interface; using PdmSwPlugin.PropertySetting.Panel.Attr; +using PdmSwPlugin.PropertySetting.Util; using SolidWorks.Interop.sldworks; using SolidWorks.Interop.swconst; @@ -41,6 +42,11 @@ } } #endregion + + static JgjPartPanel() + { + PropHolder.Register(typeof(JgjPartPanel)); + } public void ccc<T>(ref T old, T @new, [CallerMemberName] string propertyName = null) { @@ -198,7 +204,7 @@ [PropertySettingAttr(Name = NameConstant.weight, NeedSave = false)] public string weight { - get => CustomPropertyUtil.GetMass(doc); + get => CustomPropertyUtil.GetMassBySWDM(doc); set { ccc(ref _weight, value); diff --git a/PdmSwPlugin.PropertySetting/Panel/StandardModulePanel.xaml b/PdmSwPlugin.PropertySetting/Panel/StandardModulePanel.xaml index fb810cb..7d38708 100644 --- a/PdmSwPlugin.PropertySetting/Panel/StandardModulePanel.xaml +++ b/PdmSwPlugin.PropertySetting/Panel/StandardModulePanel.xaml @@ -6,7 +6,7 @@ mc:Ignorable="d" x:Name="self" VerticalContentAlignment="Stretch" - d:DesignHeight="900" d:DesignWidth="800" Background="#FFF"> + d:DesignHeight="900" d:DesignWidth="800"> <UserControl.Resources> <ResourceDictionary> diff --git a/PdmSwPlugin.PropertySetting/Panel/StandardModulePanel.xaml.cs b/PdmSwPlugin.PropertySetting/Panel/StandardModulePanel.xaml.cs index 8393031..9b5b9d1 100644 --- a/PdmSwPlugin.PropertySetting/Panel/StandardModulePanel.xaml.cs +++ b/PdmSwPlugin.PropertySetting/Panel/StandardModulePanel.xaml.cs @@ -7,6 +7,7 @@ using PdmSwPlugin.Common.Util; using PdmSwPlugin.PropertySetting.Interface; using PdmSwPlugin.PropertySetting.Panel.Attr; +using PdmSwPlugin.PropertySetting.Util; using SolidWorks.Interop.sldworks; using SolidWorks.Interop.swconst; @@ -39,6 +40,11 @@ } } #endregion + + static StandardModulePanel() + { + PropHolder.Register(typeof(StandardModulePanel)); + } public event PanelPropertyChanged UpdateProperty; @@ -95,7 +101,7 @@ [PropertySettingAttr(Name = NameConstant.weight, NeedSave = false)] public string weight { - get => CustomPropertyUtil.GetMass(doc); + get => CustomPropertyUtil.GetMassBySWDM(doc); set { RaiseAndSetIfChanged(ref _weight, value); diff --git a/PdmSwPlugin.PropertySetting/Panel/StandardPartPanel.xaml b/PdmSwPlugin.PropertySetting/Panel/StandardPartPanel.xaml index 192168c..bed0a65 100644 --- a/PdmSwPlugin.PropertySetting/Panel/StandardPartPanel.xaml +++ b/PdmSwPlugin.PropertySetting/Panel/StandardPartPanel.xaml @@ -6,7 +6,7 @@ xmlns:local="clr-namespace:PdmSwPlugin.PropertySetting" mc:Ignorable="d" x:Name="self" - d:DesignHeight="900" d:DesignWidth="800" Background="#FFF"> + d:DesignHeight="900" d:DesignWidth="800"> <UserControl.Resources> <ResourceDictionary> diff --git a/PdmSwPlugin.PropertySetting/Panel/StandardPartPanel.xaml.cs b/PdmSwPlugin.PropertySetting/Panel/StandardPartPanel.xaml.cs index ea90304..2e6c21a 100644 --- a/PdmSwPlugin.PropertySetting/Panel/StandardPartPanel.xaml.cs +++ b/PdmSwPlugin.PropertySetting/Panel/StandardPartPanel.xaml.cs @@ -7,6 +7,7 @@ using PdmSwPlugin.Common.Util; using PdmSwPlugin.PropertySetting.Interface; using PdmSwPlugin.PropertySetting.Panel.Attr; +using PdmSwPlugin.PropertySetting.Util; using SolidWorks.Interop.sldworks; using SolidWorks.Interop.swconst; @@ -39,6 +40,11 @@ } } #endregion + + static StandardPartPanel() + { + PropHolder.Register(typeof(StandardPartPanel)); + } private Dictionary<string, string> InitData = new Dictionary<string, string>(); @@ -93,7 +99,7 @@ [PropertySettingAttr(Name = NameConstant.weight, NeedSave = false)] public string weight { - get => CustomPropertyUtil.GetMass(doc); + get => CustomPropertyUtil.GetMassBySWDM(doc); set { RaiseAndSetIfChanged(ref _weight, value); diff --git a/PdmSwPlugin.PropertySetting/PdmSwPlugin.PropertySetting.csproj b/PdmSwPlugin.PropertySetting/PdmSwPlugin.PropertySetting.csproj index 09ef8f2..6ed1251 100644 --- a/PdmSwPlugin.PropertySetting/PdmSwPlugin.PropertySetting.csproj +++ b/PdmSwPlugin.PropertySetting/PdmSwPlugin.PropertySetting.csproj @@ -139,6 +139,8 @@ <Compile Include="Tab\JgjPartTab.xaml.cs"> <DependentUpon>JgjPartTab.xaml</DependentUpon> </Compile> + <Compile Include="Util\PropHolder.cs" /> + <Compile Include="Util\PropSetter.cs" /> <Page Include="SettingControl.xaml"> <Generator>MSBuild:Compile</Generator> <SubType>Designer</SubType> diff --git a/PdmSwPlugin.PropertySetting/PropertySettingControl.xaml.cs b/PdmSwPlugin.PropertySetting/PropertySettingControl.xaml.cs index b865f4c..f6646db 100644 --- a/PdmSwPlugin.PropertySetting/PropertySettingControl.xaml.cs +++ b/PdmSwPlugin.PropertySetting/PropertySettingControl.xaml.cs @@ -754,5 +754,10 @@ { } + + public void DisabledHandler() + { + + } } } diff --git a/PdmSwPlugin.PropertySetting/SettingControl.xaml.cs b/PdmSwPlugin.PropertySetting/SettingControl.xaml.cs index 06fb90a..9aedd83 100644 --- a/PdmSwPlugin.PropertySetting/SettingControl.xaml.cs +++ b/PdmSwPlugin.PropertySetting/SettingControl.xaml.cs @@ -337,7 +337,7 @@ else if (docType == (int)swDocumentTypes_e.swDocPART) { ReadDocPath = ReadDoc.GetPathName(); - properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, skipName); + properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, null, skipName); string fileType = properties.Get(NameConstant.docType); /*if (fileType == "鍔犲伐浠�" || fileType == "妯$粍") { @@ -375,7 +375,7 @@ else { // !Equals(LastReadDoc, ReadDoc) - properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, skipName); + properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, null, skipName); string fileType = properties.Get(NameConstant.docType); /*if (fileType == "鍔犲伐浠�" || fileType == "妯$粍") { @@ -451,7 +451,7 @@ else if (docType == (int)swDocumentTypes_e.swDocPART) { ReadDocPath = ReadDoc.GetPathName(); - properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, skipName); + properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, null, skipName); string fileType = properties.Get(NameConstant.docType); /*if (fileType == "鍔犲伐浠�" || fileType == "妯$粍") { @@ -473,7 +473,7 @@ { ReadDocPath = ReadDoc.GetPathName(); // !Equals(LastReadDoc, ReadDoc) - properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, skipName); + properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, null, skipName); string fileType = properties.Get(NameConstant.docType); /*if (fileType == "鍔犲伐浠�" || fileType == "妯$粍") { @@ -553,7 +553,7 @@ HashSet<string> skipName = new HashSet<string> { NameConstant.materialCode }; - Dictionary<string, string> properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, skipName); + Dictionary<string, string> properties = CustomPropertyUtil.GetCustomProperties2(ReadDoc, true, null, skipName); opt.SetProperties(ReadDoc, properties, !Equals(LastReadDoc, ReadDoc), out ErrMsg); } @@ -711,5 +711,10 @@ } } } + + public void DisabledHandler() + { + + } } } diff --git a/PdmSwPlugin.PropertySetting/Util/PropHolder.cs b/PdmSwPlugin.PropertySetting/Util/PropHolder.cs new file mode 100644 index 0000000..43fa3c8 --- /dev/null +++ b/PdmSwPlugin.PropertySetting/Util/PropHolder.cs @@ -0,0 +1,65 @@ +锘縰sing PdmSwPlugin.Common.Util; +using PdmSwPlugin.PropertySetting.Panel; +using PdmSwPlugin.PropertySetting.Panel.Attr; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; + +namespace PdmSwPlugin.PropertySetting.Util +{ + public class PropHolder + { + private static readonly Dictionary<Type, Dictionary<PropertyInfo, PropertySettingAttr>> context + = new Dictionary<Type, Dictionary<PropertyInfo, PropertySettingAttr>>(); + + private static readonly Dictionary<PropertyInfo, SetValueDelegate> setters = new Dictionary<PropertyInfo, SetValueDelegate>(); + + public static void Register(Type type) + { + + if (context.ContainsKey(type)) + { + return; + } + + Dictionary<PropertyInfo, PropertySettingAttr> map = new Dictionary<PropertyInfo, PropertySettingAttr>(); + + var props = type.GetProperties().Where(prop => System.Attribute.IsDefined(prop, typeof(PropertySettingAttr))) + .ToList(); + + foreach (var prop in props) + { + PropertySettingAttr attr = prop.GetCustomAttribute<PropertySettingAttr>(); + if (attr == null || !attr.NeedInit) + { + continue; + } + map.Add(prop, attr); + setters.Add(prop, PropSetter.CreatePropertySetter(prop)); + } + context.Add(type, map); + } + + public static Dictionary<PropertyInfo, PropertySettingAttr> GetAttrMap(Type type) + { + if (!context.ContainsKey(type)) + { + return null; + } + return context[type]; + } + + public static void SetPropToUI(object container, PropertyInfo prop, object value) + { + if (setters.ContainsKey(prop)) + { + setters[prop](container, value); + } + } + } +} diff --git a/PdmSwPlugin.PropertySetting/Util/PropSetter.cs b/PdmSwPlugin.PropertySetting/Util/PropSetter.cs new file mode 100644 index 0000000..82d1a62 --- /dev/null +++ b/PdmSwPlugin.PropertySetting/Util/PropSetter.cs @@ -0,0 +1,57 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection.Emit; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace PdmSwPlugin.PropertySetting.Util +{ + public delegate void SetValueDelegate(object target, object arg); + + public static class PropSetter + { + public static SetValueDelegate CreatePropertySetter(PropertyInfo property) + { + if (property == null) + throw new ArgumentNullException("property"); + + if (!property.CanWrite) + return null; + + MethodInfo setMethod = property.GetSetMethod(true); + + DynamicMethod dm = new DynamicMethod("PropertySetter", null, + new Type[] { typeof(object), typeof(object) }, property.DeclaringType, true); + + ILGenerator il = dm.GetILGenerator(); + + if (!setMethod.IsStatic) + { + il.Emit(OpCodes.Ldarg_0); + } + il.Emit(OpCodes.Ldarg_1); + + EmitCastToReference(il, property.PropertyType); + if (!setMethod.IsStatic && !property.DeclaringType.IsValueType) + { + il.EmitCall(OpCodes.Callvirt, setMethod, null); + } + else + il.EmitCall(OpCodes.Call, setMethod, null); + + il.Emit(OpCodes.Ret); + + return (SetValueDelegate)dm.CreateDelegate(typeof(SetValueDelegate)); + } + + private static void EmitCastToReference(ILGenerator il, Type type) + { + if (type.IsValueType) + il.Emit(OpCodes.Unbox_Any, type); + else + il.Emit(OpCodes.Castclass, type); + } + } +} -- Gitblit v1.9.1