Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,10 @@ namespace ReactiveUI
where TSender : ReactiveUI.IReactiveObject { }
public static void RaisePropertyChanging<TSender>(this TSender reactiveObject, [System.Runtime.CompilerServices.CallerMemberName] string? propertyName = null)
where TSender : ReactiveUI.IReactiveObject { }
public static void SubscribePropertyChangedEvents<TSender>(this TSender reactiveObject)
where TSender : ReactiveUI.IReactiveObject { }
public static void SubscribePropertyChangingEvents<TSender>(this TSender reactiveObject)
where TSender : ReactiveUI.IReactiveObject { }
}
public interface IReactivePropertyChangedEventArgs<out TSender>
{
Expand Down Expand Up @@ -658,8 +662,8 @@ namespace ReactiveUI
protected virtual bool PrintMembers(System.Text.StringBuilder builder) { }
public System.IDisposable SuppressChangeNotifications() { }
public override string ToString() { }
public static bool operator !=(ReactiveUI.ReactiveRecord? r1, ReactiveUI.ReactiveRecord? r2) { }
public static bool operator ==(ReactiveUI.ReactiveRecord? r1, ReactiveUI.ReactiveRecord? r2) { }
public static bool operator !=(ReactiveUI.ReactiveRecord? left, ReactiveUI.ReactiveRecord? right) { }
public static bool operator ==(ReactiveUI.ReactiveRecord? left, ReactiveUI.ReactiveRecord? right) { }
}
public static class Reflection
{
Expand Down Expand Up @@ -931,4 +935,4 @@ namespace System.Reactive.Disposables
public static T DisposeWith<T>(this T item, System.Reactive.Disposables.CompositeDisposable compositeDisposable)
where T : System.IDisposable { }
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,10 @@ namespace ReactiveUI
where TSender : ReactiveUI.IReactiveObject { }
public static void RaisePropertyChanging<TSender>(this TSender reactiveObject, [System.Runtime.CompilerServices.CallerMemberName] string? propertyName = null)
where TSender : ReactiveUI.IReactiveObject { }
public static void SubscribePropertyChangedEvents<TSender>(this TSender reactiveObject)
where TSender : ReactiveUI.IReactiveObject { }
public static void SubscribePropertyChangingEvents<TSender>(this TSender reactiveObject)
where TSender : ReactiveUI.IReactiveObject { }
}
public interface IReactivePropertyChangedEventArgs<out TSender>
{
Expand Down Expand Up @@ -653,8 +657,8 @@ namespace ReactiveUI
protected virtual bool PrintMembers(System.Text.StringBuilder builder) { }
public System.IDisposable SuppressChangeNotifications() { }
public override string ToString() { }
public static bool operator !=(ReactiveUI.ReactiveRecord? r1, ReactiveUI.ReactiveRecord? r2) { }
public static bool operator ==(ReactiveUI.ReactiveRecord? r1, ReactiveUI.ReactiveRecord? r2) { }
public static bool operator !=(ReactiveUI.ReactiveRecord? left, ReactiveUI.ReactiveRecord? right) { }
public static bool operator ==(ReactiveUI.ReactiveRecord? left, ReactiveUI.ReactiveRecord? right) { }
}
public static class Reflection
{
Expand Down Expand Up @@ -926,4 +930,4 @@ namespace System.Reactive.Disposables
public static T DisposeWith<T>(this T item, System.Reactive.Disposables.CompositeDisposable compositeDisposable)
where T : System.IDisposable { }
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,10 @@ namespace ReactiveUI
where TSender : ReactiveUI.IReactiveObject { }
public static void RaisePropertyChanging<TSender>(this TSender reactiveObject, [System.Runtime.CompilerServices.CallerMemberName] string? propertyName = null)
where TSender : ReactiveUI.IReactiveObject { }
public static void SubscribePropertyChangedEvents<TSender>(this TSender reactiveObject)
where TSender : ReactiveUI.IReactiveObject { }
public static void SubscribePropertyChangingEvents<TSender>(this TSender reactiveObject)
where TSender : ReactiveUI.IReactiveObject { }
}
public interface IReactivePropertyChangedEventArgs<out TSender>
{
Expand Down Expand Up @@ -651,8 +655,8 @@ namespace ReactiveUI
protected virtual bool PrintMembers(System.Text.StringBuilder builder) { }
public System.IDisposable SuppressChangeNotifications() { }
public override string ToString() { }
public static bool operator !=(ReactiveUI.ReactiveRecord? r1, ReactiveUI.ReactiveRecord? r2) { }
public static bool operator ==(ReactiveUI.ReactiveRecord? r1, ReactiveUI.ReactiveRecord? r2) { }
public static bool operator !=(ReactiveUI.ReactiveRecord? left, ReactiveUI.ReactiveRecord? right) { }
public static bool operator ==(ReactiveUI.ReactiveRecord? left, ReactiveUI.ReactiveRecord? right) { }
}
public static class Reflection
{
Expand Down Expand Up @@ -924,4 +928,4 @@ namespace System.Reactive.Disposables
public static T DisposeWith<T>(this T item, System.Reactive.Disposables.CompositeDisposable compositeDisposable)
where T : System.IDisposable { }
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,10 @@ public void TypeConvertedTwoWayBindSmokeTest()
vm.JustADecimal = 17.2m;
var disp1 = fixture.Bind(vm, view, x => x.JustADecimal, x => x.SomeTextBox.Text, (IObservable<Unit>?)null, null);

Assert.Equal(vm.JustADecimal.ToString(CultureInfo.InvariantCulture), view.SomeTextBox.Text);
Assert.Equal(vm.JustADecimal.ToString(CultureInfo.CurrentCulture), view.SomeTextBox.Text);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These tests were failing on my machine, because here in Austria we have comma "," as decimal separator. I suppose this now runs on every machine, but I'll revert it if breaks something

Assert.Equal(17.2m, vm.JustADecimal);

view.SomeTextBox.Text = 42.3m.ToString(CultureInfo.InvariantCulture);
view.SomeTextBox.Text = 42.3m.ToString(CultureInfo.CurrentCulture);
Assert.Equal(42.3m, vm.JustADecimal);

// Bad formatting.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ public void CanBindViewModelToWinformControls()
var disp2 = view.Bind(vm, x => x.SomeDouble, x => x.Property3.Text);
vm.SomeDouble = 123.4;

Assert.Equal(vm.SomeDouble.ToString(CultureInfo.InvariantCulture), view.Property3.Text);
Assert.Equal(vm.SomeDouble.ToString(CultureInfo.CurrentCulture), view.Property3.Text);
}

