aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2019-04-08 00:45:08 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2019-04-08 00:45:08 +0300
commit1608e69a417bc5e40a607c3958c4a60f19f66f1a (patch)
treec04d78e2abb5aac8c22350c90cb8b469f6eca30d /Software
parent08dd6000fe3a218221003876a699f448835b62e4 (diff)
parentb4a71931ea52636c6b36376aa9d71697ccf73524 (diff)
downloadTango-1608e69a417bc5e40a607c3958c4a60f19f66f1a.tar.gz
Tango-1608e69a417bc5e40a607c3958c4a60f19f66f1a.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software')
-rw-r--r--Software/Embedded_SW/Embedded/Main.c2
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c4
-rw-r--r--Software/PMR/Messages/EmbeddedParameters/ConfigurationParameters.proto17
-rw-r--r--Software/Stubs Collection/stubs/technician view files/lp4 Tech Board.tpf246
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest2
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/App.config36
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/Tango.Scripting.IDE.UI.csproj3
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/packages.config1
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Converters/LeftMarginMultiplierConverter.cs54
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml131
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs28
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs18
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs (renamed from Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs)37
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs7
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml35
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs62
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml (renamed from Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml)25
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml.cs (renamed from Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs)4
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs59
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs14
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEViewModel.cs21
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.pngbin205 -> 183 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/DefaultNotificationManager.cs94
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/INotificationManager.cs95
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/ProgressNotificationHandler.cs23
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml188
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs32
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs63
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj40
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml33
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml3
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml55
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml32
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml58
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs11
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml28
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml.cs28
37 files changed, 1226 insertions, 363 deletions
diff --git a/Software/Embedded_SW/Embedded/Main.c b/Software/Embedded_SW/Embedded/Main.c
index 00ee77251..046f8291e 100644
--- a/Software/Embedded_SW/Embedded/Main.c
+++ b/Software/Embedded_SW/Embedded/Main.c
@@ -197,7 +197,7 @@ int main(void)
MotorsInit();
//Shai WHS_HW_test(); // for WHS sensor test
// WHS_init();
- Buttons_Init();
+// Buttons_Init();
//IDS_ModuleInit();
Valve_Set(VALVE_MIXCHIP_WASTECH, Mixer_Waste);
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
index 22b30748f..7d42ad8f5 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
@@ -75,7 +75,7 @@ uint32_t PowerIdleCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag)
{
Report("PowerIdle Idle activated ",__FILE__,__LINE__,(int)powerIdleSecondsLimit,RpWarning,(int)powerIdleSecondsCounter,0);
powerIdleState = true;
- //SetPowerMachineState(sttIDLE);
+ SetPowerMachineState(sttIDLE);
//move to idle state
PowerIdleSetIdle();
}
@@ -103,7 +103,7 @@ void PowerIdleOutOfIdleState(void)
if (powerIdleState == true)
{
powerIdleState = false;
- //SetPowerMachineState(sttON);
+ SetPowerMachineState(sttON);
if (HandleProcessParameters(&ActiveProcessParameters)!= OK)
{
LOG_ERROR (1, "Turn Heaters active failed");
diff --git a/Software/PMR/Messages/EmbeddedParameters/ConfigurationParameters.proto b/Software/PMR/Messages/EmbeddedParameters/ConfigurationParameters.proto
index 733651a34..1752307ad 100644
--- a/Software/PMR/Messages/EmbeddedParameters/ConfigurationParameters.proto
+++ b/Software/PMR/Messages/EmbeddedParameters/ConfigurationParameters.proto
@@ -62,7 +62,20 @@ message ConfigurationParameters
double IDS_CleaningSpeed = 26;
//cleaning dispenser stop before segment start
double IDS_CleaningStopBeforeSegmentTime = 27;
- double IDS_LeftCleaningMotorSpeed = 28;
- double IDS_RightCleaningMotorSpeed = 29;
+ //cleaning dispenser start during pre segment
+ double IDS_CleaningStartSprayPreSegmentTime = 28;
+ double IDS_LeftCleaningMotorSpeed = 29;
+ double IDS_RightCleaningMotorSpeed = 30;
+
+ uint32 SwitchToIdleTimeinSeconds = 31;
+ uint32 IdleDrierTemperature = 32;
+ uint32 IdleHeadTemperature = 33;
+ uint32 IdleMixerTemperature = 34;
+
+ uint32 PowerOffTemperatureLimit = 35; //temperature to allow machine power off
+
+ double IDS_PreSegment_WFCF_TimeBeforeSegment = 36;
+
+
}
diff --git a/Software/Stubs Collection/stubs/technician view files/lp4 Tech Board.tpf b/Software/Stubs Collection/stubs/technician view files/lp4 Tech Board.tpf
index 630461d99..f1c80020c 100644
--- a/Software/Stubs Collection/stubs/technician view files/lp4 Tech Board.tpf
+++ b/Software/Stubs Collection/stubs/technician view files/lp4 Tech Board.tpf
@@ -24,13 +24,13 @@
<Width>575</Width>
<Height>201.64159292035407</Height>
<Angle>0</Angle>
- <ItemGuid>D7585119-4A42-4370-8F1E-F3E62553E588</ItemGuid>
+ <ItemGuid>AFB7B6F7-8FFB-4A7F-B814-04F0C163CAA1</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>701</Duration>
<Min>0</Min>
<Max>300</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="ControllerItem">
<ID>ba743caa-95f2-4b20-8c32-8e5943ada3fc</ID>
@@ -41,9 +41,9 @@
<Angle>0</Angle>
<ItemGuid>78482AA4-3DF6-421F-944C-64328D3C3EF2</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
<OptimalRangeMinimum>0</OptimalRangeMinimum>
<OptimalRangeMaximum>70</OptimalRangeMaximum>
+ <UpdateInterval>10</UpdateInterval>
<IsSetToDefault>true</IsSetToDefault>
</TechItem>
<TechItem xsi:type="DigitalOutItem">
@@ -123,13 +123,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>DryerAirHeater</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>97.389999999999986</CurrentValue>
+ <SetPoint>165</SetPoint>
+ <CurrentValue>149.02</CurrentValue>
<IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
+ <IsRampingUp>true</IsRampingUp>
+ <IsInSetPoint>false</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>165</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>0ac64716-d30c-489b-939e-a26d06445866</ID>
@@ -143,7 +143,7 @@
<HeaterState>
<HeaterType>DryerMainHeater</HeaterType>
<SetPoint>0</SetPoint>
- <CurrentValue>170.61999999999998</CurrentValue>
+ <CurrentValue>249.91</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -162,7 +162,7 @@
<HeaterState>
<HeaterType>DryerSecondaryHeater</HeaterType>
<SetPoint>0</SetPoint>
- <CurrentValue>167.51</CurrentValue>
+ <CurrentValue>251.47</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -180,13 +180,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone3</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>87.97</CurrentValue>
+ <SetPoint>110</SetPoint>
+ <CurrentValue>109.75999999999999</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>110</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>7e8dd386-cca6-4d07-8a3e-af5403756002</ID>
@@ -199,13 +199,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone2</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>92.71</CurrentValue>
+ <SetPoint>110</SetPoint>
+ <CurrentValue>109.67999999999999</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>110</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>32a91e5f-27c8-490d-b187-8e39b6626a13</ID>
@@ -218,13 +218,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone1</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>68.76</CurrentValue>
+ <SetPoint>80</SetPoint>
+ <CurrentValue>79.76</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>80</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>c844235a-8a29-4c2e-a964-e8f546d2ced7</ID>
@@ -238,7 +238,7 @@
<HeaterState>
<HeaterType>MixerHeater</HeaterType>
<SetPoint>0</SetPoint>
- <CurrentValue>72.5</CurrentValue>
+ <CurrentValue>283.75</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -256,13 +256,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone4</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>89.149999999999991</CurrentValue>
+ <SetPoint>120</SetPoint>
+ <CurrentValue>119.64999999999999</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>120</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>e6b3eb18-482b-450e-b8a8-d2ac6bba4fd4</ID>
@@ -275,13 +275,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone5</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>109.14999999999999</CurrentValue>
+ <SetPoint>130</SetPoint>
+ <CurrentValue>129.72</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>130</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>efff2e67-e3a3-4667-9208-4704707d7cda</ID>
@@ -294,13 +294,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone6</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>105.57</CurrentValue>
+ <SetPoint>140</SetPoint>
+ <CurrentValue>139.54</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>140</SetPoint>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>f9936dba-cef8-41e3-a715-eb629dca1870</ID>
@@ -421,7 +421,7 @@
<ItemGuid>96B89605-F999-43FE-A1CD-2645BFB33A36</ItemGuid>
<ColorNumber>-1</ColorNumber>
<UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
+ <DecimalPoints>2</DecimalPoints>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>6be024c6-3d1b-4267-9b77-44473aba56b7</ID>
@@ -433,7 +433,7 @@
<ItemGuid>FC60060A-3736-4910-B41A-FF6DABDF0E9E</ItemGuid>
<ColorNumber>-1</ColorNumber>
<UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
+ <DecimalPoints>2</DecimalPoints>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>7c720f3b-00e1-49dd-92f9-fdd1e9686623</ID>
@@ -445,7 +445,7 @@
<ItemGuid>4CE6A82E-D841-4D33-BBB2-11F0743A441C</ItemGuid>
<ColorNumber>-1</ColorNumber>
<UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
+ <DecimalPoints>2</DecimalPoints>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>3ebd6759-521b-4ed1-a353-ee1ad7801f28</ID>
@@ -456,11 +456,11 @@
<Angle>0</Angle>
<ItemGuid>D126DB23-784B-4F0C-8F88-D89A65A7549F</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>1460</Duration>
<Min>0</Min>
<Max>16384</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>984b4126-3dda-4624-a79f-0646eb0e1358</ID>
@@ -471,11 +471,11 @@
<Angle>0</Angle>
<ItemGuid>10102BC3-0EAE-47FF-A8E5-8640780CAA3D</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>1516</Duration>
<Min>0</Min>
<Max>16384</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>8ebc3ab7-a02d-4b12-93b3-2563443831d7</ID>
@@ -486,11 +486,11 @@
<Angle>0</Angle>
<ItemGuid>C0BCCD5C-346B-4C4A-A080-39D28E9E1A0C</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>1398</Duration>
<Min>0</Min>
<Max>16384</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>acafb268-5e97-4277-8dc8-173250a9e3f8</ID>
@@ -501,11 +501,22 @@
<Angle>0</Angle>
<ItemGuid>9FBC5460-BA59-486B-8D85-BD7D8A959F98</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>1273</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
+ </TechItem>
+ <TechItem xsi:type="MotorItem">
+ <ID>3ccb1485-b0e9-4d36-a931-a1b3865edeaa</ID>
+ <Left>460</Left>
+ <Top>38.28761061946841</Top>
+ <Width>267</Width>
+ <Height>221.90707964601768</Height>
+ <Angle>0</Angle>
+ <ItemGuid>08d15ca1-d7d1-460f-8f37-42c37c287cd1</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ <Speed>952.3546144121359</Speed>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>be4cb8d9-b516-4604-a6a5-1638cbc50251</ID>
@@ -516,11 +527,11 @@
<Angle>0</Angle>
<ItemGuid>4CE6A82E-D841-4D33-BBB2-11F0743A441C</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>514</Duration>
<Min>0</Min>
<Max>100000</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>75b99507-4eba-4b11-b52e-26732d4c5479</ID>
@@ -531,11 +542,11 @@
<Angle>0</Angle>
<ItemGuid>F1DF490B-0577-4FA7-ACA1-0EEF4F934E8F</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>4</DecimalPlaces>
<Duration>1398</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>a30e48de-be76-4230-92d0-d27d6f37b940</ID>
@@ -546,11 +557,11 @@
<Angle>0</Angle>
<ItemGuid>5F12B974-2C9E-4DDD-9B20-733251A5D7E6</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>4</DecimalPlaces>
<Duration>1398</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>5ac4b368-093a-4192-98d4-e9d24f229b13</ID>
@@ -561,31 +572,30 @@
<Angle>0</Angle>
<ItemGuid>84CF23C9-D20D-4C08-BE1D-80201FC43C06</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>4</DecimalPlaces>
<Duration>1398</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
</TechItem>
<TechItem xsi:type="MonitorRecorderItem">
<ID>9c34dc69-cfaa-48b4-9d02-8f0d9bba79dd</ID>
- <Left>1358</Left>
- <Top>123.61504424778764</Top>
- <Width>170</Width>
- <Height>573.5132743362833</Height>
- <Angle>0</Angle>
- <ColorNumber>-1</ColorNumber>
- <SelectedMonitorsGuids />
- </TechItem>
- <TechItem xsi:type="ThreadMotionItem">
- <ID>b083f678-c5ea-4700-bfa2-ca51ed62cf4b</ID>
- <Left>480</Left>
- <Top>23.300884955752224</Top>
- <Width>317</Width>
- <Height>192.52212389380532</Height>
+ <Left>1303</Left>
+ <Top>34.380530973454768</Top>
+ <Width>176</Width>
+ <Height>83.05309734512457</Height>
<Angle>0</Angle>
<ColorNumber>-1</ColorNumber>
- <Speed>20</Speed>
+ <SelectedMonitorsGuids>
+ <string>F1DF490B-0577-4FA7-ACA1-0EEF4F934E8F</string>
+ <string>4CE6A82E-D841-4D33-BBB2-11F0743A441C</string>
+ <string>9ADF7823-B293-4275-9999-F62474D246AA</string>
+ <string>5F12B974-2C9E-4DDD-9B20-733251A5D7E6</string>
+ <string>FC60060A-3736-4910-B41A-FF6DABDF0E9E</string>
+ <string>96B89605-F999-43FE-A1CD-2645BFB33A36</string>
+ <string>84CF23C9-D20D-4C08-BE1D-80201FC43C06</string>
+ <string>89B7B89D-8050-4188-B568-35B1910CFB6F</string>
+ </SelectedMonitorsGuids>
</TechItem>
</Items>
</MachineTechViewProjectTab>
@@ -685,7 +695,7 @@
<Angle>0</Angle>
<ItemGuid>8A957565-4165-49F7-854D-D21F95FFBE1B</ItemGuid>
<ColorNumber>-724238</ColorNumber>
- <Speed>1200</Speed>
+ <Speed>0</Speed>
<DisplayName>Dispenser 8</DisplayName>
</TechItem>
<TechItem xsi:type="MonitorItem">
@@ -791,7 +801,7 @@
<Width>247</Width>
<Height>122.24778761061873</Height>
<Angle>0</Angle>
- <ItemGuid>99cf8832-edf6-4343-9af4-a5808680becc</ItemGuid>
+ <ItemGuid>074b6ed8-0f87-4973-bbea-509838f9c3ed</ItemGuid>
<ColorNumber>-1</ColorNumber>
</TechItem>
<TechItem xsi:type="DigitalOutItem">
@@ -813,9 +823,9 @@
<Angle>0</Angle>
<ItemGuid>78482AA4-3DF6-421F-944C-64328D3C3EF2</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
<OptimalRangeMinimum>0</OptimalRangeMinimum>
<OptimalRangeMaximum>70</OptimalRangeMaximum>
+ <UpdateInterval>10</UpdateInterval>
<IsSetToDefault>true</IsSetToDefault>
</TechItem>
<TechItem xsi:type="DigitalOutItem">
@@ -849,11 +859,11 @@
<Angle>0</Angle>
<ItemGuid>D023F15D-3555-48E9-A9E9-5DF99F60D791</ItemGuid>
<ColorNumber>0</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>10</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>46bdfce3-1c69-45dd-bbe9-582d1ac1e6f2</ID>
@@ -1067,7 +1077,7 @@
<Height>167.26548672566202</Height>
<Angle>0</Angle>
<ColorNumber>-1</ColorNumber>
- <Speed>20</Speed>
+ <Speed>40</Speed>
</TechItem>
<TechItem xsi:type="BreakSensorItem">
<ID>92607e12-2dd6-41c9-8f89-f051f386b734</ID>
@@ -1169,11 +1179,11 @@
<Angle>0</Angle>
<ItemGuid>D7585119-4A42-4370-8F1E-F3E62553E588</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
<Min>0</Min>
<Max>300</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>c4e19f7c-e6e9-4f45-987e-f124456b2529</ID>
@@ -1184,11 +1194,11 @@
<Angle>0</Angle>
<ItemGuid>A8DB1D27-6B25-4FB4-A3F5-46A29BA51955</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>3</DecimalPlaces>
<Duration>2817</Duration>
<Min>0</Min>
<Max>300</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>b8b24455-1c20-417d-bd78-5fe4c7e3d023</ID>
@@ -1199,11 +1209,11 @@
<Angle>0</Angle>
<ItemGuid>6C0C1AB0-3EE9-40D7-8424-A79436FBC804</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>2</DecimalPlaces>
<Duration>2982</Duration>
<Min>0</Min>
<Max>300</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>2129a0cd-454f-4834-8197-3b048bf4b978</ID>
@@ -1214,11 +1224,11 @@
<Angle>0</Angle>
<ItemGuid>098F7CAB-030C-46B0-B2B8-A85AF2253032</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>2</DecimalPlaces>
<Duration>2949</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>892fabb7-01fa-4b39-a19e-a557fafae0ac</ID>
@@ -1229,11 +1239,11 @@
<Angle>0</Angle>
<ItemGuid>DACEBF90-E2B4-4CC9-A973-B8B429AA0089</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>2</DecimalPlaces>
<Duration>2628</Duration>
<Min>0</Min>
<Max>300</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>4859974c-7224-42d5-97ca-0e2e549372f5</ID>
@@ -1244,11 +1254,11 @@
<Angle>0</Angle>
<ItemGuid>246C2551-5EFD-48E9-94F6-6313C5E5018F</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>2</DecimalPlaces>
<Duration>3153</Duration>
<Min>0</Min>
<Max>300</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>81b78212-14d8-4a66-bf3a-eeea9900e0d6</ID>
@@ -1319,11 +1329,11 @@
<Angle>0</Angle>
<ItemGuid>AFB7B6F7-8FFB-4A7F-B814-04F0C163CAA1</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>2</DecimalPlaces>
<Duration>3153</Duration>
<Min>0</Min>
<Max>300</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>9330a6be-17f1-4ecb-978d-719adf9fec1f</ID>
@@ -1334,11 +1344,11 @@
<Angle>0</Angle>
<ItemGuid>9A3877B2-9F98-4A5C-9A93-DECA2836FA8A</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>2</DecimalPlaces>
<Duration>3153</Duration>
<Min>0</Min>
<Max>300</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>3228b2ba-83f3-4eb2-a6d2-7200301758a4</ID>
@@ -1371,13 +1381,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone4</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>89.149999999999991</CurrentValue>
+ <SetPoint>120</SetPoint>
+ <CurrentValue>119.64999999999999</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>120</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>4fa7a50d-5155-4785-95a0-508cd40fad4d</ID>
@@ -1390,13 +1400,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone1</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>68.76</CurrentValue>
+ <SetPoint>80</SetPoint>
+ <CurrentValue>79.76</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>80</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>9da56601-7b5b-4f0f-afbf-2b31970b104f</ID>
@@ -1409,13 +1419,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone3</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>87.97</CurrentValue>
+ <SetPoint>110</SetPoint>
+ <CurrentValue>109.75999999999999</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>110</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>b700e59d-f923-4f13-9dcc-942050548c22</ID>
@@ -1428,13 +1438,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone5</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>109.14999999999999</CurrentValue>
+ <SetPoint>130</SetPoint>
+ <CurrentValue>129.72</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>130</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>97bf8fa2-b07f-4f0e-87ac-820ea52d236e</ID>
@@ -1448,7 +1458,7 @@
<HeaterState>
<HeaterType>MixerHeater</HeaterType>
<SetPoint>0</SetPoint>
- <CurrentValue>72.5</CurrentValue>
+ <CurrentValue>283.75</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -1466,13 +1476,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone2</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>92.71</CurrentValue>
+ <SetPoint>110</SetPoint>
+ <CurrentValue>109.67999999999999</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>110</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>3020fbc5-305e-4adf-9f1e-d7a48168e2e7</ID>
@@ -1485,13 +1495,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone6</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>105.57</CurrentValue>
+ <SetPoint>140</SetPoint>
+ <CurrentValue>139.54</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>140</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>a4049a51-7417-4eab-8bc1-837574307e93</ID>
@@ -1504,13 +1514,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>DryerAirHeater</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>97.389999999999986</CurrentValue>
+ <SetPoint>165</SetPoint>
+ <CurrentValue>149.02</CurrentValue>
<IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
+ <IsRampingUp>true</IsRampingUp>
+ <IsInSetPoint>false</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>165</SetPoint>
</TechItem>
</Items>
</MachineTechViewProjectTab>
@@ -1537,11 +1547,11 @@
<Angle>0</Angle>
<ItemGuid>098F7CAB-030C-46B0-B2B8-A85AF2253032</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>10</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>3bf6782d-117d-4589-a1d6-6454b67e3862</ID>
@@ -1552,11 +1562,11 @@
<Angle>0</Angle>
<ItemGuid>6C0C1AB0-3EE9-40D7-8424-A79436FBC804</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>10</Duration>
<Min>0</Min>
<Max>300</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>c7a89d21-7383-4caa-941e-b42e1109b16a</ID>
@@ -1567,11 +1577,11 @@
<Angle>0</Angle>
<ItemGuid>246C2551-5EFD-48E9-94F6-6313C5E5018F</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>10</Duration>
<Min>0</Min>
<Max>300</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>4c789472-cb4f-4ede-b22a-c733591117c8</ID>
@@ -1584,13 +1594,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone3</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>87.97</CurrentValue>
+ <SetPoint>110</SetPoint>
+ <CurrentValue>109.75999999999999</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>110</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>ddda12e1-54ad-4ffd-9f77-5845372e134f</ID>
@@ -1603,13 +1613,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone4</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>89.149999999999991</CurrentValue>
+ <SetPoint>120</SetPoint>
+ <CurrentValue>119.64999999999999</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>120</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>479f6fd7-25bb-4583-985e-169e045895ce</ID>
@@ -1622,13 +1632,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone5</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>109.14999999999999</CurrentValue>
+ <SetPoint>130</SetPoint>
+ <CurrentValue>129.72</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>130</SetPoint>
</TechItem>
<TechItem xsi:type="ProcessParametersItem">
<ID>2eed9e1e-31cd-4dc4-9d44-dd35798ff733</ID>
@@ -1764,9 +1774,9 @@
<Angle>0</Angle>
<ItemGuid>78482AA4-3DF6-421F-944C-64328D3C3EF2</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
<OptimalRangeMinimum>0</OptimalRangeMinimum>
<OptimalRangeMaximum>70</OptimalRangeMaximum>
+ <UpdateInterval>10</UpdateInterval>
<IsSetToDefault>true</IsSetToDefault>
</TechItem>
</Items>
@@ -1783,11 +1793,11 @@
<Angle>0</Angle>
<ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>aae29286-81b3-476a-9f58-c0fd246cae96</ID>
@@ -1798,11 +1808,11 @@
<Angle>0</Angle>
<ItemGuid>F33667BD-D9FA-4DC7-BC2C-0E89E60AE4BE</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
</TechItem>
<TechItem xsi:type="TextItem">
<ID>7d94c7c4-1288-4f9d-b0e6-a06794829642</ID>
@@ -1885,11 +1895,11 @@
<Angle>0</Angle>
<ItemGuid>1F0F907A-EC16-4386-AFC8-B2B156F2A822</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
</TechItem>
<TechItem xsi:type="TextItem">
<ID>1c254a92-c075-453f-9667-cdcc91cf8e6a</ID>
@@ -1922,11 +1932,11 @@
<Angle>0</Angle>
<ItemGuid>6B1DF4B0-BCC2-400C-A3B7-31C5119A55BB</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
</TechItem>
<TechItem xsi:type="TextItem">
<ID>0bef6e9d-6da0-4f06-9e1a-c00142bde4c1</ID>
@@ -1959,11 +1969,11 @@
<Angle>0</Angle>
<ItemGuid>19645882-6587-4A50-BD85-AF06617DC654</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>39f6a02c-c4d9-47d0-b92d-bdea0ed5d3ce</ID>
@@ -1994,7 +2004,7 @@
<Width>244</Width>
<Height>127.67256637168146</Height>
<Angle>0</Angle>
- <ItemGuid>7F9C5DE0-9E24-494D-841F-976DB440DBFD</ItemGuid>
+ <ItemGuid>481228F8-BA5F-4CE8-9384-EC3ACE80DDDC</ItemGuid>
<ColorNumber>-1</ColorNumber>
</TechItem>
<TechItem xsi:type="ValveItem">
@@ -2031,11 +2041,11 @@
<Angle>0</Angle>
<ItemGuid>96B89605-F999-43FE-A1CD-2645BFB33A36</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>10</Duration>
<Min>0</Min>
<Max>100000</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>3d0f66be-0002-403d-8d4b-0d49d85c0570</ID>
@@ -2046,11 +2056,11 @@
<Angle>0</Angle>
<ItemGuid>D126DB23-784B-4F0C-8F88-D89A65A7549F</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>10</Duration>
<Min>0</Min>
<Max>16384</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>6ce9bf4a-e710-4bc6-bcc1-e8055b77530c</ID>
@@ -2061,11 +2071,11 @@
<Angle>0</Angle>
<ItemGuid>FC60060A-3736-4910-B41A-FF6DABDF0E9E</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>10</Duration>
<Min>0</Min>
<Max>100000</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>da0aa379-4643-40cb-b990-45574e5545df</ID>
@@ -2076,11 +2086,11 @@
<Angle>0</Angle>
<ItemGuid>10102BC3-0EAE-47FF-A8E5-8640780CAA3D</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>10</Duration>
<Min>0</Min>
<Max>16384</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>09b31ecb-8eaf-4c70-8057-1a11b5f10bad</ID>
@@ -2091,11 +2101,11 @@
<Angle>0</Angle>
<ItemGuid>89B7B89D-8050-4188-B568-35B1910CFB6F</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>10</Duration>
<Min>0</Min>
<Max>100000</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>2a970ff9-b593-4df4-977f-7d29ce25d0c6</ID>
@@ -2106,11 +2116,11 @@
<Angle>0</Angle>
<ItemGuid>84CF23C9-D20D-4C08-BE1D-80201FC43C06</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>1</DecimalPlaces>
<Duration>10</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>eebe8aa9-cff0-45ef-b1dd-d71cbe3b2947</ID>
@@ -2157,5 +2167,5 @@
</Items>
</MachineTechViewProjectTab>
</Tabs>
- <SelectedTabIndex>2</SelectedTabIndex>
+ <SelectedTabIndex>0</SelectedTabIndex>
</MachineTechViewProject> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest
index efc5f8179..d72e75011 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest
@@ -16,7 +16,7 @@
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
- <!--<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />-->
+ <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/App.config b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/App.config
index aa58e3cac..3c6b718b3 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/App.config
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/App.config
@@ -6,6 +6,42 @@
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.2.1.0" newVersion="1.2.1.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+ </dependentAssembly>
</assemblyBinding>
</runtime>
</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/Tango.Scripting.IDE.UI.csproj b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/Tango.Scripting.IDE.UI.csproj
index f87325bc9..01f93cc44 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/Tango.Scripting.IDE.UI.csproj
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/Tango.Scripting.IDE.UI.csproj
@@ -46,6 +46,9 @@
<Reference Include="Microsoft.CodeAnalysis.CSharp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.2.4.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
</Reference>
+ <Reference Include="Microsoft.WindowsAPICodePack, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\packages\WindowsAPICodePack-Core.1.1.2\lib\Microsoft.WindowsAPICodePack.dll</HintPath>
+ </Reference>
<Reference Include="System" />
<Reference Include="System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll</HintPath>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/packages.config b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/packages.config
index e207a9750..5fa98b5e2 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/packages.config
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/packages.config
@@ -45,4 +45,5 @@
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="net461" />
<package id="System.Xml.XPath" version="4.3.0" targetFramework="net461" />
<package id="System.Xml.XPath.XDocument" version="4.3.0" targetFramework="net461" />
+ <package id="WindowsAPICodePack-Core" version="1.1.2" targetFramework="net461" />
</packages> \ No newline at end of file
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Converters/LeftMarginMultiplierConverter.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Converters/LeftMarginMultiplierConverter.cs
new file mode 100644
index 000000000..2acefc09c
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Converters/LeftMarginMultiplierConverter.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Globalization;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Media;
+
+namespace Tango.Scripting.IDE.Converters
+{
+ public static class TreeViewItemExtensions
+ {
+ public static int GetDepth(this TreeViewItem item)
+ {
+ TreeViewItem parent;
+ while ((parent = GetParent(item)) != null)
+ {
+ return GetDepth(parent) + 1;
+ }
+ return 0;
+ }
+
+ private static TreeViewItem GetParent(TreeViewItem item)
+ {
+ var parent = VisualTreeHelper.GetParent(item);
+ while (!(parent is TreeViewItem || parent is TreeView))
+ {
+ parent = VisualTreeHelper.GetParent(parent);
+ }
+ return parent as TreeViewItem;
+ }
+ }
+ public class LeftMarginMultiplierConverter : IValueConverter
+ {
+ public double Length { get; set; }
+
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ var item = value as TreeViewItem;
+ if (item == null)
+ return new Thickness(0);
+
+ return new Thickness(Length * item.GetDepth(), 0, 0, 0);
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new System.NotImplementedException();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml
new file mode 100644
index 000000000..3046857db
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml
@@ -0,0 +1,131 @@
+<UserControl x:Class="Tango.Scripting.IDE.Dialogs.AddProjectView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:local="clr-namespace:Tango.Scripting.IDE.Dialogs"
+ mc:Ignorable="d"
+ xmlns:global="clr-namespace:Tango.Scripting.IDE"
+ Width="800" Height="600"
+ MinWidth="800" MinHeight="600"
+ d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=local:NewProjectViewVM, IsDesignTimeCreatable=False}">
+ <UserControl.Resources>
+ <ResourceDictionary>
+ <ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/DarkThemesColors.xaml"/>
+ <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/Shared.xaml"/>
+ </ResourceDictionary.MergedDictionaries>
+ <Style TargetType="TextBlock">
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" />
+ </Style>
+ <Style TargetType="TextBox">
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" />
+ <Setter Property="Background" Value="{DynamicResource ListBorder}" />
+ <Setter Property="BorderThickness" Value="1"/>
+ <Setter Property="BorderBrush" Value="{DynamicResource ListBorder}"/>
+ </Style>
+
+ <Style TargetType="Label">
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" />
+ </Style>
+ <BooleanToVisibilityConverter x:Key="BoolToVis" />
+ </ResourceDictionary>
+ </UserControl.Resources>
+ <Grid x:Name="Main_NewProject_grid" Background="{DynamicResource Window.Background}" >
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="240"/>
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="*"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="40"/>
+ </Grid.RowDefinitions>
+ <Border Background="{DynamicResource Background.Static}" BorderThickness="0" Grid.Column="0" Grid.Row="0" >
+ <Border BorderThickness="0" Margin="5" Background="{DynamicResource Window.Background}">
+ <ListView x:Name="ProjectTypes" ItemsSource="{Binding ProjectTypes}" Background="Transparent" ScrollViewer.VerticalScrollBarVisibility="Auto" SelectedItem="{Binding SelectedProjectType,Mode=TwoWay}" BorderBrush="Transparent" IsSynchronizedWithCurrentItem="True">
+ <ListView.ItemTemplate>
+ <DataTemplate>
+ <Border Padding="2">
+ <WrapPanel>
+ <Image Stretch="Fill" Height="30" Source="{Binding Path=SmallImage}"/>
+ <TextBlock Text="{Binding Name}" Margin="20,5,0,0" Foreground="{DynamicResource ControlTextBrush}"/>
+ </WrapPanel>
+ </Border>
+ </DataTemplate>
+ </ListView.ItemTemplate>
+ <ListView.Resources>
+ <Style TargetType="{x:Type ListViewItem}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type ListViewItem}">
+ <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
+ <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
+ </Border>
+ <ControlTemplate.Triggers>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="Selector.IsSelectionActive" Value="False" />
+ <Condition Property="IsSelected" Value="True" />
+ </MultiTrigger.Conditions>
+ <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}" />
+ </MultiTrigger>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="Selector.IsSelectionActive" Value="True" />
+ <Condition Property="IsSelected" Value="True" />
+ </MultiTrigger.Conditions>
+ <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}" />
+ </MultiTrigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ </ListView.Resources>
+ </ListView>
+ </Border>
+ </Border>
+ <Grid x:Name="ProjectImage" Grid.Column="1" Grid.Row="0" Background="{DynamicResource Background.Static}">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" MinHeight="40"/>
+ <RowDefinition Height="*"/>
+ </Grid.RowDefinitions>
+ <TextBlock Grid.Row="0" Text="{Binding SelectedDescription}" Margin="10" TextWrapping="Wrap"/>
+ <Border Grid.Row="1" BorderThickness="0">
+ <Border Width="126" Height="126" VerticalAlignment="Center" HorizontalAlignment="Center">
+ <Image Stretch="Uniform" Source="{Binding Path=LargeImage}"
+ VerticalAlignment="Center"
+ HorizontalAlignment="Center" />
+ </Border>
+ </Border>
+ </Grid>
+
+ <Border Grid.Row="1" Grid.ColumnSpan="2" Margin="10" >
+ <Grid x:Name="ProjectNameGrid" Grid.Row="1" Grid.ColumnSpan="2">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="110"/>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="240"/>
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="24"/>
+ <RowDefinition Height="5"/>
+ <RowDefinition Height="24"/>
+ <RowDefinition Height="5"/>
+ <RowDefinition Height="24"/>
+ </Grid.RowDefinitions>
+
+ <TextBlock Grid.Column="0" Grid.Row="0">Name:</TextBlock>
+ <TextBox Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" Text="{Binding ProjectName}"/>
+
+ </Grid>
+ </Border>
+ <Border Grid.Row="2" Grid.ColumnSpan="2">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" >
+ <Button Style="{DynamicResource TangoButtonStyle}" IsDefault="True" Width="80" Height="24" Command="{Binding OKCommand}">OK</Button>
+ <Button Margin="8,0,15,0" Style="{DynamicResource TangoButtonStyle}" Width="80" Height="24" Command="{Binding CloseCommand}">Cancel</Button>
+ </StackPanel>
+ </Border>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs
new file mode 100644
index 000000000..83856f4e7
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.Scripting.IDE.Dialogs
+{
+ /// <summary>
+ /// Interaction logic for AddProjectControl.xaml
+ /// </summary>
+ public partial class AddProjectView : UserControl
+ {
+ public AddProjectView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs
new file mode 100644
index 000000000..2d636a6d5
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.SharedUI;
+
+namespace Tango.Scripting.IDE.Dialogs
+{
+ public class AddProjectViewVM : BaseProjectDialogVM
+ {
+ public AddProjectViewVM() : base()
+ {
+ Title = "Add Project";
+ //ProjectName
+ }
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs
index 1dd0e3205..5f2ebcb15 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs
@@ -6,21 +6,24 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media.Imaging;
+using Tango.Core.Commands;
using Tango.Scripting.IDE.ProjectTypes;
using Tango.SharedUI;
namespace Tango.Scripting.IDE.Dialogs
{
- public class NewProjectDialogVM : DialogViewVM
+ public class BaseProjectDialogVM : IDEDialogViewModel
{
+ #region properties
public ObservableCollection<IProjectType> ProjectTypes { get; set; }
- public List<String> Locations { get; set; }
private IProjectType _selectedProjectType = null;
public IProjectType SelectedProjectType
{
get { return _selectedProjectType; }
- set { _selectedProjectType = value;
+ set
+ {
+ _selectedProjectType = value;
RaisePropertyChangedAuto();
RaisePropertyChanged("LargeImage");
RaisePropertyChanged("SelectedDescription");
@@ -57,17 +60,9 @@ namespace Tango.Scripting.IDE.Dialogs
get { return _projectLocation; }
set { _projectLocation = value; RaisePropertyChangedAuto(); }
}
-
- private String _solutionName = "App1";
- public String SolutionName
- {
- get { return _solutionName; }
- set { _solutionName = value; RaisePropertyChangedAuto(); }
- }
-
- bool _isNewSolutionDialog = false;
- public bool IsNewSolutionDialog { get { return _isNewSolutionDialog; } set { _isNewSolutionDialog = value; RaisePropertyChangedAuto(); } }
- public NewProjectDialogVM() : base()
+ #endregion
+ #region constructor
+ public BaseProjectDialogVM() : base()
{
ProjectTypes = new ObservableCollection<IProjectType>();
RegisterProjectType(new StubProjectType());
@@ -76,12 +71,17 @@ namespace Tango.Scripting.IDE.Dialogs
_selectedProjectType = ProjectTypes.FirstOrDefault();
string workingDirectory = Environment.CurrentDirectory;
- _projectLocation = Directory.GetParent(workingDirectory).Parent.Parent.FullName;
-
- Locations = new List<string>();
- Locations.Add(_projectLocation);
+ ProjectLocation = Directory.GetParent(workingDirectory).Parent.Parent.FullName;
+ CanClose = true;
+ CloseCommand = new RelayCommand(Cancel, (x) => CanClose);
+ OKCommand = new RelayCommand(Accept, (x) => CanClose);
}
+ #endregion
+ #region commands
+
+ #endregion
+ #region register_project_types
public void RegisterProjectType(IProjectType projectType)
{
ProjectTypes.Add(projectType);
@@ -91,5 +91,6 @@ namespace Tango.Scripting.IDE.Dialogs
{
ProjectTypes.Remove(projectType);
}
+ #endregion
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs
new file mode 100644
index 000000000..6664e2d9c
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs
@@ -0,0 +1,7 @@
+namespace Tango.Scripting.IDE.Dialogs
+{
+ //internal class CommonOpenFileDialog
+ //{
+ // public string InitialDirectory { get; internal set; }
+ //}
+} \ No newline at end of file
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml
deleted file mode 100644
index 914740ede..000000000
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml
+++ /dev/null
@@ -1,35 +0,0 @@
-<Window x:Class="Tango.Scripting.IDE.Dialogs.NewProjectDialog"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:global="clr-namespace:Tango.Scripting.IDE"
- xmlns:local="clr-namespace:Tango.Scripting.IDE.Dialogs"
- mc:Ignorable="d"
- Title="Add New Project"
- WindowStyle="ToolWindow"
- ResizeMode="NoResize" ShowInTaskbar="False" WindowStartupLocation="CenterScreen"
- FontSize="12"
- Height="630" Width="950" >
- <Window.Resources>
- <ResourceDictionary>
- <ResourceDictionary.MergedDictionaries>
- <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/DarkThemesColors.xaml"/>
- <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/ButtonStyle.xaml"/>
- </ResourceDictionary.MergedDictionaries>
- </ResourceDictionary>
- </Window.Resources>
- <Grid Background="{DynamicResource Window.Background}">
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- <RowDefinition Height="40"/>
- </Grid.RowDefinitions>
- <local:AddNewControl x:Name="AddNewControl" Grid.Row="0" Margin="10,10,10,0"/>
- <Border Grid.Row="1">
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" >
- <Button Style="{DynamicResource TangoButtonStyle}" Click="OKDialog" IsDefault="True" Width="80" Height="24">OK</Button>
- <Button Margin="8,0,15,0" Style="{DynamicResource TangoButtonStyle}" Click="CancelDialog" Width="80" Height="24">Cancel</Button>
- </StackPanel>
- </Border>
- </Grid>
-</Window>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs
deleted file mode 100644
index 24c9511e7..000000000
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace Tango.Scripting.IDE.Dialogs
-{
- /// <summary>
- /// Interaction logic for NewProjectDialog.xaml
- /// </summary>
- public partial class NewProjectDialog : Window
- {
- static string _sAddNewProjectTitle = "Add New Project";
- static string _sNewProjectTitle = "New Project";
- protected bool _bNewProject;
-
-
- public NewProjectDialog(bool bNewProject)
- {
- _bNewProject = bNewProject;
-
- InitializeComponent();
- Title = bNewProject ? _sAddNewProjectTitle : _sNewProjectTitle;
- Loaded += DialogLoaded;
-
-
- }
- private void DialogLoaded(object sender, RoutedEventArgs e)
- {
- if (AddNewControl.DataContext is NewProjectDialogVM)
- {
- (AddNewControl.DataContext as NewProjectDialogVM).IsNewSolutionDialog = _bNewProject;
- }
- }
-
- private void CancelDialog(object sender, RoutedEventArgs e)
- {
- // Dialog box canceled
- DialogResult = false;
- }
-
- private void OKDialog(object sender, RoutedEventArgs e)
- {
- // Don't accept the dialog box if there is invalid data
- // if (!IsValid(this)) return;
-
- // Dialog box accepted
- DialogResult = true;
- }
- }
-}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml
index e49925dad..20a334f3b 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml
@@ -1,4 +1,4 @@
-<UserControl x:Class="Tango.Scripting.IDE.Dialogs.AddNewControl"
+<UserControl x:Class="Tango.Scripting.IDE.Dialogs.NewProjectView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@@ -6,7 +6,9 @@
xmlns:local="clr-namespace:Tango.Scripting.IDE.Dialogs"
mc:Ignorable="d"
xmlns:global="clr-namespace:Tango.Scripting.IDE"
- d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=local:NewProjectDialogVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.NewProjectDialogVM}">
+ d:DesignHeight="450" d:DesignWidth="800"
+ Width="800" Height="600"
+ >
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
@@ -37,7 +39,7 @@
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
- <RowDefinition Height="5"/>
+ <RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Border Background="{DynamicResource Background.Static}" BorderThickness="0" Grid.Column="0" Grid.Row="0" >
<Border BorderThickness="0" Margin="5" Background="{DynamicResource Window.Background}">
@@ -117,16 +119,21 @@
<TextBlock Grid.Column="0" Grid.Row="0">Name:</TextBlock>
<TextBox Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" Text="{Binding ProjectName}"/>
- <TextBlock Grid.Column="0" Grid.Row="2" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}" Text="Location"/>
- <Border Background="{DynamicResource ListBorder}" Grid.Column="1" Grid.Row="2" Margin="0,2,0,2" BorderBrush="{DynamicResource Button.Static.Border}" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}">
+ <TextBlock Grid.Column="0" Grid.Row="2" Text="Location"/>
+ <Border Background="{DynamicResource ListBorder}" Grid.Column="1" Grid.Row="2" Margin="0,2,0,2" BorderBrush="{DynamicResource Button.Static.Border}" >
<ComboBox Style="{DynamicResource TangoComboboxStyle}" VerticalAlignment="Stretch" SelectedItem="{Binding ProjectLocation}" ItemsSource="{Binding Locations}" HorizontalAlignment="Stretch" BorderBrush="Transparent"/>
</Border>
- <Button Style="{DynamicResource TangoButtonStyle}" Grid.Column="2" Grid.Row="2" Width="80" HorizontalAlignment="Left" Margin="20,0,0,0" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}" Content="Browse..."/>
- <TextBlock Grid.Column="0" Grid.Row="4" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}" Text="Solution name:"/>
- <TextBox Grid.Column="1" Grid.Row="4" VerticalAlignment="Center" Text="{Binding SolutionName}" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}"/>
+ <Button Style="{DynamicResource TangoButtonStyle}" Grid.Column="2" Grid.Row="2" Width="80" HorizontalAlignment="Left" Margin="20,0,0,0" Content="Browse..." Command="{Binding BrowseFileCommand}"/>
+ <TextBlock Grid.Column="0" Grid.Row="4" Text="Solution name:"/>
+ <TextBox Grid.Column="1" Grid.Row="4" VerticalAlignment="Center" Text="{Binding SolutionName}" />
</Grid>
</Border>
-
+ <Border Grid.Row="2" Grid.ColumnSpan="2">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" >
+ <Button Style="{DynamicResource TangoButtonStyle}" IsDefault="True" Width="80" Height="24" Command="{Binding OKCommand}">OK</Button>
+ <Button Margin="8,0,15,0" Style="{DynamicResource TangoButtonStyle}" Width="80" Height="24" Command="{Binding CloseCommand}">Cancel</Button>
+ </StackPanel>
+ </Border>
</Grid>
</UserControl>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml.cs
index cdbea2199..5221146d8 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml.cs
@@ -18,9 +18,9 @@ namespace Tango.Scripting.IDE.Dialogs
/// <summary>
/// Interaction logic for AddNewControl.xaml
/// </summary>
- public partial class AddNewControl : UserControl
+ public partial class NewProjectView : UserControl
{
- public AddNewControl()
+ public NewProjectView()
{
InitializeComponent();
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs
new file mode 100644
index 000000000..4b656c98c
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Media.Imaging;
+using Tango.Core.Commands;
+using Tango.Scripting.IDE.ProjectTypes;
+using Tango.SharedUI;
+using Microsoft.WindowsAPICodePack.Dialogs;
+using Microsoft.Win32;
+
+namespace Tango.Scripting.IDE.Dialogs
+{
+ public class NewProjectViewVM : BaseProjectDialogVM
+ {
+
+ static public ObservableCollection<String> Locations { get; set; } = new ObservableCollection<string>();
+
+ private String _solutionName = "App1";
+ public String SolutionName
+ {
+ get { return _solutionName; }
+ set { _solutionName = value; RaisePropertyChangedAuto(); }
+ }
+ #region Commands
+ public RelayCommand BrowseFileCommand { get; set; }
+ #endregion
+ public NewProjectViewVM() : base()
+ {
+ Title = "New Project";
+
+ if(Locations.IndexOf(ProjectLocation) < 0)
+ {
+ Locations.Add(ProjectLocation);
+ }
+ BrowseFileCommand = new RelayCommand(BrowseFile);
+ }
+ private void BrowseFile()
+ {
+ CommonOpenFileDialog dialog = new CommonOpenFileDialog();
+ dialog.InitialDirectory = Locations.LastOrDefault<string>();
+ dialog.IsFolderPicker = true;
+ if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
+ {
+ if( Directory.Exists(dialog.FileName) == true)
+ {
+ if(false == Locations.Contains(dialog.FileName))
+ {
+ Locations.Add(dialog.FileName);
+ }
+ ProjectLocation = dialog.FileName;
+ }
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs
new file mode 100644
index 000000000..7532581b1
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.SharedUI;
+
+namespace Tango.Scripting.IDE
+{
+ public class IDEDialogViewModel : DialogViewVM
+ {
+ public String Title { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEViewModel.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEViewModel.cs
new file mode 100644
index 000000000..ef413f69a
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEViewModel.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core.DI;
+using Tango.Scripting.IDE.Notifications;
+using Tango.SharedUI;
+
+namespace Tango.Scripting.IDE
+{
+ public class IDEViewModel : ViewModel
+ {
+ public INotificationManager NotificationManager { get; set; }
+
+ public IDEViewModel()
+ {
+ TangoIOC.Default.Inject(this);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png
index 7d1b1551a..33e74f508 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png
Binary files differ
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/DefaultNotificationManager.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/DefaultNotificationManager.cs
new file mode 100644
index 000000000..7121e6ce0
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/DefaultNotificationManager.cs
@@ -0,0 +1,94 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Media.Imaging;
+using Tango.Scripting.IDE.Windows;
+using Tango.SharedUI;
+
+namespace Tango.Scripting.IDE.Notifications
+{
+ public class DefaultNotificationManager : INotificationManager
+ {
+ public Task<TViewModel> ShowDialog<TViewModel, TView>(TViewModel viewModel, TView view)
+ where TViewModel : IDEDialogViewModel
+ where TView : FrameworkElement
+ {
+ TaskCompletionSource<TViewModel> source = new TaskCompletionSource<TViewModel>();
+
+ Application.Current.Dispatcher.BeginInvoke(new Action(() =>
+ {
+ DialogWindow window = new DialogWindow();
+ window.Title = viewModel.Title;
+ window.Content = view;
+ view.DataContext = viewModel;
+ window.WindowStartupLocation = WindowStartupLocation.CenterOwner;
+ window.Owner = Application.Current.MainWindow;
+ viewModel.Accepted += () =>
+ {
+ window.Close();
+ source.SetResult(viewModel);
+ };
+ viewModel.Canceled += () =>
+ {
+ window.Close();
+ source.SetResult(viewModel);
+ };
+ window.ShowDialog();
+ }));
+
+ return source.Task;
+ }
+
+ public Task<TViewModel> ShowDialog<TViewModel>(TViewModel viewModel) where TViewModel : IDEDialogViewModel
+ {
+ var modelName = typeof(TViewModel).Name;
+ var viewName = modelName.Replace("VM", "");
+ var viewType = typeof(TViewModel).Assembly.GetType(typeof(TViewModel).Namespace + "." + viewName);
+ var view = Activator.CreateInstance(viewType) as FrameworkElement;
+ return ShowDialog(viewModel, view);
+ }
+
+ public Task<TViewModel> ShowDialog<TViewModel>() where TViewModel : IDEDialogViewModel
+ {
+ return ShowDialog(Activator.CreateInstance<TViewModel>());
+ }
+
+ public Task ShowError(string title, string message)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task ShowInfo(string title, string message)
+ {
+ throw new NotImplementedException();
+ }
+
+ public ProgressNotificationHandler ShowProgress(string title, string message, bool canCancel = false)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task<bool> ShowQuestion(string title, string message)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task ShowSuccess(string title, string message)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task ShowWarning(string title, string message)
+ {
+ throw new NotImplementedException();
+ }
+
+ private Task ShowMessageBox(String title, String message, bool hasCancel, BitmapSource icon)
+ {
+ return null;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/INotificationManager.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/INotificationManager.cs
new file mode 100644
index 000000000..1ed516b28
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/INotificationManager.cs
@@ -0,0 +1,95 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using Tango.SharedUI;
+
+namespace Tango.Scripting.IDE.Notifications
+{
+ /// <summary>
+ /// Represents the IDE notification manager.
+ /// </summary>
+ public interface INotificationManager
+ {
+ /// <summary>
+ /// Displays the specified TView as a dialog and TViewModel as it's data context.
+ /// </summary>
+ /// <typeparam name="TViewModel">The type of the view model.</typeparam>
+ /// <typeparam name="TView">The type of the view.</typeparam>
+ /// <param name="viewModel">The view model.</param>
+ /// <param name="view">The view.</param>
+ /// <returns></returns>
+ Task<TViewModel> ShowDialog<TViewModel, TView>(TViewModel viewModel, TView view) where TViewModel : IDEDialogViewModel where TView : FrameworkElement;
+
+ /// <summary>
+ /// Finds (by convention )the appropriate view by the specified TViewModel name.
+ /// The search pattern is ViewVM - VM + View.
+ /// </summary>
+ /// <typeparam name="TViewModel">The type of the view model.</typeparam>
+ /// <param name="viewModel">The view model.</param>
+ /// <returns></returns>
+ Task<TViewModel> ShowDialog<TViewModel>(TViewModel viewModel) where TViewModel : IDEDialogViewModel;
+
+ /// <summary>
+ /// Finds (by convention )the appropriate view by the specified TViewModel name.
+ /// The search pattern is ViewVM - VM + View.
+ /// The view model instance will be created automatically and must contain a parameterless constructor.
+ /// </summary>
+ /// <typeparam name="TViewModel">The type of the view model.</typeparam>
+ /// <param name="viewModel">The view model.</param>
+ /// <returns></returns>
+ Task<TViewModel> ShowDialog<TViewModel>() where TViewModel : IDEDialogViewModel;
+
+ /// <summary>
+ /// Displays an error message.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ Task ShowError(String title, String message);
+
+ /// <summary>
+ /// Displays an error message.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ Task ShowInfo(String title, String message);
+
+ /// <summary>
+ /// Displays a warning message.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ Task ShowWarning(String title, String message);
+
+ /// <summary>
+ /// Displays a positive message.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ Task ShowSuccess(String title, String message);
+
+ /// <summary>
+ /// Displays a question and returns the result.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ Task<bool> ShowQuestion(String title, String message);
+
+ /// <summary>
+ /// Displays an intermediate progress dialog and returns an instance of <see cref="ProgressNotificationHandler"/>.
+ /// Once the progress notification handler will be disposed the dialog will close.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <param name="canCancel">if set to <c>true</c> the dialog will contain a cancel button.</param>
+ /// <returns></returns>
+ ProgressNotificationHandler ShowProgress(String title, String message, bool canCancel = false);
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/ProgressNotificationHandler.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/ProgressNotificationHandler.cs
new file mode 100644
index 000000000..b36419400
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/ProgressNotificationHandler.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.Scripting.IDE.Notifications
+{
+ public class ProgressNotificationHandler : IDisposable
+ {
+ private Action _disposeAction;
+
+ public ProgressNotificationHandler(Action disposeAction)
+ {
+ _disposeAction = disposeAction;
+ }
+
+ public void Dispose()
+ {
+ _disposeAction?.Invoke();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml
index 7dbf5541f..67a673d3b 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml
@@ -23,7 +23,7 @@
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
- <Menu Grid.Row="0" HorizontalAlignment="Stretch" Margin="0,0,0,0" Style="{DynamicResource TangoMenuStyle}">
+ <Menu Grid.Row="0" HorizontalAlignment="Stretch" Margin="2,0,0,0" Style="{DynamicResource TangoMenuStyle}" BorderBrush="Transparent">
<MenuItem Header="File">
<MenuItem Header="New">
<MenuItem Header="New Project..." Command="{Binding NewProjectCommand}">
@@ -47,13 +47,17 @@
</MenuItem>
<MenuItem Header="SaveAll">
<MenuItem.Icon>
- <Image Source="/Tango.Scripting.IDE;component/Images/Images/SaveAll_16x.png" Height="10"/>
+ <Image Source="/Tango.Scripting.IDE;component/Images/SaveAll_16x.png" Height="10"/>
</MenuItem.Icon>
</MenuItem>
<Separator/>
<MenuItem Header="Exit"></MenuItem>
</MenuItem>
- <MenuItem Header="Edit"></MenuItem>
+ <MenuItem Header="Edit">
+ <MenuItem Header="Cut"/>
+ <MenuItem Header="Copy"/>
+ <MenuItem Header="Paste"/>
+ </MenuItem>
<MenuItem Header="View"></MenuItem>
<MenuItem Header="Project"></MenuItem>
<MenuItem Header="Build"></MenuItem>
@@ -62,26 +66,52 @@
<MenuItem Header="Theme"></MenuItem>
</Menu>
<ToolBarTray Grid.Row="1" Background="{DynamicResource Background.Static}" Width="Auto" Orientation="Horizontal">
- <ToolBar Style="{DynamicResource TangoToolBarStyle}" Background="{DynamicResource Background.Static}" Height="30" HorizontalAlignment="Left" Foreground="{DynamicResource ControlForegroundKey}">
-
- <Button Click="Button_Click" ToolTip="New Project">
- <Image Source="/Tango.Scripting.IDE;component/Images/NewFileCollection_16x.png" Height="16"/>
+ <ToolBar Style="{DynamicResource TangoToolBarStyle}" Background="{DynamicResource Background.Static}" Height="30" HorizontalAlignment="Left" Foreground="{DynamicResource ControlForegroundKey}" Margin="0,0,0,6">
+ <ToolBar.Resources>
+ <Style TargetType="{x:Type Button}">
+ <Setter Property="Width" Value="26"/>
+ <Style.Triggers>
+ <Trigger Property="IsMouseOver" Value="False">
+ <Setter Property="Background" Value="Transparent" />
+ <Setter Property="Opacity" Value="1.0" />
+ </Trigger>
+ <EventTrigger RoutedEvent="MouseLeave">
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="1"></DoubleAnimation>
+ </Storyboard>
+ </BeginStoryboard>
+ </EventTrigger>
+ <EventTrigger RoutedEvent="MouseEnter">
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="0.2"></DoubleAnimation>
+ </Storyboard>
+ </BeginStoryboard>
+ </EventTrigger>
+ </Style.Triggers>
+ </Style>
+ </ToolBar.Resources>
+
+ <Button Click="Button_Click" ToolTip="New Project" Style="{DynamicResource TangoToolBarButtonStyle}" >
+ <Image Source="/Tango.Scripting.IDE;component/Images/NewFileCollection_16x.png" Height="16" Width="16"/>
+
</Button>
- <Button Click="Button_Click" ToolTip="Open File">
- <Image Source="/Tango.Scripting.IDE;component/Images/OpenFolder_16x.png" Height="16"/>
+ <Button Click="Button_Click" ToolTip="Open File" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/OpenFolder_16x.png" Height="16" Width="16"/>
</Button>
- <Button Click="Button_Click" ToolTip="Save File">
- <Image Source="/Tango.Scripting.IDE;component/Images/Save_16x.png" Height="16"/>
+ <Button Click="Button_Click" ToolTip="Save File" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Save_16x.png" Height="16" Width="16"/>
</Button>
- <Button Click="Button_Click" ToolTip="Save All">
- <Image Source="/Tango.Scripting.IDE;component/Images/SaveAll_16x.png" Height="16"/>
+ <Button Click="Button_Click" ToolTip="Save All" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/SaveAll_16x.png" Height="16" Width="16"/>
</Button>
<Separator ></Separator>
- <Button Click="Button_Click" ToolTip="Undo">
- <Image Source="/Tango.Scripting.IDE;component/Images/Undo_16x.png" Height="16"/>
+ <Button Click="Button_Click" ToolTip="Undo" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Undo_16x.png" Height="16" Width="16"/>
</Button>
- <Button Click="Button_Click" ToolTip="Redo">
- <Image Source="/Tango.Scripting.IDE;component/Images/Redo_16x.png" Height="16"/>
+ <Button Click="Button_Click" ToolTip="Redo" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Redo_16x.png" Height="16" Width="16"/>
</Button>
<ComboBox Style="{DynamicResource TangoComboboxStyle}" Margin="2" x:Name="cmb2" SelectedIndex="0" HorizontalContentAlignment="Stretch" Width="100" >
<ComboBoxItem IsSelected="True">Debug</ComboBoxItem>
@@ -89,54 +119,65 @@
<ComboBoxItem>Configuration Manager...</ComboBoxItem>
</ComboBox>
<Separator ></Separator>
- <ToggleButton x:Name="Run_Button" Command="{Binding RunProject}" IsChecked="False">
+ <ToggleButton x:Name="Run_Button" Command="{Binding RunProject}" IsChecked="{Binding IsRunProject, Mode=TwoWay}" ToolTip="Start">
<ToggleButton.Template>
<ControlTemplate TargetType="{x:Type ToggleButton}">
- <StackPanel Orientation="Horizontal" >
- <Path x:Name="RunArrow"
+ <Grid>
+ <Rectangle x:Name="background" Fill="Transparent" Opacity="1"/>
+ <StackPanel Orientation="Horizontal" >
+ <Path x:Name="RunArrow"
HorizontalAlignment="Left" VerticalAlignment="Center"
Width="12" Height="10" Margin="2,0,0,0"
Stretch="Fill" Fill="#FF8DD28A"
RenderTransformOrigin="0.6,0.4"
Data="M0,0 L1,0 0.5,1 z" >
- <Path.RenderTransform>
- <TransformGroup>
- <ScaleTransform/>
- <SkewTransform/>
- <RotateTransform Angle="270"/>
- <TranslateTransform/>
- </TransformGroup>
- </Path.RenderTransform>
- </Path>
- <TextBlock x:Name="Run_Text" Margin="8,0,4,0" Text="Start" VerticalAlignment="Center"/>
- </StackPanel>
- <ControlTemplate.Triggers>
+ <Path.RenderTransform>
+ <TransformGroup>
+ <ScaleTransform/>
+ <SkewTransform/>
+ <RotateTransform Angle="270"/>
+ <TranslateTransform/>
+ </TransformGroup>
+ </Path.RenderTransform>
+ </Path>
+ <TextBlock x:Name="Run_Text" Margin="8,0,4,0" Text="Start" VerticalAlignment="Center"/>
+ </StackPanel>
+ </Grid>
+ <ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
- <Setter Property="Foreground" TargetName="Run_Text" Value="{DynamicResource Inactive.Selection}"/>
- <Setter Property="Fill" TargetName="RunArrow" Value="{DynamicResource Inactive.Selection}"/>
+ <Setter Property="Foreground" TargetName="Run_Text" Value="{DynamicResource ToggleButton.Checked.Foreground}"/>
+ <Setter Property="Fill" TargetName="RunArrow" Value="{DynamicResource ToggleButton.Checked.Foreground}"/>
<Setter Property="Text" TargetName="Run_Text" Value="Continue"/>
+ <Setter Property="ToggleButton.ToolTip" Value="Continue"/>
</Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </ToggleButton.Template>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="IsChecked" Value="False" />
+ <Condition Property="IsMouseOver" Value="True" />
+ </MultiTrigger.Conditions>
+ <Setter Property="Fill" TargetName="background" Value="{DynamicResource Toolbar.Button.MaouseMove.Background}"/>
+ </MultiTrigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </ToggleButton.Template>
</ToggleButton>
- <Button Click="Button_Click" ToolTip="Pause" Visibility="{Binding IsChecked, ElementName=Run_Button, Converter={StaticResource BoolToVis}}">
- <Image Source="/Tango.Scripting.IDE;component/Images/Pause_16x.png" Height="16"/>
+ <Button Click="Button_Click" ToolTip="Pause" Visibility="{Binding IsChecked, ElementName=Run_Button, Converter={StaticResource BoolToVis}}" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Pause_16x.png" Height="16" Width="16"/>
</Button>
- <Button Click="Button_Click" ToolTip="Stop" Visibility="{Binding IsChecked, ElementName=Run_Button, Converter={StaticResource BoolToVis}}">
- <Image Source="/Tango.Scripting.IDE;component/Images/stop.png" Height="16"/>
+ <Button x:Name="StopButton" ToolTip="Stop" Command="{Binding StopProject}" Visibility="{Binding IsChecked, ElementName=Run_Button, Converter={StaticResource BoolToVis}}" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/stop.png" Height="16" Width="16"/>
</Button>
-
</ToolBar>
</ToolBarTray>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
+ <ColumnDefinition Width="15" />
<ColumnDefinition Width="1*" MinWidth="100" />
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="300" MinWidth="20" />
</Grid.ColumnDefinitions>
- <Grid>
+ <Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="1*" MinHeight="100" />
<RowDefinition Height="5"/>
@@ -161,38 +202,69 @@
<GridSplitter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="1" Background="{DynamicResource Background.Static}" />
<Grid Grid.Row="2" Background="{DynamicResource Background.Static}">
- <Border BorderThickness="0" Margin="1,0,0,2">
+ <!--<Border BorderThickness="0" Margin="1,0,0,2">-->
<TabControl TabStripPlacement="Bottom" Style="{DynamicResource TangoTabControlStyle}">
<TabItem Header="Error list">
- <DataGrid Background="{DynamicResource TabItem.Content.Static}" Style="{DynamicResource TangoDataGridStyle}" Padding="2,5,2,0"
- ColumnHeaderStyle="{DynamicResource TangoDataGridColumnHeaderStyle}" ItemsSource="{Binding ErrorList}"
- CanUserSortColumns="True"
- CanUserResizeColumns="True"
- IsReadOnly="True"/>
+ <GroupBox Header="Error List" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" Margin="-1">
+ <DataGrid Background="{DynamicResource TabItem.Content.Static}" Style="{DynamicResource TangoDataGridStyle}" Padding="2,5,2,0"
+ ColumnHeaderStyle="{DynamicResource TangoDataGridColumnHeaderStyle}" ItemsSource="{Binding ErrorList}"
+ CanUserSortColumns="True" CanUserResizeColumns="True" IsReadOnly="True"/>
+ </GroupBox>
</TabItem>
<TabItem Header="Output">
- <ListBox ScrollViewer.VerticalScrollBarVisibility="Visible"
- ScrollViewer.HorizontalScrollBarVisibility="Visible">
-
- </ListBox>
+ <GroupBox Header="Output" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" Margin="-1">
+ <TextBox TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" AcceptsReturn="True" Name="OutputText" Background="{DynamicResource TabItem.Content.Static}" />
+ </GroupBox>
</TabItem>
</TabControl>
- </Border>
+ <!--</Border>-->
</Grid>
</Grid>
- <GridSplitter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="1" Background="{DynamicResource Background.Static}" />
+ <GridSplitter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="2" Background="{DynamicResource Background.Static}" />
- <Grid Grid.Column="2">
- <GroupBox Margin="0,0,5,5" Header="Solution Explorer" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" >
- <TreeView Style="{DynamicResource TangoTreeViewStyle}" ItemsSource="{Binding Solution.Projects}" Background="{DynamicResource TabItem.Content.Static}" Padding="0,8,0,0">
+ <Grid Grid.Column="3">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="1*" MinHeight="100"/>
+ <RowDefinition Height="5"/>
+ <RowDefinition Height="100" MinHeight="20"/>
+ <RowDefinition Height="4"/>
+ </Grid.RowDefinitions>
+ <GroupBox Grid.Row="0" Margin="0,0,5,0" Header="Solution Explorer" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" >
+ <TreeView Style="{DynamicResource TangoTreeViewStyle}" x:Name="SolutionTree" ItemsSource="{Binding Solution.Projects}" Background="{DynamicResource TabItem.Content.Static}" Padding="0,8,0,0" SelectedItemChanged="TreeViewControl_SelectedItemChanged" PreviewMouseRightButtonDown="SolutionTree_PreviewMouseRightButtonDown" >
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Items}" DataType="{x:Type local:IProject}">
<controls:SolutionItemControl SolutionItem="{Binding}" OpenCommand="{Binding ElementName=control,Path=DataContext.OpenProjectItemCommand}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
+ <TreeView.Resources>
+ <ContextMenu x:Key ="SolutionContext" StaysOpen="true" BorderBrush="{DynamicResource Background.Static}" Foreground="{DynamicResource ControlForegroundKey}">
+ <MenuItem Header="Add" >
+ <MenuItem Header="New Project..." Command="{Binding AddProjectCommand}"/>
+ </MenuItem>
+ <MenuItem Header="Rename"/>
+ </ContextMenu>
+ <ContextMenu x:Key="FolderContext" StaysOpen="true" >
+ <MenuItem Header="Rename"/>
+ <MenuItem Header="Remove"/>
+ <Separator/>
+ <MenuItem Header="Copy"/>
+ <MenuItem Header="Cut"/>
+ <MenuItem Header="Paste"/>
+ <MenuItem Header="Move"/>
+ </ContextMenu>
+ </TreeView.Resources>
+
</TreeView>
</GroupBox>
+ <GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{DynamicResource Background.Static}" />
+ <GroupBox Grid.Row="2" Margin="0,0,5,2" Header="Properties" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" >
+ <!--<Border BorderThickness="0" Margin="1,0,0,2">-->
+ <DataGrid Background="{DynamicResource TabItem.Content.Static}" Style="{DynamicResource TangoDataGridStyle}" Padding="2,5,2,0"
+ ColumnHeaderStyle="{DynamicResource TangoDataGridColumnHeaderStyle}" ItemsSource="{Binding ErrorList}"
+ CanUserSortColumns="True" CanUserResizeColumns="True" IsReadOnly="True"/>
+ <!--</Border>-->
+ </GroupBox>
</Grid>
</Grid>
</Grid>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs
index 27251851c..5e4509beb 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs
@@ -57,5 +57,37 @@ namespace Tango.Scripting.IDE
{
MessageBox.Show("I am here");
}
+ private void TreeViewControl_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
+ {
+
+ IProject SelectedItem = SolutionTree.SelectedItem as IProject;
+ if(SelectedItem != null && DataContext is ScriptIDEViewVM && ((ScriptIDEViewVM)DataContext).IsSolutionProject(SelectedItem))
+ {
+ SolutionTree.ContextMenu = SolutionTree.Resources["SolutionContext"] as System.Windows.Controls.ContextMenu;
+ }
+ else
+ {
+ SolutionTree.ContextMenu = SolutionTree.Resources["FolderContext"] as System.Windows.Controls.ContextMenu;
+ }
+ }
+
+ private void SolutionTree_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
+ {
+ TreeViewItem treeViewItem = VisualUpwardSearch(e.OriginalSource as DependencyObject);
+
+ if (treeViewItem != null)
+ {
+ //treeViewItem.Focus();
+ treeViewItem.IsSelected = true;
+ e.Handled = true;
+ }
+ }
+ static TreeViewItem VisualUpwardSearch(DependencyObject source)
+ {
+ while (source != null && !(source is TreeViewItem))
+ source = VisualTreeHelper.GetParent(source);
+
+ return source as TreeViewItem;
+ }
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs
index 3fc0ce0e1..d8a744fea 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs
@@ -1,20 +1,24 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
+using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
+using System.Windows.Controls;
using System.Windows.Media.Imaging;
using Tango.Core.Commands;
using Tango.Scripting.IDE.Controls;
+using Tango.Scripting.IDE.Dialogs;
+using Tango.Scripting.IDE.Notifications;
using Tango.Scripting.IDE.Projects;
using Tango.Scripting.IDE.ProjectTypes;
using Tango.SharedUI;
namespace Tango.Scripting.IDE
{
- public class ScriptIDEViewVM : ViewModel
+ public class ScriptIDEViewVM : IDEViewModel
{
private List<IProjectType> _projectTypes;
public ObservableCollection<ErrorData> ErrorList { get; set; }
@@ -48,21 +52,34 @@ namespace Tango.Scripting.IDE
get { return _openProjectItems; }
set { _openProjectItems = value; RaisePropertyChangedAuto(); }
}
-
+ private bool _isRunProject = false;
+ public bool IsRunProject
+ {
+ get { return _isRunProject; }
+ set
+ {
+ if (_isRunProject != value)
+ {
+ _isRunProject = value; RaisePropertyChangedAuto();
+ }
+ }
+ }
#endregion
#region Commands
public RelayCommand NewProjectCommand { get; set; }
+ public RelayCommand AddProjectCommand { get; set; }
public RelayCommand<IProjectItem> OpenProjectItemCommand { get; set; }
public RelayCommand<IProjectItem> CloseProjectItemCommand { get; set; }
public RelayCommand RunProject { get; set; }
+ public RelayCommand StopProject { get; set; }
#endregion
#region Constructors
- public ScriptIDEViewVM()
+ public ScriptIDEViewVM() : base()
{
_projectTypes = new List<IProjectType>();
OpenProjectItems = new ObservableCollection<IProjectItem>();
@@ -76,14 +93,22 @@ namespace Tango.Scripting.IDE
//Init Commands
NewProjectCommand = new RelayCommand(AddNewProject);
+ AddProjectCommand = new RelayCommand(AddProject);
OpenProjectItemCommand = new RelayCommand<IProjectItem>(OpenProjectItem);
CloseProjectItemCommand = new RelayCommand<IProjectItem>(CloseProjectItem);
RunProject = new RelayCommand(RunProjectCommand);
+ StopProject = new RelayCommand(StopRunProjectCommand);
+
+ NotificationManager = new DefaultNotificationManager();
}
private void RunProjectCommand(object obj)
{
- MessageBox.Show("You said: RunProjectCommand");
+ // MessageBox.Show("You said: RunProjectCommand");
+ }
+ private void StopRunProjectCommand(object obj)
+ {
+ IsRunProject = false;
}
#endregion
@@ -119,14 +144,36 @@ namespace Tango.Scripting.IDE
/// <summary>
/// Open a dialog to create a new project
/// </summary>
- private void AddNewProject()
+ private async void AddNewProject()
{
- Dialogs.NewProjectDialog dialog = new Dialogs.NewProjectDialog(true);
- if(dialog.ShowDialog() == true)
+ var vm = await NotificationManager.ShowDialog<NewProjectViewVM>();
+
+ if (vm.DialogResult)
{
- MessageBox.Show("You said: OK");
+
}
}
+ private async void AddProject()
+ {
+ var vm = await NotificationManager.ShowDialog<AddProjectViewVM>(new AddProjectViewVM()
+ {
+ //ProjectLocation = Directory.GetParent(Environment.CurrentDirectory).Parent.Parent.FullName
+ //ProjectLocation = Path.GetDirectoryName(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase))
+ //ProjectLocation = "Current Solution folder..."
+ });
+
+ if (vm.DialogResult)
+ {
+
+ }
+ }
+ public bool IsSolutionProject(IProject SelectedItem)
+ {
+ if (SelectedItem is StubProject)
+ return true;
+ return false;
+
+ }
#endregion
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj
index 0c53ed629..ea47eb8f7 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj
@@ -37,6 +37,12 @@
<Reference Include="MahApps.Metro, Version=1.5.0.23, Culture=neutral, PublicKeyToken=f4fb5a3c4d1e5b4f, processorArchitecture=MSIL">
<HintPath>..\packages\MahApps.Metro.1.5.0\lib\net45\MahApps.Metro.dll</HintPath>
</Reference>
+ <Reference Include="Microsoft.WindowsAPICodePack">
+ <HintPath>..\..\..\packages\WindowsAPICodePack-Core.1.1.1\lib\Microsoft.WindowsAPICodePack.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.WindowsAPICodePack.Shell">
+ <HintPath>..\..\..\packages\WindowsAPICodePack-Shell.1.1.1\lib\Microsoft.WindowsAPICodePack.Shell.dll</HintPath>
+ </Reference>
<Reference Include="PresentationFramework.Aero2" />
<Reference Include="System" />
<Reference Include="System.Data" />
@@ -70,15 +76,24 @@
<Compile Include="Controls\SharedResourceDictionary.cs" />
<Compile Include="Controls\SolutionItemControl.cs" />
<Compile Include="Controls\TabConrolClose.cs" />
- <Compile Include="Dialogs\AddNewControl.xaml.cs">
- <DependentUpon>AddNewControl.xaml</DependentUpon>
+ <Compile Include="Converters\LeftMarginMultiplierConverter.cs" />
+ <Compile Include="Dialogs\CommonOpenFileDialog.cs" />
+ <Compile Include="Dialogs\NewProjectView.xaml.cs">
+ <DependentUpon>NewProjectView.xaml</DependentUpon>
</Compile>
- <Compile Include="Dialogs\NewProjectDialog.xaml.cs">
- <DependentUpon>NewProjectDialog.xaml</DependentUpon>
+ <Compile Include="Dialogs\AddProjectView.xaml.cs">
+ <DependentUpon>AddProjectView.xaml</DependentUpon>
</Compile>
- <Compile Include="Dialogs\NewProjectDialogVM.cs" />
+ <Compile Include="Dialogs\AddProjectViewVM.cs" />
+ <Compile Include="Dialogs\BaseProjectDialogVM.cs" />
+ <Compile Include="Dialogs\NewProjectViewVM.cs" />
+ <Compile Include="IDEDialogViewModel.cs" />
+ <Compile Include="IDEViewModel.cs" />
<Compile Include="IProjectType.cs" />
<Compile Include="ISolutionItem.cs" />
+ <Compile Include="Notifications\DefaultNotificationManager.cs" />
+ <Compile Include="Notifications\INotificationManager.cs" />
+ <Compile Include="Notifications\ProgressNotificationHandler.cs" />
<Compile Include="ProjectItem.cs" />
<Compile Include="ProjectItemsViews\CSharpScriptItemView.xaml.cs">
<DependentUpon>CSharpScriptItemView.xaml</DependentUpon>
@@ -104,11 +119,14 @@
<Compile Include="Solution.cs" />
<Compile Include="Projects\StubProject.cs" />
<Compile Include="ViewModelLocator.cs" />
- <Page Include="Dialogs\AddNewControl.xaml">
+ <Compile Include="Windows\DialogWindow.xaml.cs">
+ <DependentUpon>DialogWindow.xaml</DependentUpon>
+ </Compile>
+ <Page Include="Dialogs\NewProjectView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
- <Page Include="Dialogs\NewProjectDialog.xaml">
+ <Page Include="Dialogs\AddProjectView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
@@ -176,6 +194,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Windows\DialogWindow.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs">
@@ -224,9 +246,7 @@
<ItemGroup>
<Resource Include="Images\StubProject.png" />
</ItemGroup>
- <ItemGroup>
- <Folder Include="Converters\" />
- </ItemGroup>
+ <ItemGroup />
<ItemGroup>
<Resource Include="Images\Save_16x.png" />
</ItemGroup>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml
index 21ed3b4b8..f30adc85d 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml
@@ -31,7 +31,6 @@
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.MouseOver.Border}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
- <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.MouseOver.Background}"/>
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.MouseOver.Border}"/>
</Trigger>
<Trigger Property="IsPressed" Value="true">
@@ -48,5 +47,35 @@
</Setter.Value>
</Setter>
</Style>
-
+ <Style x:Key="TangoToolBarButtonStyle" TargetType="{x:Type Button}">
+ <Setter Property="Width" Value="26"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
+ <Grid>
+ <Rectangle x:Name="background" Fill="Transparent" Opacity="1"/>
+ <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+ </Grid>
+ </Border>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsDefaulted" Value="true">
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
+ </Trigger>
+ <Trigger Property="IsMouseOver" Value="true">
+ <Setter Property="Fill" TargetName="background" Value="{DynamicResource Toolbar.Button.MaouseMove.Background}"/>
+ </Trigger>
+ <Trigger Property="IsPressed" Value="true">
+ <Setter Property="Fill" TargetName="background" Value="{DynamicResource ControlBrushColorKey}"/>
+ </Trigger>
+ <Trigger Property="IsEnabled" Value="false">
+ <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.Disabled.Background}"/>
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.Disabled.Border}"/>
+ <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{DynamicResource Button.Disabled.Foreground}"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
</ResourceDictionary> \ No newline at end of file
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml
index 011b26c0d..caab88ef1 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml
@@ -21,6 +21,7 @@
<SolidColorBrush x:Key="HighlightTextBrushKey" Color="#FFF0F0F0"/>
<SolidColorBrush x:Key="ListBorder" Color="#FF3F3F46"/>
<SolidColorBrush x:Key="Inactive.Selection" Color="#FF444444"/>
+ <SolidColorBrush x:Key="ContextMenu.MouseOverColor" Color="#FF333334"/>
<SolidColorBrush x:Key="TabItem.Selected.Background" Color="#FF007ACC"/>
@@ -93,5 +94,7 @@
<SolidColorBrush x:Key="Button.Disabled.Background" Color="#FF252526"/>
<SolidColorBrush x:Key="Button.Disabled.Border" Color="#FF434346"/>
<SolidColorBrush x:Key="Button.Disabled.Foreground" Color="#FF434346"/>
+ <SolidColorBrush x:Key="Toolbar.Button.MaouseMove.Background" Color="#FF3E3E40"/>
+ <SolidColorBrush x:Key="ToggleButton.Checked.Foreground" Color="#FF4E4E50"/>
</ResourceDictionary> \ No newline at end of file
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml
index b2c3fd965..f51a50b50 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml
@@ -15,7 +15,7 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Menu}">
- <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
+ <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
</ControlTemplate>
@@ -49,11 +49,15 @@
<!-- TopLevelHeader -->
<ControlTemplate x:Key="{x:Static MenuItem.TopLevelHeaderTemplateKey}" TargetType="{x:Type MenuItem}">
<Grid x:Name="Border" Background="Transparent" Margin="0,2,0,2">
+
<Rectangle x:Name="Bg" Fill="Transparent" />
<Rectangle x:Name="Inner_Border" Margin="4" Fill="Transparent"/>
<ContentPresenter Margin="8,2,8,2" ContentSource="Header" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
- <Popup x:Name="Popup" Placement="Bottom" IsOpen="{TemplateBinding IsSubmenuOpen}" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade">
- <Border x:Name="SubmenuBorder" BorderBrush="Transparent" BorderThickness="0" Background="{DynamicResource Menu.Background}" Padding="2">
+ <Popup x:Name="Popup" Placement="Bottom" IsOpen="{TemplateBinding IsSubmenuOpen}" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade" HorizontalOffset="2">
+ <Border x:Name="SubmenuBorder" BorderBrush="{DynamicResource MenuItemHighlightedBackground}" BorderThickness="1" Background="{DynamicResource Menu.Background}" Padding="2" Margin="0,0,8,8">
+ <Border.Effect>
+ <DropShadowEffect BlurRadius="6" Opacity="0.5" ShadowDepth="4" Direction="330"/>
+ </Border.Effect>
<Grid RenderOptions.ClearTypeHint="Enabled" Background="Transparent">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Cycle" Grid.IsSharedSizeScope="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" KeyboardNavigation.TabNavigation="Cycle"/>
</Grid>
@@ -68,7 +72,7 @@
<Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/>
</Trigger>
<Trigger SourceName="Popup" Property="AllowsTransparency" Value="True">
- <Setter TargetName="SubmenuBorder" Property="CornerRadius" Value="0,0,4,4" />
+ <Setter TargetName="SubmenuBorder" Property="CornerRadius" Value="0,0,0,0" />
<Setter TargetName="SubmenuBorder" Property="Padding" Value="0,0,0,3" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
@@ -120,7 +124,10 @@
<TextBlock Grid.Column="2" Margin="10,0,0,0" Text="{TemplateBinding InputGestureText}" VerticalAlignment="Center"/>
<Path x:Name="RightArrow" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" Data="M 0 0 L 0 7 L 4 3.5 Z" Fill="{DynamicResource Grip.Submenu.Background.Static}" Margin="8,0,0,0"/>
<Popup x:Name="popup" PlacementTarget="{Binding ElementName=_grid}" Placement="Right" HorizontalOffset="0" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade">
- <Border x:Name="SubmenuBorder" SnapsToDevicePixels="True" Background="{DynamicResource Menu.Submenu.Background}" BorderThickness="0" BorderBrush="#49a3e1">
+ <Border x:Name="SubmenuBorder" SnapsToDevicePixels="True" Background="{DynamicResource Menu.Submenu.Background}" BorderThickness="1" BorderBrush="{DynamicResource MenuItemHighlightedBackground}" Margin="0,0,10,10">
+ <Border.Effect>
+ <DropShadowEffect BlurRadius="6" Opacity="0.5" ShadowDepth="4" Direction="330" />
+ </Border.Effect>
<ItemsPresenter x:Name="_items" />
</Border>
</Popup>
@@ -134,6 +141,7 @@
<Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/>
<Setter Property="Fill" TargetName="Inner_Border" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/>
<Setter TargetName="RightArrow" Property="Fill" Value="{DynamicResource Grip.Submenu.Background.Selected}"/>
+
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource Menu.Disable.Foreground}"/>
@@ -181,4 +189,41 @@
</Setter.Value>
</Setter>
</Style>
+
+ <Style TargetType="{x:Type ContextMenu}">
+ <Setter Property="SnapsToDevicePixels" Value="True" />
+ <Setter Property="OverridesDefaultStyle" Value="True" />
+ <Setter Property="Grid.IsSharedSizeScope" Value="true" />
+ <Setter Property="HasDropShadow" Value="True" />
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"></Setter>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type ContextMenu}">
+ <Border x:Name="Border" Background="{DynamicResource Background.Static}" BorderThickness="1" BorderBrush="{DynamicResource Inactive.Selection}">
+ <Border.Effect>
+ <DropShadowEffect Color="Black" Direction="135" Opacity="0.8" ShadowDepth="2"/>
+ </Border.Effect>
+ <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/>
+ </Border>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsMouseOver" Value="true">
+ <Setter TargetName="Border" Property="Background" Value="{DynamicResource Menu.Submenu.Background}" />
+ <Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource ContextMenu.MouseOverColor}" />
+ </Trigger>
+ <Trigger Property="HasDropShadow" Value="true">
+ <Setter TargetName="Border" Property="Padding" Value="0,3,0,3" />
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ <Style.Resources>
+ <Style TargetType="{x:Type MenuItem}">
+ <Setter Property="Background" Value="{DynamicResource Menu.Submenu.Background}"></Setter>
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"></Setter>
+ <Setter Property="Margin" Value="1,0,1,0"></Setter>
+ </Style>
+ </Style.Resources>
+ </Style>
+
</ResourceDictionary> \ No newline at end of file
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml
index 2cc24d31e..6223934b5 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml
@@ -188,6 +188,38 @@
<Setter Property="Background" Value="{DynamicResource ControlBrushColorKey}"/>
</DataTrigger>
</Style.Triggers>
+ <Style.Resources>
+ <Style TargetType="{x:Type Button}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
+ <Grid>
+ <Rectangle x:Name="background" Fill="Transparent" Opacity="1"/>
+ <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+ </Grid>
+ </Border>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsDefaulted" Value="true">
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
+ </Trigger>
+ <Trigger Property="IsMouseOver" Value="true">
+ <Setter Property="Fill" TargetName="background" Value="{DynamicResource Toolbar.Button.MaouseMove.Background}"/>
+ </Trigger>
+ <Trigger Property="IsPressed" Value="true">
+ <Setter Property="Fill" TargetName="background" Value="{DynamicResource ControlBrushColorKey}"/>
+ </Trigger>
+ <Trigger Property="IsEnabled" Value="false">
+ <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.Disabled.Background}"/>
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.Disabled.Border}"/>
+ <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{DynamicResource Button.Disabled.Foreground}"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ </Style.Resources>
</Style>
<Style x:Key="{x:Static ToolBar.SeparatorStyleKey}" TargetType="{x:Type Separator}">
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml
index f37744004..4814368d0 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml
@@ -1,6 +1,7 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes">
+ xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"
+ xmlns:conv="clr-namespace:Tango.Scripting.IDE.Converters">
<Style x:Key="TangoTreeViewStyle" TargetType="{x:Type TreeView}">
<Setter Property="Background" Value="{DynamicResource TreeBackgroundColor}"/>
<Setter Property="BorderBrush" Value="{DynamicResource ListBorder}"/>
@@ -104,22 +105,23 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TreeViewItem}">
- <Grid x:Name="GridTreeItem">
- <Grid.ColumnDefinitions>
- <ColumnDefinition MinWidth="19" Width="Auto"/>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- <RowDefinition/>
- </Grid.RowDefinitions>
- <ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
- <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Column="1" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
- <ContentPresenter x:Name="PART_Header" ContentSource="Header" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
+ <ControlTemplate.Resources>
+ <conv:LeftMarginMultiplierConverter Length="19" x:Key="lengthConverter" />
+ </ControlTemplate.Resources>
+ <StackPanel>
+ <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
+ <Grid x:Name="GridTreeItem" Margin="{Binding Converter={StaticResource lengthConverter},
+ RelativeSource={RelativeSource TemplatedParent}}">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition MinWidth="19" Width="Auto"/>
+ <ColumnDefinition Width="*"/>
+ </Grid.ColumnDefinitions>
+ <ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
+ <ContentPresenter x:Name="PART_Header" ContentSource="Header" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
+ </Grid>
</Border>
- <ItemsPresenter x:Name="ItemsHost" Grid.ColumnSpan="2" Grid.Column="1" Grid.Row="1"/>
- </Grid>
+ <ItemsPresenter x:Name="ItemsHost"/>
+ </StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="false">
<Setter Property="Visibility" TargetName="ItemsHost" Value="Collapsed"/>
@@ -127,8 +129,22 @@
<Trigger Property="HasItems" Value="false">
<Setter Property="Visibility" TargetName="Expander" Value="Hidden"/>
</Trigger>
- <Trigger Property="IsSelected" Value="true">
- <Setter Property="Background" TargetName="GridTreeItem" Value="{DynamicResource ControlBrushColorKey}"/>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="HasHeader" Value="false"/>
+ <Condition Property="Width" Value="Auto"/>
+ </MultiTrigger.Conditions>
+ <Setter TargetName="PART_Header" Property="MinWidth" Value="75"/>
+ </MultiTrigger>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="HasHeader" Value="false"/>
+ <Condition Property="Height" Value="Auto"/>
+ </MultiTrigger.Conditions>
+ <Setter TargetName="PART_Header" Property="MinHeight" Value="19"/>
+ </MultiTrigger>
+ <Trigger Property="IsSelected" Value="true">
+ <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}"/>
<Setter Property="Foreground" Value="{DynamicResource HighlightTextBrushKey}"/>
</Trigger>
<MultiTrigger>
@@ -136,11 +152,11 @@
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
- <Setter Property="Background" TargetName="GridTreeItem" Value="{DynamicResource Inactive.Selection}"/>
- <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/>
+ <Setter Property="Background" TargetName="GridTreeItem" Value="{DynamicResource ControlBrushColorKey}"/>
+ <Setter Property="Foreground" Value="{DynamicResource HighlightTextBrushKey}"/>
</MultiTrigger>
<Trigger Property="IsEnabled" Value="false">
- <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/>
+ <Setter Property="Foreground" Value="{DynamicResource Inactive.Selection}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs
index 71cb6cd19..ffe78f49d 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs
@@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using Tango.Core.DI;
using Tango.Scripting.IDE.Dialogs;
+using Tango.Scripting.IDE.Notifications;
namespace Tango.Scripting.IDE
{
@@ -19,15 +20,7 @@ namespace Tango.Scripting.IDE
/// </summary>
static ViewModelLocator()
{
- TangoIOC.Default.Register<NewProjectDialogVM>();
- }
-
- public static NewProjectDialogVM NewProjectDialogVM
- {
- get
- {
- return TangoIOC.Default.GetInstance<NewProjectDialogVM>();
- }
+ TangoIOC.Default.Register<INotificationManager, DefaultNotificationManager>();
}
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml
new file mode 100644
index 000000000..218a92302
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml
@@ -0,0 +1,28 @@
+<mahapps:MetroWindow x:Class="Tango.Scripting.IDE.Windows.DialogWindow"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:local="clr-namespace:Tango.Scripting.IDE.Windows"
+ mc:Ignorable="d"
+ Title="Some Title" Height="800" Width="800"
+ SizeToContent="WidthAndHeight"
+ ResizeMode="NoResize"
+ ShowMaxRestoreButton="False"
+ ShowMinButton="False"
+ ShowCloseButton="False"
+ BorderThickness="1" BorderBrush="Gray">
+ <Window.Resources>
+ <ResourceDictionary>
+ <ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/DarkThemesColors.xaml"/>
+ <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/ButtonStyle.xaml"/>
+ </ResourceDictionary.MergedDictionaries>
+ </ResourceDictionary>
+ </Window.Resources>
+
+ <Grid>
+
+ </Grid>
+</mahapps:MetroWindow>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml.cs
new file mode 100644
index 000000000..cfddd09e3
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml.cs
@@ -0,0 +1,28 @@
+using MahApps.Metro.Controls;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace Tango.Scripting.IDE.Windows
+{
+ /// <summary>
+ /// Interaction logic for DialogWindow.xaml
+ /// </summary>
+ public partial class DialogWindow : MetroWindow
+ {
+ public DialogWindow()
+ {
+ InitializeComponent();
+ }
+ }
+}