diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-05-30 19:12:04 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-05-30 19:12:04 +0300 |
| commit | 9169a318121f8919e9b54cc076f63ef9a65d5b2b (patch) | |
| tree | 1dd46f263b835225a930255687583e3f2fd1e7f6 /Software | |
| parent | cf5d8ed0f510792196e0153d9f9008cdce02d523 (diff) | |
| download | Tango-9169a318121f8919e9b54cc076f63ef9a65d5b2b.tar.gz Tango-9169a318121f8919e9b54cc076f63ef9a65d5b2b.zip | |
Implemented SQLite db on PPC.
Working on PPC.
Diffstat (limited to 'Software')
60 files changed, 885 insertions, 205 deletions
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf Binary files differindex 376c4cc54..44820af5c 100644 --- a/Software/DB/Tango.mdf +++ b/Software/DB/Tango.mdf diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf Binary files differindex 655eb2ca8..02ed30575 100644 --- a/Software/DB/Tango_log.ldf +++ b/Software/DB/Tango_log.ldf diff --git a/Software/Visual_Studio/Installers/DB_PACK/SQLite Pack v1.0.0.8/extension.vsix b/Software/Visual_Studio/Installers/DB_PACK/SQLite Pack v1.0.0.8/extension.vsix Binary files differnew file mode 100644 index 000000000..113f393f1 --- /dev/null +++ b/Software/Visual_Studio/Installers/DB_PACK/SQLite Pack v1.0.0.8/extension.vsix diff --git a/Software/Visual_Studio/Installers/DB_PACK/SQLite Pack v1.0.0.8/sqlite-netFx46-setup-bundle-x86-2015-1.0.108.0.exe b/Software/Visual_Studio/Installers/DB_PACK/SQLite Pack v1.0.0.8/sqlite-netFx46-setup-bundle-x86-2015-1.0.108.0.exe Binary files differnew file mode 100644 index 000000000..3043534c2 --- /dev/null +++ b/Software/Visual_Studio/Installers/DB_PACK/SQLite Pack v1.0.0.8/sqlite-netFx46-setup-bundle-x86-2015-1.0.108.0.exe diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config index 1775bf7d1..d51ecc2bb 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config @@ -15,12 +15,7 @@ <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> </providers> </entityFramework> - <system.data> - <DbProviderFactories> - <remove invariant="System.Data.SQLite.EF6" /> - <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> - <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories> - </system.data> + <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> @@ -77,4 +72,9 @@ </dependentAssembly> </assemblyBinding> </runtime> -</configuration>
\ No newline at end of file +<system.data> + <DbProviderFactories> + <remove invariant="System.Data.SQLite.EF6" /> + <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> + <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories> + </system.data></configuration>
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj index 5d685c112..3531985d6 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj @@ -76,15 +76,16 @@ <Reference Include="System.ComponentModel.Composition" /> <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Data" /> - <Reference Include="System.Data.SQLite, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Reference Include="System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.EF6, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\..\packages\System.Data.SQLite.EF6.1.0.106.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> + <Reference Include="System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.Linq, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\..\packages\System.Data.SQLite.Linq.1.0.106.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> + <Reference Include="System.Data.SQLite.Linq, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Drawing" /> @@ -536,11 +537,11 @@ RD /S /Q "$(TargetDir)bg\" RD /S /Q "$(TargetDir)bn-BD\" RD /S /Q "$(TargetDir)nb-NO\"</PostBuildEvent> </PropertyGroup> - <Import Project="..\..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" /> + <Import Project="..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets'))" /> + <Error Condition="!Exists('..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets'))" /> </Target> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/packages.config b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/packages.config index 9568f9f90..a75d03cc6 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/packages.config +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/packages.config @@ -12,10 +12,10 @@ <package id="MaterialDesignColors" version="1.1.2" targetFramework="net46" /> <package id="MaterialDesignThemes" version="2.3.1.953" targetFramework="net46" /> <package id="SimpleValidator" version="0.6.1.0" targetFramework="net46" /> - <package id="System.Data.SQLite" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Core" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.EF6" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Linq" version="1.0.106.0" targetFramework="net46" /> + <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" /> <package id="System.Reactive" version="3.1.1" targetFramework="net46" /> <package id="System.Reactive.Core" version="3.1.1" targetFramework="net46" /> <package id="System.Reactive.Interfaces" version="3.1.1" targetFramework="net46" /> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj b/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj index 7ccdaa1f9..17c08bfb8 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj @@ -27,6 +27,8 @@ <IsWebBootstrapper>false</IsWebBootstrapper> <UseApplicationTrust>false</UseApplicationTrust> <BootstrapperEnabled>true</BootstrapperEnabled> + <NuGetPackageImportStamp> + </NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -58,6 +60,18 @@ <Reference Include="System" /> <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Data" /> + <Reference Include="System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System.Data.SQLite.Linq, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> + <Private>True</Private> + </Reference> <Reference Include="System.Xml" /> <Reference Include="Microsoft.CSharp" /> <Reference Include="System.Core" /> @@ -167,14 +181,6 @@ </ProjectReference> </ItemGroup> <ItemGroup> - <Content Include="..\..\..\DB\Tango.mdf"> - <Link>DB\Tango.mdf</Link> - </Content> - <Content Include="..\..\..\DB\Tango_log.ldf"> - <Link>DB\Tango_log.ldf</Link> - </Content> - </ItemGroup> - <ItemGroup> <BootstrapperPackage Include=".NETFramework,Version=v4.6"> <Visible>False</Visible> <ProductName>Microsoft .NET Framework 4.6 %28x86 and x64%29</ProductName> @@ -190,4 +196,11 @@ <Folder Include="Fonts\" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <Import Project="..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" /> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets'))" /> + </Target> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/app.config b/Software/Visual_Studio/PPC/Tango.PPC.Common/app.config index dcbe9e918..d7c68e008 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/app.config +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/app.config @@ -56,6 +56,13 @@ <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> + <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> </providers> </entityFramework> + <system.data> + <DbProviderFactories> + <remove invariant="System.Data.SQLite.EF6" /> + <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> + <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories> + </system.data> </configuration>
\ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/packages.config b/Software/Visual_Studio/PPC/Tango.PPC.Common/packages.config index 033360b54..8ed1c5f7f 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/packages.config +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/packages.config @@ -2,4 +2,8 @@ <packages> <package id="EntityFramework" version="6.0.0" targetFramework="net46" /> <package id="Google.Protobuf" version="3.4.1" targetFramework="net46" /> + <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" /> </packages>
\ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/App.config b/Software/Visual_Studio/PPC/Tango.PPC.UI/App.config index 895afa970..ab5bb1006 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/App.config +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/App.config @@ -64,9 +64,18 @@ </assemblyBinding> </runtime> <entityFramework> - <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> + <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> + <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> </providers> </entityFramework> + <system.data> + <DbProviderFactories> + <remove invariant="System.Data.SQLite.EF6" /> + <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> + <remove invariant="System.Data.SQLite.EF6" /> + <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> + </DbProviderFactories> + </system.data> </configuration>
\ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/App.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/App.xaml index 5cded95b4..621b6a6d2 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/App.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/App.xaml @@ -11,6 +11,8 @@ <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Resources/Fonts.xaml"/> <ResourceDictionary Source="pack://application:,,,/Tango.PPC.Common;component/Resources/Fonts.xaml"/> <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Styles/TouchToggleButton.xaml" /> + <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Styles/TouchButton.xaml" /> + <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Styles/TouchIconButton.xaml" /> <!--Styles--> <ResourceDictionary> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/App.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/App.xaml.cs index 3890686dc..cc13e1216 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/App.xaml.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/App.xaml.cs @@ -5,6 +5,7 @@ using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows; +using Tango.Core.Helpers; using Tango.Settings; namespace Tango.PPC.UI @@ -18,6 +19,8 @@ namespace Tango.PPC.UI { base.OnStartup(e); + Environment.CurrentDirectory = PathHelper.GetStartupPath(); + //var s = SettingsManager.Default.GetOrCreate<Core.CoreSettings>(); //s.SQLServerAddress = "DB\\Tango.mdf"; //s.Save(); diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml index ba5099fb5..a62e31325 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml @@ -6,7 +6,7 @@ xmlns:local="clr-namespace:Tango.PPC.UI" xmlns:views="clr-namespace:Tango.PPC.UI.Views" mc:Ignorable="d" - Title="MainWindow" Height="1000" Width="625" WindowStyle="None" ResizeMode="NoResize" FontFamily="{StaticResource Flexo}"> + Title="MainWindow" Height="1000" Stylus.IsTapFeedbackEnabled="False" Stylus.IsPressAndHoldEnabled="False" Stylus.IsTouchFeedbackEnabled="False" Width="625" WindowStyle="None" ResizeMode="NoResize" FontFamily="{StaticResource Flexo}"> <Grid> <Viewbox Stretch="Fill"> <Grid Height="1280" Width="800"> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj index 964f34ace..d67a4b275 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj @@ -13,6 +13,8 @@ <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <WarningLevel>4</WarningLevel> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> + <NuGetPackageImportStamp> + </NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> @@ -52,6 +54,18 @@ <Reference Include="System" /> <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Data" /> + <Reference Include="System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System.Data.SQLite.Linq, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> + <Private>True</Private> + </Reference> <Reference Include="System.Drawing" /> <Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> @@ -233,4 +247,58 @@ <Resource Include="Images\warning.png" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <Import Project="..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" /> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets'))" /> + </Target> + <PropertyGroup> + <PostBuildEvent>RD /S /Q "$(TargetDir)cs\" +RD /S /Q "$(TargetDir)da\" +RD /S /Q "$(TargetDir)de\" +RD /S /Q "$(TargetDir)es\" +RD /S /Q "$(TargetDir)fa\" +RD /S /Q "$(TargetDir)fi\" +RD /S /Q "$(TargetDir)fr\" +RD /S /Q "$(TargetDir)it\" +RD /S /Q "$(TargetDir)ko\" +RD /S /Q "$(TargetDir)mk\" +RD /S /Q "$(TargetDir)nl\" +RD /S /Q "$(TargetDir)pl\" +RD /S /Q "$(TargetDir)pt\" +RD /S /Q "$(TargetDir)ru\" +RD /S /Q "$(TargetDir)sv\" +RD /S /Q "$(TargetDir)tr\" +RD /S /Q "$(TargetDir)zh-CN\" +RD /S /Q "$(TargetDir)af\" +RD /S /Q "$(TargetDir)ar\" +RD /S /Q "$(TargetDir)dn-BD\" +RD /S /Q "$(TargetDir)el\" +RD /S /Q "$(TargetDir)fi-FI\" +RD /S /Q "$(TargetDir)fr-BE\" +RD /S /Q "$(TargetDir)he\" +RD /S /Q "$(TargetDir)hr\" +RD /S /Q "$(TargetDir)hu\" +RD /S /Q "$(TargetDir)id\" +RD /S /Q "$(TargetDir)ja\" +RD /S /Q "$(TargetDir)lv\" +RD /S /Q "$(TargetDir)nb\" +RD /S /Q "$(TargetDir)ro\" +RD /S /Q "$(TargetDir)sk\" +RD /S /Q "$(TargetDir)sl\" +RD /S /Q "$(TargetDir)sr\" +RD /S /Q "$(TargetDir)sr-Latn\" +RD /S /Q "$(TargetDir)uk\" +RD /S /Q "$(TargetDir)uz-Cyrl-UZ\" +RD /S /Q "$(TargetDir)uz-Latn-UZ\" +RD /S /Q "$(TargetDir)vi\" +RD /S /Q "$(TargetDir)zh-Hans\" +RD /S /Q "$(TargetDir)zh-Hant\" +RD /S /Q "$(TargetDir)bg\" +RD /S /Q "$(TargetDir)bn-BD\" +RD /S /Q "$(TargetDir)nb-NO\" +RD /S /Q "$(TargetDir)pt-BR\"</PostBuildEvent> + </PropertyGroup> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LoadingViewVM.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LoadingViewVM.cs index 4cc812a17..5373539f2 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LoadingViewVM.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LoadingViewVM.cs @@ -21,7 +21,7 @@ namespace Tango.PPC.UI.ViewModels public async override void OnApplicationStarted() { - await Task.Delay(2000); + await Task.Delay(500); NavigationManager.NavigateTo(NavigationView.LayoutView); NavigationManager.NavigateTo(NavigationView.JobsView); } diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml index 1a62a9552..a09d3ab19 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml @@ -9,6 +9,8 @@ xmlns:keyboard="clr-namespace:Tango.SharedUI.Keyboard;assembly=Tango.SharedUI" xmlns:converters="clr-namespace:Tango.PPC.Common.Converters;assembly=Tango.PPC.Common" xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch" + xmlns:touchComponents="clr-namespace:Tango.Touch.Components;assembly=Tango.Touch" + xmlns:fa="http://schemas.fontawesome.io/icons/" xmlns:entities="clr-namespace:Tango.BL.Entities;assembly=Tango.BL" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:sharedConverters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI" @@ -41,6 +43,12 @@ <RowDefinition Height="1*"/> </Grid.RowDefinitions> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Top" Height="57" Margin="0 -28 30 0"> + <touch:TouchIconButton Margin="0 0 30 0" Padding="20" Icon="Plus" Style="{StaticResource TangoRoundTouchIconButton}"></touch:TouchIconButton> + <touch:TouchIconButton Margin="0 0 30 0" Padding="20" Icon="Copy" Style="{StaticResource TangoRoundTouchIconButton}"></touch:TouchIconButton> + <touch:TouchIconButton Padding="20" Icon="Refresh" Style="{StaticResource TangoRoundTouchIconButton}"></touch:TouchIconButton> + </StackPanel> + <touch:TouchNavigationLinks VerticalAlignment="Bottom" Margin="20" FontSize="{StaticResource NavigationLinks-Font-Size}"> <sys:String>READY TO DYE</sys:String> <sys:String>NOT READY</sys:String> @@ -95,7 +103,7 @@ </DataGridTemplateColumn.Header> <DataGridTemplateColumn.CellTemplate> <DataTemplate> - <dragAndDrop:DragThumb Height="30"> + <dragAndDrop:DragThumb Height="50" touchComponents:Ripple.PreventRipple="True" touchComponents:TransformationHelper.PreventTransform="True"> <dragAndDrop:DragThumb.Style> <Style TargetType="dragAndDrop:DragThumb"> <Setter Property="Visibility" Value="Collapsed"></Setter> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml index 41c221df5..9071a24b8 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml @@ -21,7 +21,7 @@ <DockPanel LastChildFill="False" Background="{StaticResource TangoPrimaryBackgroundBrush}"> <StackPanel MinWidth="300" DockPanel.Dock="Top"> <Grid> - <touch:TouchToggleButton Style="{StaticResource TouchToggleButtonHamburger}" + <touch:TouchToggleButton Style="{StaticResource TangoTouchToggleButtonHamburger}" HorizontalAlignment="Right" Margin="16" IsChecked="{Binding ElementName=menu,Path=IsOpened}" /> @@ -88,7 +88,7 @@ <Border BorderThickness="0 0 0 1" BorderBrush="{StaticResource TangoDividerBrush}" DockPanel.Dock="Top"> <DockPanel> <Border Padding="20" BorderThickness="0 0 1 0" BorderBrush="{StaticResource BorderColorBrush}"> - <touch:TouchToggleButton Width="50" Height="50" Foreground="{StaticResource TangoPrimaryAccentBrush}" Style="{StaticResource TouchToggleButtonHamburger}" IsChecked="{Binding ElementName=menu,Path=IsOpened}"> + <touch:TouchToggleButton Width="50" Height="50" Foreground="{StaticResource TangoPrimaryAccentBrush}" Style="{StaticResource TangoTouchToggleButtonHamburger}" IsChecked="{Binding ElementName=menu,Path=IsOpened}"> <ToggleButton.Effect> <DropShadowEffect ShadowDepth="15" BlurRadius="20" Color="Silver" /> </ToggleButton.Effect> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/packages.config b/Software/Visual_Studio/PPC/Tango.PPC.UI/packages.config index e4617d73a..70668c3ed 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/packages.config +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/packages.config @@ -5,4 +5,8 @@ <package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net46" /> <package id="FontAwesome.WPF" version="4.7.0.9" targetFramework="net46" /> <package id="Google.Protobuf" version="3.4.1" targetFramework="net46" /> + <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" /> </packages>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs b/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs index 2eed3056e..8518c6dd0 100644 --- a/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs +++ b/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs @@ -23,6 +23,15 @@ namespace Tango.BL } /// <summary> + /// Initializes a new instance of the <see cref="ObservablesContext"/> class. + /// </summary> + /// <param name="sqliteConnection">The SQLite connection.</param> + public ObservablesContext(SQLiteConnection sqliteConnection) : base(sqliteConnection, true) + { + + } + + /// <summary> /// Composes the connection string. ///</summary> /// <param name="source">The source.</param> @@ -36,17 +45,7 @@ namespace Tango.BL } else { - if (Path.GetExtension(source).ToLower() == ".db") - { - var builder = new SQLiteConnectionStringBuilder(); - builder.DataSource = source; - builder.ForeignKeys = false; - return builder.ConnectionString; - } - else - { - return String.Format("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFileName={0};Initial Catalog=Tango;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework", Path.GetFullPath(source)); - } + return String.Format("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFileName={0};Initial Catalog=Tango;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework", Path.GetFullPath(source)); } } @@ -56,7 +55,30 @@ namespace Tango.BL /// <returns></returns> public static ObservablesContext CreateDefault() { - return new ObservablesContext(SettingsManager.Default.GetOrCreate<CoreSettings>().SQLServerAddress); + return CreateDefault(SettingsManager.Default.GetOrCreate<CoreSettings>().SQLServerAddress); + } + + /// <summary> + /// Creates a default remote database context by the address specified in <see cref="SettingsManager.Default.DataBase.SQLServerAddress" />. + /// </summary> + /// <returns></returns> + public static ObservablesContext CreateDefault(String dataSource) + { + var source = dataSource; + + if (File.Exists(source) && Path.GetExtension(source).ToLower() == ".db") + { + var connection = new SQLiteConnection() + { + ConnectionString = new SQLiteConnectionStringBuilder() { DataSource = Path.GetFullPath(source), ForeignKeys = true }.ConnectionString + }; + + return new ObservablesContext(connection); + } + else + { + return new ObservablesContext(ComposeConnectionString(source)); + } } /// <summary> diff --git a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj index a2953dcbd..f116e5106 100644 --- a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj +++ b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj @@ -51,15 +51,16 @@ <Reference Include="System" /> <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Data" /> - <Reference Include="System.Data.SQLite, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Reference Include="System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.EF6, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.EF6.1.0.106.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> + <Reference Include="System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.Linq, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.Linq.1.0.106.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> + <Reference Include="System.Data.SQLite.Linq, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Xml" /> @@ -250,6 +251,7 @@ <Generator>ResXFileCodeGenerator</Generator> <LastGenOutput>Resources.Designer.cs</LastGenOutput> </EmbeddedResource> + <None Include="app.config" /> <None Include="packages.config" /> <None Include="Properties\Settings.settings"> <Generator>SettingsSingleFileGenerator</Generator> @@ -287,11 +289,11 @@ </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> - <Import Project="..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" /> + <Import Project="..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets'))" /> + <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets'))" /> </Target> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.BL/app.config b/Software/Visual_Studio/Tango.BL/app.config new file mode 100644 index 000000000..9d938150e --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/app.config @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <system.data> + <DbProviderFactories> + <remove invariant="System.Data.SQLite.EF6" /> + <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> + <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories> + </system.data> + <configSections> + <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> + </configSections> + <entityFramework> + <providers> + <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> + </providers> + </entityFramework> +</configuration>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.BL/packages.config b/Software/Visual_Studio/Tango.BL/packages.config index a2c8f52a9..143253db5 100644 --- a/Software/Visual_Studio/Tango.BL/packages.config +++ b/Software/Visual_Studio/Tango.BL/packages.config @@ -4,8 +4,8 @@ <package id="Google.Protobuf" version="3.4.1" targetFramework="net46" /> <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net46" /> <package id="SimpleValidator" version="0.6.1.0" targetFramework="net46" /> - <package id="System.Data.SQLite" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Core" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.EF6" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Linq" version="1.0.106.0" targetFramework="net46" /> + <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" /> </packages>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs b/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs index 8e0b9239d..aeda333f3 100644 --- a/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs +++ b/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs @@ -4,10 +4,82 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; using Tango.Core.EventArguments; public static class FrameworkElementExtensions { + public static void RegisterForMouseOrTouchDown(this FrameworkElement element, FrameworkElement relativeTo, EventHandler<MouseOrTouchEventArgs> handler) + { + bool mousePressed = false; + bool touchDown = false; + + element.MouseDown += (x, e) => + { + if (!touchDown) + { + mousePressed = true; + + var args = new MouseOrTouchEventArgs() + { + Location = new Point(e.GetPosition(relativeTo != null ? relativeTo : element).X, e.GetPosition(relativeTo != null ? relativeTo : element).Y), + Source = e.Source, + OriginalSource = e.OriginalSource, + Handled = e.Handled, + GetPositionAction = e.GetPosition + }; + + handler(element, args); + e.Handled = args.Handled; + } + else + { + touchDown = false; + } + }; + + element.TouchDown += (x, e) => + { + if (!mousePressed) + { + touchDown = true; + + var args = new MouseOrTouchEventArgs() + { + Location = new Point(e.GetTouchPoint(relativeTo != null ? relativeTo : element).Position.X, e.GetTouchPoint(relativeTo != null ? relativeTo : element).Position.Y), + Source = e.Source, + OriginalSource = e.OriginalSource, + Handled = e.Handled, + GetPositionAction = (s) => { return e.GetTouchPoint(s).Position; }, + }; + + handler(element, args); + e.Handled = args.Handled; + } + else + { + touchDown = false; + } + }; + + element.MouseUp += (_, __) => + { + touchDown = false; + mousePressed = false; + }; + + element.TouchDown += (_, __) => + { + + }; + } + + public static void RegisterForMouseOrTouchDown(this FrameworkElement element, EventHandler<MouseOrTouchEventArgs> handler) + { + RegisterForMouseOrTouchDown(element, null, handler); + } + public static void RegisterForPreviewMouseOrTouchDown(this FrameworkElement element, FrameworkElement relativeTo, EventHandler<MouseOrTouchEventArgs> handler) { bool mousePressed = false; diff --git a/Software/Visual_Studio/Tango.DAL.Local/App.config b/Software/Visual_Studio/Tango.DAL.Local/App.config index 8c1be0e4c..1b70a1173 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/App.config +++ b/Software/Visual_Studio/Tango.DAL.Local/App.config @@ -11,15 +11,13 @@ <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> </providers> </entityFramework> - <system.data> - <DbProviderFactories> - <remove invariant="System.Data.SQLite.EF6" /> - <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> - <remove invariant="System.Data.SQLite" /> - <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> - </DbProviderFactories> - </system.data> + <connectionStrings> <add name="LocalDB" connectionString="metadata=res://*/DB.LocalADO.csdl|res://*/DB.LocalADO.ssdl|res://*/DB.LocalADO.msl;provider=System.Data.SQLite.EF6;provider connection string="data source=D:\Development\Tango\Software\DB\Tango.db"" providerName="System.Data.EntityClient" /></connectionStrings> -</configuration>
\ No newline at end of file +<system.data> + <DbProviderFactories> + <remove invariant="System.Data.SQLite.EF6" /> + <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> + <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories> + </system.data></configuration>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.DAL.Local/Tango.DAL.Local.csproj b/Software/Visual_Studio/Tango.DAL.Local/Tango.DAL.Local.csproj index 59edcd567..b9c5a8b2d 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/Tango.DAL.Local.csproj +++ b/Software/Visual_Studio/Tango.DAL.Local/Tango.DAL.Local.csproj @@ -41,15 +41,16 @@ <Reference Include="System" /> <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Core" /> - <Reference Include="System.Data.SQLite, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Reference Include="System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.EF6, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.EF6.1.0.106.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> + <Reference Include="System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.Linq, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.Linq.1.0.106.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> + <Reference Include="System.Data.SQLite.Linq, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Runtime.Serialization" /> @@ -260,11 +261,11 @@ </Content> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> - <Import Project="..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" /> + <Import Project="..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets'))" /> + <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets'))" /> </Target> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.DAL.Local/packages.config b/Software/Visual_Studio/Tango.DAL.Local/packages.config index bee3cc627..d44781e33 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/packages.config +++ b/Software/Visual_Studio/Tango.DAL.Local/packages.config @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="EntityFramework" version="6.0.0" targetFramework="net46" /> - <package id="System.Data.SQLite" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Core" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.EF6" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Linq" version="1.0.106.0" targetFramework="net46" /> + <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" /> </packages>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.DAL.Remote/App.config b/Software/Visual_Studio/Tango.DAL.Remote/App.config index 78a5cb60c..b5df1e92b 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/App.config +++ b/Software/Visual_Studio/Tango.DAL.Remote/App.config @@ -11,15 +11,13 @@ <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> </providers> </entityFramework> - <system.data> - <DbProviderFactories> - <remove invariant="System.Data.SQLite.EF6" /> - <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> - <remove invariant="System.Data.SQLite" /> - <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> - </DbProviderFactories> - </system.data> + <connectionStrings> <add name="RemoteDB" connectionString="metadata=res://*/DB.RemoteADO.csdl|res://*/DB.RemoteADO.ssdl|res://*/DB.RemoteADO.msl;provider=System.Data.SqlClient;provider connection string="data source=LOCALHOST\SQLEXPRESS;initial catalog=Tango;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> </connectionStrings> -</configuration>
\ No newline at end of file +<system.data> + <DbProviderFactories> + <remove invariant="System.Data.SQLite.EF6" /> + <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> + <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories> + </system.data></configuration>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj index bc7c6749b..b91163282 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj +++ b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj @@ -41,15 +41,16 @@ <Reference Include="System" /> <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Core" /> - <Reference Include="System.Data.SQLite, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Reference Include="System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.EF6, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.EF6.1.0.106.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> + <Reference Include="System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.Linq, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.Linq.1.0.106.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> + <Reference Include="System.Data.SQLite.Linq, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Runtime.Serialization" /> @@ -334,11 +335,11 @@ </ItemGroup> <ItemGroup /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> - <Import Project="..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" /> + <Import Project="..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets'))" /> + <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets'))" /> </Target> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.DAL.Remote/packages.config b/Software/Visual_Studio/Tango.DAL.Remote/packages.config index bee3cc627..d44781e33 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/packages.config +++ b/Software/Visual_Studio/Tango.DAL.Remote/packages.config @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="EntityFramework" version="6.0.0" targetFramework="net46" /> - <package id="System.Data.SQLite" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Core" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.EF6" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Linq" version="1.0.106.0" targetFramework="net46" /> + <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" /> </packages>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.DragAndDrop/DragAndDropService.cs b/Software/Visual_Studio/Tango.DragAndDrop/DragAndDropService.cs index 60da36590..9efd9f5a6 100644 --- a/Software/Visual_Studio/Tango.DragAndDrop/DragAndDropService.cs +++ b/Software/Visual_Studio/Tango.DragAndDrop/DragAndDropService.cs @@ -31,7 +31,7 @@ namespace Tango.DragAndDrop private static bool _isMouseDown; private static DispatcherTimer _dragTimer; private static Border _dragBorder; - private const int MIN_DRAG_OFFSET = 8; + //private const int MIN_DRAG_OFFSET = 8; #region Events @@ -70,6 +70,37 @@ namespace Tango.DragAndDrop #region Attached Properties + #region MinDragOffset + + /// <summary> + /// Determines whether an element is MinDragOffset by the drag and drop service. + /// </summary> + public static readonly DependencyProperty MinDragOffsetProperty = + DependencyProperty.RegisterAttached("MinDragOffset", + typeof(int), typeof(DragAndDropService), + new FrameworkPropertyMetadata(8)); + /// <summary> + /// Sets the MinDragOffset attached property. + /// </summary> + /// <param name="element">The element.</param> + /// <param name="value">if set to <c>true</c> [value].</param> + public static void SetMinDragOffset(FrameworkElement element, int value) + { + element.SetValue(MinDragOffsetProperty, value); + } + + /// <summary> + /// Gets the MinDragOffset attached property. + /// </summary> + /// <param name="element">The element.</param> + /// <returns></returns> + public static int GetMinDragOffset(FrameworkElement element) + { + return (int)element.GetValue(MinDragOffsetProperty); + } + + #endregion + #region Draggable /// <summary> @@ -414,7 +445,7 @@ namespace Tango.DragAndDrop /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> private static void DragTimer_Tick(object sender, EventArgs e) { - if (Mouse.LeftButton == MouseButtonState.Pressed && _currentDragedElement != null) + if ((Mouse.LeftButton == MouseButtonState.Pressed) && _currentDragedElement != null) { DragStarted?.Invoke(_currentDragedElement, _currentDragedElement); @@ -667,19 +698,19 @@ namespace Tango.DragAndDrop /// <param name="e">The <see cref="System.Windows.Input.MouseEventArgs"/> instance containing the event data.</param> private static void Draggable_MouseMove(object sender, MouseOrTouchEventArgs e) { - Debug.WriteLine(e.GetPosition(_currentDragedElement)); - if (_isMouseDown) { FrameworkElement element = _currentDragedElement; + int minDragOffset = GetMinDragOffset(element); + if (element != null) { var surface = GetDraggingSurface(element); if (surface != null) { - if ((e.GetPosition(element).X > _mouseDownLocation.X + MIN_DRAG_OFFSET || e.GetPosition(element).X < _mouseDownLocation.X - MIN_DRAG_OFFSET) || (e.GetPosition(element).Y > _mouseDownLocation.Y + MIN_DRAG_OFFSET || e.GetPosition(element).Y < _mouseDownLocation.Y - MIN_DRAG_OFFSET)) + if ((e.GetPosition(element).X > _mouseDownLocation.X + minDragOffset || e.GetPosition(element).X < _mouseDownLocation.X - minDragOffset) || (e.GetPosition(element).Y > _mouseDownLocation.Y + minDragOffset || e.GetPosition(element).Y < _mouseDownLocation.Y - minDragOffset)) { element.ReleaseMouseCapture(); surface.ReleaseMouseCapture(); diff --git a/Software/Visual_Studio/Tango.DragAndDrop/DragThumb.cs b/Software/Visual_Studio/Tango.DragAndDrop/DragThumb.cs index 952c35bb5..355ce9997 100644 --- a/Software/Visual_Studio/Tango.DragAndDrop/DragThumb.cs +++ b/Software/Visual_Studio/Tango.DragAndDrop/DragThumb.cs @@ -16,5 +16,17 @@ namespace Tango.DragAndDrop Background = Brushes.Transparent; IsHitTestVisible = true; } + + protected override void OnMouseDown(MouseButtonEventArgs e) + { + base.OnMouseDown(e); + e.Handled = true; + } + + protected override void OnPreviewMouseDown(MouseButtonEventArgs e) + { + base.OnPreviewMouseDown(e); + e.Handled = true; + } } } diff --git a/Software/Visual_Studio/Tango.Synchronization/Tango.Synchronization.csproj b/Software/Visual_Studio/Tango.Synchronization/Tango.Synchronization.csproj index f8504f906..a083b682a 100644 --- a/Software/Visual_Studio/Tango.Synchronization/Tango.Synchronization.csproj +++ b/Software/Visual_Studio/Tango.Synchronization/Tango.Synchronization.csproj @@ -42,15 +42,16 @@ <Reference Include="System" /> <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Core" /> - <Reference Include="System.Data.SQLite, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Reference Include="System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.EF6, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.EF6.1.0.106.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> + <Reference Include="System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.Linq, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.Linq.1.0.106.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> + <Reference Include="System.Data.SQLite.Linq, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Xml.Linq" /> @@ -116,11 +117,11 @@ </ItemGroup> <ItemGroup /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> - <Import Project="..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" /> + <Import Project="..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets'))" /> + <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets'))" /> </Target> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Synchronization/packages.config b/Software/Visual_Studio/Tango.Synchronization/packages.config index d412cd302..104de3468 100644 --- a/Software/Visual_Studio/Tango.Synchronization/packages.config +++ b/Software/Visual_Studio/Tango.Synchronization/packages.config @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="EntityFramework" version="6.0.0" targetFramework="net45" /> - <package id="System.Data.SQLite" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Core" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.EF6" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Linq" version="1.0.106.0" targetFramework="net46" /> + <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" /> </packages>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Touch/Components/Ripple.cs b/Software/Visual_Studio/Tango.Touch/Components/Ripple.cs index ae0b693af..88e6d24a7 100644 --- a/Software/Visual_Studio/Tango.Touch/Components/Ripple.cs +++ b/Software/Visual_Studio/Tango.Touch/Components/Ripple.cs @@ -63,6 +63,58 @@ namespace Tango.Touch.Components public static readonly DependencyProperty SynchedScrollViewerProperty = DependencyProperty.Register("SynchedScrollViewer", typeof(ScrollViewer), typeof(Ripple), new PropertyMetadata(null)); + public double RippleFactor + { + get { return (double)GetValue(RippleFactorProperty); } + set { SetValue(RippleFactorProperty, value); } + } + public static readonly DependencyProperty RippleFactorProperty = + DependencyProperty.Register("RippleFactor", typeof(double), typeof(Ripple), new PropertyMetadata(5.0)); + + public bool Centered + { + get { return (bool)GetValue(CenteredProperty); } + set { SetValue(CenteredProperty, value); } + } + public static readonly DependencyProperty CenteredProperty = + DependencyProperty.Register("Centered", typeof(bool), typeof(Ripple), new PropertyMetadata(false)); + + #region Attached Properties + + #region PreventRipple + + /// <summary> + /// Determines whether an element is a dropable target by the drag and drop service. + /// </summary> + public static readonly DependencyProperty PreventRippleProperty = + DependencyProperty.RegisterAttached("PreventRipple", + typeof(bool), typeof(Ripple), + new FrameworkPropertyMetadata(false)); + + /// <summary> + /// Sets the PreventRipple attached property. + /// </summary> + /// <param name="element">The element.</param> + /// <param name="value">if set to <c>true</c> [value].</param> + public static void SetPreventRipple(FrameworkElement element, bool value) + { + element.SetValue(PreventRippleProperty, value); + } + + /// <summary> + /// Gets the PreventRipple attached property. + /// </summary> + /// <param name="element">The element.</param> + /// <returns></returns> + public static bool GetPreventRipple(FrameworkElement element) + { + return (bool)element.GetValue(PreventRippleProperty); + } + + #endregion + + #endregion + static Ripple() { DefaultStyleKeyProperty.OverrideMetadata(typeof(Ripple), new FrameworkPropertyMetadata(typeof(Ripple))); @@ -104,12 +156,22 @@ namespace Tango.Touch.Components //parent.TouchMove += (_, __) => CancelRipple(); //parent.PreviewTouchUp += Parent_PreviewTouchUp; - parent.RegisterForPreviewMouseOrTouchDown(this, (x, e) => OnRippleDown(e.Location)); + if (parent != null) + { + + parent.RegisterForPreviewMouseOrTouchDown(this, (x, e) => + { + if (!GetPreventRipple(e.OriginalSource as FrameworkElement)) + { + OnRippleDown(e.Location); + } + }); + parent.PreviewMouseUp += Parent_PreviewMouseUp; + } + //parent.PreviewMouseDown += Parent_PreviewMouseDown; //parent.PreviewTouchDown += Parent_PreviewTouchDown; - //parent.TouchMove += (_, __) => CancelRipple(); - parent.PreviewMouseUp += Parent_PreviewMouseUp; //parent.PreviewTouchUp += Parent_PreviewTouchUp; } @@ -158,14 +220,22 @@ namespace Tango.Touch.Components { _isAnimating = true; - Canvas.SetLeft(_ellipse, position.X - (_ellipse.Width / 2)); - Canvas.SetTop(_ellipse, position.Y - (_ellipse.Height / 2)); + if (!Centered) + { + Canvas.SetLeft(_ellipse, position.X - (_ellipse.Width / 2)); + Canvas.SetTop(_ellipse, position.Y - (_ellipse.Height / 2)); + } + else + { + Canvas.SetLeft(_ellipse, (ActualWidth / 2) - (_ellipse.Width / 2)); + Canvas.SetTop(_ellipse, (ActualHeight / 2) - (_ellipse.Height / 2)); + } DoubleAnimation ani = new DoubleAnimation(); ani.From = 0; - ani.To = 5; + ani.To = RippleFactor; ani.AutoReverse = true; - ani.Duration = TimeSpan.FromSeconds(0.5); + ani.Duration = TimeSpan.FromSeconds(0.3); ani.AccelerationRatio = 0.2; ani.DecelerationRatio = 0.2; _scale.BeginAnimation(ScaleTransform.ScaleXProperty, ani); diff --git a/Software/Visual_Studio/Tango.Touch/Components/Ripple.xaml b/Software/Visual_Studio/Tango.Touch/Components/Ripple.xaml index 353f106cf..9b115d757 100644 --- a/Software/Visual_Studio/Tango.Touch/Components/Ripple.xaml +++ b/Software/Visual_Studio/Tango.Touch/Components/Ripple.xaml @@ -26,7 +26,6 @@ <RectangleGeometry RadiusX="{Binding RelativeSource={RelativeSource AncestorType=local:Ripple},Path=CornerRadius.TopLeft}" RadiusY="{Binding RelativeSource={RelativeSource AncestorType=local:Ripple},Path=CornerRadius.BottomRight}" Rect="{Binding RelativeSource={RelativeSource AncestorType=local:Ripple},Path=RenderSize,Converter={StaticResource SizeToRectConverter}}"></RectangleGeometry> </Border.Clip> <Grid x:Name="PART_grid"> - <ContentPresenter Content="{TemplateBinding Content}" /> <Canvas IsHitTestVisible="False"> <Ellipse IsHitTestVisible="False" x:Name="PART_ellipse" RenderTransformOrigin="0.5,0.5" Fill="{TemplateBinding RippleBrush}" HorizontalAlignment="Center" VerticalAlignment="Center" Height="{TemplateBinding ActualHeight}" Width="{TemplateBinding ActualHeight}"> <Ellipse.RenderTransform> @@ -34,6 +33,7 @@ </Ellipse.RenderTransform> </Ellipse> </Canvas> + <ContentPresenter Content="{TemplateBinding Content}" /> </Grid> </Border> </ControlTemplate> diff --git a/Software/Visual_Studio/Tango.Touch/Components/TransformationHelper.cs b/Software/Visual_Studio/Tango.Touch/Components/TransformationHelper.cs new file mode 100644 index 000000000..a565e3b84 --- /dev/null +++ b/Software/Visual_Studio/Tango.Touch/Components/TransformationHelper.cs @@ -0,0 +1,146 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Media; +using System.Windows.Media.Animation; +using Tango.SharedUI.Helpers; + +namespace Tango.Touch.Components +{ + public static class TransformationHelper + { + #region TransformWhenPressed + + /// <summary> + /// Determines whether an element is TransformWhenPressed by the drag and drop service. + /// </summary> + public static readonly DependencyProperty TransformWhenPressedProperty = + DependencyProperty.RegisterAttached("TransformWhenPressed", + typeof(bool), typeof(TransformationHelper), + new FrameworkPropertyMetadata(false, TransformWhenPressedChanged)); + + /// <summary> + /// TransformWhenPressed changed. + /// </summary> + /// <param name="d">The d.</param> + /// <param name="e">The <see cref="DependencyPropertyChangedEventArgs"/> instance containing the event data.</param> + private static void TransformWhenPressedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + if ((bool)e.NewValue) + { + RegisterTransformWhenPressed(d as FrameworkElement); + } + else + { + UnRegisterTransformWhenPressed(d as FrameworkElement); + } + } + + private static void UnRegisterTransformWhenPressed(FrameworkElement element) + { + element.PreviewMouseDown -= Element_PreviewMouseDown; + element.PreviewMouseUp -= Element_PreviewMouseUp; + } + + private static void RegisterTransformWhenPressed(FrameworkElement element) + { + element.RenderTransformOrigin = new Point(0.5, 0.5); + element.RenderTransform = new ScaleTransform(1, 1); + element.PreviewMouseDown += Element_PreviewMouseDown; + element.PreviewMouseUp += Element_PreviewMouseUp; + var scrollViewer = UIHelper.FindAncestor<ScrollViewer>(element); + + if (scrollViewer != null) + { + scrollViewer.ScrollChanged += (x, y) => + { + ScaleTransform scale = element.RenderTransform as ScaleTransform; + scale.BeginAnimation(ScaleTransform.ScaleXProperty, null); + scale.BeginAnimation(ScaleTransform.ScaleYProperty, null); + }; + } + } + + private static void Element_PreviewMouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e) + { + DoubleAnimation ani = new DoubleAnimation(); + ani.To = 1; + ani.Duration = TimeSpan.FromSeconds(0.1); + ScaleTransform scale = (sender as FrameworkElement).RenderTransform as ScaleTransform; + scale.BeginAnimation(ScaleTransform.ScaleXProperty, ani); + scale.BeginAnimation(ScaleTransform.ScaleYProperty, ani); + } + + private static void Element_PreviewMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) + { + if (!GetPreventTransform(e.OriginalSource as FrameworkElement)) + { + DoubleAnimation ani = new DoubleAnimation(); + ani.To = 1.1; + ani.Duration = TimeSpan.FromSeconds(0.2); + ani.AutoReverse = true; + ScaleTransform scale = (sender as FrameworkElement).RenderTransform as ScaleTransform; + scale.BeginAnimation(ScaleTransform.ScaleXProperty, ani); + scale.BeginAnimation(ScaleTransform.ScaleYProperty, ani); + } + } + + /// <summary> + /// Sets the TransformWhenPressed attached property. + /// </summary> + /// <param name="element">The element.</param> + /// <param name="value">if set to <c>true</c> [value].</param> + public static void SetTransformWhenPressed(FrameworkElement element, bool value) + { + element.SetValue(TransformWhenPressedProperty, value); + } + + /// <summary> + /// Gets the TransformWhenPressed attached property. + /// </summary> + /// <param name="element">The element.</param> + /// <returns></returns> + public static bool GetTransformWhenPressed(FrameworkElement element) + { + return (bool)element.GetValue(TransformWhenPressedProperty); + } + + #endregion + + #region PreventTransform + + /// <summary> + /// Determines whether an element is PreventTransform by the drag and drop service. + /// </summary> + public static readonly DependencyProperty PreventTransformProperty = + DependencyProperty.RegisterAttached("PreventTransform", + typeof(bool), typeof(TransformationHelper), + new FrameworkPropertyMetadata(false)); + + /// <summary> + /// Sets the PreventTransform attached property. + /// </summary> + /// <param name="element">The element.</param> + /// <param name="value">if set to <c>true</c> [value].</param> + public static void SetPreventTransform(FrameworkElement element, bool value) + { + element.SetValue(PreventTransformProperty, value); + } + + /// <summary> + /// Gets the PreventTransform attached property. + /// </summary> + /// <param name="element">The element.</param> + /// <returns></returns> + public static bool GetPreventTransform(FrameworkElement element) + { + return (bool)element.GetValue(PreventTransformProperty); + } + + #endregion + } +} diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchButton.cs b/Software/Visual_Studio/Tango.Touch/Controls/TouchButton.cs index 1974a9156..072259c6a 100644 --- a/Software/Visual_Studio/Tango.Touch/Controls/TouchButton.cs +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchButton.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; +using System.Windows.Input; using System.Windows.Media; namespace Tango.Touch.Controls @@ -53,6 +54,23 @@ namespace Tango.Touch.Controls public static readonly DependencyProperty ShadowColorProperty = DependencyProperty.Register("ShadowColor", typeof(Color), typeof(TouchButton), new PropertyMetadata(Colors.Gray)); + public double RippleFactor + { + get { return (double)GetValue(RippleFactorProperty); } + set { SetValue(RippleFactorProperty, value); } + } + public static readonly DependencyProperty RippleFactorProperty = + DependencyProperty.Register("RippleFactor", typeof(double), typeof(TouchButton), new PropertyMetadata(5.0)); + + public bool RippleCentered + { + get { return (bool)GetValue(RippleCenteredProperty); } + set { SetValue(RippleCenteredProperty, value); } + } + public static readonly DependencyProperty RippleCenteredProperty = + DependencyProperty.Register("RippleCentered", typeof(bool), typeof(TouchButton), new PropertyMetadata(false)); + + #endregion public TouchButton() @@ -60,7 +78,6 @@ namespace Tango.Touch.Controls } - static TouchButton() { DefaultStyleKeyProperty.OverrideMetadata(typeof(TouchButton), new FrameworkPropertyMetadata(typeof(TouchButton))); diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchButton.xaml b/Software/Visual_Studio/Tango.Touch/Controls/TouchButton.xaml index 80aa19799..36e8fc385 100644 --- a/Software/Visual_Studio/Tango.Touch/Controls/TouchButton.xaml +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchButton.xaml @@ -23,7 +23,7 @@ <Setter.Value> <ControlTemplate TargetType="{x:Type local:TouchButton}"> <Border x:Name="border" Style="{StaticResource DropShadowBorder}" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="{TemplateBinding CornerRadius}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true"> - <components:Ripple CornerRadius="{TemplateBinding CornerRadius}"> + <components:Ripple Centered="{TemplateBinding RippleCentered}" RippleFactor="{TemplateBinding RippleFactor}" CornerRadius="{TemplateBinding CornerRadius}"> <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> </components:Ripple> </Border> diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchDataGrid.xaml b/Software/Visual_Studio/Tango.Touch/Controls/TouchDataGrid.xaml index b4a822c7c..385e7ea72 100644 --- a/Software/Visual_Studio/Tango.Touch/Controls/TouchDataGrid.xaml +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchDataGrid.xaml @@ -36,33 +36,36 @@ <Setter Property="VerticalContentAlignment" Value="Center"/> <Setter Property="Foreground" Value="{StaticResource TangoLightForegroundBrush}"></Setter> <Setter Property="FontSize" Value="{StaticResource TangoColumnHeaderFontSize}"></Setter> + <Setter Property="components:TransformationHelper.TransformWhenPressed" Value="True"></Setter> <Setter Property="FontWeight" Value="Medium"></Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type DataGridColumnHeader}"> <Grid> - <Border Padding="10"> - <StackPanel Orientation="Horizontal"> - <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> - <fa:ImageAwesome VerticalAlignment="Center" Margin="5 0 0 0" Foreground="{TemplateBinding Foreground}" Height="10"> - <fa:ImageAwesome.Style> - <Style TargetType="{x:Type fa:ImageAwesome}"> - <Setter Property="Visibility" Value="Hidden"></Setter> - <Style.Triggers> - <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader},Path=SortDirection}" Value="Ascending"> - <Setter Property="Icon" Value="ChevronDown"></Setter> - <Setter Property="Visibility" Value="Visible"></Setter> - </DataTrigger> - <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader},Path=SortDirection}" Value="Descending"> - <Setter Property="Icon" Value="ChevronUp"></Setter> - <Setter Property="Visibility" Value="Visible"></Setter> - </DataTrigger> - </Style.Triggers> - </Style> - </fa:ImageAwesome.Style> - </fa:ImageAwesome> - </StackPanel> - </Border> + <components:Ripple RippleFactor="0.8"> + <Border Padding="10" Background="Transparent"> + <StackPanel Orientation="Horizontal"> + <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> + <fa:ImageAwesome VerticalAlignment="Center" Margin="5 0 0 0" Foreground="{TemplateBinding Foreground}" Height="10"> + <fa:ImageAwesome.Style> + <Style TargetType="{x:Type fa:ImageAwesome}"> + <Setter Property="Visibility" Value="Hidden"></Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader},Path=SortDirection}" Value="Ascending"> + <Setter Property="Icon" Value="ChevronDown"></Setter> + <Setter Property="Visibility" Value="Visible"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader},Path=SortDirection}" Value="Descending"> + <Setter Property="Icon" Value="ChevronUp"></Setter> + <Setter Property="Visibility" Value="Visible"></Setter> + </DataTrigger> + </Style.Triggers> + </Style> + </fa:ImageAwesome.Style> + </fa:ImageAwesome> + </StackPanel> + </Border> + </components:Ripple> </Grid> </ControlTemplate> </Setter.Value> @@ -74,6 +77,7 @@ <Setter Property="SnapsToDevicePixels" Value="true"/> <Setter Property="Stylus.IsPressAndHoldEnabled" Value="False"></Setter> <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/> + <Setter Property="components:TransformationHelper.TransformWhenPressed" Value="True"></Setter> <Setter Property="ValidationErrorTemplate"> <Setter.Value> <ControlTemplate> @@ -87,9 +91,14 @@ <Grid dragAndDrop:DragAndDropService.Draggable="{Binding RelativeSource={RelativeSource AncestorType=local:TouchDataGrid},Path=IsDraggable}" dragAndDrop:DragAndDropService.Droppable="{Binding RelativeSource={RelativeSource AncestorType=local:TouchDataGrid},Path=IsDraggable}" - dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=local:TouchDataGrid},Path=DraggingSurface}"> - <components:Ripple SynchedScrollViewer="{Binding RelativeSource={RelativeSource AncestorType=ScrollViewer}}" CornerRadius="{Binding RelativeSource={RelativeSource AncestorType=local:TouchDataGrid},Path=CornerRadius}" RippleBrush="{StaticResource RippleDarkBrush}"> - <Border x:Name="DGR_Border" Margin="5 2" Style="{StaticResource DropShadowBorder}" BorderBrush="{StaticResource TangoLightBorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"> + dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=local:TouchDataGrid},Path=DraggingSurface}" + dragAndDrop:DragAndDropService.MinDragOffset="2"> + + <Border x:Name="DGR_Border" Margin="5 2" Style="{StaticResource DropShadowBorder}" BorderBrush="{StaticResource TangoLightBorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"> + <components:Ripple RippleFactor="20" SynchedScrollViewer="{Binding RelativeSource={RelativeSource AncestorType=ScrollViewer}}" CornerRadius="{Binding RelativeSource={RelativeSource AncestorType=local:TouchDataGrid},Path=CornerRadius}"> + <components:Ripple.RippleBrush> + <SolidColorBrush Color="{StaticResource TangoMidAccentColor}" Opacity="0.5" /> + </components:Ripple.RippleBrush> <SelectiveScrollingGrid> <SelectiveScrollingGrid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> @@ -103,8 +112,8 @@ <DataGridDetailsPresenter Grid.Column="1" Grid.Row="1" SelectiveScrollingGrid.SelectiveScrollingOrientation="{Binding AreRowDetailsFrozen, ConverterParameter={x:Static SelectiveScrollingOrientation.Vertical}, Converter={x:Static DataGrid.RowDetailsScrollingConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Visibility="{TemplateBinding DetailsVisibility}"/> <DataGridRowHeader Grid.RowSpan="2" SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Row}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/> </SelectiveScrollingGrid> - </Border> - </components:Ripple> + </components:Ripple> + </Border> </Grid> </ControlTemplate> </Setter.Value> diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchIconButton.cs b/Software/Visual_Studio/Tango.Touch/Controls/TouchIconButton.cs new file mode 100644 index 000000000..493b0c452 --- /dev/null +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchIconButton.cs @@ -0,0 +1,34 @@ +using FontAwesome.WPF; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.Touch.Controls +{ + public class TouchIconButton : TouchButton + { + public FontAwesomeIcon Icon + { + get { return (FontAwesomeIcon)GetValue(IconProperty); } + set { SetValue(IconProperty, value); } + } + public static readonly DependencyProperty IconProperty = + DependencyProperty.Register("Icon", typeof(FontAwesomeIcon), typeof(TouchIconButton), new PropertyMetadata(FontAwesomeIcon.None)); + + static TouchIconButton() + { + DefaultStyleKeyProperty.OverrideMetadata(typeof(TouchIconButton), new FrameworkPropertyMetadata(typeof(TouchIconButton))); + } + } +} diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchIconButton.xaml b/Software/Visual_Studio/Tango.Touch/Controls/TouchIconButton.xaml new file mode 100644 index 000000000..f0c3b5f7f --- /dev/null +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchIconButton.xaml @@ -0,0 +1,23 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:fa="http://schemas.fontawesome.io/icons/" + xmlns:local="clr-namespace:Tango.Touch.Controls"> + + <ResourceDictionary.MergedDictionaries> + <ResourceDictionary Source="../Controls/TouchButton.xaml" /> + </ResourceDictionary.MergedDictionaries> + + <Style TargetType="{x:Type local:TouchIconButton}" BasedOn="{StaticResource {x:Type local:TouchButton}}"> + <Setter Property="Icon" Value="None"></Setter> + <Setter Property="Width" Value="100"></Setter> + <Setter Property="ContentTemplate"> + <Setter.Value> + <DataTemplate> + <fa:ImageAwesome Foreground="{Binding RelativeSource={RelativeSource AncestorType=local:TouchIconButton},Path=Foreground}" Icon="{Binding RelativeSource={RelativeSource AncestorType=local:TouchIconButton},Path=Icon}" /> + </DataTemplate> + </Setter.Value> + </Setter> + </Style> + + +</ResourceDictionary> diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchNavigationLinks.xaml b/Software/Visual_Studio/Tango.Touch/Controls/TouchNavigationLinks.xaml index fabce810a..22236740b 100644 --- a/Software/Visual_Studio/Tango.Touch/Controls/TouchNavigationLinks.xaml +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchNavigationLinks.xaml @@ -29,6 +29,7 @@ <Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> <Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> <Setter Property="Background" Value="Transparent"/> + <Setter Property="components:TransformationHelper.TransformWhenPressed" Value="True"></Setter> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="FontWeight" Value="Normal"></Setter> <Setter Property="Margin" Value="0 0 10 0"></Setter> @@ -38,7 +39,7 @@ <Setter.Value> <ControlTemplate TargetType="{x:Type ListBoxItem}"> <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true"> - <components:Ripple CornerRadius="5" RippleBrush="{StaticResource RippleLightBrush}"> + <components:Ripple CornerRadius="5" RippleBrush="{StaticResource RippleDarkBrush}"> <StackPanel Orientation="Horizontal"> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> <Rectangle HorizontalAlignment="Right" VerticalAlignment="Stretch" Margin="10 0 10 0" StrokeThickness="1" Stroke="{StaticResource TangoDividerBrush}"> diff --git a/Software/Visual_Studio/Tango.Touch/Resources/Colors.xaml b/Software/Visual_Studio/Tango.Touch/Resources/Colors.xaml index efc000125..5fa238b3c 100644 --- a/Software/Visual_Studio/Tango.Touch/Resources/Colors.xaml +++ b/Software/Visual_Studio/Tango.Touch/Resources/Colors.xaml @@ -21,7 +21,7 @@ <Color x:Key="TangoDisabledForegroundColor">#5E5E5E</Color> <Color x:Key="RippleLightColor">#6EFFFFFF</Color> - <Color x:Key="RippleDarkColor">#43000000</Color> + <Color x:Key="RippleDarkColor">#43929292</Color> <Color x:Key="TangoColumnDividerColor">#464d67</Color> diff --git a/Software/Visual_Studio/Tango.Touch/Styles/TouchButton.xaml b/Software/Visual_Studio/Tango.Touch/Styles/TouchButton.xaml new file mode 100644 index 000000000..d397a5597 --- /dev/null +++ b/Software/Visual_Studio/Tango.Touch/Styles/TouchButton.xaml @@ -0,0 +1,13 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:controls="clr-namespace:Tango.Touch.Controls" + xmlns:local="clr-namespace:Tango.Touch.Styles"> + + <Style x:Key="TangoRoundTouchButton" TargetType="{x:Type controls:TouchButton}"> + <Setter Property="Background" Value="{StaticResource TangoLowerAccentBrush}"></Setter> + <Setter Property="CornerRadius" Value="50"></Setter> + <Setter Property="Width" Value="{Binding RelativeSource={RelativeSource Self},Path=ActualHeight}"></Setter> + <Setter Property="TextElement.Foreground" Value="{StaticResource TangoLightForegroundBrush}"></Setter> + </Style> + +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Touch/Styles/TouchIconButton.xaml b/Software/Visual_Studio/Tango.Touch/Styles/TouchIconButton.xaml new file mode 100644 index 000000000..ab1cfffdb --- /dev/null +++ b/Software/Visual_Studio/Tango.Touch/Styles/TouchIconButton.xaml @@ -0,0 +1,16 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:controls="clr-namespace:Tango.Touch.Controls" + xmlns:components="clr-namespace:Tango.Touch.Components" + xmlns:local="clr-namespace:Tango.Touch.Styles"> + + <Style TargetType="{x:Type controls:TouchIconButton}" x:Key="TangoRoundTouchIconButton"> + <Setter Property="Background" Value="{StaticResource TangoLowerAccentBrush}"></Setter> + <Setter Property="CornerRadius" Value="50"></Setter> + <Setter Property="RippleCentered" Value="True"></Setter> + <Setter Property="RippleFactor" Value="2"></Setter> + <Setter Property="components:TransformationHelper.TransformWhenPressed" Value="True"></Setter> + <Setter Property="Width" Value="{Binding RelativeSource={RelativeSource Self},Path=ActualHeight}"></Setter> + </Style> + +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Touch/Styles/TouchToggleButton.xaml b/Software/Visual_Studio/Tango.Touch/Styles/TouchToggleButton.xaml index 36d5e73db..97a8baa8a 100644 --- a/Software/Visual_Studio/Tango.Touch/Styles/TouchToggleButton.xaml +++ b/Software/Visual_Studio/Tango.Touch/Styles/TouchToggleButton.xaml @@ -4,7 +4,7 @@ xmlns:components="clr-namespace:Tango.Touch.Components" xmlns:local="clr-namespace:Tango.Touch.Styles"> - <Style x:Key="TouchToggleButtonHamburger" TargetType="{x:Type controls:TouchToggleButton}"> + <Style x:Key="TangoTouchToggleButtonHamburger" TargetType="{x:Type controls:TouchToggleButton}"> <Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}"/> <Setter Property="Background" Value="Transparent" /> <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/> diff --git a/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj b/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj index 386ede511..1706257a3 100644 --- a/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj +++ b/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj @@ -68,6 +68,10 @@ <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> </Page> + <Page Include="Controls\TouchIconButton.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> <Page Include="Controls\TouchNavigationLinks.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> @@ -108,6 +112,14 @@ <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> </Page> + <Page Include="Styles\TouchButton.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> + <Page Include="Styles\TouchIconButton.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> <Page Include="Styles\TouchToggleButton.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> @@ -120,8 +132,10 @@ <Link>GlobalVersionInfo.cs</Link> </Compile> <Compile Include="Components\Ripple.cs" /> + <Compile Include="Components\TransformationHelper.cs" /> <Compile Include="Controls\ITouchControl.cs" /> <Compile Include="Controls\TouchBusyIndicator.cs" /> + <Compile Include="Controls\TouchIconButton.cs" /> <Compile Include="Controls\TouchNavigationLinks.cs" /> <Compile Include="Controls\TouchButton.cs" /> <Compile Include="Controls\TouchDataGrid.cs" /> diff --git a/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml b/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml index d31d7d550..2aa811b10 100644 --- a/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml +++ b/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml @@ -16,7 +16,10 @@ <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Controls/TouchNavigationLinks.xaml" /> <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Controls/TouchSideMenu.xaml" /> <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Controls/TouchBusyIndicator.xaml" /> + <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Controls/TouchIconButton.xaml" /> <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Styles/TouchToggleButton.xaml" /> + <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Styles/TouchButton.xaml" /> + <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Styles/TouchIconButton.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> diff --git a/Software/Visual_Studio/Tango.UnitTesting/App.config b/Software/Visual_Studio/Tango.UnitTesting/App.config index 346a716a3..5c4ce34ef 100644 --- a/Software/Visual_Studio/Tango.UnitTesting/App.config +++ b/Software/Visual_Studio/Tango.UnitTesting/App.config @@ -5,18 +5,13 @@ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <entityFramework> - <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> + <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> </providers> </entityFramework> - <system.data> - <DbProviderFactories> - <remove invariant="System.Data.SQLite.EF6" /> - <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> - <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories> - </system.data> + <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> @@ -73,4 +68,11 @@ </dependentAssembly> </assemblyBinding> </runtime> -</configuration>
\ No newline at end of file +<system.data> + <DbProviderFactories> + <remove invariant="System.Data.SQLite.EF6" /> + <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> + <remove invariant="System.Data.SQLite.EF6" /> + <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> + </DbProviderFactories> + </system.data></configuration>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.UnitTesting/DAL_TST.cs b/Software/Visual_Studio/Tango.UnitTesting/DAL_TST.cs index df6028b2e..f6ceb7789 100644 --- a/Software/Visual_Studio/Tango.UnitTesting/DAL_TST.cs +++ b/Software/Visual_Studio/Tango.UnitTesting/DAL_TST.cs @@ -4,6 +4,7 @@ using Tango.DAL; using System.Linq; using Tango.Settings; using Tango.Core; +using Tango.BL; namespace Tango.UnitTesting { @@ -62,5 +63,14 @@ namespace Tango.UnitTesting db.SaveChanges(); } } + + [TestMethod] + public void Validate_SQLite_Connection_Using_Observables() + { + using (ObservablesContext db = ObservablesContext.CreateDefault(@"D:\Development\Tango\Software\DB\Tango.db")) + { + var actions = db.ActionTypes.ToList(); + } + } } } diff --git a/Software/Visual_Studio/Tango.UnitTesting/Tango.UnitTesting.csproj b/Software/Visual_Studio/Tango.UnitTesting/Tango.UnitTesting.csproj index 71a9413c2..b01b6374b 100644 --- a/Software/Visual_Studio/Tango.UnitTesting/Tango.UnitTesting.csproj +++ b/Software/Visual_Studio/Tango.UnitTesting/Tango.UnitTesting.csproj @@ -67,15 +67,16 @@ <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Core" /> <Reference Include="System.Data.Entity.Design" /> - <Reference Include="System.Data.SQLite, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Reference Include="System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.EF6, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.EF6.1.0.106.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> + <Reference Include="System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.Linq, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Data.SQLite.Linq.1.0.106.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> + <Reference Include="System.Data.SQLite.Linq, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="TestStack.White, Version=0.13.0.0, Culture=neutral, PublicKeyToken=2672efbf3e161801, processorArchitecture=MSIL"> @@ -209,8 +210,8 @@ </PropertyGroup> <Error Condition="!Exists('..\packages\MSTest.TestAdapter.1.1.11\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.1.1.11\build\net45\MSTest.TestAdapter.props'))" /> <Error Condition="!Exists('..\packages\MSTest.TestAdapter.1.1.11\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.1.1.11\build\net45\MSTest.TestAdapter.targets'))" /> - <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets'))" /> + <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets'))" /> </Target> <Import Project="..\packages\MSTest.TestAdapter.1.1.11\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.1.1.11\build\net45\MSTest.TestAdapter.targets')" /> - <Import Project="..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" /> + <Import Project="..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" /> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.UnitTesting/packages.config b/Software/Visual_Studio/Tango.UnitTesting/packages.config index 16e993ae8..326273243 100644 --- a/Software/Visual_Studio/Tango.UnitTesting/packages.config +++ b/Software/Visual_Studio/Tango.UnitTesting/packages.config @@ -6,9 +6,9 @@ <package id="MSTest.TestAdapter" version="1.1.11" targetFramework="net45" /> <package id="MSTest.TestFramework" version="1.1.11" targetFramework="net45" /> <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net46" /> - <package id="System.Data.SQLite" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Core" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.EF6" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Linq" version="1.0.106.0" targetFramework="net46" /> + <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" /> <package id="TestStack.White" version="0.13.3" targetFramework="net46" /> </packages>
\ No newline at end of file diff --git a/Software/Visual_Studio/Utilities/Tango.SQLiteGenerator.CLI/Program.cs b/Software/Visual_Studio/Utilities/Tango.SQLiteGenerator.CLI/Program.cs index 9c39eeac6..6acdc5ff5 100644 --- a/Software/Visual_Studio/Utilities/Tango.SQLiteGenerator.CLI/Program.cs +++ b/Software/Visual_Studio/Utilities/Tango.SQLiteGenerator.CLI/Program.cs @@ -12,11 +12,18 @@ using Tango.Synchronization.Conversion; namespace Tango.SQLiteGenerator.CLI { + public enum Config + { + Default, + CopyAll, + } + class Program { static void Main(string[] args) { String sqlitePath = args[0]; + Config conf = args.Length > 1 ? (Config)Enum.Parse(typeof(Config), args[1]) : Config.Default; sqlitePath = Path.GetFullPath(sqlitePath); @@ -60,14 +67,23 @@ namespace Tango.SQLiteGenerator.CLI { List<TableSchema> updated = schema.Where(x => x.TableName.ToLower() != "sysdiagrams").ToList(); - updated - .Where(table => sync_configurations.Where(config => (SyncConfiguration)config.SYNC_TYPE == SyncConfiguration.OverwriteLocal).ToList() - .Exists(config => config.TABLE_NAME == table.TableName)).ToList().ForEach(x => x.CopyData = true); + if (conf == Config.Default) + { + updated + .Where(table => sync_configurations.Where(config => (SyncConfiguration)config.SYNC_TYPE == SyncConfiguration.OverwriteLocal).ToList() + .Exists(config => config.TABLE_NAME == table.TableName)).ToList().ForEach(x => x.CopyData = true); + } + else if (conf == Config.CopyAll) + { + updated.ForEach(x => x.CopyData = true); + } return updated; }); SqlServerToSQLiteConverter converter = new SqlServerToSQLiteConverter(); + converter.GenerateForeignKeys = true; + converter.GenerateIndexes = true; converter.ConvertSqlServerToSQLiteDatabase(connectionString, sqlitePath, null, handler, selectionHandler, null, false, false); diff --git a/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugCommand.cs b/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugCommand.cs index 5b76761db..5b019eddc 100644 --- a/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugCommand.cs +++ b/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugCommand.cs @@ -123,7 +123,7 @@ namespace Tango.BuildExtensions String filePath = GetProjectOutputFilePath(project); String folder = Path.GetDirectoryName(filePath); String fileName = Path.GetFileName(filePath); - String remoteFolder = Path.Combine(SHARED_PATH, projectName); + String remoteFolder = Path.Combine(dlg.SharedFolder, projectName); String remoteFilePath = Path.Combine(remoteFolder, fileName); DTE.Solution.SolutionBuild.BuildProject("Debug", project.FullName, true); diff --git a/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugForm.Designer.cs b/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugForm.Designer.cs index bfbc8c683..f05bdc8e5 100644 --- a/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugForm.Designer.cs +++ b/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugForm.Designer.cs @@ -41,6 +41,8 @@ this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.txtSharedFolder = new System.Windows.Forms.TextBox(); this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); @@ -48,6 +50,8 @@ // panel1 // this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.label6); + this.panel1.Controls.Add(this.txtSharedFolder); this.panel1.Controls.Add(this.label5); this.panel1.Controls.Add(this.txtPass); this.panel1.Controls.Add(this.label4); @@ -63,7 +67,7 @@ this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(561, 309); + this.panel1.Size = new System.Drawing.Size(561, 353); this.panel1.TabIndex = 2; // // label5 @@ -71,7 +75,7 @@ this.label5.AutoSize = true; this.label5.Cursor = System.Windows.Forms.Cursors.Arrow; this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label5.Location = new System.Drawing.Point(255, 145); + this.label5.Location = new System.Drawing.Point(255, 218); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(68, 16); this.label5.TabIndex = 18; @@ -82,7 +86,7 @@ this.txtPass.BackColor = System.Drawing.Color.Black; this.txtPass.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.txtPass.ForeColor = System.Drawing.Color.White; - this.txtPass.Location = new System.Drawing.Point(258, 167); + this.txtPass.Location = new System.Drawing.Point(258, 240); this.txtPass.Name = "txtPass"; this.txtPass.Size = new System.Drawing.Size(170, 20); this.txtPass.TabIndex = 17; @@ -94,7 +98,7 @@ this.label4.AutoSize = true; this.label4.Cursor = System.Windows.Forms.Cursors.Arrow; this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label4.Location = new System.Drawing.Point(98, 145); + this.label4.Location = new System.Drawing.Point(98, 218); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(77, 16); this.label4.TabIndex = 16; @@ -105,7 +109,7 @@ this.txtUserName.BackColor = System.Drawing.Color.Black; this.txtUserName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.txtUserName.ForeColor = System.Drawing.Color.White; - this.txtUserName.Location = new System.Drawing.Point(101, 167); + this.txtUserName.Location = new System.Drawing.Point(101, 240); this.txtUserName.Name = "txtUserName"; this.txtUserName.Size = new System.Drawing.Size(148, 20); this.txtUserName.TabIndex = 15; @@ -116,7 +120,7 @@ this.label3.AutoSize = true; this.label3.Cursor = System.Windows.Forms.Cursors.Arrow; this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label3.Location = new System.Drawing.Point(98, 81); + this.label3.Location = new System.Drawing.Point(98, 154); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(76, 16); this.label3.TabIndex = 14; @@ -138,7 +142,7 @@ this.txtHostName.BackColor = System.Drawing.Color.Black; this.txtHostName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.txtHostName.ForeColor = System.Drawing.Color.White; - this.txtHostName.Location = new System.Drawing.Point(101, 100); + this.txtHostName.Location = new System.Drawing.Point(101, 173); this.txtHostName.Name = "txtHostName"; this.txtHostName.Size = new System.Drawing.Size(327, 20); this.txtHostName.TabIndex = 12; @@ -153,7 +157,7 @@ this.btnCancel.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15))))); this.btnCancel.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60))))); this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnCancel.Location = new System.Drawing.Point(314, 254); + this.btnCancel.Location = new System.Drawing.Point(314, 298); this.btnCancel.Name = "btnCancel"; this.btnCancel.Size = new System.Drawing.Size(114, 42); this.btnCancel.TabIndex = 11; @@ -169,7 +173,7 @@ this.btnOK.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15))))); this.btnOK.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60))))); this.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnOK.Location = new System.Drawing.Point(434, 254); + this.btnOK.Location = new System.Drawing.Point(434, 298); this.btnOK.Name = "btnOK"; this.btnOK.Size = new System.Drawing.Size(114, 42); this.btnOK.TabIndex = 10; @@ -212,12 +216,34 @@ this.label1.Text = "Run On Remote Machine"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // + // label6 + // + this.label6.AutoSize = true; + this.label6.Cursor = System.Windows.Forms.Cursors.Arrow; + this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label6.Location = new System.Drawing.Point(99, 90); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(94, 16); + this.label6.TabIndex = 20; + this.label6.Text = "Shared Folder"; + // + // txtSharedFolder + // + this.txtSharedFolder.BackColor = System.Drawing.Color.Black; + this.txtSharedFolder.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtSharedFolder.ForeColor = System.Drawing.Color.White; + this.txtSharedFolder.Location = new System.Drawing.Point(102, 109); + this.txtSharedFolder.Name = "txtSharedFolder"; + this.txtSharedFolder.Size = new System.Drawing.Size(327, 20); + this.txtSharedFolder.TabIndex = 19; + this.txtSharedFolder.Text = "\\\\PANEL-PC\\Shared Build"; + // // RemoteDebugForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); - this.ClientSize = new System.Drawing.Size(561, 309); + this.ClientSize = new System.Drawing.Size(561, 353); this.ControlBox = false; this.Controls.Add(this.panel1); this.ForeColor = System.Drawing.Color.Gainsboro; @@ -252,5 +278,7 @@ private System.Windows.Forms.TextBox txtPass; private System.Windows.Forms.Label label4; private System.Windows.Forms.TextBox txtUserName; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox txtSharedFolder; } }
\ No newline at end of file diff --git a/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugForm.cs b/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugForm.cs index a59a138e0..fe44ee664 100644 --- a/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugForm.cs +++ b/Software/Visual_Studio/VSIX/Tango.BuildExtensions/RemoteDebugForm.cs @@ -15,6 +15,7 @@ namespace Tango.BuildExtensions public String HostName { get; set; } public String UserName { get; set; } public String Password { get; set; } + public String SharedFolder { get; set; } public RemoteDebugForm(String projectName) { @@ -37,6 +38,7 @@ namespace Tango.BuildExtensions HostName = txtHostName.Text; UserName = txtUserName.Text; Password = txtPass.Text; + SharedFolder = txtSharedFolder.Text; DialogResult = DialogResult.OK; Close(); } diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Tango.MachineService.csproj b/Software/Visual_Studio/Web/Tango.MachineService/Tango.MachineService.csproj index fa3d4c537..3439b8c09 100644 --- a/Software/Visual_Studio/Web/Tango.MachineService/Tango.MachineService.csproj +++ b/Software/Visual_Studio/Web/Tango.MachineService/Tango.MachineService.csproj @@ -62,15 +62,16 @@ <Reference Include="System" /> <Reference Include="System.Data" /> <Reference Include="System.Data.DataSetExtensions" /> - <Reference Include="System.Data.SQLite, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Reference Include="System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.EF6, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\..\packages\System.Data.SQLite.EF6.1.0.106.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> + <Reference Include="System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath> <Private>True</Private> </Reference> - <Reference Include="System.Data.SQLite.Linq, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> - <HintPath>..\..\packages\System.Data.SQLite.Linq.1.0.106.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> + <Reference Include="System.Data.SQLite.Linq, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> + <HintPath>..\..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Drawing" /> @@ -249,13 +250,13 @@ <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> <Error Condition="!Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.3\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.3\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" /> - <Error Condition="!Exists('..\..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets'))" /> <Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.2.4.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.2.4.0\build\Microsoft.Net.Compilers.props'))" /> + <Error Condition="!Exists('..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets'))" /> </Target> - <Import Project="..\..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" /> <PropertyGroup> <PreBuildEvent>copy /Y "$(SolutionDir)..\DB\Tango.db" "$(ProjectDir)App_Data\Tango.db"</PreBuildEvent> </PropertyGroup> + <Import Project="..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.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"> diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Web.config b/Software/Visual_Studio/Web/Tango.MachineService/Web.config index 53a9de5fd..e843f132a 100644 --- a/Software/Visual_Studio/Web/Tango.MachineService/Web.config +++ b/Software/Visual_Studio/Web/Tango.MachineService/Web.config @@ -87,10 +87,10 @@ <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> </providers> </entityFramework> - <system.data> + +<system.data> <DbProviderFactories> <remove invariant="System.Data.SQLite.EF6" /> <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories> - </system.data> -</configuration>
\ No newline at end of file + </system.data></configuration>
\ No newline at end of file diff --git a/Software/Visual_Studio/Web/Tango.MachineService/packages.config b/Software/Visual_Studio/Web/Tango.MachineService/packages.config index f7f8b6e14..fe23842ac 100644 --- a/Software/Visual_Studio/Web/Tango.MachineService/packages.config +++ b/Software/Visual_Studio/Web/Tango.MachineService/packages.config @@ -25,9 +25,9 @@ <package id="Modernizr" version="2.6.2" targetFramework="net45" /> <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net45" /> <package id="Respond" version="1.2.0" targetFramework="net45" /> - <package id="System.Data.SQLite" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Core" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.EF6" version="1.0.106.0" targetFramework="net46" /> - <package id="System.Data.SQLite.Linq" version="1.0.106.0" targetFramework="net46" /> + <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" /> + <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" /> <package id="WebGrease" version="1.5.2" targetFramework="net45" /> </packages>
\ No newline at end of file |
