Browse Source

Rename Popup.PlacementMode to Popup.Placement

pull/10664/head
robloo 4 years ago
parent
commit
2eb04c2719
  1. 2
      samples/IntegrationTestApp/MainWindow.axaml.cs
  2. 4
      src/Avalonia.Controls/ContextMenu.cs
  3. 2
      src/Avalonia.Controls/DateTimePickers/DatePicker.cs
  4. 2
      src/Avalonia.Controls/DateTimePickers/TimePicker.cs
  5. 14
      src/Avalonia.Controls/Flyouts/PopupFlyoutBase.cs
  6. 28
      src/Avalonia.Controls/Primitives/Popup.cs
  7. 2
      src/Avalonia.Controls/SplitButton/SplitButton.cs
  8. 2
      src/Avalonia.Themes.Fluent/Controls/DatePicker.xaml
  9. 2
      src/Avalonia.Themes.Fluent/Controls/MenuItem.xaml
  10. 2
      src/Avalonia.Themes.Fluent/Controls/TimePicker.xaml
  11. 2
      src/Avalonia.Themes.Simple/Controls/DatePicker.xaml
  12. 2
      src/Avalonia.Themes.Simple/Controls/MenuItem.xaml
  13. 2
      src/Avalonia.Themes.Simple/Controls/TimePicker.xaml
  14. 2
      tests/Avalonia.Controls.UnitTests/Primitives/PopupRootTests.cs
  15. 20
      tests/Avalonia.Controls.UnitTests/Primitives/PopupTests.cs

2
samples/IntegrationTestApp/MainWindow.axaml.cs

@ -158,7 +158,7 @@ namespace IntegrationTestApp
var popup = new Popup var popup = new Popup
{ {
WindowManagerAddShadowHint = false, WindowManagerAddShadowHint = false,
PlacementMode = PlacementMode.AnchorAndGravity, Placement = PlacementMode.AnchorAndGravity,
PlacementAnchor = PopupAnchor.Top, PlacementAnchor = PopupAnchor.Top,
PlacementGravity = PopupGravity.Bottom, PlacementGravity = PopupGravity.Bottom,
Width= 200, Width= 200,

4
src/Avalonia.Controls/ContextMenu.cs

@ -58,7 +58,7 @@ namespace Avalonia.Controls
/// Defines the <see cref="PlacementMode"/> property. /// Defines the <see cref="PlacementMode"/> property.
/// </summary> /// </summary>
public static readonly StyledProperty<PlacementMode> PlacementModeProperty = public static readonly StyledProperty<PlacementMode> PlacementModeProperty =
Popup.PlacementModeProperty.AddOwner<ContextMenu>(); Popup.PlacementProperty.AddOwner<ContextMenu>();
/// <summary> /// <summary>
/// Defines the <see cref="PlacementRect"/> property. /// Defines the <see cref="PlacementRect"/> property.
@ -343,7 +343,7 @@ namespace Avalonia.Controls
((ISetLogicalParent)_popup).SetParent(control); ((ISetLogicalParent)_popup).SetParent(control);
} }
_popup.PlacementMode = !requestedByPointer && PlacementMode == PlacementMode.Pointer _popup.Placement = !requestedByPointer && PlacementMode == PlacementMode.Pointer
? PlacementMode.Bottom ? PlacementMode.Bottom
: PlacementMode; : PlacementMode;

2
src/Avalonia.Controls/DateTimePickers/DatePicker.cs

