aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Utils/DelayedEvents.cs
blob: 8afc9f2eeee603487264c26a643afcb5fd9d7a31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// 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;
using System.Collections.Generic;

namespace Tango.Scripting.Editors.Utils
{
	/// <summary>
	/// Maintains a list of delayed events to raise.
	/// </summary>
	sealed class DelayedEvents
	{
		struct EventCall
		{
			EventHandler handler;
			object sender;
			EventArgs e;
			
			public EventCall(EventHandler handler, object sender, EventArgs e)
			{
				this.handler = handler;
				this.sender = sender;
				this.e = e;
			}
			
			public void Call()
			{
				handler(sender, e);
			}
		}
		
		Queue<EventCall> eventCalls = new Queue<EventCall>();
		
		public void DelayedRaise(EventHandler handler, object sender, EventArgs e)
		{
			if (handler != null) {
				eventCalls.Enqueue(new EventCall(handler, sender, e));
			}
		}
		
		public void RaiseEvents()
		{
			while (eventCalls.Count > 0)
				eventCalls.Dequeue().Call();
		}
	}
}
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 */
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{CB0B0AA2-BB24-4BCA-A720-45E397684E12}</ProjectGuid>
    <OutputType>library</OutputType>
    <RootNamespace>Tango.MachineStudio.Common</RootNamespace>
    <AssemblyName>Tango.MachineStudio.Common</AssemblyName>
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>..\..\Build\Machine Studio\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>..\..\Build\Machine Studio\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <HintPath>..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.dll</HintPath>
    </Reference>
    <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <HintPath>..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
    </Reference>
    <Reference Include="Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
      <HintPath>..\..\packages\Google.Protobuf.3.4.1\lib\net45\Google.Protobuf.dll</HintPath>
    </Reference>
    <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="MaterialDesignColors, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
      <HintPath>..\..\packages\MaterialDesignColors.1.1.2\lib\net45\MaterialDesignColors.dll</HintPath>
    </Reference>
    <Reference Include="MaterialDesignThemes.Wpf, Version=2.3.1.953, Culture=neutral, processorArchitecture=MSIL">
      <HintPath>..\..\packages\MaterialDesignThemes.2.3.1.953\lib\net45\MaterialDesignThemes.Wpf.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.ComponentModel.DataAnnotations" />
    <Reference Include="System.Data" />
    <Reference Include="System.Runtime.Serialization" />
    <Reference Include="System.ServiceModel" />
    <Reference Include="System.Speech" />
    <Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\..\packages\Expression.Blend.Sdk.1.0.2\lib\net45\System.Windows.Interactivity.dll</HintPath>
    </Reference>
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Xaml">
      <RequiredTargetFramework>4.0</RequiredTargetFramework>
    </Reference>
    <Reference Include="WindowsBase" />
    <Reference Include="PresentationCore" />
    <Reference Include="PresentationFramework" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="..\..\Versioning\GlobalVersionInfo.cs">
      <Link>GlobalVersionInfo.cs</Link>
    </Compile>
    <Compile Include="AutoComplete\MachinesProvider.cs" />
    <Compile Include="Automation\Developer.cs" />
    <Compile Include="Automation\UI.cs" />
    <Compile Include="Controls\HiveColorPickerControl.xaml.cs">
      <DependentUpon>HiveColorPickerControl.xaml</DependentUpon>
    </Compile>
    <Compile Include="Controls\HiveComboControl.xaml.cs">
      <DependentUpon>HiveComboControl.xaml</DependentUpon>
    </Compile>
    <Compile Include="Controls\IRealTimeGraph.cs" />
    <Compile Include="Controls\LoadingPanel.cs" />
    <Compile Include="Controls\RealTimeGraphControl.xaml.cs">
      <DependentUpon>RealTimeGraphControl.xaml</DependentUpon>
    </Compile>
    <Compile Include="Controls\TableGrid.cs" />
    <Compile Include="Converters\PermissionToVisibilityConverter.cs" />
    <None Include="Converters\SecondsToGraphPointsConverter.cs" />
    <Compile Include="Diagnostics\DefaultDiagnosticsFrameProvider.cs" />
    <Compile Include="Diagnostics\IDiagnosticsFrameProvider.cs" />
    <Compile Include="EventLogging\DefaultEventLogger.cs" />
    <Compile Include="EventLogging\IEventLogger.cs" />
    <Compile Include="ExtensionMethods\CommonDialogExtensions.cs" />
    <Compile Include="ExtensionMethods\TangoIOCExtensions.cs" />
    <Compile Include="Html\IHtmlPresenter.cs" />
    <None Include="Helpers\GraphsHelper.cs" />
    <Compile Include="IStudioViewModel.cs" />
    <Compile Include="MachineStudioSettings.cs" />
    <Compile Include="Messages\MachineConnectionChangedMessage.cs" />
    <Compile Include="Navigation\INavigationBlocker.cs" />
    <Compile Include="Navigation\INavigationObjectReceiver.cs" />
    <Compile Include="Navigation\INavigationResultProvider.cs" />
    <Compile Include="Notifications\BarItem.cs" />
    <Compile Include="Speech\DefaultSpeechProvider.cs" />
    <Compile Include="Speech\ISpeechProvider.cs" />
    <Compile Include="StudioApplication\IStudioApplicationManager.cs" />
    <Compile Include="Messages\IStudioMessage.cs" />
    <Compile Include="Notifications\TaskItem.cs" />
    <Compile Include="StudioModuleAttribute.cs" />
    <Compile Include="StudioModuleBase.cs" />
    <Compile Include="StudioViewModel.cs" />
    <Compile Include="Threading\IDispatcherProvider.cs" />
    <Compile Include="Update\CheckForUpdatesResponse.cs" />
    <Compile Include="Update\CheckForUpdatesRequest.cs" />
    <Compile Include="Update\IMachineStudioUpdateService.cs" />
    <Compile Include="Update\UpdateServiceHelper.cs" />
    <Compile Include="Update\UploadCompletedRequest.cs" />
    <Compile Include="Update\UploadVersionRequest.cs" />
    <Compile Include="Update\UploadVersionResponse.cs" />
    <Compile Include="ValidationRules\Required.cs" />
    <Compile Include="Video\DefaultVideoCaptureProvider.cs" />
    <Compile Include="Video\IVideoCaptureProvider.cs" />
    <Page Include="Controls\HiveColorPickerControl.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Page Include="Controls\HiveComboControl.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Page Include="Controls\MdiContainerControl.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Compile Include="Authentication\IAuthenticationProvider.cs" />
    <Compile Include="Controls\MdiChild.cs" />
    <Compile Include="Controls\MdiContainerControl.xaml.cs">
      <DependentUpon>MdiContainerControl.xaml</DependentUpon>
    </Compile>
    <Compile Include="Converters\PointToMarginConverter.cs" />
    <Compile Include="IStudioModule.cs" />
    <Compile Include="Modules\IStudioModuleLoader.cs" />
    <Compile Include="Navigation\INavigationManager.cs" />
    <Compile Include="Navigation\NavigationView.cs" />
    <Compile Include="Notifications\INotificationProvider.cs" />
    <Page Include="Controls\RealTimeGraphControl.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Page Include="Resources\GradientOffsetSlider.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Page Include="Resources\MaterialDesign.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Page Include="Themes\Generic.xaml">
      <Generator>MSBuild:Compile</Generator>
      <SubType>Designer</SubType>
    </Page>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Properties\AssemblyInfo.cs">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="Properties\Resources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
    <Compile Include="Properties\Settings.Designer.cs">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
    </Compile>
    <EmbeddedResource Include="Properties\Resources.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
    </EmbeddedResource>
    <None Include="app.config" />
    <Resource Include="Fonts\digital-7.ttf" />
    <None Include="packages.config" />
    <None Include="Properties\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
    </None>
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\SideChains\RealTimeGraphEx\RealTimeGraphEx.csproj">
      <Project>{b9ae25d6-be35-492f-9079-21a7f3e6f7cc}</Project>
      <Name>RealTimeGraphEx</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\SideChains\RealTimeGraphX.WPF\RealTimeGraphX.WPF.csproj">
      <Project>{99d233c5-fee7-418e-9c25-d4584cb52e28}</Project>
      <Name>RealTimeGraphX.WPF</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\SideChains\RealTimeGraphX\RealTimeGraphX.csproj">
      <Project>{6d55a3b8-46d3-493a-a143-aebd2b98d683}</Project>
      <Name>RealTimeGraphX</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\SideChains\Tango.AutoComplete\Tango.AutoComplete.csproj">
      <Project>{bb2abb74-ba58-4812-83aa-ec8171f42df4}</Project>
      <Name>Tango.AutoComplete</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.BL\Tango.BL.csproj">
      <Project>{f441feee-322a-4943-b566-110e12fd3b72}</Project>
      <Name>Tango.BL</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.ColorPicker\Tango.ColorPicker.csproj">
      <Project>{a2f5af44-29ff-45d6-9d25-ecda5cce88b5}</Project>
      <Name>Tango.ColorPicker</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.Core\Tango.Core.csproj">
      <Project>{a34ee0f0-649d-41c8-8489-b6f1cc6924ee}</Project>
      <Name>Tango.Core</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.DAL.Remote\Tango.DAL.Remote.csproj">
      <Project>{38197109-8610-4d3f-92b9-16d48df94d7c}</Project>
      <Name>Tango.DAL.Remote</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.DragAndDrop\Tango.DragAndDrop.csproj">
      <Project>{b112d89a-a106-41ae-a0c1-4abc84c477f5}</Project>
      <Name>Tango.DragAndDrop</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.Editors\Tango.Editors.csproj">
      <Project>{de2f2b86-025b-4f26-83a4-38bd48224ed5}</Project>
      <Name>Tango.Editors</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.Integration\Tango.Integration.csproj">
      <Project>{4206ac58-3b57-4699-8835-90bf6db01a61}</Project>
      <Name>Tango.Integration</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.Logging\Tango.Logging.csproj">
      <Project>{BC932DBD-7CDB-488C-99E4-F02CF441F55E}</Project>
      <Name>Tango.Logging</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.PMR\Tango.PMR.csproj">
      <Project>{e4927038-348d-4295-aaf4-861c58cb3943}</Project>
      <Name>Tango.PMR</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.Settings\Tango.Settings.csproj">
      <Project>{d8f1ad85-526a-4f50-b6dc-d437af63d8d8}</Project>
      <Name>Tango.Settings</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.SharedUI\Tango.SharedUI.csproj">
      <Project>{8491d07b-c1f6-4b62-a412-41b9fd2d6538}</Project>
      <Name>Tango.SharedUI</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.Transport\Tango.Transport.csproj">
      <Project>{74e700b0-1156-4126-be40-ee450d3c3026}</Project>
      <Name>Tango.Transport</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Tango.Video\Tango.Video.csproj">
      <Project>{9652f972-2bd1-4283-99cb-fc6240434c17}</Project>
      <Name>Tango.Video</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="bip.wav" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="error.wav" />
  </ItemGroup>
  <ItemGroup>
    <COMReference Include="Microsoft.Office.Core">
      <Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
      <VersionMajor>2</VersionMajor>
      <VersionMinor>8</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>primary</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>True</EmbedInteropTypes>
    </COMReference>
    <COMReference Include="Microsoft.Office.Interop.Outlook">
      <Guid>{00062FFF-0000-0000-C000-000000000046}</Guid>
      <VersionMajor>9</VersionMajor>
      <VersionMinor>6</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>primary</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>True</EmbedInteropTypes>
    </COMReference>
    <COMReference Include="stdole">
      <Guid>{00020430-0000-0000-C000-000000000046}</Guid>
      <VersionMajor>2</VersionMajor>
      <VersionMinor>0</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>primary</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>True</EmbedInteropTypes>
    </COMReference>
  </ItemGroup>
  <ItemGroup />
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <ProjectExtensions>
    <VisualStudio>
      <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
    </VisualStudio>
  </ProjectExtensions>
</Project>