- primo commit

This commit is contained in:
Emmanuele Sassi
2025-02-07 12:32:14 +01:00
parent d1910ff83a
commit 139b805055
78 changed files with 4099 additions and 0 deletions
Binary file not shown.
@@ -0,0 +1,171 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|c:\\egtdev\\effector\\effector.plugin.lib\\effector.plugin.lib\\processmanager\\processmanagervm.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\processmanager\\processmanagervm.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|c:\\egtdev\\effector\\effector.plugin.lib\\effector.plugin.lib\\multiplecopywnd\\multiplecopywndv.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\multiplecopywnd\\multiplecopywndv.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|c:\\egtdev\\effector\\effector.plugin.lib\\effector.plugin.lib\\processmanager\\processmanagerv.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\processmanager\\processmanagerv.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\effector.plugin.lib\\egtwindow\\egtwindow.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\egtwindow\\egtwindow.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\effector.plugin.lib\\utility\\inifile.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\utility\\inifile.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|c:\\egtdev\\effector\\effector.plugin.lib\\effector.plugin.lib\\themes\\generic.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\themes\\generic.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\effector.plugin.lib\\constants\\pluginconstini.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\constants\\pluginconstini.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\effector.plugin.lib\\utility\\plugininifile.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\utility\\plugininifile.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\effector.plugin.lib\\constants\\constini.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\constants\\constini.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 2,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "MultipleCopyWndV.xaml",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\MultipleCopyWnd\\MultipleCopyWndV.xaml",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\MultipleCopyWnd\\MultipleCopyWndV.xaml",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\MultipleCopyWnd\\MultipleCopyWndV.xaml",
"RelativeToolTip": "Effector.Plugin.Lib\\MultipleCopyWnd\\MultipleCopyWndV.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-01-16T14:20:02.087Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "ProcessManagerVM.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\ProcessManager\\ProcessManagerVM.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\ProcessManager\\ProcessManagerVM.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\ProcessManager\\ProcessManagerVM.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\ProcessManager\\ProcessManagerVM.vb",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-16T14:19:17.625Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "ProcessManagerV.xaml",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\ProcessManager\\ProcessManagerV.xaml",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\ProcessManager\\ProcessManagerV.xaml",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\ProcessManager\\ProcessManagerV.xaml",
"RelativeToolTip": "Effector.Plugin.Lib\\ProcessManager\\ProcessManagerV.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-01-16T14:19:13.496Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "EgtWindow.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\EgtWindow\\EgtWindow.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\EgtWindow\\EgtWindow.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\EgtWindow\\EgtWindow.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\EgtWindow\\EgtWindow.vb",
"ViewState": "AgIAADkAAAAAAAAAAAAAAH8AAAAtAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-09T15:16:31.177Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "Generic.xaml",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Themes\\Generic.xaml",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\Themes\\Generic.xaml",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Themes\\Generic.xaml",
"RelativeToolTip": "Effector.Plugin.Lib\\Themes\\Generic.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-01-09T14:50:37.334Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "PluginConstIni.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Constants\\PluginConstIni.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\Constants\\PluginConstIni.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Constants\\PluginConstIni.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\Constants\\PluginConstIni.vb",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-09T14:19:08.316Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "ConstIni.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Constants\\ConstIni.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\Constants\\ConstIni.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Constants\\ConstIni.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\Constants\\ConstIni.vb",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-09T14:17:20.215Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "PluginIniFile.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Utility\\PluginIniFile.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\Utility\\PluginIniFile.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Utility\\PluginIniFile.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\Utility\\PluginIniFile.vb",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAUAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-09T12:12:44.529Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "IniFile.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Utility\\IniFile.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\Utility\\IniFile.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Utility\\IniFile.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\Utility\\IniFile.vb",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-09T12:09:43.898Z",
"EditorCaption": ""
}
]
}
]
}
]
}
@@ -0,0 +1,171 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|c:\\egtdev\\effector\\effector.plugin.lib\\effector.plugin.lib\\processmanager\\processmanagervm.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\processmanager\\processmanagervm.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|c:\\egtdev\\effector\\effector.plugin.lib\\effector.plugin.lib\\multiplecopywnd\\multiplecopywndv.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\multiplecopywnd\\multiplecopywndv.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|c:\\egtdev\\effector\\effector.plugin.lib\\effector.plugin.lib\\processmanager\\processmanagerv.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\processmanager\\processmanagerv.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\effector.plugin.lib\\egtwindow\\egtwindow.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\egtwindow\\egtwindow.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\effector.plugin.lib\\utility\\inifile.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\utility\\inifile.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|c:\\egtdev\\effector\\effector.plugin.lib\\effector.plugin.lib\\themes\\generic.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\themes\\generic.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\effector.plugin.lib\\constants\\pluginconstini.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\constants\\pluginconstini.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\effector.plugin.lib\\utility\\plugininifile.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\utility\\plugininifile.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
},
{
"AbsoluteMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\effector.plugin.lib\\constants\\constini.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
"RelativeMoniker": "D:0:0:{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}|Effector.Plugin.Lib\\Effector.Plugin.Lib.vbproj|solutionrelative:effector.plugin.lib\\constants\\constini.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 2,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "MultipleCopyWndV.xaml",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\MultipleCopyWnd\\MultipleCopyWndV.xaml",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\MultipleCopyWnd\\MultipleCopyWndV.xaml",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\MultipleCopyWnd\\MultipleCopyWndV.xaml",
"RelativeToolTip": "Effector.Plugin.Lib\\MultipleCopyWnd\\MultipleCopyWndV.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-01-16T14:20:02.087Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "ProcessManagerVM.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\ProcessManager\\ProcessManagerVM.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\ProcessManager\\ProcessManagerVM.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\ProcessManager\\ProcessManagerVM.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\ProcessManager\\ProcessManagerVM.vb",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-16T14:19:17.625Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "ProcessManagerV.xaml",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\ProcessManager\\ProcessManagerV.xaml",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\ProcessManager\\ProcessManagerV.xaml",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\ProcessManager\\ProcessManagerV.xaml",
"RelativeToolTip": "Effector.Plugin.Lib\\ProcessManager\\ProcessManagerV.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-01-16T14:19:13.496Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "EgtWindow.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\EgtWindow\\EgtWindow.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\EgtWindow\\EgtWindow.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\EgtWindow\\EgtWindow.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\EgtWindow\\EgtWindow.vb",
"ViewState": "AgIAADkAAAAAAAAAAAAAAH8AAAAtAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-09T15:16:31.177Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "Generic.xaml",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Themes\\Generic.xaml",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\Themes\\Generic.xaml",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Themes\\Generic.xaml",
"RelativeToolTip": "Effector.Plugin.Lib\\Themes\\Generic.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-01-09T14:50:37.334Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "PluginConstIni.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Constants\\PluginConstIni.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\Constants\\PluginConstIni.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Constants\\PluginConstIni.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\Constants\\PluginConstIni.vb",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-09T14:19:08.316Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "ConstIni.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Constants\\ConstIni.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\Constants\\ConstIni.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Constants\\ConstIni.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\Constants\\ConstIni.vb",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-09T14:17:20.215Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "PluginIniFile.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Utility\\PluginIniFile.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\Utility\\PluginIniFile.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Utility\\PluginIniFile.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\Utility\\PluginIniFile.vb",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAUAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-09T12:12:44.529Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "IniFile.vb",
"DocumentMoniker": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Utility\\IniFile.vb",
"RelativeDocumentMoniker": "Effector.Plugin.Lib\\Utility\\IniFile.vb",
"ToolTip": "C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\Utility\\IniFile.vb",
"RelativeToolTip": "Effector.Plugin.Lib\\Utility\\IniFile.vb",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
"WhenOpened": "2025-01-09T12:09:43.898Z",
"EditorCaption": ""
}
]
}
]
}
]
}
+22
View File
@@ -0,0 +1,22 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.12.35514.174 d17.12
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Effector.Plugin.Lib", "Effector.Plugin.Lib\Effector.Plugin.Lib.vbproj", "{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -0,0 +1 @@
{"RootPath":"C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib","ProjectFileName":"Effector.Plugin.Lib.vbproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"Constants\\ConstGen.vb"},{"SourceFile":"Constants\\ConstIni.vb"},{"SourceFile":"Constants\\PluginConstIni.vb"},{"SourceFile":"EgtWindow\\EgtWindow.vb"},{"SourceFile":"MultipleCopyWnd\\MultipleCopyWndV.xaml.vb"},{"SourceFile":"MultipleCopyWnd\\MultipleCopyWndVM.vb"},{"SourceFile":"My Project\\AssemblyInfo.vb"},{"SourceFile":"My Project\\Resources.Designer.vb"},{"SourceFile":"My Project\\Settings.Designer.vb"},{"SourceFile":"TitleBar\\TitleBarV.xaml.vb"},{"SourceFile":"Utility\\Command.vb"},{"SourceFile":"Utility\\ExecProcessManager.vb"},{"SourceFile":"Utility\\GenInterface.vb"},{"SourceFile":"Utility\\IdNameStruct.vb"},{"SourceFile":"Utility\\IniFile.vb"},{"SourceFile":"Utility\\PluginIniFile.vb"},{"SourceFile":"Utility\\StringConversion.vb"},{"SourceFile":"Utility\\VMBase.vb"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.vb"},{"SourceFile":"C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\obj\\Debug\\MultipleCopyWnd\\MultipleCopyWndV.g.vb"},{"SourceFile":"C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\obj\\Debug\\TitleBar\\TitleBarV.g.vb"},{"SourceFile":"C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\obj\\Debug\\GeneratedInternalTypeHelper.g.vb"}],"References":[{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\PresentationCore.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\PresentationFramework.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xaml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\WindowsBase.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\EgtDev\\Effector\\Effector.Plugin.Lib\\Effector.Plugin.Lib\\bin\\Debug\\Effector.Plugin.Lib.dll","OutputItemRelativePath":"Effector.Plugin.Lib.dll"},{"OutputItemFullPath":"","OutputItemRelativePath":""}],"CopyToOutputEntries":[]}
+66
View File
@@ -0,0 +1,66 @@
'----------------------------------------------------------------------------
' EgalTech 2015-2017
'----------------------------------------------------------------------------
' File : ConstGen.vb Data : 08.05.24 Versione : 2.6e1
' Contenuto : Modulo costanti generali.
'
'
'
' Modifiche : 08.05.24 ES Creazione modulo.
'
'
'----------------------------------------------------------------------------
Public Module ConstGen
' File con direttorio radice dei dati
Public Const DAT_FILE_NAME As String = "DataRoot.Ini"
Public Const S_DATA As String = "Data"
Public Const K_DATAROOT As String = "DataRoot"
'' File con dati di licenza
'Public Const LIC_FILE_NAME As String = "EgtBEAMWALL.lic"
'Public Const S_LICENCE As String = "Licence"
'Public Const K_LOCKID As String = "LockId"
'Public Const K_KEY As String = "Key"
' Abilitazioni licenza
Public Enum KEY_OPT As UInteger
SUPERVISOR = 1
End Enum
' Sottodirettorio di configurazione
Public Const CONF_DIR As String = "Config"
' Sottodirettorio delle risorse
Public Const RES_DIR As String = "Resources"
' Sottodirettorio script
Public Const SCRIPT_DIR As String = "Script"
' Sottodirettorio temporaneo
Public Const TEMP_DIR As String = "Temp"
'' Sottodirettorio per Cam automatico
'Public Const PROJS_DIR As String = "Projs"
'' Sottodirettorio per Csv automatico
'Public Const PRODS_DIR As String = "Prods"
'' Sottodirettorio per Macro
'Public Const MACRO_DIR As String = "Macro"
'' Sottodirettorio per Magazzino
'Public Const WAREHOUSE_DIR As String = "Warehouse"
'' Sottodirettorio per lavorazioni travi
'Public Const BEAM_DIR As String = "Beam"
'' Sottodirettorio per lavorazioni pareti
'Public Const WALL_DIR As String = "Wall"
'' Sottodirettorio di default per il salvataggio con nome
'Public Const SAVE_DFL_NAMEDIR As String = "MyProjects"
'' Sottodirettorio di default per le macchine
'Public Const MACHINES_DFL_DIR As String = "Machines"
'' Sottodirettorio di default per toolmakers
'Public Const TOOLMAKERS_DFL_DIR As String = "ToolMakers"
'' Nome file Lua con le funzioni di attrezzaggio
'Public Const SETUP_LUA As String = "SetUp.lua"
'' Nome eseguibile per stampa
'Public Const ZEBRAPRINTER_EXE As String = "ZebraPrinterUtilitiesD32.exe"
'' Sottodirettorio di default per macro
'Public Const MACRO_DFL_DIR As String = "Macro"
End Module
+39
View File
@@ -0,0 +1,39 @@
'----------------------------------------------------------------------------
' EgalTech 2015-2024
'----------------------------------------------------------------------------
' File : ConstIni.vb Data : 08.05.24 Versione : 2.6e1
' Contenuto : Modulo costanti sezione e chiavi per file Ini.
'
'
'
' Modifiche : 08.05.24 ES Creazione modulo.
'
'
'----------------------------------------------------------------------------
Module ConstIni
Public Const INI_FILE_NAME As String = "Effector.ini"
Public Const S_GENERAL As String = "General"
'Public Const K_DEBUG As String = "Debug"
Public Const K_LICENCE As String = "Licence"
'Public Const K_USERLEVEL As String = "UserLevel"
'Public Const K_MAXINST As String = "MaxInstances"
Public Const K_INSTANCES As String = "Instances"
Public Const K_PREPROC As String = "PreProc"
Public Const K_POSTPROC As String = "PostProc"
Public Const K_MACHINESTATE As String = "MachineState"
Public Const K_INITLUA As String = "InitLua"
Public Const K_PLUGINNAME As String = "PluginName"
Public Const K_WINPLACE = "WinPlace"
Public Const S_REDIS As String = "Redis"
Public Const K_ENABLED As String = "Enabled"
Public Const K_DBINDEX As String = "DbIndex"
Public Const S_NC As String = "NC"
Public Const K_NC_SIMULATE As String = "NcSimulate"
Public Const K_MACHINE As String = "Machine"
End Module
@@ -0,0 +1,51 @@
'----------------------------------------------------------------------------
' EgalTech 2015-2024
'----------------------------------------------------------------------------
' File : ConstIni.vb Data : 08.05.24 Versione : 2.6e1
' Contenuto : Modulo costanti sezione e chiavi per file Ini.
'
'
'
' Modifiche : 08.05.24 ES Creazione modulo.
'
'
'----------------------------------------------------------------------------
Module PluginConstIni
'Public Const S_GENERAL As String = "General"
Public Const K_CAMEXEPATH As String = "CAMExePath"
Public Const K_DOORCREATOREXEPATH As String = "DoorCreatorExePath"
Public Const K_BACKUPDIR As String = "BackupDir"
Public Const K_RESOURCESDIR As String = "ResourcesDir"
Public Const K_DDFDIR As String = "DDFDir"
Public Const K_DDTDIR As String = "DDTDir"
Public Const K_GENDDFDIR As String = "GenDDFDir"
Public Const K_CSVOUTPUT As String = "CSVOutput"
Public Const S_CSV As String = "CSV"
Public Const K_DDFNAME As String = "DDFName"
Public Const K_QUANTITY As String = "Quantity"
Public Const K_HEIGHT As String = "Height"
Public Const K_WIDTH As String = "Width"
Public Const K_THICKNESS As String = "Thickness"
Public Const K_SWING As String = "Swing"
Public Const K_PHASE As String = "Phase"
Public Const K_STATE As String = "State"
Public Const K_PROGRAMSENT As String = "ProgramSent"
Public Const K_PROGRAMSTART As String = "ProgramStart"
Public Const K_PROGRAMEND As String = "ProgramEnd"
Public Const K_MANUALADDEDDOORNAME As String = "ManualAddedDoorName"
Public Const K_DELIMITER As String = "Delimiter"
Public Const S_DEBUG As String = "Debug"
Public Const K_VARIABLELIST As String = "VariableList"
Public Const K_VARIABLEONDRAW As String = "VariableOnDraw"
Public Const K_MACHINECOMMANDS As String = "MachineCommands"
Public Const K_DOORCIRCLIST As String = "DoorCircList"
Public Const K_EXECUTEWINDOW As String = "ExecuteWindow"
Public Const S_NC As String = "NC"
Public Const K_NC_SIMULATE As String = "NcSimulate"
End Module
@@ -0,0 +1,163 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
<RootNamespace>Effector.Plugin.Lib</RootNamespace>
<AssemblyName>Effector.Plugin.Lib</AssemblyName>
<OutputType>Library</OutputType>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<MyType>Custom</MyType>
<Deterministic>true</Deterministic>
<ProjectGuid>{E5ECC5E1-EA7B-447D-9A07-F5EE25D27779}</ProjectGuid>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<IncrementalBuild>true</IncrementalBuild>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>Effector.Plugin.Lib.xml</DocumentationFile>
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<DebugSymbols>false</DebugSymbols>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<IncrementalBuild>false</IncrementalBuild>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>Effector.Plugin.Lib.xml</DocumentationFile>
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup />
<ItemGroup>
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<Import Include="System.Threading.Tasks" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows" />
<Import Include="System.Windows.Controls" />
<Import Include="System.Windows.Data" />
<Import Include="System.Windows.Documents" />
<Import Include="System.Windows.Input" />
<Import Include="System.Windows.Shapes" />
<Import Include="System.Windows.Media" />
<Import Include="System.Windows.Media.Imaging" />
<Import Include="System.Windows.Navigation" />
</ItemGroup>
<ItemGroup>
<Compile Include="Constants\ConstGen.vb" />
<Compile Include="Constants\ConstIni.vb" />
<Compile Include="Constants\PluginConstIni.vb" />
<Compile Include="EgtWindow\EgtWindow.vb" />
<Compile Include="MultipleCopyWnd\MultipleCopyWndV.xaml.vb">
<DependentUpon>MultipleCopyWndV.xaml</DependentUpon>
</Compile>
<Compile Include="MultipleCopyWnd\MultipleCopyWndVM.vb" />
<Compile Include="My Project\AssemblyInfo.vb">
<SubType>Code</SubType>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="ProcessManager\ProcessManagerV.xaml.vb">
<DependentUpon>ProcessManagerV.xaml</DependentUpon>
</Compile>
<Compile Include="ProcessManager\ProcessManagerVM.vb" />
<Compile Include="TitleBar\TitleBarV.xaml.vb">
<DependentUpon>TitleBarV.xaml</DependentUpon>
</Compile>
<Compile Include="Utility\Command.vb" />
<Compile Include="Utility\ExecProcessManager.vb" />
<Compile Include="Utility\GenInterface.vb" />
<Compile Include="Utility\IdNameStruct.vb" />
<Compile Include="Utility\IniFile.vb" />
<Compile Include="Utility\PluginIniFile.vb" />
<Compile Include="Utility\StringConversion.vb" />
<Compile Include="Utility\ThreadData.vb" />
<Compile Include="Utility\VMBase.vb" />
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
</EmbeddedResource>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<Resource Include="Resources\Fonts\AdventPro-Light.ttf" />
<Resource Include="Resources\Fonts\AdventPro-Regular.ttf" />
<Resource Include="Resources\Fonts\Roboto-Light.ttf" />
<Resource Include="Resources\Fonts\Roboto-Regular.ttf" />
</ItemGroup>
<ItemGroup>
<Page Include="MultipleCopyWnd\MultipleCopyWndV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="ProcessManager\ProcessManagerV.xaml">
<SubType>Designer</SubType>
<Generator>XamlIntelliSenseFileGenerator</Generator>
</Page>
<Page Include="Themes\Generic.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="TitleBar\TitleBarV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\Effector.ico" />
<Resource Include="Resources\EgalwareLogo.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>copy $(TargetPath) c:\EgtData\Effector\Plugin\Effector.Plugin.DoorArreda\Effector.Plugin.Lib.dll
copy $(TargetPath) c:\EgtData\Effector\Plugin\Effector.Plugin.FiveLakes\Effector.Plugin.Lib.dll
copy $(TargetPath) c:\EgtProg\Effector\Effector.Plugin.Lib.dll</PostBuildEvent>
</PropertyGroup>
</Project>
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<StartAction>Program</StartAction>
<StartProgram>C:\EgtProg\Effector\EffectorD32.exe</StartProgram>
</PropertyGroup>
</Project>
+360
View File
@@ -0,0 +1,360 @@
' Follow steps 1a or 1b and then 2 to use this custom control in a XAML file.
'
' Step 1a) Using this custom control in a XAML file that exists in the current project.
' Add this XmlNamespace attribute to the root element of the markup file where it is
' to be used:
'
' xmlns:MyNamespace="clr-namespace:Effector.Plugin.Lib"
'
'
' Step 1b) Using this custom control in a XAML file that exists in a different project.
' Add this XmlNamespace attribute to the root element of the markup file where it is
' to be used:
'
' xmlns:MyNamespace="clr-namespace:Effector.Plugin.Lib;assembly=Effector.Plugin.Lib"
'
' You will also need to add a project reference from the project where the XAML file lives
' to this project and Rebuild to avoid compilation errors:
'
' Right click on the target project in the Solution Explorer and
' "Add Reference"->"Projects"->[Browse to and select this project]
'
'
' Step 2)
' Go ahead and use your control in the XAML file. Note that Intellisense in the
' XML editor does not currently work on custom controls and its child elements.
'
' <MyNamespace:EgtWindow/>
'
Imports System.Globalization
Imports System.Runtime.InteropServices
Imports System.Text
Imports System.Windows.Controls.Primitives
Imports System.Windows.Interop
Imports System.Xml.Serialization
<TemplatePart(Name:="MaximizeBtn", Type:=GetType(Button))>
<TemplatePart(Name:="RestoreBtn", Type:=GetType(Button))>
Public Class EgtWindow
Inherits System.Windows.Window
Private Const WM_GETMINMAXINFO As Integer = &H24
Private Const MONITOR_DEFAULTTONEAREST As UInteger = &H2
Private Const SW_SHOWNORMAL As Integer = 1
Private Const SW_SHOWMINIMIZED As Integer = 2
<Serializable>
<StructLayout(LayoutKind.Sequential)>
Public Structure RECT
Public Left As Integer
Public Top As Integer
Public Right As Integer
Public Bottom As Integer
Public Sub New(ByVal left As Integer, ByVal top As Integer, ByVal right As Integer, ByVal bottom As Integer)
Me.Left = left
Me.Top = top
Me.Right = right
Me.Bottom = bottom
End Sub
End Structure
<StructLayout(LayoutKind.Sequential)>
Public Structure MONITORINFO
Public cbSize As Integer
Public rcMonitor As RECT
Public rcWork As RECT
Public dwFlags As UInteger
End Structure
<Serializable>
<StructLayout(LayoutKind.Sequential)>
Public Structure POINT
Public X As Integer
Public Y As Integer
Public Sub New(ByVal x As Integer, ByVal y As Integer)
Me.X = x
Me.Y = y
End Sub
End Structure
<StructLayout(LayoutKind.Sequential)>
Public Structure MINMAXINFO
Public ptReserved As POINT
Public ptMaxSize As POINT
Public ptMaxPosition As POINT
Public ptMinTrackSize As POINT
Public ptMaxTrackSize As POINT
End Structure
<Serializable>
<StructLayout(LayoutKind.Sequential)>
Public Structure WINDOWPLACEMENT
Public length As Integer
Public flags As Integer
Public showCmd As Integer
Public minPosition As POINT
Public maxPosition As POINT
Public normalPosition As RECT
End Structure
' Proprietà che permette di impostare l'altezza della TitleBar
Public Shared ReadOnly TitleBarHeightProperty As DependencyProperty = DependencyProperty.Register("TitleBarHeight", GetType(Double), GetType(EgtWindow), New PropertyMetadata(0.0))
Public Property TitleBarHeight() As Double
Get
Return CType(GetValue(TitleBarHeightProperty), Double)
End Get
Set(ByVal value As Double)
SetValue(TitleBarHeightProperty, value)
End Set
End Property
'Private Shared encoding As Encoding = New UTF8Encoding()
'Private Shared serializer As XmlSerializer = New XmlSerializer(GetType(WINDOWPLACEMENT))
Private m_Placement_AppName As String = ""
Public Sub SetPlacementAppName(Placement_AppName As String)
m_Placement_AppName = Placement_AppName
End Sub
Private m_Placement_KeyName As String = ""
Public Sub SetPlacementKeyName(Placement_KeyName As String)
m_Placement_KeyName = Placement_KeyName
End Sub
Private m_Placement_FileName As String = ""
Public Sub SetPlacementFileName(Placement_FileName As String)
m_Placement_FileName = Placement_FileName
End Sub
#Region "CONSTRUCTOR"
Shared Sub New()
'This OverrideMetadata call tells the system that this element wants to provide a style that is different than its base class.
'This style is defined in themes\generic.xaml
DefaultStyleKeyProperty.OverrideMetadata(GetType(EgtWindow), New FrameworkPropertyMetadata(GetType(EgtWindow)))
End Sub
Sub New()
AddHandler Me.Closing, AddressOf OnWindowClosing
End Sub
#End Region ' CONSTRUCTOR
#Region "METHODS"
<DllImport("user32.dll")>
Private Shared Function MonitorFromWindow(ByVal handle As IntPtr, ByVal flags As UInteger) As IntPtr
End Function
<DllImport("user32.dll")>
Private Shared Function GetMonitorInfo(ByVal hMonitor As IntPtr, ByRef lpmi As MONITORINFO) As Boolean
End Function
<DllImport("user32.dll")>
Private Shared Function SetWindowPlacement(ByVal hWnd As IntPtr, <[In]> ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
End Function
<DllImport("user32.dll")>
Private Shared Function GetWindowPlacement(ByVal hWnd As IntPtr, <Out> ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
End Function
Protected Overrides Sub OnSourceInitialized(ByVal e As EventArgs)
MyBase.OnSourceInitialized(e)
CType(PresentationSource.FromVisual(Me), HwndSource).AddHook(AddressOf HookProc)
If Me.SizeToContent = SizeToContent.Manual Then
Dim sPlacement As String = ""
GetPrivateProfileString(m_Placement_AppName, m_Placement_KeyName, "", sPlacement, m_Placement_FileName)
If Not String.IsNullOrWhiteSpace(sPlacement) Then
SetPlacement(sPlacement)
End If
End If
Me.InvalidateMeasure()
End Sub
Public Shared Function HookProc(ByVal hwnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr, ByRef handled As Boolean) As IntPtr
If msg = WM_GETMINMAXINFO Then
Dim mmi As MINMAXINFO = CType(Marshal.PtrToStructure(lParam, GetType(MINMAXINFO)), MINMAXINFO)
Dim monitor As IntPtr = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST)
If monitor <> IntPtr.Zero Then
Dim monitorInfo As MONITORINFO = New MONITORINFO()
monitorInfo.cbSize = Marshal.SizeOf(GetType(MONITORINFO))
GetMonitorInfo(monitor, monitorInfo)
Dim rcWorkArea As RECT = monitorInfo.rcWork
Dim rcMonitorArea As RECT = monitorInfo.rcMonitor
mmi.ptMaxPosition.X = Math.Abs(rcWorkArea.Left - rcMonitorArea.Left)
mmi.ptMaxPosition.Y = Math.Abs(rcWorkArea.Top - rcMonitorArea.Top)
mmi.ptMaxSize.X = Math.Abs(rcWorkArea.Right - rcWorkArea.Left)
mmi.ptMaxSize.Y = Math.Abs(rcWorkArea.Bottom - rcWorkArea.Top)
End If
Marshal.StructureToPtr(mmi, lParam, True)
End If
Return IntPtr.Zero
End Function
Shared Sub SetPlacement(ByVal windowHandle As IntPtr, ByVal placementXml As String)
If String.IsNullOrEmpty(placementXml) Then
Return
End If
Dim placement As WINDOWPLACEMENT
Try
placement = StringToPlacement(placementXml)
'Using memoryStream As TextReader = New StringReader(placementXml)
' placement = CType(serializer.Deserialize(memoryStream), WINDOWPLACEMENT)
'End Using
placement.length = Marshal.SizeOf(GetType(WINDOWPLACEMENT))
placement.flags = 0
placement.showCmd = (If(placement.showCmd = SW_SHOWMINIMIZED, SW_SHOWNORMAL, placement.showCmd))
SetWindowPlacement(windowHandle, placement)
Catch __unusedInvalidOperationException1__ As InvalidOperationException
End Try
End Sub
Private Shared Function PlacementToString(Placement As WINDOWPLACEMENT) As String
Dim sPlacement As String = ""
sPlacement = Placement.length.ToString() & ";" &
Placement.flags.ToString() & ";" &
Placement.showCmd.ToString() & ";"
sPlacement &= PointToString(Placement.minPosition) & ";"
sPlacement &= PointToString(Placement.maxPosition) & ";"
sPlacement &= RectToString(Placement.normalPosition)
Return sPlacement
End Function
Private Shared Function PointToString(Point As POINT) As String
Dim sPoint As String = ""
sPoint = Point.X.ToString() & "," &
Point.Y.ToString()
Return sPoint
End Function
Private Shared Function RectToString(Rect As RECT) As String
Dim sRect As String = ""
sRect = Rect.Left.ToString() & "," &
Rect.Top.ToString() & "," &
Rect.Right.ToString() & "," &
Rect.Bottom.ToString()
Return sRect
End Function
Shared Function GetPlacement(ByVal windowHandle As IntPtr) As String
Dim placement As WINDOWPLACEMENT = New WINDOWPLACEMENT()
GetWindowPlacement(windowHandle, placement)
Return PlacementToString(placement)
'Using TextWriter As StringWriter = New StringWriter()
' serializer.Serialize(TextWriter, placement)
' Return TextWriter.ToString().Replace(Environment.NewLine, "")
'End Using
End Function
Private Shared Function StringToPlacement(sPlacement As String) As WINDOWPLACEMENT
Dim Placement As WINDOWPLACEMENT
Dim sPlacementArray As String() = sPlacement.Split(";"c)
If sPlacementArray.Length < 5 Then
Placement.normalPosition = New RECT(100, 100, 800, 800)
Return Placement
End If
Integer.TryParse(sPlacementArray(0), Placement.length)
Integer.TryParse(sPlacementArray(1), Placement.flags)
Integer.TryParse(sPlacementArray(2), Placement.showCmd)
Placement.minPosition = StringToPoint(sPlacementArray(3))
Placement.maxPosition = StringToPoint(sPlacementArray(4))
Placement.normalPosition = StringToRect(sPlacementArray(5))
Return Placement
End Function
Private Shared Function StringToPoint(sPoint As String) As POINT
Dim sPointArray As String() = sPoint.Split(","c)
Dim nX As Integer = 0
Dim nY As Integer = 0
Integer.TryParse(sPointArray(0), nX)
Integer.TryParse(sPointArray(1), nY)
Return New POINT(nX, nY)
End Function
Private Shared Function StringToRect(sRect As String) As RECT
Dim sRectArray As String() = sRect.Split(","c)
Dim nLeft As Integer = 0
Dim nTop As Integer = 0
Dim nRight As Integer = 0
Dim nBottom As Integer = 0
Integer.TryParse(sRectArray(0), nLeft)
Integer.TryParse(sRectArray(1), nTop)
Integer.TryParse(sRectArray(2), nRight)
Integer.TryParse(sRectArray(3), nBottom)
Return New RECT(nLeft, nTop, nRight, nBottom)
End Function
Public Sub SetPlacement(ByVal placementXml As String)
SetPlacement(New WindowInteropHelper(Me).Handle, placementXml)
End Sub
Public Function GetPlacement() As String
Return GetPlacement(New WindowInteropHelper(Me).Handle)
End Function
#End Region ' METHODS
#Region "EVENTS"
Public Sub OnMinimizeButtonClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
Me.WindowState = WindowState.Minimized
End Sub
Public Sub OnMaximizeRestoreButtonClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
If Me.WindowState = WindowState.Maximized Then
Me.WindowState = WindowState.Normal
Else
Me.WindowState = WindowState.Maximized
End If
End Sub
Public Overridable Sub OnCloseButtonClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
Me.Close()
End Sub
Private Sub OnWindowClosing(sender As Object, e As System.ComponentModel.CancelEventArgs)
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
e.Cancel = True
Return
End If
If Me.SizeToContent = SizeToContent.Manual Then
WritePrivateProfileString(m_Placement_AppName, m_Placement_KeyName, GetPlacement(), m_Placement_FileName)
End If
End Sub
#End Region ' EVENTS
End Class
Public Class CaptionHeightConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
If Not TypeOf value Is Double Then Return 39
Dim dValue As Double = CDbl(value)
Return dValue + 7
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
Throw New NotImplementedException()
End Function
End Class
@@ -0,0 +1,4 @@
<Window x:Class="EgtWindowV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</Window>
@@ -0,0 +1,301 @@
Imports System.Runtime.InteropServices
Imports System.Text
Imports System.Windows.Interop
Imports System.Xml.Serialization
Public Class EgtWindowV
Private Const WM_GETMINMAXINFO As Integer = &H24
Private Const MONITOR_DEFAULTTONEAREST As UInteger = &H2
Private Const SW_SHOWNORMAL As Integer = 1
Private Const SW_SHOWMINIMIZED As Integer = 2
<Serializable>
<StructLayout(LayoutKind.Sequential)>
Public Structure RECT
Public Left As Integer
Public Top As Integer
Public Right As Integer
Public Bottom As Integer
Public Sub New(ByVal left As Integer, ByVal top As Integer, ByVal right As Integer, ByVal bottom As Integer)
Me.Left = left
Me.Top = top
Me.Right = right
Me.Bottom = bottom
End Sub
End Structure
<StructLayout(LayoutKind.Sequential)>
Public Structure MONITORINFO
Public cbSize As Integer
Public rcMonitor As RECT
Public rcWork As RECT
Public dwFlags As UInteger
End Structure
<Serializable>
<StructLayout(LayoutKind.Sequential)>
Public Structure POINT
Public X As Integer
Public Y As Integer
Public Sub New(ByVal x As Integer, ByVal y As Integer)
Me.X = x
Me.Y = y
End Sub
End Structure
<StructLayout(LayoutKind.Sequential)>
Public Structure MINMAXINFO
Public ptReserved As POINT
Public ptMaxSize As POINT
Public ptMaxPosition As POINT
Public ptMinTrackSize As POINT
Public ptMaxTrackSize As POINT
End Structure
<Serializable>
<StructLayout(LayoutKind.Sequential)>
Public Structure WINDOWPLACEMENT
Public length As Integer
Public flags As Integer
Public showCmd As Integer
Public minPosition As POINT
Public maxPosition As POINT
Public normalPosition As RECT
End Structure
Private Shared encoding As Encoding = New UTF8Encoding()
Private Shared serializer As XmlSerializer = New XmlSerializer(GetType(WINDOWPLACEMENT))
#Region "CONSTRUCTOR"
Sub New()
' Funzione che interpreta l'xaml
InitializeComponent()
AddHandler Me.Loaded, AddressOf MainWindowV_Loaded
AddHandler Me.ContentRendered, AddressOf MainWindowV_ContentRendered
AddHandler Me.StateChanged, AddressOf Window_StateChanged
AddHandler Me.Closing, AddressOf MainWindowV_Closing
AddHandler Me.Closed, AddressOf MainWindowV_Closed
Me.RefreshMaximizeRestoreButton()
End Sub
#End Region ' CONSTRUCTOR
#Region "METHODS"
<DllImport("user32.dll")>
Private Shared Function MonitorFromWindow(ByVal handle As IntPtr, ByVal flags As UInteger) As IntPtr
End Function
<DllImport("user32.dll")>
Private Shared Function GetMonitorInfo(ByVal hMonitor As IntPtr, ByRef lpmi As MONITORINFO) As Boolean
End Function
<DllImport("user32.dll")>
Private Shared Function SetWindowPlacement(ByVal hWnd As IntPtr, <[In]> ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
End Function
<DllImport("user32.dll")>
Private Shared Function GetWindowPlacement(ByVal hWnd As IntPtr, <Out> ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
End Function
Protected Overrides Sub OnSourceInitialized(ByVal e As EventArgs)
MyBase.OnSourceInitialized(e)
CType(PresentationSource.FromVisual(Me), HwndSource).AddHook(AddressOf HookProc)
Dim sPlacement As String = ""
GetMainPrivateProfileString(S_GENERAL, K_WINPLACE, "", sPlacement)
If Not String.IsNullOrWhiteSpace(sPlacement) Then
SetPlacement(sPlacement)
End If
End Sub
Public Shared Function HookProc(ByVal hwnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr, ByRef handled As Boolean) As IntPtr
If msg = WM_GETMINMAXINFO Then
Dim mmi As MINMAXINFO = CType(Marshal.PtrToStructure(lParam, GetType(MINMAXINFO)), MINMAXINFO)
Dim monitor As IntPtr = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST)
If monitor <> IntPtr.Zero Then
Dim monitorInfo As MONITORINFO = New MONITORINFO()
monitorInfo.cbSize = Marshal.SizeOf(GetType(MONITORINFO))
GetMonitorInfo(monitor, monitorInfo)
Dim rcWorkArea As RECT = monitorInfo.rcWork
Dim rcMonitorArea As RECT = monitorInfo.rcMonitor
mmi.ptMaxPosition.X = Math.Abs(rcWorkArea.Left - rcMonitorArea.Left)
mmi.ptMaxPosition.Y = Math.Abs(rcWorkArea.Top - rcMonitorArea.Top)
mmi.ptMaxSize.X = Math.Abs(rcWorkArea.Right - rcWorkArea.Left)
mmi.ptMaxSize.Y = Math.Abs(rcWorkArea.Bottom - rcWorkArea.Top)
End If
Marshal.StructureToPtr(mmi, lParam, True)
End If
Return IntPtr.Zero
End Function
Shared Sub SetPlacement(ByVal windowHandle As IntPtr, ByVal placementXml As String)
If String.IsNullOrEmpty(placementXml) Then
Return
End If
Dim placement As WINDOWPLACEMENT
Try
placement = StringToPlacement(placementXml)
'Using memoryStream As TextReader = New StringReader(placementXml)
' placement = CType(serializer.Deserialize(memoryStream), WINDOWPLACEMENT)
'End Using
placement.length = Marshal.SizeOf(GetType(WINDOWPLACEMENT))
placement.flags = 0
placement.showCmd = (If(placement.showCmd = SW_SHOWMINIMIZED, SW_SHOWNORMAL, placement.showCmd))
SetWindowPlacement(windowHandle, placement)
Catch __unusedInvalidOperationException1__ As InvalidOperationException
End Try
End Sub
Private Shared Function PlacementToString(Placement As WINDOWPLACEMENT) As String
Dim sPlacement As String = ""
sPlacement = Placement.length.ToString() & ";" &
Placement.flags.ToString() & ";" &
Placement.showCmd.ToString() & ";"
sPlacement &= PointToString(Placement.minPosition) & ";"
sPlacement &= PointToString(Placement.maxPosition) & ";"
sPlacement &= RectToString(Placement.normalPosition)
Return sPlacement
End Function
Private Shared Function PointToString(Point As POINT) As String
Dim sPoint As String = ""
sPoint = Point.X.ToString() & "," &
Point.Y.ToString()
Return sPoint
End Function
Private Shared Function RectToString(Rect As RECT) As String
Dim sRect As String = ""
sRect = Rect.Left.ToString() & "," &
Rect.Top.ToString() & "," &
Rect.Right.ToString() & "," &
Rect.Bottom.ToString()
Return sRect
End Function
Shared Function GetPlacement(ByVal windowHandle As IntPtr) As String
Dim placement As WINDOWPLACEMENT = New WINDOWPLACEMENT()
GetWindowPlacement(windowHandle, placement)
Return PlacementToString(placement)
'Using TextWriter As StringWriter = New StringWriter()
' serializer.Serialize(TextWriter, placement)
' Return TextWriter.ToString().Replace(Environment.NewLine, "")
'End Using
End Function
Private Shared Function StringToPlacement(sPlacement As String) As WINDOWPLACEMENT
Dim Placement As WINDOWPLACEMENT
Dim sPlacementArray As String() = sPlacement.Split(";"c)
If sPlacementArray.Length < 5 Then
Placement.normalPosition = New RECT(100, 100, 800, 800)
Return Placement
End If
Integer.TryParse(sPlacementArray(0), Placement.length)
Integer.TryParse(sPlacementArray(1), Placement.flags)
Integer.TryParse(sPlacementArray(2), Placement.showCmd)
Placement.minPosition = StringToPoint(sPlacementArray(3))
Placement.maxPosition = StringToPoint(sPlacementArray(4))
Placement.normalPosition = StringToRect(sPlacementArray(5))
Return Placement
End Function
Private Shared Function StringToPoint(sPoint As String) As POINT
Dim sPointArray As String() = sPoint.Split(","c)
Dim nX As Integer = 0
Dim nY As Integer = 0
Integer.TryParse(sPointArray(0), nX)
Integer.TryParse(sPointArray(1), nY)
Return New POINT(nX, nY)
End Function
Private Shared Function StringToRect(sRect As String) As RECT
Dim sRectArray As String() = sRect.Split(","c)
Dim nLeft As Integer = 0
Dim nTop As Integer = 0
Dim nRight As Integer = 0
Dim nBottom As Integer = 0
Integer.TryParse(sRectArray(0), nLeft)
Integer.TryParse(sRectArray(1), nTop)
Integer.TryParse(sRectArray(2), nRight)
Integer.TryParse(sRectArray(3), nBottom)
Return New RECT(nLeft, nTop, nRight, nBottom)
End Function
Public Sub SetPlacement(ByVal placementXml As String)
SetPlacement(New WindowInteropHelper(Me).Handle, placementXml)
End Sub
Public Function GetPlacement() As String
Return GetPlacement(New WindowInteropHelper(Me).Handle)
End Function
Private Sub RefreshMaximizeRestoreButton()
If Me.WindowState = WindowState.Maximized Then
Me.maximizeButton.Visibility = Visibility.Collapsed
Me.restoreButton.Visibility = Visibility.Visible
Else
Me.maximizeButton.Visibility = Visibility.Visible
Me.restoreButton.Visibility = Visibility.Collapsed
End If
End Sub
#End Region ' METHODS
#Region "EVENTS"
Private Sub OnMinimizeButtonClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
Me.WindowState = WindowState.Minimized
End Sub
Private Sub OnMaximizeRestoreButtonClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
If Me.WindowState = WindowState.Maximized Then
Me.WindowState = WindowState.Normal
Else
Me.WindowState = WindowState.Maximized
End If
End Sub
Private Sub Window_StateChanged(ByVal sender As Object, ByVal e As EventArgs)
Me.RefreshMaximizeRestoreButton()
End Sub
Private Sub OnCloseButtonClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
Me.Close()
End Sub
Private Sub MainWindowV_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs)
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
e.Cancel = True
Return
End If
WriteMainPrivateProfileString(S_GENERAL, K_WINPLACE, GetPlacement())
End Sub
Private Sub MainWindowV_Closed(sender As Object, e As EventArgs)
EgtOutLog("Exit")
End Sub
#End Region ' EVENTS
End Class
@@ -0,0 +1,50 @@
<local:EgtWindow x:Class="MultipleCopyWndV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Effector.Plugin.Lib"
TitleBarHeight="30"
WindowStartupLocation="CenterOwner"
ShowInTaskbar="False"
SizeToContent="WidthAndHeight">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="{Binding TitleBarHeight, RelativeSource={RelativeSource AncestorType={x:Type local:EgtWindow}}}"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<local:TitleBar/>
<Grid Grid.Row="1"
Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="0,0,0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Numero di copie"
Margin="0,0,2.5,0"/>
<TextBox Grid.Column="1"
Text="{Binding sCopyNumber}"
Width="40"
Margin="2.5,0,0,0"/>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button Content="Ok"
Command="{Binding Ok_Command}"
Margin="0,0,2.5,0"/>
<Button Grid.Column="1"
Content="Annulla"
Command="{Binding Cancel_Command}"
Margin="2.5,0,0,0"/>
</Grid>
</Grid>
</Grid>
</local:EgtWindow>
@@ -0,0 +1,19 @@
Public Class MultipleCopyWndV
Private WithEvents m_MultipleCopyWndVM As MultipleCopyWndVM
Sub New(Owner As Window, MultipleCopyWndVM As MultipleCopyWndVM)
'MyBase.New(Owner)
Me.Owner = Owner
' This call is required by the designer.
InitializeComponent()
Me.DataContext = MultipleCopyWndVM
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_MultipleCopyWndVM = MultipleCopyWndVM
End Sub
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_MultipleCopyWndVM.m_CloseWindow
Me.DialogResult = bDialogResult
End Sub
End Class
@@ -0,0 +1,66 @@
Public Class MultipleCopyWndVM
Inherits VMBase
Friend Event m_CloseWindow(bDialogResult As Boolean)
Private m_nCopyNumber As Integer
Public ReadOnly Property nCopyNumber As Integer
Get
Return m_nCopyNumber
End Get
End Property
Public Property sCopyNumber As String
Get
Return m_nCopyNumber.ToString()
End Get
Set(value As String)
If Not Integer.TryParse(value, m_nCopyNumber) Then
MessageBox.Show("Valore non impostabile come quantita' di porte!", "Errore!", MessageBoxButton.OK, MessageBoxImage.Error)
NotifyPropertyChanged(sCopyNumber)
End If
End Set
End Property
' Definizione comandi
Private m_cmdOk As ICommand
Private m_cmdCancel As ICommand
#Region "COMMANDS"
#Region "Ok"
Public ReadOnly Property Ok_Command As ICommand
Get
If m_cmdOk Is Nothing Then
m_cmdOk = New Command(AddressOf Ok)
End If
Return m_cmdOk
End Get
End Property
Public Sub Ok()
If m_nCopyNumber > 0 Then RaiseEvent m_CloseWindow(True)
End Sub
#End Region ' Ok
#Region "Cancel"
Public ReadOnly Property Cancel_Command As ICommand
Get
If m_cmdCancel Is Nothing Then
m_cmdCancel = New Command(AddressOf Cancel)
End If
Return m_cmdCancel
End Get
End Property
Public Sub Cancel()
RaiseEvent m_CloseWindow(False)
End Sub
#End Region ' Cancel
#End Region ' COMMANDS
End Class
@@ -0,0 +1,56 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
Imports System.Globalization
Imports System.Resources
Imports System.Windows
' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.
' Review the values of the assembly attributes
<Assembly: AssemblyTitle("Effector.Plugin.Lib")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("Windows User")>
<Assembly: AssemblyProduct("Effector.Plugin.Lib")>
<Assembly: AssemblyCopyright("Copyright @ Windows User 2025")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(false)>
'In order to begin building localizable applications, set
'<UICulture>CultureYouAreCodingWith</UICulture> in your .vbproj file
'inside a <PropertyGroup>. For example, if you are using US english
'in your source files, set the <UICulture> to "en-US". Then uncomment the
'NeutralResourceLanguage attribute below. Update the "en-US" in the line
'below to match the UICulture setting in the project file.
'<Assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)>
'The ThemeInfo attribute describes where any theme specific and generic resource dictionaries can be found.
'1st parameter: where theme specific resource dictionaries are located
'(used if a resource is not found in the page,
' or application resource dictionaries)
'2nd parameter: where the generic resource dictionary is located
'(used if a resource is not found in the page,
'app, and any theme specific resource dictionaries)
<Assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)>
'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("db737704-eba4-4902-924c-8c722b27f409")>
' Version information for an assembly consists of the following four values:
'
' Major Version
' Minor Version
' Build Number
' Revision
'
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
+62
View File
@@ -0,0 +1,62 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:$clrversion$
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("$safeprojectname$.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set(ByVal value As Global.System.Globalization.CultureInfo)
resourceCulture = value
End Set
End Property
End Module
End Namespace
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+73
View File
@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.Effector.Plugin.Lib.My.MySettings
Get
Return Global.Effector.Plugin.Lib.My.MySettings.Default
End Get
End Property
End Module
End Namespace
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
@@ -0,0 +1,67 @@
<local:EgtWindow x:Class="ProcessManagerV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Effector.Plugin.Lib"
TitleBarHeight="30"
WindowStartupLocation="CenterOwner"
ShowInTaskbar="False"
SizeToContent="WidthAndHeight">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="{Binding TitleBarHeight, RelativeSource={RelativeSource AncestorType={x:Type local:EgtWindow}}}"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<local:TitleBar/>
<StackPanel Grid.Row="1">
<Grid HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="Arguments Queue Count: "/>
<TextBlock Grid.Column="1"
Text="{Binding ArgumentsQueue}"/>
<TextBlock Grid.Row="1"
Text="ResultQueue: "/>
<TextBlock Grid.Column="1"
Grid.Row="1"
Text="{Binding ResultQueue}"/>
</Grid>
<!--<DataGrid ItemsSource="{Binding ThreadList}"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Process Status"
Binding="{Binding ProcessStatus}"/>
<DataGridTextColumn Header="Curr Request Id"
Binding="{Binding CurrRequest.nId}"/>
<DataGridTextColumn Header="Curr Request Args"
Binding="{Binding CurrRequest.sArgs}"/>
<DataGridTextColumn Header="Process Result"
Binding="{Binding nProcResult}"/>
</DataGrid.Columns>
</DataGrid>-->
<ItemsControl ItemsSource="{Binding ThreadList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ProcessStatus}"/>
<TextBlock Text="{Binding CurrRequest.nId}"/>
<TextBlock Text="{Binding CurrRequest.sArgs}"/>
<TextBlock Text="{Binding nProcResult}"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<ProgressBar Value="{Binding dProgress_Value, Mode=OneWay}"
Minimum="0"
Maximum="{Binding dProgress_Maximum}"
Height="20"
Width="250"/>
</StackPanel>
</Grid>
</local:EgtWindow>
@@ -0,0 +1,19 @@
Public Class ProcessManagerV
Private WithEvents m_ProcessManagerVM As ProcessManagerVM
Sub New(Owner As Window, ProcessManagerVM As ProcessManagerVM)
'MyBase.New(Owner)
Me.Owner = Owner
' This call is required by the designer.
InitializeComponent()
Me.DataContext = ProcessManagerVM
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_ProcessManagerVM = ProcessManagerVM
End Sub
'Private Sub CloseWindow(bDialogResult As Boolean) Handles m_ProcessManagerVM.m_CloseWindow
' Me.DialogResult = bDialogResult
'End Sub
End Class
@@ -0,0 +1,75 @@
Imports System.Windows.Threading
Imports System.Collections.ObjectModel
Public Class ProcessManagerVM
Inherits VMBase
Private m_nTaskQuantity As Integer = 3
Private m_UpdateDataTimer As New DispatcherTimer
Public ReadOnly Property UpdateDataTimer As DispatcherTimer
Get
Return m_UpdateDataTimer
End Get
End Property
Private m_ExecProcessManager As ExecProcessManager
Public ReadOnly Property ExecProcessManager As ExecProcessManager
Get
Return m_ExecProcessManager
End Get
End Property
Public ReadOnly Property ArgumentsQueue As String
Get
Return m_ExecProcessManager.ArgumentsQueueCount.ToString()
End Get
End Property
Public ReadOnly Property ResultQueue As String
Get
Return m_ExecProcessManager.ArgumentsResultQueueCount.ToString()
End Get
End Property
Public ReadOnly Property ThreadList As ObservableCollection(Of ThreadData)
Get
If Not IsNothing(m_ExecProcessManager.ThreadDataList) Then
Return New ObservableCollection(Of ThreadData)(m_ExecProcessManager.ThreadDataList.ToList())
Else
Return New ObservableCollection(Of ThreadData)
End If
End Get
End Property
Private m_dProgress_Value As Double
Public ReadOnly Property dProgress_Value As Double
Get
Return (m_dProgress_Maximum - m_nTaskQuantity - m_ExecProcessManager.ArgumentsQueueCount) '/ m_dProgress_Maximum * 100
End Get
End Property
Private m_dProgress_Maximum As Double
Public ReadOnly Property dProgress_Maximum As Double
Get
Return m_dProgress_Maximum
End Get
End Property
Sub New(ExecProcessManager As ExecProcessManager)
m_ExecProcessManager = ExecProcessManager
m_dProgress_Maximum = m_ExecProcessManager.ArgumentsQueueCount + m_nTaskQuantity
m_UpdateDataTimer.Interval = New TimeSpan(0, 0, 1)
AddHandler m_UpdateDataTimer.Tick, AddressOf UpdateDataTimer_Tick
m_UpdateDataTimer.Start()
End Sub
Private Sub UpdateDataTimer_Tick(sender As Object, e As EventArgs)
NotifyPropertyChanged(NameOf(ArgumentsQueue))
NotifyPropertyChanged(NameOf(ResultQueue))
NotifyPropertyChanged(NameOf(ThreadList))
NotifyPropertyChanged(NameOf(dProgress_Value))
End Sub
End Class
Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.
+56
View File
@@ -0,0 +1,56 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:Effector.Plugin.Lib">
<local:CaptionHeightConverter x:Key="CaptionHeightConverter"/>
<Style TargetType="{x:Type local:EgtWindow}" BasedOn="{StaticResource {x:Type Window}}">
<Setter Property="WindowChrome.WindowChrome">
<Setter.Value>
<WindowChrome CaptionHeight="{Binding TitleBarHeight, RelativeSource={RelativeSource AncestorType={x:Type local:EgtWindow}}}"
GlassFrameThickness="0"
CornerRadius="0"
ResizeBorderThickness="{x:Static SystemParameters.WindowResizeBorderThickness}"/>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Border BorderThickness="0"
BorderBrush="LightGray"
Background="{TemplateBinding Background}">
<ContentPresenter Grid.Row="1"
Content="{TemplateBinding Content}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="WindowState" Value="Maximized">
<Setter Property="WindowChrome.WindowChrome">
<Setter.Value>
<WindowChrome CaptionHeight="{Binding TitleBarHeight, RelativeSource={RelativeSource AncestorType={x:Type local:EgtWindow}}, Converter={StaticResource CaptionHeightConverter}}"
GlassFrameThickness="0"
CornerRadius="0"
ResizeBorderThickness="{x:Static SystemParameters.WindowResizeBorderThickness}"/>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<!--bordo necessario per evitare la parte che esce dallo schermo-->
<Border BorderThickness="7"
BorderBrush="LightGray"
Background="{TemplateBinding Background}">
<ContentPresenter Grid.Row="1"
Content="{TemplateBinding Content}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
@@ -0,0 +1,21 @@
<Grid x:Class="TitleBar"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border Grid.Column="0"
Grid.ColumnSpan="6"
BorderThickness="0"
BorderBrush="{StaticResource Effector_Blue}"
Background="{StaticResource Effector_Blue}"/>
<Image Grid.Column="0"
MinWidth="{Binding ActualHeight, RelativeSource={RelativeSource Self}}"
Source="/Resources/Effector.ico"/>
<ContentControl Grid.Column="1"/>
</Grid>
@@ -0,0 +1,3 @@
Public Class TitleBar
End Class
+69
View File
@@ -0,0 +1,69 @@
''' <summary>
''' A command whose sole purpose is to
''' relay its functionality to other
''' objects by invoking delegates. The
''' default return value for the CanExecute
''' method is 'true'.
''' </summary>
Public Class Command
Implements ICommand
#Region "Fields"
Private ReadOnly _execute As Action(Of Object)
Private ReadOnly _canExecute As Predicate(Of Object)
#End Region ' Fields
#Region "Constructors"
''' <summary>
''' Creates a new command that can always execute.
''' </summary>
''' <param name="execute">The execution logic.</param>
Public Sub New(ByVal execute As Action(Of Object))
Me.New(execute, Nothing)
End Sub
''' <summary>
''' Creates a new command.
''' </summary>
''' <param name="execute">The execution logic.</param>
''' <param name="canExecute">The execution status logic.</param>
Public Sub New(ByVal execute As Action(Of Object), ByVal canExecute As Predicate(Of Object))
If execute Is Nothing Then
Throw New ArgumentNullException("execute")
End If
_execute = execute
_canExecute = canExecute
End Sub
#End Region ' Constructors
#Region "ICommand Members"
<DebuggerStepThrough> _
Public Function CanExecute(ByVal parameter As Object) As Boolean Implements ICommand.CanExecute
Return If(_canExecute Is Nothing, True, _canExecute(parameter))
End Function
Public Custom Event CanExecuteChanged As EventHandler Implements ICommand.CanExecuteChanged
AddHandler(ByVal value As EventHandler)
AddHandler CommandManager.RequerySuggested, value
End AddHandler
RemoveHandler(ByVal value As EventHandler)
RemoveHandler CommandManager.RequerySuggested, value
End RemoveHandler
RaiseEvent(ByVal sender As System.Object, ByVal e As System.EventArgs)
End RaiseEvent
End Event
Public Sub Execute(ByVal parameter As Object) Implements ICommand.Execute
_execute(parameter)
End Sub
#End Region ' ICommand Members
End Class
@@ -0,0 +1,649 @@
Imports System.IO
Imports System.Threading
Imports MS.Internal
Imports Effector.Plugin.Lib.ThreadData
Imports System.Windows.Threading
Imports Effector.Plugin.Lib
Public Class ExecProcessManager
Public Event m_AllArgsProcessed()
Public Enum ExecutionThreadStatuses As Integer
RUNNING = 1
STOPPED = 2
End Enum
Private Enum ProcessManagerStates
NULL = 0
OPEN = 1
CLOSE = 2
End Enum
Private m_ProcessManagerTimer As New DispatcherTimer
Private m_ProcessManagerState As ProcessManagerStates
Private m_ProcessManagerV As ProcessManagerV
Public ReadOnly Property ProcessManagerV As ProcessManagerV
Get
Return m_ProcessManagerV
End Get
End Property
' riferimento al thread principale
Private m_ExecutionThread As Thread
Private m_ExecutionThreadStatus As ExecutionThreadStatuses = ExecutionThreadStatuses.STOPPED
Public ReadOnly Property ExecutionThreadStatus As ExecutionThreadStatuses
Get
Return m_ExecutionThreadStatus
End Get
End Property
' array dei thread
Private m_ThreadList As Thread()
' array dei dati dei thread
Private m_ThreadDataList As ThreadData()
Friend ReadOnly Property ThreadDataList As ThreadData()
Get
Return m_ThreadDataList
End Get
End Property
' variabile che ferma i processi
Private m_bStopProcess As Boolean = False
' variabile che conferma chiusura dei processi
Private m_bExecutionThreadStoped As Boolean = False
' numero massimo di istanze del cam
Private m_MaxCamInstances As Integer = 1
' nome dell'eseguibile da lanciare
Private m_sProcessFileName As String = ""
' stringa di argomenti dell'eseguibile da lanciare
Private m_sProcessArguments As String = ""
' coda delle cose da eseguire
Private ArgumentsQueueLock As New Object
Private m_ArgumentsQueue As New Queue(Of ProcessArgs)
Public ReadOnly Property ArgumentsQueue As Queue(Of ProcessArgs)
Get
Return m_ArgumentsQueue
End Get
End Property
' coda dei risultati
Private ArgumentsResultQueueLock As New Object
Private m_ArgumentsResultQueue As New Queue(Of ProcessArgsResult)
Public ReadOnly Property ArgumentsResultQueue As Queue(Of ProcessArgsResult)
Get
Return m_ArgumentsResultQueue
End Get
End Property
' funzione che richiede prossimo elemento da processare
Private m_delGetNextProcessArgs As Func(Of ProcessArgs)
Public Sub SetGetNextProcessArgs(GetNextProcessArgs As Func(Of ProcessArgs))
m_delGetNextProcessArgs = GetNextProcessArgs
End Sub
' funzione di pre processing dell'elemento
Private m_delPreProcess As Func(Of ProcessArgs, ProcessArgs)
Public Sub SetPreProcess(PreProcess As Func(Of ProcessArgs, ProcessArgs))
m_delPreProcess = PreProcess
End Sub
' funzione di post processing dell'elemento
Private m_delPostProcess As Action(Of ProcessArgsResult)
Public Sub SetPostProcess(PostProcess As Action(Of ProcessArgsResult))
m_delPostProcess = PostProcess
End Sub
Private m_nExecutedArgsCounter As Integer = 0
Public ReadOnly Property nExecutedArgsCounter As Integer
Get
Return m_nExecutedArgsCounter
End Get
End Property
Public ReadOnly Property nArgsInQueue As Integer
Get
Return ArgumentsQueueCount() + nCalculatingProcesses
End Get
End Property
Public ReadOnly Property nCalculatingProcesses As Integer
Get
Return ThreadDataList.Count(Function(x) Not IsNothing(x) AndAlso x.ProcessStatus = ProcessStatuses.WAITINGANSWER)
End Get
End Property
#Region "CONSTRUCTORS"
Sub New(sProcessFileName As String, sProcessArguments As String)
m_sProcessFileName = sProcessFileName
m_sProcessArguments = sProcessArguments
m_ProcessManagerTimer.Interval = New TimeSpan(0, 0, 1)
AddHandler m_ProcessManagerTimer.Tick, AddressOf ProcessManagerTimer_Tick
m_ProcessManagerTimer.Start()
End Sub
#End Region ' CONSTRUCTORS
Private Sub ProcessManagerTimer_Tick(sender As Object, e As EventArgs)
Select Case m_ProcessManagerState
Case ProcessManagerStates.OPEN
' se in debug
If GetPluginPrivateProfileInt(S_DEBUG, K_EXECUTEWINDOW, 0) = 1 Then
' creo finestra statistiche processi
m_ProcessManagerV = New ProcessManagerV(Application.Current.MainWindow, New ProcessManagerVM(Me))
ProcessManagerV.Show()
m_ProcessManagerState = ProcessManagerStates.NULL
End If
Case ProcessManagerStates.CLOSE
' chiudo finestra statistiche processi
If Not IsNothing(m_ProcessManagerV) Then
ProcessManagerV.Close()
m_ProcessManagerV = Nothing
End If
m_nExecutedArgsCounter = 0
m_ProcessManagerState = ProcessManagerStates.NULL
End Select
End Sub
Public Function ArgumentsEnqueue(ProcessArgs As ProcessArgs) As Boolean
If ProcessArgs.nId <= 0 OrElse String.IsNullOrWhiteSpace(ProcessArgs.sArgs) Then Return False
SyncLock ArgumentsQueueLock
m_ArgumentsQueue.Enqueue(ProcessArgs)
End SyncLock
Return True
End Function
Public Function ArgumentsDequeue() As ProcessArgs
Dim DequeueProcessArgs As ProcessArgs = Nothing
SyncLock ArgumentsQueueLock
If m_ArgumentsQueue.Count > 0 Then
DequeueProcessArgs = m_ArgumentsQueue.Dequeue()
End If
End SyncLock
Return DequeueProcessArgs
End Function
Public Function ArgumentsQueueCount() As Integer
Dim nCount As Integer = 0
SyncLock ArgumentsQueueLock
nCount = m_ArgumentsQueue.Count
End SyncLock
Return nCount
End Function
Public Function ArgumentsResultEnqueue(ProcessArgsResult As ProcessArgsResult) As Boolean
SyncLock ArgumentsResultQueueLock
m_ArgumentsResultQueue.Enqueue(ProcessArgsResult)
End SyncLock
Return True
End Function
Public Function ArgumentsResultDequeue() As ProcessArgsResult
Dim DequeueProcessArgsResult As ProcessArgsResult = Nothing
SyncLock ArgumentsResultQueueLock
If m_ArgumentsResultQueue.Count > 0 Then
DequeueProcessArgsResult = m_ArgumentsResultQueue.Dequeue()
End If
End SyncLock
Return DequeueProcessArgsResult
End Function
Public Function ArgumentsResultQueueCount() As Integer
Dim nCount As Integer = 0
SyncLock ArgumentsResultQueueLock
nCount = m_ArgumentsResultQueue.Count
End SyncLock
Return nCount
End Function
Public Sub SetMaxCamInstances(nValue As Integer)
' Numero di core logici da utilizzare (minimo tra presenti sul PC e imposti da INI)
Dim nMaxThread As Integer = Math.Min(Environment.ProcessorCount, nValue)
m_MaxCamInstances = nMaxThread
End Sub
' funzione che avvia thread principale
Public Sub StartExecutionThread()
If m_ExecutionThreadStatus = ExecutionThreadStatuses.RUNNING Then Return
m_bStopProcess = False
m_bExecutionThreadStoped = False
m_ExecutionThread = New Thread(Sub()
ExecutionProcess()
End Sub)
m_ExecutionThread.SetApartmentState(ApartmentState.STA)
' avvio thread di gestione della macchina che avvia la connessione
m_ExecutionThread.Start()
m_ExecutionThreadStatus = ExecutionThreadStatuses.RUNNING
' lancio apertura finestra statistiche processi
m_ProcessManagerState = ProcessManagerStates.OPEN
End Sub
Public Sub StopExecutionThread()
If m_ExecutionThreadStatus = ExecutionThreadStatuses.STOPPED Then Return
m_bStopProcess = True
While Not m_bExecutionThreadStoped
Thread.Sleep(100)
End While
If Not IsNothing(m_ExecutionThread) Then
m_ExecutionThread.Abort()
While Not m_ExecutionThread.ThreadState = ThreadState.Aborted
Thread.Sleep(100)
End While
m_ExecutionThread = Nothing
End If
m_ThreadList = Nothing
m_ExecutionThreadStatus = ExecutionThreadStatuses.STOPPED
' lancio chiusura finestra statistiche processi
m_ProcessManagerState = ProcessManagerStates.CLOSE
End Sub
' funzione di esecuzione del thread principale che gestice i processi
Private Sub ExecutionProcess()
Dim bStopMainProcess As Boolean = False
Dim nStartingProc As Integer = 0
While Not bStopMainProcess
bStopMainProcess = m_bStopProcess
' se processo fermato, fermo i thread
If bStopMainProcess Then
If Not IsNothing(m_ThreadList) AndAlso m_ThreadList.Count > 0 AndAlso Not IsNothing(m_ThreadList(0)) Then
' li fermo
m_bStopProcess = True
' verifico siano terminati
Dim bOneNotEnded As Boolean = True
While bOneNotEnded
bOneNotEnded = False
For Each Thread In m_ThreadList
If Not IsNothing(Thread) Then
If Thread.IsAlive Then
bOneNotEnded = True
End If
End If
Next
End While
' pulisco la lista
For ThreadIndex = 0 To m_ThreadList.Count - 1
m_ThreadList(ThreadIndex) = Nothing
Next
m_bStopProcess = False
End If
m_bExecutionThreadStoped = True
Return
End If
' se lista processi nulla o vuota, li faccio partire
If (IsNothing(m_ThreadList) OrElse m_ThreadList.Count = 0) Then
m_ThreadList = New Thread(m_MaxCamInstances - 1) {}
m_ThreadDataList = New ThreadData(m_MaxCamInstances - 1) {}
For nThreadIndex = 0 To m_MaxCamInstances - 1
Dim ThreadId As Integer = nThreadIndex
m_ThreadList(nThreadIndex) = New Thread(Sub()
ThreadFunction(ThreadId)
End Sub)
m_ThreadList(nThreadIndex).SetApartmentState(ApartmentState.STA)
' avvio thread di gestione della macchina che avvia la connessione
m_ThreadList(nThreadIndex).Start()
Thread.Sleep(100)
Next
End If
' se qualche processo in stop, lo faccio ripartire
For ThreadIndex = 0 To m_ThreadList.Count - 1
If ThreadIndex < m_ThreadList.Count Then
Dim Thread = m_ThreadList(ThreadIndex)
If Not IsNothing(Thread) Then
If Thread.ThreadState = ThreadState.Stopped OrElse
Thread.ThreadState = ThreadState.Aborted OrElse
Thread.ThreadState = ThreadState.Suspended OrElse
(Not m_ThreadDataList(ThreadIndex).ProcessStatus = ProcessStatuses.TOBESTARTED AndAlso
(IsNothing(m_ThreadDataList(ThreadIndex).Process) OrElse
(Not IsNothing(m_ThreadDataList(ThreadIndex).Process) AndAlso m_ThreadDataList(ThreadIndex).Process.HasExited))) Then
' inserire un ritardo di rilancio?
' lo chiudo e rilancio
'Thread.Sleep(500)
Thread.Abort()
Thread.Sleep(100)
While Not Thread.ThreadState = ThreadState.Aborted
Thread.Sleep(100)
End While
Thread = Nothing
Dim ThreadId As Integer = ThreadIndex
m_ThreadList(ThreadIndex) = New Thread(Sub()
ThreadFunction(ThreadId)
End Sub)
m_ThreadList(ThreadIndex).SetApartmentState(ApartmentState.STA)
' avvio thread di gestione della macchina che avvia la connessione
m_ThreadList(ThreadIndex).Start()
End If
Else
Dim ThreadId As Integer = ThreadIndex
If ThreadIndex < m_ThreadList.Count Then
m_ThreadList(ThreadIndex) = New Thread(Sub()
ThreadFunction(ThreadId)
End Sub)
m_ThreadList(ThreadIndex).SetApartmentState(ApartmentState.STA)
' avvio thread di gestione della macchina che avvia la connessione
m_ThreadList(ThreadIndex).Start()
End If
End If
End If
Next
' verifico se coda vuota e tutti i processi hanno finito
Dim nQueueArgs As Integer = 0
SyncLock ArgumentsQueueLock
nQueueArgs = m_ArgumentsQueue.Count
End SyncLock
If nQueueArgs = 0 Then
Dim bProcessWaiting As Boolean = False
For Each ThreadData In m_ThreadDataList
If ThreadData.ProcessStatus = ProcessStatuses.WAITINGANSWER OrElse ThreadData.ProcessStatus = ProcessStatuses.ANSWERRECEIVED Then
bProcessWaiting = True
Exit For
End If
Next
If Not bProcessWaiting Then
' creo thread per lanciare evento asincrono di fine calcolo
Dim AllArgsProcessedThread = New Thread(Sub()
RaiseEvent m_AllArgsProcessed()
End Sub)
AllArgsProcessedThread.SetApartmentState(ApartmentState.STA)
AllArgsProcessedThread.Start()
End If
End If
Thread.Sleep(1000)
End While
End Sub
' funzione di esecuzione del singolo processo che comunica con il programma
Private Sub ThreadFunction(ThreadIndex As Integer)
Dim MyThreadData As New ThreadData
m_ThreadDataList(ThreadIndex) = MyThreadData
'Dim CurrThreadStat As New ThreadStat(ThreadIndex, DateTime.Now)
'HistoryThreadDataList.Add(CurrThreadStat)
'MyThreadData.SetThreadStat(CurrThreadStat)
'Dim sDrive As String = "c" ' If(ThreadIndex Mod 2 = 0, "A", "B")
'Dim sCurrDdfDir As String = sDrive & ":\EgtData\WebDoor\Ddf"
'Dim stopWatch As New Stopwatch()
'Dim lExeTime As Long = 0
'Dim lOtherTime As Long = 0
' avvio processo
Dim Proc As Process = New Process()
Proc.StartInfo.FileName = m_sProcessFileName
Proc.StartInfo.RedirectStandardInput = True
Proc.StartInfo.RedirectStandardOutput = True
Proc.StartInfo.Arguments = ThreadIndex.ToString() & " " & m_sProcessArguments
Proc.StartInfo.UseShellExecute = False
Proc.StartInfo.CreateNoWindow = True
AddHandler Proc.OutputDataReceived, AddressOf Thread_OutputDataReceived
If Proc.Start() Then
'Dim CurrPocStat As New ProcStat(DateTime.Now)
'CurrThreadStat.ProcExecutionList.Add(CurrPocStat)
Proc.BeginOutputReadLine()
MyThreadData.SetProcess(Proc)
MyThreadData.SetProcessStatus(ProcessStatuses.NULL)
'Dim nProc0Wait As Integer = 0
' ciclo per leggere coda ed eseguire
While Not m_bStopProcess AndAlso Not Proc.HasExited
Select Case MyThreadData.ProcessStatus
Case ThreadData.ProcessStatuses.NULL
'MyThreadData.SetThreadOperation(ThreadOperations.WaitingData)
' se c'e' qualcosa da processare
'Dim nNumTaskToProcess As Integer = 0
'If ThreadIndex = 0 Then
' nNumTaskToProcess = currWDC.numTask2proc
' If nNumTaskToProcess > 0 Then
' If Not m_bCheckOrder Then m_bCheckOrder = True
' Else
' If m_bCheckOrder Then m_bCheckOrder = False
' Thread.Sleep(100)
' End If
'ElseIf m_bCheckOrder Then
' nNumTaskToProcess = currWDC.numTask2proc
' If nNumTaskToProcess = 0 Then
' m_bCheckOrder = False
' End If
'End If
Dim NextProcessArgs As ProcessArgs = Nothing
If Not IsNothing(m_delGetNextProcessArgs) Then
NextProcessArgs = m_delGetNextProcessArgs()
Else
NextProcessArgs = ArgumentsDequeue()
End If
If Not IsNothing(NextProcessArgs) AndAlso NextProcessArgs.nId > 0 AndAlso Not String.IsNullOrWhiteSpace(NextProcessArgs.sArgs) Then
If Not IsNothing(m_delPreProcess) Then
NextProcessArgs = m_delPreProcess(NextProcessArgs)
End If
MyThreadData.SetCurrRequest(NextProcessArgs)
Proc.StandardInput.WriteLine(ThreadIndex & "," & NextProcessArgs.sArgs)
MyThreadData.SetProcessStatus(ThreadData.ProcessStatuses.WAITINGANSWER)
End If
'If m_bCheckOrder Then
' Dim LastRequest As Dictionary(Of String, CalcReqtDTO) = currWDC.queueList(1)
' If LastRequest.Count > 0 Then
' MyThreadData.SetThreadOperation(ThreadOperations.FoundRequest)
' Dim ConvItem As KeyValuePair(Of String, String)
' ConvItem = New KeyValuePair(Of String, String)(LastRequest.First().Key, LastRequest.First().Value.DDF)
' MyThreadData.SetCurrRequest(ConvItem)
' ' vecchia versione
' 'MyThreadData.SetCurrRequest(LastRequest.First())
' Dim Item As KeyValuePair(Of String, String) = MyThreadData.CurrRequest
' Dim bOk As Boolean = Not IsNothing(Item)
' If bOk Then
' ' avvio cronometro
' 'stopWatch.Reset()
' stopWatch.Restart()
' ' svuoto vecchio set file della porta richiesta
' Dim fileList As String() = Directory.GetFiles(sCurrDdfDir, Item.Key + ".*")
' ' elimino vecchi
' If Not IsNothing(fileList) Then
' For Each sFile In fileList
' Try
' File.Delete(sFile)
' Catch ex As Exception
' End Try
' Next
' End If
' ' scrivo ddf
' MyThreadData.SetThreadOperation(ThreadOperations.WritingDdf)
' MyThreadData.SetDdfPath(sCurrDdfDir & "\" & Item.Key & ".ddf")
' Dim sDdfPath As String = MyThreadData.sDdfPath
' Try
' File.WriteAllText(sDdfPath, Item.Value)
' Catch ex As Exception
' bOk = False
' End Try
' If bOk Then
' MyThreadData.SetThreadOperation(ThreadOperations.ProcessingDdf)
' Proc.StandardInput.WriteLine(ThreadIndex & "," & sDdfPath)
' MyThreadData.SetWaitProcAnswer(ThreadData.ProcComm.WaitingAnswer)
' End If
' End If
' Else
' Thread.Sleep(100)
' End If
'Else
' Thread.Sleep(100)
'End If
Case ThreadData.ProcessStatuses.WAITINGANSWER
Thread.Sleep(10)
Case ThreadData.ProcessStatuses.ANSWERRECEIVED
Dim NewProcessArgsResult As New ProcessArgsResult(MyThreadData.CurrRequest, MyThreadData.nProcResult)
If Not IsNothing(m_delPostProcess) Then
m_delPostProcess(NewProcessArgsResult)
End If
m_nExecutedArgsCounter += 1
ArgumentsResultEnqueue(NewProcessArgsResult)
'Dim Item As ProcessArgs = MyThreadData.CurrRequest
'Dim sDdfPath As String = MyThreadData.sDdfPath
'Dim bOk As Boolean = True
'' salvo exe time...
'stopWatch.Stop()
'lExeTime = stopWatch.ElapsedMilliseconds
'stopWatch.Restart()
'Dim procResults As New List(Of CalcResultDTO)
'Dim currRes As New CalcResultDTO
'Dim fContent As String = ""
'MyThreadData.SetThreadOperation(ThreadOperations.ReadingSvg)
'' verifico esistenza file svg e lo carico
'bOk = GetFileContent(Path.ChangeExtension(sDdfPath, "svg"), fContent)
'' !!! ToDo: inserire TIPO di richiesta secondo quanto ricevuto....
'' invio risposta
'currRes.Validated = MyThreadData.nProcResult = 0 AndAlso bOk
'currRes.DoorIdVers = Item.Key
'' per ora cablato a svg, prendere da MimeType richiesta...
'currRes.MimeType = "svg"
'' se NON fosse validato --> messo il messaggio...
'If (currRes.Validated) Then
' currRes.RawContent = fContent
'Else
' bOk = GetFileContent(Path.ChangeExtension(sDdfPath, "txt"), fContent)
' currRes.ErrorMsg = fContent
'End If
'MyThreadData.SetThreadOperation(ThreadOperations.SendResult)
'procResults.Add(currRes)
'Dim respPut As String = currWDC.SendProcResults(procResults)
'stopWatch.Stop()
'lOtherTime = stopWatch.ElapsedMilliseconds
'CurrPocStat.IncrementDoneRequest()
'' aggiorno thread display...
'UpdateThreadList(Item.Key, lExeTime, lOtherTime)
'' cambio nomi file generati in old
'Dim OldSvg As String = Path.ChangeExtension(sDdfPath, "svg")
'Dim NewSvg As String = Path.GetDirectoryName(sDdfPath) & "\" & Path.GetFileNameWithoutExtension(sDdfPath) & "_old.svg"
'Try
' File.Delete(NewSvg)
'Catch ex As Exception
'End Try
'Try
' File.Delete(Path.ChangeExtension(NewSvg, "txt"))
'Catch ex As Exception
'End Try
'Try
' File.Delete(Path.ChangeExtension(NewSvg, "log"))
'Catch ex As Exception
'End Try
'Try
' File.Delete(Path.ChangeExtension(NewSvg, "nge"))
'Catch ex As Exception
'End Try
'Try
' File.Delete(Path.ChangeExtension(NewSvg, "ddf"))
'Catch ex As Exception
'End Try
'Try
' File.Move(OldSvg, NewSvg)
'Catch ex As Exception
'End Try
'Try
' File.Move(Path.ChangeExtension(OldSvg, "txt"), Path.ChangeExtension(NewSvg, "txt"))
'Catch ex As Exception
'End Try
'Try
' File.Move(Path.ChangeExtension(OldSvg, "log"), Path.ChangeExtension(NewSvg, "log"))
'Catch ex As Exception
'End Try
'Try
' File.Move(Path.ChangeExtension(OldSvg, "nge"), Path.ChangeExtension(NewSvg, "nge"))
'Catch ex As Exception
'End Try
'Try
' File.Move(Path.ChangeExtension(OldSvg, "ddf"), Path.ChangeExtension(NewSvg, "ddf"))
'Catch ex As Exception
'End Try
MyThreadData.SetProcessStatus(ThreadData.ProcessStatuses.NULL)
End Select
End While
' CurrPocStat.SetStopProc(DateTime.Now)
If m_bStopProcess Then
Proc.StandardInput.WriteLine("quit")
End If
End If
' CurrThreadStat.SetStopThread(DateTime.Now)
MyThreadData.SetProcess(Nothing)
' MyThreadData.SetThreadOperation(ThreadOperations.Closed)
End Sub
Private Sub Thread_OutputDataReceived(sender As Object, e As DataReceivedEventArgs)
Dim sResult As String = e.Data
If Not String.IsNullOrWhiteSpace(sResult) AndAlso sResult.StartsWith("#42315#,") Then
Dim Results() As String = sResult.Split(","c)
If Results.Count >= 2 Then
Dim nIndex As Integer = -1
Dim nResult As Integer = -1
Dim dResult As Integer = -1
If Integer.TryParse(Results(1), nIndex) AndAlso nIndex >= 0 Then
If Integer.TryParse(Results(2), nResult) AndAlso nResult >= 0 Then
m_ThreadDataList(nIndex).SetProcResult(nResult)
ElseIf StringToDouble(Results(2), dResult) AndAlso dResult >= 0 Then
nResult = Math.Floor(dResult)
m_ThreadDataList(nIndex).SetProcResult(nResult)
End If
m_ThreadDataList(nIndex).SetProcessStatus(ThreadData.ProcessStatuses.ANSWERRECEIVED)
End If
End If
End If
End Sub
End Class
Public Class ProcessArgs
Private m_nId As Integer
Public ReadOnly Property nId As Integer
Get
Return m_nId
End Get
End Property
Private m_sArgs As String
Public ReadOnly Property sArgs As String
Get
Return m_sArgs
End Get
End Property
Sub New(nId As Integer, sArgs As String)
m_nId = nId
m_sArgs = sArgs
End Sub
End Class
Public Class ProcessArgsResult
Private m_ProcessArgs As ProcessArgs
Public ReadOnly Property ProcessArgs As ProcessArgs
Get
Return m_ProcessArgs
End Get
End Property
Private m_nResult As Integer
Public ReadOnly Property nResult As Integer
Get
Return m_nResult
End Get
End Property
Public Sub SetResult(nResult As Integer)
m_nResult = nResult
End Sub
Sub New(ProcessArgs As ProcessArgs, nResult As Integer)
m_ProcessArgs = ProcessArgs
m_nResult = nResult
End Sub
End Class
@@ -0,0 +1,76 @@
Imports System.Globalization
Imports System.Runtime.InteropServices
Imports System.Text
Public Module GenInterface
'-------------------------------- IniFile : Get --------------------------------------------------
<DllImport("kernel32.dll", CharSet:=CharSet.Unicode)>
Public Function GetPrivateProfileInt(
lpAppName As String,
lpKeyName As String,
nDefault As Integer,
lpFileName As String) As Integer
End Function
Public Function GetPrivateProfileDouble(
lpAppName As String,
lpKeyName As String,
dDefault As Double,
lpFileName As String) As Double
Dim sValue As String = String.Empty
GetPrivateProfileString(lpAppName, lpKeyName, dDefault.ToString(), sValue, lpFileName)
Dim nPos As Integer = sValue.IndexOf(";")
If nPos >= 0 Then
sValue = sValue.Remove(nPos)
End If
Dim dValue As Double
If Not Double.TryParse(sValue, NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture, dValue) Then
dValue = dDefault
End If
Return dValue
End Function
<DllImport("kernel32.dll", CharSet:=CharSet.Unicode)>
Private Function GetPrivateProfileString(
lpAppName As String,
lpKeyName As String,
lpDefault As String,
lpReturnedString As StringBuilder,
nSize As Integer,
lpFileName As String) As Integer
End Function
Public Function GetPrivateProfileString(
lpAppName As String,
lpKeyName As String,
lpDefault As String,
ByRef lpString As String,
lpFileName As String) As Integer
Dim sb As New StringBuilder(1024)
Dim nRet As Integer = GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, sb, sb.Capacity, lpFileName)
lpString = sb.ToString
Return nRet
End Function
'-------------------------------- IniFile : Write ------------------------------------------------
<DllImport("kernel32.dll", CharSet:=CharSet.Unicode)>
Public Function WritePrivateProfileString(
lpAppName As String,
lpKeyName As String,
lpString As String,
lpFileName As String) As Boolean
End Function
'-------------------------------- Windows --------------------------------------------------------
Public Enum SW As Integer
HIDE = 0
SHOWMAXIMIZED = 3
RESTORE = 9
End Enum
<DllImport("user32.dll")>
Public Function ShowWindow(hWnd As IntPtr, nCmdShow As Integer) As Boolean
End Function
End Module
@@ -0,0 +1,97 @@
Imports System.Collections.ObjectModel
Public Structure IdNameStruct
Private m_Id As Integer
Public Property Id As Integer
Get
Return m_Id
End Get
Set(value As Integer)
m_Id = value
End Set
End Property
Private m_Name As String
Public Property Name As String
Get
Return m_Name
End Get
Set(value As String)
m_Name = value
End Set
End Property
Sub New(Id As Integer, Name As String)
m_Id = Id
m_Name = Name
End Sub
Public Overrides Function ToString() As String
Return Name
End Function
Public Shared Function IndFromId(Id As Integer, List As ObservableCollection(Of IdNameStruct)) As Integer
For i = 0 To List.Count - 1
If List(i).Id = Id Then Return i
Next
Return 0
End Function
Public Shared Function IndFromId(Id As Integer, List As List(Of IdNameStruct)) As Integer
For i = 0 To List.Count - 1
If List(i).Id = Id Then Return i
Next
Return 0
End Function
Public Shared Function IdFromInd(Ind As Integer, List As ObservableCollection(Of IdNameStruct)) As Integer
Return List(Ind).Id
End Function
Public Shared Function IdFromInd(Ind As Integer, List As List(Of IdNameStruct)) As Integer
Return List(Ind).Id
End Function
Public Shared Function IndFromId(Id As Integer, List As ObservableCollection(Of Object)) As Integer
For i = 0 To List.Count - 1
If TypeOf (List(i)) Is IdNameStruct AndAlso DirectCast(List(i), IdNameStruct).Id = Id Then
Return i
End If
Next
Return 0
End Function
Public Shared Function IndFromId(Id As Integer, List As List(Of Object)) As Integer
For i = 0 To List.Count - 1
If TypeOf (List(i)) Is IdNameStruct AndAlso DirectCast(List(i), IdNameStruct).Id = Id Then
Return i
End If
Next
Return 0
End Function
Public Shared Function IdFromInd(Ind As Integer, List As ObservableCollection(Of Object)) As Integer
If TypeOf (List(Ind)) Is IdNameStruct Then
Return DirectCast(List(Ind), IdNameStruct).Id
End If
Return 0
End Function
Public Shared Function IdFromInd(Ind As Integer, List As List(Of Object)) As Integer
If TypeOf (List(Ind)) Is IdNameStruct Then
Return DirectCast(List(Ind), IdNameStruct).Id
End If
Return 0
End Function
Public Shared Function IdFromName(Name As String, List As ObservableCollection(Of Object)) As Integer
For i = 0 To List.Count - 1
If DirectCast(List(i), IdNameStruct).Name = Name Then Return DirectCast(List(i), IdNameStruct).Id
Next
Return 0
End Function
Public Shared Function IdFromName(Name As String, List As List(Of Object)) As Integer
For i = 0 To List.Count - 1
If DirectCast(List(i), IdNameStruct).Name = Name Then Return DirectCast(List(i), IdNameStruct).Id
Next
Return 0
End Function
End Structure
+65
View File
@@ -0,0 +1,65 @@
'----------------------------------------------------------------------------
' EgalTech 2017-2017
'----------------------------------------------------------------------------
' File : IniFile.vb Data : 08.05.24 Versione : 2.6e1
' Contenuto : Modulo IniFile per gestione lettura/scrittura da file INI.
'
'
'
' Modifiche : 08.05.24 ES Creazione modulo.
'
'
'----------------------------------------------------------------------------
Imports System.Collections.ObjectModel
Public Module IniFile
Private m_sPath As String
Public ReadOnly Property sPath As String
Get
Return m_sPath
End Get
End Property
Public Sub SetIniFile(sPath)
m_sPath = sPath
End Sub
Public Function GetMainPrivateProfileInt(IpAppName As String, IpKeyName As String, nDefault As Integer) As Integer
Return GetPrivateProfileInt(IpAppName, IpKeyName, nDefault, m_sPath)
End Function
Public Function GetMainPrivateProfileDouble(IpAppName As String, IpKeyName As String, dDefault As Double) As Double
Return GetPrivateProfileDouble(IpAppName, IpKeyName, dDefault, m_sPath)
End Function
Public Function GetMainPrivateProfileString(IpAppName As String, IpKeyName As String, IpDefault As String, ByRef IpString As String) As Integer
Return GetPrivateProfileString(IpAppName, IpKeyName, IpDefault, IpString, m_sPath)
End Function
'Public Function GetPrivateProfileLanguage(lpAppName As String, lpKeyName As String, lpFileName As String) As Language
' Dim sVal As String = String.Empty
' GetPrivateProfileString(lpAppName, lpKeyName, "", sVal, lpFileName)
' Dim sItems() As String = sVal.Split(",".ToCharArray)
' If sItems.Count() = 2 Then
' Return New Language(sItems(0), sItems(1))
' End If
' Return Nothing
'End Function
'Public Function GetMainPrivateProfileLanguage(lpAppName As String, lpKeyName As String) As Language
' Dim sVal As String = String.Empty
' GetMainPrivateProfileString(lpAppName, lpKeyName, "", sVal)
' Dim sItems() As String = sVal.Split(",".ToCharArray)
' If sItems.Count() = 2 Then
' Return New Language(sItems(0), sItems(1))
' End If
' Return Nothing
'End Function
Public Function WriteMainPrivateProfileString(IpAppName As String, IpKeyName As String, ByRef IpString As String) As Boolean
Return WritePrivateProfileString(IpAppName, IpKeyName, IpString, m_sPath)
End Function
End Module
@@ -0,0 +1,65 @@
'----------------------------------------------------------------------------
' EgalTech 2017-2017
'----------------------------------------------------------------------------
' File : IniFile.vb Data : 08.05.24 Versione : 2.6e1
' Contenuto : Modulo IniFile per gestione lettura/scrittura da file INI.
'
'
'
' Modifiche : 08.05.24 ES Creazione modulo.
'
'
'----------------------------------------------------------------------------
Imports System.Collections.ObjectModel
Public Module PluginIniFile
Private m_sPath As String
Public ReadOnly Property sPath As String
Get
Return m_sPath
End Get
End Property
Public Sub SetIniFile(sPath)
m_sPath = sPath
End Sub
Public Function GetPluginPrivateProfileInt(IpAppName As String, IpKeyName As String, nDefault As Integer) As Integer
Return GetPrivateProfileInt(IpAppName, IpKeyName, nDefault, m_sPath)
End Function
Public Function GetPluginPrivateProfileDouble(IpAppName As String, IpKeyName As String, dDefault As Double) As Double
Return GetPrivateProfileDouble(IpAppName, IpKeyName, dDefault, m_sPath)
End Function
Public Function GetPluginPrivateProfileString(IpAppName As String, IpKeyName As String, IpDefault As String, ByRef IpString As String) As Integer
Return GetPrivateProfileString(IpAppName, IpKeyName, IpDefault, IpString, m_sPath)
End Function
'Public Function GetPrivateProfileLanguage(lpAppName As String, lpKeyName As String, lpFileName As String) As Language
' Dim sVal As String = String.Empty
' GetPrivateProfileString(lpAppName, lpKeyName, "", sVal, lpFileName)
' Dim sItems() As String = sVal.Split(",".ToCharArray)
' If sItems.Count() = 2 Then
' Return New Language(sItems(0), sItems(1))
' End If
' Return Nothing
'End Function
'Public Function GetMainPrivateProfileLanguage(lpAppName As String, lpKeyName As String) As Language
' Dim sVal As String = String.Empty
' GetMainPrivateProfileString(lpAppName, lpKeyName, "", sVal)
' Dim sItems() As String = sVal.Split(",".ToCharArray)
' If sItems.Count() = 2 Then
' Return New Language(sItems(0), sItems(1))
' End If
' Return Nothing
'End Function
Public Function WritePluginPrivateProfileString(IpAppName As String, IpKeyName As String, ByRef IpString As String) As Boolean
Return WritePrivateProfileString(IpAppName, IpKeyName, IpString, m_sPath)
End Function
End Module
@@ -0,0 +1,66 @@
Imports System.Globalization
Public Module StringConversion
Public Function DoubleToString(ByVal dVal As Double, ByVal nNumDec As Integer) As String
Dim sFormat As String = "F" + Math.Abs(nNumDec).ToString()
Dim sVal As String = dVal.ToString(sFormat, CultureInfo.InvariantCulture)
If nNumDec > 0 Then
Return sVal.TrimEnd("0".ToCharArray()).TrimEnd(".".ToCharArray)
Else
Return sVal
End If
End Function
Public Function StringToDouble(ByVal sVal As String, ByRef dVal As Double) As Boolean
' Return EgtLuaEvalNumExpr(sVal, dVal)
Return Double.TryParse(sVal, NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, dVal)
End Function
'Public Function StringToDoubleAdv(ByVal sVal As String, ByRef dVal As Double, Optional bEval As Boolean = False) As Boolean
' If bEval Then
' Return EgtLuaEvalNumExpr(sVal, dVal)
' Else
' Return Double.TryParse(sVal, NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, dVal)
' End If
'End Function
Public Function StringToInt(sVal As String, ByRef nVal As Integer) As Boolean
Dim dVal As Double = 0
If Not StringToDouble(sVal, dVal) Then Return False
nVal = CInt(Math.Round(dVal))
Return True
End Function
'Public Function LenToString(ByVal dVal As Double, ByVal nNumDec As Integer) As String
' Return DoubleToString(EgtToUiUnits(dVal), nNumDec)
'End Function
'Public Function StringToLen(ByVal sVal As String, ByRef dVal As Double) As Boolean
' If EgtLuaEvalNumExpr(sVal, dVal) Then
' dVal = EgtFromUiUnits(dVal)
' Return True
' Else
' Return False
' End If
'End Function
'Public Function StringToLenAdv(ByVal sVal As String, ByRef dVal As Double, Optional bEval As Boolean = False) As Boolean
' If bEval Then
' If EgtLuaEvalNumExpr(sVal, dVal) Then
' dVal = EgtFromUiUnits(dVal)
' Return True
' Else
' Return False
' End If
' Else
' If Double.TryParse(sVal, NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, dVal) Then
' dVal = EgtFromUiUnits(dVal)
' Return True
' Else
' Return False
' End If
' End If
'End Function
End Module
+90
View File
@@ -0,0 +1,90 @@
Public Class ThreadData
'Enum ThreadOperations As Integer
' WaitingData = 1
' FoundRequest = 2
' WritingDdf = 3
' ProcessingDdf = 4
' ReadingSvg = 5
' SendResult = 6
' Closed = 10
'End Enum
Public Enum ProcessStatuses As Integer
NULL = 0
WAITINGANSWER = 1
ANSWERRECEIVED = 2
TOBESTARTED = 10
End Enum
Private m_ProcessStatus As ProcessStatuses = ProcessStatuses.TOBESTARTED
Public ReadOnly Property ProcessStatus As ProcessStatuses
Get
Return m_ProcessStatus
End Get
End Property
Friend Sub SetProcessStatus(value As ProcessStatuses)
m_ProcessStatus = value
End Sub
Private m_CurrRequest As ProcessArgs
Public ReadOnly Property CurrRequest As ProcessArgs
Get
Return m_CurrRequest
End Get
End Property
Friend Sub SetCurrRequest(value As ProcessArgs)
m_CurrRequest = value
End Sub
'Private m_sDdfPath As String
'Public ReadOnly Property sDdfPath As String
' Get
' Return m_sDdfPath
' End Get
'End Property
'Friend Sub SetDdfPath(value As String)
' m_sDdfPath = value
'End Sub
Private m_nProcResult As Integer
Public ReadOnly Property nProcResult As Integer
Get
Return m_nProcResult
End Get
End Property
Friend Sub SetProcResult(value As Integer)
m_nProcResult = value
End Sub
'Private m_ThreadOperation As ThreadOperations
'Public ReadOnly Property ThreadOperation As ThreadOperations
' Get
' Return m_ThreadOperation
' End Get
'End Property
'Friend Sub SetThreadOperation(value As ThreadOperations)
' m_ThreadOperation = value
'End Sub
Private m_Process As Process
Public ReadOnly Property Process As Process
Get
Return m_Process
End Get
End Property
Friend Sub SetProcess(value As Process)
m_Process = value
End Sub
'Private m_ThreadStat As ThreadStat
'Public ReadOnly Property ThreadStat As ThreadStat
' Get
' Return m_ThreadStat
' End Get
'End Property
'Friend Sub SetThreadStat(value As ThreadStat)
' m_ThreadStat = value
'End Sub
End Class
+12
View File
@@ -0,0 +1,12 @@
Imports System.ComponentModel
Public Class VMBase
Implements INotifyPropertyChanged
Public Event PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
End Class
+80
View File
@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel element will disable file and registry virtualization.
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config.
Makes the application long-path aware. See https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>
@@ -0,0 +1,78 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
Effector.Plugin.Lib
</name>
</assembly>
<members>
<member name="T:Effector.Plugin.Lib.My.Resources.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Effector.Plugin.Lib.My.Resources.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Effector.Plugin.Lib.My.Resources.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="T:Effector.Plugin.Lib.MultipleCopyWndV">
<summary>
MultipleCopyWndV
</summary>
</member>
<member name="M:Effector.Plugin.Lib.MultipleCopyWndV.InitializeComponent">
<summary>
InitializeComponent
</summary>
</member>
<member name="T:Effector.Plugin.Lib.ProcessManagerV">
<summary>
ProcessManagerV
</summary>
</member>
<member name="M:Effector.Plugin.Lib.ProcessManagerV.InitializeComponent">
<summary>
InitializeComponent
</summary>
</member>
<member name="T:Effector.Plugin.Lib.TitleBar">
<summary>
TitleBar
</summary>
</member>
<member name="M:Effector.Plugin.Lib.TitleBar.InitializeComponent">
<summary>
InitializeComponent
</summary>
</member>
<member name="T:Effector.Plugin.Lib.Command">
<summary>
A command whose sole purpose is to
relay its functionality to other
objects by invoking delegates. The
default return value for the CanExecute
method is 'true'.
</summary>
</member>
<member name="M:Effector.Plugin.Lib.Command.#ctor(System.Action{System.Object})">
<summary>
Creates a new command that can always execute.
</summary>
<param name="execute">The execution logic.</param>
</member>
<member name="M:Effector.Plugin.Lib.Command.#ctor(System.Action{System.Object},System.Predicate{System.Object})">
<summary>
Creates a new command.
</summary>
<param name="execute">The execution logic.</param>
<param name="canExecute">The execution status logic.</param>
</member>
</members>
</doc>
@@ -0,0 +1,7 @@
' <autogenerated/>
Option Strict Off
Option Explicit On
Imports System
Imports System.Reflection
<Assembly: Global.System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName:=".NET Framework 4.7.2")>
@@ -0,0 +1 @@
f0542cce302d0958c38ca15058ca24aded3d23622f2bc176ce5498d46b31d0b8
@@ -0,0 +1,21 @@
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Effector.Plugin.Lib.vbproj.AssemblyReference.cache
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\TitleBar\TitleBarV.baml
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\MultipleCopyWnd\MultipleCopyWndV.g.vb
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\TitleBar\TitleBarV.g.vb
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\GeneratedInternalTypeHelper.g.vb
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Effector.Plugin.Lib_MarkupCompile.cache
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Effector.Plugin.Lib_MarkupCompile.lref
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\bin\Debug\Effector.Plugin.Lib.dll
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\bin\Debug\Effector.Plugin.Lib.pdb
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\bin\Debug\Effector.Plugin.Lib.xml
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\MultipleCopyWnd\MultipleCopyWndV.baml
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Themes\Generic.baml
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Effector.Plugin.Lib.g.resources
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Effector.Plugin.Lib.Resources.resources
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Effector.Plugin.Lib.vbproj.GenerateResource.cache
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Effector.Plugin.Lib.vbproj.CoreCompileInputs.cache
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Effector.Plugin.Lib.dll
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Effector.Plugin.Lib.xml
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\Effector.Plugin.Lib.pdb
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\ProcessManager\ProcessManagerV.g.vb
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\ProcessManager\ProcessManagerV.baml
@@ -0,0 +1,78 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
Effector.Plugin.Lib
</name>
</assembly>
<members>
<member name="T:Effector.Plugin.Lib.My.Resources.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Effector.Plugin.Lib.My.Resources.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Effector.Plugin.Lib.My.Resources.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="T:Effector.Plugin.Lib.MultipleCopyWndV">
<summary>
MultipleCopyWndV
</summary>
</member>
<member name="M:Effector.Plugin.Lib.MultipleCopyWndV.InitializeComponent">
<summary>
InitializeComponent
</summary>
</member>
<member name="T:Effector.Plugin.Lib.ProcessManagerV">
<summary>
ProcessManagerV
</summary>
</member>
<member name="M:Effector.Plugin.Lib.ProcessManagerV.InitializeComponent">
<summary>
InitializeComponent
</summary>
</member>
<member name="T:Effector.Plugin.Lib.TitleBar">
<summary>
TitleBar
</summary>
</member>
<member name="M:Effector.Plugin.Lib.TitleBar.InitializeComponent">
<summary>
InitializeComponent
</summary>
</member>
<member name="T:Effector.Plugin.Lib.Command">
<summary>
A command whose sole purpose is to
relay its functionality to other
objects by invoking delegates. The
default return value for the CanExecute
method is 'true'.
</summary>
</member>
<member name="M:Effector.Plugin.Lib.Command.#ctor(System.Action{System.Object})">
<summary>
Creates a new command that can always execute.
</summary>
<param name="execute">The execution logic.</param>
</member>
<member name="M:Effector.Plugin.Lib.Command.#ctor(System.Action{System.Object},System.Predicate{System.Object})">
<summary>
Creates a new command.
</summary>
<param name="execute">The execution logic.</param>
<param name="canExecute">The execution status logic.</param>
</member>
</members>
</doc>
@@ -0,0 +1,20 @@
Effector.Plugin.Lib
library
VB
.vb
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\
Effector.Plugin.Lib
none
false
4-1904268581
21736316138
111190997905
MultipleCopyWnd\MultipleCopyWndV.xaml;ProcessManager\ProcessManagerV.xaml;Themes\Generic.xaml;TitleBar\TitleBarV.xaml;
False
@@ -0,0 +1,20 @@
Effector.Plugin.Lib
library
VB
.vb
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\
Effector.Plugin.Lib
none
false
4-1904268581
22-492149270
111190997905
MultipleCopyWnd\MultipleCopyWndV.xaml;ProcessManager\ProcessManagerV.xaml;Themes\Generic.xaml;TitleBar\TitleBarV.xaml;
False
@@ -0,0 +1,6 @@
C:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\obj\Debug\GeneratedInternalTypeHelper.g.vb
FC:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\MultipleCopyWnd\MultipleCopyWndV.xaml;;
FC:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\ProcessManager\ProcessManagerV.xaml;;
FC:\EgtDev\Effector\Effector.Plugin.Lib\Effector.Plugin.Lib\Themes\Generic.xaml;;
@@ -0,0 +1,65 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
<Assembly: System.Windows.Markup.RootNamespaceAttribute("Effector.Plugin.Lib")>
Namespace XamlGeneratedNamespace
'''<summary>
'''GeneratedInternalTypeHelper
'''</summary>
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)> _
Public NotInheritable Class GeneratedInternalTypeHelper
Inherits System.Windows.Markup.InternalTypeHelper
'''<summary>
'''CreateInstance
'''</summary>
Protected Overrides Function CreateInstance(ByVal type As System.Type, ByVal culture As System.Globalization.CultureInfo) As Object
Return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.[Public] Or System.Reflection.BindingFlags.NonPublic) _
Or (System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.CreateInstance)), Nothing, Nothing, culture)
End Function
'''<summary>
'''GetPropertyValue
'''</summary>
Protected Overrides Function GetPropertyValue(ByVal propertyInfo As System.Reflection.PropertyInfo, ByVal target As Object, ByVal culture As System.Globalization.CultureInfo) As Object
Return propertyInfo.GetValue(target, System.Reflection.BindingFlags.[Default], Nothing, Nothing, culture)
End Function
'''<summary>
'''SetPropertyValue
'''</summary>
Protected Overrides Sub SetPropertyValue(ByVal propertyInfo As System.Reflection.PropertyInfo, ByVal target As Object, ByVal value As Object, ByVal culture As System.Globalization.CultureInfo)
propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.[Default], Nothing, Nothing, culture)
End Sub
'''<summary>
'''CreateDelegate
'''</summary>
Protected Overrides Function CreateDelegate(ByVal delegateType As System.Type, ByVal target As Object, ByVal handler As String) As System.[Delegate]
Return CType(target.GetType.InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod _
Or (System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance)), Nothing, target, New Object() {delegateType, handler}, Nothing),System.[Delegate])
End Function
'''<summary>
'''AddEventHandler
'''</summary>
Protected Overrides Sub AddEventHandler(ByVal eventInfo As System.Reflection.EventInfo, ByVal target As Object, ByVal handler As System.[Delegate])
eventInfo.AddEventHandler(target, handler)
End Sub
End Class
End Namespace
@@ -0,0 +1,2 @@
@@ -0,0 +1,83 @@
#ExternalChecksum("..\..\..\MultipleCopyWnd\MultipleCopyWndV.xaml","{8829d00f-11b8-4213-878b-770e8597ac16}","7939E0F2EC5733FCE5DB6F35D9229B219F841E25968F6CAD809031C8564156BE")
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Imports Effector.Plugin.Lib
Imports System
Imports System.Diagnostics
Imports System.Windows
Imports System.Windows.Automation
Imports System.Windows.Controls
Imports System.Windows.Controls.Primitives
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Ink
Imports System.Windows.Input
Imports System.Windows.Markup
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Media.Effects
Imports System.Windows.Media.Imaging
Imports System.Windows.Media.Media3D
Imports System.Windows.Media.TextFormatting
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Shell
'''<summary>
'''MultipleCopyWndV
'''</summary>
<Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Public Class MultipleCopyWndV
Inherits Effector.Plugin.[Lib].EgtWindow
Implements System.Windows.Markup.IComponentConnector
Private _contentLoaded As Boolean
'''<summary>
'''InitializeComponent
'''</summary>
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")> _
Public Sub InitializeComponent() Implements System.Windows.Markup.IComponentConnector.InitializeComponent
If _contentLoaded Then
Return
End If
_contentLoaded = true
Dim resourceLocater As System.Uri = New System.Uri("/Effector.Plugin.Lib;component/multiplecopywnd/multiplecopywndv.xaml", System.UriKind.Relative)
#ExternalSource("..\..\..\MultipleCopyWnd\MultipleCopyWndV.xaml",1)
System.Windows.Application.LoadComponent(Me, resourceLocater)
#End ExternalSource
End Sub
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
Friend Function _CreateDelegate(ByVal delegateType As System.Type, ByVal handler As String) As System.[Delegate]
Return System.[Delegate].CreateDelegate(delegateType, Me, handler)
End Function
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")> _
Sub System_Windows_Markup_IComponentConnector_Connect(ByVal connectionId As Integer, ByVal target As Object) Implements System.Windows.Markup.IComponentConnector.Connect
Me._contentLoaded = true
End Sub
End Class
@@ -0,0 +1,83 @@
#ExternalChecksum("..\..\..\MultipleCopyWnd\MultipleCopyWndV.xaml","{8829d00f-11b8-4213-878b-770e8597ac16}","7939E0F2EC5733FCE5DB6F35D9229B219F841E25968F6CAD809031C8564156BE")
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Imports Effector.Plugin.Lib
Imports System
Imports System.Diagnostics
Imports System.Windows
Imports System.Windows.Automation
Imports System.Windows.Controls
Imports System.Windows.Controls.Primitives
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Ink
Imports System.Windows.Input
Imports System.Windows.Markup
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Media.Effects
Imports System.Windows.Media.Imaging
Imports System.Windows.Media.Media3D
Imports System.Windows.Media.TextFormatting
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Shell
'''<summary>
'''MultipleCopyWndV
'''</summary>
<Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Public Class MultipleCopyWndV
Inherits Effector.Plugin.[Lib].EgtWindow
Implements System.Windows.Markup.IComponentConnector
Private _contentLoaded As Boolean
'''<summary>
'''InitializeComponent
'''</summary>
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")> _
Public Sub InitializeComponent() Implements System.Windows.Markup.IComponentConnector.InitializeComponent
If _contentLoaded Then
Return
End If
_contentLoaded = true
Dim resourceLocater As System.Uri = New System.Uri("/Effector.Plugin.Lib;component/multiplecopywnd/multiplecopywndv.xaml", System.UriKind.Relative)
#ExternalSource("..\..\..\MultipleCopyWnd\MultipleCopyWndV.xaml",1)
System.Windows.Application.LoadComponent(Me, resourceLocater)
#End ExternalSource
End Sub
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
Friend Function _CreateDelegate(ByVal delegateType As System.Type, ByVal handler As String) As System.[Delegate]
Return System.[Delegate].CreateDelegate(delegateType, Me, handler)
End Function
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")> _
Sub System_Windows_Markup_IComponentConnector_Connect(ByVal connectionId As Integer, ByVal target As Object) Implements System.Windows.Markup.IComponentConnector.Connect
Me._contentLoaded = true
End Sub
End Class
@@ -0,0 +1,83 @@
#ExternalChecksum("..\..\..\ProcessManager\ProcessManagerV.xaml","{8829d00f-11b8-4213-878b-770e8597ac16}","8C65D5AF9E1845E0F6C89DAEBA16CCD5F042906A92E3DEBB2AB6BD25D0535D88")
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Imports Effector.Plugin.Lib
Imports System
Imports System.Diagnostics
Imports System.Windows
Imports System.Windows.Automation
Imports System.Windows.Controls
Imports System.Windows.Controls.Primitives
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Ink
Imports System.Windows.Input
Imports System.Windows.Markup
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Media.Effects
Imports System.Windows.Media.Imaging
Imports System.Windows.Media.Media3D
Imports System.Windows.Media.TextFormatting
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Shell
'''<summary>
'''ProcessManagerV
'''</summary>
<Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Public Class ProcessManagerV
Inherits Effector.Plugin.[Lib].EgtWindow
Implements System.Windows.Markup.IComponentConnector
Private _contentLoaded As Boolean
'''<summary>
'''InitializeComponent
'''</summary>
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")> _
Public Sub InitializeComponent() Implements System.Windows.Markup.IComponentConnector.InitializeComponent
If _contentLoaded Then
Return
End If
_contentLoaded = true
Dim resourceLocater As System.Uri = New System.Uri("/Effector.Plugin.Lib;component/processmanager/processmanagerv.xaml", System.UriKind.Relative)
#ExternalSource("..\..\..\ProcessManager\ProcessManagerV.xaml",1)
System.Windows.Application.LoadComponent(Me, resourceLocater)
#End ExternalSource
End Sub
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
Friend Function _CreateDelegate(ByVal delegateType As System.Type, ByVal handler As String) As System.[Delegate]
Return System.[Delegate].CreateDelegate(delegateType, Me, handler)
End Function
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")> _
Sub System_Windows_Markup_IComponentConnector_Connect(ByVal connectionId As Integer, ByVal target As Object) Implements System.Windows.Markup.IComponentConnector.Connect
Me._contentLoaded = true
End Sub
End Class
@@ -0,0 +1,83 @@
#ExternalChecksum("..\..\..\ProcessManager\ProcessManagerV.xaml","{8829d00f-11b8-4213-878b-770e8597ac16}","8C65D5AF9E1845E0F6C89DAEBA16CCD5F042906A92E3DEBB2AB6BD25D0535D88")
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Imports Effector.Plugin.Lib
Imports System
Imports System.Diagnostics
Imports System.Windows
Imports System.Windows.Automation
Imports System.Windows.Controls
Imports System.Windows.Controls.Primitives
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Ink
Imports System.Windows.Input
Imports System.Windows.Markup
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Media.Effects
Imports System.Windows.Media.Imaging
Imports System.Windows.Media.Media3D
Imports System.Windows.Media.TextFormatting
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Shell
'''<summary>
'''ProcessManagerV
'''</summary>
<Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Public Class ProcessManagerV
Inherits Effector.Plugin.[Lib].EgtWindow
Implements System.Windows.Markup.IComponentConnector
Private _contentLoaded As Boolean
'''<summary>
'''InitializeComponent
'''</summary>
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")> _
Public Sub InitializeComponent() Implements System.Windows.Markup.IComponentConnector.InitializeComponent
If _contentLoaded Then
Return
End If
_contentLoaded = true
Dim resourceLocater As System.Uri = New System.Uri("/Effector.Plugin.Lib;component/processmanager/processmanagerv.xaml", System.UriKind.Relative)
#ExternalSource("..\..\..\ProcessManager\ProcessManagerV.xaml",1)
System.Windows.Application.LoadComponent(Me, resourceLocater)
#End ExternalSource
End Sub
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
Friend Function _CreateDelegate(ByVal delegateType As System.Type, ByVal handler As String) As System.[Delegate]
Return System.[Delegate].CreateDelegate(delegateType, Me, handler)
End Function
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")> _
Sub System_Windows_Markup_IComponentConnector_Connect(ByVal connectionId As Integer, ByVal target As Object) Implements System.Windows.Markup.IComponentConnector.Connect
Me._contentLoaded = true
End Sub
End Class
Binary file not shown.
@@ -0,0 +1,75 @@
#ExternalChecksum("..\..\..\TitleBar\TitleBarV.xaml","{8829d00f-11b8-4213-878b-770e8597ac16}","6F99ABB02409D64A07C56F9BB29C3CDF85E1FC21A80D10C4B554E1B440A8B058")
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Imports System
Imports System.Diagnostics
Imports System.Windows
Imports System.Windows.Automation
Imports System.Windows.Controls
Imports System.Windows.Controls.Primitives
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Ink
Imports System.Windows.Input
Imports System.Windows.Markup
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Media.Effects
Imports System.Windows.Media.Imaging
Imports System.Windows.Media.Media3D
Imports System.Windows.Media.TextFormatting
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Shell
'''<summary>
'''TitleBar
'''</summary>
<Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Public Class TitleBar
Inherits System.Windows.Controls.Grid
Implements System.Windows.Markup.IComponentConnector
Private _contentLoaded As Boolean
'''<summary>
'''InitializeComponent
'''</summary>
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")> _
Public Sub InitializeComponent() Implements System.Windows.Markup.IComponentConnector.InitializeComponent
If _contentLoaded Then
Return
End If
_contentLoaded = true
Dim resourceLocater As System.Uri = New System.Uri("/Effector.Plugin.Lib;component/titlebar/titlebarv.xaml", System.UriKind.Relative)
#ExternalSource("..\..\..\TitleBar\TitleBarV.xaml",1)
System.Windows.Application.LoadComponent(Me, resourceLocater)
#End ExternalSource
End Sub
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")> _
Sub System_Windows_Markup_IComponentConnector_Connect(ByVal connectionId As Integer, ByVal target As Object) Implements System.Windows.Markup.IComponentConnector.Connect
Me._contentLoaded = true
End Sub
End Class
@@ -0,0 +1,75 @@
#ExternalChecksum("..\..\..\TitleBar\TitleBarV.xaml","{8829d00f-11b8-4213-878b-770e8597ac16}","6F99ABB02409D64A07C56F9BB29C3CDF85E1FC21A80D10C4B554E1B440A8B058")
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Imports System
Imports System.Diagnostics
Imports System.Windows
Imports System.Windows.Automation
Imports System.Windows.Controls
Imports System.Windows.Controls.Primitives
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Ink
Imports System.Windows.Input
Imports System.Windows.Markup
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Media.Effects
Imports System.Windows.Media.Imaging
Imports System.Windows.Media.Media3D
Imports System.Windows.Media.TextFormatting
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Shell
'''<summary>
'''TitleBar
'''</summary>
<Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Public Class TitleBar
Inherits System.Windows.Controls.Grid
Implements System.Windows.Markup.IComponentConnector
Private _contentLoaded As Boolean
'''<summary>
'''InitializeComponent
'''</summary>
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")> _
Public Sub InitializeComponent() Implements System.Windows.Markup.IComponentConnector.InitializeComponent
If _contentLoaded Then
Return
End If
_contentLoaded = true
Dim resourceLocater As System.Uri = New System.Uri("/Effector.Plugin.Lib;component/titlebar/titlebarv.xaml", System.UriKind.Relative)
#ExternalSource("..\..\..\TitleBar\TitleBarV.xaml",1)
System.Windows.Application.LoadComponent(Me, resourceLocater)
#End ExternalSource
End Sub
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")> _
Sub System_Windows_Markup_IComponentConnector_Connect(ByVal connectionId As Integer, ByVal target As Object) Implements System.Windows.Markup.IComponentConnector.Connect
Me._contentLoaded = true
End Sub
End Class