@ -389,7 +389,7 @@ namespace Avalonia.Controls
_presenter.Date = SelectedDate ?? DateTimeOffset.Now; _presenter.Date = SelectedDate ?? DateTimeOffset.Now;
_popup.PlacementMode = PlacementMode.AnchorAndGravity; _popup.Placement = PlacementMode.AnchorAndGravity;
_popup.PlacementAnchor = Primitives.PopupPositioning.PopupAnchor.Bottom; _popup.PlacementAnchor = Primitives.PopupPositioning.PopupAnchor.Bottom;
_popup.PlacementGravity = Primitives.PopupPositioning.PopupGravity.Bottom; _popup.PlacementGravity = Primitives.PopupPositioning.PopupGravity.Bottom;
_popup.PlacementConstraintAdjustment = Primitives.PopupPositioning.PopupPositionerConstraintAdjustment.SlideY; _popup.PlacementConstraintAdjustment = Primitives.PopupPositioning.PopupPositionerConstraintAdjustment.SlideY;

2
src/Avalonia.Controls/DateTimePickers/TimePicker.cs

@ -255,7 +255,7 @@ namespace Avalonia.Controls
_presenter.Time = SelectedTime ?? DateTime.Now.TimeOfDay; _presenter.Time = SelectedTime ?? DateTime.Now.TimeOfDay;
_popup.PlacementMode = PlacementMode.AnchorAndGravity; _popup.Placement = PlacementMode.AnchorAndGravity;
_popup.PlacementAnchor = Primitives.PopupPositioning.PopupAnchor.Bottom; _popup.PlacementAnchor = Primitives.PopupPositioning.PopupAnchor.Bottom;
_popup.PlacementGravity = Primitives.PopupPositioning.PopupGravity.Bottom; _popup.PlacementGravity = Primitives.PopupPositioning.PopupGravity.Bottom;
_popup.PlacementConstraintAdjustment = Primitives.PopupPositioning.PopupPositionerConstraintAdjustment.SlideY; _popup.PlacementConstraintAdjustment = Primitives.PopupPositioning.PopupPositionerConstraintAdjustment.SlideY;

14
src/Avalonia.Controls/Flyouts/PopupFlyoutBase.cs

