Browse Source

Merge branch 'master' into pr/451

pull/1187/head
XceedBoucherS 9 years ago
committed by GitHub
parent
commit
5b31cf9a18
  1. 26
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableTabItem.cs
  2. 16
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs
  3. 23
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutContent.cs
  4. 2
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MaskedTextBox/Implementation/MaskedTextBox.cs
  5. 16
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/RichTextBoxFormatBarManager.cs

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

@ -116,8 +116,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
#endregion
bool _isMouseDown = false;
static LayoutAnchorableTabItem _draggingItem = null;
private bool _isMouseDown = false;
private static LayoutAnchorableTabItem _draggingItem = null;
// There's an issue with panes resizing when selecting another tab, causing a
// mouse leave event to make the tab undock. This fixes that.
private static bool _cancelNextMouseLeave = false;
internal static bool IsDraggingItem()
{
@ -132,6 +135,10 @@ namespace Xceed.Wpf.AvalonDock.Controls
{
_draggingItem = null;
}
internal static void CancelNextMouseLeave()
{
_cancelNextMouseLeave = true;
}
protected override void OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs e)
{
@ -150,6 +157,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
_isMouseDown = false;
_draggingItem = null;
}
else
{
_cancelNextMouseLeave = false;
}
}
protected override void OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs e)
@ -167,10 +179,18 @@ namespace Xceed.Wpf.AvalonDock.Controls
if (_isMouseDown && e.LeftButton == MouseButtonState.Pressed)
{
_draggingItem = this;
if (!_cancelNextMouseLeave)
{
_draggingItem = this;
}
else
{
_draggingItem = null;
}
}
_isMouseDown = false;
_cancelNextMouseLeave = false;
}
protected override void OnMouseEnter(MouseEventArgs e)

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

@ -388,6 +388,10 @@ namespace Xceed.Wpf.AvalonDock.Controls
{
prevChildModel.DockWidth = new GridLength(prevChildModel.DockWidth.Value * (prevChildActualSize.Width + delta) / prevChildActualSize.Width, GridUnitType.Star);
}
else if (prevChildModel.DockWidth.IsAuto)
{
prevChildModel.DockWidth = new GridLength(prevChildActualSize.Width + delta, GridUnitType.Pixel);
}
else
{
prevChildModel.DockWidth = new GridLength(prevChildModel.DockWidth.Value + delta, GridUnitType.Pixel);
@ -397,6 +401,10 @@ namespace Xceed.Wpf.AvalonDock.Controls
{
nextChildModel.DockWidth = new GridLength(nextChildModel.DockWidth.Value * (nextChildActualSize.Width - delta) / nextChildActualSize.Width, GridUnitType.Star);
}
else if (nextChildModel.DockWidth.IsAuto)
{
nextChildModel.DockWidth = new GridLength(nextChildActualSize.Width - delta, GridUnitType.Pixel);
}
else
{
nextChildModel.DockWidth = new GridLength(nextChildModel.DockWidth.Value - delta, GridUnitType.Pixel);
@ -408,6 +416,10 @@ namespace Xceed.Wpf.AvalonDock.Controls
{
prevChildModel.DockHeight = new GridLength(prevChildModel.DockHeight.Value * (prevChildActualSize.Height + delta) / prevChildActualSize.Height, GridUnitType.Star);
}
else if (prevChildModel.DockHeight.IsAuto)
{
prevChildModel.DockHeight = new GridLength(prevChildActualSize.Height + delta, GridUnitType.Pixel);
}
else
{
prevChildModel.DockHeight = new GridLength(prevChildModel.DockHeight.Value + delta, GridUnitType.Pixel);
@ -417,6 +429,10 @@ namespace Xceed.Wpf.AvalonDock.Controls
{
nextChildModel.DockHeight = new GridLength(nextChildModel.DockHeight.Value * (nextChildActualSize.Height - delta) / nextChildActualSize.Height, GridUnitType.Star);
}
else if (nextChildModel.DockHeight.IsAuto)
{
nextChildModel.DockHeight = new GridLength(nextChildActualSize.Height - delta, GridUnitType.Pixel);
}
else
{
nextChildModel.DockHeight = new GridLength(nextChildModel.DockHeight.Value - delta, GridUnitType.Pixel);

23
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutContent.cs

@ -84,25 +84,31 @@ namespace Xceed.Wpf.AvalonDock.Layout
#region ContentId
private string _contentId = null;
//Added to make ContentId bindable
public static DependencyProperty ContentIdProperty =
DependencyProperty.Register(nameof(ContentId),
typeof(string), typeof(LayoutContent), new FrameworkPropertyMetadata(null, (s, e) =>
{
(s as LayoutContent)?.RaisePropertyChanged(nameof(ContentId));
}));
public string ContentId
{
get
get
{
if (_contentId == null)
{
if (GetValue(ContentIdProperty) == null)
{
var contentAsControl = _content as FrameworkElement;
if (contentAsControl != null && !string.IsNullOrWhiteSpace(contentAsControl.Name))
return contentAsControl.Name;
}
return _contentId;
return (string)GetValue(ContentIdProperty);
}
set
{
if (_contentId != value)
if (!String.Equals(GetValue(ContentIdProperty) as string, value))
{
_contentId = value;
RaisePropertyChanged("ContentId");
SetValue(ContentIdProperty, value);
}
}
}
@ -127,6 +133,7 @@ namespace Xceed.Wpf.AvalonDock.Layout
parentSelector.SelectedContentIndex = _isSelected ? parentSelector.IndexOf(this) : -1;
OnIsSelectedChanged(oldValue, value);
RaisePropertyChanged("IsSelected");
Controls.LayoutAnchorableTabItem.CancelNextMouseLeave();
}
}
}

2
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MaskedTextBox/Implementation/MaskedTextBox.cs

@ -1441,7 +1441,7 @@ namespace Xceed.Wpf.Toolkit
internal override bool GetIsEditTextEmpty()
{
return ( this.MaskedTextProvider.AssignedEditPositionCount == 0 );
return MaskedTextProvider != null && (MaskedTextProvider.AssignedEditPositionCount == 0 );
}
#endregion INTERNAL PROPERTIES

16
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/RichTextBoxFormatBarManager.cs

@ -210,13 +210,25 @@ namespace Xceed.Wpf.Toolkit
//top
if( top < 0 )
{
top = mousePosition.Y + 10;
top = Math.Max( mousePosition.Y + 10, 5 );
}
// bottom
if ( top + adorningEditor.ActualHeight > _richTextBox.ActualHeight - 20 )
{
top = _richTextBox.ActualHeight - adorningEditor.ActualHeight - 20;
}
// left boundary
if ( left < 0 )
{
left = 5;
}
//right boundary
if( left + adorningEditor.ActualWidth > _richTextBox.ActualWidth - 20 )
{
left = left - ( adorningEditor.ActualWidth - ( _richTextBox.ActualWidth - left ) );
left = _richTextBox.ActualWidth - adorningEditor.ActualWidth - 20;
}
_adorner.SetOffsets( left, top );

Loading…
Cancel
Save