Skip to content
Browse files

These are not the droids you're looking for

  • Loading branch information...
1 parent b48180d commit c2b65ac9422cc4690e89da33f2534695648b22b6 @paulcbetts committed
Showing with 0 additions and 20,110 deletions.
  1. +0 −15 .gitignore
  2. +0 −50 COPYING
  3. +0 −10 Local.testsettings
  4. BIN MakeRelease.ps1
  5. +0 −105 PerfConsoleRunner.psess
  6. +0 −82 PerfConsoleRunner/PerfConsoleRunner.csproj
  7. +0 −49 PerfConsoleRunner/Program.cs
  8. +0 −36 PerfConsoleRunner/Properties/AssemblyInfo.cs
  9. +0 −49 PerfConsoleRunner/Utility.cs
  10. +0 −3 PerfConsoleRunner/app.config
  11. +0 −4 PerfConsoleRunner/packages.config
  12. +0 −81 README.md
  13. +0 −201 Rakefile
  14. +0 −102 ReactiveUI.Blend/AsyncCommandVisualStateBehavior.cs
  15. +0 −78 ReactiveUI.Blend/FollowObservableStateBehavior.cs
  16. +0 −40 ReactiveUI.Blend/ObservableTrigger.cs
  17. +0 −6 ReactiveUI.Blend/Properties/AssemblyInfo.cs
  18. +0 −89 ReactiveUI.Blend/ReactiveUI.Blend.csproj
  19. +0 −106 ReactiveUI.Blend/ReactiveUI.Blend_SL5.csproj
  20. +0 −100 ReactiveUI.Blend/ReactiveUI.Blend_WP7.csproj
  21. +0 −11 ReactiveUI.Blend/app.config
  22. +0 −4 ReactiveUI.Blend/packages.config
  23. +0 −88 ReactiveUI.Gtk/GtkRunloopScheduler.cs
  24. +0 −11 ReactiveUI.Gtk/Properties/AssemblyInfo.cs
  25. +0 −70 ReactiveUI.Gtk/ReactiveUI.Gtk_Mono.csproj
  26. +0 −47 ReactiveUI.Gtk/RoutedViewHost.cs
  27. +0 −26 ReactiveUI.Routing.Tests/Properties/AssemblyInfo.cs
  28. +0 −96 ReactiveUI.Routing.Tests/ReactiveUI.Routing.Tests.csproj
  29. +0 −50 ReactiveUI.Routing.Tests/RoutingState.cs
  30. +0 −92 ReactiveUI.Routing.Tests/RxRouting.cs
  31. +0 −4 ReactiveUI.Routing.Tests/packages.config
  32. +0 −107 ReactiveUI.Routing/Interfaces.cs
  33. +0 −14 ReactiveUI.Routing/Properties/AssemblyInfo.cs
  34. +0 −89 ReactiveUI.Routing/ReactiveUI.Routing.csproj
  35. +0 −76 ReactiveUI.Routing/ReactiveUI.Routing_Mono.csproj
  36. +0 −113 ReactiveUI.Routing/ReactiveUI.Routing_SL5.csproj
  37. +0 −128 ReactiveUI.Routing/ReactiveUI.Routing_WP7.csproj
  38. +0 −160 ReactiveUI.Routing/ReactiveUI.Routing_WinRT.csproj
  39. +0 −84 ReactiveUI.Routing/RoutedViewHost.cs
  40. +0 −137 ReactiveUI.Routing/RoutingState.cs
  41. +0 −133 ReactiveUI.Routing/RxRouting.cs
  42. +0 −69 ReactiveUI.Routing/ViewModelViewHost.cs
  43. +0 −13 ReactiveUI.Routing/WinRTShims.cs
  44. +0 −4 ReactiveUI.Routing/packages.config
  45. +0 −19 ReactiveUI.Sample.WP7/App.xaml
  46. +0 −132 ReactiveUI.Sample.WP7/App.xaml.cs
  47. BIN ReactiveUI.Sample.WP7/ApplicationIcon.png
  48. BIN ReactiveUI.Sample.WP7/Background.png
  49. +0 −58 ReactiveUI.Sample.WP7/MainPage.xaml
  50. +0 −84 ReactiveUI.Sample.WP7/MainPage.xaml.cs
  51. +0 −6 ReactiveUI.Sample.WP7/Properties/AppManifest.xml
  52. +0 −35 ReactiveUI.Sample.WP7/Properties/AssemblyInfo.cs
  53. +0 −31 ReactiveUI.Sample.WP7/Properties/WMAppManifest.xml
  54. +0 −214 ReactiveUI.Sample.WP7/ReactiveUI.Sample.WP7.csproj
  55. +0 −10 ...orService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.AddTranslationArrayResponse.datasource
  56. +0 −10 ...nslatorService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.AddTranslationResponse.datasource
  57. +0 −10 ...nslatorService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.BreakSentencesResponse.datasource
  58. +0 −10 ...TranslatorService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.DetectArrayResponse.datasource
  59. +0 −10 ...osoftTranslatorService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.DetectResponse.datasource
  60. +0 −10 ...anslatorService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.GetAppIdTokenResponse.datasource
  61. +0 −10 ...latorService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.GetLanguageNamesResponse.datasource
  62. +0 −10 ...rService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.GetLanguagesForSpeakResponse.datasource
  63. +0 −10 ...vice/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.GetLanguagesForTranslateResponse.datasource
  64. +0 −10 ...rService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.GetTranslationsArrayResponse.datasource
  65. +0 −10 ...latorService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.GetTranslationsResponse1.datasource
  66. +0 −10 ...rosoftTranslatorService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.SpeakResponse.datasource
  67. +0 −10 ...slatorService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.TranslateArrayResponse1.datasource
  68. +0 −10 ...ftTranslatorService/ReactiveUI.Sample.WP7.MicrosoftTranslatorService.TranslateResponse.datasource
  69. +0 −10 ...Service/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.AddTranslationArrayResponse.datasource
  70. +0 −10 ...latorService/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.AddTranslationResponse.datasource
  71. +0 −10 ...latorService/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.BreakSentencesResponse.datasource
  72. +0 −10 ...anslatorService/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.DetectArrayResponse.datasource
  73. +0 −10 ...oftTranslatorService/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.DetectResponse.datasource
  74. +0 −10 ...slatorService/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.GetAppIdTokenResponse.datasource
  75. +0 −10 ...torService/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.GetLanguageNamesResponse.datasource
  76. +0 −10 ...ervice/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.GetLanguagesForSpeakResponse.datasource
  77. +0 −10 ...ce/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.GetLanguagesForTranslateResponse.datasource
  78. +0 −10 ...ervice/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.GetTranslationsArrayResponse.datasource
  79. +0 −10 ...torService/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.GetTranslationsResponse1.datasource
  80. +0 −10 ...softTranslatorService/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.SpeakResponse.datasource
  81. +0 −10 ...atorService/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.TranslateArrayResponse1.datasource
  82. +0 −10 ...TranslatorService/ReactiveXaml.Sample.WP7.MicrosoftTranslatorService.TranslateResponse.datasource
  83. +0 −2,495 ReactiveUI.Sample.WP7/Service References/MicrosoftTranslatorService/Reference.cs
  84. +0 −37 ReactiveUI.Sample.WP7/Service References/MicrosoftTranslatorService/Reference.svcmap
  85. +0 −139 ReactiveUI.Sample.WP7/Service References/MicrosoftTranslatorService/SoapService.wsdl
  86. +0 −10 ReactiveUI.Sample.WP7/Service References/MicrosoftTranslatorService/configuration.svcinfo
  87. +0 −201 ReactiveUI.Sample.WP7/Service References/MicrosoftTranslatorService/configuration91.svcinfo
  88. +0 −153 ReactiveUI.Sample.WP7/Service References/MicrosoftTranslatorService/soap.wsdl
  89. +0 −192 ReactiveUI.Sample.WP7/Service References/MicrosoftTranslatorService/soap.xsd
  90. +0 −42 ReactiveUI.Sample.WP7/Service References/MicrosoftTranslatorService/soap1.xsd
  91. +0 −15 ReactiveUI.Sample.WP7/Service References/MicrosoftTranslatorService/soap2.xsd
  92. +0 −239 ReactiveUI.Sample.WP7/Service References/MicrosoftTranslatorService/soap3.xsd
  93. +0 −17 ReactiveUI.Sample.WP7/ServiceReferences.ClientConfig
  94. BIN ReactiveUI.Sample.WP7/SplashScreenImage.jpg
  95. +0 −11 ReactiveUI.Sample.WP7/app.config
  96. +0 −10 ReactiveUI.Sample/Local.testsettings
  97. +0 −35 ReactiveUI.Sample/ReactiveUI.Sample.Tests/Properties/AssemblyInfo.cs
  98. +0 −104 ReactiveUI.Sample/ReactiveUI.Sample.Tests/ReactiveUI.Sample.Tests.csproj
  99. +0 −101 ReactiveUI.Sample/ReactiveUI.Sample.Tests/ReactiveUI.Sample.Tests_MainBuild.csproj
  100. +0 −266 ReactiveUI.Sample/ReactiveUI.Sample.Tests/ViewModels/BlockTimerViewModelTest.cs
  101. +0 −11 ReactiveUI.Sample/ReactiveUI.Sample.Tests/app.config
  102. +0 −4 ReactiveUI.Sample/ReactiveUI.Sample.Tests/packages.config
  103. +0 −101 ReactiveUI.Sample/ReactiveUI.Sample.sln
  104. +0 −6 ReactiveUI.Sample/ReactiveUI.Sample.vsmdi
  105. +0 −42 ReactiveUI.Sample/ReactiveUI.Sample/App.xaml
  106. +0 −16 ReactiveUI.Sample/ReactiveUI.Sample/App.xaml.cs
  107. +0 −266 ReactiveUI.Sample/ReactiveUI.Sample/MetroTheme/Brushes.xaml
  108. +0 −2,013 ReactiveUI.Sample/ReactiveUI.Sample/MetroTheme/CoreStyles.xaml
  109. +0 −25 ReactiveUI.Sample/ReactiveUI.Sample/MetroTheme/Fonts.xaml
  110. +0 −3,027 ReactiveUI.Sample/ReactiveUI.Sample/MetroTheme/SDKStyles.xaml
  111. +0 −287 ReactiveUI.Sample/ReactiveUI.Sample/MetroTheme/Styles.xaml
  112. +0 −2,835 ReactiveUI.Sample/ReactiveUI.Sample/MetroTheme/ToolkitStyles.xaml
  113. +0 −20 ReactiveUI.Sample/ReactiveUI.Sample/Models/ModelExtensions.cs
  114. +0 −108 ReactiveUI.Sample/ReactiveUI.Sample/Models/Models.cs
  115. +0 −55 ReactiveUI.Sample/ReactiveUI.Sample/Properties/AssemblyInfo.cs
  116. +0 −63 ReactiveUI.Sample/ReactiveUI.Sample/Properties/Resources.Designer.cs
  117. +0 −117 ReactiveUI.Sample/ReactiveUI.Sample/Properties/Resources.resx
  118. +0 −26 ReactiveUI.Sample/ReactiveUI.Sample/Properties/Settings.Designer.cs
  119. +0 −7 ReactiveUI.Sample/ReactiveUI.Sample/Properties/Settings.settings
  120. +0 −192 ReactiveUI.Sample/ReactiveUI.Sample/ReactiveUI.Sample.csproj
  121. +0 −180 ReactiveUI.Sample/ReactiveUI.Sample/ReactiveUI.Sample_MainBuild.csproj
  122. +0 −59 ReactiveUI.Sample/ReactiveUI.Sample/SampleData/SampleAppViewModel/SampleAppViewModel.xaml
  123. +0 −139 ReactiveUI.Sample/ReactiveUI.Sample/SampleData/SampleAppViewModel/SampleAppViewModel.xaml.cs
  124. +0 −28 ReactiveUI.Sample/ReactiveUI.Sample/SampleData/SampleAppViewModel/SampleAppViewModel.xsd
  125. +0 −335 ReactiveUI.Sample/ReactiveUI.Sample/ViewModels/BlockTimerViewModel.cs
  126. +0 −90 ReactiveUI.Sample/ReactiveUI.Sample/ViewModels/MainWindowViewModel.cs
  127. +0 −42 ReactiveUI.Sample/ReactiveUI.Sample/Views/BlockTimerWindow.xaml
  128. +0 −66 ReactiveUI.Sample/ReactiveUI.Sample/Views/BlockTimerWindow.xaml.cs
  129. +0 −32 ReactiveUI.Sample/ReactiveUI.Sample/Views/MainWindow.xaml
  130. +0 −31 ReactiveUI.Sample/ReactiveUI.Sample/Views/MainWindow.xaml.cs
  131. +0 −6 ReactiveUI.Sample/ReactiveUI.Sample/app.config
  132. +0 −4 ReactiveUI.Sample/ReactiveUI.Sample/packages.config
  133. +0 −21 ReactiveUI.Sample/TraceAndTestImpact.testsettings
  134. BIN ReactiveUI.Sample/ext/Microsoft.Reactive.Testing.dll
  135. BIN ReactiveUI.Sample/ext/Microsoft.Reactive.Testing.pdb
  136. +0 −379 ReactiveUI.Sample/ext/Microsoft.Reactive.Testing.xml
  137. BIN ReactiveUI.Sample/ext/ReactiveUI.Testing.dll
  138. BIN ReactiveUI.Sample/ext/ReactiveUI.Testing.pdb
  139. +0 −111 ReactiveUI.Sample/ext/ReactiveUI.Testing.xml
  140. BIN ReactiveUI.Sample/ext/ReactiveUI.Xaml.dll
  141. BIN ReactiveUI.Sample/ext/ReactiveUI.Xaml.pdb
  142. +0 −239 ReactiveUI.Sample/ext/ReactiveUI.Xaml.xml
  143. BIN ReactiveUI.Sample/ext/ReactiveUI.dll
  144. BIN ReactiveUI.Sample/ext/ReactiveUI.pdb
  145. +0 −1,121 ReactiveUI.Sample/ext/ReactiveUI.xml
  146. BIN ReactiveUI.Sample/ext/System.Reactive.Providers.dll
  147. +0 −57 ReactiveUI.Sample/ext/System.Reactive.Providers.xml
  148. BIN ReactiveUI.Sample/ext/System.Reactive.Windows.Forms.dll
  149. +0 −78 ReactiveUI.Sample/ext/System.Reactive.Windows.Forms.xml
  150. BIN ReactiveUI.Sample/ext/System.Reactive.Windows.Threading.dll
  151. +0 −113 ReactiveUI.Sample/ext/System.Reactive.Windows.Threading.xml
  152. BIN ReactiveUI.Sample/ext/System.Reactive.dll
  153. BIN ReactiveUI.Sample/ext/System.Reactive.pdb
