From 503adc3bab6bc8b9ce7ac4f1e9ea8bc9ee6304d5 Mon Sep 17 00:00:00 2001 From: Federico Maccaroni Date: Thu, 19 Sep 2019 16:15:35 -0300 Subject: [PATCH] Added multiplatform support, adapted iOS implementation, implemented macOS and added macOS sample project --- .../Cirrious.FluentLayouts.Touch.csproj | 99 ++++---- .../Mac/AdvancedFluentLayoutExtensions.cs | 227 ++++++++++++++++++ .../Mac/Extensions/NSViewExtensions.cs | 13 + .../{ => Platforms/Mac}/FluentLayout.cs | 26 +- .../Platforms/Mac/FluentLayoutExtensions.cs | 72 ++++++ .../Platforms/Mac/NSViewAndLayoutAttribute.cs | 33 +++ .../Mac/RowSet-WorkInProgress/RowSet.cs | 167 +++++++++++++ .../Shared}/Extensions/ArrayExtensions.cs | 0 .../{ => Platforms/Shared}/Margins.cs | 0 .../Shared}/NfloatExtensions.cs | 0 .../iOS}/AdvancedFluentLayoutExtensions.cs | 0 .../Platforms/iOS/FluentLayout.cs | 219 +++++++++++++++++ .../iOS}/FluentLayoutExtensions.cs | 0 .../iOS}/RowSet-WorkInProgress/RowSet.cs | 0 .../iOS}/UIViewAndLayoutAttribute.cs | 0 .../Properties/AssemblyInfo.cs | 46 ---- QuickLayout.Mac/AppDelegate.cs | 11 + .../AppIcon.appiconset/AppIcon-128.png | Bin 0 -> 8125 bytes .../AppIcon.appiconset/AppIcon-128@2x.png | Bin 0 -> 20798 bytes .../AppIcon.appiconset/AppIcon-16.png | Bin 0 -> 711 bytes .../AppIcon.appiconset/AppIcon-16@2x.png | Bin 0 -> 1484 bytes .../AppIcon.appiconset/AppIcon-256.png | Bin 0 -> 20798 bytes .../AppIcon.appiconset/AppIcon-256@2x.png | Bin 0 -> 59335 bytes .../AppIcon.appiconset/AppIcon-32.png | Bin 0 -> 1484 bytes .../AppIcon.appiconset/AppIcon-32@2x.png | Bin 0 -> 3428 bytes .../AppIcon.appiconset/AppIcon-512.png | Bin 0 -> 59335 bytes .../AppIcon.appiconset/AppIcon-512@2x.png | Bin 0 -> 177632 bytes .../AppIcon.appiconset/Contents.json | 68 ++++++ QuickLayout.Mac/Assets.xcassets/Contents.json | 6 + .../Converters/FloatToIntConverter.cs | 19 ++ .../Converters/FloatToNFloatConverter.cs | 14 ++ QuickLayout.Mac/Entitlements.plist | 6 + QuickLayout.Mac/Info.plist | 30 +++ QuickLayout.Mac/LinkerPleaseInclude.cs | 122 ++++++++++ QuickLayout.Mac/Main.cs | 14 ++ QuickLayout.Mac/QuickLayout.Mac.csproj | 125 ++++++++++ .../Views/AdvancedVerticalStackView.cs | 98 ++++++++ QuickLayout.Mac/Views/DetailsView.cs | 75 ++++++ QuickLayout.Mac/Views/DirectionFormView.cs | 74 ++++++ QuickLayout.Mac/Views/FirstView.cs | 87 +++++++ QuickLayout.Mac/Views/FlippedView.cs | 32 +++ QuickLayout.Mac/Views/FormGridView.cs | 135 +++++++++++ QuickLayout.Mac/Views/FormView.cs | 128 ++++++++++ QuickLayout.Mac/Views/FullSizeView.cs | 63 +++++ QuickLayout.Mac/Views/NSColoredView.cs | 13 + QuickLayout.Mac/Views/RightToLeftView.cs | 145 +++++++++++ QuickLayout.Mac/Views/SearchView.cs | 48 ++++ QuickLayout.Mac/Views/TipView.cs | 73 ++++++ .../Views/ToCenterConstraintsView.cs | 54 +++++ .../Views/UpdateConstraintsView.cs | 65 +++++ QuickLayout.sln | 34 +++ 51 files changed, 2325 insertions(+), 116 deletions(-) create mode 100644 Cirrious.FluentLayout/Platforms/Mac/AdvancedFluentLayoutExtensions.cs create mode 100644 Cirrious.FluentLayout/Platforms/Mac/Extensions/NSViewExtensions.cs rename Cirrious.FluentLayout/{ => Platforms/Mac}/FluentLayout.cs (86%) create mode 100644 Cirrious.FluentLayout/Platforms/Mac/FluentLayoutExtensions.cs create mode 100644 Cirrious.FluentLayout/Platforms/Mac/NSViewAndLayoutAttribute.cs create mode 100644 Cirrious.FluentLayout/Platforms/Mac/RowSet-WorkInProgress/RowSet.cs rename Cirrious.FluentLayout/{ => Platforms/Shared}/Extensions/ArrayExtensions.cs (100%) rename Cirrious.FluentLayout/{ => Platforms/Shared}/Margins.cs (100%) rename Cirrious.FluentLayout/{ => Platforms/Shared}/NfloatExtensions.cs (100%) rename Cirrious.FluentLayout/{ => Platforms/iOS}/AdvancedFluentLayoutExtensions.cs (100%) create mode 100644 Cirrious.FluentLayout/Platforms/iOS/FluentLayout.cs rename Cirrious.FluentLayout/{ => Platforms/iOS}/FluentLayoutExtensions.cs (100%) rename Cirrious.FluentLayout/{ => Platforms/iOS}/RowSet-WorkInProgress/RowSet.cs (100%) rename Cirrious.FluentLayout/{ => Platforms/iOS}/UIViewAndLayoutAttribute.cs (100%) delete mode 100644 Cirrious.FluentLayout/Properties/AssemblyInfo.cs create mode 100644 QuickLayout.Mac/AppDelegate.cs create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png create mode 100644 QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 QuickLayout.Mac/Assets.xcassets/Contents.json create mode 100644 QuickLayout.Mac/Converters/FloatToIntConverter.cs create mode 100644 QuickLayout.Mac/Converters/FloatToNFloatConverter.cs create mode 100644 QuickLayout.Mac/Entitlements.plist create mode 100644 QuickLayout.Mac/Info.plist create mode 100644 QuickLayout.Mac/LinkerPleaseInclude.cs create mode 100644 QuickLayout.Mac/Main.cs create mode 100644 QuickLayout.Mac/QuickLayout.Mac.csproj create mode 100644 QuickLayout.Mac/Views/AdvancedVerticalStackView.cs create mode 100644 QuickLayout.Mac/Views/DetailsView.cs create mode 100644 QuickLayout.Mac/Views/DirectionFormView.cs create mode 100644 QuickLayout.Mac/Views/FirstView.cs create mode 100644 QuickLayout.Mac/Views/FlippedView.cs create mode 100644 QuickLayout.Mac/Views/FormGridView.cs create mode 100644 QuickLayout.Mac/Views/FormView.cs create mode 100644 QuickLayout.Mac/Views/FullSizeView.cs create mode 100644 QuickLayout.Mac/Views/NSColoredView.cs create mode 100644 QuickLayout.Mac/Views/RightToLeftView.cs create mode 100644 QuickLayout.Mac/Views/SearchView.cs create mode 100644 QuickLayout.Mac/Views/TipView.cs create mode 100644 QuickLayout.Mac/Views/ToCenterConstraintsView.cs create mode 100644 QuickLayout.Mac/Views/UpdateConstraintsView.cs diff --git a/Cirrious.FluentLayout/Cirrious.FluentLayouts.Touch.csproj b/Cirrious.FluentLayout/Cirrious.FluentLayouts.Touch.csproj index 3dba747..b412bf0 100644 --- a/Cirrious.FluentLayout/Cirrious.FluentLayouts.Touch.csproj +++ b/Cirrious.FluentLayout/Cirrious.FluentLayouts.Touch.csproj @@ -1,59 +1,44 @@  - - - Debug - AnyCPU - {75D2DA9D-DFD4-49A1-98FB-FE0F0677EF0F} - {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Cirrious.FluentLayouts.Touch - Resources - Cirrious.FluentLayouts.Touch - Xamarin.iOS - v1.0 - - - true - full - false - bin\iPhoneSimulator\Debug - DEBUG - prompt - 4 - false - None - true - - - none - true - bin\iPhoneSimulator\Release - prompt - 4 - false - None - - - - - - - - - - - - - - - - - - - - - - - - + + + xamarin.ios10;xamarin.mac20 + https://github.com/FluentLayout/Cirrious.FluentLayout + $(AssemblyName) ($(TargetFramework)) + xamarin ios mac constraints + MS-PL + 7.3 + $(NoWarn);1591;1701;1591;1702;1705;VSX1000;NU1603 + https://github.com/FluentLayout/Cirrious.FluentLayout + git + True + True + true + true + $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb + + + + full + true + + + + true + true + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Cirrious.FluentLayout/Platforms/Mac/AdvancedFluentLayoutExtensions.cs b/Cirrious.FluentLayout/Platforms/Mac/AdvancedFluentLayoutExtensions.cs new file mode 100644 index 0000000..7f5d679 --- /dev/null +++ b/Cirrious.FluentLayout/Platforms/Mac/AdvancedFluentLayoutExtensions.cs @@ -0,0 +1,227 @@ +// AdvancedFluentLayoutExtensions.cs +// (c) Copyright Cirrious Ltd. http://www.cirrious.com +// MvvmCross is licensed using Microsoft Public License (Ms-PL) +// Contributions and inspirations noted in readme.md and license.txt +// +// Project Lead - Stuart Lodge, @slodge, me@slodge.com + +using System; +using System.Collections.Generic; +using System.Linq; +using AppKit; +using Cirrious.FluentLayouts.Touch.Extensions; + +namespace Cirrious.FluentLayouts.Touch +{ + public static class AdvancedFluentLayoutExtensions + { + const float DefaultMargin = 0; + const float DefaultScale = 1; + + public static FluentLayout AtTopOf(this NSView view, NSView parentView, nfloat? margin = null) => + view.Top().EqualTo().TopOf(parentView).Plus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout AtLeftOf(this NSView view, NSView parentView, nfloat? margin = null) => + view.Left().EqualTo().LeftOf(parentView).Plus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout AtRightOf(this NSView view, NSView parentView, nfloat? margin = null) => + view.Right().EqualTo().RightOf(parentView).Minus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout AtBottomOf(this NSView view, NSView parentView, nfloat? margin = null) => + view.Bottom().EqualTo().BottomOf(parentView).Minus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout AtLeadingOf(this NSView view, NSView parentView, nfloat? margin = null) => + view.Leading().EqualTo().LeadingOf(parentView).Plus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout AtTrailingOf(this NSView view, NSView parentView, nfloat? margin = null) => + view.Trailing().EqualTo().TrailingOf(parentView).Minus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout Below(this NSView view, NSView previous, nfloat? margin = null) => + view.Top().EqualTo().BottomOf(previous).Plus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout Above(this NSView view, NSView previous, nfloat? margin = null) => + view.Bottom().EqualTo().TopOf(previous).Minus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout WithSameLeft(this NSView view, NSView previous) => view.Left().EqualTo().LeftOf(previous); + + public static FluentLayout WithSameTop(this NSView view, NSView previous) => view.Top().EqualTo().TopOf(previous); + + public static FluentLayout WithSameCenterX(this NSView view, NSView previous) => view.CenterX().EqualTo().CenterXOf(previous); + + public static FluentLayout WithSameCenterY(this NSView view, NSView previous) => view.CenterY().EqualTo().CenterYOf(previous); + + public static FluentLayout WithSameRight(this NSView view, NSView previous) => view.Right().EqualTo().RightOf(previous); + + public static FluentLayout WithSameWidth(this NSView view, NSView previous) => view.Width().EqualTo().WidthOf(previous); + + public static FluentLayout WithSameBottom(this NSView view, NSView previous) => view.Bottom().EqualTo().BottomOf(previous); + + public static FluentLayout WithSameLeading(this NSView view, NSView previous) => view.Leading().EqualTo().LeadingOf(previous); + + public static FluentLayout WithSameTrailing(this NSView view, NSView previous) => view.Trailing().EqualTo().TrailingOf(previous); + + public static FluentLayout WithRelativeWidth(this NSView view, NSView previous, nfloat? scale = null) => + view.Width().EqualTo().WidthOf(previous).WithMultiplier(scale.GetValueOrDefault(DefaultScale)); + + public static FluentLayout WithSameHeight(this NSView view, NSView previous) => view.Height().EqualTo().HeightOf(previous); + + public static FluentLayout WithRelativeHeight(this NSView view, NSView previous, nfloat? scale = null) => + view.Height().EqualTo().HeightOf(previous).WithMultiplier(scale.GetValueOrDefault(DefaultScale)); + + public static FluentLayout ToRightOf(this NSView view, NSView previous, nfloat? margin = null) => + view.Left().EqualTo().RightOf(previous).Plus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout ToLeftOf(this NSView view, NSView previous, nfloat? margin = null) => + view.Right().EqualTo().LeftOf(previous).Minus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout ToTrailingOf(this NSView view, NSView previous, nfloat? margin = null) => + view.Leading().EqualTo().TrailingOf(previous).Plus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout ToLeadingOf(this NSView view, NSView previous, nfloat? margin = null) => + view.Trailing().EqualTo().LeadingOf(previous).Minus(margin.GetValueOrDefault(DefaultMargin)); + + //public static FluentLayout ToLeftMargin(this NSView view, NSView previous) => + // view.Leading().EqualTo().LeadingMarginOf(previous); + + //public static FluentLayout ToRightMargin(this NSView view, NSView previous) => + // view.Trailing().EqualTo().TrailingMarginOf(previous); + + //public static FluentLayout ToTopMargin(this NSView view, NSView previous) => + // view.Top().EqualTo().TopMarginOf(previous); + + //public static FluentLayout ToBottomMargin(this NSView view, NSView previous) => + // view.Bottom().EqualTo().BottomMarginOf(previous); + + public static FluentLayout ToLeftOfCenterOf(this NSView view, NSView previous, nfloat? margin = null) => + view.Right().EqualTo().CenterXOf(previous).Minus(margin.GetValueOrDefault(0)); + + public static FluentLayout ToRightOfCenterOf(this NSView view, NSView previous, nfloat? margin = null) => + view.Left().EqualTo().CenterXOf(previous).Plus(margin.GetValueOrDefault(0)); + + public static FluentLayout AboveCenterOf(this NSView view, NSView previous, nfloat? margin = null) => + view.Bottom().EqualTo().CenterYOf(previous).Minus(margin.GetValueOrDefault(0)); + + public static FluentLayout BelowCenterOf(this NSView view, NSView previous, nfloat? margin = null) => + view.Top().EqualTo().CenterYOf(previous).Plus(margin.GetValueOrDefault(0)); + + public static IEnumerable FullWidthOf(this NSView view, NSView parent, nfloat? margin = null) + { + var marginValue = margin.GetValueOrDefault(DefaultMargin); + + return new List + { + view.AtLeftOf(parent, marginValue).WithIdentifier("Left"), + view.AtRightOf(parent, marginValue).WithIdentifier("Right") + }; + } + + public static IEnumerable FullHeightOf(this NSView view, NSView parent, nfloat? margin = null) + { + var marginValue = margin.GetValueOrDefault(DefaultMargin); + + return new List + { + view.AtTopOf(parent, marginValue).WithIdentifier("Top"), + view.AtBottomOf(parent, marginValue).WithIdentifier("Bottom") + }; + } + + public static IEnumerable FullSizeOf(this NSView view, NSView parent, nfloat? margin = null) => + FullSizeOf(view, parent, new Margins((float)margin.GetValueOrDefault(DefaultMargin))); + + public static IEnumerable FullSizeOf(this NSView view, NSView parent, Margins margins) + { + margins = margins ?? new Margins(); + + return new List + { + view.AtTopOf(parent, margins.Top).WithIdentifier("Top"), + view.AtBottomOf(parent, margins.Bottom).WithIdentifier("Bottom"), + view.AtLeftOf(parent, margins.Left).WithIdentifier("Left"), + view.AtRightOf(parent, margins.Right).WithIdentifier("Right") + }; + } + + public static FluentLayout GetLayoutById(this IEnumerable layouts, string identifier) => + layouts.FirstOrDefault(x => x.Identifier.Equals(identifier)); + + public static IEnumerable VerticalStackPanelConstraints(this NSView parentView, Margins margins, params NSView[] views) => + AdvancedVerticalStackPanelConstraints(parentView, margins, views: views); + + /// + /// Vertical stack panel constraints with support for children independent left, right and top margins + /// and a multiplier factor for all margins applied. The multiplier can be useful when dealing with iPad screens. + /// Example: + /// + /// scrollView.AddConstraints(scrollView.AdvancedVerticalStackPanelConstraints(null, + /// childrenLeftMargins: new float[] { 15, 0, 15, 0, 0, 15 }, + /// childrenTopMargins: new float[] { 15, 5, 15, 5, 8, 15, 22, 8, 8, 28, 28 }, + /// marginMultiplier: 2f, + /// views: scrollView.Subviews) + /// ); + /// + public static IEnumerable AdvancedVerticalStackPanelConstraints(this NSView parentView, + Margins margins, + float[] childrenLeftMargins = null, + float[] childrenTopMargins = null, + float[] childrenRightMargins = null, + float marginMultiplier = 1, + params NSView[] views) + { + string previousIdentifierPrefix = null; + margins = margins ?? new Margins(); + var layouts = new List(); + + var count = views.Length; + for (var i = 0; i < count; i++) + { + var view = views[i]; + var viewIdentifierPrefix = $"{parentView.AccessibilityIdentifier ?? "VerticalStackPanel"}-{view.AccessibilityIdentifier ?? i.ToString()}-"; + + float childLeftMargin; + childrenLeftMargins.TryGetElement(i, out childLeftMargin); + var marginLeft = Math.Max(margins.Left, childLeftMargin) * marginMultiplier; + layouts.Add(view.Left() + .EqualTo() + .LeftOf(parentView) + .Plus(marginLeft) + .WithIdentifier(viewIdentifierPrefix + "Left")); + + float childRightMargin; + childrenRightMargins.TryGetElement(i, out childRightMargin); + var marginRight = Math.Max(margins.Right, childRightMargin) * marginMultiplier; + layouts.Add(view.Width() + .EqualTo() + .WidthOf(parentView) + .Minus(marginRight + marginLeft) + .WithIdentifier(viewIdentifierPrefix + "Width")); + + float childTopMargin; + childrenTopMargins.TryGetElement(i, out childTopMargin); + + layouts.Add(i == 0 + ? view.Top() + .EqualTo() + .TopOf(parentView) + .Plus(Math.Max(margins.Top, childTopMargin)*marginMultiplier) + .WithIdentifier(viewIdentifierPrefix + "Top") + : view.Top() + .EqualTo() + .BottomOf(views[i - 1]) + .Plus(Math.Max(margins.VSpacing, childTopMargin)*marginMultiplier) + .WithIdentifier(viewIdentifierPrefix + "Top")); + + previousIdentifierPrefix = viewIdentifierPrefix; + } + + if (parentView is NSScrollView) + layouts.Add(views[views.Length - 1].Bottom() + .EqualTo() + .BottomOf(parentView) + .Minus(margins.Bottom * marginMultiplier) + .WithIdentifier(previousIdentifierPrefix + "Bottom")); + + return layouts; + } + } +} diff --git a/Cirrious.FluentLayout/Platforms/Mac/Extensions/NSViewExtensions.cs b/Cirrious.FluentLayout/Platforms/Mac/Extensions/NSViewExtensions.cs new file mode 100644 index 0000000..7333934 --- /dev/null +++ b/Cirrious.FluentLayout/Platforms/Mac/Extensions/NSViewExtensions.cs @@ -0,0 +1,13 @@ +using AppKit; + +namespace Cirrious.FluentLayouts.Touch.Extensions +{ + public static class NSViewExtensions + { + public static void AddSubviews(this NSView view, params NSView[] subviews) + { + foreach (var subview in subviews) + view.AddSubview(subview); + } + } +} diff --git a/Cirrious.FluentLayout/FluentLayout.cs b/Cirrious.FluentLayout/Platforms/Mac/FluentLayout.cs similarity index 86% rename from Cirrious.FluentLayout/FluentLayout.cs rename to Cirrious.FluentLayout/Platforms/Mac/FluentLayout.cs index 4b3d858..d84abf7 100644 --- a/Cirrious.FluentLayout/FluentLayout.cs +++ b/Cirrious.FluentLayout/Platforms/Mac/FluentLayout.cs @@ -7,7 +7,7 @@ using System; using System.Collections.Generic; -using UIKit; +using AppKit; using Foundation; namespace Cirrious.FluentLayouts.Touch @@ -15,7 +15,7 @@ namespace Cirrious.FluentLayouts.Touch public class FluentLayout { public FluentLayout( - UIView view, + NSView view, NSLayoutAttribute attribute, NSLayoutRelation relation, NSObject secondItem, @@ -27,10 +27,10 @@ public class FluentLayout Relation = relation; SecondItem = secondItem; SecondAttribute = secondAttribute; - Priority = (float) UILayoutPriority.Required; + Priority = (float) NSLayoutPriority.Required; } - public FluentLayout(UIView view, + public FluentLayout(NSView view, NSLayoutAttribute attribute, NSLayoutRelation relation, nfloat constant = default(nfloat)) @@ -40,10 +40,10 @@ public class FluentLayout Attribute = attribute; Relation = relation; Constant = constant; - Priority = (float) UILayoutPriority.Required; + Priority = (float) NSLayoutPriority.Required; } - public UIView View { get; } + public NSView View { get; } public nfloat Multiplier { get; private set; } = 1f; @@ -95,7 +95,7 @@ public string Identifier _identifier = value; if (Constraint.IsValueCreated) - Constraint.Value.SetIdentifier(_identifier); + Constraint.Value.Identifier = _identifier; } } @@ -119,7 +119,7 @@ private NSLayoutConstraint CreateConstraint() constraint.Priority = Priority; if (!string.IsNullOrWhiteSpace(Identifier)) - constraint.SetIdentifier(Identifier); + constraint.Identifier = Identifier; return constraint; } @@ -148,7 +148,7 @@ public FluentLayout SetPriority(float priority) return this; } - public FluentLayout SetPriority(UILayoutPriority priority) + public FluentLayout SetPriority(NSLayoutPriority priority) { Priority = (float) priority; return this; @@ -188,13 +188,13 @@ public FluentLayout WithIdentifier(string identifier) public FluentLayout WidthOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.Width); - public FluentLayout TrailingMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.TrailingMargin); + //public FluentLayout TrailingMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.TrailingMargin); - public FluentLayout LeadingMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.LeadingMargin); + //public FluentLayout LeadingMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.LeadingMargin); - public FluentLayout TopMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.TopMargin); + //public FluentLayout TopMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.TopMargin); - public FluentLayout BottomMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.BottomMargin); + //public FluentLayout BottomMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.BottomMargin); private FluentLayout SetSecondItem(NSObject view2, NSLayoutAttribute attribute2) { diff --git a/Cirrious.FluentLayout/Platforms/Mac/FluentLayoutExtensions.cs b/Cirrious.FluentLayout/Platforms/Mac/FluentLayoutExtensions.cs new file mode 100644 index 0000000..6583161 --- /dev/null +++ b/Cirrious.FluentLayout/Platforms/Mac/FluentLayoutExtensions.cs @@ -0,0 +1,72 @@ +// FluentLayoutExtensions.cs +// (c) Copyright Cirrious Ltd. http://www.cirrious.com +// MvvmCross is licensed using Microsoft Public License (Ms-PL) +// Contributions and inspirations noted in readme.md and license.txt +// +// Project Lead - Stuart Lodge, @slodge, me@slodge.com + +using System.Collections.Generic; +using System.Linq; +using AppKit; + +namespace Cirrious.FluentLayouts.Touch +{ + public static class FluentLayoutExtensions + { + public static void SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(this NSView view) + { + foreach (var subview in view.Subviews) + { + subview.TranslatesAutoresizingMaskIntoConstraints = false; + } + } + + public static NSViewAndLayoutAttribute Left(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.Left); + + public static NSViewAndLayoutAttribute Right(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.Right); + + public static NSViewAndLayoutAttribute Top(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.Top); + + public static NSViewAndLayoutAttribute Bottom(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.Bottom); + + public static NSViewAndLayoutAttribute Baseline(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.Baseline); + + public static NSViewAndLayoutAttribute Trailing(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.Trailing); + + public static NSViewAndLayoutAttribute Leading(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.Leading); + + public static NSViewAndLayoutAttribute CenterX(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.CenterX); + + public static NSViewAndLayoutAttribute CenterY(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.CenterY); + + public static NSViewAndLayoutAttribute Height(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.Height); + + public static NSViewAndLayoutAttribute Width(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.Width); + + public static NSViewAndLayoutAttribute WithLayoutAttribute(this NSView view, NSLayoutAttribute attribute) => new NSViewAndLayoutAttribute(view, attribute); + + //public static NSViewAndLayoutAttribute LeadingMargin(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.LeadingMargin); + + //public static NSViewAndLayoutAttribute TrailingMargin(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.TrailingMargin); + + //public static NSViewAndLayoutAttribute TopMargin(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.TopMargin); + + //public static NSViewAndLayoutAttribute BottomMargin(this NSView view) => view.WithLayoutAttribute(NSLayoutAttribute.BottomMargin); + + public static void AddConstraints(this NSView view, params FluentLayout[] fluentLayouts) => view.AddConstraints(fluentLayouts.AsEnumerable()); + + public static void AddConstraints(this NSView view, IEnumerable fluentLayouts) => + view.AddConstraints(fluentLayouts + .Where(fluent => fluent != null) + .Select(fluent => fluent.Constraint.Value) + .ToArray()); + + public static void RemoveConstraints(this NSView view, params FluentLayout[] fluentLayouts) => view.RemoveConstraints(fluentLayouts.AsEnumerable()); + + public static void RemoveConstraints(this NSView view, IEnumerable fluentLayouts) => + view.RemoveConstraints(fluentLayouts + .Where(fluent => fluent != null) + .Select(fluent => fluent.Constraint.Value) + .ToArray()); + } +} diff --git a/Cirrious.FluentLayout/Platforms/Mac/NSViewAndLayoutAttribute.cs b/Cirrious.FluentLayout/Platforms/Mac/NSViewAndLayoutAttribute.cs new file mode 100644 index 0000000..1b04829 --- /dev/null +++ b/Cirrious.FluentLayout/Platforms/Mac/NSViewAndLayoutAttribute.cs @@ -0,0 +1,33 @@ +// UIViewAndLayoutAttribute.cs +// (c) Copyright Cirrious Ltd. http://www.cirrious.com +// MvvmCross is licensed using Microsoft Public License (Ms-PL) +// Contributions and inspirations noted in readme.md and license.txt +// +// Project Lead - Stuart Lodge, @slodge, me@slodge.com + +using AppKit; +using System; + +namespace Cirrious.FluentLayouts.Touch +{ + public class NSViewAndLayoutAttribute + { + public NSViewAndLayoutAttribute(NSView view, NSLayoutAttribute attribute) + { + Attribute = attribute; + View = view; + } + + public NSView View { get; } + public NSLayoutAttribute Attribute { get; } + + public FluentLayout EqualTo(nfloat constant = default(nfloat)) => + new FluentLayout(View, Attribute, NSLayoutRelation.Equal, constant); + + public FluentLayout GreaterThanOrEqualTo(nfloat constant = default(nfloat)) => + new FluentLayout(View, Attribute, NSLayoutRelation.GreaterThanOrEqual, constant); + + public FluentLayout LessThanOrEqualTo(nfloat constant = default(nfloat)) => + new FluentLayout(View, Attribute, NSLayoutRelation.LessThanOrEqual, constant); + } +} \ No newline at end of file diff --git a/Cirrious.FluentLayout/Platforms/Mac/RowSet-WorkInProgress/RowSet.cs b/Cirrious.FluentLayout/Platforms/Mac/RowSet-WorkInProgress/RowSet.cs new file mode 100644 index 0000000..417441e --- /dev/null +++ b/Cirrious.FluentLayout/Platforms/Mac/RowSet-WorkInProgress/RowSet.cs @@ -0,0 +1,167 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using AppKit; + +namespace Cirrious.FluentLayouts.Touch.RowSet +{ + public class RowSetTemplate + { + public float TopMargin { get; set; } + public float BottomMargin { get; set; } + public float VInterspacing { get; set; } + + public IEnumerable Generate(NSView container, params Row[] rows) + { + for (var i = 0; i < rows.Length; i++) + { + var verticalGenerators = new List>(); + + var isFirst = i == 0; + if (isFirst) + verticalGenerators.Add(view => view.AtTopOf(container, TopMargin)); + else + { + var previousRowView = rows[i - 1].Views.First(); + verticalGenerators.Add(view => view.Below(previousRowView, VInterspacing)); + } + + var isLast = i == rows.Length - 1; + if (isLast) + verticalGenerators.Add(view => view.AtBottomOf(container, BottomMargin)); + + foreach (var view in rows[i].Views) + { + foreach (var verticalGenerator in verticalGenerators) + yield return verticalGenerator(view); + } + + foreach (var horizontalConstraint in rows[i].Template.Generate(container, rows[i].Views.ToArray())) + yield return horizontalConstraint; + } + } + } + + public class Row + { + public Row() + { + } + + public Row(IRowTemplate rowTemplate, params NSView[] views) + { + Template = rowTemplate; + Views = views; + } + + public IRowTemplate Template { get; set; } + public IEnumerable Views { get; set; } + } + + public interface IRowTemplate + { + IEnumerable Generate(NSView container, params NSView[] views); + } + + public class RowTemplate : IRowTemplate + { + public float LeftMargin { get; set; } + public float RightMargin { get; set; } + public float HInterspacing { get; set; } + + public class Column + { + public static readonly Column Default = new WeightedWidthColumn(); + } + + public class FixedWidthColumn + : Column + { + public float Width { get; set; } + + public FixedWidthColumn(float width) + { + Width = width; + } + } + + public class WeightedWidthColumn + : Column + { + public float Weight { get; set; } + + public WeightedWidthColumn(float weight = 1.0f) + { + Weight = weight; + } + } + + private readonly Dictionary _columnDefinitions = new Dictionary(); + + public void ColumnWidth(int position, float width) + { + _columnDefinitions[position] = new FixedWidthColumn(width); + } + + public void ColumnWeight(int position, float weight) + { + _columnDefinitions[position] = new WeightedWidthColumn(weight); + } + + public IEnumerable Generate(NSView container, params NSView[] views) + { + WeightedWidthColumn firstWeightedColumn = null; + NSView firstWeightedView = null; + + for (var i = 0; i < views.Length; i++) + { + var view = views[i]; + var column = GetColumn(i); + + if (i == 0) + { + yield return view.AtLeftOf(container, LeftMargin); + } + else + { + yield return view.ToRightOf(views[i - 1], HInterspacing); + } + + if (i == views.Length - 1) + { + yield return view.AtRightOf(container, RightMargin); + } + + var weightedColumn = column as WeightedWidthColumn; + if (weightedColumn != null) + { + if (firstWeightedColumn == null) + { + firstWeightedColumn = weightedColumn; + firstWeightedView = view; + } + else + { + var multiplier = weightedColumn.Weight / firstWeightedColumn.Weight; + yield return view.WithRelativeWidth(firstWeightedView, multiplier); + } + } + + var fixedColumn = column as FixedWidthColumn; + if (fixedColumn != null) + { + yield return view.Width().EqualTo(fixedColumn.Width); + } + } + } + + private Column GetColumn(int index) + { + Column column; + if (_columnDefinitions.TryGetValue(index, out column)) + return column; + + return Column.Default; + } + } +} diff --git a/Cirrious.FluentLayout/Extensions/ArrayExtensions.cs b/Cirrious.FluentLayout/Platforms/Shared/Extensions/ArrayExtensions.cs similarity index 100% rename from Cirrious.FluentLayout/Extensions/ArrayExtensions.cs rename to Cirrious.FluentLayout/Platforms/Shared/Extensions/ArrayExtensions.cs diff --git a/Cirrious.FluentLayout/Margins.cs b/Cirrious.FluentLayout/Platforms/Shared/Margins.cs similarity index 100% rename from Cirrious.FluentLayout/Margins.cs rename to Cirrious.FluentLayout/Platforms/Shared/Margins.cs diff --git a/Cirrious.FluentLayout/NfloatExtensions.cs b/Cirrious.FluentLayout/Platforms/Shared/NfloatExtensions.cs similarity index 100% rename from Cirrious.FluentLayout/NfloatExtensions.cs rename to Cirrious.FluentLayout/Platforms/Shared/NfloatExtensions.cs diff --git a/Cirrious.FluentLayout/AdvancedFluentLayoutExtensions.cs b/Cirrious.FluentLayout/Platforms/iOS/AdvancedFluentLayoutExtensions.cs similarity index 100% rename from Cirrious.FluentLayout/AdvancedFluentLayoutExtensions.cs rename to Cirrious.FluentLayout/Platforms/iOS/AdvancedFluentLayoutExtensions.cs diff --git a/Cirrious.FluentLayout/Platforms/iOS/FluentLayout.cs b/Cirrious.FluentLayout/Platforms/iOS/FluentLayout.cs new file mode 100644 index 0000000..7f6bca0 --- /dev/null +++ b/Cirrious.FluentLayout/Platforms/iOS/FluentLayout.cs @@ -0,0 +1,219 @@ +// FluentLayout.cs +// (c) Copyright Cirrious Ltd. http://www.cirrious.com +// MvvmCross is licensed using Microsoft Public License (Ms-PL) +// Contributions and inspirations noted in readme.md and license.txt +// +// Project Lead - Stuart Lodge, @slodge, me@slodge.com + +using System; +using System.Collections.Generic; +using UIKit; +using Foundation; + +namespace Cirrious.FluentLayouts.Touch +{ + public class FluentLayout + { + public FluentLayout( + UIView view, + NSLayoutAttribute attribute, + NSLayoutRelation relation, + NSObject secondItem, + NSLayoutAttribute secondAttribute) + { + Constraint = new Lazy(CreateConstraint); + View = view; + Attribute = attribute; + Relation = relation; + SecondItem = secondItem; + SecondAttribute = secondAttribute; + Priority = (float)UILayoutPriority.Required; + } + + public FluentLayout(UIView view, + NSLayoutAttribute attribute, + NSLayoutRelation relation, + nfloat constant = default(nfloat)) + { + Constraint = new Lazy(CreateConstraint); + View = view; + Attribute = attribute; + Relation = relation; + Constant = constant; + Priority = (float)UILayoutPriority.Required; + } + + public UIView View { get; } + + public nfloat Multiplier { get; private set; } = 1f; + + private nfloat _constant; + public nfloat Constant + { + get { return _constant; } + set + { + _constant = value; + + if (Constraint.IsValueCreated) + Constraint.Value.Constant = _constant; + } + } + + private float _priority; + public float Priority + { + get { return _priority; } + set + { + _priority = value; + + if (Constraint.IsValueCreated) + Constraint.Value.Priority = _priority; + } + } + + private bool _active = true; + public bool Active + { + get { return _active; } + set + { + _active = value; + + if (Constraint.IsValueCreated) + Constraint.Value.Active = _active; + } + } + + private string _identifier; + public string Identifier + { + get { return _identifier; } + set + { + _identifier = value; + + if (Constraint.IsValueCreated) + Constraint.Value.SetIdentifier(_identifier); + } + } + + public NSLayoutAttribute Attribute { get; private set; } + public NSLayoutRelation Relation { get; private set; } + public NSObject SecondItem { get; private set; } + public NSLayoutAttribute SecondAttribute { get; private set; } + + internal Lazy Constraint { get; } + + private NSLayoutConstraint CreateConstraint() + { + var constraint = NSLayoutConstraint.Create( + View, + Attribute, + Relation, + SecondItem, + SecondAttribute, + Multiplier, + Constant); + constraint.Priority = Priority; + + if (!string.IsNullOrWhiteSpace(Identifier)) + constraint.SetIdentifier(Identifier); + + return constraint; + } + + public FluentLayout Plus(nfloat constant) + { + Constant += constant; + return this; + } + + public FluentLayout Minus(nfloat constant) + { + Constant -= constant; + return this; + } + + public FluentLayout WithMultiplier(nfloat multiplier) + { + Multiplier = multiplier; + return this; + } + + public FluentLayout SetPriority(float priority) + { + Priority = priority; + return this; + } + + public FluentLayout SetPriority(UILayoutPriority priority) + { + Priority = (float)priority; + return this; + } + + public FluentLayout SetActive(bool active) + { + Active = active; + return this; + } + + public FluentLayout WithIdentifier(string identifier) + { + Identifier = identifier; + return this; + } + + public FluentLayout LeftOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.Left); + + public FluentLayout RightOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.Right); + + public FluentLayout TopOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.Top); + + public FluentLayout BottomOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.Bottom); + + public FluentLayout BaselineOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.Baseline); + + public FluentLayout TrailingOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.Trailing); + + public FluentLayout LeadingOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.Leading); + + public FluentLayout CenterXOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.CenterX); + + public FluentLayout CenterYOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.CenterY); + + public FluentLayout HeightOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.Height); + + public FluentLayout WidthOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.Width); + + public FluentLayout TrailingMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.TrailingMargin); + + public FluentLayout LeadingMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.LeadingMargin); + + public FluentLayout TopMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.TopMargin); + + public FluentLayout BottomMarginOf(NSObject view2) => SetSecondItem(view2, NSLayoutAttribute.BottomMargin); + + private FluentLayout SetSecondItem(NSObject view2, NSLayoutAttribute attribute2) + { + ThrowIfSecondItemAlreadySet(); + SecondAttribute = attribute2; + SecondItem = view2; + return this; + } + + private void ThrowIfSecondItemAlreadySet() + { + if (SecondItem != null) + throw new Exception("You cannot set the second item in a layout relation more than once"); + } + + [Obsolete("This method will be removed in future versions, please let us know if you still need it!")] + public IEnumerable ToLayoutConstraints() + { + yield return Constraint.Value; + } + } +} \ No newline at end of file diff --git a/Cirrious.FluentLayout/FluentLayoutExtensions.cs b/Cirrious.FluentLayout/Platforms/iOS/FluentLayoutExtensions.cs similarity index 100% rename from Cirrious.FluentLayout/FluentLayoutExtensions.cs rename to Cirrious.FluentLayout/Platforms/iOS/FluentLayoutExtensions.cs diff --git a/Cirrious.FluentLayout/RowSet-WorkInProgress/RowSet.cs b/Cirrious.FluentLayout/Platforms/iOS/RowSet-WorkInProgress/RowSet.cs similarity index 100% rename from Cirrious.FluentLayout/RowSet-WorkInProgress/RowSet.cs rename to Cirrious.FluentLayout/Platforms/iOS/RowSet-WorkInProgress/RowSet.cs diff --git a/Cirrious.FluentLayout/UIViewAndLayoutAttribute.cs b/Cirrious.FluentLayout/Platforms/iOS/UIViewAndLayoutAttribute.cs similarity index 100% rename from Cirrious.FluentLayout/UIViewAndLayoutAttribute.cs rename to Cirrious.FluentLayout/Platforms/iOS/UIViewAndLayoutAttribute.cs diff --git a/Cirrious.FluentLayout/Properties/AssemblyInfo.cs b/Cirrious.FluentLayout/Properties/AssemblyInfo.cs deleted file mode 100644 index b56a76e..0000000 --- a/Cirrious.FluentLayout/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,46 +0,0 @@ -// AssemblyInfo.cs -// (c) Copyright Cirrious Ltd. http://www.cirrious.com -// MvvmCross is licensed using Microsoft Public License (Ms-PL) -// Contributions and inspirations noted in readme.md and license.txt -// -// Project Lead - Stuart Lodge, @slodge, me@slodge.com - -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. - -[assembly: AssemblyTitle("Cirrious.FluentLayout")] -[assembly: AssemblyDescription("Easy API for using AutoLayout in iOS")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Cirrious.FluentLayout")] -[assembly: AssemblyCopyright("Copyright © 2018")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. - -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM - -[assembly: Guid("deb03d05-a92d-4319-b09d-3f890065a6ce")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] - -[assembly: AssemblyVersion("2.6.0.0")] -[assembly: AssemblyFileVersion("2.6.0.0")] \ No newline at end of file diff --git a/QuickLayout.Mac/AppDelegate.cs b/QuickLayout.Mac/AppDelegate.cs new file mode 100644 index 0000000..a7b46be --- /dev/null +++ b/QuickLayout.Mac/AppDelegate.cs @@ -0,0 +1,11 @@ +using Foundation; +using MvvmCross.Platforms.Mac.Core; +using QuickLayout.Core; + +namespace QuickLayout.Mac +{ + [Register("AppDelegate")] + public class AppDelegate : MvxApplicationDelegate, App> + { + } +} diff --git a/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png b/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b5a8098ec92ef246530093b9293260d79b0430 GIT binary patch literal 8125 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 z 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 literal 0 HcmV?d00001 diff --git a/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png b/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f4c8d29047b85e28ae6929073e0e6e7ad07633c9 GIT binary patch literal 20798 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¥2+%)?WBEa$R6H@mjUU!O2ybGQKSq*ivu{EVN&fUO zjwCp@O}w5gy!d!L#}Vjz>?E0%N)g_ncz9lpp1z!a#@}d1x*X$S+rUP(MkIHy1X`Dt z&0QT0x$4Qu?MI>OE4QV|{z!8~gz{C>Y>ZbY}=@WdZ))7`8 z)(Je?`2f!gd6@`UM4h_y%K7>6p?-7n$)89WnBKzy;G2Ja1xI~20rXp38Leg^Isnm` zuQVzzHaIYF4jEy=Ie=uXa9a@XsQ=nsvMo5(Ba>43S`gZlK$u7+|My7z!#$Ww<3w8X z;~C%L&}3we7?zn0sGWfo5co%0jZQ9C=VT@xpB`Hr?>fbOBxd={_wkHm2x8lB{LIha zSezU@ZMvR+U5dd8)foM0@EYnF03QL|3}B6I!#<#4{N)#ac_K=ln*pS1MsEwgU$zB{ z`o$xmA1GXY~`J(Cmt zSBA}*=Wxg;rv4cHG4jLkwZU^CkR!i#0IagGWF{2y41mhB@bCWa@6L+~L)#w5gOzN; z zt>ek_(9BL?SMr$V?84HC9EjqqfX)H+U|oDZMluYs?KgVrmv1bOT>XU^JbOioqw&+& z31Rd!d@lTDW#p#{3UwEN_lLe=724a|i{ruODl5wQnk8v0#0x<)^JtgN5lZ9(6wG{r z7k)8Gzo25b1uM$Te}2mW^YW$VP4ir@8L8^DO45cHrnRJz9xZ`DOHHKg|EMhDK}2H? zmPr~yI@K798s^Up7Jo8hu{ zQ&d`RjS@zl^s-Kva?uhre6MS36tiF*2uvqZ3FD{X(-DxLG=R*rarqaN1AL|fw*AJ= zzI0}J@ZytZb{HR_VX+S*3s?40bx#XE6x7CqLUjPtCY22s8yp(CxFwAPAXC0U7zcjw zIAP#r_7i7o^kVoC?>^nsE%Ix@cOTwmo;lrPcFtclS4;Ow?@jb$!X%;W;zW9Bjb7aFqDbz1z&4r>>jDkuGzt>`=n-L|7=$+Q4t=y zJBoV5p#7OPwPNV|FTGh~cC|E`x(HxH&{RWVaFvenwi;HFW7Bdjg!C{c|F|^tG1wC!YLL8sX?RkXg#W@%jVzEW} zJ%ypcp~3E}-B&N3K6&cwlTZHO>=REs(J$47J}b$k9*@nL5qarndGz|vO#j)dQg(3FKbzILsj^ZG z;ikBAn;3l~c+F2tO%Jy;Hf#y2I*fCz4j_EmUMkb}#HX}j+*%yUw!$^KmYSTpFeZv3|?H}9yO=0gs{sBbNUBAoNDR3WA6Heo~j)Own5P} zejVpM0*3(O4UXOxFaOAoG=h}_B;uX`i$mICbK~D!|HbRG!+j&>&By*-YJ|7_^uiyi znoHG9Qd%K90DYrq0CeEk=;-LBCfM?`f4Dv!wd~$MXQtrFw z>hH`^5{tIQ{Ma^M5W+Pfw$x!qBlz#g0lygQxC@2b?$aGx6pAb3Yn9`ID;7 zZMSWeuLV6*m0SrR(t!r7ag39e(8mixJBwgG={6F|Z~HBeoq6%>^3cU6%*^6)^1tByBZ?|Ml{NTB{wte?Zo_+C5 z!=bm`p?iANNDpSdt%rCp1RVv^kgL6mE+@#J&9vS2yYTXv`HA5k^XendN!b|v;Y_Ks zT&ZfLS_<6(;KtDixNM_zox6DA9dCUr@F}6Ls=^%X+>*1?cBwFqjG7-E8|&}u>%Vg4 z%B6E}y!P7JhaP(9>b<=dQgaRr2w$ zMKNHl0P2=_0TnJ0?`0~{B^rW0-+#}&q*Tt?gzxesj&VJ`R-{~43ALq0k z21vu@ed;vhH-g{|(r6rI6GBCB0EyYe#h<;oxb4u%kvE>JZMpXY_ZMM75R?);kVpjn zlSZTMf}h8S0@CqozKw|EegCo3&%d@bHE_b5|H(bdOP4R5e_f{Sk3IbGxz}EM4TnF{ z$aw@5jTiN0oG=W>ydc!Hy!R-a&c}_1rHQ9a!vTP9MhxKka?k0<1}Z8mww6{^m$h{^ z6_q5q76=f6BR391#l1wEd7r_7uG{*%Sx(&nC6yr}Ka z{rf7n+_tNzT;35XmS4T~P89~THhiRYVBs2<3vrD2_F9-Ra|4&J44-=8!cxzPr_7t* z$1z`c)YsR?Rb3c+aM}); zG|DKLjwUQm*E3xlZOeSd(?R4RfM-1e<>CGjumA>wko4k$Is43rTtAmIz7;4FVyqb? zoP2+o;|Bj|jlZHD&``PmFKYUK)@J&i^1cQ0wNY+X@w`t!K8q4Ek22A~Y~)}Z zG&)bG5l3KtBIW)&4dk!}f}KByt9r{-7cS*T$=jKbRMm2F?YifxOay?)-UG z@mr{@zGoe$NbLlG3#LiupwocUfYX4}fYX4}fYX4}fYX4}fYX4}fYX4}fYX4}fYX4} jfYX4}fYU&3YvBI^u7mb`#rBZa00000NkvXXu0mjfHC<=i literal 0 HcmV?d00001 diff --git a/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png b/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb5a0fe4e7e4ac7ed527449ad2c0e9848b0389a GIT binary patch literal 711 zcmV;&0yzDNP)Px%fk{L`R5%fZlg&;OQ547jGwqZ@X%VSVOicr=jg8RY2P|~q!o-Axh0%?X7wE#c zaifNW2QW(F1Gq53_y8s*#*mP}f<&-3qM_A<#?%5WbowzvJ9DSkb6cjef|H!N=bn$> znS16AaI!cl+)e76o0|(SEiXT$b>w)7bhHs`PcRtldOkltGBG}J%|AGB!|U~hoQe|Q zkS;V#<}sLsx>|g7ITm|jLqrE85{b}@mkUYVFg-CM%&OvGk zujnk3j_#Byn}u@KC7dV8KzG;X`62%#^IwqCm`m<<4>kkJMNxF@D3&S0N zs;XtnH1=)4(q;~dw;#E>3_1xI=dD$IvYaM6A{V1kD2}@w0QsxBRx8?oOkTyFV+e;d z60^x^`ZTB`h(UJOU^ouW#*PDOm9p9ba7rBRrOQ@G!>~9^x^s*mCKXx~BNMxs^)&QS z)&_{iR(5;)htnZLqDfC*4S|*Na2nMX#5jV83_B~@VUXnPs%pH9D^ay{~^?$>YBd`byQoaBH002ovPDHLkV1nX6P|W}U literal 0 HcmV?d00001 diff --git a/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png b/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0986d31bebb1199716226839d289d54925f9319c GIT binary patch literal 1484 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¥2+%)?WBEa$R6H@mjUU!O2ybGQKSq*ivu{EVN&fUO zjwCp@O}w5gy!d!L#}Vjz>?E0%N)g_ncz9lpp1z!a#@}d1x*X$S+rUP(MkIHy1X`Dt z&0QT0x$4Qu?MI>OE4QV|{z!8~gz{C>Y>ZbY}=@WdZ))7`8 z)(Je?`2f!gd6@`UM4h_y%K7>6p?-7n$)89WnBKzy;G2Ja1xI~20rXp38Leg^Isnm` zuQVzzHaIYF4jEy=Ie=uXa9a@XsQ=nsvMo5(Ba>43S`gZlK$u7+|My7z!#$Ww<3w8X z;~C%L&}3we7?zn0sGWfo5co%0jZQ9C=VT@xpB`Hr?>fbOBxd={_wkHm2x8lB{LIha zSezU@ZMvR+U5dd8)foM0@EYnF03QL|3}B6I!#<#4{N)#ac_K=ln*pS1MsEwgU$zB{ z`o$xmA1GXY~`J(Cmt zSBA}*=Wxg;rv4cHG4jLkwZU^CkR!i#0IagGWF{2y41mhB@bCWa@6L+~L)#w5gOzN; z zt>ek_(9BL?SMr$V?84HC9EjqqfX)H+U|oDZMluYs?KgVrmv1bOT>XU^JbOioqw&+& z31Rd!d@lTDW#p#{3UwEN_lLe=724a|i{ruODl5wQnk8v0#0x<)^JtgN5lZ9(6wG{r z7k)8Gzo25b1uM$Te}2mW^YW$VP4ir@8L8^DO45cHrnRJz9xZ`DOHHKg|EMhDK}2H? zmPr~yI@K798s^Up7Jo8hu{ zQ&d`RjS@zl^s-Kva?uhre6MS36tiF*2uvqZ3FD{X(-DxLG=R*rarqaN1AL|fw*AJ= zzI0}J@ZytZb{HR_VX+S*3s?40bx#XE6x7CqLUjPtCY22s8yp(CxFwAPAXC0U7zcjw zIAP#r_7i7o^kVoC?>^nsE%Ix@cOTwmo;lrPcFtclS4;Ow?@jb$!X%;W;zW9Bjb7aFqDbz1z&4r>>jDkuGzt>`=n-L|7=$+Q4t=y zJBoV5p#7OPwPNV|FTGh~cC|E`x(HxH&{RWVaFvenwi;HFW7Bdjg!C{c|F|^tG1wC!YLL8sX?RkXg#W@%jVzEW} zJ%ypcp~3E}-B&N3K6&cwlTZHO>=REs(J$47J}b$k9*@nL5qarndGz|vO#j)dQg(3FKbzILsj^ZG z;ikBAn;3l~c+F2tO%Jy;Hf#y2I*fCz4j_EmUMkb}#HX}j+*%yUw!$^KmYSTpFeZv3|?H}9yO=0gs{sBbNUBAoNDR3WA6Heo~j)Own5P} zejVpM0*3(O4UXOxFaOAoG=h}_B;uX`i$mICbK~D!|HbRG!+j&>&By*-YJ|7_^uiyi znoHG9Qd%K90DYrq0CeEk=;-LBCfM?`f4Dv!wd~$MXQtrFw z>hH`^5{tIQ{Ma^M5W+Pfw$x!qBlz#g0lygQxC@2b?$aGx6pAb3Yn9`ID;7 zZMSWeuLV6*m0SrR(t!r7ag39e(8mixJBwgG={6F|Z~HBeoq6%>^3cU6%*^6)^1tByBZ?|Ml{NTB{wte?Zo_+C5 z!=bm`p?iANNDpSdt%rCp1RVv^kgL6mE+@#J&9vS2yYTXv`HA5k^XendN!b|v;Y_Ks zT&ZfLS_<6(;KtDixNM_zox6DA9dCUr@F}6Ls=^%X+>*1?cBwFqjG7-E8|&}u>%Vg4 z%B6E}y!P7JhaP(9>b<=dQgaRr2w$ zMKNHl0P2=_0TnJ0?`0~{B^rW0-+#}&q*Tt?gzxesj&VJ`R-{~43ALq0k z21vu@ed;vhH-g{|(r6rI6GBCB0EyYe#h<;oxb4u%kvE>JZMpXY_ZMM75R?);kVpjn zlSZTMf}h8S0@CqozKw|EegCo3&%d@bHE_b5|H(bdOP4R5e_f{Sk3IbGxz}EM4TnF{ z$aw@5jTiN0oG=W>ydc!Hy!R-a&c}_1rHQ9a!vTP9MhxKka?k0<1}Z8mww6{^m$h{^ z6_q5q76=f6BR391#l1wEd7r_7uG{*%Sx(&nC6yr}Ka z{rf7n+_tNzT;35XmS4T~P89~THhiRYVBs2<3vrD2_F9-Ra|4&J44-=8!cxzPr_7t* z$1z`c)YsR?Rb3c+aM}); zG|DKLjwUQm*E3xlZOeSd(?R4RfM-1e<>CGjumA>wko4k$Is43rTtAmIz7;4FVyqb? zoP2+o;|Bj|jlZHD&``PmFKYUK)@J&i^1cQ0wNY+X@w`t!K8q4Ek22A~Y~)}Z zG&)bG5l3KtBIW)&4dk!}f}KByt9r{-7cS*T$=jKbRMm2F?YifxOay?)-UG z@mr{@zGoe$NbLlG3#LiupwocUfYX4}fYX4}fYX4}fYX4}fYX4}fYX4}fYX4}fYX4} jfYX4}fYU&3YvBI^u7mb`#rBZa00000NkvXXu0mjfHC<=i literal 0 HcmV?d00001 diff --git a/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png b/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a142c83fb1c390d168ade09b98f6108ae5083f44 GIT binary patch literal 59335 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 DD=Zd> literal 0 HcmV?d00001 diff --git a/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png b/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..0986d31bebb1199716226839d289d54925f9319c GIT binary patch literal 1484 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 DD=Zd> literal 0 HcmV?d00001 diff --git a/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e99022ae84d056ebf09328dcdd69a44b8ff8c74d GIT binary patch literal 177632 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�=9Apf*O#kZ|;78cG+WV_Mg6xm%Xm-E=ZgB2A@ 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

EOav5HX?n-U1Xbrv2b<6@EMn>RAar)@4 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 Z3WIK4q`#D^3JCal^g!c&{yo#z{|gM@$iM&q literal 0 HcmV?d00001 diff --git a/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/Contents.json b/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..6b28545 --- /dev/null +++ b/QuickLayout.Mac/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images": [ + { + "filename": "AppIcon-16.png", + "size": "16x16", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-16@2x.png", + "size": "16x16", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-32.png", + "size": "32x32", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-32@2x.png", + "size": "32x32", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-128.png", + "size": "128x128", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-128@2x.png", + "size": "128x128", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-256.png", + "size": "256x256", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-256@2x.png", + "size": "256x256", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-512.png", + "size": "512x512", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-512@2x.png", + "size": "512x512", + "scale": "2x", + "idiom": "mac" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/QuickLayout.Mac/Assets.xcassets/Contents.json b/QuickLayout.Mac/Assets.xcassets/Contents.json new file mode 100644 index 0000000..4caf392 --- /dev/null +++ b/QuickLayout.Mac/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/QuickLayout.Mac/Converters/FloatToIntConverter.cs b/QuickLayout.Mac/Converters/FloatToIntConverter.cs new file mode 100644 index 0000000..739f692 --- /dev/null +++ b/QuickLayout.Mac/Converters/FloatToIntConverter.cs @@ -0,0 +1,19 @@ +using System; +using System.Globalization; +using MvvmCross.Converters; + +namespace QuickLayout.Mac.Converters +{ + public class FloatToIntConverter : MvxValueConverter + { + protected override int Convert(float value, Type targetType, object parameter, CultureInfo culture) + { + return (int)value; + } + + protected override float ConvertBack(int value, Type targetType, object parameter, CultureInfo culture) + { + return value; + } + } +} diff --git a/QuickLayout.Mac/Converters/FloatToNFloatConverter.cs b/QuickLayout.Mac/Converters/FloatToNFloatConverter.cs new file mode 100644 index 0000000..ff1141a --- /dev/null +++ b/QuickLayout.Mac/Converters/FloatToNFloatConverter.cs @@ -0,0 +1,14 @@ +using System; +using System.Globalization; +using MvvmCross.Converters; + +namespace QuickLayout.Mac.Converters +{ + public class FloatToNFloatConverter : MvxValueConverter + { + public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + return new nfloat((float)value); + } + } +} diff --git a/QuickLayout.Mac/Entitlements.plist b/QuickLayout.Mac/Entitlements.plist new file mode 100644 index 0000000..9ae5993 --- /dev/null +++ b/QuickLayout.Mac/Entitlements.plist @@ -0,0 +1,6 @@ + + + + + + diff --git a/QuickLayout.Mac/Info.plist b/QuickLayout.Mac/Info.plist new file mode 100644 index 0000000..71dd39a --- /dev/null +++ b/QuickLayout.Mac/Info.plist @@ -0,0 +1,30 @@ + + + + + CFBundleName + QuickLayout.Mac + CFBundleIdentifier + com.quicklayout.QuickLayout-Mac + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + 10.14 + CFBundleDevelopmentRegion + en + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + NSHumanReadableCopyright + ${AuthorCopyright:HtmlEncode} + NSPrincipalClass + NSApplication + XSAppIconAssets + Assets.xcassets/AppIcon.appiconset + + diff --git a/QuickLayout.Mac/LinkerPleaseInclude.cs b/QuickLayout.Mac/LinkerPleaseInclude.cs new file mode 100644 index 0000000..7fe8da4 --- /dev/null +++ b/QuickLayout.Mac/LinkerPleaseInclude.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Specialized; +using System.Windows.Input; +using AppKit; +using CoreGraphics; +using Foundation; +using MvvmCross.Binding.BindingContext; +using MvvmCross.Navigation; +using MvvmCross.Platforms.Mac.Views; +using MvvmCross.ViewModels; + +namespace QuickLayout.Mac +{ + // This class is never actually executed, but when Xamarin linking is enabled it does ensure types and properties + // are preserved in the deployed app + [Foundation.Preserve(AllMembers = true)] + public class LinkerPleaseInclude + { + public void Include(MvxTaskBasedBindingContext c) + { + c.Dispose(); + var c2 = new MvxTaskBasedBindingContext(); + c2.Dispose(); + } + + public void Include(NSButton uiButton) + { + uiButton.Activated += (s, e) => uiButton.Title = uiButton.Title; + } + + //public void Include(NSBarButtonItem barButton) + //{ + // barButton.Clicked += (s, e) => + // barButton.Title = barButton.Title + ""; + //} + + public void Include(NSTextField textField) + { + textField.StringValue = textField.StringValue + ""; + textField.EditingBegan += (sender, args) => { textField.StringValue = ""; }; + textField.EditingEnded += (sender, args) => { textField.StringValue = ""; }; + } + + public void Include(NSTextView textView) + { + textView.Value = textView.Value + ""; + textView.TextStorage.DidProcessEditing += (sender, e) => textView.Value = ""; + textView.TextDidChange += (sender, args) => { textView.Value = ""; }; + } + + public void Include(NSImageView imageView) + { + imageView.Image = new NSImage(imageView.Image.CGImage, new CGSize(2, 2)); + } + + public void Include(NSDatePicker date) + { + date.DateValue = date.DateValue.AddSeconds(1); + date.Activated += (sender, args) => { date.DateValue = NSDate.DistantFuture; }; + } + + public void Include(NSSlider slider) + { + slider.DoubleValue = slider.DoubleValue + 1; + slider.Activated += (sender, args) => { slider.DoubleValue = 1; }; + } + + public void Include(MvxViewController vc) + { + vc.Title = vc.Title + ""; + } + + public void Include(NSStepper s) + { + s.IntValue = s.IntValue + 1; + s.Activated += (sender, args) => { s.IntValue = 0; }; + } + + public void Include(INotifyCollectionChanged changed) + { + changed.CollectionChanged += (s, e) => { var test = $"{e.Action}{e.NewItems}{e.NewStartingIndex}{e.OldItems}{e.OldStartingIndex}"; }; + } + + public void Include(ICommand command) + { + command.CanExecuteChanged += (s, e) => { if (command.CanExecute(null)) command.Execute(null); }; + } + + public void Include(MvvmCross.IoC.MvxPropertyInjector injector) + { + injector = new MvvmCross.IoC.MvxPropertyInjector(); + } + + public void Include(System.ComponentModel.INotifyPropertyChanged changed) + { + changed.PropertyChanged += (sender, e) => { var test = e.PropertyName; }; + } + + public void Include(MvxNavigationService service, IMvxViewModelLoader loader) + { + service = new MvxNavigationService(null, loader); + } + + public void Include(ConsoleColor color) + { + Console.Write(""); + Console.WriteLine(""); + color = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Red; + Console.ForegroundColor = ConsoleColor.Yellow; + Console.ForegroundColor = ConsoleColor.Magenta; + Console.ForegroundColor = ConsoleColor.White; + Console.ForegroundColor = ConsoleColor.Gray; + Console.ForegroundColor = ConsoleColor.DarkGray; + } + + public void Include(MvvmCross.Plugin.MethodBinding.Plugin p) + { + var _ = p; + } + } +} \ No newline at end of file diff --git a/QuickLayout.Mac/Main.cs b/QuickLayout.Mac/Main.cs new file mode 100644 index 0000000..efa4a28 --- /dev/null +++ b/QuickLayout.Mac/Main.cs @@ -0,0 +1,14 @@ +using AppKit; + +namespace QuickLayout.Mac +{ + static class MainClass + { + static void Main(string[] args) + { + NSApplication.Init(); + NSApplication.SharedApplication.Delegate = new AppDelegate(); + NSApplication.Main(args); + } + } +} diff --git a/QuickLayout.Mac/QuickLayout.Mac.csproj b/QuickLayout.Mac/QuickLayout.Mac.csproj new file mode 100644 index 0000000..fbaa5cc --- /dev/null +++ b/QuickLayout.Mac/QuickLayout.Mac.csproj @@ -0,0 +1,125 @@ + + + + Debug + AnyCPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3} + {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + QuickLayout.Mac + QuickLayout.Mac + v2.0 + Xamarin.Mac + Resources + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + false + Mac Developer + false + false + false + true + true + + + + + + pdbonly + true + bin\Release + + prompt + 4 + false + true + false + true + true + true + SdkOnly + + + + + PackageReference + + + + + + + + + + + + 6.4.0 + + + 6.4.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {849AFB57-994A-42D9-A786-EF34FC951CDE} + QuickLayout.Core + + + {75D2DA9D-DFD4-49A1-98FB-FE0F0677EF0F} + Cirrious.FluentLayouts.Touch + + + + \ No newline at end of file diff --git a/QuickLayout.Mac/Views/AdvancedVerticalStackView.cs b/QuickLayout.Mac/Views/AdvancedVerticalStackView.cs new file mode 100644 index 0000000..764e7ef --- /dev/null +++ b/QuickLayout.Mac/Views/AdvancedVerticalStackView.cs @@ -0,0 +1,98 @@ +using System.Collections.Generic; +using System.Reflection; +using AppKit; +using Cirrious.FluentLayouts.Touch; +using CoreGraphics; +using Foundation; +using MvvmCross.Binding.BindingContext; +using MvvmCross.Platforms.Mac.Views; +using QuickLayout.Core.ViewModels; + +namespace QuickLayout.Mac.Views +{ + [Register("AdvancedVerticalStackView")] + public class AdvancedVerticalStackView : MvxViewController + { + public override void LoadView() + { + var scrollView = new NSScrollView(new CGRect(0, 0, 1000, 1000)) + { + BackgroundColor = NSColor.White, + HasHorizontalScroller = false, + AutoresizingMask = NSViewResizingMask.HeightSizable, + }; + View = scrollView; + + var container = new FlippedView(scrollView.ContentView.Bounds) + { + TranslatesAutoresizingMaskIntoConstraints = false + }; + scrollView.DocumentView = container; + + var set = this.CreateBindingSet(); + + var topMargins = new List(); + var leftMargins = new List(); + var rightMargins = new List(); + + foreach (var propertyInfo in typeof(DetailsViewModel).GetProperties(BindingFlags.Instance | BindingFlags.Public)) + { + if (propertyInfo.PropertyType != typeof(string)) + continue; + + topMargins.Add(20); + leftMargins.Add(0); + rightMargins.Add(0); + var introLabel = new NSTextField + { + StringValue = propertyInfo.Name + ":", + Editable = false, + TranslatesAutoresizingMaskIntoConstraints = false, + }; + container.AddSubview(introLabel); + + topMargins.Add(0); + leftMargins.Add(25); + rightMargins.Add(25); + var textField = new NSTextField + { + TranslatesAutoresizingMaskIntoConstraints = false, + BackgroundColor = NSColor.LightGray + }; + container.AddSubview(textField); + + topMargins.Add(0); + leftMargins.Add(40); + rightMargins.Add(40); + var label = new NSTextField + { + TranslatesAutoresizingMaskIntoConstraints = false, + Editable = false, + BackgroundColor = NSColor.Yellow, + Alignment = NSTextAlignment.Center + }; + container.AddSubview(label); + + set.Bind(label).To(propertyInfo.Name); + set.Bind(textField).To(propertyInfo.Name); + } + set.Apply(); + + scrollView.ContentView.AddConstraints( + container.AtTopOf(scrollView.ContentView), + container.AtLeftOf(scrollView.ContentView), + container.AtRightOf(scrollView.ContentView) + ); + + var constraints = container.AdvancedVerticalStackPanelConstraints( + new Margins(20, 10, 20, 10, 5, 5), + leftMargins.ToArray(), + topMargins.ToArray(), + rightMargins.ToArray(), + 1, + container.Subviews); + container.AddConstraints(constraints); + } + } +} + diff --git a/QuickLayout.Mac/Views/DetailsView.cs b/QuickLayout.Mac/Views/DetailsView.cs new file mode 100644 index 0000000..3ca254e --- /dev/null +++ b/QuickLayout.Mac/Views/DetailsView.cs @@ -0,0 +1,75 @@ +using System.Reflection; +using AppKit; +using Cirrious.FluentLayouts.Touch; +using CoreGraphics; +using Foundation; +using MvvmCross.Binding.BindingContext; +using MvvmCross.Platforms.Mac.Views; +using QuickLayout.Core.ViewModels; + +namespace QuickLayout.Mac.Views +{ + [Register("DetailsView")] + public class DetailsView : MvxViewController + { + public override void LoadView() + { + var scrollView = new NSScrollView(new CGRect(0, 0, 1000, 1000)) + { + BackgroundColor = NSColor.White, + HasHorizontalScroller = false, + AutoresizingMask = NSViewResizingMask.HeightSizable, + }; + View = scrollView; + + var container = new FlippedView(scrollView.ContentView.Bounds) + { + TranslatesAutoresizingMaskIntoConstraints = false + }; + scrollView.DocumentView = container; + + var set = this.CreateBindingSet(); + + foreach (var propertyInfo in typeof(DetailsViewModel).GetProperties(BindingFlags.Instance | BindingFlags.Public)) + { + if (propertyInfo.PropertyType != typeof(string)) + continue; + + var introLabel = new NSTextField + { + StringValue = propertyInfo.Name + ":", + TranslatesAutoresizingMaskIntoConstraints = false, + Editable = false + }; + container.AddSubview(introLabel); + var textField = new NSTextField + { + TranslatesAutoresizingMaskIntoConstraints = false, + BackgroundColor = NSColor.LightGray + }; + container.AddSubview(textField); + var label = new NSTextField + { + TranslatesAutoresizingMaskIntoConstraints = false, + BackgroundColor = NSColor.Yellow + }; + container.AddSubview(label); + + set.Bind(label).To(propertyInfo.Name); + set.Bind(textField).To(propertyInfo.Name); + } + set.Apply(); + + var constraints = container.VerticalStackPanelConstraints( + new Margins(20, 10, 20, 10, 5, 5), + container.Subviews); + container.AddConstraints(constraints); + + scrollView.ContentView.AddConstraints( + container.AtTopOf(scrollView.ContentView), + container.AtLeftOf(scrollView.ContentView), + container.AtRightOf(scrollView.ContentView) + ); + } + } +} diff --git a/QuickLayout.Mac/Views/DirectionFormView.cs b/QuickLayout.Mac/Views/DirectionFormView.cs new file mode 100644 index 0000000..8b83b94 --- /dev/null +++ b/QuickLayout.Mac/Views/DirectionFormView.cs @@ -0,0 +1,74 @@ +using AppKit; +using Cirrious.FluentLayouts.Touch; +using Foundation; +using MvvmCross.Platforms.Mac.Views; + +namespace QuickLayout.Mac.Views +{ + [Register("DirectionFormView")] + public class DirectionFormView : MvxViewController + { + public override void LoadView() + { + View = new NSView(); + + var east = new NSTextField { Editable = false, StringValue = "East" }; + View.AddSubview(east); + + var west = new NSTextField { Editable = false, StringValue = "West" }; + View.AddSubview(west); + + var north = new NSTextField { Editable = false, StringValue = "North" }; + View.AddSubview(north); + + var south = new NSTextField { Editable = false, StringValue = "South" }; + View.AddSubview(south); + + var northEast = new NSTextField { Editable = false, StringValue = "NorthEast" }; + View.AddSubview(northEast); + + var northWest = new NSTextField { Editable = false, StringValue = "NorthWest" }; + View.AddSubview(northWest); + + var southEast = new NSTextField { Editable = false, StringValue = "SouthEast" }; + View.AddSubview(southEast); + + var southWest = new NSTextField { Editable = false, StringValue = "SouthWest" }; + View.AddSubview(southWest); + + var center = new NSTextField { Editable = false, StringValue = "Center" }; + View.AddSubview(center); + + View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); + + View.AddConstraints( + west.AtLeftOf(View), //.ToLeftMargin(View), + west.WithSameCenterY(View), + + east.AtRightOf(View),//.ToRightMargin(View), + east.WithSameCenterY(View), + + north.AtTopOf(View),//.ToTopMargin(View), + north.WithSameCenterX(View), + + south.AtBottomOf(View),//.ToBottomMargin(View), + south.WithSameCenterX(View), + + northWest.AtLeftOf(View), //.ToLeftMargin(View), + northWest.AtTopOf(View), //ToTopMargin(View), + + northEast.AtRightOf(View),//.ToRightMargin(View), + northEast.AtTopOf(View), //.ToTopMargin(View), + + southWest.AtLeftOf(View), //.ToLeftMargin(View), + southWest.AtBottomOf(View), //.ToBottomMargin(View), + + southEast.AtRightOf(View), //.ToRightMargin(View), + southEast.AtBottomOf(View), //.ToBottomMargin(View), + + center.WithSameCenterX(View), + center.WithSameCenterY(View) + ); + } + } +} \ No newline at end of file diff --git a/QuickLayout.Mac/Views/FirstView.cs b/QuickLayout.Mac/Views/FirstView.cs new file mode 100644 index 0000000..5518601 --- /dev/null +++ b/QuickLayout.Mac/Views/FirstView.cs @@ -0,0 +1,87 @@ +using AppKit; +using Cirrious.FluentLayouts.Touch; +using Foundation; +using MvvmCross.Binding.BindingContext; +using MvvmCross.Platforms.Mac.Presenters.Attributes; +using MvvmCross.Platforms.Mac.Views; +using QuickLayout.Core.ViewModels; + +namespace QuickLayout.Mac.Views +{ + [Register("FirstView")] + [MvxWindowPresentation] + public class FirstView : MvxViewController + { + private NSButton _viewForm, _viewFormGrid, _viewDetails, _viewSearch, _viewTip, _viewUpdateConstaints, _viewAdvancedVerticalStack, _fullSize, _directionFormView, _rightToLeft, _viewCenterConstraints; + + public override void LoadView() + { + View = new NSView(); + + _viewForm = new NSButton(); + _viewForm.Title = "Form"; + View.AddSubview(_viewForm); + + _viewFormGrid = new NSButton(); + _viewFormGrid.Title = "FormGrid"; + View.AddSubview(_viewFormGrid); + + _viewDetails = new NSButton(); + _viewDetails.Title = "Details"; + View.AddSubview(_viewDetails); + + _viewSearch = new NSButton(); + _viewSearch.Title = "Search"; + View.AddSubview(_viewSearch); + + _viewTip = new NSButton(); + _viewTip.Title = "Tip"; + View.AddSubview(_viewTip); + + _viewUpdateConstaints = new NSButton(); + _viewUpdateConstaints.Title = "Update Live Constraints"; + View.AddSubview(_viewUpdateConstaints); + + _viewAdvancedVerticalStack = new NSButton(); + _viewAdvancedVerticalStack.Title = "Advanced Vertical Stack Panel"; + View.AddSubview(_viewAdvancedVerticalStack); + + _fullSize = new NSButton(); + _fullSize.Title = "Full Size (animated)"; + View.AddSubview(_fullSize); + + _directionFormView = new NSButton(); + _directionFormView.Title = "Directions"; + View.AddSubview(_directionFormView); + + _rightToLeft = new NSButton(); + _rightToLeft.Title = "Right-To-Left Support"; + View.AddSubview(_rightToLeft); + + _viewCenterConstraints = new NSButton(); + _viewCenterConstraints.Title = "View Contraining to centers"; + View.AddSubview(_viewCenterConstraints); + + View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); + + var set = this.CreateBindingSet(); + set.Bind(_viewForm).To("GoForm"); + set.Bind(_viewFormGrid).To("GoFormGrid"); + set.Bind(_viewDetails).To("GoDetails"); + set.Bind(_viewSearch).To("GoSearch"); + set.Bind(_viewTip).To("GoTip"); + set.Bind(_viewUpdateConstaints).To("GoUpdateConstraints"); + set.Bind(_viewAdvancedVerticalStack).To("GoAdvancedVerticalStack"); + set.Bind(_fullSize).To("GoFullSize"); + set.Bind(_directionFormView).To("GoDirectionForm"); + set.Bind(_rightToLeft).To("GoRightToLeft"); + set.Bind(_viewCenterConstraints).To("GoCenterConstraints"); + set.Apply(); + + var constraints = View.VerticalStackPanelConstraints( + new Margins(20, 10, 20, 10, 5, 5), + View.Subviews); + View.AddConstraints(constraints); + } + } +} \ No newline at end of file diff --git a/QuickLayout.Mac/Views/FlippedView.cs b/QuickLayout.Mac/Views/FlippedView.cs new file mode 100644 index 0000000..7fb80d5 --- /dev/null +++ b/QuickLayout.Mac/Views/FlippedView.cs @@ -0,0 +1,32 @@ +using System; +using AppKit; +using CoreGraphics; +using Foundation; + +namespace QuickLayout.Mac.Views +{ + public class FlippedView : NSView + { + public FlippedView() + { + } + + public FlippedView(NSCoder coder) : base(coder) + { + } + + public FlippedView(CGRect frameRect) : base(frameRect) + { + } + + protected FlippedView(NSObjectFlag t) : base(t) + { + } + + protected internal FlippedView(IntPtr handle) : base(handle) + { + } + + public override bool IsFlipped => true; + } +} diff --git a/QuickLayout.Mac/Views/FormGridView.cs b/QuickLayout.Mac/Views/FormGridView.cs new file mode 100644 index 0000000..e40c05b --- /dev/null +++ b/QuickLayout.Mac/Views/FormGridView.cs @@ -0,0 +1,135 @@ +using AppKit; +using Cirrious.FluentLayouts.Touch; +using Cirrious.FluentLayouts.Touch.RowSet; +using CoreGraphics; +using Foundation; +using MvvmCross.Binding.BindingContext; +using MvvmCross.Platforms.Mac.Views; +using QuickLayout.Core.ViewModels; + +namespace QuickLayout.Mac.Views +{ + [Register("FormGridView")] + public class FormGridView : MvxViewController + { + private NSTextField _debugLabel; + + public override void LoadView() + { + var scrollView = new NSScrollView(new CGRect(0, 0, 1000, 1000)) + { + BackgroundColor = NSColor.White, + HasHorizontalScroller = false, + AutoresizingMask = NSViewResizingMask.HeightSizable, + }; + View = scrollView; + + var container = new FlippedView(scrollView.ContentView.Bounds) + { + TranslatesAutoresizingMaskIntoConstraints = false + }; + scrollView.DocumentView = container; + + var _forceTheWidthView = new NSView(); + container.AddSubview(_forceTheWidthView); + + var fNameLabel = new NSTextField { StringValue = "First", Editable = false }; + container.AddSubview(fNameLabel); + + var sNameLabel = new NSTextField { StringValue = "Last", Editable = false }; + container.AddSubview(sNameLabel); + + var numberLabel = new NSTextField { StringValue = "#", Editable = false }; + container.AddSubview(numberLabel); + + var streetLabel = new NSTextField { StringValue = "Street", Editable = false }; + container.AddSubview(streetLabel); + + var townLabel = new NSTextField { StringValue = "Town", Editable = false }; + container.AddSubview(townLabel); + + var zipLabel = new NSTextField { StringValue = "Zip", Editable = false }; + container.AddSubview(zipLabel); + + var fNameField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + container.AddSubview(fNameField); + + var sNameField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + container.AddSubview(sNameField); + + var numberField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + container.AddSubview(numberField); + + var streetField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + container.AddSubview(streetField); + + var townField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + container.AddSubview(townField); + + var zipField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + container.AddSubview(zipField); + + _debugLabel = new NSTextField() { BackgroundColor = NSColor.White, MaximumNumberOfLines = 0, LineBreakMode = NSLineBreakMode.ByWordWrapping }; + container.AddSubview(_debugLabel); + + var set = this.CreateBindingSet(); + set.Bind(fNameField).To(vm => vm.FirstName); + set.Bind(sNameField).To(vm => vm.LastName); + set.Bind(numberField).To(vm => vm.Number); + set.Bind(streetField).To(vm => vm.Street); + set.Bind(townField).To(vm => vm.Town); + set.Bind(zipField).To(vm => vm.Zip); + set.Bind(_debugLabel).To("FirstName + ' ' + LastName + ', ' + Number + ' ' + Street + ' ' + Town + ' ' + Zip"); + set.Apply(); + + View = container; + container.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); + + var rowSet = new RowSetTemplate() + { + TopMargin = 10f, + BottomMargin = 20f, + VInterspacing = 10f + }; + var equalWeightRowTemplate = new RowTemplate() + { + HInterspacing = 12f, + LeftMargin = 6f, + RightMargin = 24f + }; + var addressRowTemplate = new RowTemplate() + { + HInterspacing = 12f, + LeftMargin = 6f, + RightMargin = 24f + }; + addressRowTemplate.ColumnWeight(0, 0.3f); + var townAndZipRowTemplate = new RowTemplate() + { + HInterspacing = 12f, + LeftMargin = 6f, + RightMargin = 24f + }; + townAndZipRowTemplate.ColumnWidth(1, 120f); + + scrollView.ContentView.AddConstraints( + container.AtTopOf(scrollView.ContentView), + container.AtLeftOf(scrollView.ContentView), + container.AtRightOf(scrollView.ContentView) + ); + + container.AddConstraints( + rowSet.Generate(View, + new Row(equalWeightRowTemplate, _forceTheWidthView), + new Row(equalWeightRowTemplate, fNameLabel, sNameLabel), + new Row(equalWeightRowTemplate, fNameField, sNameField), + new Row(addressRowTemplate, numberLabel, streetLabel), + new Row(addressRowTemplate, numberField, streetField), + new Row(townAndZipRowTemplate, townLabel, zipLabel), + new Row(townAndZipRowTemplate, townField, zipField), + new Row(equalWeightRowTemplate, _debugLabel) + )); + container.AddConstraints(_forceTheWidthView.Width().EqualTo().WidthOf(container).Minus(30f)); + } + } +} \ No newline at end of file diff --git a/QuickLayout.Mac/Views/FormView.cs b/QuickLayout.Mac/Views/FormView.cs new file mode 100644 index 0000000..d04ff58 --- /dev/null +++ b/QuickLayout.Mac/Views/FormView.cs @@ -0,0 +1,128 @@ +using AppKit; +using Cirrious.FluentLayouts.Touch; +using Foundation; +using MvvmCross.Binding.BindingContext; +using MvvmCross.Platforms.Mac.Views; +using QuickLayout.Core.ViewModels; + +namespace QuickLayout.Mac.Views +{ + [Register("FormView")] + public class FormView : MvxViewController + { + public override void LoadView() + { + View = new NSView(); + + var fNameLabel = new NSTextField { StringValue = "First", Editable = false }; + View.AddSubview(fNameLabel); + + var sNameLabel = new NSTextField { StringValue = "Last", Editable = false }; + View.AddSubview(sNameLabel); + + var numberLabel = new NSTextField { StringValue = "#", Editable = false }; + View.AddSubview(numberLabel); + + var streetLabel = new NSTextField { StringValue = "Street", Editable = false }; + View.AddSubview(streetLabel); + + var townLabel = new NSTextField { StringValue = "Town", Editable = false }; + View.AddSubview(townLabel); + + var zipLabel = new NSTextField { StringValue = "Zip", Editable = false }; + View.AddSubview(zipLabel); + + var fNameField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(fNameField); + + var sNameField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(sNameField); + + var numberField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(numberField); + + var streetField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(streetField); + + var townField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(townField); + + var zipField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(zipField); + + var debug = new NSTextField() { BackgroundColor = NSColor.White, MaximumNumberOfLines = 0 }; + View.AddSubview(debug); + + var set = this.CreateBindingSet(); + set.Bind(fNameField).To(vm => vm.FirstName); + set.Bind(sNameField).To(vm => vm.LastName); + set.Bind(numberField).To(vm => vm.Number); + set.Bind(streetField).To(vm => vm.Street); + set.Bind(townField).To(vm => vm.Town); + set.Bind(zipField).To(vm => vm.Zip); + set.Bind(debug).To("FirstName + ' ' + LastName + ', ' + Number + ' ' + Street + ' ' + Town + ' ' + Zip"); + set.Apply(); + + View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); + + var hMargin = 10; + var vMargin = 10; + + View.AddConstraints( + + fNameLabel.AtTopOf(View, vMargin), + fNameLabel.AtLeftOf(View, hMargin), + fNameLabel.ToLeftOf(sNameLabel, hMargin), + + sNameLabel.WithSameTop(fNameLabel), + sNameLabel.AtRightOf(View, hMargin), + sNameLabel.WithSameWidth(fNameLabel), + + fNameField.WithSameWidth(fNameLabel), + fNameField.WithSameLeft(fNameLabel), + fNameField.Below(fNameLabel, vMargin), + + sNameField.WithSameLeft(sNameLabel), + sNameField.WithSameWidth(sNameLabel), + sNameField.WithSameTop(fNameField), + + numberLabel.WithSameLeft(fNameLabel), + numberLabel.ToLeftOf(streetLabel, hMargin), + numberLabel.Below(fNameField, vMargin), + numberLabel.WithRelativeWidth(streetLabel, 0.3f), + + streetLabel.WithSameTop(numberLabel), + streetLabel.AtRightOf(View, hMargin), + + numberField.WithSameLeft(numberLabel), + numberField.WithSameWidth(numberLabel), + numberField.Below(numberLabel, vMargin), + + streetField.WithSameLeft(streetLabel), + streetField.WithSameWidth(streetLabel), + streetField.WithSameTop(numberField), + + townLabel.WithSameLeft(fNameLabel), + townLabel.WithSameRight(streetLabel), + townLabel.Below(numberField, vMargin), + + townField.WithSameLeft(townLabel), + townField.WithSameWidth(townLabel), + townField.Below(townLabel, vMargin), + + zipLabel.WithSameLeft(fNameLabel), + zipLabel.WithSameWidth(townLabel), + zipLabel.Below(townField, vMargin), + + zipField.WithSameLeft(townLabel), + zipField.WithSameWidth(zipLabel), + zipField.Below(zipLabel, vMargin), + + debug.WithSameLeft(townLabel), + debug.WithSameWidth(zipLabel), + debug.AtBottomOf(View, vMargin) + + ); + } + } +} \ No newline at end of file diff --git a/QuickLayout.Mac/Views/FullSizeView.cs b/QuickLayout.Mac/Views/FullSizeView.cs new file mode 100644 index 0000000..c91cdcb --- /dev/null +++ b/QuickLayout.Mac/Views/FullSizeView.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using AppKit; +using Cirrious.FluentLayouts.Touch; +using Cirrious.FluentLayouts.Touch.Extensions; +using Foundation; +using MvvmCross.Platforms.Mac.Views; + +namespace QuickLayout.Mac.Views +{ + [Register("FullSizeView")] + public class FullSizeView : MvxViewController + { + private IEnumerable _cyanLayouts; + + public override void LoadView() + { + View = new NSView(); + + var cyan = new NSColoredView(NSColor.Cyan); + var red = new NSColoredView(NSColor.Red); + var yellow = new NSColoredView(NSColor.Yellow); + var brown = new NSColoredView(NSColor.Brown); + var green = new NSColoredView(NSColor.Green); + var clickMe = new NSTextField { StringValue = "Tap me", Alignment = NSTextAlignment.Center, Editable = false }; + + View.AddSubviews(cyan, red, yellow, brown, green, clickMe); + View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); + + _cyanLayouts = cyan.FullSizeOf(View, 20); + + View.AddConstraints(_cyanLayouts); + View.AddConstraints(red.FullSizeOf(cyan, new Margins(10, 30))); + View.AddConstraints(yellow.FullSizeOf(red, 5)); + View.AddConstraints(brown.FullSizeOf(yellow, new Margins(20, 40, 50, 10))); + View.AddConstraints(green.FullSizeOf(brown, 10)); + View.AddConstraints( + clickMe.WithSameCenterX(green), + clickMe.WithSameCenterY(green) + ); + + View.AddGestureRecognizer(new NSClickGestureRecognizer(AnimateRandom)); + } + + private void AnimateRandom() + { + var random = new Random(); + + NSAnimationContext.RunAnimation(context => + { + context.Duration = 0.3; + context.AllowsImplicitAnimation = true; + + _cyanLayouts.GetLayoutById("Top").Constant = random.Next(5, 150); + _cyanLayouts.GetLayoutById("Bottom").Constant = random.Next(-150, -5); + _cyanLayouts.GetLayoutById("Left").Constant = random.Next(5, 50); + _cyanLayouts.GetLayoutById("Right").Constant = random.Next(-50, -5); + + View.LayoutSubtreeIfNeeded(); + }); + } + } +} diff --git a/QuickLayout.Mac/Views/NSColoredView.cs b/QuickLayout.Mac/Views/NSColoredView.cs new file mode 100644 index 0000000..68f08a5 --- /dev/null +++ b/QuickLayout.Mac/Views/NSColoredView.cs @@ -0,0 +1,13 @@ +using AppKit; + +namespace QuickLayout.Mac.Views +{ + public class NSColoredView : NSView + { + public NSColoredView(NSColor color) + { + this.WantsLayer = true; + this.Layer.BackgroundColor = color.CGColor; + } + } +} diff --git a/QuickLayout.Mac/Views/RightToLeftView.cs b/QuickLayout.Mac/Views/RightToLeftView.cs new file mode 100644 index 0000000..0f08ad5 --- /dev/null +++ b/QuickLayout.Mac/Views/RightToLeftView.cs @@ -0,0 +1,145 @@ +using AppKit; +using Cirrious.FluentLayouts.Touch; +using Foundation; +using MvvmCross.Binding.BindingContext; +using MvvmCross.Platforms.Mac.Views; +using QuickLayout.Core.ViewModels; + +namespace QuickLayout.Mac.Views +{ + [Register("RightToLeftView")] + public class RightToLeftView : MvxViewController + { + public RightToLeftView() + { + // TODO: Implement RTL + //SetRTL(false); + } + + public override void LoadView() + { + View = new NSView(); + + var fNameLabel = new NSTextField { Editable = false, StringValue = "First" }; + View.AddSubview(fNameLabel); + + var sNameLabel = new NSTextField { Editable = false, StringValue = "Last" }; + View.AddSubview(sNameLabel); + + var numberLabel = new NSTextField { Editable = false, StringValue = "#" }; + View.AddSubview(numberLabel); + + var streetLabel = new NSTextField { Editable = false, StringValue = "Street" }; + View.AddSubview(streetLabel); + + var townLabel = new NSTextField { Editable = false, StringValue = "Town" }; + View.AddSubview(townLabel); + + var zipLabel = new NSTextField { Editable = false, StringValue = "Zip" }; + View.AddSubview(zipLabel); + + var fNameField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(fNameField); + + var sNameField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(sNameField); + + var numberField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(numberField); + + var streetField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(streetField); + + var townField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(townField); + + var zipField = new NSTextField() { BackgroundColor = NSColor.LightGray }; + View.AddSubview(zipField); + + var debug = new NSTextField { Editable = false, BackgroundColor = NSColor.White, MaximumNumberOfLines = 0 }; + View.AddSubview(debug); + + var set = this.CreateBindingSet(); + set.Bind(fNameField).To(vm => vm.FirstName); + set.Bind(sNameField).To(vm => vm.LastName); + set.Bind(numberField).To(vm => vm.Number); + set.Bind(streetField).To(vm => vm.Street); + set.Bind(townField).To(vm => vm.Town); + set.Bind(zipField).To(vm => vm.Zip); + set.Bind(debug).To("FirstName + ' ' + LastName + ', ' + Number + ' ' + Street + ' ' + Town + ' ' + Zip"); + set.Apply(); + + View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); + + var hMargin = 10; + var vMargin = 10; + + + View.AddConstraints( + + fNameLabel.AtTopOf(View, vMargin), + fNameLabel.AtLeadingOf(View, hMargin), + fNameLabel.ToLeadingOf(sNameLabel, hMargin), + + sNameLabel.WithSameTop(fNameLabel), + sNameLabel.AtTrailingOf(View, hMargin), + sNameLabel.WithSameWidth(fNameLabel), + + fNameField.WithSameWidth(fNameLabel), + fNameField.WithSameLeading(fNameLabel), + fNameField.Below(fNameLabel, vMargin), + + sNameField.WithSameLeading(sNameLabel), + sNameField.WithSameWidth(sNameLabel), + sNameField.WithSameTop(fNameField), + + numberLabel.WithSameLeading(fNameLabel), + numberLabel.ToLeadingOf(streetLabel, hMargin), + numberLabel.Below(fNameField, vMargin), + numberLabel.WithRelativeWidth(streetLabel, 0.3f), + + streetLabel.WithSameTop(numberLabel), + streetLabel.AtTrailingOf(View, hMargin), + + numberField.WithSameLeading(numberLabel), + numberField.WithSameWidth(numberLabel), + numberField.Below(numberLabel, vMargin), + + streetField.WithSameLeading(streetLabel), + streetField.WithSameWidth(streetLabel), + streetField.WithSameTop(numberField), + + townLabel.WithSameLeading(fNameLabel), + townLabel.WithSameTrailing(streetLabel), + townLabel.Below(numberField, vMargin), + + townField.WithSameLeading(townLabel), + townField.WithSameWidth(townLabel), + townField.Below(townLabel, vMargin), + + zipLabel.WithSameLeading(fNameLabel), + zipLabel.WithSameWidth(townLabel), + zipLabel.Below(townField, vMargin), + + zipField.WithSameLeading(townLabel), + zipField.WithSameWidth(zipLabel), + zipField.Below(zipLabel, vMargin), + + debug.WithSameLeading(townLabel), + debug.WithSameWidth(zipLabel), + debug.AtBottomOf(View, vMargin) + + ); + } + + // TODO: implement RTL + //[DllImport(Constants.ObjectiveCLibrary, EntryPoint = "objc_msgSend")] + //internal extern static IntPtr IntPtr_objc_msgSend(IntPtr receiver, IntPtr selector, NSSemanticContentAttribute arg1); + + //private static void SetRTL(bool isRTL) + //{ + // Selector selector = new Selector("setSemanticContentAttribute:"); + // IntPtr_objc_msgSend(NSView.Appearance.Handle, selector.Handle, isRTL ? NSSemanticContentAttribute.ForceRightToLeft : NSSemanticContentAttribute.ForceLeftToRight); + //} + } +} \ No newline at end of file diff --git a/QuickLayout.Mac/Views/SearchView.cs b/QuickLayout.Mac/Views/SearchView.cs new file mode 100644 index 0000000..46eae73 --- /dev/null +++ b/QuickLayout.Mac/Views/SearchView.cs @@ -0,0 +1,48 @@ +using AppKit; +using Cirrious.FluentLayouts.Touch; +using Foundation; +using MvvmCross.Binding.BindingContext; +using MvvmCross.Platforms.Mac.Views; +using QuickLayout.Core.ViewModels; + +namespace QuickLayout.Mac.Views +{ + [Register("SearchView")] + public class SearchView : MvxViewController + { + public override void LoadView() + { + View = new NSView(); + + var button = new NSButton(); + button.Title = "Search"; + View.AddSubview(button); + + var text = new NSTextField(); + View.AddSubview(text); + + View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); + + var set = this.CreateBindingSet(); + set.Bind(button).To("Search"); + set.Bind(text).To(vm => vm.SearchText); + set.Apply(); + + var hPadding = 10; + var vPadding = 10; + var ButtonWidth = 100; + + View.AddConstraints( + + button.AtTopOf(View).Plus(vPadding), + button.AtRightOf(View).Minus(hPadding), + button.Width().EqualTo(ButtonWidth), + + text.AtLeftOf(View, hPadding), + text.ToLeftOf(button, hPadding), + text.WithSameTop(button) + + ); + } + } +} diff --git a/QuickLayout.Mac/Views/TipView.cs b/QuickLayout.Mac/Views/TipView.cs new file mode 100644 index 0000000..ddd51ba --- /dev/null +++ b/QuickLayout.Mac/Views/TipView.cs @@ -0,0 +1,73 @@ +using Cirrious.FluentLayouts.Touch; +using MvvmCross.Binding.BindingContext; +using MvvmCross.Platforms.Mac.Views; +using Foundation; +using AppKit; +using QuickLayout.Core.ViewModels; + +namespace QuickLayout.Touch.Views +{ + [Register("TipView")] + public class TipView : MvxViewController + { + public override void LoadView() + { + View = new NSView(); + + var subTotal = new NSTextField(); + var numberFormatter = new NSNumberFormatter(); + numberFormatter.NumberStyle = NSNumberFormatterStyle.Decimal; + subTotal.Formatter = numberFormatter; + View.AddSubview(subTotal); + + var seek = new NSSlider() + { + MinValue = 0, + MaxValue = 100, + }; + View.AddSubview(seek); + + var seekLabel = new NSTextField { Editable = false }; + View.AddSubview(seekLabel); + + var tipLabel = new NSTextField { Editable = false }; + View.AddSubview(tipLabel); + + var totalLabel = new NSTextField { Editable = false }; + View.AddSubview(totalLabel); + + var set = this.CreateBindingSet(); + set.Bind(subTotal).To(vm => vm.SubTotal); + set.Bind(seek).To(vm => vm.Generosity); + set.Bind(seekLabel).To(vm => vm.Generosity); + set.Bind(tipLabel).To(vm => vm.Tip); + set.Bind(totalLabel).To("SubTotal + Tip"); + set.Apply(); + + View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); + + var margin = 10; + View.AddConstraints( + subTotal.AtLeftOf(View, margin), + subTotal.AtTopOf(View, margin), + subTotal.AtRightOf(View, margin), + + seek.WithSameLeft(subTotal), + seek.Below(subTotal, margin), + seek.ToLeftOf(seekLabel, margin), + seek.WithRelativeWidth(seekLabel, 3), + + seekLabel.WithSameRight(subTotal), + seekLabel.WithSameTop(seek), + + tipLabel.Below(seek, margin), + tipLabel.WithSameLeft(seek), + tipLabel.WithSameWidth(totalLabel), + + totalLabel.WithSameTop(tipLabel), + totalLabel.ToRightOf(tipLabel, margin), + totalLabel.WithSameRight(subTotal) + ); + } + } +} \ No newline at end of file diff --git a/QuickLayout.Mac/Views/ToCenterConstraintsView.cs b/QuickLayout.Mac/Views/ToCenterConstraintsView.cs new file mode 100644 index 0000000..4777190 --- /dev/null +++ b/QuickLayout.Mac/Views/ToCenterConstraintsView.cs @@ -0,0 +1,54 @@ +using AppKit; +using Cirrious.FluentLayouts.Touch; +using Cirrious.FluentLayouts.Touch.Extensions; +using Foundation; +using MvvmCross.Platforms.Mac.Views; +using QuickLayout.Core.ViewModels; + +namespace QuickLayout.Mac.Views +{ + [Register("ToCenterConstraintsView")] + public class ToCenterConstraintsView : MvxViewController + { + public override void LoadView() + { + View = new NSView(); + + NSView firstContainer = new NSColoredView(NSColor.Blue) + { + TranslatesAutoresizingMaskIntoConstraints = false, + }, + + secondContainer = new NSColoredView(NSColor.Red) + { + TranslatesAutoresizingMaskIntoConstraints = false, + }, + + thirdContainer = new NSColoredView(NSColor.Yellow) + { + TranslatesAutoresizingMaskIntoConstraints = false, + AlphaValue = .5f + }; + + View.AddSubviews(firstContainer, secondContainer, thirdContainer); + + View.AddConstraints(new FluentLayout[] + { + firstContainer.AtTopOf(View), + firstContainer.AtLeftOf(View), + firstContainer.AboveCenterOf(View, 10f), + firstContainer.ToLeftOfCenterOf(View, 10f), + + secondContainer.AtBottomOf(View), + secondContainer.AtRightOf(View), + secondContainer.ToRightOfCenterOf(View, 10f), + secondContainer.BelowCenterOf(View, 10f), + + thirdContainer.ToRightOfCenterOf(firstContainer), + thirdContainer.ToLeftOfCenterOf(secondContainer), + thirdContainer.AboveCenterOf(secondContainer), + thirdContainer.BelowCenterOf(firstContainer) + }); + } + } +} diff --git a/QuickLayout.Mac/Views/UpdateConstraintsView.cs b/QuickLayout.Mac/Views/UpdateConstraintsView.cs new file mode 100644 index 0000000..fb3f659 --- /dev/null +++ b/QuickLayout.Mac/Views/UpdateConstraintsView.cs @@ -0,0 +1,65 @@ +using AppKit; +using Cirrious.FluentLayouts.Touch; +using Cirrious.FluentLayouts.Touch.Extensions; +using Foundation; +using MvvmCross.Binding; +using MvvmCross.Binding.BindingContext; +using MvvmCross.Platforms.Mac.Views; +using QuickLayout.Core.ViewModels; +using QuickLayout.Mac.Converters; + +namespace QuickLayout.Mac.Views +{ + [Register("UpdateConstraintsView")] + public class UpdateConstraintsView : MvxViewController + { + FluentLayout heightLayout; + + public override void LoadView() + { + View = new NSView(); + + var label = new NSTextField + { + Editable = false, + StringValue = "Update this label's height constraint height constant and active settings", + BackgroundColor = NSColor.White, + TextColor = NSColor.Black, + LineBreakMode = NSLineBreakMode.ByWordWrapping, + MaximumNumberOfLines = 0 + }; + var toggleHeight = new NSButton(); + toggleHeight.SetButtonType(NSButtonType.Switch); + + var heightConstant = new NSSlider { MinValue = 0, MaxValue = 600 }; + + View.AddSubviews(label, toggleHeight, heightConstant); + + View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); + + heightLayout = label.Height().EqualTo(200).WithIdentifier("foo"); + + var margin = 10; + View.AddConstraints( + heightConstant.AtTopOf(View, margin), + heightConstant.AtLeftOf(View, margin), + heightConstant.AtRightOf(View, margin), + + toggleHeight.Below(heightConstant, margin), + toggleHeight.WithSameLeft(heightConstant), + + label.AtLeftOf(View, margin), + label.Below(toggleHeight, margin), + label.AtRightOf(View, margin), + heightLayout + ); + + var set = this.CreateBindingSet(); + set.Bind(heightLayout).For(layout => layout.Active).To(vm => vm.Active); + set.Bind(heightLayout).For(layout => layout.Constant).To(vm => vm.Constant).Mode(MvxBindingMode.OneWay).WithConversion(); + set.Bind(toggleHeight).For(t => t.State).To(vm => vm.Active); + set.Bind(heightConstant).To(vm => vm.Constant).WithConversion(); + set.Apply(); + } + } +} diff --git a/QuickLayout.sln b/QuickLayout.sln index 1d5b138..1a5b596 100644 --- a/QuickLayout.sln +++ b/QuickLayout.sln @@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuickLayout.Touch", "QuickL EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cirrious.FluentLayouts.Touch", "Cirrious.FluentLayout\Cirrious.FluentLayouts.Touch.csproj", "{75D2DA9D-DFD4-49A1-98FB-FE0F0677EF0F}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuickLayout.Mac", "QuickLayout.Mac\QuickLayout.Mac.csproj", "{1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Ad-Hoc|Any CPU = Ad-Hoc|Any CPU @@ -105,6 +107,38 @@ Global {849AFB57-994A-42D9-A786-EF34FC951CDE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU {849AFB57-994A-42D9-A786-EF34FC951CDE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {849AFB57-994A-42D9-A786-EF34FC951CDE}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Ad-Hoc|Mixed Platforms.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Ad-Hoc|Mixed Platforms.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.AppStore|Any CPU.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.AppStore|iPhone.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Debug|iPhone.Build.0 = Debug|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Release|Any CPU.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Release|iPhone.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Release|iPhone.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {1D3B4BBB-D676-4DA8-A237-08BEC1003FE3}.Release|Mixed Platforms.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution StartupItem = QuickLayout.Touch\QuickLayout.Touch.csproj