@ -14,9 +14,9 @@ namespace Avalonia.Controls.Primitives
{ {
public abstract class PopupFlyoutBase : FlyoutBase, IPopupHostProvider public abstract class PopupFlyoutBase : FlyoutBase, IPopupHostProvider
{ {
/// <inheritdoc cref="Popup.PlacementModeProperty"/> /// <inheritdoc cref="Popup.PlacementProperty"/>
public static readonly StyledProperty<PlacementMode> PlacementProperty = public static readonly StyledProperty<PlacementMode> PlacementProperty =
Popup.PlacementModeProperty.AddOwner<PopupFlyoutBase>(); Popup.PlacementProperty.AddOwner<PopupFlyoutBase>();
/// <inheritdoc cref="Popup.HorizontalOffsetProperty"/> /// <inheritdoc cref="Popup.HorizontalOffsetProperty"/>
public static readonly StyledProperty<double> HorizontalOffsetProperty = public static readonly StyledProperty<double> HorizontalOffsetProperty =
@ -64,15 +64,13 @@ namespace Avalonia.Controls.Primitives
protected Popup Popup => _popupLazy.Value; protected Popup Popup => _popupLazy.Value;
/// <summary> /// <inheritdoc cref="Popup.Placement"/>
/// Gets or sets the desired placement.
/// </summary>
public PlacementMode Placement public PlacementMode Placement
{ {
get => GetValue(PlacementProperty); get => GetValue(PlacementProperty);
set => SetValue(PlacementProperty, value); set => SetValue(PlacementProperty, value);
} }
/// <inheritdoc cref="Popup.PlacementGravity"/> /// <inheritdoc cref="Popup.PlacementGravity"/>
public PopupGravity PlacementGravity public PopupGravity PlacementGravity
{ {
@ -423,11 +421,11 @@ namespace Avalonia.Controls.Primitives
Popup.PlacementGravity = PlacementGravity; Popup.PlacementGravity = PlacementGravity;
if (showAtPointer) if (showAtPointer)
{ {
Popup.PlacementMode = PlacementMode.Pointer; Popup.Placement = PlacementMode.Pointer;
} }
else else
{ {
Popup.PlacementMode = Placement; Popup.Placement = Placement;
Popup.PlacementConstraintAdjustment = Popup.PlacementConstraintAdjustment =
PopupPositioning.PopupPositionerConstraintAdjustment.SlideX | PopupPositioning.PopupPositionerConstraintAdjustment.SlideX |
PopupPositioning.PopupPositionerConstraintAdjustment.SlideY; PopupPositioning.PopupPositionerConstraintAdjustment.SlideY;

28
src/Avalonia.Controls/Primitives/Popup.cs

@ -66,10 +66,10 @@ namespace Avalonia.Controls.Primitives
AvaloniaProperty.Register<Popup, PopupGravity>(nameof(PlacementGravity)); AvaloniaProperty.Register<Popup, PopupGravity>(nameof(PlacementGravity));
/// <summary> /// <summary>
/// Defines the <see cref="PlacementMode"/> property. /// Defines the <see cref="Placement"/> property.
/// </summary> /// </summary>
public static readonly StyledProperty<PlacementMode> PlacementModeProperty = public static readonly StyledProperty<PlacementMode> PlacementProperty =
AvaloniaProperty.Register<Popup, PlacementMode>(nameof(PlacementMode), defaultValue: PlacementMode.Bottom); AvaloniaProperty.Register<Popup, PlacementMode>(nameof(Placement), defaultValue: PlacementMode.Bottom);
/// <summary> /// <summary>
/// Defines the <see cref="PlacementRect"/> property. /// Defines the <see cref="PlacementRect"/> property.
@ -205,7 +205,7 @@ namespace Avalonia.Controls.Primitives
} }
/// <summary> /// <summary>
/// Gets or sets the anchor point on the <see cref="PlacementRect"/> when <see cref="PlacementMode"/> /// Gets or sets the anchor point on the <see cref="PlacementRect"/> when <see cref="Placement"/>
/// is <see cref="PlacementMode.AnchorAndGravity"/>. /// is <see cref="PlacementMode.AnchorAndGravity"/>.
/// </summary> /// </summary>
public PopupAnchor PlacementAnchor public PopupAnchor PlacementAnchor
@ -226,7 +226,7 @@ namespace Avalonia.Controls.Primitives
/// <summary> /// <summary>
/// Gets or sets a value which defines in what direction the popup should open /// Gets or sets a value which defines in what direction the popup should open
/// when <see cref="PlacementMode"/> is <see cref="PlacementMode.AnchorAndGravity"/>. /// when <see cref="Placement"/> is <see cref="PlacementMode.AnchorAndGravity"/>.
/// </summary> /// </summary>
public PopupGravity PlacementGravity public PopupGravity PlacementGravity
{ {
@ -235,17 +235,17 @@ namespace Avalonia.Controls.Primitives
} }
/// <summary> /// <summary>
/// Gets or sets the placement mode of the popup in relation to the <see cref="PlacementTarget"/>. /// Gets or sets the desired placement of the popup in relation to the <see cref="PlacementTarget"/>.
/// </summary> /// </summary>
public PlacementMode PlacementMode public PlacementMode Placement
{ {
get { return GetValue(PlacementModeProperty); } get { return GetValue(PlacementProperty); }
set { SetValue(PlacementModeProperty, value); } set { SetValue(PlacementProperty, value); }
} }
/// <summary> /// <summary>
/// Gets or sets the the anchor rectangle within the parent that the popup will be placed /// Gets or sets the the anchor rectangle within the parent that the popup will be placed
/// relative to when <see cref="PlacementMode"/> is <see cref="PlacementMode.AnchorAndGravity"/>. /// relative to when <see cref="Placement"/> is <see cref="PlacementMode.AnchorAndGravity"/>.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// The placement rect defines a rectangle relative to <see cref="PlacementTarget"/> around /// The placement rect defines a rectangle relative to <see cref="PlacementTarget"/> around
@ -404,7 +404,7 @@ namespace Avalonia.Controls.Primitives
(x, handler) => x.LostFocus -= handler).DisposeWith(handlerCleanup); (x, handler) => x.LostFocus -= handler).DisposeWith(handlerCleanup);
// Recalculate popup position on parent moved/resized, but not if placement was on pointer // Recalculate popup position on parent moved/resized, but not if placement was on pointer
if (PlacementMode != PlacementMode.Pointer) if (Placement != PlacementMode.Pointer)
{ {
SubscribeToEventHandler<IWindowImpl, Action<PixelPoint>>(window.PlatformImpl, WindowPositionChanged, SubscribeToEventHandler<IWindowImpl, Action<PixelPoint>>(window.PlatformImpl, WindowPositionChanged,
(x, handler) => x.PositionChanged += handler, (x, handler) => x.PositionChanged += handler,
@ -534,7 +534,7 @@ namespace Avalonia.Controls.Primitives
UpdateHostSizing(_openState.PopupHost, _openState.TopLevel, _openState.PlacementTarget); UpdateHostSizing(_openState.PopupHost, _openState.TopLevel, _openState.PlacementTarget);
} }
else if (change.Property == PlacementTargetProperty || else if (change.Property == PlacementTargetProperty ||
change.Property == PlacementModeProperty || change.Property == PlacementProperty ||
change.Property == HorizontalOffsetProperty || change.Property == HorizontalOffsetProperty ||
change.Property == VerticalOffsetProperty || change.Property == VerticalOffsetProperty ||
change.Property == PlacementAnchorProperty || change.Property == PlacementAnchorProperty ||
@ -567,7 +567,7 @@ namespace Avalonia.Controls.Primitives
{ {
popupHost.ConfigurePosition( popupHost.ConfigurePosition(
placementTarget, placementTarget,
PlacementMode, Placement,
new Point(HorizontalOffset, VerticalOffset), new Point(HorizontalOffset, VerticalOffset),
PlacementAnchor, PlacementAnchor,
PlacementGravity, PlacementGravity,
@ -615,7 +615,7 @@ namespace Avalonia.Controls.Primitives
return; return;
_openState.PopupHost.ConfigurePosition( _openState.PopupHost.ConfigurePosition(
placementTarget, placementTarget,
PlacementMode, Placement,
new Point(HorizontalOffset, VerticalOffset), new Point(HorizontalOffset, VerticalOffset),
PlacementAnchor, PlacementAnchor,
PlacementGravity, PlacementGravity,

2
src/Avalonia.Controls/SplitButton/SplitButton.cs

@ -172,7 +172,7 @@ namespace Avalonia.Controls
flyout.Opened += Flyout_Opened; flyout.Opened += Flyout_Opened;
flyout.Closed += Flyout_Closed; flyout.Closed += Flyout_Closed;
_flyoutPropertyChangedDisposable = flyout.GetPropertyChangedObservable(Popup.PlacementModeProperty).Subscribe(Flyout_PlacementPropertyChanged); _flyoutPropertyChangedDisposable = flyout.GetPropertyChangedObservable(Popup.PlacementProperty).Subscribe(Flyout_PlacementPropertyChanged);
} }
} }

2
src/Avalonia.Themes.Fluent/Controls/DatePicker.xaml

@ -127,7 +127,7 @@
<Popup Name="PART_Popup" WindowManagerAddShadowHint="False" <Popup Name="PART_Popup" WindowManagerAddShadowHint="False"
IsLightDismissEnabled="True" PlacementTarget="{TemplateBinding}" IsLightDismissEnabled="True" PlacementTarget="{TemplateBinding}"
PlacementMode="Bottom"> Placement="Bottom">
<DatePickerPresenter Name="PART_PickerPresenter" /> <DatePickerPresenter Name="PART_PickerPresenter" />
</Popup> </Popup>

2
src/Avalonia.Themes.Fluent/Controls/MenuItem.xaml

@ -118,7 +118,7 @@
</Border> </Border>
<Popup Name="PART_Popup" <Popup Name="PART_Popup"
WindowManagerAddShadowHint="False" WindowManagerAddShadowHint="False"
PlacementMode="Right" Placement="Right"
HorizontalOffset="{DynamicResource MenuFlyoutSubItemPopupHorizontalOffset}" HorizontalOffset="{DynamicResource MenuFlyoutSubItemPopupHorizontalOffset}"
IsLightDismissEnabled="False" IsLightDismissEnabled="False"
IsOpen="{TemplateBinding IsSubMenuOpen, Mode=TwoWay}"> IsOpen="{TemplateBinding IsSubMenuOpen, Mode=TwoWay}">

2
src/Avalonia.Themes.Fluent/Controls/TimePicker.xaml

@ -151,7 +151,7 @@
WindowManagerAddShadowHint="False" WindowManagerAddShadowHint="False"
IsLightDismissEnabled="True" IsLightDismissEnabled="True"
PlacementTarget="{TemplateBinding}" PlacementTarget="{TemplateBinding}"
PlacementMode="Bottom"> Placement="Bottom">
<TimePickerPresenter Name="PART_PickerPresenter" /> <TimePickerPresenter Name="PART_PickerPresenter" />
</Popup> </Popup>

2
src/Avalonia.Themes.Simple/Controls/DatePicker.xaml

@ -142,7 +142,7 @@
<Popup Name="PART_Popup" <Popup Name="PART_Popup"
IsLightDismissEnabled="True" IsLightDismissEnabled="True"
PlacementMode="Bottom" Placement="Bottom"
PlacementTarget="{TemplateBinding}" PlacementTarget="{TemplateBinding}"
WindowManagerAddShadowHint="False"> WindowManagerAddShadowHint="False">
<DatePickerPresenter Name="PART_PickerPresenter" /> <DatePickerPresenter Name="PART_PickerPresenter" />

2
src/Avalonia.Themes.Simple/Controls/MenuItem.xaml

@ -65,7 +65,7 @@
IsLightDismissEnabled="False" IsLightDismissEnabled="False"
IsOpen="{TemplateBinding IsSubMenuOpen, IsOpen="{TemplateBinding IsSubMenuOpen,
Mode=TwoWay}" Mode=TwoWay}"
PlacementMode="Right"> Placement="Right">
<Border Background="{DynamicResource ThemeBackgroundBrush}" <Border Background="{DynamicResource ThemeBackgroundBrush}"
BorderBrush="{DynamicResource ThemeBorderMidBrush}" BorderBrush="{DynamicResource ThemeBorderMidBrush}"
BorderThickness="{TemplateBinding BorderThickness}"> BorderThickness="{TemplateBinding BorderThickness}">

2
src/Avalonia.Themes.Simple/Controls/TimePicker.xaml

@ -156,7 +156,7 @@
<Popup Name="PART_Popup" <Popup Name="PART_Popup"
IsLightDismissEnabled="True" IsLightDismissEnabled="True"
PlacementMode="Bottom" Placement="Bottom"
PlacementTarget="{TemplateBinding}" PlacementTarget="{TemplateBinding}"
WindowManagerAddShadowHint="False"> WindowManagerAddShadowHint="False">
<TimePickerPresenter Name="PART_PickerPresenter" /> <TimePickerPresenter Name="PART_PickerPresenter" />

2
tests/Avalonia.Controls.UnitTests/Primitives/PopupRootTests.cs

@ -67,7 +67,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
using (UnitTestApplication.Start(TestServices.StyledWindow)) using (UnitTestApplication.Start(TestServices.StyledWindow))
{ {
var window = new Window(); var window = new Window();
var target = new Popup {PlacementMode = PlacementMode.Pointer}; var target = new Popup {Placement = PlacementMode.Pointer};
var child = new Control(); var child = new Control();
window.Content = target; window.Content = target;

20
tests/Avalonia.Controls.UnitTests/Primitives/PopupTests.cs

@ -207,7 +207,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
{ {
using (CreateServices()) using (CreateServices())
{ {
var target = new Popup() {PlacementMode = PlacementMode.Pointer}; var target = new Popup() {Placement = PlacementMode.Pointer};
var root = PreparedWindow(target); var root = PreparedWindow(target);
target.Open(); target.Open();
@ -226,7 +226,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
using (CreateServices()) using (CreateServices())
{ {
var window = PreparedWindow(); var window = PreparedWindow();
var target = new Popup() {PlacementMode = PlacementMode.Pointer}; var target = new Popup() {Placement = PlacementMode.Pointer};
window.Content = target; window.Content = target;
@ -249,7 +249,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
using (CreateServices()) using (CreateServices())
{ {
var window = PreparedWindow(); var window = PreparedWindow();
var target = new Popup() {PlacementMode = PlacementMode.Pointer}; var target = new Popup() {Placement = PlacementMode.Pointer};
window.Content = target; window.Content = target;
window.ApplyTemplate(); window.ApplyTemplate();
@ -274,7 +274,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
using (CreateServices()) using (CreateServices())
{ {
var window = PreparedWindow(); var window = PreparedWindow();
var target = new Popup() { PlacementMode = PlacementMode.Pointer }; var target = new Popup() { Placement = PlacementMode.Pointer };
window.Content = target; window.Content = target;
window.ApplyTemplate(); window.ApplyTemplate();
@ -742,7 +742,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
{ {
Width = 400, Width = 400,
Height = 200, Height = 200,
PlacementMode = PlacementMode.Pointer Placement = PlacementMode.Pointer
}; };
var window = PreparedWindow(popup); var window = PreparedWindow(popup);
window.Show(); window.Show();
@ -791,7 +791,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
var popup = new Popup() var popup = new Popup()
{ {
PlacementTarget = placementTarget, PlacementTarget = placementTarget,
PlacementMode = PlacementMode.Bottom, Placement = PlacementMode.Bottom,
Width = 10, Width = 10,
Height = 10 Height = 10
}; };
@ -852,7 +852,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
var popup = new Popup() var popup = new Popup()
{ {
PlacementTarget = placementTarget, PlacementTarget = placementTarget,
PlacementMode = PlacementMode.Pointer, Placement = PlacementMode.Pointer,
Width = 10, Width = 10,
Height = 10 Height = 10
}; };
@ -907,7 +907,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
var popup = new Popup() var popup = new Popup()
{ {
PlacementTarget = placementTarget, PlacementTarget = placementTarget,
PlacementMode = PlacementMode.Bottom, Placement = PlacementMode.Bottom,
Width = 10, Width = 10,
Height = 10 Height = 10
}; };
@ -967,7 +967,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
var popup = new Popup() var popup = new Popup()
{ {
PlacementTarget = placementTarget, PlacementTarget = placementTarget,
PlacementMode = PlacementMode.Pointer, Placement = PlacementMode.Pointer,
Width = 10, Width = 10,
Height = 10 Height = 10
}; };
@ -1020,7 +1020,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
Width = 20, Width = 20,
Height = 20, Height = 20,
PlacementTarget = parentPopup, PlacementTarget = parentPopup,
PlacementMode = PlacementMode.AnchorAndGravity, Placement = PlacementMode.AnchorAndGravity,
PlacementAnchor = PopupAnchor.TopLeft, PlacementAnchor = PopupAnchor.TopLeft,
PlacementGravity = PopupGravity.BottomRight PlacementGravity = PopupGravity.BottomRight
}; };

Loading…
Cancel
Save