/// <summary>
Expand Down
2 changes: 1 addition & 1 deletion src/ReactiveUI.Tests/Utilities/ApiApprovalBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ protected static void CheckApproval(Assembly assembly, [CallerMemberName]string?
}
}

Assert.Equal(approvedPublicApi, receivedPublicApi);
Assert.Equal(approvedPublicApi.Trim(), receivedPublicApi);
Copy link
Contributor Author

@bruzkovsky bruzkovsky Jun 1, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know why my VS keeps adding a blank line at the end of the approval files when saving, but with this the tests are green.

}

private static string Filter(string text)
Expand Down
44 changes: 28 additions & 16 deletions src/ReactiveUI/ReactiveObject/IReactiveObjectExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,34 @@ public static void RaisePropertyChanging<TSender>(this TSender reactiveObject, [
}
}

/// <summary>
/// Use this method for enabling classic PropertyChanging events when you
/// are implementing IReactiveObject manually.
/// </summary>
/// <typeparam name="TSender">The sender type.</typeparam>
/// <param name="reactiveObject">The instance of IReactiveObject which should propagate property changes.</param>
public static void SubscribePropertyChangingEvents<TSender>(this TSender reactiveObject)
where TSender : IReactiveObject
{
var s = state.GetValue(reactiveObject, _ => (IExtensionState<IReactiveObject>)new ExtensionState<TSender>(reactiveObject));

s.SubscribePropertyChangingEvents();
}

/// <summary>
/// Use this method for enabling classic PropertyChanged events when you
/// are implementing IReactiveObject manually.
/// </summary>
/// <typeparam name="TSender">The sender type.</typeparam>
/// <param name="reactiveObject">The instance of IReactiveObject which should propagate property changes.</param>
public static void SubscribePropertyChangedEvents<TSender>(this TSender reactiveObject)
where TSender : IReactiveObject
{
var s = state.GetValue(reactiveObject, _ => (IExtensionState<IReactiveObject>)new ExtensionState<TSender>(reactiveObject));

s.SubscribePropertyChangedEvents();
}

internal static IObservable<IReactivePropertyChangedEventArgs<TSender>> GetChangedObservable<TSender>(this TSender reactiveObject)
where TSender : IReactiveObject
{
Expand All @@ -191,14 +219,6 @@ internal static IObservable<Exception> GetThrownExceptionsObservable<TSender>(th
return s.ThrownExceptions;
}

internal static void SubscribePropertyChangingEvents<TSender>(this TSender reactiveObject)
where TSender : IReactiveObject
{
var s = state.GetValue(reactiveObject, _ => (IExtensionState<IReactiveObject>)new ExtensionState<TSender>(reactiveObject));

s.SubscribePropertyChangingEvents();
}

internal static void RaisingPropertyChanging<TSender>(this TSender reactiveObject, string propertyName)
where TSender : IReactiveObject
{
Expand All @@ -212,14 +232,6 @@ internal static void RaisingPropertyChanging<TSender>(this TSender reactiveObjec
s.RaisePropertyChanging(propertyName);
}

internal static void SubscribePropertyChangedEvents<TSender>(this TSender reactiveObject)
where TSender : IReactiveObject
{
var s = state.GetValue(reactiveObject, _ => (IExtensionState<IReactiveObject>)new ExtensionState<TSender>(reactiveObject));

s.SubscribePropertyChangedEvents();
}

internal static void RaisingPropertyChanged<TSender>(this TSender reactiveObject, string propertyName)
where TSender : IReactiveObject
{
Expand Down