Added sample models and view models
This commit is contained in:
Родитель
129775f20f
Коммит
0f8a44142f
|
@ -23,6 +23,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReactiveHistory.UnitTests",
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{4A600469-8200-4BDD-AA90-6B34B2D1CD2A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReactiveHistorySample.Models", "samples\ReactiveHistorySample.Models\ReactiveHistorySample.Models.csproj", "{9DDD104E-C3D1-43E1-84C1-D332E89927FB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReactiveHistorySample.ViewModels", "samples\ReactiveHistorySample.ViewModels\ReactiveHistorySample.ViewModels.csproj", "{A3C460F7-DF9E-4D6B-8CF3-A1E668C7F2F1}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -37,6 +41,10 @@ Global
|
|||
{71BA2D95-53E6-42D4-ADAA-CF34C77494F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{71BA2D95-53E6-42D4-ADAA-CF34C77494F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{71BA2D95-53E6-42D4-ADAA-CF34C77494F5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9DDD104E-C3D1-43E1-84C1-D332E89927FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9DDD104E-C3D1-43E1-84C1-D332E89927FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A3C460F7-DF9E-4D6B-8CF3-A1E668C7F2F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A3C460F7-DF9E-4D6B-8CF3-A1E668C7F2F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -44,5 +52,7 @@ Global
|
|||
GlobalSection(NestedProjects) = preSolution
|
||||
{9832484C-4BBE-43E9-B40E-9F57AF68A185} = {15FC57FA-8C2F-43AF-82D4-F53A1AA3A7EF}
|
||||
{71BA2D95-53E6-42D4-ADAA-CF34C77494F5} = {E982B451-CC08-4731-B035-E0E1B38B81A5}
|
||||
{9DDD104E-C3D1-43E1-84C1-D332E89927FB} = {4A600469-8200-4BDD-AA90-6B34B2D1CD2A}
|
||||
{A3C460F7-DF9E-4D6B-8CF3-A1E668C7F2F1} = {4A600469-8200-4BDD-AA90-6B34B2D1CD2A}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
namespace ReactiveHistorySample.Models
|
||||
{
|
||||
public abstract class BaseObject : ObservableObject
|
||||
{
|
||||
private object _owner;
|
||||
private string _name;
|
||||
|
||||
public object Owner
|
||||
{
|
||||
get { return _owner; }
|
||||
set { Update(ref _owner, value); }
|
||||
}
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return _name; }
|
||||
set { Update(ref _name, value); }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
namespace ReactiveHistorySample.Models
|
||||
{
|
||||
public abstract class BaseShape : BaseObject
|
||||
{
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace ReactiveHistorySample.Models
|
||||
{
|
||||
public class Layer : BaseObject
|
||||
{
|
||||
private ObservableCollection<LineShape> _shapes;
|
||||
|
||||
public ObservableCollection<LineShape> Shapes
|
||||
{
|
||||
get { return _shapes; }
|
||||
set { Update(ref _shapes, value); }
|
||||
}
|
||||
|
||||
public Layer(object owner = null, string name = null)
|
||||
{
|
||||
this.Owner = owner;
|
||||
this.Name = name;
|
||||
this.Shapes = new ObservableCollection<LineShape>();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
namespace ReactiveHistorySample.Models
|
||||
{
|
||||
public class LineShape : BaseShape
|
||||
{
|
||||
private PointShape _start;
|
||||
private PointShape _end;
|
||||
|
||||
public PointShape Start
|
||||
{
|
||||
get { return _start; }
|
||||
set { Update(ref _start, value); }
|
||||
}
|
||||
|
||||
public PointShape End
|
||||
{
|
||||
get { return _end; }
|
||||
set { Update(ref _end, value); }
|
||||
}
|
||||
|
||||
public LineShape(object owner = null, string name = null)
|
||||
{
|
||||
this.Owner = owner;
|
||||
this.Name = name;
|
||||
}
|
||||
|
||||
public LineShape(PointShape start, PointShape end, object owner = null, string name = null)
|
||||
: this(owner, name)
|
||||
{
|
||||
this.Start = start;
|
||||
this.End = end;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.ComponentModel;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace ReactiveHistorySample.Models
|
||||
{
|
||||
public abstract class ObservableObject : INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
public void Notify([CallerMemberName] string propertyName = null)
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
|
||||
public bool Update<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
|
||||
{
|
||||
if (!Equals(field, value))
|
||||
{
|
||||
field = value;
|
||||
Notify(propertyName);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
namespace ReactiveHistorySample.Models
|
||||
{
|
||||
public class PointShape : BaseShape
|
||||
{
|
||||
private double _x;
|
||||
private double _y;
|
||||
|
||||
public double X
|
||||
{
|
||||
get { return _x; }
|
||||
set { Update(ref _x, value); }
|
||||
}
|
||||
|
||||
public double Y
|
||||
{
|
||||
get { return _y; }
|
||||
set { Update(ref _y, value); }
|
||||
}
|
||||
|
||||
public PointShape(object owner = null, string name = null)
|
||||
{
|
||||
this.Owner = owner;
|
||||
this.Name = name;
|
||||
}
|
||||
|
||||
public PointShape(double x, double y, object owner = null, string name = null)
|
||||
: this(owner, name)
|
||||
{
|
||||
this.X = x;
|
||||
this.Y = y;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Resources;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyTitle("ReactiveHistorySample.Models")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ReactiveHistorySample.Models")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: NeutralResourcesLanguage("en")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{9DDD104E-C3D1-43E1-84C1-D332E89927FB}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ReactiveHistorySample.Models</RootNamespace>
|
||||
<AssemblyName>ReactiveHistorySample.Models</AssemblyName>
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<TargetFrameworkProfile>Profile7</TargetFrameworkProfile>
|
||||
<TargetFrameworkVersion>v4.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</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>
|
||||
<!-- A reference to the entire .NET Framework is automatically included -->
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="BaseObject.cs" />
|
||||
<Compile Include="BaseShape.cs" />
|
||||
<Compile Include="Layer.cs" />
|
||||
<Compile Include="LineShape.cs" />
|
||||
<Compile Include="ObservableObject.cs" />
|
||||
<Compile Include="PointShape.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.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>
|
|
@ -0,0 +1,52 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System;
|
||||
using System.Reactive.Disposables;
|
||||
using Reactive.Bindings;
|
||||
using Reactive.Bindings.Extensions;
|
||||
using ReactiveHistory;
|
||||
using ReactiveHistorySample.Models;
|
||||
|
||||
namespace ReactiveHistorySample.ViewModels
|
||||
{
|
||||
public class LayerViewModel : IDisposable
|
||||
{
|
||||
private CompositeDisposable Disposable { get; set; }
|
||||
|
||||
public ReactiveProperty<string> Name { get; set; }
|
||||
public ReadOnlyReactiveCollection<LineShapeViewModel> Shapes { get; set; }
|
||||
|
||||
public ReactiveCommand UndoCommand { get; set; }
|
||||
public ReactiveCommand RedoCommand { get; set; }
|
||||
public ReactiveCommand ClearCommand { get; set; }
|
||||
|
||||
public LayerViewModel(Layer layer, IHistory history)
|
||||
{
|
||||
Disposable = new CompositeDisposable();
|
||||
|
||||
this.Name = layer.ToReactivePropertyAsSynchronized(l => l.Name)
|
||||
.SetValidateNotifyError(name => string.IsNullOrWhiteSpace(name) ? "Name can not be null or whitespace." : null)
|
||||
.AddTo(this.Disposable);
|
||||
|
||||
this.Shapes = layer.Shapes
|
||||
.ToReadOnlyReactiveCollection(x => new LineShapeViewModel(x, history))
|
||||
.AddTo(this.Disposable);
|
||||
|
||||
this.Name.ObserveWithHistory(name => layer.Name = name, layer.Name, history).AddTo(this.Disposable);
|
||||
|
||||
UndoCommand = new ReactiveCommand(history.CanUndo, false);
|
||||
UndoCommand.Subscribe(_ => history.Undo());
|
||||
|
||||
RedoCommand = new ReactiveCommand(history.CanRedo, false);
|
||||
RedoCommand.Subscribe(_ => history.Redo());
|
||||
|
||||
ClearCommand = new ReactiveCommand(history.CanClear, false);
|
||||
ClearCommand.Subscribe(_ => history.Clear());
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
this.Disposable.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System;
|
||||
using System.Reactive.Disposables;
|
||||
using Reactive.Bindings;
|
||||
using Reactive.Bindings.Extensions;
|
||||
using ReactiveHistory;
|
||||
using ReactiveHistorySample.Models;
|
||||
|
||||
namespace ReactiveHistorySample.ViewModels
|
||||
{
|
||||
public class LineShapeViewModel : IDisposable
|
||||
{
|
||||
private CompositeDisposable Disposable { get; set; }
|
||||
|
||||
public ReactiveProperty<string> Name { get; set; }
|
||||
public ReactiveProperty<PointShapeViewModel> Start { get; set; }
|
||||
public ReactiveProperty<PointShapeViewModel> End { get; set; }
|
||||
|
||||
public ReactiveCommand DeleteCommand { get; set; }
|
||||
|
||||
public LineShapeViewModel(LineShape line, IHistory history)
|
||||
{
|
||||
Disposable = new CompositeDisposable();
|
||||
|
||||
this.Name = line.ToReactivePropertyAsSynchronized(l => l.Name)
|
||||
.SetValidateNotifyError(name => string.IsNullOrWhiteSpace(name) ? "Name can not be null or whitespace." : null)
|
||||
.AddTo(this.Disposable);
|
||||
|
||||
this.Start = new ReactiveProperty<PointShapeViewModel>(new PointShapeViewModel(line.Start, history))
|
||||
.SetValidateNotifyError(start => start == null ? "Point can not be null." : null)
|
||||
.AddTo(this.Disposable);
|
||||
|
||||
this.End = new ReactiveProperty<PointShapeViewModel>(new PointShapeViewModel(line.End, history))
|
||||
.SetValidateNotifyError(end => end == null ? "Point can not be null." : null)
|
||||
.AddTo(this.Disposable);
|
||||
|
||||
this.Name.ObserveWithHistory(name => line.Name = name, line.Name, history).AddTo(this.Disposable);
|
||||
|
||||
this.DeleteCommand = new ReactiveCommand();
|
||||
this.DeleteCommand.Subscribe((x) => Delete(line, history)).AddTo(this.Disposable);
|
||||
}
|
||||
|
||||
private void Delete(LineShape line, IHistory history)
|
||||
{
|
||||
if (line.Owner != null && line.Owner is Layer)
|
||||
{
|
||||
(line.Owner as Layer).Shapes.DeleteWithHistory(line, history);
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
this.Disposable.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System;
|
||||
using System.Reactive.Disposables;
|
||||
using Reactive.Bindings;
|
||||
using Reactive.Bindings.Extensions;
|
||||
using ReactiveHistory;
|
||||
using ReactiveHistorySample.Models;
|
||||
|
||||
namespace ReactiveHistorySample.ViewModels
|
||||
{
|
||||
public class PointShapeViewModel : IDisposable
|
||||
{
|
||||
private CompositeDisposable Disposable { get; set; }
|
||||
|
||||
public ReactiveProperty<string> Name { get; set; }
|
||||
public ReactiveProperty<double> X { get; set; }
|
||||
public ReactiveProperty<double> Y { get; set; }
|
||||
|
||||
public PointShapeViewModel(PointShape point, IHistory history)
|
||||
{
|
||||
Disposable = new CompositeDisposable();
|
||||
|
||||
this.Name = point.ToReactivePropertyAsSynchronized(p => p.Name)
|
||||
.SetValidateNotifyError(name => string.IsNullOrWhiteSpace(name) ? "Name can not be null or whitespace." : null)
|
||||
.AddTo(this.Disposable);
|
||||
|
||||
this.X = point.ToReactivePropertyAsSynchronized(p => p.X)
|
||||
.SetValidateNotifyError(x => double.IsNaN(x) || double.IsInfinity(x) ? "X can not be NaN or Infinity." : null)
|
||||
.AddTo(this.Disposable);
|
||||
|
||||
this.Y = point.ToReactivePropertyAsSynchronized(p => p.Y)
|
||||
.SetValidateNotifyError(y => double.IsNaN(y) || double.IsInfinity(y) ? "Y can not be NaN or Infinity." : null)
|
||||
.AddTo(this.Disposable);
|
||||
|
||||
this.Name.ObserveWithHistory(name => point.Name = name, point.Name, history).AddTo(this.Disposable);
|
||||
this.X.ObserveWithHistory(x => point.X = x, point.X, history).AddTo(this.Disposable);
|
||||
this.Y.ObserveWithHistory(y => point.Y = y, point.Y, history).AddTo(this.Disposable);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
this.Disposable.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("ReactiveHistorySample.ViewModels")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ReactiveHistorySample.ViewModels")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: Guid("a3c460f7-df9e-4d6b-8cf3-a1e668c7f2f1")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,104 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" 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>{A3C460F7-DF9E-4D6B-8CF3-A1E668C7F2F1}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ReactiveHistorySample.ViewModels</RootNamespace>
|
||||
<AssemblyName>ReactiveHistorySample.ViewModels</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<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\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="ReactiveProperty, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\ReactiveProperty.3.0.1\lib\net45\ReactiveProperty.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ReactiveProperty.NET45, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\ReactiveProperty.3.0.1\lib\net45\ReactiveProperty.NET45.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Reactive.Core, Version=3.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\System.Reactive.Core.3.0.0\lib\net45\System.Reactive.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Reactive.Interfaces, Version=3.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\System.Reactive.Interfaces.3.0.0\lib\net45\System.Reactive.Interfaces.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Reactive.Linq, Version=3.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\System.Reactive.Linq.3.0.0\lib\net45\System.Reactive.Linq.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Reactive.PlatformServices, Version=3.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\System.Reactive.PlatformServices.3.0.0\lib\net45\System.Reactive.PlatformServices.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Reactive.Windows.Threading, Version=3.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\System.Reactive.Windows.Threading.3.0.0\lib\net45\System.Reactive.Windows.Threading.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</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.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="LayerViewModel.cs" />
|
||||
<Compile Include="LineShapeViewModel.cs" />
|
||||
<Compile Include="PointShapeViewModel.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\ReactiveHistory\ReactiveHistory.csproj">
|
||||
<Project>{9832484c-4bbe-43e9-b40e-9f57af68a185}</Project>
|
||||
<Name>ReactiveHistory</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ReactiveHistorySample.Models\ReactiveHistorySample.Models.csproj">
|
||||
<Project>{9ddd104e-c3d1-43e1-84c1-d332e89927fb}</Project>
|
||||
<Name>ReactiveHistorySample.Models</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>
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="ReactiveProperty" version="3.0.1" targetFramework="net45" />
|
||||
<package id="System.Reactive" version="3.0.0" targetFramework="net45" />
|
||||
<package id="System.Reactive.Core" version="3.0.0" targetFramework="net45" />
|
||||
<package id="System.Reactive.Interfaces" version="3.0.0" targetFramework="net45" />
|
||||
<package id="System.Reactive.Linq" version="3.0.0" targetFramework="net45" />
|
||||
<package id="System.Reactive.PlatformServices" version="3.0.0" targetFramework="net45" />
|
||||
<package id="System.Reactive.Windows.Threading" version="3.0.0" targetFramework="net45" />
|
||||
</packages>
|
Загрузка…
Ссылка в новой задаче