From 9447a8a09f87d6ea2cb62860021c595386668eec Mon Sep 17 00:00:00 2001
From: Roy Ben-Shabat <Roy@Twine-s.com>
Date: Wed, 20 Feb 2019 22:55:15 +0200
Subject: A lot of work !!!

---
 .../Modules/Tango.MachineStudio.MachineDesigner/app.config              | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config')

diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config
index d9be669f7..fa31bbb95 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config
@@ -68,7 +68,7 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-- 
cgit v1.3.1

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <style>pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span><span class="k">using</span><span class="w"> </span><span class="nn">System</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Collections.Generic</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Linq</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Text</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Threading.Tasks</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Windows</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Windows.Controls</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Windows.Data</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Windows.Documents</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Windows.Input</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Windows.Media</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Windows.Media.Imaging</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Windows.Navigation</span><span class="p">;</span>
<span class="k">using</span><span class="w"> </span><span class="nn">System.Windows.Shapes</span><span class="p">;</span>

<span class="k">namespace</span><span class="w"> </span><span class="nn">Tango.Scripting.IDE</span>
<span class="p">{</span>
<span class="w">    </span>
<span class="w">    </span><span class="c1">/// &lt;summary&gt;</span>
<span class="w">    </span><span class="c1">/// Interaction logic for ScriptIDEView2.xaml</span>
<span class="w">    </span><span class="c1">/// &lt;/summary&gt;</span>
<span class="w">    </span><span class="k">public</span><span class="w"> </span><span class="k">partial</span><span class="w"> </span><span class="k">class</span><span class="w"> </span><span class="nc">ScriptIDEView2</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">UserControl</span>
<span class="w">    </span><span class="p">{</span>
<span class="w">        </span><span class="k">public</span><span class="w"> </span><span class="k">enum</span><span class="w"> </span><span class="n">eSkin</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">Dark</span><span class="p">,</span><span class="w"> </span><span class="n">Light</span><span class="w"> </span><span class="p">}</span>
<span class="w">        </span><span class="k">public</span><span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="n">eSkin</span><span class="w"> </span><span class="n">Skin</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">get</span><span class="p">;</span><span class="w"> </span><span class="k">set</span><span class="p">;</span><span class="w"> </span><span class="p">}</span>
<span class="w">        </span><span class="k">public</span><span class="w"> </span><span class="nf">ScriptIDEView2</span><span class="p">()</span>
<span class="w">        </span><span class="p">{</span>
<span class="w">            </span><span class="n">InitializeComponent</span><span class="p">();</span>
<span class="w">        </span><span class="p">}</span>
<span class="w">        </span><span class="k">public</span><span class="w"> </span><span class="k">void</span><span class="w"> </span><span class="nf">ChangeSkin</span><span class="p">(</span><span class="n">eSkin</span><span class="w"> </span><span class="n">newSkin</span><span class="p">)</span>
<span class="w">        </span><span class="p">{</span>
<span class="w">            </span><span class="n">Skin</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">newSkin</span><span class="p">;</span>
<span class="w">            </span><span class="n">Resources</span><span class="p">.</span><span class="n">Clear</span><span class="p">();</span>
<span class="w">            </span><span class="n">Resources</span><span class="p">.</span><span class="n">MergedDictionaries</span><span class="p">.</span><span class="n">Clear</span><span class="p">();</span>
<span class="w">            </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">Skin</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">eSkin</span><span class="p">.</span><span class="n">Dark</span><span class="p">)</span>
<span class="w">                </span><span class="n">ApplyResources</span><span class="p">(</span><span class="s">&quot;Themes/DarkThemesColors.xaml&quot;</span><span class="p">);</span>
<span class="w">            </span><span class="k">else</span><span class="w"> </span><span class="nf">if</span><span class="w"> </span><span class="p">(</span><span class="n">Skin</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">eSkin</span><span class="p">.</span><span class="n">Light</span><span class="p">)</span>
<span class="w">                </span><span class="n">ApplyResources</span><span class="p">(</span><span class="s">&quot;Themes/LightThemesColors.xaml&quot;</span><span class="p">);</span>
<span class="w">            </span><span class="n">ApplyResources</span><span class="p">(</span><span class="s">&quot;Themes/Shared.xaml&quot;</span><span class="p">);</span>
<span class="w">        </span><span class="p">}</span>

<span class="w">        </span><span class="k">private</span><span class="w"> </span><span class="k">void</span><span class="w"> </span><span class="nf">ApplyResources</span><span class="p">(</span><span class="kt">string</span><span class="w"> </span><span class="n">src</span><span class="p">)</span>
<span class="w">        </span><span class="p">{</span>
<span class="w">            </span><span class="kt">var</span><span class="w"> </span><span class="n">dict</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">ResourceDictionary</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">Source</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Uri</span><span class="p">(</span><span class="n">src</span><span class="p">,</span><span class="w"> </span><span class="n">UriKind</span><span class="p">.</span><span class="n">Relative</span><span class="p">)</span><span class="w"> </span><span class="p">};</span>
<span class="w">            </span><span class="k">foreach</span><span class="w"> </span><span class="p">(</span><span class="kt">var</span><span class="w"> </span><span class="n">mergeDict</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">dict</span><span class="p">.</span><span class="n">MergedDictionaries</span><span class="p">)</span>
<span class="w">            </span><span class="p">{</span>
<span class="w">                </span><span class="n">Resources</span><span class="p">.</span><span class="n">MergedDictionaries</span><span class="p">.</span><span class="n">Add</span><span class="p">(</span><span class="n">mergeDict</span><span class="p">);</span>
<span class="w">            </span><span class="p">}</span>

<span class="w">            </span><span class="k">foreach</span><span class="w"> </span><span class="p">(</span><span class="kt">var</span><span class="w"> </span><span class="n">key</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">dict</span><span class="p">.</span><span class="n">Keys</span><span class="p">)</span>
<span class="w">            </span><span class="p">{</span>
<span class="w">                </span><span class="n">Resources</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">dict</span><span class="p">[</span><span class="n">key</span><span class="p">];</span>
<span class="w">            </span><span class="p">}</span>
<span class="w">        </span><span class="p">}</span>

<span class="w">        </span><span class="k">private</span><span class="w"> </span><span class="k">void</span><span class="w"> </span><span class="nf">Button_Click</span><span class="p">(</span><span class="kt">object</span><span class="w"> </span><span class="n">sender</span><span class="p">,</span><span class="w"> </span><span class="n">RoutedEventArgs</span><span class="w"> </span><span class="n">e</span><span class="p">)</span>
<span class="w">        </span><span class="p">{</span>
<span class="w">            </span><span class="n">MessageBox</span><span class="p">.</span><span class="n">Show</span><span class="p">(</span><span class="s">&quot;I am here&quot;</span><span class="p">);</span>
<span class="w">        </span><span class="p">}</span>
<span class="w">        </span><span class="k">private</span><span class="w"> </span><span class="k">void</span><span class="w"> </span><span class="nf">TreeViewControl_SelectedItemChanged</span><span class="p">(</span><span class="kt">object</span><span class="w"> </span><span class="n">sender</span><span class="p">,</span><span class="w"> </span><span class="n">RoutedPropertyChangedEventArgs</span><span class="o">&lt;</span><span class="kt">object</span><span class="o">&gt;</span><span class="w"> </span><span class="n">e</span><span class="p">)</span>
<span class="w">        </span><span class="p">{</span>

<span class="w">            </span><span class="n">IProject</span><span class="w"> </span><span class="n">SelectedItem</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">SolutionTree</span><span class="p">.</span><span class="n">SelectedItem</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">IProject</span><span class="p">;</span>
<span class="w">            </span><span class="k">if</span><span class="p">(</span><span class="n">SelectedItem</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">DataContext</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">ScriptIDEViewVM</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="p">((</span><span class="n">ScriptIDEViewVM</span><span class="p">)</span><span class="n">DataContext</span><span class="p">).</span><span class="n">IsSolutionProject</span><span class="p">(</span><span class="n">SelectedItem</span><span class="p">))</span>
<span class="w">            </span><span class="p">{</span>
<span class="w">                </span><span class="n">SolutionTree</span><span class="p">.</span><span class="n">ContextMenu</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">SolutionTree</span><span class="p">.</span><span class="n">Resources</span><span class="p">[</span><span class="s">&quot;SolutionContext&quot;</span><span class="p">]</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="n">Windows</span><span class="p">.</span><span class="n">Controls</span><span class="p">.</span><span class="n">ContextMenu</span><span class="p">;</span>
<span class="w">            </span><span class="p">}</span>
<span class="w">            </span><span class="k">else</span>
<span class="w">            </span><span class="p">{</span>
<span class="w">                </span><span class="n">SolutionTree</span><span class="p">.</span><span class="n">ContextMenu</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">SolutionTree</span><span class="p">.</span><span class="n">Resources</span><span class="p">[</span><span class="s">&quot;FolderContext&quot;</span><span class="p">]</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="n">Windows</span><span class="p">.</span><span class="n">Controls</span><span class="p">.</span><span class="n">ContextMenu</span><span class="p">;</span>
<span class="w">            </span><span class="p">}</span>
<span class="w">        </span><span class="p">}</span>

<span class="w">        </span><span class="k">private</span><span class="w"> </span><span class="k">void</span><span class="w"> </span><span class="nf">SolutionTree_PreviewMouseRightButtonDown</span><span class="p">(</span><span class="kt">object</span><span class="w"> </span><span class="n">sender</span><span class="p">,</span><span class="w"> </span><span class="n">MouseButtonEventArgs</span><span class="w"> </span><span class="n">e</span><span class="p">)</span>
<span class="w">        </span><span class="p">{</span>
<span class="w">            </span><span class="n">TreeViewItem</span><span class="w"> </span><span class="n">treeViewItem</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">VisualUpwardSearch</span><span class="p">(</span><span class="n">e</span><span class="p">.</span><span class="n">OriginalSource</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">DependencyObject</span><span class="p">);</span>

<span class="w">            </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">treeViewItem</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="k">null</span><span class="p">)</span>
<span class="w">            </span><span class="p">{</span>
<span class="w">                </span><span class="c1">//treeViewItem.Focus();</span>
<span class="w">                </span><span class="n">treeViewItem</span><span class="p">.</span><span class="n">IsSelected</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">true</span><span class="p">;</span>
<span class="w">                </span><span class="n">e</span><span class="p">.</span><span class="n">Handled</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">true</span><span class="p">;</span>
<span class="w">            </span><span class="p">}</span>
<span class="w">        </span><span class="p">}</span>
<span class="w">        </span><span class="k">static</span><span class="w"> </span><span class="n">TreeViewItem</span><span class="w"> </span><span class="nf">VisualUpwardSearch</span><span class="p">(</span><span class="n">DependencyObject</span><span class="w"> </span><span class="n">source</span><span class="p">)</span>
<span class="w">        </span><span class="p">{</span>
<span class="w">            </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">source</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="o">!</span><span class="p">(</span><span class="n">source</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">TreeViewItem</span><span class="p">))</span>
<span class="w">                </span><span class="n">source</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">VisualTreeHelper</span><span class="p">.</span><span class="n">GetParent</span><span class="p">(</span><span class="n">source</span><span class="p">);</span>

<span class="w">            </span><span class="k">return</span><span class="w"> </span><span class="n">source</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">TreeViewItem</span><span class="p">;</span>
<span class="w">        </span><span class="p">}</span>
<span class="w">    </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
</code></pre></td></tr></table>
</div> <!-- class=content -->
<div class='footer'>generated by <a href='https://git.zx2c4.com/cgit/about/'>cgit v1.3.1</a> (<a href='https://git-scm.com/'>git 2.54.0</a>) at 2026-07-07 23:59:09 +0000</div>
</div> <!-- id=cgit -->
</body>
</html>
