From 0995a9040a555f73441ecbb97b50c09ec7564099 Mon Sep 17 00:00:00 2001 From: fyf Date: Tue, 18 Oct 2022 16:01:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=98=E9=87=8F=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BPASmart.MenuLoad/BPASmart.MenuLoad.csproj | 1 + .../BPASmartClient.SCADAControl.csproj | 16 ++ .../Images/Tab_NoWZBJ.png | Bin 0 -> 669 bytes .../Images/Tab_SelectWZBJ.png | Bin 0 -> 871 bytes BPASmartClient.SCADAControl/Images/组 7.png | Bin 0 -> 8898 bytes BPASmartClient.SCADAControl/Images/组 8.png | Bin 0 -> 11436 bytes .../Themes/Generic.xaml | 58 ++++ BeDesignerSCADA/Controls/CodeCanvasPanel.xaml | 254 +++++++++++++++++ .../Controls/CodeCanvasPanel.xaml.cs | 266 ++++++++++++++++++ BeDesignerSCADA/Helper/IniFile.cs | 60 ++++ BeDesignerSCADA/MainWindow.xaml | 18 ++ BeDesignerSCADA/MainWindow.xaml.cs | 2 + BeDesignerSCADA/ViewModel/MainViewModelNew.cs | 25 +- 13 files changed, 693 insertions(+), 7 deletions(-) create mode 100644 BPASmartClient.SCADAControl/Images/Tab_NoWZBJ.png create mode 100644 BPASmartClient.SCADAControl/Images/Tab_SelectWZBJ.png create mode 100644 BPASmartClient.SCADAControl/Images/组 7.png create mode 100644 BPASmartClient.SCADAControl/Images/组 8.png create mode 100644 BeDesignerSCADA/Controls/CodeCanvasPanel.xaml create mode 100644 BeDesignerSCADA/Controls/CodeCanvasPanel.xaml.cs create mode 100644 BeDesignerSCADA/Helper/IniFile.cs diff --git a/BPASmart.MenuLoad/BPASmart.MenuLoad.csproj b/BPASmart.MenuLoad/BPASmart.MenuLoad.csproj index 15c0fe6e..5ce28106 100644 --- a/BPASmart.MenuLoad/BPASmart.MenuLoad.csproj +++ b/BPASmart.MenuLoad/BPASmart.MenuLoad.csproj @@ -19,6 +19,7 @@ + diff --git a/BPASmartClient.SCADAControl/BPASmartClient.SCADAControl.csproj b/BPASmartClient.SCADAControl/BPASmartClient.SCADAControl.csproj index 6c7bc60f..4fd8fe4e 100644 --- a/BPASmartClient.SCADAControl/BPASmartClient.SCADAControl.csproj +++ b/BPASmartClient.SCADAControl/BPASmartClient.SCADAControl.csproj @@ -47,6 +47,8 @@ + + @@ -70,6 +72,8 @@ + + @@ -211,6 +215,12 @@ Always + + Always + + + Always + Always @@ -289,6 +299,12 @@ Always + + Always + + + Always + Always diff --git a/BPASmartClient.SCADAControl/Images/Tab_NoWZBJ.png b/BPASmartClient.SCADAControl/Images/Tab_NoWZBJ.png new file mode 100644 index 0000000000000000000000000000000000000000..2f572964a10a780890f44ea7fc505aba698e46a3 GIT binary patch literal 669 zcmV;O0%HA%P)v*ebc7za=$NxT#_b*&--2|G~v$DkkU9?iP7DFh!%*b zPw1p2L^S3X@w9k;hOI&K&f9HD4!1yk!us8pV)M>(9Xt%q57G~2XvX5a6q-!ed2hc< zYb&4V#$du9zKRU{+`s_MRJs7Nq?x7Q2MTz|4@L&)x-i@AJ~{YbWrjOIAO8Z*7g*0M zD)9^ZlA|r&d9y8@gY>TsBXo}JFqre&%*KSIf=lP1bRgdbvU>`8F?G9Bz92gw&+{mV z>O+!6aOKY!u&b_u%oa8H|3@JG6qF8>TmfC5=3~5_WCe{bgiht8V#BtbDjY2{8?{*h z8`HYo%APed8~Dw#d*L?XF<^TP*d7D6$AIlIV0#SM9s{<=fbB70dkomEW&0-ru+OkE zehs#Lq)@X8*uZVA3QF8YJf>n}a-V6InGJon+?+IQVK@)q^=UqWw0(l88^%QR$MGQ@ z9UMe3I6;vq+*uwfvsR3Tcn|XQB^<@S(#zyu1S0weYP$KLR`t|900000NkvXXu0mjf DoUlAm literal 0 HcmV?d00001 diff --git a/BPASmartClient.SCADAControl/Images/Tab_SelectWZBJ.png b/BPASmartClient.SCADAControl/Images/Tab_SelectWZBJ.png new file mode 100644 index 0000000000000000000000000000000000000000..53f6112d0acdac8556f8a5a049091465353b5978 GIT binary patch literal 871 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 + +