Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
2e0a15f
add new raw project and solution (VS 2015)
punker76 Aug 5, 2016
d8d7516
add files to new project
punker76 Aug 5, 2016
a595cb2
use cake build for all
punker76 Aug 10, 2016
bac0d66
no more strong named dll
punker76 Aug 10, 2016
6381eeb
System.Xaml doesn't exist in net3.5
punker76 Aug 11, 2016
849ca63
Remove old samples and prepare for new one
punker76 Aug 11, 2016
53ba0d7
Merge remote-tracking branch 'origin/master' into only-one-project-an…
punker76 Aug 12, 2016
3c0dd61
update README
punker76 Aug 12, 2016
7312d5a
set default target framework to 4.5
punker76 Aug 12, 2016
272adb6
draft sample
punker76 Aug 12, 2016
0161f94
NET35 or not NET35 that's the question
punker76 Aug 13, 2016
e29cba2
raw sample structure
punker76 Aug 13, 2016
578a04e
one project with different builds is not practicable
punker76 Aug 15, 2016
da61a70
forgot auto-retsore for paket
punker76 Aug 15, 2016
e6fe1f5
raw style concept
punker76 Aug 15, 2016
9721767
minor main ListBox styling
punker76 Aug 16, 2016
3216f89
Add TextBlock caption for selected sample
punker76 Aug 18, 2016
2790290
Add next ListBox samples
punker76 Aug 19, 2016
6acbe05
Show DragAdorner also if target element isn't allowed for hit test
punker76 Aug 19, 2016
736deca
DragDropKeyStates sample
punker76 Aug 19, 2016
a8808b0
ListView bound and unbound sample
punker76 Aug 19, 2016
796f09d
TreeView bound and unbound sample
punker76 Aug 19, 2016
70ea6df
CaptureScreen with right Dpi
punker76 Aug 20, 2016
20b7fda
Continue build for CleanOutput cake task
punker76 Aug 21, 2016
91c1425
No Drag&Drop for NewItemPlaceholder in DataGrid
punker76 Aug 21, 2016
0217e19
Consider NewItemPlaceholderPosition to insert items at DefaultDropHan…
punker76 Aug 21, 2016
0615f1a
DataGrid sample
punker76 Aug 21, 2016
1f52363
Fix for insertion adorners width
punker76 Aug 21, 2016
c76e859
Add new attached property ItemsPanelOrientation
punker76 Aug 23, 2016
e554ee8
TabControl sample
punker76 Aug 23, 2016
5e7f0e1
Issue #123 sample
punker76 Aug 24, 2016
31551b1
Replace ViewBox icons with IconPackMaterial
punker76 Aug 24, 2016
52f2c01
Issue #42 sample
punker76 Aug 24, 2016
3efdfad
Issue #37 sample
punker76 Aug 24, 2016
88c977c
Issue #65 sample
punker76 Aug 25, 2016
b5cd53f
Issue #30 sample
punker76 Aug 25, 2016
d3580e1
Issue #73 sample
punker76 Aug 26, 2016
d2ef985
Issue #64 sample
punker76 Aug 26, 2016
2ed1258
Issue #85 sample
punker76 Aug 29, 2016
939d796
Custom drop adorner sample for Issue #85
punker76 Aug 29, 2016
9c8178f
Issue #84 sample
punker76 Aug 30, 2016
2fcfa41
Issue #88 sample
punker76 Aug 31, 2016
4f7334b
Issue #188 sample
punker76 Aug 31, 2016
043489e
Issue #146 sample
punker76 Aug 31, 2016
56e596f
DragDropContext Mixed sample
punker76 Aug 31, 2016
2a66e8f
Filtered ListBox Mixed sample
punker76 Sep 1, 2016
79e188d
Custom styled ItemsControl Mixed sample
punker76 Sep 1, 2016
4905658
DragAdornerTemplateSelector Mixed sample
punker76 Sep 1, 2016
9add39a
DragAdorner Mixed sample
punker76 Sep 1, 2016
032ef1b
Cloning Mixed sample
punker76 Sep 2, 2016
912e314
Last Mixed sample
punker76 Sep 2, 2016
e77db63
Remove old sample
punker76 Sep 2, 2016
5ecd5a2
Update Readme
punker76 Sep 2, 2016
2c0b3e6
Add screenshots from sample
punker76 Sep 2, 2016
81846bc
Merge pull request #198 from punker76/only-one-project-and-paket
punker76 Sep 2, 2016
68d8a0a
typo
punker76 Sep 2, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/
Expand Down
Binary file removed .nuget/NuGet.exe
Binary file not shown.
2 changes: 1 addition & 1 deletion Build/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
*.nupkg
lib
*.zip
39 changes: 39 additions & 0 deletions Build/GongSolutions.Wpf.DragDrop.ALPHA.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0"?>
<package>
<metadata>
<id>gong-wpf-dragdrop</id>
<version>1.0.0-ALPHA017</version>
<title>gong-wpf-dragdrop</title>
<authors>Jan Karger (punker76), Steven Kirk, mitchell.jon</authors>
<owners>punker76</owners>
<licenseUrl>https://github.com/punker76/gong-wpf-dragdrop#license</licenseUrl>
<projectUrl>https://github.com/punker76/gong-wpf-dragdrop</projectUrl>
<iconUrl>https://raw.github.com/punker76/gong-wpf-dragdrop/master/GongSolutions.Wpf.DragDrop.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>An easy to use drag'n'drop framework for WPF applications.</description>
<copyright>Copyright © 2013-2016</copyright>
<tags>WPF UI Framework Library Toolkit .NET XAML</tags>
<dependencies>
<group targetFramework="net35">
<dependency id="WPFToolkit" version="3.5.50211.1"/>
</group>
<group targetFramework="net40" />
<group targetFramework="net45" />
<group targetFramework="net46" />
</dependencies>
</metadata>
<files>
<file src="Debug_NET35\GongSolutions.Wpf.DragDrop.dll" target="lib\net35\GongSolutions.Wpf.DragDrop.dll"/>
<file src="Debug_NET35\GongSolutions.Wpf.DragDrop.xml" target="lib\net35\GongSolutions.Wpf.DragDrop.xml"/>
<file src="Debug_NET35\GongSolutions.Wpf.DragDrop.pdb" target="lib\net35\GongSolutions.Wpf.DragDrop.pdb"/>
<file src="Debug_NET40\GongSolutions.Wpf.DragDrop.dll" target="lib\net40\GongSolutions.Wpf.DragDrop.dll"/>
<file src="Debug_NET40\GongSolutions.Wpf.DragDrop.xml" target="lib\net40\GongSolutions.Wpf.DragDrop.xml"/>
<file src="Debug_NET40\GongSolutions.Wpf.DragDrop.pdb" target="lib\net40\GongSolutions.Wpf.DragDrop.pdb"/>
<file src="Debug_NET45\GongSolutions.Wpf.DragDrop.dll" target="lib\net45\GongSolutions.Wpf.DragDrop.dll"/>
<file src="Debug_NET45\GongSolutions.Wpf.DragDrop.xml" target="lib\net45\GongSolutions.Wpf.DragDrop.xml"/>
<file src="Debug_NET45\GongSolutions.Wpf.DragDrop.pdb" target="lib\net45\GongSolutions.Wpf.DragDrop.pdb"/>
<file src="Debug_NET46\GongSolutions.Wpf.DragDrop.dll" target="lib\net46\GongSolutions.Wpf.DragDrop.dll"/>
<file src="Debug_NET46\GongSolutions.Wpf.DragDrop.xml" target="lib\net46\GongSolutions.Wpf.DragDrop.xml"/>
<file src="Debug_NET46\GongSolutions.Wpf.DragDrop.pdb" target="lib\net46\GongSolutions.Wpf.DragDrop.pdb"/>
</files>
</package>
39 changes: 39 additions & 0 deletions Build/GongSolutions.Wpf.DragDrop.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0"?>
<package>
<metadata>
<id>gong-wpf-dragdrop</id>
<version>1.0.0</version>
<title>gong-wpf-dragdrop</title>
<authors>Jan Karger (punker76), Steven Kirk, mitchell.jon</authors>
<owners>punker76</owners>
<licenseUrl>https://github.com/punker76/gong-wpf-dragdrop#license</licenseUrl>
<projectUrl>https://github.com/punker76/gong-wpf-dragdrop</projectUrl>
<iconUrl>https://raw.github.com/punker76/gong-wpf-dragdrop/master/GongSolutions.Wpf.DragDrop.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>An easy to use drag'n'drop framework for WPF applications.</description>
<copyright>Copyright © 2013-2016</copyright>
<tags>WPF UI Framework Library Toolkit .NET XAML</tags>
<dependencies>
<group targetFramework="net35">
<dependency id="WPFToolkit" version="3.5.50211.1"/>
</group>
<group targetFramework="net40" />
<group targetFramework="net45" />
<group targetFramework="net46" />
</dependencies>
</metadata>
<files>
<file src="Debug_NET35\GongSolutions.Wpf.DragDrop.dll" target="lib\net35\GongSolutions.Wpf.DragDrop.dll"/>
<file src="Debug_NET35\GongSolutions.Wpf.DragDrop.xml" target="lib\net35\GongSolutions.Wpf.DragDrop.xml"/>
<file src="Debug_NET35\GongSolutions.Wpf.DragDrop.pdb" target="lib\net35\GongSolutions.Wpf.DragDrop.pdb"/>
<file src="Debug_NET40\GongSolutions.Wpf.DragDrop.dll" target="lib\net40\GongSolutions.Wpf.DragDrop.dll"/>
<file src="Debug_NET40\GongSolutions.Wpf.DragDrop.xml" target="lib\net40\GongSolutions.Wpf.DragDrop.xml"/>
<file src="Debug_NET40\GongSolutions.Wpf.DragDrop.pdb" target="lib\net40\GongSolutions.Wpf.DragDrop.pdb"/>
<file src="Debug_NET45\GongSolutions.Wpf.DragDrop.dll" target="lib\net45\GongSolutions.Wpf.DragDrop.dll"/>
<file src="Debug_NET45\GongSolutions.Wpf.DragDrop.xml" target="lib\net45\GongSolutions.Wpf.DragDrop.xml"/>
<file src="Debug_NET45\GongSolutions.Wpf.DragDrop.pdb" target="lib\net45\GongSolutions.Wpf.DragDrop.pdb"/>
<file src="Debug_NET46\GongSolutions.Wpf.DragDrop.dll" target="lib\net46\GongSolutions.Wpf.DragDrop.dll"/>
<file src="Debug_NET46\GongSolutions.Wpf.DragDrop.xml" target="lib\net46\GongSolutions.Wpf.DragDrop.xml"/>
<file src="Debug_NET46\GongSolutions.Wpf.DragDrop.pdb" target="lib\net46\GongSolutions.Wpf.DragDrop.pdb"/>
</files>
</package>
107 changes: 107 additions & 0 deletions Build/build.cake
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
#tool "nuget:?package=gitlink"

