Browse Source

V4.6.0 Released

pull/1788/head 4.6.0
Simon Boucher 2 years ago
parent
commit
03d4331dc6
  1. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroColors.cs
  2. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroTheme.cs
  3. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Brushes.xaml
  4. 30
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Controls/SplineBorder.cs
  5. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Properties/AssemblyInfo.cs
  6. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Theme.xaml
  7. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Brushes.xaml
  8. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/MetroTheme.cs
  9. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Properties/AssemblyInfo.cs
  10. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Theme.xaml
  11. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Brushes.xaml
  12. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Properties/AssemblyInfo.cs
  13. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Theme.xaml
  14. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/VS2010Theme.cs
  15. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Commands/RelayCommand.cs
  16. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneControlOverlayArea.cs
  17. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneDropTarget.cs
  18. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTabPanel.cs
  19. 24
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTitle.cs
  20. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AutoHideWindowManager.cs
  21. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/BindingHelper.cs
  22. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/ContextMenuEx.cs
  23. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DockingManagerDropTarget.cs
  24. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DockingManagerOverlayArea.cs
  25. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneControlOverlayArea.cs
  26. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropAsAnchorableTarget.cs
  27. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropTarget.cs
  28. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneGroupDropTarget.cs
  29. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneTabPanel.cs
  30. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DragService.cs
  31. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropArea.cs
  32. 22
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropDownButton.cs
  33. 16
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropDownControlArea.cs
  34. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTarget.cs
  35. 13
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTargetBase.cs
  36. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTargetType.cs
  37. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Extentions.cs
  38. 16
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/FocusElementManager.cs
  39. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/FullWeakDictionary.cs
  40. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IDropTarget.cs
  41. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindow.cs
  42. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowArea.cs
  43. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowDropTarget.cs
  44. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowHost.cs
  45. 14
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorControl.cs
  46. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorGroupControl.cs
  47. 50
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorSideControl.cs
  48. 27
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableControl.cs
  49. 15
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs
  50. 65
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableItem.cs
  51. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs
  52. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneGroupControl.cs
  53. 27
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableTabItem.cs
  54. 16
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAutoHideWindowControl.cs
  55. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutCachePaneControl.cs
  56. 27
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentControl.cs
  57. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs
  58. 15
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentItem.cs
  59. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneControl.cs
  60. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneGroupControl.cs
  61. 27
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentTabItem.cs
  62. 46
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs
  63. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs
  64. 16
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridResizerControl.cs
  65. 243
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs
  66. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutPanelControl.cs
  67. 28
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/MenuItemEx.cs
  68. 52
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/NavigatorWindow.cs
  69. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayArea.cs
  70. 15
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindow.cs
  71. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindowDropTarget.cs
  72. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindowDropTargetType.cs
  73. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/ReentrantFlag.cs
  74. 38
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ComGuids.cs
  75. 114
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Debug.cs
  76. 75
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/DoubleUtil.cs
  77. 12
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/DpiHelper.cs
  78. 104
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ErrorCodes.cs
  79. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/MessageWindow.cs
  80. 226
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/NativeMethods.cs
  81. 182
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ShellProvider.cs
  82. 162
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/StreamHelper.cs
  83. 56
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Utilities.cs
  84. 57
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Verify.cs
  85. 4
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/SystemCommands.cs
  86. 5
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/SystemParameters2.cs
  87. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/WindowChrome.cs
  88. 28
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/WindowChromeWorker.cs
  89. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/TransformExtentions.cs
  90. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WeakDictionary.cs
  91. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WindowActivateEventArgs.cs
  92. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WindowHookHandler.cs
  93. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/ActivateCommandLayoutItemFromLayoutModelConverter.cs
  94. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorSideToAngleConverter.cs
  95. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorSideToOrientationConverter.cs
  96. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorableContextMenuAutoHideHeaderConverter.cs
  97. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorableContextMenuHideVisibilityConverter.cs
  98. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AutoHideCommandLayoutItemFromLayoutModelConverter.cs
  99. 23
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/BoolToVisibilityConverter.cs
  100. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/HideCommandLayoutItemFromLayoutModelConverter.cs

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroColors.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroTheme.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Brushes.xaml

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

