aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Utils/Boxes.cs
blob: 517948bae3922c2fccc4aa1b9de280d347a0cd0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)

using System;

namespace Tango.Scripting.Editors.Utils
{
	/// <summary>
	/// Reuse the same instances for boxed booleans.
	/// </summary>
	static class Boxes
	{
		public static readonly object True = true;
		public static readonly object False = false;
		
		public static object Box(bool value)
		{
			return value ? True : False;
		}
	}
}
pan class="k">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.Animation; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Tango.MachineStudio.Common.Modules; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.UI.Modules; using Tango.MachineStudio.UI.Notifications; using Tango.MachineStudio.UI.SupervisingController; using Tango.SharedUI; using Tango.SharedUI.Controls; using Tango.MachineStudio.Common; using System.Threading; using Tango.Core.Helpers; using Tango.SharedUI.Helpers; using Tango.Logging; using static Tango.SharedUI.Controls.NavigationControl; using Tango.Core.DI; using Tango.MachineStudio.Common.StudioApplication; namespace Tango.MachineStudio.UI.Views { /// <summary> /// Interaction logic for MainView.xaml /// </summary> public partial class MainView : View, IMainView { private DefaultStudioModuleLoader _loader; public static MainView Instance { get; set; } public MainView() : base() { InitializeComponent(); Instance = this; _loader = TangoIOC.Default.GetInstance<IStudioModuleLoader>() as DefaultStudioModuleLoader; _loader.ModulesLoaded += Loader_ModulesLoaded; } private void Loader_ModulesLoaded(object sender, EventArgs e) { Task.Factory.StartNew(() => { LogManager.Default.Log("Loading modules views..."); var item = TangoIOC.Default.GetInstance<INotificationProvider>().PushTaskItem("Loading Modules..."); var modules = _loader.UserModules.ToList(); ThreadsHelper.InvokeUINow(() => { _loader.UserModules.Clear(); }); Thread.Sleep(1500); foreach (var module in modules) { LogManager.Default.Log("Loading module view '" + module.Name + "'..."); ThreadsHelper.InvokeUI(() => { if (!NavigationControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType)) { FrameworkElement view = Activator.CreateInstance(module.MainViewType) as FrameworkElement; NavigationControl.SetNavigationName(view, module.Name); NavigationControl.Elements.Add(view); } _loader.UserModules.Add(module); }); UIHelper.DoEvents(); Thread.Sleep(100); } item.Pop(); ThreadsHelper.InvokeUI(() => { TangoIOC.Default.GetInstance<IStudioApplicationManager>().NotifyApplicationReady(); }); }); } private void MenuItem_MouseEnter(object sender, MouseEventArgs e) { menuTheme.IsSubmenuOpen = true; } } }