// Arguments
var target = Argument("target", "Default");
var version = "1.0.0.0";
var infoVersion = "1.0.0";
var alphaVersion = "1.0.0-ALPHA017";
var configGitLink = new GitLinkSettings {
RepositoryUrl = "https://github.com/punker76/gong-wpf-dragdrop",
Branch = "master",
Configuration = "Release"
};
var newAssemblyInfoSettings = new AssemblyInfoSettings {
Product = string.Format("GongSolutions.WPF.DragDrop {0}", version),
Version = version,
FileVersion = version,
InformationalVersion = string.Format("GongSolutions.WPF.DragDrop {0}", infoVersion),
Copyright = string.Format("Copyright © GongSolutions.WPF.DragDrop 2013 - {0}", DateTime.Now.Year)
};

// Tasks
Task("GitLink")
.Does(() =>
{
configGitLink.Configuration = "Release";
GitLink("../", configGitLink);
DeleteFiles("../src/bin/**/*.srcsrv");
});

Task("GitLink_Debug")
.Does(() =>
{
configGitLink.Configuration = "Debug";
GitLink("../", configGitLink);
DeleteFiles("../src/bin/**/*.srcsrv");
});

Task("UpdateAssemblyInfo")
.Does(() =>
{
CreateAssemblyInfo("../src/GlobalAssemblyInfo.cs", newAssemblyInfoSettings);
});

