From 4131c6ba2c80ff5e507c4a2a2d0f7ecfdba9d477 Mon Sep 17 00:00:00 2001 From: Mark Allibone Date: Sat, 1 Sep 2018 08:00:22 +0200 Subject: [PATCH 1/3] Solve compile warnings in samples --- Samples/BugSweeper/BugSweeperPage.xaml.cs | 2 +- Samples/BugSweeper/Tile.cs | 8 ++++---- Samples/Xuzzle/XuzzleSquare.cs | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Samples/BugSweeper/BugSweeperPage.xaml.cs b/Samples/BugSweeper/BugSweeperPage.xaml.cs index 527abe5..58bc23f 100755 --- a/Samples/BugSweeper/BugSweeperPage.xaml.cs +++ b/Samples/BugSweeper/BugSweeperPage.xaml.cs @@ -164,7 +164,7 @@ namespace BugSweeper { #if FIX_WINPHONE_BUTTON - if (Device.OS == TargetPlatform.WinPhone && !((Button)sender).IsEnabled) + if (Device.RuntimePlatform == Device.UWP && !((Button)sender).IsEnabled) return; #endif diff --git a/Samples/BugSweeper/Tile.cs b/Samples/BugSweeper/Tile.cs index b21e39c..0d54efb 100755 --- a/Samples/BugSweeper/Tile.cs +++ b/Samples/BugSweeper/Tile.cs @@ -36,7 +36,7 @@ namespace BugSweeper this.Col = col; this.BackgroundColor = Color.Yellow; - this.OutlineColor = Color.Blue; + this.BorderColor = Color.Blue; this.Padding = 2; label = new Label { @@ -64,7 +64,7 @@ namespace BugSweeper #if FIX_WINDOWS_DOUBLE_TAPS - if (Device.OS != TargetPlatform.Windows && Device.OS != TargetPlatform.WinPhone) { + if (Device.RuntimePlatform != Device.UWP) { #endif @@ -101,7 +101,7 @@ namespace BugSweeper #if FIX_WINDOWS_PHONE_NULL_CONTENT - if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows) { + if (Device.RuntimePlatform == Device.UWP) { this.Content = new Label { Text = " " }; } @@ -156,7 +156,7 @@ namespace BugSweeper #if FIX_WINDOWS_DOUBLE_TAPS - if (Device.OS == TargetPlatform.Windows || Device.OS == TargetPlatform.WinPhone) { + if (Device.RuntimePlatform == Device.UWP) { if (lastTapSingle && DateTime.Now - lastTapTime < TimeSpan.FromMilliseconds (500)) { OnDoubleTap (sender, args); lastTapSingle = false; diff --git a/Samples/Xuzzle/XuzzleSquare.cs b/Samples/Xuzzle/XuzzleSquare.cs index 203db53..a53fac0 100644 --- a/Samples/Xuzzle/XuzzleSquare.cs +++ b/Samples/Xuzzle/XuzzleSquare.cs @@ -32,7 +32,7 @@ namespace Xuzzle this.Padding = new Thickness(3); this.Content = new Frame { - OutlineColor = Color.Accent, + BorderColor = Color.Accent, Padding = new Thickness(5, 10, 5, 0), Content = new StackLayout { From bfb971348401b3bd20fe88668d85508b7868dca9 Mon Sep 17 00:00:00 2001 From: mallibone Date: Sun, 2 Sep 2018 06:56:35 +0200 Subject: [PATCH 2/3] Add a sample chooser --- Ooui/UI.cs | 2 +- Samples/BoxViewClockSample.cs | 8 +++++ Samples/BugSweeperSample.cs | 6 ++++ Samples/ButtonSample.cs | 3 +- Samples/ButtonXamlSample.cs | 34 +++++++++++--------- Samples/DisplayAlertSample.cs | 3 +- Samples/DotMatrixClockSample.cs | 3 +- Samples/DrawSample.cs | 3 +- Samples/EditorSample.cs | 3 +- Samples/FilesSample.cs | 7 +++-- Samples/ISample.cs | 2 ++ Samples/ListViewSample.cs | 6 ++-- Samples/MonkeysSample.cs | 3 +- Samples/NavigationSample.cs | 6 ++++ Samples/PickerSample.cs | 5 +-- Samples/Program.cs | 53 ++++++++++++++++++++------------ Samples/RefreshListViewSample.cs | 3 +- Samples/SamplePickerSample.cs | 53 ++++++++++++++++++++++++++++++++ Samples/SearchBarSample.cs | 3 +- Samples/SliderSample.cs | 3 +- Samples/SwitchErrorSample.cs | 3 +- Samples/TimePickerSample.cs | 3 +- Samples/TipCalcSample.cs | 3 +- Samples/TodoSample.cs | 3 +- Samples/WeatherAppSample.cs | 3 +- Samples/WebViewSample.cs | 3 +- Samples/WrappingTextSample.cs | 3 +- Samples/XamlPreviewPageSample.cs | 14 +++++++-- Samples/XuzzleSample.cs | 3 +- 29 files changed, 186 insertions(+), 61 deletions(-) create mode 100644 Samples/SamplePickerSample.cs diff --git a/Ooui/UI.cs b/Ooui/UI.cs index 50bf1a8..d351b1f 100644 --- a/Ooui/UI.cs +++ b/Ooui/UI.cs @@ -193,7 +193,7 @@ namespace Ooui public static string GetUrl (string path) { var localhost = host == "*" ? "localhost" : host; - var url = $"http://{localhost}:{port}{path}"; + var url = Path.Combine($"http://{localhost}:{port}{path}"); return url; } diff --git a/Samples/BoxViewClockSample.cs b/Samples/BoxViewClockSample.cs index f576061..ef96405 100644 --- a/Samples/BoxViewClockSample.cs +++ b/Samples/BoxViewClockSample.cs @@ -1,11 +1,14 @@ using System; +using Ooui; using Xamarin.Forms; +using Color = Xamarin.Forms.Color; namespace Samples { public class BoxViewClockSample : ISample { public string Title => "Xamarin.Forms BoxViewClock"; + public string Path => "/box-view-clock"; BoxViewClockPage page; @@ -20,6 +23,11 @@ namespace Samples return page.GetOouiElement (); } + public void Publish() + { + UI.Publish(Path, CreateElement); + } + class BoxViewClockPage : ContentPage { // Structure for storing information about the three hands. diff --git a/Samples/BugSweeperSample.cs b/Samples/BugSweeperSample.cs index a6bb529..337e246 100644 --- a/Samples/BugSweeperSample.cs +++ b/Samples/BugSweeperSample.cs @@ -6,11 +6,17 @@ namespace Samples public class BugSweeperSample : ISample { public string Title => "Xamarin.Forms BugSweeper"; + public string Path => "/bugsweeper"; public Ooui.Element CreateElement () { var page = new BugSweeper.BugSweeperPage (); return page.GetOouiElement (); } + + public void Publish() + { + UI.Publish(Path, CreateElement); + } } } diff --git a/Samples/ButtonSample.cs b/Samples/ButtonSample.cs index 44d99d2..871f671 100644 --- a/Samples/ButtonSample.cs +++ b/Samples/ButtonSample.cs @@ -6,6 +6,7 @@ namespace Samples public class ButtonSample : ISample { public string Title => "Button Counter"; + public string Path => "/shared-button"; Button MakeButton () { @@ -25,7 +26,7 @@ namespace Samples { var b = MakeButton (); - UI.Publish ("/shared-button", b); + UI.Publish (Path, b); UI.Publish ("/button", MakeButton); } diff --git a/Samples/ButtonXamlSample.cs b/Samples/ButtonXamlSample.cs index cc82b4a..c60ee8b 100644 --- a/Samples/ButtonXamlSample.cs +++ b/Samples/ButtonXamlSample.cs @@ -1,16 +1,22 @@ using Ooui; -using Xamarin.Forms; - -namespace Samples -{ - public class ButtonXamlSample : ISample - { - public string Title => "Xamarin.Forms Button XAML"; - - public Ooui.Element CreateElement () - { +using Xamarin.Forms; + +namespace Samples +{ + public class ButtonXamlSample : ISample + { + public string Title => "Xamarin.Forms Button XAML"; + public string Path => "buttons"; + + public Ooui.Element CreateElement () + { var page = new ButtonXaml.ButtonXamlPage (); - return page.GetOouiElement (); - } - } -} + return page.GetOouiElement (); + } + + public void Publish() + { + UI.Publish(Path, CreateElement); + } + } +} diff --git a/Samples/DisplayAlertSample.cs b/Samples/DisplayAlertSample.cs index 783f0f6..7d7ac43 100644 --- a/Samples/DisplayAlertSample.cs +++ b/Samples/DisplayAlertSample.cs @@ -7,6 +7,7 @@ namespace Samples public class DisplayAlertSample : ISample { public string Title => "Xamarin.Forms DisplayAlert"; + public string Path => "/display-alert"; public Ooui.Element CreateElement () { @@ -16,7 +17,7 @@ namespace Samples public void Publish () { - UI.Publish ("/display-alert", CreateElement); + UI.Publish (Path, CreateElement); } } } diff --git a/Samples/DotMatrixClockSample.cs b/Samples/DotMatrixClockSample.cs index b901e86..a6f4e04 100644 --- a/Samples/DotMatrixClockSample.cs +++ b/Samples/DotMatrixClockSample.cs @@ -6,6 +6,7 @@ namespace Samples public class DotMatrixClockSample : ISample { public string Title => "Xamarin.Forms DoMatrixClock"; + public string Path => "/dotmatrixclock"; public Ooui.Element CreateElement() { @@ -15,7 +16,7 @@ namespace Samples public void Publish() { - UI.Publish("/dotmatrixclock", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/DrawSample.cs b/Samples/DrawSample.cs index 776e30f..305d0ea 100644 --- a/Samples/DrawSample.cs +++ b/Samples/DrawSample.cs @@ -8,10 +8,11 @@ namespace Samples public class DrawSample : ISample { public string Title => "Drawing"; + public string Path => "/draw"; public void Publish () { - UI.Publish ("/draw", CreateElement ()); + UI.Publish (Path, CreateElement ()); } public Element CreateElement () diff --git a/Samples/EditorSample.cs b/Samples/EditorSample.cs index ef0464e..9c67dc4 100644 --- a/Samples/EditorSample.cs +++ b/Samples/EditorSample.cs @@ -6,6 +6,7 @@ namespace Samples public class EditorSample : ISample { public string Title => "Xamarin.Forms Editor Sample"; + public string Path => "/editor"; public Ooui.Element CreateElement() { @@ -40,7 +41,7 @@ namespace Samples public void Publish() { - UI.Publish("/editor", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/FilesSample.cs b/Samples/FilesSample.cs index fbb05d5..b3ea323 100644 --- a/Samples/FilesSample.cs +++ b/Samples/FilesSample.cs @@ -6,15 +6,16 @@ using Ooui; namespace Samples { - public class FilesSample //: ISample + public class FilesSample : ISample { public string Title => "Upload files"; + public string Path => "/files"; - public void Publish () + public void Publish () { var app = CreateElement (); - UI.Publish ("/files", app); + UI.Publish (Path, app); UI.PublishCustomResponse ("/files/upload", HandleUpload); } diff --git a/Samples/ISample.cs b/Samples/ISample.cs index 5f6e6ab..81e32db 100644 --- a/Samples/ISample.cs +++ b/Samples/ISample.cs @@ -6,6 +6,8 @@ namespace Samples public interface ISample { string Title { get; } + string Path { get; } Element CreateElement (); + void Publish(); } } diff --git a/Samples/ListViewSample.cs b/Samples/ListViewSample.cs index e76b4e4..1764484 100644 --- a/Samples/ListViewSample.cs +++ b/Samples/ListViewSample.cs @@ -59,6 +59,7 @@ namespace Samples class EntryListViewSample : ISample { public string Title => "Xamarin.Forms Basic Entry ListView Sample"; + public string Path => "/entry-listview"; public Ooui.Element CreateElement() { @@ -91,13 +92,14 @@ namespace Samples public void Publish() { - UI.Publish("/entry-listview", CreateElement); + UI.Publish(Path, CreateElement); } } class SwitchListViewSample : ISample { public string Title => "Xamarin.Forms Basic Switch ListView Sample"; + public string Path => "/switch-listview"; public Ooui.Element CreateElement() { @@ -130,7 +132,7 @@ namespace Samples public void Publish() { - UI.Publish("/switch-listview", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/MonkeysSample.cs b/Samples/MonkeysSample.cs index ea7b23a..c04adcd 100644 --- a/Samples/MonkeysSample.cs +++ b/Samples/MonkeysSample.cs @@ -9,6 +9,7 @@ namespace Samples public class MonkeysSample : ISample { public string Title => "Xamarin.Forms Monkeys"; + public string Path => "/monkeys"; public Ooui.Element CreateElement() { @@ -18,7 +19,7 @@ namespace Samples public void Publish() { - UI.Publish("/monkeys", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/NavigationSample.cs b/Samples/NavigationSample.cs index d920ebf..66affb6 100644 --- a/Samples/NavigationSample.cs +++ b/Samples/NavigationSample.cs @@ -7,6 +7,7 @@ namespace Samples.Navigation public class NavigationSample : ISample { public string Title => "Xamarin.Forms Navigation XAML"; + public string Path => "navigation-sample"; public Ooui.Element CreateElement() { @@ -14,5 +15,10 @@ namespace Samples.Navigation var root = new NavigationPage(page); return root.GetOouiElement(); } + + public void Publish() + { + UI.Publish(Path, CreateElement); + } } } diff --git a/Samples/PickerSample.cs b/Samples/PickerSample.cs index d804d68..493698c 100644 --- a/Samples/PickerSample.cs +++ b/Samples/PickerSample.cs @@ -11,8 +11,9 @@ namespace Samples private Xamarin.Forms.Picker _picker; public string Title => "Xamarin.Forms Picker Sample"; + public string Path => "/picker"; - List myItems = new List + List myItems = new List { "red", "green", @@ -69,7 +70,7 @@ namespace Samples public void Publish() { - UI.Publish("/picker", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/Program.cs b/Samples/Program.cs index a80416b..59320c5 100644 --- a/Samples/Program.cs +++ b/Samples/Program.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using Ooui; namespace Samples @@ -25,27 +26,39 @@ namespace Samples } } - new EntryListViewSample().Publish(); - new ButtonSample ().Publish (); - new TodoSample ().Publish (); - new DrawSample ().Publish (); - new FilesSample ().Publish (); - new DisplayAlertSample ().Publish (); - new DotMatrixClockSample().Publish(); - new EditorSample().Publish(); - new MonkeysSample().Publish(); - new RefreshListViewSample ().Publish (); - new SearchBarSample().Publish(); - new SliderSample().Publish(); - new SwitchListViewSample().Publish(); - new TimePickerSample().Publish(); - new TipCalcSample().Publish(); - new WeatherAppSample().Publish(); - new XuzzleSample().Publish(); - new WebViewSample().Publish(); - new PickerSample().Publish(); + var samples = new List + { + new EntryListViewSample(), + new ButtonSample (), + new TodoSample (), + new DrawSample (), + new FilesSample(), + new DisplayAlertSample (), + new DotMatrixClockSample(), + new EditorSample(), + new MonkeysSample(), + new BugSweeperSample(), + new RefreshListViewSample (), + new SearchBarSample(), + new SliderSample(), + new SwitchListViewSample(), + new TimePickerSample(), + new TipCalcSample(), + new WeatherAppSample(), + new XuzzleSample(), + new WebViewSample(), + new PickerSample(), + }; - UI.Present ("/display-alert"); + foreach (var sample in samples) + { + sample.Publish(); + } + + var samplePage = new SamplePickerSample(samples); + samplePage.Publish(); + + UI.Present (samplePage.Path); Console.ReadLine (); } diff --git a/Samples/RefreshListViewSample.cs b/Samples/RefreshListViewSample.cs index 8a52f6c..f7a2de6 100644 --- a/Samples/RefreshListViewSample.cs +++ b/Samples/RefreshListViewSample.cs @@ -6,6 +6,7 @@ namespace Samples public class RefreshListViewSample : ISample { public string Title => "Xamarin.Forms RefreshListView"; + public string Path => "/refreshlistview"; public Ooui.Element CreateElement () { @@ -15,7 +16,7 @@ namespace Samples public void Publish () { - UI.Publish ("/refreshlistview", CreateElement); + UI.Publish (Path, CreateElement); } } } diff --git a/Samples/SamplePickerSample.cs b/Samples/SamplePickerSample.cs new file mode 100644 index 0000000..53d9fc8 --- /dev/null +++ b/Samples/SamplePickerSample.cs @@ -0,0 +1,53 @@ +using System.Collections.Generic; +using System.Linq; +using Ooui; +using Ooui.Forms; +using Xamarin.Forms; +using Element = Ooui.Element; + +namespace Samples +{ + public class SamplePickerSample : ISample + { + private readonly IEnumerable _samplePages; + + public SamplePickerSample(IEnumerable samplePages) + { + _samplePages = samplePages.OrderBy(s => s.Title); + } + + public string Title => "Ooui samples - choose your demo"; + public string Path => "/sample-picker"; + public Element CreateElement() + { + var panel = new StackLayout(); + + var titleLabel = new Xamarin.Forms.Label + { + Text = "Choose a sample", + FontSize = 24, + FontAttributes = FontAttributes.Bold, + }; + panel.Children.Add(titleLabel); + + foreach (var samplePage in _samplePages) + { + panel.Children.Add(new LinkLabel {Text = samplePage.Title.Replace("Xamarin.Forms ", ""), HRef = samplePage.Path}); + } + + var page = new ContentPage + { + Title = Title, + Padding = new Thickness(16), + Content = panel + }; + + return page.GetOouiElement(); + } + + public void Publish() + { + UI.Publish(Path, CreateElement); + } + } +} diff --git a/Samples/SearchBarSample.cs b/Samples/SearchBarSample.cs index ffbf7c9..8a0e130 100644 --- a/Samples/SearchBarSample.cs +++ b/Samples/SearchBarSample.cs @@ -12,6 +12,7 @@ namespace Samples private Xamarin.Forms.Label _resultsLabel; public string Title => "Xamarin.Forms SearchBar"; + public string Path => "/searchbar"; public Ooui.Element CreateElement() { @@ -108,7 +109,7 @@ namespace Samples public void Publish() { - UI.Publish("/searchbar", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/SliderSample.cs b/Samples/SliderSample.cs index 8b858d0..ed5a486 100644 --- a/Samples/SliderSample.cs +++ b/Samples/SliderSample.cs @@ -9,6 +9,7 @@ namespace Samples private Xamarin.Forms.Label _label; public string Title => "Xamarin.Forms Slider Sample"; + public string Path => "/slider"; public Ooui.Element CreateElement() { @@ -53,7 +54,7 @@ namespace Samples public void Publish() { - UI.Publish("/slider", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/SwitchErrorSample.cs b/Samples/SwitchErrorSample.cs index 98ba63c..4cc31b8 100644 --- a/Samples/SwitchErrorSample.cs +++ b/Samples/SwitchErrorSample.cs @@ -7,6 +7,7 @@ namespace Samples public class SwitchErrorSample : ISample { public string Title => "Xamarin.Forms Switch Error"; + public string Path => "/switch"; public Ooui.Element CreateElement () { @@ -34,7 +35,7 @@ namespace Samples public void Publish() { - UI.Publish ("/switch", CreateElement); + UI.Publish (Path, CreateElement); } } } diff --git a/Samples/TimePickerSample.cs b/Samples/TimePickerSample.cs index e4b487b..e7190cf 100644 --- a/Samples/TimePickerSample.cs +++ b/Samples/TimePickerSample.cs @@ -6,6 +6,7 @@ namespace Samples public class TimePickerSample : ISample { public string Title => "Xamarin.Forms TimePicker Sample"; + public string Path => "/timepicker"; public Ooui.Element CreateElement() { @@ -33,7 +34,7 @@ namespace Samples public void Publish() { - UI.Publish("/timepicker", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/TipCalcSample.cs b/Samples/TipCalcSample.cs index a3440d7..f0e9a4b 100644 --- a/Samples/TipCalcSample.cs +++ b/Samples/TipCalcSample.cs @@ -6,6 +6,7 @@ namespace Samples public class TipCalcSample : ISample { public string Title => "Xamarin.Forms TipCalc"; + public string Path => "/tipcalc"; public Ooui.Element CreateElement() { @@ -15,7 +16,7 @@ namespace Samples public void Publish() { - UI.Publish("/tipcalc", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/TodoSample.cs b/Samples/TodoSample.cs index f6a9a0b..4ed29c8 100644 --- a/Samples/TodoSample.cs +++ b/Samples/TodoSample.cs @@ -8,6 +8,7 @@ namespace Samples public class TodoSample : ISample { public string Title => "Todo List"; + public string Path => "/todo"; class Item : ListItem { @@ -112,7 +113,7 @@ namespace Samples { var b = MakeTodo (); - UI.Publish ("/todo", MakeTodo); + UI.Publish (Path, MakeTodo); } public Element CreateElement () diff --git a/Samples/WeatherAppSample.cs b/Samples/WeatherAppSample.cs index 3119138..3b28dae 100644 --- a/Samples/WeatherAppSample.cs +++ b/Samples/WeatherAppSample.cs @@ -6,6 +6,7 @@ namespace Samples public class WeatherAppSample : ISample { public string Title => "Xamarin.Forms WeatherApp"; + public string Path => "/weatherapp"; public Ooui.Element CreateElement() { @@ -15,7 +16,7 @@ namespace Samples public void Publish() { - UI.Publish("/weatherapp", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/WebViewSample.cs b/Samples/WebViewSample.cs index 2c0593e..98ac65f 100644 --- a/Samples/WebViewSample.cs +++ b/Samples/WebViewSample.cs @@ -6,6 +6,7 @@ namespace Samples public class WebViewSample : ISample { public string Title => "Xamarin.Forms WebView Sample"; + public string Path => "/webview"; public Ooui.Element CreateElement() { @@ -35,7 +36,7 @@ namespace Samples public void Publish() { - UI.Publish("/webview", CreateElement); + UI.Publish(Path, CreateElement); } } } diff --git a/Samples/WrappingTextSample.cs b/Samples/WrappingTextSample.cs index 9305d4f..5eb5c42 100644 --- a/Samples/WrappingTextSample.cs +++ b/Samples/WrappingTextSample.cs @@ -6,6 +6,7 @@ namespace Samples public class WrappingTextSample : ISample { public string Title => "Xamarin.Forms Wrapping Text"; + public string Path => "/wrapping"; public Ooui.Element CreateElement() { @@ -82,7 +83,7 @@ namespace Samples public void Publish() { - Ooui.UI.Publish("/wrapping", CreateElement); + Ooui.UI.Publish(Path, CreateElement); } const string shortText = "Lorem ipsum dolor sit amet."; diff --git a/Samples/XamlPreviewPageSample.cs b/Samples/XamlPreviewPageSample.cs index 8f4bc2d..363eaa2 100644 --- a/Samples/XamlPreviewPageSample.cs +++ b/Samples/XamlPreviewPageSample.cs @@ -1,19 +1,28 @@ -using System; +using Ooui; +using System; using System.Threading; using Xamarin.Forms; using Xamarin.Forms.Xaml; +using Color = Xamarin.Forms.Color; +using Label = Xamarin.Forms.Label; namespace Samples { public class XamlPreviewPageSample : ISample { public string Title => "Xamarin.Forms XAML Editor"; + public string Path => "/xaml-editor"; public Ooui.Element CreateElement () { var page = new XamlEditorPage (); return page.GetOouiElement (); } + + public void Publish() + { + UI.Publish(Path, CreateElement); + } } public partial class XamlEditorPage : ContentPage @@ -107,7 +116,8 @@ namespace Samples catch (OperationCanceledException) { } catch (Exception ex) { - results.Content = new Label { + results.Content = new Label + { TextColor = Color.DarkRed, FontSize = 12, Text = ex.ToString (), diff --git a/Samples/XuzzleSample.cs b/Samples/XuzzleSample.cs index 10f1d2f..fdd83d2 100644 --- a/Samples/XuzzleSample.cs +++ b/Samples/XuzzleSample.cs @@ -6,6 +6,7 @@ namespace Samples public class XuzzleSample : ISample { public string Title => "Xamarin.Forms Xuzzle"; + public string Path => "/xuzzle"; public Ooui.Element CreateElement() { @@ -15,7 +16,7 @@ namespace Samples public void Publish() { - UI.Publish("/xuzzle", CreateElement); + UI.Publish(Path, CreateElement); } } } From f714f60d75e4926ed509a96e48e3a7657990f6b2 Mon Sep 17 00:00:00 2001 From: mallibone Date: Sun, 2 Sep 2018 16:29:53 +0200 Subject: [PATCH 3/3] Show correct unit in weather sample --- Ooui/UI.cs | 2 +- Samples/WeatherApp/Core.cs | 30 ++++++++++++++++++++++++-- Samples/WeatherApp/Weather.cs | 8 +++++-- Samples/WeatherApp/WeatherPage.xaml | 2 +- Samples/WeatherApp/WeatherPage.xaml.cs | 8 +++++-- 5 files changed, 42 insertions(+), 8 deletions(-) diff --git a/Ooui/UI.cs b/Ooui/UI.cs index d351b1f..50bf1a8 100644 --- a/Ooui/UI.cs +++ b/Ooui/UI.cs @@ -193,7 +193,7 @@ namespace Ooui public static string GetUrl (string path) { var localhost = host == "*" ? "localhost" : host; - var url = Path.Combine($"http://{localhost}:{port}{path}"); + var url = $"http://{localhost}:{port}{path}"; return url; } diff --git a/Samples/WeatherApp/Core.cs b/Samples/WeatherApp/Core.cs index 1d61701..be0ee02 100644 --- a/Samples/WeatherApp/Core.cs +++ b/Samples/WeatherApp/Core.cs @@ -16,11 +16,13 @@ namespace WeatherApp if (results["weather"] != null) { + string tempUnit = GetTempUnit(units); + string speedUnit = GetSpeedUnit(units); Weather weather = new Weather { Title = (string)results["name"], - Temperature = (string)results["main"]["temp"] + " F", - Wind = (string)results["wind"]["speed"] + " mph", + Temperature = (string)results["main"]["temp"] + tempUnit, + Wind = (string)results["wind"]["speed"] + speedUnit, Humidity = (string)results["main"]["humidity"] + " %", Visibility = (string)results["weather"][0]["main"] }; @@ -37,5 +39,29 @@ namespace WeatherApp return null; } } + + private static string GetSpeedUnit(string units) + { + switch (units) + { + case "imperial": + return " mph"; + default: + return " kph"; + } + } + + private static string GetTempUnit(string units) + { + switch (units) + { + case "metric": + return " °C"; + case "imperial": + return " °F"; + default: + return " °K"; + } + } } } diff --git a/Samples/WeatherApp/Weather.cs b/Samples/WeatherApp/Weather.cs index e6e30f4..a97b39f 100644 --- a/Samples/WeatherApp/Weather.cs +++ b/Samples/WeatherApp/Weather.cs @@ -1,4 +1,6 @@ -namespace WeatherApp +using System.Collections.Generic; + +namespace WeatherApp { public class Weather { @@ -9,6 +11,7 @@ public string Visibility { get; set; } public string Sunrise { get; set; } public string Sunset { get; set; } + public List UnitOfMeasures { get; set; } public Weather() { @@ -21,6 +24,7 @@ this.Visibility = " "; this.Sunrise = " "; this.Sunset = " "; + this.UnitOfMeasures = new List{"kelvin", "metric", "imperial"}; } } -} \ No newline at end of file +} diff --git a/Samples/WeatherApp/WeatherPage.xaml b/Samples/WeatherApp/WeatherPage.xaml index 5de42b2..e6cfe03 100644 --- a/Samples/WeatherApp/WeatherPage.xaml +++ b/Samples/WeatherApp/WeatherPage.xaml @@ -35,7 +35,7 @@