30
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Controls/SplineBorder.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -32,17 +32,10 @@ namespace Xceed.Wpf.AvalonDock.Themes.Controls
#region Thickness
/// <summary>
/// Thickness Dependency Property
/// </summary>
public static readonly DependencyProperty ThicknessProperty =
DependencyProperty.Register( "Thickness", typeof( double ), typeof( SplineBorder ),
new FrameworkPropertyMetadata( ( double )1.0, FrameworkPropertyMetadataOptions.AffectsRender ) );
/// <summary>
/// Gets or sets the Thickness property. This dependency property
/// indicates the border thickness.
/// </summary>
public double Thickness
{
get
@ -59,17 +52,10 @@ namespace Xceed.Wpf.AvalonDock.Themes.Controls
#region Fill
/// <summary>
/// Fill Dependency Property
/// </summary>
public static readonly DependencyProperty FillProperty =
DependencyProperty.Register( "Fill", typeof( Brush ), typeof( SplineBorder ),
new FrameworkPropertyMetadata( ( Brush )null, FrameworkPropertyMetadataOptions.AffectsRender ) );
/// <summary>
/// Gets or sets the Fill property. This dependency property
/// indicates the fill color.
/// </summary>
public Brush Fill
{
get
@ -86,17 +72,10 @@ namespace Xceed.Wpf.AvalonDock.Themes.Controls
#region Stroke
/// <summary>
/// Stroke Dependency Property
/// </summary>
public static readonly DependencyProperty StrokeProperty =
DependencyProperty.Register( "Stroke", typeof( Brush ), typeof( SplineBorder ),
new FrameworkPropertyMetadata( Brushes.Black, FrameworkPropertyMetadataOptions.AffectsRender ) );
/// <summary>
/// Gets or sets the Stroke property. This dependency property
/// indicates the stroke brush.
/// </summary>
public Brush Stroke
{
get
@ -113,17 +92,10 @@ namespace Xceed.Wpf.AvalonDock.Themes.Controls
#region BottomBorderMargin
/// <summary>
/// BottomBorderMargin Dependency Property
/// </summary>
public static readonly DependencyProperty BottomBorderMarginProperty =
DependencyProperty.Register( "BottomBorderMargin", typeof( double ), typeof( SplineBorder ),
new FrameworkPropertyMetadata( ( double )0.0, FrameworkPropertyMetadataOptions.AffectsRender ) );
/// <summary>
/// Gets or sets the BottomBorderMargin property. This dependency property
/// indicates the adjustment for the bottom margin.
/// </summary>
public double BottomBorderMargin
{
get

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Properties/AssemblyInfo.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Theme.xaml

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Brushes.xaml

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/MetroTheme.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Properties/AssemblyInfo.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Theme.xaml

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Brushes.xaml

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Properties/AssemblyInfo.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Theme.xaml

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/VS2010Theme.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Commands/RelayCommand.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneControlOverlayArea.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneDropTarget.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTabPanel.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

24
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTitle.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -50,16 +50,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Model
/// <summary>
/// Model Dependency Property
/// </summary>
public static readonly DependencyProperty ModelProperty = DependencyProperty.Register( "Model", typeof( LayoutAnchorable ), typeof( AnchorablePaneTitle ),
new FrameworkPropertyMetadata( ( LayoutAnchorable )null, new PropertyChangedCallback( _OnModelChanged ) ) );
/// <summary>
/// Gets or sets the Model property. This dependency property
/// indicates model attached to this view.
/// </summary>
public LayoutAnchorable Model
{
get
@ -77,9 +70,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
( ( AnchorablePaneTitle )sender ).OnModelChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the Model property.
/// </summary>
protected virtual void OnModelChanged( DependencyPropertyChangedEventArgs e )
{
if( Model != null )
@ -96,18 +86,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region LayoutItem
/// <summary>
/// LayoutItem Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey LayoutItemPropertyKey = DependencyProperty.RegisterReadOnly( "LayoutItem", typeof( LayoutItem ), typeof( AnchorablePaneTitle ),
new FrameworkPropertyMetadata( ( LayoutItem )null ) );
public static readonly DependencyProperty LayoutItemProperty = LayoutItemPropertyKey.DependencyProperty;
/// <summary>
/// Gets the LayoutItem property. This dependency property
/// indicates the LayoutItem attached to this tag item.
/// </summary>
public LayoutItem LayoutItem
{
get
@ -116,11 +99,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the LayoutItem property.
/// This dependency property indicates the LayoutItem attached to this tag item.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetLayoutItem( LayoutItem value )
{
this.SetValue( LayoutItemPropertyKey, value );

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AutoHideWindowManager.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/BindingHelper.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/ContextMenuEx.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DockingManagerDropTarget.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DockingManagerOverlayArea.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneControlOverlayArea.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropAsAnchorableTarget.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropTarget.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneGroupDropTarget.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneTabPanel.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DragService.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropArea.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

22
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropDownButton.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -36,16 +36,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region DropDownContextMenu
/// <summary>
/// DropDownContextMenu Dependency Property
/// </summary>
public static readonly DependencyProperty DropDownContextMenuProperty = DependencyProperty.Register( "DropDownContextMenu", typeof( ContextMenu ), typeof( DropDownButton ),
new FrameworkPropertyMetadata( ( ContextMenu )null, new PropertyChangedCallback( OnDropDownContextMenuChanged ) ) );
/// <summary>
/// Gets or sets the DropDownContextMenu property. This dependency property
/// indicates drop down menu to show up when user click on an anchorable menu pin.
/// </summary>
public ContextMenu DropDownContextMenu
{
get
@ -58,17 +51,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the DropDownContextMenu property.
/// </summary>
private static void OnDropDownContextMenuChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( DropDownButton )d ).OnDropDownContextMenuChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the DropDownContextMenu property.
/// </summary>
protected virtual void OnDropDownContextMenuChanged( DependencyPropertyChangedEventArgs e )
{
var oldContextMenu = e.OldValue as ContextMenu;
@ -80,16 +67,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region DropDownContextMenuDataContext
/// <summary>
/// DropDownContextMenuDataContext Dependency Property
/// </summary>
public static readonly DependencyProperty DropDownContextMenuDataContextProperty = DependencyProperty.Register( "DropDownContextMenuDataContext", typeof( object ), typeof( DropDownButton ),
new FrameworkPropertyMetadata( ( object )null ) );
/// <summary>
/// Gets or sets the DropDownContextMenuDataContext property. This dependency property
/// indicates data context to set for drop down context menu.
/// </summary>
public object DropDownContextMenuDataContext
{
get

16
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropDownControlArea.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -40,16 +40,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region DropDownContextMenu
/// <summary>
/// DropDownContextMenu Dependency Property
/// </summary>
public static readonly DependencyProperty DropDownContextMenuProperty = DependencyProperty.Register( "DropDownContextMenu", typeof( ContextMenu ), typeof( DropDownControlArea ),
new FrameworkPropertyMetadata( ( ContextMenu )null ) );
/// <summary>
/// Gets or sets the DropDownContextMenu property. This dependency property
/// indicates context menu to show when a right click is detected over the area occpied by the control.
/// </summary>
public ContextMenu DropDownContextMenu
{
get
@ -66,16 +59,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region DropDownContextMenuDataContext
/// <summary>
/// DropDownContextMenuDataContext Dependency Property
/// </summary>
public static readonly DependencyProperty DropDownContextMenuDataContextProperty = DependencyProperty.Register( "DropDownContextMenuDataContext", typeof( object ), typeof( DropDownControlArea ),
new FrameworkPropertyMetadata( ( object )null ) );
/// <summary>
/// Gets or sets the DropDownContextMenuDataContext property. This dependency property
/// indicates data context to attach when context menu is shown.
/// </summary>
public object DropDownContextMenuDataContext
{
get

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTarget.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

13
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTargetBase.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -25,25 +25,14 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IsDraggingOver
/// <summary>
/// IsDraggingOver Attached Dependency Property
/// </summary>
public static readonly DependencyProperty IsDraggingOverProperty = DependencyProperty.RegisterAttached( "IsDraggingOver", typeof( bool ), typeof( DropTargetBase ),
new FrameworkPropertyMetadata( ( bool )false ) );
/// <summary>
/// Gets the IsDraggingOver property. This dependency property
/// indicates if user is dragging a window over the target element.
/// </summary>
public static bool GetIsDraggingOver( DependencyObject d )
{
return ( bool )d.GetValue( IsDraggingOverProperty );
}
/// <summary>
/// Sets the IsDraggingOver property. This dependency property
/// indicates if user is dragging away a window from the target element.
/// </summary>
public static void SetIsDraggingOver( DependencyObject d, bool value )
{
d.SetValue( IsDraggingOverProperty, value );

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTargetType.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Extentions.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

16
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/FocusElementManager.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -117,11 +117,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
/// <summary>
/// Get the input element that was focused before user left the layout element
/// </summary>
/// <param name="model">Element to look for</param>
/// <returns>Input element </returns>
internal static IInputElement GetLastFocusedElement( ILayoutElement model )
{
IInputElement objectWithFocus;
@ -132,11 +127,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
/// <summary>
/// Get the last window handle focused before user left the element passed as argument
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
internal static IntPtr GetLastWindowHandle( ILayoutElement model )
{
IntPtr handleWithFocus;
@ -146,10 +136,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
return IntPtr.Zero;
}
/// <summary>
/// Given a layout element tries to set the focus of the keyword where it was before user moved to another element
/// </summary>
/// <param name="model"></param>
internal static void SetFocusOnLastElement( ILayoutElement model )
{
bool focused = false;

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/FullWeakDictionary.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IDropTarget.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindow.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowArea.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowDropTarget.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowHost.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

14
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -67,18 +67,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Side
/// <summary>
/// Side Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey SidePropertyKey = DependencyProperty.RegisterReadOnly( "Side", typeof( AnchorSide ), typeof( LayoutAnchorControl ),
new FrameworkPropertyMetadata( ( AnchorSide )AnchorSide.Left ) );
public static readonly DependencyProperty SideProperty = SidePropertyKey.DependencyProperty;
/// <summary>
/// Gets the Side property. This dependency property
/// indicates the anchor side of the control.
/// </summary>
public AnchorSide Side
{
get
@ -87,11 +80,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the Side property.
/// This dependency property indicates the anchor side of the control.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetSide( AnchorSide value )
{
SetValue( SidePropertyKey, value );

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorGroupControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

50
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorSideControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -86,18 +86,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IsLeftSide
/// <summary>
/// IsLeftSide Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey IsLeftSidePropertyKey = DependencyProperty.RegisterReadOnly( "IsLeftSide", typeof( bool ), typeof( LayoutAnchorSideControl ),
new FrameworkPropertyMetadata( ( bool )false ) );
public static readonly DependencyProperty IsLeftSideProperty = IsLeftSidePropertyKey.DependencyProperty;
/// <summary>
/// Gets the IsLeftSide property. This dependency property
/// indicates this control is anchored to left side.
/// </summary>
public bool IsLeftSide
{
get
@ -106,11 +99,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the IsLeftSide property.
/// This dependency property indicates this control is anchored to left side.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetIsLeftSide( bool value )
{
SetValue( IsLeftSidePropertyKey, value );
@ -120,18 +108,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IsTopSide
/// <summary>
/// IsTopSide Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey IsTopSidePropertyKey = DependencyProperty.RegisterReadOnly( "IsTopSide", typeof( bool ), typeof( LayoutAnchorSideControl ),
new FrameworkPropertyMetadata( ( bool )false ) );
public static readonly DependencyProperty IsTopSideProperty = IsTopSidePropertyKey.DependencyProperty;
/// <summary>
/// Gets the IsTopSide property. This dependency property
/// indicates this control is anchored to top side.
/// </summary>
public bool IsTopSide
{
get
@ -140,11 +121,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the IsTopSide property.
/// This dependency property indicates this control is anchored to top side.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetIsTopSide( bool value )
{
SetValue( IsTopSidePropertyKey, value );
@ -154,18 +130,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IsRightSide
/// <summary>
/// IsRightSide Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey IsRightSidePropertyKey = DependencyProperty.RegisterReadOnly( "IsRightSide", typeof( bool ), typeof( LayoutAnchorSideControl ),
new FrameworkPropertyMetadata( ( bool )false ) );
public static readonly DependencyProperty IsRightSideProperty = IsRightSidePropertyKey.DependencyProperty;
/// <summary>
/// Gets the IsRightSide property. This dependency property
/// indicates this control is anchored to right side.
/// </summary>
public bool IsRightSide
{
get
@ -174,11 +143,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the IsRightSide property.
/// This dependency property indicates this control is anchored to right side.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetIsRightSide( bool value )
{
SetValue( IsRightSidePropertyKey, value );
@ -188,18 +152,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IsBottomSide
/// <summary>
/// IsBottomSide Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey IsBottomSidePropertyKey = DependencyProperty.RegisterReadOnly( "IsBottomSide", typeof( bool ), typeof( LayoutAnchorSideControl ),
new FrameworkPropertyMetadata( ( bool )false ) );
public static readonly DependencyProperty IsBottomSideProperty = IsBottomSidePropertyKey.DependencyProperty;
/// <summary>
/// Gets the IsBottomSide property. This dependency property
/// indicates if this panel is anchored to bottom side.
/// </summary>
public bool IsBottomSide
{
get
@ -208,11 +165,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the IsBottomSide property.
/// This dependency property indicates if this panel is anchored to bottom side.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetIsBottomSide( bool value )
{
SetValue( IsBottomSidePropertyKey, value );

27
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -42,16 +42,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Model
/// <summary>
/// Model Dependency Property
/// </summary>
public static readonly DependencyProperty ModelProperty = DependencyProperty.Register( "Model", typeof( LayoutAnchorable ), typeof( LayoutAnchorableControl ),
new FrameworkPropertyMetadata( ( LayoutAnchorable )null, new PropertyChangedCallback( OnModelChanged ) ) );
/// <summary>
/// Gets or sets the Model property. This dependency property
/// indicates the model attached to this view.
/// </summary>
public LayoutAnchorable Model
{
get
@ -64,17 +57,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the Model property.
/// </summary>
private static void OnModelChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutAnchorableControl )d ).OnModelChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the Model property.
/// </summary>
protected virtual void OnModelChanged( DependencyPropertyChangedEventArgs e )
{
if( e.OldValue != null )
@ -115,18 +102,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region LayoutItem
/// <summary>
/// LayoutItem Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey LayoutItemPropertyKey = DependencyProperty.RegisterReadOnly( "LayoutItem", typeof( LayoutItem ), typeof( LayoutAnchorableControl ),
new FrameworkPropertyMetadata( ( LayoutItem )null ) );
public static readonly DependencyProperty LayoutItemProperty = LayoutItemPropertyKey.DependencyProperty;
/// <summary>
/// Gets the LayoutItem property. This dependency property
/// indicates the LayoutItem attached to this tag item.
/// </summary>
public LayoutItem LayoutItem
{
get
@ -135,11 +115,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the LayoutItem property.
/// This dependency property indicates the LayoutItem attached to this tag item.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetLayoutItem( LayoutItem value )
{
this.SetValue( LayoutItemPropertyKey, value );

15
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -66,16 +66,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region SingleContentLayoutItem
/// <summary>
/// SingleContentLayoutItem Dependency Property
/// </summary>
public static readonly DependencyProperty SingleContentLayoutItemProperty = DependencyProperty.Register( "SingleContentLayoutItem", typeof( LayoutItem ), typeof( LayoutAnchorableFloatingWindowControl ),
new FrameworkPropertyMetadata( ( LayoutItem )null, new PropertyChangedCallback( OnSingleContentLayoutItemChanged ) ) );
/// <summary>
/// Gets or sets the SingleContentLayoutItem property. This dependency property
/// indicates the layout item of the selected content when is shown a single anchorable pane.
/// </summary>
public LayoutItem SingleContentLayoutItem
{
get
@ -88,17 +81,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the SingleContentLayoutItem property.
/// </summary>
private static void OnSingleContentLayoutItemChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutAnchorableFloatingWindowControl )d ).OnSingleContentLayoutItemChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the SingleContentLayoutItem property.
/// </summary>
protected virtual void OnSingleContentLayoutItemChanged( DependencyPropertyChangedEventArgs e )
{
}

65
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableItem.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -48,16 +48,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region HideCommand
/// <summary>
/// HideCommand Dependency Property
/// </summary>
public static readonly DependencyProperty HideCommandProperty = DependencyProperty.Register( "HideCommand", typeof( ICommand ), typeof( LayoutAnchorableItem ),
new FrameworkPropertyMetadata( null, new PropertyChangedCallback( OnHideCommandChanged ), new CoerceValueCallback( CoerceHideCommandValue ) ) );
/// <summary>
/// Gets or sets the HideCommand property. This dependency property
/// indicates the command to execute when an anchorable is hidden.
/// </summary>
public ICommand HideCommand
{
get
@ -70,24 +63,15 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the HideCommand property.
/// </summary>
private static void OnHideCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutAnchorableItem )d ).OnHideCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the HideCommand property.
/// </summary>
protected virtual void OnHideCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
/// <summary>
/// Coerces the HideCommand value.
/// </summary>
private static object CoerceHideCommandValue( DependencyObject d, object value )
{
return value;
@ -110,17 +94,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region AutoHideCommand
/// <summary>
/// AutoHideCommand Dependency Property
/// </summary>
public static readonly DependencyProperty AutoHideCommandProperty = DependencyProperty.Register( "AutoHideCommand", typeof( ICommand ), typeof( LayoutAnchorableItem ),
new FrameworkPropertyMetadata( null, new PropertyChangedCallback( OnAutoHideCommandChanged ), new CoerceValueCallback( CoerceAutoHideCommandValue ) ) );
/// <summary>
/// Gets or sets the AutoHideCommand property. This dependency property
/// indicates the command to execute when user click the auto hide button.
/// </summary>
/// <remarks>By default this command toggles auto hide state for an anchorable.</remarks>
public ICommand AutoHideCommand
{
get
@ -133,24 +109,15 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the AutoHideCommand property.
/// </summary>
private static void OnAutoHideCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutAnchorableItem )d ).OnAutoHideCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the AutoHideCommand property.
/// </summary>
protected virtual void OnAutoHideCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
/// <summary>
/// Coerces the AutoHideCommand value.
/// </summary>
private static object CoerceAutoHideCommandValue( DependencyObject d, object value )
{
return value;
@ -177,17 +144,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region DockCommand
/// <summary>
/// DockCommand Dependency Property
/// </summary>
public static readonly DependencyProperty DockCommandProperty = DependencyProperty.Register( "DockCommand", typeof( ICommand ), typeof( LayoutAnchorableItem ),
new FrameworkPropertyMetadata( null, new PropertyChangedCallback( OnDockCommandChanged ), new CoerceValueCallback( CoerceDockCommandValue ) ) );
/// <summary>
/// Gets or sets the DockCommand property. This dependency property
/// indicates the command to execute when user click the Dock button.
/// </summary>
/// <remarks>By default this command moves the anchorable inside the container pane which previously hosted the object.</remarks>
public ICommand DockCommand
{
get
@ -200,24 +159,15 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the DockCommand property.
/// </summary>
private static void OnDockCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutAnchorableItem )d ).OnDockCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the DockCommand property.
/// </summary>
protected virtual void OnDockCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
/// <summary>
/// Coerces the DockCommand value.
/// </summary>
private static object CoerceDockCommandValue( DependencyObject d, object value )
{
return value;
@ -239,16 +189,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region CanHide
/// <summary>
/// CanHide Dependency Property
/// </summary>
public static readonly DependencyProperty CanHideProperty = DependencyProperty.Register( "CanHide", typeof( bool ), typeof( LayoutAnchorableItem ), new FrameworkPropertyMetadata( ( bool )true,
new PropertyChangedCallback( OnCanHideChanged ) ) );
/// <summary>
/// Gets or sets the CanHide property. This dependency property
/// indicates if user can hide the anchorable item.
/// </summary>
public bool CanHide
{
get
@ -261,17 +204,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the CanHide property.
/// </summary>
private static void OnCanHideChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutAnchorableItem )d ).OnCanHideChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the CanHide property.
/// </summary>
protected virtual void OnCanHideChanged( DependencyPropertyChangedEventArgs e )
{
if( _anchorable != null )

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneGroupControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

27
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableTabItem.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -60,16 +60,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Model
/// <summary>
/// Model Dependency Property
/// </summary>
public static readonly DependencyProperty ModelProperty = DependencyProperty.Register( "Model", typeof( LayoutContent ), typeof( LayoutAnchorableTabItem ),
new FrameworkPropertyMetadata( ( LayoutContent )null, new PropertyChangedCallback( OnModelChanged ) ) );
/// <summary>
/// Gets or sets the Model property. This dependency property
/// indicates model attached to the anchorable tab item.
/// </summary>
public LayoutContent Model
{
get
@ -82,17 +75,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the Model property.
/// </summary>
private static void OnModelChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutAnchorableTabItem )d ).OnModelChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the Model property.
/// </summary>
protected virtual void OnModelChanged( DependencyPropertyChangedEventArgs e )
{
if( Model != null )
@ -106,18 +93,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region LayoutItem
/// <summary>
/// LayoutItem Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey LayoutItemPropertyKey = DependencyProperty.RegisterReadOnly( "LayoutItem", typeof( LayoutItem ), typeof( LayoutAnchorableTabItem ),
new FrameworkPropertyMetadata( ( LayoutItem )null ) );
public static readonly DependencyProperty LayoutItemProperty = LayoutItemPropertyKey.DependencyProperty;
/// <summary>
/// Gets the LayoutItem property. This dependency property
/// indicates the LayoutItem attached to this tag item.
/// </summary>
public LayoutItem LayoutItem
{
get
@ -126,11 +106,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the LayoutItem property.
/// This dependency property indicates the LayoutItem attached to this tag item.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetLayoutItem( LayoutItem value )
{
SetValue( LayoutItemPropertyKey, value );

16
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAutoHideWindowControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -69,16 +69,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region AnchorableStyle
/// <summary>
/// AnchorableStyle Dependency Property
/// </summary>
public static readonly DependencyProperty AnchorableStyleProperty = DependencyProperty.Register( "AnchorableStyle", typeof( Style ), typeof( LayoutAutoHideWindowControl ),
new FrameworkPropertyMetadata( ( Style )null ) );
/// <summary>
/// Gets or sets the AnchorableStyle property. This dependency property
/// indicates the style to apply to the LayoutAnchorableControl hosted in this auto hide window.
/// </summary>
public Style AnchorableStyle
{
get
@ -95,16 +88,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Background
/// <summary>
/// Background Dependency Property
/// </summary>
public static readonly DependencyProperty BackgroundProperty = DependencyProperty.Register( "Background", typeof( Brush ), typeof( LayoutAutoHideWindowControl ),
new FrameworkPropertyMetadata( ( Brush )null ) );
/// <summary>
/// Gets or sets the Background property. This dependency property
/// indicates background of the autohide childwindow.
/// </summary>
public Brush Background
{
get

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutCachePaneControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

27
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -42,16 +42,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Model
/// <summary>
/// Model Dependency Property
/// </summary>
public static readonly DependencyProperty ModelProperty = DependencyProperty.Register( "Model", typeof( LayoutContent ), typeof( LayoutDocumentControl ),
new FrameworkPropertyMetadata( null, OnModelChanged ) );
/// <summary>
/// Gets or sets the Model property. This dependency property
/// indicates the model attached to this view.
/// </summary>
public LayoutContent Model
{
get
@ -64,17 +57,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the Model property.
/// </summary>
private static void OnModelChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutDocumentControl )d ).OnModelChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the Model property.
/// </summary>
protected virtual void OnModelChanged( DependencyPropertyChangedEventArgs e )
{
if( e.OldValue != null )
@ -115,18 +102,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region LayoutItem
/// <summary>
/// LayoutItem Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey LayoutItemPropertyKey = DependencyProperty.RegisterReadOnly( "LayoutItem", typeof( LayoutItem ), typeof( LayoutDocumentControl ),
new FrameworkPropertyMetadata( ( LayoutItem )null ) );
public static readonly DependencyProperty LayoutItemProperty = LayoutItemPropertyKey.DependencyProperty;
/// <summary>
/// Gets the LayoutItem property. This dependency property
/// indicates the LayoutItem attached to this tag item.
/// </summary>
public LayoutItem LayoutItem
{
get
@ -135,11 +115,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the LayoutItem property.
/// This dependency property indicates the LayoutItem attached to this tag item.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetLayoutItem( LayoutItem value )
{
SetValue( LayoutItemPropertyKey, value );

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

15
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentItem.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -43,16 +43,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Description
/// <summary>
/// Description Dependency Property
/// </summary>
public static readonly DependencyProperty DescriptionProperty = DependencyProperty.Register( "Description", typeof( string ), typeof( LayoutDocumentItem ),
new FrameworkPropertyMetadata( ( string )null, new PropertyChangedCallback( OnDescriptionChanged ) ) );
/// <summary>
/// Gets or sets the Description property. This dependency property
/// indicates the description to display for the document item.
/// </summary>
public string Description
{
get
@ -65,17 +58,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the Description property.
/// </summary>
private static void OnDescriptionChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutDocumentItem )d ).OnDescriptionChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the Description property.
/// </summary>
protected virtual void OnDescriptionChanged( DependencyPropertyChangedEventArgs e )
{
_document.Description = ( string )e.NewValue;

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneGroupControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

27
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentTabItem.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -61,16 +61,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Model
/// <summary>
/// Model Dependency Property
/// </summary>
public static readonly DependencyProperty ModelProperty = DependencyProperty.Register( "Model", typeof( LayoutContent ), typeof( LayoutDocumentTabItem ),
new FrameworkPropertyMetadata( ( LayoutContent )null, new PropertyChangedCallback( OnModelChanged ) ) );
/// <summary>
/// Gets or sets the Model property. This dependency property
/// indicates the layout content model attached to the tab item.
/// </summary>
public LayoutContent Model
{
get
@ -83,18 +76,12 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the Model property.
/// </summary>
private static void OnModelChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutDocumentTabItem )d ).OnModelChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the Model property.
/// </summary>
protected virtual void OnModelChanged( DependencyPropertyChangedEventArgs e )
{
if( ( this.Model != null ) && ( this.Model.Root != null ) && ( this.Model.Root.Manager != null ) )
@ -107,18 +94,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region LayoutItem
/// <summary>
/// LayoutItem Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey LayoutItemPropertyKey = DependencyProperty.RegisterReadOnly( "LayoutItem", typeof( LayoutItem ), typeof( LayoutDocumentTabItem ),
new FrameworkPropertyMetadata( ( LayoutItem )null ) );
public static readonly DependencyProperty LayoutItemProperty = LayoutItemPropertyKey.DependencyProperty;
/// <summary>
/// Gets the LayoutItem property. This dependency property
/// indicates the LayoutItem attached to this tag item.
/// </summary>
public LayoutItem LayoutItem
{
get
@ -127,11 +107,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the LayoutItem property.
/// This dependency property indicates the LayoutItem attached to this tag item.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetLayoutItem( LayoutItem value )
{
SetValue( LayoutItemPropertyKey, value );

46
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -82,16 +82,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IsContentImmutable
/// <summary>
/// IsContentImmutable Dependency Property
/// </summary>
public static readonly DependencyProperty IsContentImmutableProperty = DependencyProperty.Register( "IsContentImmutable", typeof( bool ), typeof( LayoutFloatingWindowControl ),
new FrameworkPropertyMetadata( ( bool )false ) );
/// <summary>
/// Gets/sets the IsContentImmutable property. This dependency property
/// indicates if the content can be modified.
/// </summary>
public bool IsContentImmutable
{
get
@ -108,18 +101,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IsDragging
/// <summary>
/// IsDragging Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey IsDraggingPropertyKey = DependencyProperty.RegisterReadOnly( "IsDragging", typeof( bool ), typeof( LayoutFloatingWindowControl ),
new FrameworkPropertyMetadata( ( bool )false, new PropertyChangedCallback( OnIsDraggingChanged ) ) );
public static readonly DependencyProperty IsDraggingProperty = IsDraggingPropertyKey.DependencyProperty;
/// <summary>
/// Gets the IsDragging property. This dependency property
/// indicates that this floating window is being dragged.
/// </summary>
public bool IsDragging
{
get
@ -128,27 +114,16 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the IsDragging property.
/// This dependency property indicates that this floating window is being dragged.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetIsDragging( bool value )
{
SetValue( IsDraggingPropertyKey, value );
}
/// <summary>
/// Handles changes to the IsDragging property.
/// </summary>
private static void OnIsDraggingChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutFloatingWindowControl )d ).OnIsDraggingChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the IsDragging property.
/// </summary>
protected virtual void OnIsDraggingChanged( DependencyPropertyChangedEventArgs e )
{
if( ( bool )e.NewValue )
@ -187,16 +162,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IsMaximized
/// <summary>
/// IsMaximized Dependency Property
/// </summary>
public static readonly DependencyProperty IsMaximizedProperty = DependencyProperty.Register( "IsMaximized", typeof( bool ), typeof( LayoutFloatingWindowControl ),
new FrameworkPropertyMetadata( ( bool )false ) );
/// <summary>
/// Gets/sets the IsMaximized property. This dependency property
/// indicates if the window is maximized.
/// </summary>
public bool IsMaximized
{
get
@ -210,11 +178,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Provides a secure method for setting the IsMaximized property.
/// This dependency property indicates if the window is maximized.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected override void OnStateChanged( EventArgs e )
{
@ -245,19 +208,12 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region ResizeBorderThickness
/// <summary>
/// ResizeBorderThickness Dependency Property
/// </summary>
public static readonly DependencyProperty ResizeBorderThicknessProperty = DependencyProperty.Register(
"ResizeBorderThickness",
typeof( Thickness ),
typeof( LayoutFloatingWindowControl ),
new FrameworkPropertyMetadata( new Thickness( 10 ) ) );
/// <summary>
/// Gets or sets the LayoutDocumentFloatingWindowControl/LayoutAnchorableFloatingWindowControl resize icon Border Thickness property.
/// This dependency property makes it possible to increase the resize icon border of floating windows.
/// </summary>
public Thickness ResizeBorderThickness
{
get

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

16
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridResizerControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -42,16 +42,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region BackgroundWhileDragging
/// <summary>
/// BackgroundWhileDragging Dependency Property
/// </summary>
public static readonly DependencyProperty BackgroundWhileDraggingProperty = DependencyProperty.Register( "BackgroundWhileDragging", typeof( Brush ), typeof( LayoutGridResizerControl ),
new FrameworkPropertyMetadata( ( Brush )Brushes.Black ) );
/// <summary>
/// Gets or sets the BackgroundWhileDragging property. This dependency property
/// indicates ....
/// </summary>
public Brush BackgroundWhileDragging
{
get
@ -68,16 +61,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region OpacityWhileDragging
/// <summary>
/// OpacityWhileDragging Dependency Property
/// </summary>
public static readonly DependencyProperty OpacityWhileDraggingProperty = DependencyProperty.Register( "OpacityWhileDragging", typeof( double ), typeof( LayoutGridResizerControl ),
new FrameworkPropertyMetadata( ( double )0.5 ) );
/// <summary>
/// Gets or sets the OpacityWhileDragging property. This dependency property
/// indicates ....
/// </summary>
public double OpacityWhileDragging
{
get

243
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -114,16 +114,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Title
/// <summary>
/// Title Dependency Property
/// </summary>
public static readonly DependencyProperty TitleProperty = DependencyProperty.Register( "Title", typeof( string ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( string )null, new PropertyChangedCallback( OnTitleChanged ) ) );
/// <summary>
/// Gets or sets the Title property. This dependency property
/// indicates the title of the element.
/// </summary>
public string Title
{
get
@ -136,17 +129,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the Title property.
/// </summary>
private static void OnTitleChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnTitleChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the Title property.
/// </summary>
protected virtual void OnTitleChanged( DependencyPropertyChangedEventArgs e )
{
if( LayoutElement != null )
@ -157,16 +144,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IconSource
/// <summary>
/// IconSource Dependency Property
/// </summary>
public static readonly DependencyProperty IconSourceProperty = DependencyProperty.Register( "IconSource", typeof( ImageSource ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( ImageSource )null, new PropertyChangedCallback( OnIconSourceChanged ) ) );
/// <summary>
/// Gets or sets the IconSource property. This dependency property
/// indicates icon associated with the item.
/// </summary>
public ImageSource IconSource
{
get
@ -179,17 +159,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the IconSource property.
/// </summary>
private static void OnIconSourceChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnIconSourceChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the IconSource property.
/// </summary>
protected virtual void OnIconSourceChanged( DependencyPropertyChangedEventArgs e )
{
if( LayoutElement != null )
@ -200,16 +174,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region ContentId
/// <summary>
/// ContentId Dependency Property
/// </summary>
public static readonly DependencyProperty ContentIdProperty = DependencyProperty.Register( "ContentId", typeof( string ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( string )null, new PropertyChangedCallback( OnContentIdChanged ) ) );
/// <summary>
/// Gets or sets the ContentId property. This dependency property
/// indicates the content id used to retrive content when deserializing layouts.
/// </summary>
public string ContentId
{
get
@ -222,17 +189,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the ContentId property.
/// </summary>
private static void OnContentIdChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnContentIdChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the ContentId property.
/// </summary>
protected virtual void OnContentIdChanged( DependencyPropertyChangedEventArgs e )
{
if( LayoutElement != null )
@ -243,16 +204,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IsSelected
/// <summary>
/// IsSelected Dependency Property
/// </summary>
public static readonly DependencyProperty IsSelectedProperty = DependencyProperty.Register( "IsSelected", typeof( bool ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( bool )false, new PropertyChangedCallback( OnIsSelectedChanged ) ) );
/// <summary>
/// Gets or sets the IsSelected property. This dependency property
/// indicates if the item is selected inside its container.
/// </summary>
public bool IsSelected
{
get
@ -265,17 +219,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the IsSelected property.
/// </summary>
private static void OnIsSelectedChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnIsSelectedChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the IsSelected property.
/// </summary>
protected virtual void OnIsSelectedChanged( DependencyPropertyChangedEventArgs e )
{
if( _isSelectedReentrantFlag.CanEnter )
@ -292,16 +240,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IsActive
/// <summary>
/// IsActive Dependency Property
/// </summary>
public static readonly DependencyProperty IsActiveProperty = DependencyProperty.Register( "IsActive", typeof( bool ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( bool )false, new PropertyChangedCallback( OnIsActiveChanged ) ) );
/// <summary>
/// Gets or sets the IsActive property. This dependency property
/// indicates if the item is active in the UI.
/// </summary>
public bool IsActive
{
get
@ -314,17 +255,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the IsActive property.
/// </summary>
private static void OnIsActiveChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnIsActiveChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the IsActive property.
/// </summary>
protected virtual void OnIsActiveChanged( DependencyPropertyChangedEventArgs e )
{
if( _isActiveReentrantFlag.CanEnter )
@ -355,16 +290,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region CanClose
/// <summary>
/// CanClose Dependency Property
/// </summary>
public static readonly DependencyProperty CanCloseProperty = DependencyProperty.Register( "CanClose", typeof( bool ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( bool )true, new PropertyChangedCallback( OnCanCloseChanged ) ) );
/// <summary>
/// Gets or sets the CanClose property. This dependency property
/// indicates if the item can be closed.
/// </summary>
public bool CanClose
{
get
@ -377,17 +305,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the CanClose property.
/// </summary>
private static void OnCanCloseChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnCanCloseChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the CanClose property.
/// </summary>
protected virtual void OnCanCloseChanged( DependencyPropertyChangedEventArgs e )
{
if( LayoutElement != null )
@ -398,16 +320,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region CanFloat
/// <summary>
/// CanFloat Dependency Property
/// </summary>
public static readonly DependencyProperty CanFloatProperty = DependencyProperty.Register( "CanFloat", typeof( bool ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( bool )true, new PropertyChangedCallback( OnCanFloatChanged ) ) );
/// <summary>
/// Gets or sets the CanFloat property. This dependency property
/// indicates if user can move the layout element dragging it to another position.
/// </summary>
public bool CanFloat
{
get
@ -420,17 +335,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the CanFloat property.
/// </summary>
private static void OnCanFloatChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnCanFloatChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the CanFloat property.
/// </summary>
protected virtual void OnCanFloatChanged( DependencyPropertyChangedEventArgs e )
{
if( LayoutElement != null )
@ -441,16 +350,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region CloseCommand
/// <summary>
/// CloseCommand Dependency Property
/// </summary>
public static readonly DependencyProperty CloseCommandProperty = DependencyProperty.Register( "CloseCommand", typeof( ICommand ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( null, new PropertyChangedCallback( OnCloseCommandChanged ), new CoerceValueCallback( CoerceCloseCommandValue ) ) );
/// <summary>
/// Gets or sets the CloseCommand property. This dependency property
/// indicates the command to execute when user click the document close button.
/// </summary>
public ICommand CloseCommand
{
get
@ -463,24 +365,15 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the CloseCommand property.
/// </summary>
private static void OnCloseCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnCloseCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the CloseCommand property.
/// </summary>
protected virtual void OnCloseCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
/// <summary>
/// Coerces the CloseCommand value.
/// </summary>
private static object CoerceCloseCommandValue( DependencyObject d, object value )
{
return value;
@ -502,17 +395,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#endregion
#region FloatCommand
/// <summary>
/// FloatCommand Dependency Property
/// </summary>
public static readonly DependencyProperty FloatCommandProperty = DependencyProperty.Register( "FloatCommand", typeof( ICommand ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( null, new PropertyChangedCallback( OnFloatCommandChanged ), new CoerceValueCallback( CoerceFloatCommandValue ) ) );
/// <summary>
/// Gets or sets the FloatCommand property. This dependency property
/// indicates the command to execute when user click the float button.
/// </summary>
/// <remarks>By default this command move the anchorable inside new floating window.</remarks>
public ICommand FloatCommand
{
get
@ -525,24 +410,15 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the FloatCommand property.
/// </summary>
private static void OnFloatCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnFloatCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the FloatCommand property.
/// </summary>
protected virtual void OnFloatCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
/// <summary>
/// Coerces the FloatCommand value.
/// </summary>
private static object CoerceFloatCommandValue( DependencyObject d, object value )
{
return value;
@ -574,17 +450,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region DockAsDocumentCommand
/// <summary>
/// DockAsDocumentCommand Dependency Property
/// </summary>
public static readonly DependencyProperty DockAsDocumentCommandProperty = DependencyProperty.Register( "DockAsDocumentCommand", typeof( ICommand ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( null, new PropertyChangedCallback( OnDockAsDocumentCommandChanged ), new CoerceValueCallback( CoerceDockAsDocumentCommandValue ) ) );
/// <summary>
/// Gets or sets the DockAsDocumentCommand property. This dependency property
/// indicates the command to execute when user click the DockAsDocument button.
/// </summary>
/// <remarks>By default this command move the anchorable inside the last focused document pane.</remarks>
public ICommand DockAsDocumentCommand
{
get
@ -597,24 +465,15 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the DockAsDocumentCommand property.
/// </summary>
private static void OnDockAsDocumentCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnDockAsDocumentCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the DockAsDocumentCommand property.
/// </summary>
protected virtual void OnDockAsDocumentCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
/// <summary>
/// Coerces the DockAsDocumentCommand value.
/// </summary>
private static object CoerceDockAsDocumentCommandValue( DependencyObject d, object value )
{
return value;
@ -639,16 +498,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region CloseAllButThisCommand
/// <summary>
/// CloseAllButThisCommand Dependency Property
/// </summary>
public static readonly DependencyProperty CloseAllButThisCommandProperty = DependencyProperty.Register( "CloseAllButThisCommand", typeof( ICommand ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( null, new PropertyChangedCallback( OnCloseAllButThisCommandChanged ), new CoerceValueCallback( CoerceCloseAllButThisCommandValue ) ) );
/// <summary>
/// Gets or sets the CloseAllButThisCommand property. This dependency property
/// indicates the 'Close All But This' command.
/// </summary>
public ICommand CloseAllButThisCommand
{
get
@ -661,24 +513,15 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the CloseAllButThisCommand property.
/// </summary>
private static void OnCloseAllButThisCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnCloseAllButThisCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the CloseAllButThisCommand property.
/// </summary>
protected virtual void OnCloseAllButThisCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
/// <summary>
/// Coerces the CloseAllButThisCommand value.
/// </summary>
private static object CoerceCloseAllButThisCommandValue( DependencyObject d, object value )
{
return value;
@ -705,16 +548,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region CloseAllCommand
/// <summary>
/// CloseAllCommand Dependency Property
/// </summary>
public static readonly DependencyProperty CloseAllCommandProperty = DependencyProperty.Register( "CloseAllCommand", typeof( ICommand ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( null, new PropertyChangedCallback( OnCloseAllCommandChanged ), new CoerceValueCallback( CoerceCloseAllCommandValue ) ) );
/// <summary>
/// Gets or sets the CloseAllCommand property. This dependency property
/// indicates the 'Close All' command.
/// </summary>
public ICommand CloseAllCommand
{
get
@ -727,24 +563,15 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the CloseAllCommand property.
/// </summary>
private static void OnCloseAllCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnCloseAllCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the CloseAllCommand property.
/// </summary>
protected virtual void OnCloseAllCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
/// <summary>
/// Coerces the CloseAllCommand value.
/// </summary>
private static object CoerceCloseAllCommandValue( DependencyObject d, object value )
{
return value;
@ -771,16 +598,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region ActivateCommand
/// <summary>
/// ActivateCommand Dependency Property
/// </summary>
public static readonly DependencyProperty ActivateCommandProperty = DependencyProperty.Register( "ActivateCommand", typeof( ICommand ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( null, new PropertyChangedCallback( OnActivateCommandChanged ), new CoerceValueCallback( CoerceActivateCommandValue ) ) );
/// <summary>
/// Gets or sets the ActivateCommand property. This dependency property
/// indicates the command to execute when user wants to activate a content (either a Document or an Anchorable).
/// </summary>
public ICommand ActivateCommand
{
get
@ -793,24 +613,15 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the ActivateCommand property.
/// </summary>
private static void OnActivateCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnActivateCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the ActivateCommand property.
/// </summary>
protected virtual void OnActivateCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
/// <summary>
/// Coerces the ActivateCommand value.
/// </summary>
private static object CoerceActivateCommandValue( DependencyObject d, object value )
{
return value;
@ -830,16 +641,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region NewVerticalTabGroupCommand
/// <summary>
/// NewVerticalTabGroupCommand Dependency Property
/// </summary>
public static readonly DependencyProperty NewVerticalTabGroupCommandProperty = DependencyProperty.Register( "NewVerticalTabGroupCommand", typeof( ICommand ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( ICommand )null, new PropertyChangedCallback( OnNewVerticalTabGroupCommandChanged ) ) );
/// <summary>
/// Gets or sets the NewVerticalTabGroupCommand property. This dependency property
/// indicates the new vertical tab group command.
/// </summary>
public ICommand NewVerticalTabGroupCommand
{
get
@ -852,17 +656,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the NewVerticalTabGroupCommand property.
/// </summary>
private static void OnNewVerticalTabGroupCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnNewVerticalTabGroupCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the NewVerticalTabGroupCommand property.
/// </summary>
protected virtual void OnNewVerticalTabGroupCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
@ -907,16 +705,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region NewHorizontalTabGroupCommand
/// <summary>
/// NewHorizontalTabGroupCommand Dependency Property
/// </summary>
public static readonly DependencyProperty NewHorizontalTabGroupCommandProperty = DependencyProperty.Register( "NewHorizontalTabGroupCommand", typeof( ICommand ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( ICommand )null, new PropertyChangedCallback( OnNewHorizontalTabGroupCommandChanged ) ) );
/// <summary>
/// Gets or sets the NewHorizontalTabGroupCommand property. This dependency property
/// indicates the new horizontal tab group command.
/// </summary>
public ICommand NewHorizontalTabGroupCommand
{
get
@ -929,17 +720,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the NewHorizontalTabGroupCommand property.
/// </summary>
private static void OnNewHorizontalTabGroupCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnNewHorizontalTabGroupCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the NewHorizontalTabGroupCommand property.
/// </summary>
protected virtual void OnNewHorizontalTabGroupCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
@ -985,16 +770,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region MoveToNextTabGroupCommand
/// <summary>
/// MoveToNextTabGroupCommand Dependency Property
/// </summary>
public static readonly DependencyProperty MoveToNextTabGroupCommandProperty = DependencyProperty.Register( "MoveToNextTabGroupCommand", typeof( ICommand ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( ICommand )null, new PropertyChangedCallback( OnMoveToNextTabGroupCommandChanged ) ) );
/// <summary>
/// Gets or sets the MoveToNextTabGroupCommand property. This dependency property
/// indicates move to next tab group command.
/// </summary>
public ICommand MoveToNextTabGroupCommand
{
get
@ -1007,17 +785,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the MoveToNextTabGroupCommand property.
/// </summary>
private static void OnMoveToNextTabGroupCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnMoveToNextTabGroupCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the MoveToNextTabGroupCommand property.
/// </summary>
protected virtual void OnMoveToNextTabGroupCommandChanged( DependencyPropertyChangedEventArgs e )
{
}
@ -1052,16 +824,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region MoveToPreviousTabGroupCommand
/// <summary>
/// MoveToPreviousTabGroupCommand Dependency Property
/// </summary>
public static readonly DependencyProperty MoveToPreviousTabGroupCommandProperty = DependencyProperty.Register( "MoveToPreviousTabGroupCommand", typeof( ICommand ), typeof( LayoutItem ),
new FrameworkPropertyMetadata( ( ICommand )null, new PropertyChangedCallback( OnMoveToPreviousTabGroupCommandChanged ) ) );
/// <summary>
/// Gets or sets the MoveToPreviousTabGroupCommand property. This dependency property
/// indicates move to rpevious tab group command.
/// </summary>
public ICommand MoveToPreviousTabGroupCommand
{
get
@ -1074,17 +839,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the MoveToPreviousTabGroupCommand property.
/// </summary>
private static void OnMoveToPreviousTabGroupCommandChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( LayoutItem )d ).OnMoveToPreviousTabGroupCommandChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the MoveToPreviousTabGroupCommand property.
/// </summary>
protected virtual void OnMoveToPreviousTabGroupCommandChanged( DependencyPropertyChangedEventArgs e )
{
}

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutPanelControl.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

28
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/MenuItemEx.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -45,16 +45,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IconTemplate
/// <summary>
/// IconTemplate Dependency Property
/// </summary>
public static readonly DependencyProperty IconTemplateProperty = DependencyProperty.Register( "IconTemplate", typeof( DataTemplate ), typeof( MenuItemEx ),
new FrameworkPropertyMetadata( ( DataTemplate )null, new PropertyChangedCallback( OnIconTemplateChanged ) ) );
/// <summary>
/// Gets or sets the IconTemplate property. This dependency property
/// indicates the data template for the icon.
/// </summary>
public DataTemplate IconTemplate
{
get
@ -67,17 +60,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the IconTemplate property.
/// </summary>
private static void OnIconTemplateChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( MenuItemEx )d ).OnIconTemplateChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the IconTemplate property.
/// </summary>
protected virtual void OnIconTemplateChanged( DependencyPropertyChangedEventArgs e )
{
UpdateIcon();
@ -87,16 +74,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region IconTemplateSelector
/// <summary>
/// IconTemplateSelector Dependency Property
/// </summary>
public static readonly DependencyProperty IconTemplateSelectorProperty = DependencyProperty.Register( "IconTemplateSelector", typeof( DataTemplateSelector ), typeof( MenuItemEx ),
new FrameworkPropertyMetadata( ( DataTemplateSelector )null, new PropertyChangedCallback( OnIconTemplateSelectorChanged ) ) );
/// <summary>
/// Gets or sets the IconTemplateSelector property. This dependency property
/// indicates the DataTemplateSelector for the Icon.
/// </summary>
public DataTemplateSelector IconTemplateSelector
{
get
@ -109,17 +89,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the IconTemplateSelector property.
/// </summary>
private static void OnIconTemplateSelectorChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( MenuItemEx )d ).OnIconTemplateSelectorChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the IconTemplateSelector property.
/// </summary>
protected virtual void OnIconTemplateSelectorChanged( DependencyPropertyChangedEventArgs e )
{
UpdateIcon();

52
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/NavigatorWindow.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -89,18 +89,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Documents
/// <summary>
/// Documents Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey DocumentsPropertyKey = DependencyProperty.RegisterReadOnly( "Documents", typeof( IEnumerable<LayoutDocumentItem> ), typeof( NavigatorWindow ),
new FrameworkPropertyMetadata( null ) );
public static readonly DependencyProperty DocumentsProperty = DocumentsPropertyKey.DependencyProperty;
/// <summary>
/// Gets the Documents property. This dependency property
/// indicates the list of documents.
/// </summary>
public LayoutDocumentItem[] Documents
{
get
@ -113,18 +106,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Anchorables
/// <summary>
/// Anchorables Read-Only Dependency Property
/// </summary>
private static readonly DependencyPropertyKey AnchorablesPropertyKey = DependencyProperty.RegisterReadOnly( "Anchorables", typeof( IEnumerable<LayoutAnchorableItem> ), typeof( NavigatorWindow ),
new FrameworkPropertyMetadata( ( IEnumerable<LayoutAnchorableItem> )null ) );
public static readonly DependencyProperty AnchorablesProperty = AnchorablesPropertyKey.DependencyProperty;
/// <summary>
/// Gets the Anchorables property. This dependency property
/// indicates the list of anchorables.
/// </summary>
public IEnumerable<LayoutAnchorableItem> Anchorables
{
get
@ -137,16 +123,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region SelectedDocument
/// <summary>
/// SelectedDocument Dependency Property
/// </summary>
public static readonly DependencyProperty SelectedDocumentProperty = DependencyProperty.Register( "SelectedDocument", typeof( LayoutDocumentItem ), typeof( NavigatorWindow ),
new FrameworkPropertyMetadata( ( LayoutDocumentItem )null, new PropertyChangedCallback( OnSelectedDocumentChanged ) ) );
/// <summary>
/// Gets or sets the SelectedDocument property. This dependency property
/// indicates the selected document.
/// </summary>
public LayoutDocumentItem SelectedDocument
{
get
@ -159,17 +138,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the SelectedDocument property.
/// </summary>
private static void OnSelectedDocumentChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( NavigatorWindow )d ).OnSelectedDocumentChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the SelectedDocument property.
/// </summary>
protected virtual void OnSelectedDocumentChanged( DependencyPropertyChangedEventArgs e )
{
if( _internalSetSelectedDocument )
@ -187,16 +160,9 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region SelectedAnchorable
/// <summary>
/// SelectedAnchorable Dependency Property
/// </summary>
public static readonly DependencyProperty SelectedAnchorableProperty = DependencyProperty.Register( "SelectedAnchorable", typeof( LayoutAnchorableItem ), typeof( NavigatorWindow ),
new FrameworkPropertyMetadata( ( LayoutAnchorableItem )null, new PropertyChangedCallback( OnSelectedAnchorableChanged ) ) );
/// <summary>
/// Gets or sets the SelectedAnchorable property. This dependency property
/// indicates the selected anchorable.
/// </summary>
public LayoutAnchorableItem SelectedAnchorable
{
get
@ -209,17 +175,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Handles changes to the SelectedAnchorable property.
/// </summary>
private static void OnSelectedAnchorableChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( NavigatorWindow )d ).OnSelectedAnchorableChanged( e );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the SelectedAnchorable property.
/// </summary>
protected virtual void OnSelectedAnchorableChanged( DependencyPropertyChangedEventArgs e )
{
if( _internalSetSelectedAnchorable )
@ -480,21 +440,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Internal Methods
/// <summary>
/// Provides a secure method for setting the Anchorables property.
/// This dependency property indicates the list of anchorables.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetAnchorables( IEnumerable<LayoutAnchorableItem> value )
{
this.SetValue( AnchorablesPropertyKey, value );
}
/// <summary>
/// Provides a secure method for setting the Documents property.
/// This dependency property indicates the list of documents.
/// </summary>
/// <param name="value">The new value for the property.</param>
protected void SetDocuments( LayoutDocumentItem[] value )
{
this.SetValue( DocumentsPropertyKey, value );

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayArea.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

15
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindow.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -203,14 +203,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Private Methods
/// <summary>
/// This method controls the DropTargetInto button of the overlay window.
/// It checks that only 1 of the defined ContentLayouts can be present on the LayoutDocumentPane or LayoutAnchorablePane.
/// The combination between the ContentLayout Title and the ContentId is the search key, and has to be unique.
/// If a floating window is dropped on a LayoutDocumentPane or LayoutAnchorablePane, it checks if one of the containing LayoutContents
/// is already present on the LayoutDocumentPane or LayoutAnchorablePane. If so, then it will disable the DropTargetInto button.
/// </summary>
/// <param name="positionableElement">The given LayoutDocumentPane or LayoutAnchorablePane</param>
private void SetDropTargetIntoVisibility( ILayoutPositionableElement positionableElement )
{
if( positionableElement is LayoutAnchorablePane )
@ -255,11 +247,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
}
}
/// <summary>
/// Find any LayoutDocument or LayoutAnchorable from a given source (e.g. LayoutDocumentPane, LayoutAnchorableFloatingWindow, etc.)
/// </summary>
/// <param name="source">The given source to search in</param>
/// <returns>A list of all LayoutContent's</returns>
private List<LayoutContent> GetAllLayoutContents( object source )
{
var result = new List<LayoutContent>();

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindowDropTarget.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindowDropTargetType.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/ReentrantFlag.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

38
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ComGuids.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -23,56 +23,32 @@ namespace Standard
{
internal static partial class IID
{
/// <summary>IID_IEnumIDList</summary>
public const string EnumIdList = "000214F2-0000-0000-C000-000000000046";
/// <summary>IID_IEnumObjects</summary>
public const string EnumObjects = "2c1c7e2e-2d0e-4059-831e-1e6f82335c2e";
/// <summary>IID_IHTMLDocument2</summary>
public const string HtmlDocument2 = "332C4425-26CB-11D0-B483-00C04FD90119";
/// <summary>IID_IModalWindow</summary>
public const string ModalWindow = "b4db1657-70d7-485e-8e3e-6fcb5a5c1802";
/// <summary>IID_IObjectArray</summary>
public const string ObjectArray = "92CA9DCD-5622-4bba-A805-5E9F541BD8C9";
/// <summary>IID_IObjectCollection</summary>
public const string ObjectCollection = "5632b1a4-e38a-400a-928a-d4cd63230295";
/// <summary>IID_IPropertyNotifySink</summary>
public const string PropertyNotifySink = "9BFBBC02-EFF1-101A-84ED-00AA00341D07";
/// <summary>IID_IPropertyStore</summary>
public const string PropertyStore = "886d8eeb-8cf2-4446-8d02-cdba1dbdcf99";
/// <summary>IID_IServiceProvider</summary>
public const string ServiceProvider = "6d5140c1-7436-11ce-8034-00aa006009fa";
/// <summary>IID_IShellFolder</summary>
public const string ShellFolder = "000214E6-0000-0000-C000-000000000046";
/// <summary>IID_IShellLink</summary>
public const string ShellLink = "000214F9-0000-0000-C000-000000000046";
/// <summary>IID_IShellItem</summary>
public const string ShellItem = "43826d1e-e718-42ee-bc55-a1e261c37bfe";
/// <summary>IID_IShellItem2</summary>
public const string ShellItem2 = "7e9fb0d3-919f-4307-ab2e-9b1860310c93";
/// <summary>IID_IShellItemArray</summary>
public const string ShellItemArray = "B63EA76D-1F85-456F-A19C-48159EFA858B";
/// <summary>IID_ITaskbarList</summary>
public const string TaskbarList = "56FDF342-FD6D-11d0-958A-006097C9A090";
/// <summary>IID_ITaskbarList2</summary>
public const string TaskbarList2 = "602D4995-B13A-429b-A66E-1935E44F4317";
/// <summary>IID_IUnknown</summary>
public const string Unknown = "00000000-0000-0000-C000-000000000046";
#region Win7 IIDs
/// <summary>IID_IApplicationDestinations</summary>
public const string ApplicationDestinations = "12337d35-94c6-48a0-bce7-6a9c69d4d600";
/// <summary>IID_IApplicationDocumentLists</summary>
public const string ApplicationDocumentLists = "3c594f9f-9f30-47a1-979a-c9e83d3d0a06";
/// <summary>IID_ICustomDestinationList</summary>
public const string CustomDestinationList = "6332debf-87b5-4670-90c0-5e57b408a49e";
/// <summary>IID_IObjectWithAppUserModelID</summary>
public const string ObjectWithAppUserModelId = "36db0196-9665-46d1-9ba7-d3709eecf9ed";
/// <summary>IID_IObjectWithProgID</summary>
public const string ObjectWithProgId = "71e806fb-8dee-46fc-bf8c-7748a8a1ae13";
/// <summary>IID_ITaskbarList3</summary>
public const string TaskbarList3 = "ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf";
/// <summary>IID_ITaskbarList4</summary>
public const string TaskbarList4 = "c43dc798-95d1-4bea-9030-bb99e2983a1a";
#endregion
@ -85,26 +61,14 @@ namespace Standard
return ( T )System.Activator.CreateInstance( System.Type.GetTypeFromCLSID( new System.Guid( clsid ) ) );
}
/// <summary>CLSID_TaskbarList</summary>
/// <remarks>IID_ITaskbarList</remarks>
public const string TaskbarList = "56FDF344-FD6D-11d0-958A-006097C9A090";
/// <summary>CLSID_EnumerableObjectCollection</summary>
/// <remarks>IID_IEnumObjects.</remarks>
public const string EnumerableObjectCollection = "2d3468c1-36a7-43b6-ac24-d3f02fd9607a";
/// <summary>CLSID_ShellLink</summary>
/// <remarks>IID_IShellLink</remarks>
public const string ShellLink = "00021401-0000-0000-C000-000000000046";
#region Win7 CLSIDs
/// <summary>CLSID_DestinationList</summary>
/// <remarks>IID_ICustomDestinationList</remarks>
public const string DestinationList = "77f10cf0-3db5-4966-b520-b7c54fd35ed6";
/// <summary>CLSID_ApplicationDestinations</summary>
/// <remarks>IID_IApplicationDestinations</remarks>
public const string ApplicationDestinations = "86c14003-4d6b-4ef3-a7b4-0506663b2e68";
/// <summary>CLSID_ApplicationDocumentLists</summary>
/// <remarks>IID_IApplicationDocumentLists</remarks>
public const string ApplicationDocumentLists = "86bec222-30f2-47e0-9f25-60d11cd75c28";
#endregion

114
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Debug.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -34,7 +34,6 @@ namespace Standard
using System.Diagnostics;
using System.Threading;
/// <summary>A static class for verifying assumptions.</summary>
internal static class Assert
{
private static void _Break()
@ -46,17 +45,10 @@ namespace Standard
#endif
}
/// <summary>A function signature for Assert.Evaluate.</summary>
public delegate void EvaluateFunction();
/// <summary>A function signature for Assert.Implies.</summary>
/// <returns>Returns the truth of a predicate.</returns>
public delegate bool ImplicationFunction();
/// <summary>
/// Executes the specified argument.
/// </summary>
/// <param name="argument">The function to execute.</param>
[Conditional( "DEBUG" )]
public static void Evaluate( EvaluateFunction argument )
{
@ -64,10 +56,6 @@ namespace Standard
argument();
}
/// <summary>Obsolete: Use Standard.Assert.AreEqual instead of Assert.Equals</summary>
/// <typeparam name="T">The generic type to compare for equality.</typeparam>
/// <param name="expected">The first generic type data to compare. This is is the expected value.</param>
/// <param name="actual">The second generic type data to compare. This is the actual value.</param>
[
Obsolete( "Use Assert.AreEqual instead of Assert.Equals", false ),
Conditional( "DEBUG" )
@ -77,13 +65,6 @@ namespace Standard
AreEqual( expected, actual );
}
/// <summary>
/// Verifies that two generic type data are equal. The assertion fails if they are not.
/// </summary>
/// <typeparam name="T">The generic type to compare for equality.</typeparam>
/// <param name="expected">The first generic type data to compare. This is is the expected value.</param>
/// <param name="actual">The second generic type data to compare. This is the actual value.</param>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void AreEqual<T>( T expected, T actual )
{
@ -101,13 +82,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies that two generic type data are not equal. The assertion fails if they are.
/// </summary>
/// <typeparam name="T">The generic type to compare for inequality.</typeparam>
/// <param name="notExpected">The first generic type data to compare. This is is the value that's not expected.</param>
/// <param name="actual">The second generic type data to compare. This is the actual value.</param>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void AreNotEqual<T>( T notExpected, T actual )
{
@ -125,16 +99,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies that if the specified condition is true, then so is the result.
/// The assertion fails if the condition is true but the result is false.
/// </summary>
/// <param name="condition">if set to <c>true</c> [condition].</param>
/// <param name="result">
/// A second Boolean statement. If the first was true then so must this be.
/// If the first statement was false then the value of this is ignored.
/// </param>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void Implies( bool condition, bool result )
{
@ -144,14 +108,6 @@ namespace Standard
}
}
/// <summary>
/// Lazy evaluation overload. Verifies that if a condition is true, then so is a secondary value.
/// </summary>
/// <param name="condition">The conditional value.</param>
/// <param name="result">A function to be evaluated for truth if the condition argument is true.</param>
/// <remarks>
/// This overload only evaluates the result if the first condition is true.
/// </remarks>
[Conditional( "DEBUG" )]
public static void Implies( bool condition, ImplicationFunction result )
{
@ -161,20 +117,12 @@ namespace Standard
}
}
/// <summary>
/// Verifies that a string has content. I.e. it is not null and it is not empty.
/// </summary>
/// <param name="value">The string to verify.</param>
[Conditional( "DEBUG" )]
public static void IsNeitherNullNorEmpty( string value )
{
IsFalse( string.IsNullOrEmpty( value ) );
}
/// <summary>
/// Verifies that a string has content. I.e. it is not null and it is not purely whitespace.
/// </summary>
/// <param name="value">The string to verify.</param>
[Conditional( "DEBUG" )]
public static void IsNeitherNullNorWhitespace( string value )
{
@ -189,12 +137,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies the specified value is not null. The assertion fails if it is.
/// </summary>
/// <typeparam name="T">The generic reference type.</typeparam>
/// <param name="value">The value to check for nullness.</param>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void IsNotNull<T>( T value ) where T : class
{
@ -222,11 +164,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies that the specified condition is false. The assertion fails if it is true.
/// </summary>
/// <param name="condition">The expression that should be <c>false</c>.</param>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void IsFalse( bool condition )
{
@ -236,12 +173,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies that the specified condition is false. The assertion fails if it is true.
/// </summary>
/// <param name="condition">The expression that should be <c>false</c>.</param>
/// <param name="message">The message to display if the condition is <c>true</c>.</param>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void IsFalse( bool condition, string message )
{
@ -251,11 +182,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies that the specified condition is true. The assertion fails if it is not.
/// </summary>
/// <param name="condition">A condition that is expected to be <c>true</c>.</param>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void IsTrue( bool condition )
{
@ -265,12 +191,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies that the specified condition is true. The assertion fails if it is not.
/// </summary>
/// <param name="condition">A condition that is expected to be <c>true</c>.</param>
/// <param name="message">The message to write in case the condition is <c>false</c>.</param>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void IsTrue( bool condition, string message )
{
@ -280,31 +200,18 @@ namespace Standard
}
}
/// <summary>
/// This line should never be executed. The assertion always fails.
/// </summary>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void Fail()
{
_Break();
}
/// <summary>
/// This line should never be executed. The assertion always fails.
/// </summary>
/// <param name="message">The message to display if this function is executed.</param>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void Fail( string message )
{
_Break();
}
/// <summary>
/// Verifies that the specified object is null. The assertion fails if it is not.
/// </summary>
/// <param name="item">The item to verify is null.</param>
[Conditional( "DEBUG" )]
public static void IsNull<T>( T item ) where T : class
{
@ -314,12 +221,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies that the specified value is within the expected range. The assertion fails if it isn't.
/// </summary>
/// <param name="lowerBoundInclusive">The lower bound inclusive value.</param>
/// <param name="value">The value to verify.</param>
/// <param name="upperBoundInclusive">The upper bound inclusive value.</param>
[Conditional( "DEBUG" )]
public static void BoundedDoubleInc( double lowerBoundInclusive, double value, double upperBoundInclusive )
{
@ -329,12 +230,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies that the specified value is within the expected range. The assertion fails if it isn't.
/// </summary>
/// <param name="lowerBoundInclusive">The lower bound inclusive value.</param>
/// <param name="value">The value to verify.</param>
/// <param name="upperBoundExclusive">The upper bound exclusive value.</param>
[Conditional( "DEBUG" )]
public static void BoundedInteger( int lowerBoundInclusive, int value, int upperBoundExclusive )
{
@ -344,13 +239,6 @@ namespace Standard
}
}
/// <summary>
/// Verify the current thread's apartment state is what's expected. The assertion fails if it isn't
/// </summary>
/// <param name="expectedState">
/// The expected apartment state for the current thread.
/// </param>
/// <remarks>This breaks into the debugger in the case of a failed assertion.</remarks>
[Conditional( "DEBUG" )]
public static void IsApartmentState( ApartmentState expectedState )
{

75
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/DoubleUtil.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -20,29 +20,10 @@ namespace Standard
{
using System.Diagnostics.CodeAnalysis;
/// <summary>
/// DoubleUtil uses fixed eps to provide fuzzy comparison functionality for doubles.
/// Note that FP noise is a big problem and using any of these compare
/// methods is not a complete solution, but rather the way to reduce
/// the probability of repeating unnecessary work.
/// </summary>
internal static class DoubleUtilities
{
/// <summary>
/// Epsilon - more or less random, more or less small number.
/// </summary>
private const double Epsilon = 0.00000153;
/// <summary>
/// AreClose returns whether or not two doubles are "close". That is, whether or
/// not they are within epsilon of each other.
/// There are plenty of ways for this to return false even for numbers which
/// are theoretically identical, so no code calling this should fail to work if this
/// returns false.
/// </summary>
/// <param name="value1">The first double to compare.</param>
/// <param name="value2">The second double to compare.</param>
/// <returns>The result of the AreClose comparision.</returns>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static bool AreClose( double value1, double value2 )
{
@ -55,90 +36,36 @@ namespace Standard
return ( delta < Epsilon ) && ( delta > -Epsilon );
}
/// <summary>
/// LessThan returns whether or not the first double is less than the second double.
/// That is, whether or not the first is strictly less than *and* not within epsilon of
/// the other number.
/// There are plenty of ways for this to return false even for numbers which
/// are theoretically identical, so no code calling this should fail to work if this
/// returns false.
/// </summary>
/// <param name="value1">The first double to compare.</param>
/// <param name="value2">The second double to compare.</param>
/// <returns>The result of the LessThan comparision.</returns>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static bool LessThan( double value1, double value2 )
{
return ( value1 < value2 ) && !AreClose( value1, value2 );
}
/// <summary>
/// GreaterThan returns whether or not the first double is greater than the second double.
/// That is, whether or not the first is strictly greater than *and* not within epsilon of
/// the other number.
/// There are plenty of ways for this to return false even for numbers which
/// are theoretically identical, so no code calling this should fail to work if this
/// returns false.
/// </summary>
/// <param name="value1">The first double to compare.</param>
/// <param name="value2">The second double to compare.</param>
/// <returns>The result of the GreaterThan comparision.</returns>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static bool GreaterThan( double value1, double value2 )
{
return ( value1 > value2 ) && !AreClose( value1, value2 );
}
/// <summary>
/// LessThanOrClose returns whether or not the first double is less than or close to
/// the second double. That is, whether or not the first is strictly less than or within
/// epsilon of the other number.
/// There are plenty of ways for this to return false even for numbers which
/// are theoretically identical, so no code calling this should fail to work if this
/// returns false.
/// </summary>
/// <param name="value1">The first double to compare.</param>
/// <param name="value2">The second double to compare.</param>
/// <returns>The result of the LessThanOrClose comparision.</returns>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static bool LessThanOrClose( double value1, double value2 )
{
return ( value1 < value2 ) || AreClose( value1, value2 );
}
/// <summary>
/// GreaterThanOrClose returns whether or not the first double is greater than or close to
/// the second double. That is, whether or not the first is strictly greater than or within
/// epsilon of the other number.
/// There are plenty of ways for this to return false even for numbers which
/// are theoretically identical, so no code calling this should fail to work if this
/// returns false.
/// </summary>
/// <param name="value1">The first double to compare.</param>
/// <param name="value2">The second double to compare.</param>
/// <returns>The result of the GreaterThanOrClose comparision.</returns>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static bool GreaterThanOrClose( double value1, double value2 )
{
return ( value1 > value2 ) || AreClose( value1, value2 );
}
/// <summary>
/// Test to see if a double is a finite number (is not NaN or Infinity).
/// </summary>
/// <param name='value'>The value to test.</param>
/// <returns>Whether or not the value is a finite number.</returns>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static bool IsFinite( double value )
{
return !double.IsNaN( value ) && !double.IsInfinity( value );
}
/// <summary>
/// Test to see if a double a valid size value (is finite and > 0).
/// </summary>
/// <param name='value'>The value to test.</param>
/// <returns>Whether or not the value is a valid size value.</returns>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static bool IsValidSize( double value )
{

12
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/DpiHelper.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -47,21 +47,11 @@ namespace Standard
}
}
/// <summary>
/// Convert a point in device independent pixels (1/96") to a point in the system coordinates.
/// </summary>
/// <param name="logicalPoint">A point in the logical coordinate system.</param>
/// <returns>Returns the parameter converted to the system's coordinates.</returns>
public static Point LogicalPixelsToDevice( Point logicalPoint )
{
return _transformToDevice.Transform( logicalPoint );
}
/// <summary>
/// Convert a point in system coordinates to a point in device independent pixels (1/96").
/// </summary>
/// <param name="logicalPoint">A point in the physical coordinate system.</param>
/// <returns>Returns the parameter converted to the device independent coordinate system.</returns>
public static Point DevicePixelsToLogical( Point devicePoint )
{
return _transformToDip.Transform( devicePoint );

104
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ErrorCodes.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -28,9 +28,6 @@ namespace Standard
using System.Reflection;
using System.Runtime.InteropServices;
/// <summary>
/// Wrapper for common Win32 status codes.
/// </summary>
[StructLayout( LayoutKind.Explicit )]
internal struct Win32Error
{
@ -40,79 +37,52 @@ namespace Standard
// NOTE: These public static field declarations are automatically
// picked up by (HRESULT's) ToString through reflection.
/// <summary>The operation completed successfully.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_SUCCESS = new Win32Error( 0 );
/// <summary>Incorrect function.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_INVALID_FUNCTION = new Win32Error( 1 );
/// <summary>The system cannot find the file specified.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_FILE_NOT_FOUND = new Win32Error( 2 );
/// <summary>The system cannot find the path specified.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_PATH_NOT_FOUND = new Win32Error( 3 );
/// <summary>The system cannot open the file.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_TOO_MANY_OPEN_FILES = new Win32Error( 4 );
/// <summary>Access is denied.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_ACCESS_DENIED = new Win32Error( 5 );
/// <summary>The handle is invalid.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_INVALID_HANDLE = new Win32Error( 6 );
/// <summary>Not enough storage is available to complete this operation.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_OUTOFMEMORY = new Win32Error( 14 );
/// <summary>There are no more files.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_NO_MORE_FILES = new Win32Error( 18 );
/// <summary>The process cannot access the file because it is being used by another process.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_SHARING_VIOLATION = new Win32Error( 32 );
/// <summary>The parameter is incorrect.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_INVALID_PARAMETER = new Win32Error( 87 );
/// <summary>The data area passed to a system call is too small.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_INSUFFICIENT_BUFFER = new Win32Error( 122 );
/// <summary>Cannot nest calls to LoadModule.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_NESTING_NOT_ALLOWED = new Win32Error( 215 );
/// <summary>Illegal operation attempted on a registry key that has been marked for deletion.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_KEY_DELETED = new Win32Error( 1018 );
/// <summary>Element not found.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_NOT_FOUND = new Win32Error( 1168 );
/// <summary>There was no match for the specified key in the index.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_NO_MATCH = new Win32Error( 1169 );
/// <summary>An invalid device was specified.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_BAD_DEVICE = new Win32Error( 1200 );
/// <summary>The operation was canceled by the user.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_CANCELLED = new Win32Error( 1223 );
/// <summary>The window class was already registered.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_CLASS_ALREADY_EXISTS = new Win32Error( 1410 );
/// <summary>The specified datatype is invalid.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly Win32Error ERROR_INVALID_DATATYPE = new Win32Error( 1804 );
/// <summary>
/// Create a new Win32 error.
/// </summary>
/// <param name="i">The integer value of the error.</param>
public Win32Error( int i )
{
_value = i;
}
/// <summary>Performs HRESULT_FROM_WIN32 conversion.</summary>
/// <param name="error">The Win32 error being converted to an HRESULT.</param>
/// <returns>The equivilent HRESULT value.</returns>
public static explicit operator HRESULT( Win32Error error )
{
// #define __HRESULT_FROM_WIN32(x)
@ -125,16 +95,11 @@ namespace Standard
}
// Method version of the cast operation
/// <summary>Performs HRESULT_FROM_WIN32 conversion.</summary>
/// <param name="error">The Win32 error being converted to an HRESULT.</param>
/// <returns>The equivilent HRESULT value.</returns>
public HRESULT ToHRESULT()
{
return ( HRESULT )this;
}
/// <summary>Performs the equivalent of Win32's GetLastError()</summary>
/// <returns>A Win32Error instance with the result of the native GetLastError</returns>
[SuppressMessage( "Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands" )]
public static Win32Error GetLastError()
{
@ -158,23 +123,11 @@ namespace Standard
return _value.GetHashCode();
}
/// <summary>
/// Compare two Win32 error codes for equality.
/// </summary>
/// <param name="errLeft">The first error code to compare.</param>
/// <param name="errRight">The second error code to compare.</param>
/// <returns>Whether the two error codes are the same.</returns>
public static bool operator ==( Win32Error errLeft, Win32Error errRight )
{
return errLeft._value == errRight._value;
}
/// <summary>
/// Compare two Win32 error codes for inequality.
/// </summary>
/// <param name="errLeft">The first error code to compare.</param>
/// <param name="errRight">The second error code to compare.</param>
/// <returns>Whether the two error codes are not the same.</returns>
public static bool operator !=( Win32Error errLeft, Win32Error errRight )
{
return !( errLeft == errRight );
@ -183,29 +136,18 @@ namespace Standard
internal enum Facility
{
/// <summary>FACILITY_NULL</summary>
Null = 0,
/// <summary>FACILITY_RPC</summary>
Rpc = 1,
/// <summary>FACILITY_DISPATCH</summary>
Dispatch = 2,
/// <summary>FACILITY_STORAGE</summary>
Storage = 3,
/// <summary>FACILITY_ITF</summary>
Itf = 4,
/// <summary>FACILITY_WIN32</summary>
Win32 = 7,
/// <summary>FACILITY_WINDOWS</summary>
Windows = 8,
/// <summary>FACILITY_CONTROL</summary>
Control = 10,
/// <summary>MSDN doced facility code for ESE errors.</summary>
Ese = 0xE5E,
/// <summary>FACILITY_WINCODEC (WIC)</summary>
WinCodec = 0x898,
}
/// <summary>Wrapper for HRESULT status codes.</summary>
[StructLayout( LayoutKind.Explicit )]
internal struct HRESULT
{
@ -214,82 +156,51 @@ namespace Standard
// NOTE: These public static field declarations are automatically
// picked up by ToString through reflection.
/// <summary>S_OK</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT S_OK = new HRESULT( 0x00000000 );
/// <summary>S_FALSE</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT S_FALSE = new HRESULT( 0x00000001 );
/// <summary>E_PENDING</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT E_PENDING = new HRESULT( 0x8000000A );
/// <summary>E_NOTIMPL</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT E_NOTIMPL = new HRESULT( 0x80004001 );
/// <summary>E_NOINTERFACE</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT E_NOINTERFACE = new HRESULT( 0x80004002 );
/// <summary>E_POINTER</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT E_POINTER = new HRESULT( 0x80004003 );
/// <summary>E_ABORT</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT E_ABORT = new HRESULT( 0x80004004 );
/// <summary>E_FAIL</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT E_FAIL = new HRESULT( 0x80004005 );
/// <summary>E_UNEXPECTED</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT E_UNEXPECTED = new HRESULT( 0x8000FFFF );
/// <summary>STG_E_INVALIDFUNCTION</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT STG_E_INVALIDFUNCTION = new HRESULT( 0x80030001 );
/// <summary>REGDB_E_CLASSNOTREG</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT REGDB_E_CLASSNOTREG = new HRESULT( 0x80040154 );
/// <summary>DESTS_E_NO_MATCHING_ASSOC_HANDLER. Win7 internal error code for Jump Lists.</summary>
/// <remarks>There is no Assoc Handler for the given item registered by the specified application.</remarks>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT DESTS_E_NO_MATCHING_ASSOC_HANDLER = new HRESULT( 0x80040F03 );
/// <summary>DESTS_E_NORECDOCS. Win7 internal error code for Jump Lists.</summary>
/// <remarks>The given item is excluded from the recent docs folder by the NoRecDocs bit on its registration.</remarks>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT DESTS_E_NORECDOCS = new HRESULT( 0x80040F04 );
/// <summary>DESTS_E_NOTALLCLEARED. Win7 internal error code for Jump Lists.</summary>
/// <remarks>Not all of the items were successfully cleared</remarks>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT DESTS_E_NOTALLCLEARED = new HRESULT( 0x80040F05 );
/// <summary>E_ACCESSDENIED</summary>
/// <remarks>Win32Error ERROR_ACCESS_DENIED.</remarks>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT E_ACCESSDENIED = new HRESULT( 0x80070005 );
/// <summary>E_OUTOFMEMORY</summary>
/// <remarks>Win32Error ERROR_OUTOFMEMORY.</remarks>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT E_OUTOFMEMORY = new HRESULT( 0x8007000E );
/// <summary>E_INVALIDARG</summary>
/// <remarks>Win32Error ERROR_INVALID_PARAMETER.</remarks>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT E_INVALIDARG = new HRESULT( 0x80070057 );
/// <summary>INTSAFE_E_ARITHMETIC_OVERFLOW</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT INTSAFE_E_ARITHMETIC_OVERFLOW = new HRESULT( 0x80070216 );
/// <summary>COR_E_OBJECTDISPOSED</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT COR_E_OBJECTDISPOSED = new HRESULT( 0x80131622 );
/// <summary>WC_E_GREATERTHAN</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT WC_E_GREATERTHAN = new HRESULT( 0xC00CEE23 );
/// <summary>WC_E_SYNTAX</summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields" )]
public static readonly HRESULT WC_E_SYNTAX = new HRESULT( 0xC00CEE2D );
/// <summary>
/// Create an HRESULT from an integer value.
/// </summary>
/// <param name="i"></param>
public HRESULT( uint i )
{
_value = i;
@ -313,9 +224,6 @@ namespace Standard
return new HRESULT( ( uint )( ( severe ? ( 1 << 31 ) : 0 ) | ( ( int )facility << 16 ) | code ) );
}
/// <summary>
/// retrieve HRESULT_FACILITY
/// </summary>
public Facility Facility
{
get
@ -330,9 +238,6 @@ namespace Standard
return ( Facility )( ( errorCode >> 16 ) & 0x1fff );
}
/// <summary>
/// retrieve HRESULT_CODE
/// </summary>
public int Code
{
get
@ -349,10 +254,6 @@ namespace Standard
#region Object class override members
/// <summary>
/// Get a string representation of this HRESULT.
/// </summary>
/// <returns></returns>
public override string ToString()
{
// Use reflection to try to name this HRESULT.
@ -518,9 +419,6 @@ namespace Standard
}
}
/// <summary>
/// Convert the result of Win32 GetLastError() into a raised exception.
/// </summary>
public static void ThrowLastError()
{
( ( HRESULT )Win32Error.GetLastError() ).ThrowIfFailed();

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/MessageWindow.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

226
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/NativeMethods.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -48,9 +48,6 @@ namespace Standard
public const uint sizeof_BOOL = 4;
}
/// <summary>
/// HIGHCONTRAST flags
/// </summary>
[Flags]
internal enum HCF
{
@ -63,38 +60,17 @@ namespace Standard
HOTKEYAVAILABLE = 0x00000040,
}
/// <summary>
/// BITMAPINFOHEADER Compression type. BI_*.
/// </summary>
internal enum BI
{
RGB = 0,
}
/// <summary>
/// CombingRgn flags. RGN_*
/// </summary>
internal enum RGN
{
/// <summary>
/// Creates the intersection of the two combined regions.
/// </summary>
AND = 1,
/// <summary>
/// Creates the union of two combined regions.
/// </summary>
OR = 2,
/// <summary>
/// Creates the union of two combined regions except for any overlapping areas.
/// </summary>
XOR = 3,
/// <summary>
/// Combines the parts of hrgnSrc1 that are not part of hrgnSrc2.
/// </summary>
DIFF = 4,
/// <summary>
/// Creates a copy of the region identified by hrgnSrc1.
/// </summary>
COPY = 5,
}
@ -106,9 +82,6 @@ namespace Standard
COMPLEXREGION = 3,
}
/// <summary>
/// For IWebBrowser2. OLECMDEXECOPT_*
/// </summary>
internal enum OLECMDEXECOPT
{
DODEFAULT = 0,
@ -117,9 +90,6 @@ namespace Standard
SHOWHELP = 3
}
/// <summary>
/// For IWebBrowser2. OLECMDF_*
/// </summary>
internal enum OLECMDF
{
SUPPORTED = 1,
@ -130,9 +100,6 @@ namespace Standard
DEFHIDEONCTXTMENU = 32
}
/// <summary>
/// For IWebBrowser2. OLECMDID_*
/// </summary>
internal enum OLECMDID
{
OPEN = 1,
@ -194,9 +161,6 @@ namespace Standard
SHOWPAGEACTIONMENU = 59
}
/// <summary>
/// For IWebBrowser2. READYSTATE_*
/// </summary>
enum READYSTATE
{
UNINITIALIZED = 0,
@ -206,9 +170,6 @@ namespace Standard
COMPLETE = 4
}
/// <summary>
/// DATAOBJ_GET_ITEM_FLAGS. DOGIF_*.
/// </summary>
internal enum DOGIF
{
DEFAULT = 0x0000,
@ -227,35 +188,13 @@ namespace Standard
[Flags]
internal enum ErrorModes
{
/// <summary>Use the system default, which is to display all error dialog boxes.</summary>
Default = 0x0,
/// <summary>
/// The system does not display the critical-error-handler message box.
/// Instead, the system sends the error to the calling process.
/// </summary>
FailCriticalErrors = 0x1,
/// <summary>
/// 64-bit Windows: The system automatically fixes memory alignment faults and makes them
/// invisible to the application. It does this for the calling process and any descendant processes.
/// After this value is set for a process, subsequent attempts to clear the value are ignored.
/// </summary>
NoGpFaultErrorBox = 0x2,
/// <summary>
/// The system does not display the general-protection-fault message box.
/// This flag should only be set by debugging applications that handle general
/// protection (GP) faults themselves with an exception handler.
/// </summary>
NoAlignmentFaultExcept = 0x4,
/// <summary>
/// The system does not display a message box when it fails to find a file.
/// Instead, the error is returned to the calling process.
/// </summary>
NoOpenFileErrorBox = 0x8000
}
/// <summary>
/// Non-client hit test values, HT*
/// </summary>
internal enum HT
{
ERROR = -2,
@ -289,17 +228,11 @@ namespace Standard
HELP = 21
}
/// <summary>
/// GetClassLongPtr values, GCLP_*
/// </summary>
internal enum GCLP
{
HBRBACKGROUND = -10,
}
/// <summary>
/// GetWindowLongPtr values, GWL_*
/// </summary>
internal enum GWL
{
WNDPROC = ( -4 ),
@ -311,9 +244,6 @@ namespace Standard
ID = ( -12 )
}
/// <summary>
/// SystemMetrics. SM_*
/// </summary>
internal enum SM
{
CXSCREEN = 0,
@ -402,9 +332,6 @@ namespace Standard
REMOTECONTROL = 0x2001,
}
/// <summary>
/// SystemParameterInfo values, SPI_*
/// </summary>
internal enum SPI
{
GETBEEP = 0x0001,
@ -641,9 +568,6 @@ namespace Standard
SETMESSAGEDURATION = 0x2017,
}
/// <summary>
/// SystemParameterInfo flag values, SPIF_*
/// </summary>
[Flags]
internal enum SPIF
{
@ -706,9 +630,6 @@ namespace Standard
DEFAULT_PALETTE = 15,
}
/// <summary>
/// CS_*
/// </summary>
[Flags]
internal enum CS : uint
{
@ -727,9 +648,6 @@ namespace Standard
DROPSHADOW = 0x00020000
}
/// <summary>
/// WindowStyle values, WS_*
/// </summary>
[Flags]
internal enum WS : uint
{
@ -765,9 +683,6 @@ namespace Standard
CHILDWINDOW = CHILD,
}
/// <summary>
/// Window message values, WM_*
/// </summary>
internal enum WM
{
NULL = 0x0000,
@ -923,9 +838,6 @@ namespace Standard
APP = 0x8000,
}
/// <summary>
/// Window style extended values, WS_EX_*
/// </summary>
[Flags]
internal enum WS_EX : uint
{
@ -958,25 +870,11 @@ namespace Standard
PALETTEWINDOW = ( WINDOWEDGE | TOOLWINDOW | TOPMOST ),
}
/// <summary>
/// GetDeviceCaps nIndex values.
/// </summary>
internal enum DeviceCap
{
/// <summary>Number of bits per pixel
/// </summary>
BITSPIXEL = 12,
/// <summary>
/// Number of planes
/// </summary>
PLANES = 14,
/// <summary>
/// Logical pixels inch in X
/// </summary>
LOGPIXELSX = 88,
/// <summary>
/// Logical pixels inch in Y
/// </summary>
LOGPIXELSY = 90,
}
@ -988,9 +886,6 @@ namespace Standard
RENAME = 0x0004,
}
/// <summary>
/// "FILEOP_FLAGS", FOF_*.
/// </summary>
internal enum FOF : ushort
{
MULTIDESTFILES = 0x0001,
@ -1011,15 +906,9 @@ namespace Standard
NORECURSEREPARSE = 0x8000,
}
/// <summary>
/// EnableMenuItem uEnable values, MF_*
/// </summary>
[Flags]
internal enum MF : uint
{
/// <summary>
/// Possible return value for EnableMenuItem
/// </summary>
DOES_NOT_EXIST = unchecked(( uint )-1),
ENABLED = 0,
BYCOMMAND = 0,
@ -1027,16 +916,11 @@ namespace Standard
DISABLED = 2,
}
/// <summary>Specifies the type of visual style attribute to set on a window.</summary>
internal enum WINDOWTHEMEATTRIBUTETYPE : uint
{
/// <summary>Non-client area window attributes will be set.</summary>
WTA_NONCLIENT = 1,
}
/// <summary>
/// DWMFLIP3DWINDOWPOLICY. DWMFLIP3D_*
/// </summary>
internal enum DWMFLIP3D
{
DEFAULT,
@ -1045,9 +929,6 @@ namespace Standard
//LAST
}
/// <summary>
/// DWMNCRENDERINGPOLICY. DWMNCRP_*
/// </summary>
internal enum DWMNCRP
{
USEWINDOWSTYLE,
@ -1056,9 +937,6 @@ namespace Standard
//LAST
}
/// <summary>
/// DWMWINDOWATTRIBUTE. DWMWA_*
/// </summary>
internal enum DWMWA
{
NCRENDERING_ENABLED = 1,
@ -1080,27 +958,16 @@ namespace Standard
// LAST
}
/// <summary>
/// WindowThemeNonClientAttributes
/// </summary>
[Flags]
internal enum WTNCA : uint
{
/// <summary>Prevents the window caption from being drawn.</summary>
NODRAWCAPTION = 0x00000001,
/// <summary>Prevents the system icon from being drawn.</summary>
NODRAWICON = 0x00000002,
/// <summary>Prevents the system icon menu from appearing.</summary>
NOSYSMENU = 0x00000004,
/// <summary>Prevents mirroring of the question mark, even in right-to-left (RTL) layout.</summary>
NOMIRRORHELP = 0x00000008,
/// <summary> A mask that contains all the valid bits.</summary>
VALIDBITS = NODRAWCAPTION | NODRAWICON | NOMIRRORHELP | NOSYSMENU,
}
/// <summary>
/// SetWindowPos options
/// </summary>
[Flags]
internal enum SWP
{
@ -1121,9 +988,6 @@ namespace Standard
SHOWWINDOW = 0x0040,
}
/// <summary>
/// ShowWindow options
/// </summary>
internal enum SW
{
HIDE = 0,
@ -1164,17 +1028,11 @@ namespace Standard
MONITORPOWER = 0xF170,
CONTEXTHELP = 0xF180,
SEPARATOR = 0xF00F,
/// <summary>
/// SCF_ISSECURE
/// </summary>
F_ISSECURE = 0x00000001,
ICON = MINIMIZE,
ZOOM = MAXIMIZE,
}
/// <summary>
/// GDI+ Status codes
/// </summary>
internal enum Status
{
Ok = 0,
@ -1208,9 +1066,6 @@ namespace Standard
LEFTUP = 4
}
/// <summary>
/// MSGFLT_*. New in Vista. Realiased in Windows 7.
/// </summary>
internal enum MSGFLT
{
// Win7 versions of this enum:
@ -1236,9 +1091,6 @@ namespace Standard
MOUSE = 0,
}
/// <summary>
/// Shell_NotifyIcon messages. NIM_*
/// </summary>
internal enum NIM : uint
{
ADD = 0,
@ -1248,9 +1100,6 @@ namespace Standard
SETVERSION = 4,
}
/// <summary>
/// SHAddToRecentDocuments flags. SHARD_*
/// </summary>
internal enum SHARD
{
PIDL = 0x00000001,
@ -1270,9 +1119,6 @@ namespace Standard
RAWPATH = 0x4
}
/// <summary>
/// Shell_NotifyIcon flags. NIF_*
/// </summary>
[Flags]
internal enum NIF : uint
{
@ -1283,43 +1129,26 @@ namespace Standard
INFO = 0x0010,
GUID = 0x0020,
/// <summary>
/// Vista only.
/// </summary>
REALTIME = 0x0040,
/// <summary>
/// Vista only.
/// </summary>
SHOWTIP = 0x0080,
XP_MASK = MESSAGE | ICON | STATE | INFO | GUID,
VISTA_MASK = XP_MASK | REALTIME | SHOWTIP,
}
/// <summary>
/// Shell_NotifyIcon info flags. NIIF_*
/// </summary>
internal enum NIIF
{
NONE = 0x00000000,
INFO = 0x00000001,
WARNING = 0x00000002,
ERROR = 0x00000003,
/// <summary>XP SP2 and later.</summary>
USER = 0x00000004,
/// <summary>XP and later.</summary>
NOSOUND = 0x00000010,
/// <summary>Vista and later.</summary>
LARGE_ICON = 0x00000020,
/// <summary>Windows 7 and later</summary>
NIIF_RESPECT_QUIET_TIME = 0x00000080,
/// <summary>XP and later. Native version called NIIF_ICON_MASK.</summary>
XP_ICON_MASK = 0x0000000F,
}
/// <summary>
/// AC_*
/// </summary>
internal enum AC : byte
{
SRC_OVER = 0,
@ -1791,11 +1620,6 @@ namespace Standard
public IntPtr hIcon;
[MarshalAs( UnmanagedType.ByValArray, SizeConst = 128 )]
public char[] szTip = new char[ 128 ];
/// <summary>
/// The state of the icon. There are two flags that can be set independently.
/// NIS_HIDDEN = 1. The icon is hidden.
/// NIS_SHAREDICON = 2. The icon is shared.
/// </summary>
public uint dwState;
public uint dwStateMask;
[MarshalAs( UnmanagedType.ByValArray, SizeConst = 256 )]
@ -1915,9 +1739,7 @@ namespace Standard
[StructLayout( LayoutKind.Sequential, Pack = 4 )]
internal class SHARDAPPIDINFOIDLIST
{
/// <summary>The idlist for the shell item that should be added to the recent docs folder.</summary>
IntPtr pidl;
/// <summary>The id of the application that should be associated with this recent doc.</summary>
[MarshalAs( UnmanagedType.LPWStr )]
string pszAppID;
}
@ -2009,26 +1831,16 @@ namespace Standard
}
}
/// <summary>Defines options that are used to set window visual style attributes.</summary>
[StructLayout( LayoutKind.Explicit )]
internal struct WTA_OPTIONS
{
// public static readonly uint Size = (uint)Marshal.SizeOf(typeof(WTA_OPTIONS));
public const uint Size = 8;
/// <summary>
/// A combination of flags that modify window visual style attributes.
/// Can be a combination of the WTNCA constants.
/// </summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Justification = "Used by native code." )]
[FieldOffset( 0 )]
public WTNCA dwFlags;
/// <summary>
/// A bitmask that describes how the values specified in dwFlags should be applied.
/// If the bit corresponding to a value in dwFlags is 0, that flag will be removed.
/// If the bit is 1, the flag will be added.
/// </summary>
[SuppressMessage( "Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Justification = "Used by native code." )]
[FieldOffset( 4 )]
public WTNCA dwMask;
@ -2037,13 +1849,9 @@ namespace Standard
[StructLayout( LayoutKind.Sequential )]
internal struct MARGINS
{
/// <summary>Width of left border that retains its size.</summary>
public int cxLeftWidth;
/// <summary>Width of right border that retains its size.</summary>
public int cxRightWidth;
/// <summary>Height of top border that retains its size.</summary>
public int cyTopHeight;
/// <summary>Height of bottom border that retains its size.</summary>
public int cyBottomHeight;
};
@ -2463,13 +2271,10 @@ namespace Standard
#endregion
/// <summary>Delegate declaration that matches native WndProc signatures.</summary>
internal delegate IntPtr WndProc( IntPtr hwnd, WM uMsg, IntPtr wParam, IntPtr lParam );
/// <summary>Delegate declaration that matches native WndProc signatures.</summary>
internal delegate IntPtr WndProcHook( IntPtr hwnd, WM uMsg, IntPtr wParam, IntPtr lParam, ref bool handled );
/// <summary>Delegate declaration that matches managed WndProc signatures.</summary>
internal delegate IntPtr MessageHandler( WM uMsg, IntPtr wParam, IntPtr lParam, out bool handled );
// Some native methods are shimmed through public versions that handle converting failures into thrown exceptions.
@ -3005,25 +2810,6 @@ namespace Standard
return ret;
}
/// <summary>
/// Sets attributes to control how visual styles are applied to a specified window.
/// </summary>
/// <param name="hwnd">
/// Handle to a window to apply changes to.
/// </param>
/// <param name="eAttribute">
/// Value of type WINDOWTHEMEATTRIBUTETYPE that specifies the type of attribute to set.
/// The value of this parameter determines the type of data that should be passed in the pvAttribute parameter.
/// Can be the following value:
/// <list>WTA_NONCLIENT (Specifies non-client related attributes).</list>
/// pvAttribute must be a pointer of type WTA_OPTIONS.
/// </param>
/// <param name="pvAttribute">
/// A pointer that specifies attributes to set. Type is determined by the value of the eAttribute value.
/// </param>
/// <param name="cbAttribute">
/// Specifies the size, in bytes, of the data pointed to by pvAttribute.
/// </param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DllImport( "uxtheme.dll", PreserveSig = false )]
public static extern void SetWindowThemeAttribute( [In] IntPtr hwnd, [In] WINDOWTHEMEATTRIBUTETYPE eAttribute, [In] ref WTA_OPTIONS pvAttribute, [In] uint cbAttribute );
@ -3279,13 +3065,11 @@ namespace Standard
[return: MarshalAs( UnmanagedType.Bool )]
private static extern bool _SystemParametersInfo_String( SPI uiAction, int uiParam, [MarshalAs( UnmanagedType.LPWStr )] string pvParam, SPIF fWinIni );
/// <summary>Overload of SystemParametersInfo for getting and setting NONCLIENTMETRICS.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DllImport( "user32.dll", EntryPoint = "SystemParametersInfoW", SetLastError = true, CharSet = CharSet.Unicode )]
[return: MarshalAs( UnmanagedType.Bool )]
private static extern bool _SystemParametersInfo_NONCLIENTMETRICS( SPI uiAction, int uiParam, [In, Out] ref NONCLIENTMETRICS pvParam, SPIF fWinIni );
/// <summary>Overload of SystemParametersInfo for getting and setting HIGHCONTRAST.</summary>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DllImport( "user32.dll", EntryPoint = "SystemParametersInfoW", SetLastError = true, CharSet = CharSet.Unicode )]
[return: MarshalAs( UnmanagedType.Bool )]
@ -3529,18 +3313,10 @@ namespace Standard
[return: MarshalAs( UnmanagedType.Bool )]
public static extern bool Shell_NotifyIcon( NIM dwMessage, [In] NOTIFYICONDATA lpdata );
/// <summary>
/// Sets the User Model AppID for the current process, enabling Windows to retrieve this ID
/// </summary>
/// <param name="AppID"></param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DllImport( "shell32.dll", PreserveSig = false )]
public static extern void SetCurrentProcessExplicitAppUserModelID( [MarshalAs( UnmanagedType.LPWStr )] string AppID );
/// <summary>
/// Retrieves the User Model AppID that has been explicitly set for the current process via SetCurrentProcessExplicitAppUserModelID
/// </summary>
/// <param name="AppID"></param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DllImport( "shell32.dll" )]
public static extern HRESULT GetCurrentProcessExplicitAppUserModelID( [Out, MarshalAs( UnmanagedType.LPWStr )] out string AppID );

182
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ShellProvider.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -30,7 +30,6 @@ namespace Standard
#region Enums and Static Property Classes
/// <summary>ShellItem attribute flags. SIATTRIBFLAGS_*</summary>
internal enum SIATTRIBFLAGS
{
AND = 0x00000001,
@ -44,10 +43,6 @@ namespace Standard
ADLT_FREQUENT, // The frequently used documents list
}
/// <summary>
/// Flags for SetTabProperties. STPF_*
/// </summary>
/// <remarks>The native enum was called STPFLAG.</remarks>
[Flags]
internal enum STPF
{
@ -58,12 +53,6 @@ namespace Standard
USEAPPPEEKWHENACTIVE = 0x00000008,
}
/// <summary>
/// Flags for Setting Taskbar Progress state. TBPF_*
/// </summary>
/// <remarks>
/// The native enum was called TBPFLAG.
/// </remarks>
internal enum TBPF
{
NOPROGRESS = 0x00000000,
@ -73,9 +62,6 @@ namespace Standard
PAUSED = 0x00000008,
}
/// <summary>
/// THUMBBUTTON mask. THB_*
/// </summary>
[Flags]
internal enum THB : uint
{
@ -85,9 +71,6 @@ namespace Standard
FLAGS = 0x0008,
}
/// <summary>
/// THUMBBUTTON flags. THBF_*
/// </summary>
[Flags]
internal enum THBF : uint
{
@ -100,12 +83,6 @@ namespace Standard
NONINTERACTIVE = 0x0010,
}
/// <summary>
/// GetPropertyStoreFlags. GPS_*.
/// </summary>
/// <remarks>
/// These are new for Vista, but are used in downlevel components
/// </remarks>
internal enum GPS
{
// If no flags are specified (GPS_DEFAULT), a read-only property store is returned that includes properties for the file or item.
@ -131,9 +108,6 @@ namespace Standard
MASK_VALID = 0x000000FF,
}
/// <summary>
/// KNOWNDESTCATEGORY. KDC_*
/// </summary>
internal enum KDC
{
FREQUENT = 1,
@ -144,101 +118,49 @@ namespace Standard
[Flags]
internal enum SFGAO : uint
{
/// <summary>Objects can be copied</summary>
/// <remarks>DROPEFFECT_COPY</remarks>
CANCOPY = 0x1,
/// <summary>Objects can be moved</summary>
/// <remarks>DROPEFFECT_MOVE</remarks>
CANMOVE = 0x2,
/// <summary>Objects can be linked</summary>
/// <remarks>
/// DROPEFFECT_LINK.
///
/// If this bit is set on an item in the shell folder, a
/// 'Create Shortcut' menu item will be added to the File
/// menu and context menus for the item. If the user selects
/// that command, your IContextMenu::InvokeCommand() will be called
/// with 'link'.
/// That flag will also be used to determine if 'Create Shortcut'
/// should be added when the item in your folder is dragged to another
/// folder.
/// </remarks>
CANLINK = 0x4,
/// <summary>supports BindToObject(IID_IStorage)</summary>
STORAGE = 0x00000008,
/// <summary>Objects can be renamed</summary>
CANRENAME = 0x00000010,
/// <summary>Objects can be deleted</summary>
CANDELETE = 0x00000020,
/// <summary>Objects have property sheets</summary>
HASPROPSHEET = 0x00000040,
// unused = 0x00000080,
/// <summary>Objects are drop target</summary>
DROPTARGET = 0x00000100,
CAPABILITYMASK = 0x00000177,
// unused = 0x00000200,
// unused = 0x00000400,
// unused = 0x00000800,
// unused = 0x00001000,
/// <summary>Object is encrypted (use alt color)</summary>
ENCRYPTED = 0x00002000,
/// <summary>'Slow' object</summary>
ISSLOW = 0x00004000,
/// <summary>Ghosted icon</summary>
GHOSTED = 0x00008000,
/// <summary>Shortcut (link)</summary>
LINK = 0x00010000,
/// <summary>Shared</summary>
SHARE = 0x00020000,
/// <summary>Read-only</summary>
READONLY = 0x00040000,
/// <summary> Hidden object</summary>
HIDDEN = 0x00080000,
DISPLAYATTRMASK = 0x000FC000,
/// <summary> May contain children with SFGAO_FILESYSTEM</summary>
FILESYSANCESTOR = 0x10000000,
/// <summary>Support BindToObject(IID_IShellFolder)</summary>
FOLDER = 0x20000000,
/// <summary>Is a win32 file system object (file/folder/root)</summary>
FILESYSTEM = 0x40000000,
/// <summary>May contain children with SFGAO_FOLDER (may be slow)</summary>
HASSUBFOLDER = 0x80000000,
CONTENTSMASK = 0x80000000,
/// <summary>Invalidate cached information (may be slow)</summary>
VALIDATE = 0x01000000,
/// <summary>Is this removeable media?</summary>
REMOVABLE = 0x02000000,
/// <summary> Object is compressed (use alt color)</summary>
COMPRESSED = 0x04000000,
/// <summary>Supports IShellFolder, but only implements CreateViewObject() (non-folder view)</summary>
BROWSABLE = 0x08000000,
/// <summary>Is a non-enumerated object (should be hidden)</summary>
NONENUMERATED = 0x00100000,
/// <summary>Should show bold in explorer tree</summary>
NEWCONTENT = 0x00200000,
/// <summary>Obsolete</summary>
CANMONIKER = 0x00400000,
/// <summary>Obsolete</summary>
HASSTORAGE = 0x00400000,
/// <summary>Supports BindToObject(IID_IStream)</summary>
STREAM = 0x00400000,
/// <summary>May contain children with SFGAO_STORAGE or SFGAO_STREAM</summary>
STORAGEANCESTOR = 0x00800000,
/// <summary>For determining storage capabilities, ie for open/save semantics</summary>
STORAGECAPMASK = 0x70C50008,
/// <summary>
/// Attributes that are masked out for PKEY_SFGAOFlags because they are considered
/// to cause slow calculations or lack context
/// (SFGAO_VALIDATE | SFGAO_ISSLOW | SFGAO_HASSUBFOLDER and others)
/// </summary>
PKEYSFGAOMASK = 0x81044000,
}
/// <summary>
/// IShellFolder::EnumObjects grfFlags bits. Also called SHCONT
/// </summary>
internal enum SHCONTF
{
CHECKING_FOR_CHILDREN = 0x0010, // hint that client is checking if (what) child items the folder contains - not all details (e.g. short file name) are needed
@ -255,12 +177,6 @@ namespace Standard
ENABLE_ASYNC = 0x8000, // inform enumerator that client is listening for change notifications so enumerator does not need to be complete, items can be reported via change notifications
}
/// <summary>
/// IShellFolder::GetDisplayNameOf/SetNameOf uFlags. Also called SHGDNF.
/// </summary>
/// <remarks>
/// For compatibility with SIGDN, these bits must all sit in the LOW word.
/// </remarks>
[Flags]
internal enum SHGDN
{
@ -271,23 +187,14 @@ namespace Standard
SHGDN_FORPARSING = 0x8000, // parsing name for ParseDisplayName()
}
/// <summary>
/// SHELLITEMCOMPAREHINTF. SICHINT_*.
/// </summary>
internal enum SICHINT : uint
{
/// <summary>iOrder based on display in a folder view</summary>
DISPLAY = 0x00000000,
/// <summary>exact instance compare</summary>
ALLFIELDS = 0x80000000,
/// <summary>iOrder based on canonical name (better performance)</summary>
CANONICAL = 0x10000000,
TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000,
};
/// <summary>
/// ShellItem enum. SIGDN_*.
/// </summary>
internal enum SIGDN : uint
{ // lower word (& with 0xFFFF)
NORMALDISPLAY = 0x00000000, // SHGDN_NORMAL
@ -301,24 +208,6 @@ namespace Standard
PARENTRELATIVE = 0x80080001, // SHGDN_INFOLDER
}
/// <summary>
/// STR_GPS_*
/// </summary>
/// <remarks>
/// When requesting a property store through IShellFolder, you can specify the equivalent of
/// GPS_DEFAULT by passing in a null IBindCtx parameter.
///
/// You can specify the equivalent of GPS_READWRITE by passing a mode of STGM_READWRITE | STGM_EXCLUSIVE
/// in the bind context
///
/// Here are the string versions of GPS_ flags, passed to IShellFolder::BindToObject() via IBindCtx::RegisterObjectParam()
/// These flags are valid when requesting an IPropertySetStorage or IPropertyStore handler
///
/// The meaning of these flags are described above.
///
/// There is no STR_ equivalent for GPS_TEMPORARY because temporary property stores
/// are provided by IShellItem2 only -- not by the underlying IShellFolder.
/// </remarks>
internal static class STR_GPS
{
public const string HANDLERPROPERTIESONLY = "GPS_HANDLERPROPERTIESONLY";
@ -336,9 +225,6 @@ namespace Standard
[StructLayout( LayoutKind.Sequential, Pack = 8, CharSet = CharSet.Unicode )]
internal struct THUMBBUTTON
{
/// <summary>
/// WPARAM value for a THUMBBUTTON being clicked.
/// </summary>
public const int THBN_CLICKED = 0x1800;
public THB dwMask;
@ -354,9 +240,7 @@ namespace Standard
[StructLayout( LayoutKind.Sequential, Pack = 4 )]
internal struct PKEY
{
/// <summary>fmtid</summary>
private readonly Guid _fmtid;
/// <summary>pid</summary>
private readonly uint _pid;
public PKEY( Guid fmtid, uint pid )
@ -365,17 +249,11 @@ namespace Standard
_pid = pid;
}
/// <summary>PKEY_Title</summary>
public static readonly PKEY Title = new PKEY( new Guid( "F29F85E0-4FF9-1068-AB91-08002B27B3D9" ), 2 );
/// <summary>PKEY_AppUserModel_ID</summary>
public static readonly PKEY AppUserModel_ID = new PKEY( new Guid( "9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3" ), 5 );
/// <summary>PKEY_AppUserModel_IsDestListSeparator</summary>
public static readonly PKEY AppUserModel_IsDestListSeparator = new PKEY( new Guid( "9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3" ), 6 );
/// <summary>PKEY_AppUserModel_RelaunchCommand</summary>
public static readonly PKEY AppUserModel_RelaunchCommand = new PKEY( new Guid( "9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3" ), 2 );
/// <summary>PKEY_AppUserModel_RelaunchDisplayNameResource</summary>
public static readonly PKEY AppUserModel_RelaunchDisplayNameResource = new PKEY( new Guid( "9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3" ), 4 );
/// <summary>PKEY_AppUserModel_RelaunchIconResource</summary>
public static readonly PKEY AppUserModel_RelaunchIconResource = new PKEY( new Guid( "9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3" ), 3 );
}
@ -424,7 +302,6 @@ namespace Standard
IEnumObjects Clone();
}
/// <summary>Unknown Object Array</summary>
[
ComImport,
InterfaceType( ComInterfaceType.InterfaceIsIUnknown ),
@ -564,9 +441,6 @@ namespace Standard
[Out] out IntPtr ppidlOut );
}
/// <summary>
/// Shell Namespace helper
/// </summary>
[
ComImport,
InterfaceType( ComInterfaceType.InterfaceIsIUnknown ),
@ -613,9 +487,6 @@ namespace Standard
object EnumItems();
}
/// <summary>
/// Shell Namespace helper 2
/// </summary>
[
ComImport,
InterfaceType( ComInterfaceType.InterfaceIsIUnknown ),
@ -712,33 +583,14 @@ namespace Standard
]
internal interface ITaskbarList
{
/// <summary>
/// This function must be called first to validate use of other members.
/// </summary>
void HrInit();
/// <summary>
/// This function adds a tab for hwnd to the taskbar.
/// </summary>
/// <param name="hwnd">The HWND for which to add the tab.</param>
void AddTab( IntPtr hwnd );
/// <summary>
/// This function deletes a tab for hwnd from the taskbar.
/// </summary>
/// <param name="hwnd">The HWND for which the tab is to be deleted.</param>
void DeleteTab( IntPtr hwnd );
/// <summary>
/// This function activates the tab associated with hwnd on the taskbar.
/// </summary>
/// <param name="hwnd">The HWND for which the tab is to be actuvated.</param>
void ActivateTab( IntPtr hwnd );
/// <summary>
/// This function marks hwnd in the taskbar as the active tab.
/// </summary>
/// <param name="hwnd">The HWND to activate.</param>
void SetActiveAlt( IntPtr hwnd );
}
@ -757,18 +609,6 @@ namespace Standard
new void SetActiveAlt( IntPtr hwnd );
#endregion
/// <summary>
/// Marks a window as full-screen.
/// </summary>
/// <param name="hwnd">The handle of the window to be marked.</param>
/// <param name="fFullscreen">A Boolean value marking the desired full-screen status of the window.</param>
/// <remarks>
/// Setting the value of fFullscreen to true, the Shell treats this window as a full-screen window, and the taskbar
/// is moved to the bottom of the z-order when this window is active. Setting the value of fFullscreen to false
/// removes the full-screen marking, but <i>does not</i> cause the Shell to treat the window as though it were
/// definitely not full-screen. With a false fFullscreen value, the Shell depends on its automatic detection facility
/// to specify how the window should be treated, possibly still flagging the window as full-screen.
/// </remarks>
void MarkFullscreenWindow( IntPtr hwnd, [MarshalAs( UnmanagedType.Bool )] bool fFullscreen );
}
@ -792,9 +632,6 @@ namespace Standard
void RemoveAllDestinations();
}
/// <summary>
/// Allows an application to retrieve the most recent and frequent documents opened in that app, as reported via SHAddToRecentDocs
/// </summary>
[
ComImport,
InterfaceType( ComInterfaceType.InterfaceIsIUnknown ),
@ -802,19 +639,8 @@ namespace Standard
]
internal interface IApplicationDocumentLists
{
/// <summary>
/// Set the App User Model ID for the application retrieving this list. If an AppID is not provided via this method,
/// the system will use a heuristically determined ID. This method must be called before GetList.
/// </summary>
/// <param name="pszAppID">App Id.</param>
void SetAppID( [MarshalAs( UnmanagedType.LPWStr )] string pszAppID );
/// <summary>
/// Retrieve an IEnumObjects or IObjectArray for IShellItems and/or IShellLinks.
/// Items may appear in both the frequent and recent lists.
/// </summary>
/// <param name="?"></param>
/// <returns></returns>
[return: MarshalAs( UnmanagedType.IUnknown )]
object GetList( [In] APPDOCLISTTYPE listtype, [In] uint cItemsDesired, [In] ref Guid riid );
}
@ -849,9 +675,6 @@ namespace Standard
void AbortList();
}
/// <summary>
/// Provides access to the App User Model ID on objects supporting this value.
/// </summary>
[
ComImport,
InterfaceType( ComInterfaceType.InterfaceIsIUnknown ),
@ -864,9 +687,6 @@ namespace Standard
string GetAppID();
};
/// <summary>
/// Provides access to the ProgID associated with an object
/// </summary>
[
ComImport,
InterfaceType( ComInterfaceType.InterfaceIsIUnknown ),

162
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/StreamHelper.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -31,9 +31,6 @@ namespace Standard
using STATSTG = System.Runtime.InteropServices.ComTypes.STATSTG;
// All these methods return void. Does the standard marshaller convert them to HRESULTs?
/// <summary>
/// Wraps a managed stream instance into an interface pointer consumable by COM.
/// </summary>
internal sealed class ManagedIStream : IStream, IDisposable
{
private const int STGTY_STREAM = 2;
@ -42,12 +39,6 @@ namespace Standard
private Stream _source;
/// <summary>
/// Initializes a new instance of the ManagedIStream class with the specified managed Stream object.
/// </summary>
/// <param name="source">
/// The stream that this IStream reference is wrapping.
/// </param>
public ManagedIStream( Stream source )
{
Verify.IsNotNull( source, "source" );
@ -65,17 +56,6 @@ namespace Standard
// Comments are taken from MSDN IStream documentation.
#region IStream Members
/// <summary>
/// Creates a new stream object with its own seek pointer that
/// references the same bytes as the original stream.
/// </summary>
/// <param name="ppstm">
/// When this method returns, contains the new stream object. This parameter is passed uninitialized.
/// </param>
/// <remarks>
/// For more information, see the existing documentation for IStream::Clone in the MSDN library.
/// This class doesn't implement Clone. A COMException is thrown if it is used.
/// </remarks>
[SuppressMessage( "Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "Standard.HRESULT.ThrowIfFailed(System.String)" )]
[Obsolete( "The method is not implemented", true )]
public void Clone( out IStream ppstm )
@ -84,42 +64,12 @@ namespace Standard
HRESULT.STG_E_INVALIDFUNCTION.ThrowIfFailed( "The method is not implemented." );
}
/// <summary>
/// Ensures that any changes made to a stream object that is open in transacted
/// mode are reflected in the parent storage.
/// </summary>
/// <param name="grfCommitFlags">
/// A value that controls how the changes for the stream object are committed.
/// </param>
/// <remarks>
/// For more information, see the existing documentation for IStream::Commit in the MSDN library.
/// </remarks>
public void Commit( int grfCommitFlags )
{
_Validate();
_source.Flush();
}
/// <summary>
/// Copies a specified number of bytes from the current seek pointer in the
/// stream to the current seek pointer in another stream.
/// </summary>
/// <param name="pstm">
/// A reference to the destination stream.
/// </param>
/// <param name="cb">
/// The number of bytes to copy from the source stream.
/// </param>
/// <param name="pcbRead">
/// On successful return, contains the actual number of bytes read from the source.
/// (Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
/// to this parameter on success.)
/// </param>
/// <param name="pcbWritten">
/// On successful return, contains the actual number of bytes written to the destination.
/// (Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
/// to this parameter on success.)
/// </param>
[SuppressMessage( "Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0" )]
[SuppressMessage( "Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands" )]
public void CopyTo( IStream pstm, long cb, IntPtr pcbRead, IntPtr pcbWritten )
@ -158,43 +108,12 @@ namespace Standard
}
}
/// <summary>
/// Restricts access to a specified range of bytes in the stream.
/// </summary>
/// <param name="libOffset">
/// The byte offset for the beginning of the range.
/// </param>
/// <param name="cb">
/// The length of the range, in bytes, to restrict.
/// </param>
/// <param name="dwLockType">
/// The requested restrictions on accessing the range.
/// </param>
/// <remarks>
/// For more information, see the existing documentation for IStream::LockRegion in the MSDN library.
/// This class doesn't implement LockRegion. A COMException is thrown if it is used.
/// </remarks>
[SuppressMessage( "Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "Standard.HRESULT.ThrowIfFailed(System.String)" ), Obsolete( "The method is not implemented", true )]
public void LockRegion( long libOffset, long cb, int dwLockType )
{
HRESULT.STG_E_INVALIDFUNCTION.ThrowIfFailed( "The method is not implemented." );
}
/// <summary>
/// Reads a specified number of bytes from the stream object into memory starting at the current seek pointer.
/// </summary>
/// <param name="pv">
/// When this method returns, contains the data read from the stream. This parameter is passed uninitialized.
/// </param>
/// <param name="cb">
/// The number of bytes to read from the stream object.
/// </param>
/// <param name="pcbRead">
/// A pointer to a ULONG variable that receives the actual number of bytes read from the stream object.
/// </param>
/// <remarks>
/// For more information, see the existing documentation for ISequentialStream::Read in the MSDN library.
/// </remarks>
[SuppressMessage( "Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands" )]
public void Read( byte[] pv, int cb, IntPtr pcbRead )
{
@ -209,36 +128,12 @@ namespace Standard
}
/// <summary>
/// Discards all changes that have been made to a transacted stream since the last Commit call.
/// </summary>
/// <remarks>
/// This class doesn't implement Revert. A COMException is thrown if it is used.
/// </remarks>
[SuppressMessage( "Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "Standard.HRESULT.ThrowIfFailed(System.String)" ), Obsolete( "The method is not implemented", true )]
public void Revert()
{
HRESULT.STG_E_INVALIDFUNCTION.ThrowIfFailed( "The method is not implemented." );
}
/// <summary>
/// Changes the seek pointer to a new location relative to the beginning of the
/// stream, to the end of the stream, or to the current seek pointer.
/// </summary>
/// <param name="dlibMove">
/// The displacement to add to dwOrigin.
/// </param>
/// <param name="dwOrigin">
/// The origin of the seek. The origin can be the beginning of the file, the current seek pointer, or the end of the file.
/// </param>
/// <param name="plibNewPosition">
/// On successful return, contains the offset of the seek pointer from the beginning of the stream.
/// (Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
/// to this parameter on success.)
/// </param>
/// <remarks>
/// For more information, see the existing documentation for IStream::Seek in the MSDN library.
/// </remarks>
[SuppressMessage( "Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands" )]
public void Seek( long dlibMove, int dwOrigin, IntPtr plibNewPosition )
{
@ -252,31 +147,12 @@ namespace Standard
}
}
/// <summary>
/// Changes the size of the stream object.
/// </summary>
/// <param name="libNewSize">
/// The new size of the stream as a number of bytes.
/// </param>
/// <remarks>
/// For more information, see the existing documentation for IStream::SetSize in the MSDN library.
/// </remarks>
public void SetSize( long libNewSize )
{
_Validate();
_source.SetLength( libNewSize );
}
/// <summary>
/// Retrieves the STATSTG structure for this stream.
/// </summary>
/// <param name="pstatstg">
/// When this method returns, contains a STATSTG structure that describes this stream object.
/// This parameter is passed uninitialized.
/// </param>
/// <param name="grfStatFlag">
/// Members in the STATSTG structure that this method does not return, thus saving some memory allocation operations.
/// </param>
public void Stat( out STATSTG pstatstg, int grfStatFlag )
{
pstatstg = default( STATSTG );
@ -288,21 +164,6 @@ namespace Standard
pstatstg.grfLocksSupported = LOCK_EXCLUSIVE;
}
/// <summary>
/// Removes the access restriction on a range of bytes previously restricted with the LockRegion method.
/// </summary>
/// <param name="libOffset">The byte offset for the beginning of the range.
/// </param>
/// <param name="cb">
/// The length, in bytes, of the range to restrict.
/// </param>
/// <param name="dwLockType">
/// The access restrictions previously placed on the range.
/// </param>
/// <remarks>
/// For more information, see the existing documentation for IStream::UnlockRegion in the MSDN library.
/// This class doesn't implement UnlockRegion. A COMException is thrown if it is used.
/// </remarks>
[SuppressMessage( "Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "Standard.HRESULT.ThrowIfFailed(System.String)" )]
[Obsolete( "The method is not implemented", true )]
public void UnlockRegion( long libOffset, long cb, int dwLockType )
@ -310,20 +171,6 @@ namespace Standard
HRESULT.STG_E_INVALIDFUNCTION.ThrowIfFailed( "The method is not implemented." );
}
/// <summary>
/// Writes a specified number of bytes into the stream object starting at the current seek pointer.
/// </summary>
/// <param name="pv">
/// The buffer to write this stream to.
/// </param>
/// <param name="cb">
/// The number of bytes to write to the stream.
/// </param>
/// <param name="pcbWritten">
/// On successful return, contains the actual number of bytes written to the stream object.
/// If the caller sets this pointer to null, this method does not provide the actual number
/// of bytes written.
/// </param>
[SuppressMessage( "Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands" )]
public void Write( byte[] pv, int cb, IntPtr pcbWritten )
{
@ -341,13 +188,6 @@ namespace Standard
#region IDisposable Members
/// <summary>
/// Releases resources controlled by this object.
/// </summary>
/// <remarks>
/// Dispose can be called multiple times, but trying to use the object
/// after it has been disposed will generally throw ObjectDisposedExceptions.
/// </remarks>
public void Dispose()
{
_source = null;

56
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Utilities.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -75,18 +75,12 @@ namespace Standard
return true;
}
/// <summary>The native RGB macro.</summary>
/// <param name="c"></param>
/// <returns></returns>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static int RGB( Color c )
{
return c.R | ( c.G << 8 ) | ( c.B << 16 );
}
/// <summary>Convert a native integer that represent a color with an alpha channel into a Color struct.</summary>
/// <param name="color">The integer that represents the color. Its bits are of the format 0xAARRGGBB.</param>
/// <returns>A Color representation of the parameter.</returns>
public static Color ColorFromArgbDword( uint color )
{
return Color.FromArgb(
@ -279,13 +273,6 @@ namespace Standard
}
}
/// <summary>
/// Is this using WPF4?
/// </summary>
/// <remarks>
/// There are a few specific bugs in Window in 3.5SP1 and below that require workarounds
/// when handling WM_NCCALCSIZE on the HWND.
/// </remarks>
public static bool IsPresentationFrameworkVersionLessThan4
{
get
@ -412,9 +399,6 @@ namespace Standard
return diff;
}
/// From a list of BitmapFrames find the one that best matches the requested dimensions.
/// The methods used here are copied from Win32 sources. We want to be consistent with
/// system behaviors.
private static BitmapFrame _GetBestMatch( IList<BitmapFrame> frames, int bitDepth, int width, int height )
{
int bestScore = int.MaxValue;
@ -467,14 +451,6 @@ namespace Standard
return s_bitDepth;
}
/// <summary>
/// Simple guard against the exceptions that File.Delete throws on null and empty strings.
/// </summary>
/// <param name="path">The path to delete. Unlike File.Delete, this can be null or empty.</param>
/// <remarks>
/// Note that File.Delete, and by extension SafeDeleteFile, does not throw an exception
/// if the file does not exist.
/// </remarks>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static void SafeDeleteFile( string path )
{
@ -485,7 +461,6 @@ namespace Standard
}
}
/// <summary>GDI's DeleteObject</summary>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static void SafeDeleteObject( ref IntPtr gdiObject )
{
@ -532,8 +507,6 @@ namespace Standard
}
}
/// <summary>GDI+'s DisposeImage</summary>
/// <param name="gdipImage"></param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static void SafeDisposeImage( ref IntPtr gdipImage )
{
@ -584,12 +557,6 @@ namespace Standard
}
}
/// <summary>
/// Utility to help classes catenate their properties for implementing ToString().
/// </summary>
/// <param name="source">The StringBuilder to catenate the results into.</param>
/// <param name="propertyName">The name of the property to be catenated.</param>
/// <param name="value">The value of the property to be catenated.</param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static void GeneratePropertyString( StringBuilder source, string propertyName, string value )
{
@ -615,15 +582,6 @@ namespace Standard
}
}
/// <summary>
/// Generates ToString functionality for a struct. This is an expensive way to do it,
/// it exists for the sake of debugging while classes are in flux.
/// Eventually this should just be removed and the classes should
/// do this without reflection.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="object"></param>
/// <returns></returns>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[Obsolete]
public static string GenerateToString<T>( T @object ) where T : struct
@ -845,18 +803,6 @@ namespace Standard
return decoder.GetString();
}
/// <summary>
/// Encodes a URL string. Duplicated functionality from System.Web.HttpUtility.UrlEncode.
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
/// <remarks>
/// Duplicated from System.Web.HttpUtility because System.Web isn't part of the client profile.
/// URL Encoding replaces ' ' with '+' and unsafe ASCII characters with '%XX'.
/// Safe characters are defined in RFC2396 (http://www.ietf.org/rfc/rfc2396.txt).
/// They are the 7-bit ASCII alphanumerics and the mark characters "-_.!~*'()".
/// This implementation does not treat '~' as a safe character to be consistent with the System.Web version.
/// </remarks>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
public static string UrlEncode( string url )
{

57
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Verify.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -33,24 +33,8 @@ namespace Standard
using System.IO;
using System.Threading;
/// <summary>
/// A static class for retail validated assertions.
/// Instead of breaking into the debugger an exception is thrown.
/// </summary>
internal static class Verify
{
/// <summary>
/// Ensure that the current thread's apartment state is what's expected.
/// </summary>
/// <param name="requiredState">
/// The required apartment state for the current thread.
/// </param>
/// <param name="message">
/// The message string for the exception to be thrown if the state is invalid.
/// </param>
/// <exception cref="InvalidOperationException">
/// Thrown if the calling thread's apartment state is not the same as the requiredState.
/// </exception>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DebuggerStepThrough]
public static void IsApartmentState( ApartmentState requiredState, string message )
@ -61,11 +45,6 @@ namespace Standard
}
}
/// <summary>
/// Ensure that an argument is neither null nor empty.
/// </summary>
/// <param name="value">The string to validate.</param>
/// <param name="name">The name of the parameter that will be presented if an exception is thrown.</param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[SuppressMessage( "Microsoft.Performance", "CA1820:TestForEmptyStringsUsingStringLength" )]
[DebuggerStepThrough]
@ -86,11 +65,6 @@ namespace Standard
}
}
/// <summary>
/// Ensure that an argument is neither null nor does it consist only of whitespace.
/// </summary>
/// <param name="value">The string to validate.</param>
/// <param name="name">The name of the parameter that will be presented if an exception is thrown.</param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[SuppressMessage( "Microsoft.Performance", "CA1820:TestForEmptyStringsUsingStringLength" )]
[DebuggerStepThrough]
@ -111,10 +85,6 @@ namespace Standard
}
}
/// <summary>Verifies that an argument is not null.</summary>
/// <typeparam name="T">Type of the object to validate. Must be a class.</typeparam>
/// <param name="obj">The object to validate.</param>
/// <param name="name">The name of the parameter that will be presented if an exception is thrown.</param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DebuggerStepThrough]
public static void IsNotDefault<T>( T obj, string name ) where T : struct
@ -125,10 +95,6 @@ namespace Standard
}
}
/// <summary>Verifies that an argument is not null.</summary>
/// <typeparam name="T">Type of the object to validate. Must be a class.</typeparam>
/// <param name="obj">The object to validate.</param>
/// <param name="name">The name of the parameter that will be presented if an exception is thrown.</param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DebuggerStepThrough]
public static void IsNotNull<T>( T obj, string name ) where T : class
@ -139,10 +105,6 @@ namespace Standard
}
}
/// <summary>Verifies that an argument is null.</summary>
/// <typeparam name="T">Type of the object to validate. Must be a class.</typeparam>
/// <param name="obj">The object to validate.</param>
/// <param name="name">The name of the parameter that will be presented if an exception is thrown.</param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DebuggerStepThrough]
public static void IsNull<T>( T obj, string name ) where T : class
@ -173,11 +135,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies the specified statement is true. Throws an ArgumentException if it's not.
/// </summary>
/// <param name="statement">The statement to be verified as true.</param>
/// <param name="name">Name of the parameter to include in the ArgumentException.</param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DebuggerStepThrough]
public static void IsTrue( bool statement, string name )
@ -188,12 +145,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies the specified statement is true. Throws an ArgumentException if it's not.
/// </summary>
/// <param name="statement">The statement to be verified as true.</param>
/// <param name="name">Name of the parameter to include in the ArgumentException.</param>
/// <param name="message">The message to include in the ArgumentException.</param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DebuggerStepThrough]
public static void IsTrue( bool statement, string name, string message )
@ -251,12 +202,6 @@ namespace Standard
}
}
/// <summary>
/// Verifies that the specified value is within the expected range. The assertion fails if it isn't.
/// </summary>
/// <param name="lowerBoundInclusive">The lower bound inclusive value.</param>
/// <param name="value">The value to verify.</param>
/// <param name="upperBoundExclusive">The upper bound exclusive value.</param>
[SuppressMessage( "Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode" )]
[DebuggerStepThrough]
public static void BoundedInteger( int lowerBoundInclusive, int value, int upperBoundExclusive, string parameterName )

4
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/SystemCommands.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -91,8 +91,6 @@ namespace Microsoft.Windows.Shell
_PostSystemCommand( window, SC.RESTORE );
}
/// <summary>Display the system menu at a specified location.</summary>
/// <param name="screenLocation">The location to display the system menu, in logical screen coordinates.</param>
public static void ShowSystemMenu( Window window, Point screenLocation )
{
Verify.IsNotNull( window, "window" );

5
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/SystemParameters2.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -308,9 +308,6 @@ namespace Microsoft.Windows.Shell
#endregion
/// <summary>
/// Private constructor. The public way to access this class is through the static Current property.
/// </summary>
private SystemParameters2()
{
// This window gets used for calculations about standard caption button locations

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/WindowChrome.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -150,7 +150,6 @@ namespace Microsoft.Windows.Shell
( d, e ) => ( ( WindowChrome )d )._OnPropertyChangedThatRequiresRepaint() ),
value => ( double )value >= 0d );
/// <summary>The extent of the top of the window to treat as the caption.</summary>
public double CaptionHeight
{
get
@ -237,10 +236,6 @@ namespace Microsoft.Windows.Shell
#region ShowSystemMenu
/// <summary>
/// Gets or sets the ShowSystemMenu property. This dependency property
/// indicates if the system menu should be shown at right click on the caption.
/// </summary>
public bool ShowSystemMenu
{
get;

28
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/WindowChromeWorker.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -44,9 +44,7 @@ namespace Microsoft.Windows.Shell
private readonly List<HANDLE_MESSAGE> _messageTable;
/// <summary>The Window that's chrome is being modified.</summary>
private Window _window;
/// <summary>Underlying HWND for the _window.</summary>
private IntPtr _hwnd;
private HwndSource _hwndSource = null;
private bool _isHooked = false;
@ -60,7 +58,6 @@ namespace Microsoft.Windows.Shell
// Field to track attempts to force off Device Bitmaps on Win7.
private int _blackGlassFixupAttemptCount;
/// <summary>Object that describes the current modifications being made to the chrome.</summary>
private WindowChrome _chromeInfo;
// Keep track of this so we can detect when we need to apply changes. Tracking these separately
@ -713,10 +710,6 @@ namespace Microsoft.Windows.Shell
#endregion
/// <summary>Add and remove a native WindowStyle from the HWND.</summary>
/// <param name="removeStyle">The styles to be removed. These can be bitwise combined.</param>
/// <param name="addStyle">The styles to be added. These can be bitwise combined.</param>
/// <returns>Whether the styles of the HWND were modified as a result of this call.</returns>
private bool _ModifyStyle( WS removeStyle, WS addStyle )
{
Assert.IsNotDefault( _hwnd );
@ -731,9 +724,6 @@ namespace Microsoft.Windows.Shell
return true;
}
/// <summary>
/// Get the WindowState as the native HWND knows it to be. This isn't necessarily the same as what Window thinks.
/// </summary>
private WindowState _GetHwndState()
{
var wpl = NativeMethods.GetWindowPlacement( _hwnd );
@ -747,10 +737,6 @@ namespace Microsoft.Windows.Shell
return WindowState.Normal;
}
/// <summary>
/// Get the bounding rectangle for the window in physical coordinates.
/// </summary>
/// <returns>The bounding rectangle for the window.</returns>
private Rect _GetWindowRect()
{
// Get the window rectangle.
@ -758,15 +744,6 @@ namespace Microsoft.Windows.Shell
return new Rect( windowPosition.Left, windowPosition.Top, windowPosition.Width, windowPosition.Height );
}
/// <summary>
/// Update the items in the system menu based on the current, or assumed, WindowState.
/// </summary>
/// <param name="assumeState">
/// The state to assume that the Window is in. This can be null to query the Window's state.
/// </param>
/// <remarks>
/// We want to update the menu while we have some control over whether the caption will be repainted.
/// </remarks>
private void _UpdateSystemMenu( WindowState? assumeState )
{
const MF mfEnabled = MF.ENABLED | MF.BYCOMMAND;
@ -1089,9 +1066,6 @@ namespace Microsoft.Windows.Shell
}
}
/// <summary>
/// Matrix of the HT values to return when responding to NC window messages.
/// </summary>
[SuppressMessage( "Microsoft.Performance", "CA1814:PreferJaggedArraysOverMultidimensional", MessageId = "Member" )]
private static readonly HT[,] _HitTestBorders = new[ , ]
{

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/TransformExtentions.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WeakDictionary.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WindowActivateEventArgs.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WindowHookHandler.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/ActivateCommandLayoutItemFromLayoutModelConverter.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorSideToAngleConverter.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorSideToOrientationConverter.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorableContextMenuAutoHideHeaderConverter.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorableContextMenuHideVisibilityConverter.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AutoHideCommandLayoutItemFromLayoutModelConverter.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

23
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/BoolToVisibilityConverter.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
@ -26,16 +26,6 @@ namespace Xceed.Wpf.AvalonDock.Converters
{
#region IValueConverter Members
/// <summary>
/// Converts a value.
/// </summary>
/// <param name="value">The value produced by the binding source.</param>
/// <param name="targetType">The type of the binding target property.</param>
/// <param name="parameter">The converter parameter to use.</param>
/// <param name="culture">The culture to use in the converter.</param>
/// <returns>
/// A converted value. If the method returns null, the valid null value is used.
/// </returns>
public object Convert( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )
{
if( value is bool && targetType == typeof( Visibility ) )
@ -58,19 +48,8 @@ namespace Xceed.Wpf.AvalonDock.Converters
}
return Visibility.Visible;
///throw new ArgumentException("Invalid argument/return type. Expected argument: bool and return type: Visibility");
}
/// <summary>
/// Converts a value.
/// </summary>
/// <param name="value">The value that is produced by the binding target.</param>
/// <param name="targetType">The type to convert to.</param>
/// <param name="parameter">The converter parameter to use.</param>
/// <param name="culture">The culture to use in the converter.</param>
/// <returns>
/// A converted value. If the method returns null, the valid null value is used.
/// </returns>
public object ConvertBack( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )
{
if( value is Visibility && targetType == typeof( bool ) )

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/HideCommandLayoutItemFromLayoutModelConverter.cs

@ -2,7 +2,7 @@
Toolkit for WPF
Copyright (C) 2007-2022 Xceed Software Inc.
Copyright (C) 2007-2023 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save