Task("UpdateAssemblyInfo_Debug")
.Does(() =>
{
newAssemblyInfoSettings.InformationalVersion = string.Format("GongSolutions.WPF.DragDrop {0}", alphaVersion);
CreateAssemblyInfo("../src/GlobalAssemblyInfo.cs", newAssemblyInfoSettings);
});

Task("Build")
.Does(() =>
{
MSBuild("../src/GongSolutions.WPF.DragDrop.sln", settings => settings.SetConfiguration("Release").UseToolVersion(MSBuildToolVersion.VS2015));
});

Task("Build_Debug")
.Does(() =>
{
MSBuild("../src/GongSolutions.WPF.DragDrop.sln", settings => settings.SetConfiguration("Debug").UseToolVersion(MSBuildToolVersion.VS2015));
});

Task("NuGetPack")
.Does(() =>
{
var nuGetPackSettings = new NuGetPackSettings {
BasePath = "../src/bin/GongSolutions.WPF.DragDrop/",
Id = "gong-wpf-dragdrop",
Version = version,
Title = "gong-wpf-dragdrop",
Copyright = string.Format("Copyright © GongSolutions.WPF.DragDrop 2013 - {0}", DateTime.Now.Year)
};
NuGetPack("./GongSolutions.Wpf.DragDrop.nuspec", nuGetPackSettings);
nuGetPackSettings.Version = alphaVersion;
NuGetPack("./GongSolutions.Wpf.DragDrop.ALPHA.nuspec", nuGetPackSettings);
});

