diff --git a/.gitignore b/.gitignore index 89c660548..bc6fc0434 100644 --- a/.gitignore +++ b/.gitignore @@ -1,295 +1,314 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ -**/Properties/launchSettings.json - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Typescript v1 declaration files -typings/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# JetBrains Rider -.idea/ -*.sln.iml - -# CodeRush -.cr/ - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Typescript v1 declaration files +typings/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +### append +/ExtendedWPFToolkitSolution/.vs/Xceed.Wpf.Toolkit/v15/.suo +/ExtendedWPFToolkitSolution/.vs/Xceed.Wpf.Toolkit/v15/sqlite3/storage.ide +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/bin/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/obj/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/bin/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/obj/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/bin/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/obj/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/bin/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/obj/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.DataGrid/bin/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.DataGrid/obj/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/bin/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/obj/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Xceed.Wpf.Toolkit.LiveExplorer.csproj.user +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/bin/* +/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/obj/* diff --git a/CHANGELOG_IUEDITOR.md b/CHANGELOG_IUEDITOR.md new file mode 100644 index 000000000..86aaf7db0 --- /dev/null +++ b/CHANGELOG_IUEDITOR.md @@ -0,0 +1,71 @@ +WpfExToolkit for IUEditor +============ + +A fork of https://wpftoolkit.codeplex.com/ + +The "Master" Branch will always be synced to the official Codeplex Version. + +"iueditor" Branch is customized from "master" branch + +--- + +## History +* 2018-09-19 + * fixed anchorable dock -> auto hide (getSide) + +* 2018-08-24 + * change range slider design (thumb : rectangle -> circle) + +* 2018-07-25 + * merged from [original repository](https://github.com/xceedsoftware/wpftoolkit.git) + * (if failed to datagrid) + * https://stackoverflow.com/questions/36190601/your-project-is-not-referencing-the-netframework-version-v4-5-framework/41154960 + * remove file : wpftoolkit directory obj\project.assets.json + * rollback avalon dock (fixed in original) + * wpf toolkit theme + * stayed aero2 theme + * rollback generic theme + +* 2018-03-06 + * color picker (recent property -> static) + * editor config added + * avalondock + * change serialization tag <RootPanel> to <LayoutPanel> + * disable drop LayoutAnchorable to DocumentPane + * bugfix : FixupLayout method + + +* 2018-02-27 + * property grid + * disable horizontal scroll + * add designated object (w/ button) + * color panel + * change design + +* 2017-11-22 + * added EditorEnabled dependency property in PropertyGrid for CanChange function + +* 2017-10-20 + * property grid clear button image change / border color + * wizard button style add (binding) + + +* 2017-10-17 : upstream change([https://github.com/xceedsoftware/wpftoolkit](https://github.com/xceedsoftware/wpftoolkit "xceed")) + * color applied (no color) + * numeric (remove - code 위치 표시) + + +-------------------- +### xceed old github repository (https://github.com/dotnetprojects/WpfExtendedToolkit) + +* 2017-10-12 : Extended(upstream) merge + > color picker (no color 유지, advanced 복귀) + +* 2017-07-12 : CommonNumericUpDown Spinner + > Value가 null일 때, increase/decrease를 하는 경우, DefaultValue가 있으면 DefaultValue를 기준으로 변경 + +* 2017-06-30 : CommonNumericUpDown Spinner for UpdateValueOnEnterKey + > UpdateValueOnEnterKey = true 이어도 Spinner로 Update하는 경우에는 Enter key없이 Update 되도록 변경 + +* 2017-06-22 : ColorPicker design (iueditor customizing) + > 일단은 ColorPicker/Themes/Aero2.NormarColor.xaml와 ColorPicker/Themes/Generic.xaml 의 코드를 동일하게유지. Theme관련된 부분은 추후에 다시 논의 diff --git a/ExtendedWPFToolkitSolution/Libs/READ_ME.txt b/ExtendedWPFToolkitSolution/Libs/READ_ME.txt index 973d2375b..69a49c7ef 100644 --- a/ExtendedWPFToolkitSolution/Libs/READ_ME.txt +++ b/ExtendedWPFToolkitSolution/Libs/READ_ME.txt @@ -1,2 +1,2 @@ -The file Xceed.Wpf.Samples.SampleData.dll has been created from Xceed.Silverlight.Samples.SampleData.dll of the Silverlight ListBox. +The file Xceed.Wpf.Samples.SampleData.dll has been created from Xceed.Silverlight.Samples.SampleData.dll of the Silverlight ListBox. Only the Silverlight has been changed to Wpf. \ No newline at end of file diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroColors.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroColors.cs index ec5cb4b86..e69fd708f 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroColors.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroColors.cs @@ -1,62 +1,62 @@ -/************************************************************************************* - - Extended WPF Toolkit - - Copyright (C) 2007-2013 Xceed Software Inc. - - This program is provided to you under the terms of the Microsoft Public - License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license - - For more features, controls, and fast professional support, - pick up the Plus Edition at http://xceed.com/wpf_toolkit - - Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids - - ***********************************************************************************/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Windows; -using System.Windows.Media; - -namespace Xceed.Wpf.AvalonDock.Themes -{ - public static class AeroColors - { - public static readonly ComponentResourceKey BaseColor1Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor1" ); - public static readonly ComponentResourceKey BaseColor2Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor2" ); - public static readonly ComponentResourceKey BaseColor3Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor3" ); - public static readonly ComponentResourceKey BaseColor4Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor4" ); - public static readonly ComponentResourceKey BaseColor5Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor5" ); - public static readonly ComponentResourceKey BaseColor6Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor6" ); - public static readonly ComponentResourceKey BaseColor7Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor7" ); - public static readonly ComponentResourceKey BaseColor8Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor8" ); - public static readonly ComponentResourceKey BaseColor9Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor9" ); - public static readonly ComponentResourceKey BaseColor10Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor10" ); - public static readonly ComponentResourceKey BaseColor11Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor11" ); - public static readonly ComponentResourceKey BaseColor12Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor12" ); - public static readonly ComponentResourceKey BaseColor13Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor13" ); - public static readonly ComponentResourceKey BaseColor14Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor14" ); - public static readonly ComponentResourceKey BaseColor15Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor15" ); - public static readonly ComponentResourceKey BaseColor16Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor16" ); - public static readonly ComponentResourceKey BaseColor17Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor17" ); - //public static readonly ComponentResourceKey BaseColor18Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor18" ); - //public static readonly ComponentResourceKey BaseColor19Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor19" ); - //public static readonly ComponentResourceKey BaseColor20Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor20" ); - //public static readonly ComponentResourceKey BaseColor21Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor21" ); - //public static readonly ComponentResourceKey BaseColor22Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor22" ); - //public static readonly ComponentResourceKey BaseColor23Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor23" ); - public static readonly ComponentResourceKey BaseColor24Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor24" ); - public static readonly ComponentResourceKey BaseColor25Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor25" ); - public static readonly ComponentResourceKey BaseColor26Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor26" ); - public static readonly ComponentResourceKey BaseColor27Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor27" ); - public static readonly ComponentResourceKey BaseColor28Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor28" ); - public static readonly ComponentResourceKey BaseColor29Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor29" ); - public static readonly ComponentResourceKey BaseColor30Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor30" ); - public static readonly ComponentResourceKey BaseColor31Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor31" ); - public static readonly ComponentResourceKey BaseColor32Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor32" ); - public static readonly ComponentResourceKey BaseColor33Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor33" ); - } -} +/************************************************************************************* + + Extended WPF Toolkit + + Copyright (C) 2007-2013 Xceed Software Inc. + + This program is provided to you under the terms of the Microsoft Public + License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license + + For more features, controls, and fast professional support, + pick up the Plus Edition at http://xceed.com/wpf_toolkit + + Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids + + ***********************************************************************************/ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Media; + +namespace Xceed.Wpf.AvalonDock.Themes +{ + public static class AeroColors + { + public static readonly ComponentResourceKey BaseColor1Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor1" ); + public static readonly ComponentResourceKey BaseColor2Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor2" ); + public static readonly ComponentResourceKey BaseColor3Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor3" ); + public static readonly ComponentResourceKey BaseColor4Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor4" ); + public static readonly ComponentResourceKey BaseColor5Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor5" ); + public static readonly ComponentResourceKey BaseColor6Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor6" ); + public static readonly ComponentResourceKey BaseColor7Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor7" ); + public static readonly ComponentResourceKey BaseColor8Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor8" ); + public static readonly ComponentResourceKey BaseColor9Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor9" ); + public static readonly ComponentResourceKey BaseColor10Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor10" ); + public static readonly ComponentResourceKey BaseColor11Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor11" ); + public static readonly ComponentResourceKey BaseColor12Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor12" ); + public static readonly ComponentResourceKey BaseColor13Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor13" ); + public static readonly ComponentResourceKey BaseColor14Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor14" ); + public static readonly ComponentResourceKey BaseColor15Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor15" ); + public static readonly ComponentResourceKey BaseColor16Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor16" ); + public static readonly ComponentResourceKey BaseColor17Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor17" ); + //public static readonly ComponentResourceKey BaseColor18Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor18" ); + //public static readonly ComponentResourceKey BaseColor19Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor19" ); + //public static readonly ComponentResourceKey BaseColor20Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor20" ); + //public static readonly ComponentResourceKey BaseColor21Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor21" ); + //public static readonly ComponentResourceKey BaseColor22Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor22" ); + //public static readonly ComponentResourceKey BaseColor23Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor23" ); + public static readonly ComponentResourceKey BaseColor24Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor24" ); + public static readonly ComponentResourceKey BaseColor25Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor25" ); + public static readonly ComponentResourceKey BaseColor26Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor26" ); + public static readonly ComponentResourceKey BaseColor27Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor27" ); + public static readonly ComponentResourceKey BaseColor28Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor28" ); + public static readonly ComponentResourceKey BaseColor29Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor29" ); + public static readonly ComponentResourceKey BaseColor30Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor30" ); + public static readonly ComponentResourceKey BaseColor31Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor31" ); + public static readonly ComponentResourceKey BaseColor32Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor32" ); + public static readonly ComponentResourceKey BaseColor33Key = new ComponentResourceKey( typeof( AeroColors ), "BaseColor33" ); + } +} diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroTheme.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroTheme.cs index 0d3b20a4d..3f9b1bc01 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroTheme.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroTheme.cs @@ -1,33 +1,33 @@ -/************************************************************************************* - - Extended WPF Toolkit - - Copyright (C) 2007-2013 Xceed Software Inc. - - This program is provided to you under the terms of the Microsoft Public - License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license - - For more features, controls, and fast professional support, - pick up the Plus Edition at http://xceed.com/wpf_toolkit - - Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids - - ***********************************************************************************/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Xceed.Wpf.AvalonDock.Themes -{ - public class AeroTheme : Theme - { - public override Uri GetResourceUri() - { - return new Uri( - "/Xceed.Wpf.AvalonDock.Themes.Aero;component/Theme.xaml", - UriKind.Relative); - } - } -} +/************************************************************************************* + + Extended WPF Toolkit + + Copyright (C) 2007-2013 Xceed Software Inc. + + This program is provided to you under the terms of the Microsoft Public + License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license + + For more features, controls, and fast professional support, + pick up the Plus Edition at http://xceed.com/wpf_toolkit + + Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids + + ***********************************************************************************/ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Xceed.Wpf.AvalonDock.Themes +{ + public class AeroTheme : Theme + { + public override Uri GetResourceUri() + { + return new Uri( + "/Xceed.Wpf.AvalonDock.Themes.Aero;component/Theme.xaml", + UriKind.Relative); + } + } +} diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AssemblyVersionInfoCommon.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AssemblyVersionInfoCommon.cs index 3316fb13a..49ee1682e 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AssemblyVersionInfoCommon.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AssemblyVersionInfoCommon.cs @@ -1,22 +1,22 @@ -/************************************************************************************* - - Extended WPF Toolkit - - Copyright (C) 2007-2013 Xceed Software Inc. - - This program is provided to you under the terms of the Microsoft Public - License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license - - For more features, controls, and fast professional support, - pick up the Plus Edition at http://xceed.com/wpf_toolkit - - Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids - - ***********************************************************************************/ - -internal static class _XceedVersionInfoCommon -{ -[System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )] - public const string Build = ".*"; - -} +/************************************************************************************* + + Extended WPF Toolkit + + Copyright (C) 2007-2013 Xceed Software Inc. + + This program is provided to you under the terms of the Microsoft Public + License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license + + For more features, controls, and fast professional support, + pick up the Plus Edition at http://xceed.com/wpf_toolkit + + Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids + + ***********************************************************************************/ + +internal static class _XceedVersionInfoCommon +{ +[System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )] + public const string Build = ".*"; + +} diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Brushes.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Brushes.xaml index 3606e3ee1..04a24fe13 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Brushes.xaml +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Brushes.xaml @@ -1,155 +1,155 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Controls/SplineBorder.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Controls/SplineBorder.cs index 923475556..c3c0e51e5 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Controls/SplineBorder.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Controls/SplineBorder.cs @@ -1,161 +1,161 @@ -/************************************************************************************* - - Extended WPF Toolkit - - Copyright (C) 2007-2013 Xceed Software Inc. - - This program is provided to you under the terms of the Microsoft Public - License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license - - For more features, controls, and fast professional support, - pick up the Plus Edition at http://xceed.com/wpf_toolkit - - Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids - - ***********************************************************************************/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Navigation; -using System.Windows.Shapes; - -namespace Xceed.Wpf.AvalonDock.Themes.Controls -{ - public class SplineBorder : Control - { - - public SplineBorder() - { - //RenderOptions.SetEdgeMode(this, EdgeMode.Aliased); - } - - - #region Thickness - - /// - /// Thickness Dependency Property - /// - public static readonly DependencyProperty ThicknessProperty = - DependencyProperty.Register("Thickness", typeof(double), typeof(SplineBorder), - new FrameworkPropertyMetadata((double)1.0, FrameworkPropertyMetadataOptions.AffectsRender)); - - /// - /// Gets or sets the Thickness property. This dependency property - /// indicates the border thickness. - /// - public double Thickness - { - get { return (double)GetValue(ThicknessProperty); } - set { SetValue(ThicknessProperty, value); } - } - - #endregion - - #region Fill - - /// - /// Fill Dependency Property - /// - public static readonly DependencyProperty FillProperty = - DependencyProperty.Register("Fill", typeof(Brush), typeof(SplineBorder), - new FrameworkPropertyMetadata((Brush)null, FrameworkPropertyMetadataOptions.AffectsRender)); - - /// - /// Gets or sets the Fill property. This dependency property - /// indicates the fill color. - /// - public Brush Fill - { - get { return (Brush)GetValue(FillProperty); } - set { SetValue(FillProperty, value); } - } - - #endregion - - #region Stroke - - /// - /// Stroke Dependency Property - /// - public static readonly DependencyProperty StrokeProperty = - DependencyProperty.Register("Stroke", typeof(Brush), typeof(SplineBorder), - new FrameworkPropertyMetadata(Brushes.Black, FrameworkPropertyMetadataOptions.AffectsRender)); - - /// - /// Gets or sets the Stroke property. This dependency property - /// indicates the stroke brush. - /// - public Brush Stroke - { - get { return (Brush)GetValue(StrokeProperty); } - set { SetValue(StrokeProperty, value); } - } - - #endregion - - #region BottomBorderMargin - - /// - /// BottomBorderMargin Dependency Property - /// - public static readonly DependencyProperty BottomBorderMarginProperty = - DependencyProperty.Register("BottomBorderMargin", typeof(double), typeof(SplineBorder), - new FrameworkPropertyMetadata((double)0.0, FrameworkPropertyMetadataOptions.AffectsRender)); - - /// - /// Gets or sets the BottomBorderMargin property. This dependency property - /// indicates the adjustment for the bottom margin. - /// - public double BottomBorderMargin - { - get { return (double)GetValue(BottomBorderMarginProperty); } - set { SetValue(BottomBorderMarginProperty, value); } - } - - #endregion - - - - protected override void OnRender(DrawingContext drawingContext) - { - var pgFill = new PathGeometry(); - var pfFill = new PathFigure() { IsFilled = true, IsClosed = true }; - pfFill.StartPoint = new Point(ActualWidth, 0.0); - - var q1Fill = new QuadraticBezierSegment() { Point1 = new Point(ActualWidth * 2 / 3, 0.0), Point2 = new Point(ActualWidth / 2.0, ActualHeight / 2.0), IsStroked = false }; - pfFill.Segments.Add(q1Fill); - var q2Fill = new QuadraticBezierSegment() { Point1 = new Point(ActualWidth / 3, ActualHeight ), Point2 = new Point(0, ActualHeight ), IsStroked = false }; - pfFill.Segments.Add(q2Fill); - - pfFill.Segments.Add(new LineSegment() { Point = new Point(ActualWidth, ActualHeight ), IsStroked = false }); - - pgFill.Figures.Add(pfFill); - - drawingContext.DrawGeometry(Fill, null, pgFill); - - var pgBorder = new PathGeometry(); - var pfBorder = new PathFigure() { IsFilled = false, IsClosed = false }; - pfBorder.StartPoint = new Point(ActualWidth, Thickness / 2); - - var q1Border = new QuadraticBezierSegment() { Point1 = new Point(ActualWidth * 2 / 3, 0.0), Point2 = new Point(ActualWidth / 2.0, ActualHeight / 2.0) }; - pfBorder.Segments.Add(q1Border); - var q2Border = new QuadraticBezierSegment() { Point1 = new Point(ActualWidth / 3, ActualHeight), Point2 = new Point(0.0, ActualHeight - BottomBorderMargin) }; - pfBorder.Segments.Add(q2Border); - - pgBorder.Figures.Add(pfBorder); - - drawingContext.DrawGeometry(null, new Pen(Stroke, Thickness), pgBorder); - - base.OnRender(drawingContext); - } - } -} +/************************************************************************************* + + Extended WPF Toolkit + + Copyright (C) 2007-2013 Xceed Software Inc. + + This program is provided to you under the terms of the Microsoft Public + License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license + + For more features, controls, and fast professional support, + pick up the Plus Edition at http://xceed.com/wpf_toolkit + + Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids + + ***********************************************************************************/ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Xceed.Wpf.AvalonDock.Themes.Controls +{ + public class SplineBorder : Control + { + + public SplineBorder() + { + //RenderOptions.SetEdgeMode(this, EdgeMode.Aliased); + } + + + #region Thickness + + /// + /// Thickness Dependency Property + /// + public static readonly DependencyProperty ThicknessProperty = + DependencyProperty.Register("Thickness", typeof(double), typeof(SplineBorder), + new FrameworkPropertyMetadata((double)1.0, FrameworkPropertyMetadataOptions.AffectsRender)); + + /// + /// Gets or sets the Thickness property. This dependency property + /// indicates the border thickness. + /// + public double Thickness + { + get { return (double)GetValue(ThicknessProperty); } + set { SetValue(ThicknessProperty, value); } + } + + #endregion + + #region Fill + + /// + /// Fill Dependency Property + /// + public static readonly DependencyProperty FillProperty = + DependencyProperty.Register("Fill", typeof(Brush), typeof(SplineBorder), + new FrameworkPropertyMetadata((Brush)null, FrameworkPropertyMetadataOptions.AffectsRender)); + + /// + /// Gets or sets the Fill property. This dependency property + /// indicates the fill color. + /// + public Brush Fill + { + get { return (Brush)GetValue(FillProperty); } + set { SetValue(FillProperty, value); } + } + + #endregion + + #region Stroke + + /// + /// Stroke Dependency Property + /// + public static readonly DependencyProperty StrokeProperty = + DependencyProperty.Register("Stroke", typeof(Brush), typeof(SplineBorder), + new FrameworkPropertyMetadata(Brushes.Black, FrameworkPropertyMetadataOptions.AffectsRender)); + + /// + /// Gets or sets the Stroke property. This dependency property + /// indicates the stroke brush. + /// + public Brush Stroke + { + get { return (Brush)GetValue(StrokeProperty); } + set { SetValue(StrokeProperty, value); } + } + + #endregion + + #region BottomBorderMargin + + /// + /// BottomBorderMargin Dependency Property + /// + public static readonly DependencyProperty BottomBorderMarginProperty = + DependencyProperty.Register("BottomBorderMargin", typeof(double), typeof(SplineBorder), + new FrameworkPropertyMetadata((double)0.0, FrameworkPropertyMetadataOptions.AffectsRender)); + + /// + /// Gets or sets the BottomBorderMargin property. This dependency property + /// indicates the adjustment for the bottom margin. + /// + public double BottomBorderMargin + { + get { return (double)GetValue(BottomBorderMarginProperty); } + set { SetValue(BottomBorderMarginProperty, value); } + } + + #endregion + + + + protected override void OnRender(DrawingContext drawingContext) + { + var pgFill = new PathGeometry(); + var pfFill = new PathFigure() { IsFilled = true, IsClosed = true }; + pfFill.StartPoint = new Point(ActualWidth, 0.0); + + var q1Fill = new QuadraticBezierSegment() { Point1 = new Point(ActualWidth * 2 / 3, 0.0), Point2 = new Point(ActualWidth / 2.0, ActualHeight / 2.0), IsStroked = false }; + pfFill.Segments.Add(q1Fill); + var q2Fill = new QuadraticBezierSegment() { Point1 = new Point(ActualWidth / 3, ActualHeight ), Point2 = new Point(0, ActualHeight ), IsStroked = false }; + pfFill.Segments.Add(q2Fill); + + pfFill.Segments.Add(new LineSegment() { Point = new Point(ActualWidth, ActualHeight ), IsStroked = false }); + + pgFill.Figures.Add(pfFill); + + drawingContext.DrawGeometry(Fill, null, pgFill); + + var pgBorder = new PathGeometry(); + var pfBorder = new PathFigure() { IsFilled = false, IsClosed = false }; + pfBorder.StartPoint = new Point(ActualWidth, Thickness / 2); + + var q1Border = new QuadraticBezierSegment() { Point1 = new Point(ActualWidth * 2 / 3, 0.0), Point2 = new Point(ActualWidth / 2.0, ActualHeight / 2.0) }; + pfBorder.Segments.Add(q1Border); + var q2Border = new QuadraticBezierSegment() { Point1 = new Point(ActualWidth / 3, ActualHeight), Point2 = new Point(0.0, ActualHeight - BottomBorderMargin) }; + pfBorder.Segments.Add(q2Border); + + pgBorder.Figures.Add(pfBorder); + + drawingContext.DrawGeometry(null, new Pen(Stroke, Thickness), pgBorder); + + base.OnRender(drawingContext); + } + } +} diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Xceed.Wpf.AvalonDock.Themes.Aero.csproj b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Xceed.Wpf.AvalonDock.Themes.Aero.csproj index 9d14d5b58..94f58017f 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Xceed.Wpf.AvalonDock.Themes.Aero.csproj +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Xceed.Wpf.AvalonDock.Themes.Aero.csproj @@ -1,194 +1,194 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {BA72CCE0-A9FB-4995-B496-7FEC5C87B85B} - library - Properties - Xceed.Wpf.AvalonDock.Themes - Xceed.Wpf.AvalonDock.Themes.Aero - v4.0 - Client - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - 4.0 - - - - - - - - - - - - Code - - - - - - - {DB81988F-E0F2-45A0-A1FD-8C37F3D35244} - Xceed.Wpf.AvalonDock - - - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {BA72CCE0-A9FB-4995-B496-7FEC5C87B85B} + library + Properties + Xceed.Wpf.AvalonDock.Themes + Xceed.Wpf.AvalonDock.Themes.Aero + v4.0 + Client + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + 4.0 + + + + + + + + + + + + Code + + + + + + + {DB81988F-E0F2-45A0-A1FD-8C37F3D35244} + Xceed.Wpf.AvalonDock + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --> \ No newline at end of file diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/AssemblyVersionInfoCommon.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/AssemblyVersionInfoCommon.cs index 3316fb13a..49ee1682e 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/AssemblyVersionInfoCommon.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/AssemblyVersionInfoCommon.cs @@ -1,22 +1,22 @@ -/************************************************************************************* - - Extended WPF Toolkit - - Copyright (C) 2007-2013 Xceed Software Inc. - - This program is provided to you under the terms of the Microsoft Public - License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license - - For more features, controls, and fast professional support, - pick up the Plus Edition at http://xceed.com/wpf_toolkit - - Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids - - ***********************************************************************************/ - -internal static class _XceedVersionInfoCommon -{ -[System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )] - public const string Build = ".*"; - -} +/************************************************************************************* + + Extended WPF Toolkit + + Copyright (C) 2007-2013 Xceed Software Inc. + + This program is provided to you under the terms of the Microsoft Public + License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license + + For more features, controls, and fast professional support, + pick up the Plus Edition at http://xceed.com/wpf_toolkit + + Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids + + ***********************************************************************************/ + +internal static class _XceedVersionInfoCommon +{ +[System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )] + public const string Build = ".*"; + +} diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Brushes.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Brushes.xaml index 4a3e67b74..a43106023 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Brushes.xaml +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Brushes.xaml @@ -1,42 +1,42 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/MetroTheme.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/MetroTheme.cs index 1223c0966..780bec542 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/MetroTheme.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/MetroTheme.cs @@ -1,33 +1,33 @@ -/************************************************************************************* - - Extended WPF Toolkit - - Copyright (C) 2007-2013 Xceed Software Inc. - - This program is provided to you under the terms of the Microsoft Public - License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license - - For more features, controls, and fast professional support, - pick up the Plus Edition at http://xceed.com/wpf_toolkit - - Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids - - ***********************************************************************************/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Xceed.Wpf.AvalonDock.Themes -{ - public class MetroTheme : Theme - { - public override Uri GetResourceUri() - { - return new Uri( - "/Xceed.Wpf.AvalonDock.Themes.Metro;component/Theme.xaml", - UriKind.Relative); - } - } -} +/************************************************************************************* + + Extended WPF Toolkit + + Copyright (C) 2007-2013 Xceed Software Inc. + + This program is provided to you under the terms of the Microsoft Public + License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license + + For more features, controls, and fast professional support, + pick up the Plus Edition at http://xceed.com/wpf_toolkit + + Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids + + ***********************************************************************************/ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Xceed.Wpf.AvalonDock.Themes +{ + public class MetroTheme : Theme + { + public override Uri GetResourceUri() + { + return new Uri( + "/Xceed.Wpf.AvalonDock.Themes.Metro;component/Theme.xaml", + UriKind.Relative); + } + } +} diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Xceed.Wpf.AvalonDock.Themes.Metro.csproj b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Xceed.Wpf.AvalonDock.Themes.Metro.csproj index 4b473bc58..73797ddfb 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Xceed.Wpf.AvalonDock.Themes.Metro.csproj +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Xceed.Wpf.AvalonDock.Themes.Metro.csproj @@ -1,121 +1,121 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {89286EB4-B4A1-418C-839A-067B00F442D8} - library - Properties - Xceed.Wpf.AvalonDock.Themes.Metro - Xceed.Wpf.AvalonDock.Themes.Metro - v4.0 - Client - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - 4.0 - - - - - - - - - - Code - - - - - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {DB81988F-E0F2-45A0-A1FD-8C37F3D35244} - Xceed.Wpf.AvalonDock - - - + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {89286EB4-B4A1-418C-839A-067B00F442D8} + library + Properties + Xceed.Wpf.AvalonDock.Themes.Metro + Xceed.Wpf.AvalonDock.Themes.Metro + v4.0 + Client + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + 4.0 + + + + + + + + + + Code + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {DB81988F-E0F2-45A0-A1FD-8C37F3D35244} + Xceed.Wpf.AvalonDock + + + + --> \ No newline at end of file diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/AssemblyVersionInfoCommon.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/AssemblyVersionInfoCommon.cs index 3316fb13a..49ee1682e 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/AssemblyVersionInfoCommon.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/AssemblyVersionInfoCommon.cs @@ -1,22 +1,22 @@ -/************************************************************************************* - - Extended WPF Toolkit - - Copyright (C) 2007-2013 Xceed Software Inc. - - This program is provided to you under the terms of the Microsoft Public - License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license - - For more features, controls, and fast professional support, - pick up the Plus Edition at http://xceed.com/wpf_toolkit - - Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids - - ***********************************************************************************/ - -internal static class _XceedVersionInfoCommon -{ -[System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )] - public const string Build = ".*"; - -} +/************************************************************************************* + + Extended WPF Toolkit + + Copyright (C) 2007-2013 Xceed Software Inc. + + This program is provided to you under the terms of the Microsoft Public + License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license + + For more features, controls, and fast professional support, + pick up the Plus Edition at http://xceed.com/wpf_toolkit + + Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids + + ***********************************************************************************/ + +internal static class _XceedVersionInfoCommon +{ +[System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )] + public const string Build = ".*"; + +} diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Brushes.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Brushes.xaml index 98b4b3911..d4ce46c1e 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Brushes.xaml +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Brushes.xaml @@ -1,195 +1,195 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/VS2010Theme.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/VS2010Theme.cs index 36d33474e..2d2034023 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/VS2010Theme.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/VS2010Theme.cs @@ -1,33 +1,33 @@ -/************************************************************************************* - - Extended WPF Toolkit - - Copyright (C) 2007-2013 Xceed Software Inc. - - This program is provided to you under the terms of the Microsoft Public - License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license - - For more features, controls, and fast professional support, - pick up the Plus Edition at http://xceed.com/wpf_toolkit - - Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids - - ***********************************************************************************/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Xceed.Wpf.AvalonDock.Themes -{ - public class VS2010Theme : Theme - { - public override Uri GetResourceUri() - { - return new Uri( - "/Xceed.Wpf.AvalonDock.Themes.VS2010;component/Theme.xaml", - UriKind.Relative); - } - } -} +/************************************************************************************* + + Extended WPF Toolkit + + Copyright (C) 2007-2013 Xceed Software Inc. + + This program is provided to you under the terms of the Microsoft Public + License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license + + For more features, controls, and fast professional support, + pick up the Plus Edition at http://xceed.com/wpf_toolkit + + Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids + + ***********************************************************************************/ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Xceed.Wpf.AvalonDock.Themes +{ + public class VS2010Theme : Theme + { + public override Uri GetResourceUri() + { + return new Uri( + "/Xceed.Wpf.AvalonDock.Themes.VS2010;component/Theme.xaml", + UriKind.Relative); + } + } +} diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Xceed.Wpf.AvalonDock.Themes.VS2010.csproj b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Xceed.Wpf.AvalonDock.Themes.VS2010.csproj index 9cacc0d0a..68fb375df 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Xceed.Wpf.AvalonDock.Themes.VS2010.csproj +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Xceed.Wpf.AvalonDock.Themes.VS2010.csproj @@ -1,141 +1,141 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {B3FC3E21-5F2D-4581-AEA2-59F671CFFC21} - library - Properties - Xceed.Wpf.AvalonDock.Themes - Xceed.Wpf.AvalonDock.Themes.VS2010 - v4.0 - Client - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - true - 4.0.20901.0 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - 4.0 - - - - - - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - - - - - Code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {DB81988F-E0F2-45A0-A1FD-8C37F3D35244} - Xceed.Wpf.AvalonDock - - - - - - - - - - - - - - - + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {B3FC3E21-5F2D-4581-AEA2-59F671CFFC21} + library + Properties + Xceed.Wpf.AvalonDock.Themes + Xceed.Wpf.AvalonDock.Themes.VS2010 + v4.0 + Client + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + 4.0.20901.0 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + 4.0 + + + + + + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + + + + + Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {DB81988F-E0F2-45A0-A1FD-8C37F3D35244} + Xceed.Wpf.AvalonDock + + + + + + + + + + + + + + + + --> \ No newline at end of file diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/.editorconfig b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/.editorconfig new file mode 100644 index 000000000..ae198a46b --- /dev/null +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/.editorconfig @@ -0,0 +1,20 @@ +# +# formatting document +# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#formatting-conventions +# + + +# Code files +[*.xaml] +indent_size = 3 + +[*.cs] +indent_size = 2 +csharp_prefer_braces = true + +# spacing options +csharp_space_after_cast = false +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_between_method_declaration_parameter_list_parentheses = true +csharp_space_between_method_call_parameter_list_parentheses = true +csharp_space_between_parentheses = type_casts \ No newline at end of file diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/AssemblyVersionInfo.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/AssemblyVersionInfo.cs index 2c57bb8b1..c6ea985d5 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/AssemblyVersionInfo.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/AssemblyVersionInfo.cs @@ -21,7 +21,7 @@ This program is provided to you under the terms of the Microsoft Public internal static class _XceedVersionInfo { [System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )] - public const string BaseVersion = "3.5"; + public const string BaseVersion = "3.4"; [System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )] public const string Version = BaseVersion + ".0.0"; diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTitle.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTitle.cs index 1c8d88671..a4c5c4811 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTitle.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTitle.cs @@ -155,22 +155,6 @@ protected override void OnMouseLeave( System.Windows.Input.MouseEventArgs e ) manager.StartDraggingFloatingWindowForPane( paneModel ); } - else - { - var model = this.Model; - if( model != null ) - { - var root = model.Root; - if( root != null ) - { - var manager = root.Manager; - if( manager != null ) - { - manager.StartDraggingFloatingWindowForContent( model ); - } - } - } - } } _isMouseDown = false; diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DragService.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DragService.cs index 1a5335759..01669d727 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DragService.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DragService.cs @@ -121,6 +121,10 @@ public void UpdateMouseLocation( Point dragPosition ) { _currentWindowAreas.ForEach( wa => { + #region IUEditor + if (wa is LayoutDocumentPaneControl) + return; + #endregion if( _currentDropTarget != null ) return; diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs index e53f1f885..5bd804cf3 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs @@ -45,8 +45,8 @@ static LayoutAnchorableFloatingWindowControl() DefaultStyleKeyProperty.OverrideMetadata( typeof( LayoutAnchorableFloatingWindowControl ), new FrameworkPropertyMetadata( typeof( LayoutAnchorableFloatingWindowControl ) ) ); } - internal LayoutAnchorableFloatingWindowControl( LayoutAnchorableFloatingWindow model, bool isContentImmutable ) - : base( model, isContentImmutable ) + internal LayoutAnchorableFloatingWindowControl( LayoutAnchorableFloatingWindow model ) + : base( model ) { _model = model; HideWindowCommand = new RelayCommand( ( p ) => OnExecuteHideWindowCommand( p ), ( p ) => CanExecuteHideWindowCommand( p ) ); @@ -54,11 +54,6 @@ internal LayoutAnchorableFloatingWindowControl( LayoutAnchorableFloatingWindow m UpdateThemeResources(); } - internal LayoutAnchorableFloatingWindowControl( LayoutAnchorableFloatingWindow model) - : base( model, false ) - { - } - #endregion #region Properties @@ -144,11 +139,8 @@ protected override void OnInitialized( EventArgs e ) protected override void OnClosed( EventArgs e ) { var root = Model.Root; - if( root != null ) - { - root.Manager.RemoveFloatingWindow( this ); - root.CollectGarbage(); - } + root.Manager.RemoveFloatingWindow( this ); + root.CollectGarbage(); if( _overlayWindow != null ) { _overlayWindow.Close(); @@ -157,7 +149,7 @@ protected override void OnClosed( EventArgs e ) base.OnClosed( e ); - if( !CloseInitiatedByUser && (root != null) ) + if( !CloseInitiatedByUser ) { root.FloatingWindows.Remove( _model ); } diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableItem.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableItem.cs index 8a187e0a2..9d68940fc 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableItem.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableItem.cs @@ -298,15 +298,6 @@ internal override void Detach() base.Detach(); } - protected override bool CanExecuteDockAsDocumentCommand() - { - var canExecute = base.CanExecuteDockAsDocumentCommand(); - if( canExecute && ( _anchorable != null ) ) - return _anchorable.CanDockAsTabbedDocument; - - return canExecute; - } - protected override void Close() { if( ( _anchorable.Root != null ) && ( _anchorable.Root.Manager != null ) ) diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs index 48310de95..3c725619f 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs @@ -68,7 +68,10 @@ public ILayoutElement Model protected override void OnGotKeyboardFocus( System.Windows.Input.KeyboardFocusChangedEventArgs e ) { - _model.SelectedContent.IsActive = true; + if( ( _model != null ) && ( _model.SelectedContent != null ) ) + { + _model.SelectedContent.IsActive = true; + } base.OnGotKeyboardFocus( e ); } @@ -77,17 +80,20 @@ protected override void OnMouseLeftButtonDown( System.Windows.Input.MouseButtonE { base.OnMouseLeftButtonDown( e ); - if( !e.Handled && _model.SelectedContent != null ) + if( !e.Handled && ( _model != null ) && ( _model.SelectedContent != null ) ) + { _model.SelectedContent.IsActive = true; + } } protected override void OnMouseRightButtonDown( System.Windows.Input.MouseButtonEventArgs e ) { base.OnMouseRightButtonDown( e ); - if( !e.Handled && _model.SelectedContent != null ) + if( !e.Handled && ( _model != null ) && ( _model.SelectedContent != null ) ) + { _model.SelectedContent.IsActive = true; - + } } diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableTabItem.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableTabItem.cs index cfc75130c..d4856c927 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableTabItem.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableTabItem.cs @@ -28,6 +28,7 @@ public class LayoutAnchorableTabItem : Control private bool _isMouseDown = false; private static LayoutAnchorableTabItem _draggingItem = null; + private static bool _cancelMouseLeave = false; #endregion @@ -75,7 +76,7 @@ public LayoutContent Model /// private static void OnModelChanged( DependencyObject d, DependencyPropertyChangedEventArgs e ) { - ( ( LayoutAnchorableTabItem )d ).OnModelChanged( e ); + (( LayoutAnchorableTabItem )d).OnModelChanged( e ); } /// @@ -83,7 +84,7 @@ private static void OnModelChanged( DependencyObject d, DependencyPropertyChange /// protected virtual void OnModelChanged( DependencyPropertyChangedEventArgs e ) { - if( Model != null ) + if (Model != null) SetLayoutItem( Model.Root.Manager.GetLayoutItemFromModel( Model ) ); else SetLayoutItem( null ); @@ -141,11 +142,15 @@ protected override void OnMouseMove( System.Windows.Input.MouseEventArgs e ) { base.OnMouseMove( e ); - if( e.LeftButton != MouseButtonState.Pressed ) + if (e.LeftButton != MouseButtonState.Pressed) { _isMouseDown = false; _draggingItem = null; } + else + { + _cancelMouseLeave = false; + } } protected override void OnMouseLeftButtonUp( System.Windows.Input.MouseButtonEventArgs e ) @@ -161,32 +166,46 @@ protected override void OnMouseLeave( System.Windows.Input.MouseEventArgs e ) { base.OnMouseLeave( e ); - if( _isMouseDown && e.LeftButton == MouseButtonState.Pressed ) + if (_isMouseDown && e.LeftButton == MouseButtonState.Pressed) { - _draggingItem = this; + // drag the item if the mouse leave is not canceled. + // Mouse leave should be canceled when selecting a new tab to prevent automatic undock when Panel size is Auto. + _draggingItem = !_cancelMouseLeave ? this : null; } _isMouseDown = false; + _cancelMouseLeave = false; } protected override void OnMouseEnter( MouseEventArgs e ) { base.OnMouseEnter( e ); - if( _draggingItem != null - && _draggingItem != this - && e.LeftButton == MouseButtonState.Pressed ) + if (_draggingItem == null) + { + // FIXED IUEDITOR 2019-05-23 + return; + } + + if (_draggingItem != this && + e.LeftButton == MouseButtonState.Pressed) { var model = Model; var container = model.Parent as ILayoutContainer; var containerPane = model.Parent as ILayoutPane; - if( ( containerPane is LayoutAnchorablePane ) && !( ( LayoutAnchorablePane )containerPane ).CanRepositionItems ) + if ((containerPane is LayoutAnchorablePane) && !(( LayoutAnchorablePane )containerPane).CanRepositionItems) return; - if( ( containerPane.Parent != null ) && ( containerPane.Parent is LayoutAnchorablePaneGroup ) && !( ( LayoutAnchorablePaneGroup )containerPane.Parent ).CanRepositionItems ) + if ((containerPane.Parent != null) && (containerPane.Parent is LayoutAnchorablePaneGroup) && !(( LayoutAnchorablePaneGroup )containerPane.Parent).CanRepositionItems) return; var childrenList = container.Children.ToList(); + + // FIXED IUEDITOR 2019-05-23 + if (_draggingItem.Model == null || model == null) + { + return; + } containerPane.MoveChild( childrenList.IndexOf( _draggingItem.Model ), childrenList.IndexOf( model ) ); } } @@ -214,6 +233,10 @@ internal static void ResetDraggingItem() { _draggingItem = null; } + internal static void CancelMouseLeave() + { + _cancelMouseLeave = true; + } #endregion } diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAutoHideWindowControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAutoHideWindowControl.cs index 6e6a21ed8..7d97aafe0 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAutoHideWindowControl.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAutoHideWindowControl.cs @@ -164,6 +164,16 @@ protected override System.Runtime.InteropServices.HandleRef BuildWindowCore( Sys return new HandleRef( this, _internalHwndSource.Handle ); } + protected override IntPtr WndProc( IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled ) + { + if( msg == Win32Helper.WM_WINDOWPOSCHANGING ) + { + if( _internalHost_ContentRendered ) + Win32Helper.SetWindowPos( _internalHwndSource.Handle, Win32Helper.HWND_TOP, 0, 0, 0, 0, Win32Helper.SetWindowPosFlags.IgnoreMove | Win32Helper.SetWindowPosFlags.IgnoreResize ); + } + return base.WndProc( hwnd, msg, wParam, lParam, ref handled ); + } + protected override void DestroyWindowCore( System.Runtime.InteropServices.HandleRef hwnd ) { if( _internalHwndSource != null ) @@ -174,6 +184,11 @@ protected override void DestroyWindowCore( System.Runtime.InteropServices.Handle } } + public override void OnApplyTemplate() + { + base.OnApplyTemplate(); + } + protected override bool HasFocusWithinCore() { return false; @@ -228,7 +243,6 @@ internal void Show( LayoutAnchorControl anchor ) Visibility = System.Windows.Visibility.Visible; InvalidateMeasure(); UpdateWindowPos(); - Win32Helper.BringWindowToTop( _internalHwndSource.Handle ); } internal void Hide() diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs index 32b49f2b2..77a2f258f 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs @@ -37,18 +37,13 @@ static LayoutDocumentFloatingWindowControl() DefaultStyleKeyProperty.OverrideMetadata( typeof( LayoutDocumentFloatingWindowControl ), new FrameworkPropertyMetadata( typeof( LayoutDocumentFloatingWindowControl ) ) ); } - internal LayoutDocumentFloatingWindowControl( LayoutDocumentFloatingWindow model, bool isContentImmutable ) - : base( model, isContentImmutable ) + internal LayoutDocumentFloatingWindowControl( LayoutDocumentFloatingWindow model ) + : base( model ) { _model = model; UpdateThemeResources(); } - internal LayoutDocumentFloatingWindowControl( LayoutDocumentFloatingWindow model ) - : base( model, false ) - { - } - #endregion #region Properties diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentTabItem.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentTabItem.cs index eaa1e6af5..951d2c1ee 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentTabItem.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentTabItem.cs @@ -143,10 +143,6 @@ protected override void OnMouseLeftButtonDown( System.Windows.Input.MouseButtonE Model.IsActive = true; - var layoutDocument = Model as LayoutDocument; - if( ( layoutDocument != null ) && !layoutDocument.CanMove ) - return; - if( e.ClickCount == 1 ) { _mouseDownPoint = e.GetPosition( this ); diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs index 34637d527..4a8b6a3d5 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs @@ -41,7 +41,6 @@ public abstract class LayoutFloatingWindowControl : Window, ILayoutControl private HwndSourceHook _hwndSrcHook; private DragService _dragService = null; private bool _internalCloseFlag = false; - private bool _isClosing = false; #endregion @@ -61,12 +60,6 @@ protected LayoutFloatingWindowControl( ILayoutElement model ) _model = model; } - protected LayoutFloatingWindowControl( ILayoutElement model, bool isContentImmutable ) - : this( model ) - { - this.IsContentImmutable = isContentImmutable; - } - #endregion #region Properties @@ -80,32 +73,6 @@ public abstract ILayoutElement Model #endregion - #region IsContentImmutable - - /// - /// IsContentImmutable Dependency Property - /// - public static readonly DependencyProperty IsContentImmutableProperty = DependencyProperty.Register( "IsContentImmutable", typeof( bool ), typeof( LayoutFloatingWindowControl ), - new FrameworkPropertyMetadata( (bool)false ) ); - - /// - /// Gets/sets the IsContentImmutable property. This dependency property - /// indicates if the content can be modified. - /// - public bool IsContentImmutable - { - get - { - return (bool)GetValue( IsContentImmutableProperty ); - } - private set - { - SetValue( IsContentImmutableProperty, value ); - } - } - - #endregion - #region IsDragging /// @@ -335,7 +302,7 @@ protected virtual IntPtr FilterMessage( IntPtr hwnd, int msg, IntPtr wParam, Int switch( msg ) { case Win32Helper.WM_ACTIVATE: - if( ( (int)wParam & 0xFFFF ) == Win32Helper.WA_INACTIVE ) + if( ( ( int )wParam & 0xFFFF ) == Win32Helper.WA_INACTIVE ) { if( lParam == this.GetParentWindowHandle() ) { @@ -378,7 +345,7 @@ protected virtual IntPtr FilterMessage( IntPtr hwnd, int msg, IntPtr wParam, Int } break; case Win32Helper.WM_SYSCOMMAND: - int command = (int)wParam & 0xFFF0; + int command = ( int )wParam & 0xFFF0; if( command == Win32Helper.SC_MAXIMIZE || command == Win32Helper.SC_RESTORE ) { UpdateMaximizedState( command == Win32Helper.SC_MAXIMIZE ); @@ -394,11 +361,7 @@ protected virtual IntPtr FilterMessage( IntPtr hwnd, int msg, IntPtr wParam, Int internal void InternalClose() { _internalCloseFlag = true; - if( !_isClosing ) - { - _isClosing = true; - this.Close(); - } + Close(); } #endregion @@ -407,14 +370,7 @@ internal void InternalClose() private static object CoerceContentValue( DependencyObject sender, object content ) { - var lfwc = sender as LayoutFloatingWindowControl; - if( lfwc != null ) - { - if( lfwc.IsLoaded && lfwc.IsContentImmutable ) - return lfwc.Content; - return new FloatingWindowContentHost( sender as LayoutFloatingWindowControl ) { Content = content as UIElement }; - } - return null; + return new FloatingWindowContentHost( sender as LayoutFloatingWindowControl ) { Content = content as UIElement }; } private void OnLoaded( object sender, RoutedEventArgs e ) @@ -519,9 +475,6 @@ public FloatingWindowContentHost( LayoutFloatingWindowControl owner ) { _owner = owner; var manager = _owner.Model.Root.Manager; - - var binding = new Binding( "SizeToContent" ) { Source = _owner }; - BindingOperations.SetBinding( this, FloatingWindowContentHost.SizeToContentProperty, binding ); } #endregion @@ -569,72 +522,16 @@ public UIElement Content /// private static void OnContentChanged( DependencyObject d, DependencyPropertyChangedEventArgs e ) { - ( ( FloatingWindowContentHost )d ).OnContentChanged( (UIElement)e.OldValue, (UIElement)e.NewValue ); + ( ( FloatingWindowContentHost )d ).OnContentChanged( e ); } /// /// Provides derived classes an opportunity to handle changes to the Content property. /// - protected virtual void OnContentChanged( UIElement oldValue, UIElement newValue ) + protected virtual void OnContentChanged( DependencyPropertyChangedEventArgs e ) { if( _rootPresenter != null ) _rootPresenter.Child = Content; - - var oldContent = oldValue as FrameworkElement; - if( oldContent != null ) - { - oldContent.SizeChanged -= this.Content_SizeChanged; - } - - var newContent = newValue as FrameworkElement; - if( newContent != null ) - { - newContent.SizeChanged += this.Content_SizeChanged; - } - } - - #endregion - - #region SizeToContent - - /// - /// SizeToContent Dependency Property - /// - public static readonly DependencyProperty SizeToContentProperty = DependencyProperty.Register( "SizeToContent", typeof( SizeToContent ), typeof( FloatingWindowContentHost ), - new FrameworkPropertyMetadata( SizeToContent.Manual, new PropertyChangedCallback( OnSizeToContentChanged ) ) ); - - /// - /// Gets or sets the SizeToContent property. - /// - public SizeToContent SizeToContent - { - get - { - return (SizeToContent)GetValue( SizeToContentProperty ); - } - set - { - SetValue( SizeToContentProperty, value ); - } - } - - /// - /// Handles changes to the SizeToContent property. - /// - private static void OnSizeToContentChanged( DependencyObject d, DependencyPropertyChangedEventArgs e ) - { - ( (FloatingWindowContentHost)d ).OnSizeToContentChanged( (SizeToContent)e.OldValue, (SizeToContent)e.NewValue ); - } - - /// - /// Provides derived classes an opportunity to handle changes to the SizeToContent property. - /// - protected virtual void OnSizeToContentChanged( SizeToContent oldValue, SizeToContent newValue ) - { - if( _wpfContentHost != null ) - { - _wpfContentHost.SizeToContent = newValue; - } } #endregion @@ -656,7 +553,7 @@ protected override System.Runtime.InteropServices.HandleRef BuildWindowCore( Sys _rootPresenter = new Border() { Child = new AdornerDecorator() { Child = Content }, Focusable = true }; _rootPresenter.SetBinding( Border.BackgroundProperty, new Binding( "Background" ) { Source = _owner } ); _wpfContentHost.RootVisual = _rootPresenter; - + _wpfContentHost.SizeToContent = SizeToContent.Manual; _manager = _owner.Model.Root.Manager; _manager.InternalAddLogicalChild( _rootPresenter ); @@ -683,16 +580,6 @@ protected override Size MeasureOverride( Size constraint ) } #endregion - - #region Event Handlers - - private void Content_SizeChanged( object sender, SizeChangedEventArgs e ) - { - this.InvalidateMeasure(); - this.InvalidateArrange(); - } - - #endregion } #endregion diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs index d98fad1a1..0f8960d69 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs @@ -415,7 +415,8 @@ private void OnSplitterDragCompleted( object sender, System.Windows.Controls.Pri } else { - prevChildModel.DockWidth = new GridLength( prevChildModel.DockWidth.Value + delta, GridUnitType.Pixel ); + var width = ( prevChildModel.DockWidth.IsAuto ) ? prevChildActualSize.Width : prevChildModel.DockWidth.Value; + prevChildModel.DockWidth = new GridLength( width + delta, GridUnitType.Pixel ); } if( nextChildModel.DockWidth.IsStar ) @@ -424,7 +425,8 @@ private void OnSplitterDragCompleted( object sender, System.Windows.Controls.Pri } else { - nextChildModel.DockWidth = new GridLength( nextChildModel.DockWidth.Value - delta, GridUnitType.Pixel ); + var width = ( nextChildModel.DockWidth.IsAuto ) ? nextChildActualSize.Width : nextChildModel.DockWidth.Value; + nextChildModel.DockWidth = new GridLength( width - delta, GridUnitType.Pixel ); } } else @@ -435,7 +437,8 @@ private void OnSplitterDragCompleted( object sender, System.Windows.Controls.Pri } else { - prevChildModel.DockHeight = new GridLength( prevChildModel.DockHeight.Value + delta, GridUnitType.Pixel ); + var height = ( prevChildModel.DockHeight.IsAuto ) ? prevChildActualSize.Height : prevChildModel.DockHeight.Value; + prevChildModel.DockHeight = new GridLength( height + delta, GridUnitType.Pixel ); } if( nextChildModel.DockHeight.IsStar ) @@ -444,7 +447,8 @@ private void OnSplitterDragCompleted( object sender, System.Windows.Controls.Pri } else { - nextChildModel.DockHeight = new GridLength( nextChildModel.DockHeight.Value - delta, GridUnitType.Pixel ); + var height = ( nextChildModel.DockHeight.IsAuto ) ? nextChildActualSize.Height : nextChildModel.DockHeight.Value; + nextChildModel.DockHeight = new GridLength( height - delta, GridUnitType.Pixel ); } } diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs index 997a37b7b..8f61c4a9a 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs @@ -94,9 +94,15 @@ public ContentPresenter View _view = new ContentPresenter(); _view.SetBinding( ContentPresenter.ContentProperty, new Binding( "Content" ) { Source = LayoutElement } ); - _view.SetBinding( ContentPresenter.ContentTemplateProperty, new Binding( "LayoutItemTemplate" ) { Source = LayoutElement.Root.Manager } ); - _view.SetBinding( ContentPresenter.ContentTemplateSelectorProperty, new Binding( "LayoutItemTemplateSelector" ) { Source = LayoutElement.Root.Manager } ); - LayoutElement.Root.Manager.InternalAddLogicalChild( _view ); + if( ( LayoutElement != null ) && ( LayoutElement.Root != null ) ) + { + _view.SetBinding( ContentPresenter.ContentTemplateProperty, new Binding( "LayoutItemTemplate" ) { Source = LayoutElement.Root.Manager } ); + _view.SetBinding( ContentPresenter.ContentTemplateSelectorProperty, new Binding( "LayoutItemTemplateSelector" ) { Source = LayoutElement.Root.Manager } ); + if( LayoutElement.Root.Manager != null ) + { + LayoutElement.Root.Manager.InternalAddLogicalChild( _view ); + } + } } return _view; @@ -599,14 +605,9 @@ private static object CoerceDockAsDocumentCommandValue( DependencyObject d, obje return value; } - protected virtual bool CanExecuteDockAsDocumentCommand() - { - return ( LayoutElement != null && LayoutElement.FindParent() == null ); - } - private bool CanExecuteDockAsDocumentCommand( object parameter ) { - return this.CanExecuteDockAsDocumentCommand(); + return LayoutElement != null && LayoutElement.FindParent() == null; } private void ExecuteDockAsDocumentCommand( object parameter ) @@ -850,9 +851,6 @@ private bool CanExecuteNewVerticalTabGroupCommand( object parameter ) { if( LayoutElement == null ) return false; - var layoutDocument = LayoutElement as LayoutDocument; - if( ( layoutDocument != null ) && !layoutDocument.CanMove ) - return false; var parentDocumentGroup = LayoutElement.FindParent(); var parentDocumentPane = LayoutElement.Parent as LayoutDocumentPane; return ( ( parentDocumentGroup == null || @@ -928,9 +926,6 @@ private bool CanExecuteNewHorizontalTabGroupCommand( object parameter ) { if( LayoutElement == null ) return false; - var layoutDocument = LayoutElement as LayoutDocument; - if( ( layoutDocument != null ) && !layoutDocument.CanMove ) - return false; var parentDocumentGroup = LayoutElement.FindParent(); var parentDocumentPane = LayoutElement.Parent as LayoutDocumentPane; return ( ( parentDocumentGroup == null || diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindow.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindow.cs index 2b72ddbb4..d0c9d9236 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindow.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindow.cs @@ -385,11 +385,16 @@ IEnumerable IOverlayWindow.GetTargets() yield return new AnchorablePaneDropTarget( dropAreaAnchorablePane.AreaElement, dropAreaTitle.GetScreenArea(), DropTargetType.AnchorablePaneDockInside ); } break; + #region IUEditor + // DocumentPane은 DragEnter 이벤트를 받지않아야하므로 주석처리 + /* case DropAreaType.DocumentPane: { + bool isDraggingAnchorables = _floatingWindow.Model is LayoutAnchorableFloatingWindow; if( isDraggingAnchorables && _gridDocumentPaneFullDropTargets != null ) { + var dropAreaDocumentPane = visibleArea as DropArea; if( _documentPaneFullDropTargetLeft.IsVisible ) yield return new DocumentPaneDropTarget( dropAreaDocumentPane.AreaElement, _documentPaneFullDropTargetLeft.GetScreenArea(), DropTargetType.DocumentPaneDockLeft ); @@ -420,7 +425,6 @@ IEnumerable IOverlayWindow.GetTargets() if( newAreaTabItemScreenArea.Right < dropAreaDocumentPane.AreaElement.GetScreenArea().Right ) yield return new DocumentPaneDropTarget( dropAreaDocumentPane.AreaElement, newAreaTabItemScreenArea, DropTargetType.DocumentPaneDockInside, parentPaneModel.Children.Count ); } - if( _documentPaneDropTargetLeftAsAnchorablePane.IsVisible ) yield return new DocumentPaneDropAsAnchorableTarget( dropAreaDocumentPane.AreaElement, _documentPaneDropTargetLeftAsAnchorablePane.GetScreenArea(), DropTargetType.DocumentPaneDockAsAnchorableLeft ); if( _documentPaneDropTargetTopAsAnchorablePane.IsVisible ) @@ -432,7 +436,6 @@ IEnumerable IOverlayWindow.GetTargets() } else { - var dropAreaDocumentPane = visibleArea as DropArea; if( _documentPaneDropTargetLeft.IsVisible ) yield return new DocumentPaneDropTarget( dropAreaDocumentPane.AreaElement, _documentPaneDropTargetLeft.GetScreenArea(), DropTargetType.DocumentPaneDockLeft ); @@ -473,6 +476,8 @@ IEnumerable IOverlayWindow.GetTargets() yield return new DocumentPaneGroupDropTarget( dropAreaDocumentPane.AreaElement, _documentPaneDropTargetInto.GetScreenArea(), DropTargetType.DocumentPaneGroupDockInside ); } break; + */ + #endregion } } @@ -493,20 +498,12 @@ void IOverlayWindow.DragLeave( LayoutFloatingWindowControl floatingWindow ) void IOverlayWindow.DragEnter( IDropArea area ) { - var floatingWindowManager = _floatingWindow.Model.Root.Manager; - _visibleAreas.Add( area ); FrameworkElement areaElement; switch( area.Type ) { case DropAreaType.DockingManager: - var dropAreaDockingManager = area as DropArea; - if( dropAreaDockingManager.AreaElement != floatingWindowManager ) - { - _visibleAreas.Remove( area ); - return; - } areaElement = _gridDockingManagerDropTargets; break; case DropAreaType.AnchorablePane: @@ -514,11 +511,6 @@ void IOverlayWindow.DragEnter( IDropArea area ) var dropAreaAnchorablePaneGroup = area as DropArea; var layoutAnchorablePane = dropAreaAnchorablePaneGroup.AreaElement.Model as LayoutAnchorablePane; - if( layoutAnchorablePane.Root.Manager != floatingWindowManager ) - { - _visibleAreas.Remove( area ); - return; - } SetDropTargetIntoVisibility( layoutAnchorablePane ); break; case DropAreaType.DocumentPaneGroup: @@ -527,11 +519,7 @@ void IOverlayWindow.DragEnter( IDropArea area ) var dropAreaDocumentPaneGroup = area as DropArea; var layoutDocumentPane = ( dropAreaDocumentPaneGroup.AreaElement.Model as LayoutDocumentPaneGroup ).Children.First() as LayoutDocumentPane; var parentDocumentPaneGroup = layoutDocumentPane.Parent as LayoutDocumentPaneGroup; - if( parentDocumentPaneGroup.Root.Manager != floatingWindowManager ) - { - _visibleAreas.Remove( area ); - return; - } + _documentPaneDropTargetLeft.Visibility = Visibility.Hidden; _documentPaneDropTargetRight.Visibility = Visibility.Hidden; _documentPaneDropTargetTop.Visibility = Visibility.Hidden; @@ -548,11 +536,6 @@ void IOverlayWindow.DragEnter( IDropArea area ) var dropAreaDocumentPaneGroup = area as DropArea; var layoutDocumentPane = dropAreaDocumentPaneGroup.AreaElement.Model as LayoutDocumentPane; var parentDocumentPaneGroup = layoutDocumentPane.Parent as LayoutDocumentPaneGroup; - if( layoutDocumentPane.Root.Manager != floatingWindowManager ) - { - _visibleAreas.Remove( area ); - return; - } SetDropTargetIntoVisibility( layoutDocumentPane ); @@ -644,11 +627,6 @@ void IOverlayWindow.DragEnter( IDropArea area ) var dropAreaDocumentPaneGroup = area as DropArea; var layoutDocumentPane = dropAreaDocumentPaneGroup.AreaElement.Model as LayoutDocumentPane; var parentDocumentPaneGroup = layoutDocumentPane.Parent as LayoutDocumentPaneGroup; - if( layoutDocumentPane.Root.Manager != floatingWindowManager ) - { - _visibleAreas.Remove( area ); - return; - } SetDropTargetIntoVisibility( layoutDocumentPane ); diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/DockingManager.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/DockingManager.cs index 00451ccfd..60ac9a053 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/DockingManager.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/DockingManager.cs @@ -1983,34 +1983,6 @@ public LayoutItem GetLayoutItemFromModel( LayoutContent content ) return _layoutItems.FirstOrDefault( item => item.LayoutElement == content ); } - public LayoutFloatingWindowControl CreateFloatingWindow( LayoutContent contentModel, bool isContentImmutable ) - { - LayoutFloatingWindowControl lfwc = null; - - if( contentModel is LayoutAnchorable ) - { - var parent = contentModel.Parent as ILayoutPane; - if( parent == null ) - { - var pane = new LayoutAnchorablePane( contentModel as LayoutAnchorable ) - { - FloatingTop = contentModel.FloatingTop, - FloatingLeft = contentModel.FloatingLeft, - FloatingWidth = contentModel.FloatingWidth, - FloatingHeight = contentModel.FloatingHeight - }; - lfwc = this.CreateFloatingWindowForLayoutAnchorableWithoutParent( pane, isContentImmutable ); - } - } - - if( lfwc == null ) - { - lfwc = this.CreateFloatingWindowCore( contentModel, isContentImmutable ); - } - - return lfwc; - } - #endregion #region Internal Methods @@ -2074,12 +2046,7 @@ internal UIElement CreateUIElementForModel( ILayoutElement model ) } newFW.ShowInTaskbar = false; - - Dispatcher.BeginInvoke( new Action( () => - { - newFW.Show(); - } ), DispatcherPriority.Send ); - + newFW.Show(); // Do not set the WindowState before showing or it will be lost if( paneForExtensions != null && paneForExtensions.IsMaximized ) { @@ -2161,26 +2128,200 @@ internal FrameworkElement GetAutoHideAreaElement() internal void StartDraggingFloatingWindowForContent( LayoutContent contentModel, bool startDrag = true ) { - var fwc = this.CreateFloatingWindow( contentModel, false ); - if( fwc != null ) + if( !contentModel.CanFloat ) + return; + var contentModelAsAnchorable = contentModel as LayoutAnchorable; + if( contentModelAsAnchorable != null && + contentModelAsAnchorable.IsAutoHidden ) + contentModelAsAnchorable.ToggleAutoHide(); + + var parentPane = contentModel.Parent as ILayoutPane; + var parentPaneAsPositionableElement = contentModel.Parent as ILayoutPositionableElement; + var parentPaneAsWithActualSize = contentModel.Parent as ILayoutPositionableElementWithActualSize; + var contentModelParentChildrenIndex = parentPane.Children.ToList().IndexOf( contentModel ); + + if( contentModel.FindParent() == null ) { - Dispatcher.BeginInvoke( new Action( () => + ( ( ILayoutPreviousContainer )contentModel ).PreviousContainer = parentPane; + contentModel.PreviousContainerIndex = contentModelParentChildrenIndex; + } + + parentPane.RemoveChildAt( contentModelParentChildrenIndex ); + + double fwWidth = contentModel.FloatingWidth; + double fwHeight = contentModel.FloatingHeight; + + if( fwWidth == 0.0 ) + fwWidth = parentPaneAsPositionableElement.FloatingWidth; + if( fwHeight == 0.0 ) + fwHeight = parentPaneAsPositionableElement.FloatingHeight; + + if( fwWidth == 0.0 ) + fwWidth = parentPaneAsWithActualSize.ActualWidth + 10; //10 includes BorderThickness and Margins inside LayoutDocumentFloatingWindowControl. + if( fwHeight == 0.0 ) + fwHeight = parentPaneAsWithActualSize.ActualHeight + 10; //10 includes BorderThickness and Margins inside LayoutDocumentFloatingWindowControl. + + LayoutFloatingWindow fw; + LayoutFloatingWindowControl fwc; + if( contentModel is LayoutAnchorable ) + { + var anchorableContent = contentModel as LayoutAnchorable; + fw = new LayoutAnchorableFloatingWindow() { - if( startDrag ) - fwc.AttachDrag(); - fwc.Show(); - } ), DispatcherPriority.Send ); + RootPanel = new LayoutAnchorablePaneGroup( + new LayoutAnchorablePane( anchorableContent ) + { + DockWidth = parentPaneAsPositionableElement.DockWidth, + DockHeight = parentPaneAsPositionableElement.DockHeight, + DockMinHeight = parentPaneAsPositionableElement.DockMinHeight, + DockMinWidth = parentPaneAsPositionableElement.DockMinWidth, + FloatingLeft = parentPaneAsPositionableElement.FloatingLeft, + FloatingTop = parentPaneAsPositionableElement.FloatingTop, + FloatingWidth = parentPaneAsPositionableElement.FloatingWidth, + FloatingHeight = parentPaneAsPositionableElement.FloatingHeight, + } ) + }; + + Layout.FloatingWindows.Add( fw ); + + fwc = new LayoutAnchorableFloatingWindowControl( + fw as LayoutAnchorableFloatingWindow ) + { + Width = fwWidth, + Height = fwHeight, + Left = contentModel.FloatingLeft, + Top = contentModel.FloatingTop + }; + } + else + { + var anchorableDocument = contentModel as LayoutDocument; + fw = new LayoutDocumentFloatingWindow() + { + RootDocument = anchorableDocument + }; + + Layout.FloatingWindows.Add( fw ); + + fwc = new LayoutDocumentFloatingWindowControl( + fw as LayoutDocumentFloatingWindow ) + { + Width = fwWidth, + Height = fwHeight, + Left = contentModel.FloatingLeft, + Top = contentModel.FloatingTop + }; } + + + //fwc.Owner = Window.GetWindow(this); + //fwc.SetParentToMainWindowOf(this); + + + _fwList.Add( fwc ); + + Layout.CollectGarbage(); + + UpdateLayout(); + + Dispatcher.BeginInvoke( new Action( () => + { + if( startDrag ) + fwc.AttachDrag(); + fwc.Show(); + } ), DispatcherPriority.Send ); } internal void StartDraggingFloatingWindowForPane( LayoutAnchorablePane paneModel ) { - var fwc = this.CreateFloatingWindowForLayoutAnchorableWithoutParent( paneModel, false ); - if( fwc != null ) + if( paneModel.Children.Any( c => !c.CanFloat ) ) + return; + var paneAsPositionableElement = paneModel as ILayoutPositionableElement; + var paneAsWithActualSize = paneModel as ILayoutPositionableElementWithActualSize; + + double fwWidth = paneAsPositionableElement.FloatingWidth; + double fwHeight = paneAsPositionableElement.FloatingHeight; + double fwLeft = paneAsPositionableElement.FloatingLeft; + double fwTop = paneAsPositionableElement.FloatingTop; + + if( fwWidth == 0.0 ) + fwWidth = paneAsWithActualSize.ActualWidth + 10; //10 includes BorderThickness and Margins inside LayoutAnchorableFloatingWindowControl. + if( fwHeight == 0.0 ) + fwHeight = paneAsWithActualSize.ActualHeight + 10; //10 includes BorderThickness and Margins inside LayoutAnchorableFloatingWindowControl. + + var destPane = new LayoutAnchorablePane() { - fwc.AttachDrag(); - fwc.Show(); + DockWidth = paneAsPositionableElement.DockWidth, + DockHeight = paneAsPositionableElement.DockHeight, + DockMinHeight = paneAsPositionableElement.DockMinHeight, + DockMinWidth = paneAsPositionableElement.DockMinWidth, + FloatingLeft = paneAsPositionableElement.FloatingLeft, + FloatingTop = paneAsPositionableElement.FloatingTop, + FloatingWidth = paneAsPositionableElement.FloatingWidth, + FloatingHeight = paneAsPositionableElement.FloatingHeight, + }; + + bool savePreviousContainer = paneModel.FindParent() == null; + int currentSelectedContentIndex = paneModel.SelectedContentIndex; + while( paneModel.Children.Count > 0 ) + { + var contentModel = paneModel.Children[ paneModel.Children.Count - 1 ] as LayoutAnchorable; + + if( savePreviousContainer ) + { + var contentModelAsPreviousContainer = contentModel as ILayoutPreviousContainer; + contentModelAsPreviousContainer.PreviousContainer = paneModel; + contentModel.PreviousContainerIndex = paneModel.Children.Count - 1; + } + + paneModel.RemoveChildAt( paneModel.Children.Count - 1 ); + destPane.Children.Insert( 0, contentModel ); + } + + if( destPane.Children.Count > 0 ) + { + destPane.SelectedContentIndex = currentSelectedContentIndex; } + + + LayoutFloatingWindow fw; + LayoutFloatingWindowControl fwc; + fw = new LayoutAnchorableFloatingWindow() + { + RootPanel = new LayoutAnchorablePaneGroup( + destPane ) + { + DockHeight = destPane.DockHeight, + DockWidth = destPane.DockWidth, + DockMinHeight = destPane.DockMinHeight, + DockMinWidth = destPane.DockMinWidth, + } + }; + + Layout.FloatingWindows.Add( fw ); + + fwc = new LayoutAnchorableFloatingWindowControl( + fw as LayoutAnchorableFloatingWindow ) + { + Width = fwWidth, + Height = fwHeight + }; + + + + //fwc.Owner = Window.GetWindow(this); + //fwc.SetParentToMainWindowOf(this); + + + _fwList.Add( fwc ); + + Layout.CollectGarbage(); + + InvalidateArrange(); + + fwc.AttachDrag(); + fwc.Show(); + } internal IEnumerable GetFloatingWindowsByZOrder() @@ -2373,6 +2514,7 @@ private void DockingManager_Loaded( object sender, RoutedEventArgs e ) private void DockingManager_Unloaded( object sender, RoutedEventArgs e ) { + if( !DesignerProperties.GetIsInDesignMode( this ) ) { if( _autoHideWindowManager != null ) @@ -2381,9 +2523,7 @@ private void DockingManager_Unloaded( object sender, RoutedEventArgs e ) } if( AutoHideWindow != null ) - { AutoHideWindow.Dispose(); - } foreach( var fw in _fwList.ToArray() ) { @@ -2392,7 +2532,6 @@ private void DockingManager_Unloaded( object sender, RoutedEventArgs e ) fw.KeepContentVisibleOnClose = true; fw.Close(); } - _fwList.Clear(); DestroyOverlayWindow(); FocusElementManager.FinalizeFocusManagement( this ); @@ -2407,9 +2546,7 @@ private void SetupAutoHideWindow() _autoHideWindowManager = new AutoHideWindowManager( this ); if( AutoHideWindow != null ) - { AutoHideWindow.Dispose(); - } SetAutoHideWindow( new LayoutAutoHideWindowControl() ); } @@ -3074,199 +3211,6 @@ private void ShowNavigatorWindow() _navigatorWindow = null; } - private LayoutFloatingWindowControl CreateFloatingWindowForLayoutAnchorableWithoutParent( LayoutAnchorablePane paneModel, bool isContentImmutable ) - { - if( paneModel.Children.Any( c => !c.CanFloat ) ) - return null; - var paneAsPositionableElement = paneModel as ILayoutPositionableElement; - var paneAsWithActualSize = paneModel as ILayoutPositionableElementWithActualSize; - - double fwWidth = paneAsPositionableElement.FloatingWidth; - double fwHeight = paneAsPositionableElement.FloatingHeight; - double fwLeft = paneAsPositionableElement.FloatingLeft; - double fwTop = paneAsPositionableElement.FloatingTop; - - if( fwWidth == 0.0 ) - fwWidth = paneAsWithActualSize.ActualWidth + 10; //10 includes BorderThickness and Margins inside LayoutAnchorableFloatingWindowControl. - if( fwHeight == 0.0 ) - fwHeight = paneAsWithActualSize.ActualHeight + 10; //10 includes BorderThickness and Margins inside LayoutAnchorableFloatingWindowControl. - - var destPane = new LayoutAnchorablePane() - { - DockWidth = paneAsPositionableElement.DockWidth, - DockHeight = paneAsPositionableElement.DockHeight, - DockMinHeight = paneAsPositionableElement.DockMinHeight, - DockMinWidth = paneAsPositionableElement.DockMinWidth, - FloatingLeft = paneAsPositionableElement.FloatingLeft, - FloatingTop = paneAsPositionableElement.FloatingTop, - FloatingWidth = paneAsPositionableElement.FloatingWidth, - FloatingHeight = paneAsPositionableElement.FloatingHeight, - }; - - bool savePreviousContainer = paneModel.FindParent() == null; - int currentSelectedContentIndex = paneModel.SelectedContentIndex; - while( paneModel.Children.Count > 0 ) - { - var contentModel = paneModel.Children[ paneModel.Children.Count - 1 ] as LayoutAnchorable; - - if( savePreviousContainer ) - { - var contentModelAsPreviousContainer = contentModel as ILayoutPreviousContainer; - contentModelAsPreviousContainer.PreviousContainer = paneModel; - contentModel.PreviousContainerIndex = paneModel.Children.Count - 1; - } - - paneModel.RemoveChildAt( paneModel.Children.Count - 1 ); - destPane.Children.Insert( 0, contentModel ); - } - - if( destPane.Children.Count > 0 ) - { - destPane.SelectedContentIndex = currentSelectedContentIndex; - } - - - LayoutFloatingWindow fw; - LayoutFloatingWindowControl fwc; - fw = new LayoutAnchorableFloatingWindow() - { - RootPanel = new LayoutAnchorablePaneGroup( - destPane ) - { - DockHeight = destPane.DockHeight, - DockWidth = destPane.DockWidth, - DockMinHeight = destPane.DockMinHeight, - DockMinWidth = destPane.DockMinWidth, - } - }; - - Layout.FloatingWindows.Add( fw ); - - fwc = new LayoutAnchorableFloatingWindowControl( - fw as LayoutAnchorableFloatingWindow, isContentImmutable ) - { - Width = fwWidth, - Height = fwHeight, - Top = fwTop, - Left = fwLeft - }; - - - - //fwc.Owner = Window.GetWindow(this); - //fwc.SetParentToMainWindowOf(this); - - - _fwList.Add( fwc ); - - Layout.CollectGarbage(); - - InvalidateArrange(); - - return fwc; - } - - private LayoutFloatingWindowControl CreateFloatingWindowCore( LayoutContent contentModel, bool isContentImmutable ) - { - if( !contentModel.CanFloat ) - return null; - var contentModelAsAnchorable = contentModel as LayoutAnchorable; - if( contentModelAsAnchorable != null && - contentModelAsAnchorable.IsAutoHidden ) - contentModelAsAnchorable.ToggleAutoHide(); - - var parentPane = contentModel.Parent as ILayoutPane; - var parentPaneAsPositionableElement = contentModel.Parent as ILayoutPositionableElement; - var parentPaneAsWithActualSize = contentModel.Parent as ILayoutPositionableElementWithActualSize; - var contentModelParentChildrenIndex = parentPane.Children.ToList().IndexOf( contentModel ); - - if( contentModel.FindParent() == null ) - { - ( (ILayoutPreviousContainer)contentModel ).PreviousContainer = parentPane; - contentModel.PreviousContainerIndex = contentModelParentChildrenIndex; - } - - parentPane.RemoveChildAt( contentModelParentChildrenIndex ); - - double fwWidth = contentModel.FloatingWidth; - double fwHeight = contentModel.FloatingHeight; - - if( fwWidth == 0.0 ) - fwWidth = parentPaneAsPositionableElement.FloatingWidth; - if( fwHeight == 0.0 ) - fwHeight = parentPaneAsPositionableElement.FloatingHeight; - - if( fwWidth == 0.0 ) - fwWidth = parentPaneAsWithActualSize.ActualWidth + 10; //10 includes BorderThickness and Margins inside LayoutDocumentFloatingWindowControl. - if( fwHeight == 0.0 ) - fwHeight = parentPaneAsWithActualSize.ActualHeight + 10; //10 includes BorderThickness and Margins inside LayoutDocumentFloatingWindowControl. - - LayoutFloatingWindow fw; - LayoutFloatingWindowControl fwc; - if( contentModel is LayoutAnchorable ) - { - var anchorableContent = contentModel as LayoutAnchorable; - fw = new LayoutAnchorableFloatingWindow() - { - RootPanel = new LayoutAnchorablePaneGroup( - new LayoutAnchorablePane( anchorableContent ) - { - DockWidth = parentPaneAsPositionableElement.DockWidth, - DockHeight = parentPaneAsPositionableElement.DockHeight, - DockMinHeight = parentPaneAsPositionableElement.DockMinHeight, - DockMinWidth = parentPaneAsPositionableElement.DockMinWidth, - FloatingLeft = parentPaneAsPositionableElement.FloatingLeft, - FloatingTop = parentPaneAsPositionableElement.FloatingTop, - FloatingWidth = parentPaneAsPositionableElement.FloatingWidth, - FloatingHeight = parentPaneAsPositionableElement.FloatingHeight, - } ) - }; - - Layout.FloatingWindows.Add( fw ); - - fwc = new LayoutAnchorableFloatingWindowControl( - fw as LayoutAnchorableFloatingWindow, isContentImmutable ) - { - Width = fwWidth, - Height = fwHeight, - Left = contentModel.FloatingLeft, - Top = contentModel.FloatingTop - }; - } - else - { - var anchorableDocument = contentModel as LayoutDocument; - fw = new LayoutDocumentFloatingWindow() - { - RootDocument = anchorableDocument - }; - - Layout.FloatingWindows.Add( fw ); - - fwc = new LayoutDocumentFloatingWindowControl( - fw as LayoutDocumentFloatingWindow, isContentImmutable ) - { - Width = fwWidth, - Height = fwHeight, - Left = contentModel.FloatingLeft, - Top = contentModel.FloatingTop - }; - } - - - //fwc.Owner = Window.GetWindow(this); - //fwc.SetParentToMainWindowOf(this); - - - _fwList.Add( fwc ); - - Layout.CollectGarbage(); - - UpdateLayout(); - - return fwc; - } - #endregion #region Events diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Extentions.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Extentions.cs index 756eac956..ce4914252 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Extentions.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Extentions.cs @@ -99,8 +99,8 @@ public static AnchorSide GetSide( this ILayoutElement element ) if( (layoutPanel != null) && ( layoutPanel.Children.Count > 0 ) ) { if( layoutPanel.Orientation == System.Windows.Controls.Orientation.Horizontal ) - return ( layoutPanel.Children[ 0 ].Equals(element) || layoutPanel.Children[ 0 ].Descendents().Contains( element ) ) ? AnchorSide.Left : AnchorSide.Right; - return ( layoutPanel.Children[ 0 ].Equals( element ) || layoutPanel.Children[ 0 ].Descendents().Contains( element ) ) ? AnchorSide.Top : AnchorSide.Bottom; + return layoutPanel.Children[ 0 ].Descendents().Contains( element ) ? AnchorSide.Left : AnchorSide.Right; + return layoutPanel.Children[ 0 ].Descendents().Contains( element ) ? AnchorSide.Top : AnchorSide.Bottom; } } diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutAnchorable.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutAnchorable.cs index 89b3b9215..4502e7641 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutAnchorable.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutAnchorable.cs @@ -35,7 +35,6 @@ public class LayoutAnchorable : LayoutContent private double _autohideMinHeight = 100.0; private bool _canHide = true; private bool _canAutoHide = true; - private bool _canDockAsTabbedDocument = true; private bool _canCloseValueBeforeInternalSet; #endregion @@ -182,26 +181,6 @@ public bool CanAutoHide #endregion - #region CanDockAsTabbedDocument - - public bool CanDockAsTabbedDocument - { - get - { - return _canDockAsTabbedDocument; - } - set - { - if( _canDockAsTabbedDocument != value ) - { - _canDockAsTabbedDocument = value; - RaisePropertyChanged( "CanDockAsTabbedDocument" ); - } - } - } - - #endregion - #region IsAutoHidden /// @@ -347,8 +326,6 @@ public override void ReadXml( System.Xml.XmlReader reader ) AutoHideMinWidth = double.Parse( reader.Value, CultureInfo.InvariantCulture ); if( reader.MoveToAttribute( "AutoHideMinHeight" ) ) AutoHideMinHeight = double.Parse( reader.Value, CultureInfo.InvariantCulture ); - if( reader.MoveToAttribute( "CanDockAsTabbedDocument" ) ) - CanDockAsTabbedDocument = bool.Parse( reader.Value ); base.ReadXml( reader ); } @@ -367,8 +344,7 @@ public override void WriteXml( System.Xml.XmlWriter writer ) writer.WriteAttributeString( "AutoHideMinWidth", AutoHideMinWidth.ToString( CultureInfo.InvariantCulture ) ); if( AutoHideMinHeight != 25.0 ) writer.WriteAttributeString( "AutoHideMinHeight", AutoHideMinHeight.ToString( CultureInfo.InvariantCulture ) ); - if( !CanDockAsTabbedDocument ) - writer.WriteAttributeString( "CanDockAsTabbedDocument", CanDockAsTabbedDocument.ToString( CultureInfo.InvariantCulture ) ); + base.WriteXml( writer ); } diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutContent.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutContent.cs index 8c6fcc52d..ffa93dbcd 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutContent.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutContent.cs @@ -22,6 +22,7 @@ This program is provided to you under the terms of the Microsoft Public using System.Globalization; using System.Windows.Media; using System.ComponentModel; +using Xceed.Wpf.AvalonDock.Controls; namespace Xceed.Wpf.AvalonDock.Layout { @@ -143,6 +144,7 @@ public bool IsSelected parentSelector.SelectedContentIndex = _isSelected ? parentSelector.IndexOf( this ) : -1; OnIsSelectedChanged( oldValue, value ); RaisePropertyChanged( "IsSelected" ); + LayoutAnchorableTabItem.CancelMouseLeave(); } } } diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutDocument.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutDocument.cs index 66a2d5929..07d4b075d 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutDocument.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutDocument.cs @@ -25,27 +25,6 @@ public class LayoutDocument : LayoutContent { #region Properties - #region CanMove - - internal bool _canMove = true; - public bool CanMove - { - get - { - return _canMove; - } - set - { - if( _canMove != value ) - { - _canMove = value; - RaisePropertyChanged( "CanMove" ); - } - } - } - - #endregion - #region IsVisible public bool IsVisible @@ -95,16 +74,12 @@ public override void WriteXml( System.Xml.XmlWriter writer ) if( !string.IsNullOrWhiteSpace( this.Description ) ) writer.WriteAttributeString( "Description", this.Description ); - if( !CanMove ) - writer.WriteAttributeString( "CanMove", CanMove.ToString() ); } public override void ReadXml( System.Xml.XmlReader reader ) { if( reader.MoveToAttribute( "Description" ) ) this.Description = reader.Value; - if( reader.MoveToAttribute( "CanMove" ) ) - CanMove = bool.Parse( reader.Value ); base.ReadXml( reader ); } diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/generic.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/generic.xaml index af82ccb4e..89dab4ddc 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/generic.xaml +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/generic.xaml @@ -441,8 +441,7 @@ - + @@ -790,19 +789,15 @@ Grid.Row="1" /> + Grid.Row="1" /> + Grid.Row="1" /> - @@ -956,7 +951,7 @@ + Content="{Binding LayoutItem.View, RelativeSource={RelativeSource TemplatedParent}}" /> + + + + The ColorCanvas and ColorPicker controls allow the user to input a color. Not shown in the sample are the ColorPicker's Available, Standard and Recent color lists, which are entirely customizable. + + - Toolkit for WPF + + - Copyright (C) 2007-2017 Xceed Software Inc. + + + + + - This program is provided to you under the terms of the Microsoft Public - License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license - - For more features, controls, and fast professional support, - pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ - - Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids - - ***********************************************************************************--> - - - - The ColorCanvas and ColorPicker controls allow the user to input a color. Not shown in the sample are the ColorPicker's Available, Standard and Recent color lists, which are entirely customizable. - - + + + + + + + + + + + - - + + + + + + - - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + + + + + + + - - - - + + + + + + - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + - - - - - diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.Designer.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.Designer.cs.txt index 667ee5316..6f3594e07 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.Designer.cs.txt +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.Designer.cs.txt @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.296 +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -10,8 +10,8 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { using System; - - + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -19,19 +19,19 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class DisplayLocalizationRes { - + private static global::System.Resources.ResourceManager resourceMan; - + private static global::System.Globalization.CultureInfo resourceCulture; - + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal DisplayLocalizationRes() { } - + /// /// Returns the cached ResourceManager instance used by this class. /// @@ -45,7 +45,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return resourceMan; } } - + /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. @@ -59,7 +59,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { resourceCulture = value; } } - + /// /// Looks up a localized string similar to Details. /// @@ -68,7 +68,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("DetailsCategory", resourceCulture); } } - + /// /// Looks up a localized string similar to Favorite actor 1 (no DisplayName). /// @@ -77,7 +77,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("FavoriteActor1", resourceCulture); } } - + /// /// Looks up a localized string similar to This property's type is an enum whose values have no DisplayName attributes. These values displayed are provided by the ToString() method.. /// @@ -86,7 +86,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("FavoriteActor1Desc", resourceCulture); } } - + /// /// Looks up a localized string similar to Favorite actor 2 (with DisplayName). /// @@ -95,7 +95,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("FavoriteActor2", resourceCulture); } } - + /// /// Looks up a localized string similar to This property's type is an enum whose values are decorated with the ExtendedDisplayName attribute. Combined with the EnumDisplayNameConverter, this allows display values to be customized.. /// @@ -104,7 +104,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("FavoriteActor2Desc", resourceCulture); } } - + /// /// Looks up a localized string similar to Favorite actor 3. /// @@ -113,7 +113,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("FavoriteActor3", resourceCulture); } } - + /// /// Looks up a localized string similar to "(Not listed)" enum value shows that enum values can also be localized.. /// @@ -122,7 +122,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("FavoriteActor3Desc", resourceCulture); } } - + /// /// Looks up a localized string similar to First name. /// @@ -131,7 +131,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("FirstName", resourceCulture); } } - + /// /// Looks up a localized string similar to First name of that person. /// @@ -140,7 +140,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("FirstNameDesc", resourceCulture); } } - + /// /// Looks up a localized string similar to Information. /// @@ -149,7 +149,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("InfoCategory", resourceCulture); } } - + /// /// Looks up a localized string similar to Last name. /// @@ -158,7 +158,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("LastName", resourceCulture); } } - + /// /// Looks up a localized string similar to Usually the familly name of the person. /// @@ -167,7 +167,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views { return ResourceManager.GetString("LastNameDesc", resourceCulture); } } - + /// /// Looks up a localized string similar to (Not listed). /// diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MaterialDemoView.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MaterialDemoView.cs.txt index 40d958bc7..701fc775d 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MaterialDemoView.cs.txt +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MaterialDemoView.cs.txt @@ -1,41 +1,41 @@ -/************************************************************************************** - - Toolkit for WPF - - Copyright (C) 2007-2017 Xceed Software Inc. - - This program is provided to you under the terms of the Microsoft Public - License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license - - For more features, controls, and fast professional support, - pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ - - Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids - - **************************************************************************************/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Windows.Media; - -namespace Xceed.Wpf.Toolkit.LiveExplorer -{ - public class MaterialDemoView : DemoView - { - #region Constructor - - public MaterialDemoView() - { - - } - - #endregion - - - - - - } -} +/************************************************************************************** + + Toolkit for WPF + + Copyright (C) 2007-2017 Xceed Software Inc. + + This program is provided to you under the terms of the Microsoft Public + License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license + + For more features, controls, and fast professional support, + pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ + + Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids + + **************************************************************************************/ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Media; + +namespace Xceed.Wpf.Toolkit.LiveExplorer +{ + public class MaterialDemoView : DemoView + { + #region Constructor + + public MaterialDemoView() + { + + } + + #endregion + + + + + + } +} diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MessageBoxView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MessageBoxView.xaml.cs.txt new file mode 100644 index 000000000..f83e772ad --- /dev/null +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MessageBoxView.xaml.cs.txt @@ -0,0 +1,35 @@ +using System.Windows; +using System.Windows.Controls; + +namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.MessageBox.Views +{ + /// + /// Interaction logic for MessageBoxView.xaml + /// + public partial class MessageBoxView : DemoView + { + public MessageBoxView() + { + InitializeComponent(); + } + + private void ErrorButton_Click(object sender, RoutedEventArgs e) + { + Toolkit.MessageBox.Show("Thanks for clicking me!", "Error", MessageBoxButton.OK, MessageBoxImage.Error); + } + private void WarnButton_Click(object sender, RoutedEventArgs e) + { + Toolkit.MessageBox.Show("Thanks for clicking me!", "Warning", MessageBoxButton.OKCancel, MessageBoxImage.Warning); + + } + private void InfoButton_Click(object sender, RoutedEventArgs e) + { + Toolkit.MessageBox.Show("Thanks for clicking me!", "Information", MessageBoxButton.YesNo, MessageBoxImage.Information); + } + private void QuestionButton_Click(object sender, RoutedEventArgs e) + { + Toolkit.MessageBox.Show("Thanks for clicking me!", "Question", MessageBoxButton.YesNoCancel, MessageBoxImage.Question); + + } + } +} diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MessageBoxView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MessageBoxView.xaml.txt new file mode 100644 index 000000000..251b8fefe --- /dev/null +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MessageBoxView.xaml.txt @@ -0,0 +1,29 @@ + + + + Check Message Boxees (Button/Images) + + + + + + +