Sorry, we could not display the entire diff because too many files (449) changed.
View
15 .gitignore
@@ -1,15 +0,0 @@
-*.suo
-*.user
-[Bb]in/
-[Oo]bj/
-*.vspscc
-*.vssscc
-*.vs10x
-*.pidb
-*.userprefs
-ReactiveUI/Generated/*.cs
-*.tmp_proj
-**/StyleCop.Cache
-StyleCop.Cache
-TestResults
-_ReSharper*
View
50 COPYING
@@ -1,50 +0,0 @@
-Microsoft Public License (Ms-PL)
-
-This license governs use of the accompanying software. If you use the software,
-you accept this license. If you do not accept the license, do not use the
-software.
-
-1. Definitions
-The terms "reproduce," "reproduction," "derivative works," and "distribution"
-have the same meaning here as under U.S. copyright law. A "contribution" is the
-original software, or any additions or changes to the software. A "contributor"
-is any person that distributes its contribution under this license. "Licensed
-patents" are a contributor's patent claims that read directly on its
-contribution.
-
-2. Grant of Rights
-
-(A) Copyright Grant- Subject to the terms of this license, including the license
-conditions and limitations in section 3, each contributor grants you a
-non-exclusive, worldwide, royalty-free copyright license to reproduce its
-contribution, prepare derivative works of its contribution, and distribute its
-contribution or any derivative works that you create.
-
-(B) Patent Grant- Subject
-to the terms of this license, including the license conditions and limitations
-in section 3, each contributor grants you a non-exclusive, worldwide,
-royalty-free license under its licensed patents to make, have made, use, sell,
-offer for sale, import, and/or otherwise dispose of its contribution in the
-software or derivative works of the contribution in the software.
-
-3. Conditions and Limitations
-
-(A) No Trademark License- This license does not grant you rights to use any
-contributors' name, logo, or trademarks.
-(B) If you bring a patent claim against any contributor over patents that you
-claim are infringed by the software, your patent license from such contributor
-to the software ends automatically.
-(C) If you distribute any portion of the software, you must retain all
-copyright, patent, trademark, and attribution notices that are present in the
-software.
-(D) If you distribute any portion of the software in source code form, you may
-do so only under this license by including a complete copy of this license with
-your distribution. If you distribute any portion of the software in compiled or
-object code form, you may only do so under a license that complies with this
-license.
-(E) The software is licensed "as-is." You bear the risk of using it. The
-contributors give no express warranties, guarantees or conditions. You may have
-additional consumer rights under your local laws which this license cannot
-change. To the extent permitted under your local laws, the contributors exclude
-the implied warranties of merchantability, fitness for a particular purpose and
-non-infringement.
View
10 Local.testsettings
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<TestSettings name="Local" id="ba23f531-13c9-499a-ad4e-442466e5f70d" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
- <Description>These are default test settings for a local test run.</Description>
- <Deployment enabled="false" />
- <Execution>
- <TestTypeSpecific />
- <AgentRule name="Execution Agents">
- </AgentRule>
- </Execution>
-</TestSettings>
View
BIN MakeRelease.ps1
Binary file not shown.
View
105 PerfConsoleRunner.psess
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VSPerformanceSession Version="1.00">
- <Options>
- <Solution>C:\Users\paul\My Dropbox\ReactiveUI_External\ReactiveUI_Core.sln</Solution>
- <CollectionMethod>Sampling</CollectionMethod>
- <AllocationMethod>Allocation</AllocationMethod>
- <LaunchRuntimeControl>true</LaunchRuntimeControl>
- <AddReport>true</AddReport>
- <ResourceBasedAnalysisSelected>false</ResourceBasedAnalysisSelected>
- <ThreadBasedAnalysisSelected>false</ThreadBasedAnalysisSelected>
- <UniqueReport>Timestamp</UniqueReport>
- <SamplingMethod>Cycles</SamplingMethod>
- <CycleCount>10000000</CycleCount>
- <PageFaultCount>10</PageFaultCount>
- <SysCallCount>10</SysCallCount>
- <SamplingCounter Name="" ReloadValue="00000000000f4240" DisplayName="" />
- <RelocateBinaries>false</RelocateBinaries>
- <CollectOnHpcCluster>false</CollectOnHpcCluster>
- <HPCSettings>
- <NumberOfProcesses>0</NumberOfProcesses>
- <TargetSelection>UnknownDisabled</TargetSelection>
- <ProfileOnRank>0</ProfileOnRank>
- <AdvancedProperties>
- <Project>PerfConsoleRunner</Project>
- <CleanUp>true</CleanUp>
- <MpiexecCommand>mpiexec.exe</MpiexecCommand>
- <DeployCRT>true</DeployCRT>
- </AdvancedProperties>
- </HPCSettings>
- <HardwareCounters EnableHWCounters="false" />
- <EtwSettings />
- <PdhSettings>
- <PdhCountersEnabled>false</PdhCountersEnabled>
- <PdhCountersRate>500</PdhCountersRate>
- <PdhCounters>
- <PdhCounter>\Memory\Pages/sec</PdhCounter>
- <PdhCounter>\PhysicalDisk(_Total)\Avg. Disk Queue Length</PdhCounter>
- <PdhCounter>\Processor(_Total)\% Processor Time</PdhCounter>
- </PdhCounters>
- </PdhSettings>
- </Options>
- <ExcludeSmallFuncs>true</ExcludeSmallFuncs>
- <JScriptProfilingEnabled>false</JScriptProfilingEnabled>
- <PreinstrumentEvent>
- <InstrEventExclude>false</InstrEventExclude>
- </PreinstrumentEvent>
- <PostinstrumentEvent>
- <InstrEventExclude>false</InstrEventExclude>
- </PostinstrumentEvent>
- <Binaries>
- <ProjBinary>
- <Path>C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner\obj\x86\Release\PerfConsoleRunner.exe</Path>
- <ArgumentTimestamp>01/01/0001 00:00:00</ArgumentTimestamp>
- <Instrument>true</Instrument>
- <Sample>true</Sample>
- <ExternalWebsite>false</ExternalWebsite>
- <InteractionProfilingEnabled>false</InteractionProfilingEnabled>
- <IsLocalJavascript>false</IsLocalJavascript>
- <LaunchProject>true</LaunchProject>
- <OverrideProjectSettings>false</OverrideProjectSettings>
- <LaunchMethod>Executable</LaunchMethod>
- <ExecutablePath>C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner\bin\Release\PerfConsoleRunner.exe</ExecutablePath>
- <StartupDirectory>C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner\bin\Release\</StartupDirectory>
- <Arguments />
- <NetAppHost>IIS</NetAppHost>
- <NetBrowser>InternetExplorer</NetBrowser>
- <ExcludeSmallFuncs>true</ExcludeSmallFuncs>
- <JScriptProfilingEnabled>false</JScriptProfilingEnabled>
- <PreinstrumentEvent>
- <InstrEventExclude>false</InstrEventExclude>
- </PreinstrumentEvent>
- <PostinstrumentEvent>
- <InstrEventExclude>false</InstrEventExclude>
- </PostinstrumentEvent>
- <ProjRef>{DBC5FEB0-8535-4D77-AA1B-BA8957253996}|PerfConsoleRunner\PerfConsoleRunner.csproj</ProjRef>
- <ProjPath>C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner\PerfConsoleRunner.csproj</ProjPath>
- <ProjName>PerfConsoleRunner</ProjName>
- </ProjBinary>
- </Binaries>
- <Reports>
- <Report>
- <Path>C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner110110.vsp</Path>
- </Report>
- <Report>
- <Path>C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner110110(1).vsp</Path>
- </Report>
- </Reports>
- <Launches>
- <ProjBinary>
- <Path>:PB:{DBC5FEB0-8535-4D77-AA1B-BA8957253996}|PerfConsoleRunner\PerfConsoleRunner.csproj</Path>
- </ProjBinary>
- </Launches>
- <RuntimeMarks>
- <MarkName>Mark One</MarkName>
- <MarkName>Mark Two</MarkName>
- <MarkName>Mark Three</MarkName>
- <MarkName>Mark Four</MarkName>
- <MarkName>Mark Five</MarkName>
- <MarkName>Mark Six</MarkName>
- <MarkName>Mark Seven</MarkName>
- <MarkName>Mark Eight</MarkName>
- <MarkName>Mark Nine</MarkName>
- <MarkName>Mark Ten</MarkName>
- </RuntimeMarks>
-</VSPerformanceSession>
View
82 PerfConsoleRunner/PerfConsoleRunner.csproj
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>8.0.30703</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{DBC5FEB0-8535-4D77-AA1B-BA8957253996}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>PerfConsoleRunner</RootNamespace>
- <AssemblyName>PerfConsoleRunner</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <TargetFrameworkProfile>
- </TargetFrameworkProfile>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <PlatformTarget>x86</PlatformTarget>
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <PlatformTarget>x86</PlatformTarget>
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="NLog">
- <HintPath>..\packages\NLog.2.0.0.2000\lib\net40\NLog.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Core" />
- <Reference Include="System.Xml.Linq" />
- <Reference Include="System.Data.DataSetExtensions" />
- <Reference Include="Microsoft.CSharp" />
- <Reference Include="System.Data" />
- <Reference Include="System.Xml" />
- <Reference Include="xunit">
- <HintPath>..\ext\xunit\xunit.dll</HintPath>
- </Reference>
- <Reference Include="xunit.extensions">
- <HintPath>..\ext\xunit\xunit.extensions.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="Program.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="Utility.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\ReactiveUI.Tests\ReactiveUI.Tests.csproj">
- <Project>{6FBDE6EA-2202-4A70-8EE4-7BA6D515952E}</Project>
- <Name>ReactiveUI.Tests</Name>
- </ProjectReference>
- <ProjectReference Include="..\ReactiveUI\ReactiveUI.csproj">
- <Project>{292A477B-BB94-43C1-984E-E177EF9FEDB7}</Project>
- <Name>ReactiveUI</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <None Include="app.config" />
- <None Include="packages.config" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
View
49 PerfConsoleRunner/Program.cs
@@ -1,49 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Xunit;
-using ReactiveUI.Tests;
-
-namespace PerfConsoleRunner
-{
- class Program
- {
- static void Main(string[] args)
- {
- // HACK: Make sure the test libraries are loaded
- var foo = typeof (ReactiveUI.Tests.EnumerableTestMixin);
- var foo2 = "";
- var dontoptimizeme = foo.ToString() + foo2.ToString();
-
- // Dig through to find all test classes
- var classes =
- (from a in AppDomain.CurrentDomain.GetAssemblies()
- from m in a.GetModules(false)
- from t in m.SafeGetTypes()
- where t.GetMethods().Any(x => x.GetCustomAttributes(typeof (FactAttribute), true).Length > 0)
- select Activator.CreateInstance(t)).ToArray();
-
- var actions = classes.SelectMany(klass => {
- var emptyArr = new object[0];
- return klass.GetType().GetMethods()
- .Where(x => x.GetCustomAttributes(typeof(FactAttribute), true).Length > 0)
- .Select(x => new Action(() => x.Invoke(klass, emptyArr)));
- }).ToArray();
-
- Console.WriteLine("Preparing to run {0} tests from {1} classes", actions.Length, classes.Length);
- Console.WriteLine("Unpause the Perf / Memory profiler now, and hit Enter");
- Console.ReadLine();
-
- foreach(var v in actions) {
- try {
- v();
- } catch(Exception ex) {
- Console.WriteLine(ex);
- }
- }
-
- Console.WriteLine("*** Made it to the end! ***");
- }
- }
-}
View
36 PerfConsoleRunner/Properties/AssemblyInfo.cs
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("PerfConsoleRunner")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("PerfConsoleRunner")]
-[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("fc2e13b1-c042-42aa-8a11-5d97b538b5ad")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
View
49 PerfConsoleRunner/Utility.cs
@@ -1,49 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-
-namespace PerfConsoleRunner
-{
- /// <summary>
- ///
- /// </summary>
- public static class Utility
- {
- public static bool ImplementsInterface(Type target, Type interfaceToCheck) {
- if (target == null)
- throw new ArgumentNullException("target");
-
- if (target.GetInterfaces().Contains(interfaceToCheck)) {
- return true;
- }
-
- if (target.BaseType != typeof(object)) {
- return ImplementsInterface(target.BaseType, interfaceToCheck);
- }
-
- return false;
- }
-
- static readonly Dictionary<string, Type> typeCache = new Dictionary<string, Type>();
- }
-
- public static class ModuleHelper
- {
- /// <summary>
- ///
- /// </summary>
- /// <param name="This"></param>
- /// <returns></returns>
- public static Type[] SafeGetTypes(this Module This)
- {
- try {
- return This.GetTypes();
- } catch(ReflectionTypeLoadException _) {
- return new Type[0];
- }
- }
- }
-}
-
-// vim: tw=120 ts=4 sw=4 et :
View
3 PerfConsoleRunner/app.config
@@ -1,3 +0,0 @@
-<?xml version="1.0"?>
-<configuration>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
View
4 PerfConsoleRunner/packages.config
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
- <package id="NLog" version="2.0.0.2000" />
-</packages>
View
81 README.md
@@ -1,81 +0,0 @@
-# ReactiveUI
-
-This library is an exploration I've been working on for several weeks on
-combining WPF Model-View-ViewModel paradigm with the Reactive Extensions for
-.NET (Rx). Combining these two make managing concurrency as well as expressing
-complicated interactions between objects possible in a declarative, functional
-way.
-
-This library is organized into several high-level assembly:
-
-- **ReactiveUI** - Core library that doesn't rely on any particular UI
- framework. `ReactiveObject`, the base ViewModel object, as well as
- `ReactiveCollection`, a more awesome ObservableCollection, is in here.
-
-- **ReactiveUI.Xaml** - Classes that require references to a Xaml'ly
- framework, like WPF or WinRT. `ReactiveCommand`, an implementation of
- ICommand, as well as the UserError classes are in this assembly.
-
-- **ReactiveUI.Blend** - This class has several Blend Behaviors and Triggers
- that make attaching ViewModel changes to Visual State Manager states.
-
-- **ReactiveUI.Routing** - A screens and navigation framework as well as
- ViewModel locator. This framework helps you to write applications using IoC
- containers to locate views, as well as navigating back and forwards between
- views.
-
-## A compelling example
-
-```cs
-public class ColorChooserThatDoesntLikeGreen : ReactiveObject
-{
- //
- // Declaring a read/write property
- //
-
- byte _Red;
- public byte Red {
- get { return _Red; }
- set { this.RaiseAndSetIfChanged(x => x.Red, value); }
- }
-
- byte _Green;
- public byte Green {
- get { return _Green; }
- set { this.RaiseAndSetIfChanged(x => x.Green, value); }
- }
-
- byte _Blue;
- public byte Blue {
- get { return _Blue; }
- set { this.RaiseAndSetIfChanged(x => x.Blue, value); }
- }
-
- //
- // Declaring a Property that's based on an Observable
- //
-
- ObservableAsPropertyHelper<Color> _Color;
- public Color Color {
- get { return _Color.Value; }
- }
-
- ReactiveCommand OkButton { get; protected set; }
-
- public ColorChooserThatDoesntLikeGreen()
- {
- var finalColor = this.WhenAny(x => x.Red, x => x.Green, x => x.Blue,
- (r,g,b) => Color.FromRGB(r.Value, g.Value, b.Value));
-
- finalColor.ToProperty(this, x => x.Color);
-
- // When the finalColor has full green, the Ok button is disabled
- OkButton = new ReactiveCommand(finalColor.Select(x => x.Green != 255));
- }
-}
-```
-
-## Learn more
-
-For more information on how to use ReactiveUI, check out
-[ReactiveUI](http://www.reactiveui.net).
View
201 Rakefile
@@ -1,201 +0,0 @@
-require 'albacore'
-require 'fileutils'
-
-#
-# COOLSTUFF: Rake tasks to automate common tasks
-#
-# If you install Ruby (via http://ruby-lang.org), as well as the Albacore gem
-# (gem install albacore), Kitchen Sink comes with an automated build and
-# packaging system, which is really easy to extend.
-#
-# Some Interesting Commands:
-#
-# rake build # Builds all of your solutions, and places files in ./bin
-#
-# rake publish # Publishes your app using ClickOnce, and zips up a copy of the
-# # binaries in the same folder
-#
-
-###
-### Project Settings
-###
-
-HolyCrapDidIActuallyReadThisSection = true
-
-ProductInformation = {
- :product_name => "Reactive XAML",
- :version => "1.1.1.0",
- :company_name => "Paul Betts",
- :description => "An MVVM framework that integrates the Reactive Extensions",
-}
-
-CustomPrebuildTasks = {
- :reactivexaml => [:assemblyinfo_reactivexaml, :assemblyinfo_reactivexamlblend],
-}
-
-
-###
-### Custom Tasks
-###
-
-desc "Generate an AssemblyInfo.cs for ReactiveUI"
-assemblyinfo :assemblyinfo_reactivexaml do |asm|
- ProductInformation.each {|k,v| set_property(asm, k, v)}
- asm.output_file = "ReactiveUI/Properties/AssemblyInfo.cs"
-end
-
-desc "Generate an AssemblyInfo.cs for ReactiveUI.Blend"
-assemblyinfo :assemblyinfo_reactivexamlblend do |asm|
- ProductInformation.each {|k,v| set_property(asm, k, v)}
- asm.product_name = "Reactive XAML Expression Blend"
- asm.output_file = "ReactiveUI.Blend/Properties/AssemblyInfo.cs"
-end
-
-
-
-
-
-###############################################################################
-##
-## STOP READING NOW, you don't *have* to edit this section, unless you want to
-## of course.
-##
-###############################################################################
-
-###
-### Constants and functions that don't need to be changed per project
-###
-
-RootProjectDir = File.dirname(__FILE__)
-
-def sln_file_to_name(path, prefix)
- an_underscore = prefix ? '_' : ''
- fancy_name = [prefix, an_underscore, File.basename(path, '.sln').gsub(/([-_]|\.)/, '')].join('').downcase
- fancy_name.to_sym
-end
-
-def set_property(object, property, value)
- object.send((property.to_s + '=').to_sym, value)
-end
-
-def publish_dir_for_sln(sln_file)
- "#{ClickOnceRootPublishLocation}/#{sln_file_to_name(sln_file, nil)}"
-end
-
-@all_solution_files = Dir.glob(File.join(RootProjectDir, '**', '*.sln'))
-
-###
-### Generated Tasks
-###
-
-@all_solution_files.each do |sln_file|
- clean_task_names = ["clean_dbg", "clean_rel"].map{|x| sln_file_to_name(sln_file,x)}
-
- desc "Cleans '#{sln_file}'"
- task sln_file_to_name(sln_file, "clean") => clean_task_names
-
- clean_task_names.zip([:debug, :release]).each do |x|
- msbuild x[0] do |msb|
- msb.solution = sln_file
- msb.properties = {:configuration => x[1]}
- msb.targets [:clean]
- end
- end
-
- custom_prebuild_tasks = CustomPrebuildTasks[sln_file_to_name(sln_file, nil)] || []
- desc "Builds '#{sln_file}'"
- msbuild sln_file_to_name(sln_file, "build") => custom_prebuild_tasks do |msb|
- msb.solution = sln_file
- msb.properties = {
- :configuration => :release,
- :applicationversion => ProductInformation[:version],
- }
-
- msb.targets [:build]
- end
-
- clean_and_build = ["clean", "build"].map {|x| sln_file_to_name(sln_file, x)}
- desc "Publishes '#{sln_file}'"
- msbuild sln_file_to_name(sln_file, "publish") => clean_and_build do |msb|
- # NB: These paths have to end in a slash or else MSBuild loses it
- publish_dir = publish_dir_for_sln(sln_file) + '/'
-
- msb.solution = sln_file
-
- msb.properties = {
- :configuration => :release,
- :publishdir => publish_dir,
- :publishurl => publish_dir,
- :installurl => publish_dir,
- :applicationversion => ProductInformation[:version]
- }
-
- msb.targets [:publish]
- end
-end
-
-@bin_dir = File.join(RootProjectDir, 'bin')
-
-desc "Clears out the 'bin' directory"
-task :blow_away_bin_folder do
- FileUtils.rm_rf @bin_dir
-end
-
-desc "Clears out the TestResults directory"
-task :blow_away_test_results do
- FileUtils.rm_rf File.join(RootProjectDir, 'TestResults')
-end
-
-desc "Copies binaries from all of the subprojects to one 'bin' folder"
-task :copy_binaries_to_bin_folder do
- Dir.glob("**/bin/Release").each do |release_dir|
- `robocopy "#{release_dir}" "#{@bin_dir}" /MIR`
- end
-end
-
-desc "Publishes a zipped archive of the binaries for a particular release"
-zip :publish_archive do |z|
- z.directories_to_zip 'bin'
- z.output_file = "Binaries-#{ProductInformation[:version]}-#{Time.now.strftime('%Y%m%d-%H%M%S')}.zip"
- z.output_path = File.join(RootProjectDir, '..')
-end
-
-desc "Publishes a zipped archive of the source files"
-zip :source_zip => :clean do |z|
- z.directories_to_zip RootProjectDir
- z.output_file = "#{File.basename(RootProjectDir)}-#{ProductInformation[:version]}-#{Time.now.strftime('%Y%m%d-%H%M%S')}.zip"
- z.output_path = File.join(RootProjectDir, '..')
-end
-
-
-
-###
-### Generate the "all" tasks
-###
-
-desc "Cleans all projects"
-task :clean => @all_solution_files.map{|f| sln_file_to_name(f, "clean")} + [:blow_away_bin_folder, :blow_away_test_results]
-
-desc "Builds all projects"
-task :build => @all_solution_files.map{|f| sln_file_to_name(f, "build")} + [:copy_binaries_to_bin_folder]
-
-desc "Publishes all projects"
-task :publish => @all_solution_files.map{|f| sln_file_to_name(f, "publish")} + [:copy_binaries_to_bin_folder, :publish_archive]
-
-task :default => [:build]
-
-
-# Punish those who don't read the README
-
-unless HolyCrapDidIActuallyReadThisSection
- STDERR.puts <<-EOS
-
- *************************************************************************
- ** **
- ** Hey! You need to edit Rakefile before you can actually use this, or **
- ** else weird things will happen. **
- ** **
- *************************************************************************
- EOS
- exit 1
-end
View
102 ReactiveUI.Blend/AsyncCommandVisualStateBehavior.cs
@@ -1,102 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Reactive.Linq;
-using System.Text;
-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;
-using System.Windows.Interactivity;
-using System.Linq;
-using ReactiveUI.Xaml;
-
-namespace ReactiveUI.Blend
-{
-#if SILVERLIGHT
- public class AsyncCommandVisualStateBehavior : Behavior<Control>
-#else
- public class AsyncCommandVisualStateBehavior : Behavior<FrameworkElement>
-#endif
- {
- public IReactiveAsyncCommand AsyncCommand {
- get { return (IReactiveAsyncCommand)GetValue(AsyncCommandProperty); }
- set { SetValue(AsyncCommandProperty, value); }
- }
- public static readonly DependencyProperty AsyncCommandProperty =
- DependencyProperty.Register("AsyncCommand", typeof(IReactiveAsyncCommand), typeof(AsyncCommandVisualStateBehavior), new PropertyMetadata(onAsyncCommandChanged));
-
-#if SILVERLIGHT
- public Control TargetObject {
- get { return (Control)GetValue(TargetObjectProperty); }
- set { SetValue(TargetObjectProperty, value); }
- }
- public static readonly DependencyProperty TargetObjectProperty =
- DependencyProperty.Register("TargetObject", typeof(Control), typeof(AsyncCommandVisualStateBehavior), new PropertyMetadata(null));
-#else
- public FrameworkElement TargetObject {
- get { return (FrameworkElement)GetValue(TargetObjectProperty); }
- set { SetValue(TargetObjectProperty, value); }
- }
- public static readonly DependencyProperty TargetObjectProperty =
- DependencyProperty.Register("TargetObject", typeof(FrameworkElement), typeof(AsyncCommandVisualStateBehavior), new PropertyMetadata(null));
-#endif
-
- public string AllItemsCompletedState {get; set;}
- public string OneItemCompletedState {get; set;}
- public string ItemStartedState {get; set;}
- public string ErrorState { get; set; }
-
- public bool AutoResubscribeOnError { get; set; }
-
- protected override void OnAttached()
- {
- base.OnAttached();
- gotoState(AllItemsCompletedState, false);
- }
-
- protected override void OnDetaching()
- {
- if (watcher != null) {
- watcher.Dispose();
- watcher = null;
- }
- base.OnDetaching();
- }
-
- IDisposable watcher;
- protected static void onAsyncCommandChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
- {
- AsyncCommandVisualStateBehavior This = (AsyncCommandVisualStateBehavior)sender;
- IReactiveAsyncCommand cmd = e.NewValue as IReactiveAsyncCommand;
-
- if (This.watcher != null) {
- This.watcher.Dispose();
- This.watcher = null;
- }
-
- This.watcher = cmd.ItemsInflight.Zip(cmd.ItemsInflight.Skip(1), (now, prev) => new { Now = now, Delta = now - prev })
- .Subscribe(x => {
- var state = (x.Delta > 0 ? This.ItemStartedState : This.OneItemCompletedState);
- state = (x.Now == 0 && x.Delta < 0 ? This.AllItemsCompletedState : state);
- This.gotoState(state);
- }, ex => {
- This.gotoState(This.ErrorState);
- if (!This.AutoResubscribeOnError)
- return;
- onAsyncCommandChanged(This, e);
- });
- }
-
- void gotoState(string state, bool animate = true)
- {
- if (String.IsNullOrEmpty(state))
- return;
- VisualStateManager.GoToState(TargetObject ?? this.AssociatedObject, state, animate);
- }
- }
-
-}
View
78 ReactiveUI.Blend/FollowObservableStateBehavior.cs
@@ -1,78 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Reactive.Linq;
-using System.Text;
-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;
-using System.Windows.Interactivity;
-using System.Linq;
-//using Microsoft.Expression.Interactivity.Core;
-
-namespace ReactiveUI.Blend
-{
-#if SILVERLIGHT
- public class FollowObservableStateBehavior : Behavior<Control>
-#else
- public class FollowObservableStateBehavior : Behavior<FrameworkElement>
-#endif
- {
- public IObservable<string> StateObservable {
- get { return (IObservable<string>)GetValue(StateObservableProperty); }
- set { SetValue(StateObservableProperty, value); }
- }
- public static readonly DependencyProperty StateObservableProperty =
- DependencyProperty.Register("StateObservable", typeof(IObservable<string>), typeof(FollowObservableStateBehavior), new PropertyMetadata(onStateObservableChanged));
-
-#if SILVERLIGHT
- public Control TargetObject {
- get { return (Control)GetValue(TargetObjectProperty); }
- set { SetValue(TargetObjectProperty, value); }
- }
- public static readonly DependencyProperty TargetObjectProperty =
- DependencyProperty.Register("TargetObject", typeof(Control), typeof(FollowObservableStateBehavior), new PropertyMetadata(null));
-#else
- public FrameworkElement TargetObject {
- get { return (FrameworkElement)GetValue(TargetObjectProperty); }
- set { SetValue(TargetObjectProperty, value); }
- }
- public static readonly DependencyProperty TargetObjectProperty =
- DependencyProperty.Register("TargetObject", typeof(FrameworkElement), typeof(FollowObservableStateBehavior), new PropertyMetadata(null));
-#endif
-
- public bool AutoResubscribeOnError { get; set; }
-
- IDisposable watcher;
-
- protected override void OnDetaching()
- {
- if (watcher != null) {
- watcher.Dispose();
- watcher = null;
- }
- base.OnDetaching();
- }
-
- protected static void onStateObservableChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
- {
- FollowObservableStateBehavior This = (FollowObservableStateBehavior)sender;
- if (This.watcher != null) {
- This.watcher.Dispose();
- This.watcher = null;
- }
-
- This.watcher = ((IObservable<string>)e.NewValue).ObserveOn(RxApp.DeferredScheduler).Subscribe(
- x => VisualStateManager.GoToState(This.TargetObject ?? This.AssociatedObject, x, true),
- ex => {
- if (!This.AutoResubscribeOnError)
- return;
- onStateObservableChanged(This, e);
- });
- }
- }
-}
View
40 ReactiveUI.Blend/ObservableTrigger.cs
@@ -1,40 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reactive.Linq;
-using System.Text;
-using System.Windows.Interactivity;
-using System.Windows;
-
-namespace ReactiveUI.Blend
-{
- public class ObservableTrigger : TriggerBase<FrameworkElement>
- {
- public IObservable<object> Observable {
- get { return (IObservable<object>)GetValue(ObservableProperty); }
- set { SetValue(ObservableProperty, value); }
- }
- public static readonly DependencyProperty ObservableProperty =
- DependencyProperty.Register("Observable", typeof(IObservable<object>), typeof(ObservableTrigger), new PropertyMetadata(onObservableChanged));
-
- public bool AutoResubscribeOnError { get; set; }
-
- IDisposable watcher;
- protected static void onObservableChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
- {
- ObservableTrigger This = (ObservableTrigger)sender;
- if (This.watcher != null) {
- This.watcher.Dispose();
- This.watcher = null;
- }
-
- This.watcher = ((IObservable<object>)e.NewValue).ObserveOn(RxApp.DeferredScheduler).Subscribe(
- x => This.InvokeActions(x),
- ex => {
- if (!This.AutoResubscribeOnError)
- return;
- onObservableChanged(This, e);
- });
- }
- }
-}
View
6 ReactiveUI.Blend/Properties/AssemblyInfo.cs
@@ -1,6 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-[assembly: AssemblyDescription("An MVVM framework that integrates the Reactive Extensions")]
-[assembly: AssemblyProduct("ReactiveUI for Expression Blend")]
-[assembly: AssemblyVersion("3.2.0.0")]
View
89 ReactiveUI.Blend/ReactiveUI.Blend.csproj
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.30703</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{3870EA63-AFDF-4D49-B4D6-8299506E67B4}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>ReactiveUI.Blend</RootNamespace>
- <AssemblyName>ReactiveUI.Blend</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <SccProjectName>
- </SccProjectName>
- <SccLocalPath>
- </SccLocalPath>
- <SccAuxPath>
- </SccAuxPath>
- <SccProvider>
- </SccProvider>
- <TargetFrameworkProfile>Client</TargetFrameworkProfile>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\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>bin\Release\Net40\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <DocumentationFile>bin\Release\Net40\ReactiveUI.Blend.xml</DocumentationFile>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Microsoft.Expression.Interactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
- <Reference Include="NLog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
- <HintPath>..\packages\NLog.2.0.0.2000\lib\net40\NLog.dll</HintPath>
- </Reference>
- <Reference Include="PresentationCore" />
- <Reference Include="PresentationFramework" />
- <Reference Include="System" />
- <Reference Include="System.Core" />
- <Reference Include="System.Reactive">
- <HintPath>..\ext\System.Reactive.dll</HintPath>
- </Reference>
- <Reference Include="System.Reactive.Windows.Threading">
- <HintPath>..\ext\System.Reactive.Windows.Threading.dll</HintPath>
- </Reference>
- <Reference Include="System.Windows.Interactivity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
- <Reference Include="System.Xaml" />
- <Reference Include="System.Xml.Linq" />
- <Reference Include="Microsoft.CSharp" />
- <Reference Include="System.Xml" />
- <Reference Include="WindowsBase" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="AsyncCommandVisualStateBehavior.cs" />
- <Compile Include="FollowObservableStateBehavior.cs" />
- <Compile Include="ObservableTrigger.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\ReactiveUI.Xaml\ReactiveUI.Xaml.csproj">
- <Project>{761AC9BA-4A9C-440C-9B6C-2569978F0610}</Project>
- <Name>ReactiveUI.Xaml</Name>
- </ProjectReference>
- <ProjectReference Include="..\ReactiveUI\ReactiveUI.csproj">
- <Project>{292A477B-BB94-43C1-984E-E177EF9FEDB7}</Project>
- <Name>ReactiveUI</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
View
106 ReactiveUI.Blend/ReactiveUI.Blend_SL5.csproj
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.50727</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{1E453720-AEE5-4B34-8660-7AD86E5E05AF}</ProjectGuid>
- <ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>ReactiveUI.Blend</RootNamespace>
- <AssemblyName>ReactiveUI.Blend_SL5</AssemblyName>
- <TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
- <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
- <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
- <SilverlightApplication>false</SilverlightApplication>
- <ValidateXaml>true</ValidateXaml>
- <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
- <SccProjectName>
- </SccProjectName>
- <SccLocalPath>
- </SccLocalPath>
- <SccAuxPath>
- </SccAuxPath>
- <SccProvider>
- </SccProvider>
- </PropertyGroup>
- <!-- This property group is only here to support building this project using the
- MSBuild 3.5 toolset. In order to work correctly with this older toolset, it needs
- to set the TargetFrameworkVersion to v3.5 -->
- <PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'">
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>Bin\Debug</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>Bin\Release\SL5\</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <DocumentationFile>Bin\Release\SL5\ReactiveUI.Blend_SL5.xml</DocumentationFile>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="mscorlib" />
- <Reference Include="System.Reactive">
- <HintPath>..\ext\SL5\System.Reactive.dll</HintPath>
- </Reference>
- <Reference Include="System.Reactive.Windows.Threading">
- <HintPath>..\ext\SL5\System.Reactive.Windows.Threading.dll</HintPath>
- </Reference>
- <Reference Include="System.Windows" />
- <Reference Include="system" />
- <Reference Include="System.Core" />
- <Reference Include="System.Windows.Interactivity">
- <HintPath>C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\Windows Phone\v7.1\Libraries\System.Windows.Interactivity.dll</HintPath>
- </Reference>
- <Reference Include="System.Xml" />
- <Reference Include="System.Net" />
- <Reference Include="System.Windows.Browser" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="AsyncCommandVisualStateBehavior.cs" />
- <Compile Include="FollowObservableStateBehavior.cs" />
- <Compile Include="ObservableTrigger.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\ReactiveUI.Xaml\ReactiveUI.Xaml_SL5.csproj">
- <Project>{73804A79-A9FC-48FD-8F7C-E796415A8B3A}</Project>
- <Name>ReactiveUI.Xaml_SL5</Name>
- </ProjectReference>
- <ProjectReference Include="..\ReactiveUI\ReactiveUI_SL5.csproj">
- <Project>{B3381C78-C099-4902-89D4-B879AA83BFC9}</Project>
- <Name>ReactiveUI_SL5</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
- <ProjectExtensions>
- <VisualStudio>
- <FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
- <SilverlightProjectProperties />
- </FlavorProperties>
- </VisualStudio>
- </ProjectExtensions>
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
View
100 ReactiveUI.Blend/ReactiveUI.Blend_WP7.csproj
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>10.0.20506</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{BA2FAC3E-23EF-4067-8D73-4607E5CD169C}</ProjectGuid>
- <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>ReactiveUI.Blend</RootNamespace>
- <AssemblyName>ReactiveUI.Blend_WP7</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
- <TargetFrameworkProfile>WindowsPhone71</TargetFrameworkProfile>
- <TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
- <SilverlightApplication>false</SilverlightApplication>
- <ValidateXaml>true</ValidateXaml>
- <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>Bin\Debug\WP7\</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>Bin\Release\WP7\</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <DocumentationFile>Bin\Release\WP7\ReactiveUI.Blend_WP7.xml</DocumentationFile>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="AsyncCtpLibrary_Phone">
- <HintPath>..\ext\WP71\AsyncCtpLibrary_Phone.dll</HintPath>
- </Reference>
- <Reference Include="Microsoft.Expression.Interactions, Version=3.7.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.Reactive.Testing">
- <HintPath>..\ext\WP71\Microsoft.Reactive.Testing.dll</HintPath>
- </Reference>
- <Reference Include="mscorlib.Extensions" />
- <Reference Include="NLog">
- <HintPath>..\packages\NLog.2.0.0.2000\lib\sl4-windowsphone71\NLog.dll</HintPath>
- </Reference>
- <Reference Include="System.Observable" />
- <Reference Include="System.Reactive">
- <HintPath>..\ext\WP71\System.Reactive.dll</HintPath>
- </Reference>
- <Reference Include="System.Reactive.Windows.Threading">
- <HintPath>..\ext\WP71\System.Reactive.Windows.Threading.dll</HintPath>
- </Reference>
- <Reference Include="System.Windows" />
- <Reference Include="system" />
- <Reference Include="System.Core" />
- <Reference Include="System.Windows.Interactivity, Version=3.8.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
- <Reference Include="System.Xml" />
- <Reference Include="System.Net" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="AsyncCommandVisualStateBehavior.cs" />
- <Compile Include="FollowObservableStateBehavior.cs" />
- <Compile Include="ObservableTrigger.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\ReactiveUI.Xaml\ReactiveUI.Xaml_WP7.csproj">
- <Project>{06C34984-B706-49BF-85BB-9282DD6238D1}</Project>
- <Name>ReactiveUI.Xaml_WP7</Name>
- </ProjectReference>
- <ProjectReference Include="..\ReactiveUI\ReactiveUI_WP7.csproj">
- <Project>{FAEA4F2E-017C-47AF-B467-4D2C7210CDEF}</Project>
- <Name>ReactiveUI_WP7</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <None Include="app.config" />
- <None Include="packages.config" />
- </ItemGroup>
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.$(TargetFrameworkProfile).Overrides.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.CSharp.targets" />
- <ProjectExtensions />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
View
11 ReactiveUI.Blend/app.config
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
- <runtime>
- <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
- <dependentAssembly>
- <assemblyIdentity name="System.Windows.Interactivity" publicKeyToken="31bf3856ad364e35" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-3.8.5.0" newVersion="3.8.5.0" />
- </dependentAssembly>
- </assemblyBinding>
- </runtime>
-</configuration>
View
4 ReactiveUI.Blend/packages.config
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
- <package id="NLog" version="2.0.0.2000" />
-</packages>
View
88 ReactiveUI.Gtk/GtkRunloopScheduler.cs
@@ -1,88 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Reactive.Concurrency;
-using System.Reactive.Disposables;
-using GLib;
-
-namespace ReactiveUI.Gtk
-{
- public class GtkRunloopScheduler : IScheduler, IDisposable
- {
- IdleHandler handler = null;
- readonly List<Action> dispatcherQueue = new List<Action>();
-
- public IDisposable Schedule<TState>(TState state, Func<IScheduler, TState, IDisposable> action)
- {
- Action toAdd = () => action(this, state);
- dispatcherQueue.Add(toAdd);
- initializeHandlerIfNecessary();
-
- return Disposable.Create(() => {
- var index = dispatcherQueue.IndexOf(toAdd);
- if (index >= 0) {
- dispatcherQueue.RemoveAt(index);
- }
- });
- }
-
- public IDisposable Schedule<TState>(TState state, DateTimeOffset dueTime, Func<IScheduler, TState, IDisposable> action)
- {
- if (dueTime <= Now) {
- return Schedule(state, action);
- }
-
- return Schedule(state, dueTime - Now, action);
- }
-
- public IDisposable Schedule<TState>(TState state, TimeSpan dueTime, Func<IScheduler, TState, IDisposable> action)
- {
- bool isCancelled = false;
-
- Timeout.Add((uint)dueTime.TotalMilliseconds, () => {
- if (!isCancelled)
- action(this, state);
- return false;
- });
-
- return Disposable.Create(() => isCancelled = true);
- }
-
- public DateTimeOffset Now {
- get { return DateTimeOffset.Now; }
- }
-
- public void Dispose()
- {
- if (handler != null) {
- Idle.Remove(handler);
- handler = null;
- }
- }
-
- void initializeHandlerIfNecessary()
- {
- if (handler != null) {
- return;
- }
-
- handler = () => {
- if (dispatcherQueue.Count == 0) {
- return true;
- }
-
- var item = dispatcherQueue [0];
- dispatcherQueue.RemoveAt(0);
- item();
-
- if (dispatcherQueue.Count == 0) {
- handler = null;
- return false;
- }
-
- return true;
- };
-
- Idle.Add(handler);
- }
- }
-}
View
11 ReactiveUI.Gtk/Properties/AssemblyInfo.cs
@@ -1,11 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("ReactiveUI.Gtk")]
-[assembly: AssemblyDescription("Gtk# support for ReactiveUI")]
-[assembly: AssemblyProduct("ReactiveUI.Gtk")]
-
-[assembly: AssemblyVersion("3.2.0.0")]
View
70 ReactiveUI.Gtk/ReactiveUI.Gtk_Mono.csproj
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>10.0.0</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{482DE1CC-A08C-49F7-AB36-445DC9724482}</ProjectGuid>
- <OutputType>Library</OutputType>
- <RootNamespace>ReactiveUI.Gtk</RootNamespace>
- <AssemblyName>ReactiveUI.Gtk</AssemblyName>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\Debug</OutputPath>
- <DefineConstants>DEBUG;</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>false</ConsolePause>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>none</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\Release</OutputPath>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>false</ConsolePause>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
- <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
- <Private>False</Private>
- </Reference>
- <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
- <Private>False</Private>
- </Reference>
- <Reference Include="atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
- <Private>False</Private>
- </Reference>
- <Reference Include="System.Reactive">
- <HintPath>..\ext\System.Reactive.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="GtkRunloopScheduler.cs" />
- <Compile Include="RoutedViewHost.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <ItemGroup>
- <Folder Include="Properties\" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\ReactiveUI\ReactiveUI_Mono.csproj">
- <Project>{292A477B-BB94-43C1-984E-E177EF9FEDB7}</Project>
- <Name>ReactiveUI_Mono</Name>
- </ProjectReference>
- <ProjectReference Include="..\ReactiveUI.Xaml\ReactiveUI.Xaml_Mono.csproj">
- <Project>{761AC9BA-4A9C-440C-9B6C-2569978F0610}</Project>
- <Name>ReactiveUI.Xaml_Mono</Name>
- </ProjectReference>
- <ProjectReference Include="..\ReactiveUI.Routing\ReactiveUI.Routing_Mono.csproj">
- <Project>{67038157-092E-4D72-BAF4-049EB1532264}</Project>
- <Name>ReactiveUI.Routing_Mono</Name>
- </ProjectReference>
- </ItemGroup>
-</Project>
View
47 ReactiveUI.Gtk/RoutedViewHost.cs
@@ -1,47 +0,0 @@
-using System;
-using Gtk;
-using System.Reactive;
-using ReactiveUI;
-using ReactiveUI.Routing;
-
-namespace ReactiveUI.Gtk
-{
- [System.ComponentModel.ToolboxItem(true)]
- public class RoutedViewHost : Bin
- {
- IRoutingState _Router;
- public IRoutingState Router {
- get { return _Router; }
- set {
- _Router = value;
- updateRouter();
- }
- }
-
- public Widget DefaultContent { get; set;}
-
- IDisposable currentRouterSub = null;
- void updateRouter()
- {
- if (currentRouterSub != null) {
- currentRouterSub.Dispose();
- currentRouterSub = null;
- }
-
- if (Router == null)
- return;
-
- currentRouterSub = Router.ViewModelObservable().Subscribe(vm => {
- if (vm == null) {
- Child = DefaultContent;
- return;
- }
-
- var view = RxRouting.ResolveView(vm);
- view.ViewModel = vm;
- Child = (Widget)view;
- });
- }
- }
-}
-
View
26 ReactiveUI.Routing.Tests/Properties/AssemblyInfo.cs
@@ -1,26 +0,0 @@
-// <copyright file="AssemblyInfo.cs" company="Microsoft">Copyright © Microsoft 2010</copyright>
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Security;
-
-// System.Security
-#if !SILVERLIGHT
-[assembly: AllowPartiallyTrustedCallers]
-[assembly: SecurityRules(SecurityRuleSet.Level1)]
-#endif
-
-// System.Reflection
-[assembly: AssemblyTitle("ReactiveUI.Serialization Pex Tests")]
-
-// System.Runtime.InteropServices
-[assembly: ComVisible(false)]
-[assembly: Guid("670bd3eb-de63-42fa-92c2-010dc280b0dc")]
-
-// System
-[assembly: CLSCompliant(false)]
-
-// System.Runtime.CompilerServices
-[assembly: InternalsVisibleTo("Microsoft.Pex, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
-
View
96 ReactiveUI.Routing.Tests/ReactiveUI.Routing.Tests.csproj
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.30703</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{7584D9EF-E24C-4A60-B617-C42CB1EA606E}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>ReactiveUI.Routing.Tests</RootNamespace>
- <AssemblyName>ReactiveUI.Routing.Tests</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\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>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Microsoft.Reactive.Testing">
- <HintPath>..\ext\Microsoft.Reactive.Testing.dll</HintPath>
- </Reference>
- <Reference Include="NLog">
- <HintPath>..\packages\NLog.2.0.0.2000\lib\net40\NLog.dll</HintPath>
- </Reference>
- <Reference Include="PresentationCore" />
- <Reference Include="PresentationFramework" />
- <Reference Include="System" />
- <Reference Include="System.ComponentModel.DataAnnotations" />
- <Reference Include="System.Core" />
- <Reference Include="System.Reactive">
- <HintPath>..\ext\System.Reactive.dll</HintPath>
- </Reference>
- <Reference Include="System.Reactive.Windows.Threading">
- <HintPath>..\ext\System.Reactive.Windows.Threading.dll</HintPath>
- </Reference>
- <Reference Include="System.Xaml" />
- <Reference Include="System.Xml.Linq" />
- <Reference Include="System.Data.DataSetExtensions" />
- <Reference Include="Microsoft.CSharp" />
- <Reference Include="System.Data" />
- <Reference Include="System.Xml" />
- <Reference Include="WindowsBase" />
- <Reference Include="xunit">
- <HintPath>..\ext\xunit\xunit.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="RoutingState.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="RxRouting.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\ReactiveUI.Routing\ReactiveUI.Routing.csproj">
- <Project>{67038157-092E-4D72-BAF4-049EB1532264}</Project>
- <Name>ReactiveUI.Routing</Name>
- </ProjectReference>
- <ProjectReference Include="..\ReactiveUI.Testing\ReactiveUI.Testing.csproj">
- <Project>{E1F2AD19-276E-4D05-A41A-89AA133CECFC}</Project>
- <Name>ReactiveUI.Testing</Name>
- </ProjectReference>
- <ProjectReference Include="..\ReactiveUI.Xaml\ReactiveUI.Xaml.csproj">
- <Project>{761AC9BA-4A9C-440C-9B6C-2569978F0610}</Project>
- <Name>ReactiveUI.Xaml</Name>
- </ProjectReference>
- <ProjectReference Include="..\ReactiveUI\ReactiveUI.csproj">
- <Project>{292A477B-BB94-43C1-984E-E177EF9FEDB7}</Project>
- <Name>ReactiveUI</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <None Include="packages.config" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
View
50 ReactiveUI.Routing.Tests/RoutingState.cs
@@ -1,50 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Xunit;
-
-namespace ReactiveUI.Routing.Tests
-{
- public class TestViewModel : ReactiveObject, IRoutableViewModel
- {
- string _SomeProp;
- public string SomeProp {
- get { return _SomeProp; }
- set { this.RaiseAndSetIfChanged(x => x.SomeProp, value); }
- }
-
- public string UrlPathSegment {
- get { return "Test"; }
- }
-
- public IScreen HostScreen
- {
- get { return null; }
- }
- }
-
- public class RoutingStateTests
- {
- [Fact]
- public void NavigationPushPopTest()
- {
- var input = new TestViewModel() {SomeProp = "Foo"};
- var fixture = new RoutingState();
-
- RxApp.ConfigureServiceLocator(
- (t, s) => new TestViewModel() {SomeProp = "Foo"},
- (t, s) => Enumerable.Empty<object>());
-
- Assert.False(fixture.NavigateBack.CanExecute(input));
- fixture.Navigate.Go<TestViewModel>();
-
- Assert.Equal(1, fixture.NavigationStack.Count);
- Assert.True(fixture.NavigateBack.CanExecute(null));
-
- fixture.NavigateBack.Execute(null);
-
- Assert.Equal(0, fixture.NavigationStack.Count);
- }
- }
-}
View
92 ReactiveUI.Routing.Tests/RxRouting.cs
@@ -1,92 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using ReactiveUI;
-using ReactiveUI.Routing;
-using Xunit;
-
-namespace Foobar.ViewModels
-{
- public interface IFooBarViewModel : IRoutableViewModel {}
-
- public interface IBazViewModel : IRoutableViewModel {}
-
- public class FooBarViewModel : ReactiveObject, IFooBarViewModel
- {
- public string UrlPathSegment { get { return "foo"; } }
- public IScreen HostScreen { get; private set; }
-
- public FooBarViewModel(IScreen hostScreen)
- {
- HostScreen = hostScreen;
- }
- }
-
- public class BazViewModel : ReactiveObject, IBazViewModel
- {
- public string UrlPathSegment { get { return "foo"; } }
- public IScreen HostScreen { get; private set; }
-
- public BazViewModel(IScreen hostScreen)
- {
- HostScreen = hostScreen;
- }
- }
-}
-
-namespace Foobar.Views
-{
- using ViewModels;
-
- public class FooBarView : IViewForViewModel<IFooBarViewModel>
- {
- object IViewForViewModel.ViewModel { get { return ViewModel; } set { ViewModel = (IFooBarViewModel) value; } }
- public IFooBarViewModel ViewModel { get; set; }
- }
-
- public interface IBazView : IViewForViewModel<IBazViewModel> {}
-
- public class BazView : IBazView
- {
- object IViewForViewModel.ViewModel { get { return ViewModel; } set { ViewModel = (IBazViewModel)value; } }
- public IBazViewModel ViewModel { get; set; }
- }
-}
-
-namespace ReactiveUI.Routing.Tests
-{
- using Foobar.Views;
- using Foobar.ViewModels;
-
- public class RxRoutingTests : IEnableLogger
- {
- [Fact]
- public void ResolveExplicitViewType()
- {
- RxApp.ConfigureServiceLocator(
- (x, _) => (x.Name == "IBazView" ? new BazView() : null),
- (x, _) => null);
-
- var vm = new BazViewModel(null);
-
- var result = RxRouting.ResolveView(vm);
- this.Log().Info(result.GetType().FullName);
- Assert.True(result is BazView);
- }
-
- [Fact]
- public void ResolvePureInterfaceType()
- {
- RxApp.ConfigureServiceLocator(
- (x, _) => (x == typeof(IViewForViewModel<IFooBarViewModel>) ? new FooBarView() : null),
- (x, _) => null);
-
- var vm = new FooBarViewModel(null);
-
- var result = RxRouting.ResolveView(vm);
- this.Log().Info(result.GetType().FullName);
- Assert.True(result is FooBarView);
- }
- }
-}
View
4 ReactiveUI.Routing.Tests/packages.config
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
- <package id="NLog" version="2.0.0.2000" />
-</packages>
View
107 ReactiveUI.Routing/Interfaces.cs
@@ -1,107 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reactive.Subjects;
-using System.Text;
-using ReactiveUI.Xaml;
-
-namespace ReactiveUI.Routing
-{
- // NB: This is just a name we can bolt extension methods to
- public interface INavigateCommand : IReactiveCommand { }
-
- public interface IRoutingState : IReactiveNotifyPropertyChanged
- {
- /// <summary>
- /// Represents the current navigation stack, the last element in the
- /// collection being the currently visible ViewModel.
- /// </summary>
- ReactiveCollection<IRoutableViewModel> NavigationStack { get; }
-
- /// <summary>
- /// Navigates back to the previous element in the stack.
- /// </summary>
- IReactiveCommand NavigateBack { get; }
-
- /// <summary>
- /// Navigates to the a new element in the stack - the Execute parameter
- /// must be a ViewModel that implements IRoutableViewModel.
- /// </summary>
- INavigateCommand Navigate { get; }
-
- /// <summary>
- /// Navigates to a new element and resets the navigation stack (i.e. the
- /// new ViewModel will now be the only element in the stack) - the
- /// Execute parameter must be a ViewModel that implements
- /// IRoutableViewModel.
- /// </summary>
- INavigateCommand NavigateAndReset { get; }
- }
-
- /// <summary>
- /// Implement this interface for ViewModels that can be navigated to.
- /// </summary>
- public interface IRoutableViewModel : IReactiveNotifyPropertyChanged
- {
- /// <summary>
- /// A string token representing the current ViewModel, such as 'login' or 'user'
- /// </summary>
- string UrlPathSegment { get; }
-
- /// <summary>
- /// The IScreen that this ViewModel is currently being shown in. This
- /// is usually passed into the ViewModel in the Constructor and saved
- /// as a ReadOnly Property.
- /// </summary>
- IScreen HostScreen { get; }
- }
-
- public interface IViewForViewModel
- {
- object ViewModel { get; set; }
- }
-
- /// <summary>
- /// Implement this interface on your Views.
- /// </summary>
- public interface IViewForViewModel<T> : IViewForViewModel
- where T : IReactiveNotifyPropertyChanged
- {
- /// <summary>
- /// The ViewModel corresponding to this specific View.
- /// </summary>
- T ViewModel { get; set; }
- }
-
- /// <summary>
- /// IScreen represents any object that is hosting its own routing -
- /// usually this object is your AppViewModel or MainWindow object.
- /// </summary>
- public interface IScreen
- {
- /// <summary>
- /// The Router associated with this Screen.
- /// </summary>
- IRoutingState Router { get; }
- }
-
- /// <summary>
- /// Allows an additional string to make view resolution more specific than just a type.
- /// </summary>
- public class ViewContractAttribute : Attribute
- {
- /// <summary>
- /// A unique string that will be used along with the type to resolve a View
- /// </summary>
- public string Contract { get; set; }
- }
-
- public static class ObservableUtils
- {
- public static IConnectableObservable<T> PermaRef<T>(this IConnectableObservable<T> This)
- {
- This.Connect();
- return This;
- }
- }
-}
View
14 ReactiveUI.Routing/Properties/AssemblyInfo.cs
@@ -1,14 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("ReactiveUI.Routing")]
-[assembly: AssemblyDescription("A ViewModel-based Routing framework for RxUI")]
-[assembly: AssemblyProduct("ReactiveUI.Routing")]
-
-[assembly: AssemblyVersion("3.2.0.0")]
-[assembly: InternalsVisibleTo("ReactiveUI.Routing.Tests")]
-[assembly: InternalsVisibleTo("ReactiveUI.Routing.Explorables")]
View
89 ReactiveUI.Routing/ReactiveUI.Routing.csproj
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.30703</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{67038157-092E-4D72-BAF4-049EB1532264}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>ReactiveUI.Routing</RootNamespace>
- <AssemblyName>ReactiveUI.Routing</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\Debug\Net40\</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>bin\Release\Net40\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <DocumentationFile>bin\Release\Net40\ReactiveUI.Routing.XML</DocumentationFile>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Microsoft.Practices.ServiceLocation">
- <HintPath>..\ext\Microsoft.Practices.ServiceLocation.dll</HintPath>
- </Reference>
- <Reference Include="NLog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
- <HintPath>..\packages\NLog.2.0.0.2000\lib\net40\NLog.dll</HintPath>
- </Reference>
- <Reference Include="PresentationCore" />
- <Reference Include="PresentationFramework" />
- <Reference Include="System" />
- <Reference Include="System.Core" />
- <Reference Include="System.Reactive">
- <HintPath>..\ext\System.Reactive.dll</HintPath>
- </Reference>
- <Reference Include="System.Reactive.Windows.Threading">
- <HintPath>..\ext\System.Reactive.Windows.Threading.dll</HintPath>
- </Reference>
- <Reference Include="System.Runtime.Serialization" />
- <Reference Include="System.Xaml" />
- <Reference Include="System.Xml.Linq" />
- <Reference Include="System.Data.DataSetExtensions" />
- <Reference Include="Microsoft.CSharp" />
- <Reference Include="System.Data" />
- <Reference Include="System.Xml" />
- <Reference Include="WindowsBase" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="Interfaces.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="RoutingState.cs" />
- <Compile Include="RxRouting.cs" />
- <Compile Include="RoutedViewHost.cs" />
- <Compile Include="ViewModelViewHost.cs" />
- </ItemGroup>
- <ItemGroup>
- <WCFMetadata Include="Service References\" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\ReactiveUI.Xaml\ReactiveUI.Xaml.csproj">
- <Project>{761AC9BA-4A9C-440C-9B6C-2569978F0610}</Project>
- <Name>ReactiveUI.Xaml</Name>
- </ProjectReference>
- <ProjectReference Include="..\ReactiveUI\ReactiveUI.csproj">
- <Project>{292A477B-BB94-43C1-984E-E177EF9FEDB7}</Project>
- <Name>ReactiveUI</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
View
76 ReactiveUI.Routing/ReactiveUI.Routing_Mono.csproj
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.30703</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{67038157-092E-4D72-BAF4-049EB1532264}</ProjectGuid>