Task("ZipShowcase")
.Does(() =>
{
Zip("../src/bin/Showcase.WPF.DragDrop/Release_NET45/", "Showcase.WPF.DragDrop.Release.zip");
});

Task("ZipShowcase_Debug")
.Does(() =>
{
Zip("../src/bin/Showcase.WPF.DragDrop/Debug_NET45/", "Showcase.WPF.DragDrop.Debug.zip");
});

Task("CleanOutput")
.ContinueOnError()
.Does(() =>
{
CleanDirectories("../src/bin");
});

// Task Targets
Task("Default").IsDependentOn("CleanOutput").IsDependentOn("UpdateAssemblyInfo").IsDependentOn("Build").IsDependentOn("GitLink").IsDependentOn("ZipShowcase");
Task("Debug").IsDependentOn("CleanOutput").IsDependentOn("UpdateAssemblyInfo_Debug").IsDependentOn("Build_Debug").IsDependentOn("GitLink_Debug").IsDependentOn("ZipShowcase_Debug");
Task("Appveyor")
.IsDependentOn("CleanOutput")
.IsDependentOn("UpdateAssemblyInfo").IsDependentOn("Build").IsDependentOn("GitLink").IsDependentOn("ZipShowcase")
.IsDependentOn("UpdateAssemblyInfo_Debug").IsDependentOn("Build_Debug").IsDependentOn("GitLink_Debug").IsDependentOn("ZipShowcase_Debug")
.IsDependentOn("NuGetPack");

// Execution
RunTarget(target);
189 changes: 189 additions & 0 deletions Build/build.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
##########################################################################
# This is the Cake bootstrapper script for PowerShell.
# This file was downloaded from https://github.com/cake-build/resources
# Feel free to change this file to fit your needs.
##########################################################################

<#

.SYNOPSIS
This is a Powershell script to bootstrap a Cake build.

.DESCRIPTION
This Powershell script will download NuGet if missing, restore NuGet tools (including Cake)
and execute your Cake build script with the parameters you provide.

.PARAMETER Script
The build script to execute.
.PARAMETER Target
The build script target to run.
.PARAMETER Configuration
The build configuration to use.
.PARAMETER Verbosity
Specifies the amount of information to be displayed.
.PARAMETER Experimental
Tells Cake to use the latest Roslyn release.
.PARAMETER WhatIf
Performs a dry run of the build script.
No tasks will be executed.
.PARAMETER Mono
Tells Cake to use the Mono scripting engine.
.PARAMETER SkipToolPackageRestore
Skips restoring of packages.
.PARAMETER ScriptArgs
Remaining arguments are added here.

.LINK
http://cakebuild.net

#>

[CmdletBinding()]
Param(
[string]$Script = "build.cake",
[string]$Target = "Default",
[ValidateSet("Release", "Debug")]
[string]$Configuration = "Release",
[ValidateSet("Quiet", "Minimal", "Normal", "Verbose", "Diagnostic")]
[string]$Verbosity = "Verbose",
[switch]$Experimental,
[Alias("DryRun","Noop")]
[switch]$WhatIf,
[switch]$Mono,
[switch]$SkipToolPackageRestore,
[Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)]
[string[]]$ScriptArgs
)

[Reflection.Assembly]::LoadWithPartialName("System.Security") | Out-Null
function MD5HashFile([string] $filePath)
{
if ([string]::IsNullOrEmpty($filePath) -or !(Test-Path $filePath -PathType Leaf))
{
return $null
}

[System.IO.Stream] $file = $null;
[System.Security.Cryptography.MD5] $md5 = $null;
try
{
$md5 = [System.Security.Cryptography.MD5]::Create()
$file = [System.IO.File]::OpenRead($filePath)
return [System.BitConverter]::ToString($md5.ComputeHash($file))
}
finally
{
if ($file -ne $null)
{
$file.Dispose()
}
}
}

Write-Host "Preparing to run build script..."

if(!$PSScriptRoot){
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
}

$TOOLS_DIR = Join-Path $PSScriptRoot "tools"
$NUGET_EXE = Join-Path $TOOLS_DIR "nuget.exe"
$CAKE_EXE = Join-Path $TOOLS_DIR "Cake/Cake.exe"
$NUGET_URL = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
$PACKAGES_CONFIG = Join-Path $TOOLS_DIR "packages.config"
$PACKAGES_CONFIG_MD5 = Join-Path $TOOLS_DIR "packages.config.md5sum"

# Should we use mono?
$UseMono = "";
if($Mono.IsPresent) {
Write-Verbose -Message "Using the Mono based scripting engine."
$UseMono = "-mono"
}

# Should we use the new Roslyn?
$UseExperimental = "";
if($Experimental.IsPresent -and !($Mono.IsPresent)) {
Write-Verbose -Message "Using experimental version of Roslyn."
$UseExperimental = "-experimental"
}

# Is this a dry run?
$UseDryRun = "";
if($WhatIf.IsPresent) {
$UseDryRun = "-dryrun"
}

# Make sure tools folder exists
if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) {
Write-Verbose -Message "Creating tools directory..."
New-Item -Path $TOOLS_DIR -Type directory | out-null
}

# Make sure that packages.config exist.
if (!(Test-Path $PACKAGES_CONFIG)) {
Write-Verbose -Message "Downloading packages.config..."
try { (New-Object System.Net.WebClient).DownloadFile("http://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG) } catch {
Throw "Could not download packages.config."
}
}

# Try find NuGet.exe in path if not exists
if (!(Test-Path $NUGET_EXE)) {
Write-Verbose -Message "Trying to find nuget.exe in PATH..."
$existingPaths = $Env:Path -Split ';' | Where-Object { (![string]::IsNullOrEmpty($_)) -and (Test-Path $_) }
$NUGET_EXE_IN_PATH = Get-ChildItem -Path $existingPaths -Filter "nuget.exe" | Select -First 1
if ($NUGET_EXE_IN_PATH -ne $null -and (Test-Path $NUGET_EXE_IN_PATH.FullName)) {
Write-Verbose -Message "Found in PATH at $($NUGET_EXE_IN_PATH.FullName)."
$NUGET_EXE = $NUGET_EXE_IN_PATH.FullName
}
}

# Try download NuGet.exe if not exists
if (!(Test-Path $NUGET_EXE)) {
Write-Verbose -Message "Downloading NuGet.exe..."
try {
(New-Object System.Net.WebClient).DownloadFile($NUGET_URL, $NUGET_EXE)
} catch {
Throw "Could not download NuGet.exe."
}
}

# Save nuget.exe path to environment to be available to child processed
$ENV:NUGET_EXE = $NUGET_EXE

# Restore tools from NuGet?
if(-Not $SkipToolPackageRestore.IsPresent) {
Push-Location
Set-Location $TOOLS_DIR

# Check for changes in packages.config and remove installed tools if true.
[string] $md5Hash = MD5HashFile($PACKAGES_CONFIG)
if((!(Test-Path $PACKAGES_CONFIG_MD5)) -Or
($md5Hash -ne (Get-Content $PACKAGES_CONFIG_MD5 ))) {
Write-Verbose -Message "Missing or changed package.config hash..."
Remove-Item * -Recurse -Exclude packages.config,nuget.exe
}

Write-Verbose -Message "Restoring tools from NuGet..."
$NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`""

if ($LASTEXITCODE -ne 0) {
Throw "An error occured while restoring NuGet tools."
}
else
{
$md5Hash | Out-File $PACKAGES_CONFIG_MD5 -Encoding "ASCII"
}
Write-Verbose -Message ($NuGetOutput | out-string)
Pop-Location
}

# Make sure that Cake has been installed.
if (!(Test-Path $CAKE_EXE)) {
Throw "Could not find Cake.exe at $CAKE_EXE"
}

# Start Cake
Write-Host "Running build script..."
Invoke-Expression "& `"$CAKE_EXE`" `"$Script`" -target=`"$Target`" -configuration=`"$Configuration`" -verbosity=`"$Verbosity`" $UseMono $UseDryRun $UseExperimental $ScriptArgs"
exit $LASTEXITCODE
Loading