UI Prototype
authorLukasz Stanislawski <l.stanislaws@samsung.com>
Tue, 20 Oct 2020 09:10:51 +0000 (11:10 +0200)
committerPiotr Czaja <p.czaja@samsung.com>
Tue, 14 Sep 2021 11:01:34 +0000 (13:01 +0200)
14 files changed:
Fitness/Fitness.csproj
Fitness/Views/ExercisePreviewView.cs [new file with mode: 0644]
Fitness/Views/ExercisingView.cs [new file with mode: 0644]
Fitness/Views/ExtentsInUnitsExtension.cs [new file with mode: 0644]
Fitness/Views/LoadingView.cs [new file with mode: 0644]
Fitness/Views/MainView.xaml.cs
Fitness/Views/ScanningView.cs [new file with mode: 0644]
Fitness/Views/UnitsUtils.cs
Fitness/res/layout/1280x720/MainView.xaml [deleted file]
Fitness/res/layout/ExercisePreviewView.xaml [new file with mode: 0644]
Fitness/res/layout/ExercisingView.xaml [new file with mode: 0644]
Fitness/res/layout/LoadingView.xaml [new file with mode: 0644]
Fitness/res/layout/MainView.xaml [new file with mode: 0644]
Fitness/res/layout/ScanningView.xaml [new file with mode: 0644]

index d2c4b45..5194ad6 100644 (file)
   </ItemGroup>
 
   <ItemGroup>
-    <None Remove="res\layout\1280x720\MainView.xaml" />
+    <None Remove="res\layout\*.xaml" />
   </ItemGroup>
 
   <ItemGroup>
-    <EmbeddedResource Include="res\layout\1280x720\MainView.xaml" />
+    <EmbeddedResource Include="res\layout\*.xaml" />
   </ItemGroup>
 
 </Project>
diff --git a/Fitness/Views/ExercisePreviewView.cs b/Fitness/Views/ExercisePreviewView.cs
new file mode 100644 (file)
index 0000000..08fb6c0
--- /dev/null
@@ -0,0 +1,12 @@
+using Tizen.NUI.BaseComponents;
+
+namespace Fitness.Views
+{
+    public partial class ExercisePreviewView : View
+    {
+        public ExercisePreviewView()
+        {
+            InitializeComponent();
+        }
+    }
+}
diff --git a/Fitness/Views/ExercisingView.cs b/Fitness/Views/ExercisingView.cs
new file mode 100644 (file)
index 0000000..60e7bb9
--- /dev/null
@@ -0,0 +1,12 @@
+using Tizen.NUI.BaseComponents;
+
+namespace Fitness.Views
+{
+    public partial class ExercisingView : View
+    {
+        public ExercisingView()
+        {
+            InitializeComponent();
+        }
+    }
+}
diff --git a/Fitness/Views/ExtentsInUnitsExtension.cs b/Fitness/Views/ExtentsInUnitsExtension.cs
new file mode 100644 (file)
index 0000000..dffe89f
--- /dev/null
@@ -0,0 +1,36 @@
+using System;
+using Tizen.NUI;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+using Tizen.NUI.Xaml;
+
+namespace Fitness.Views
+{
+    public class ExtentsInUnitsExtension : IMarkupExtension
+    {
+        /// <summary>
+        /// Start offset in units
+        /// </summary>
+        public ushort Start { get; set; }
+
+        /// <summary>
+        /// End offset in units
+        /// </summary>
+        public ushort End { get; set; }
+
+        /// <summary>
+        /// Top offset in units
+        /// </summary>
+        public ushort Top { get; set; }
+
+        /// <summary>
+        /// Bottom offset in units
+        /// </summary>
+        public ushort Bottom { get; set; }
+
+        public object ProvideValue(IServiceProvider provider)
+        {
+            return new Extents(UnitsUtils.UnitsToPixels(Start), UnitsUtils.UnitsToPixels(End), UnitsUtils.UnitsToPixels(Top), UnitsUtils.UnitsToPixels(Bottom));
+        }
+    }
+}
diff --git a/Fitness/Views/LoadingView.cs b/Fitness/Views/LoadingView.cs
new file mode 100644 (file)
index 0000000..6585649
--- /dev/null
@@ -0,0 +1,12 @@
+using Tizen.NUI.BaseComponents;
+
+namespace Fitness.Views
+{
+    public partial class LoadingView : View
+    {
+        public LoadingView()
+        {
+            InitializeComponent();
+        }
+    }
+}
index ffd5a79..79763f1 100644 (file)
@@ -1,3 +1,4 @@
+using Tizen.NUI;
 using Tizen.NUI.BaseComponents;
 
 namespace Fitness.Views
diff --git a/Fitness/Views/ScanningView.cs b/Fitness/Views/ScanningView.cs
new file mode 100644 (file)
index 0000000..e48c2a5
--- /dev/null
@@ -0,0 +1,12 @@
+using Tizen.NUI.BaseComponents;
+
+namespace Fitness.Views
+{
+    public partial class ScanningView : View
+    {
+        public ScanningView()
+        {
+            InitializeComponent();
+        }
+    }
+}
index 83e0e4a..c3faa55 100644 (file)
@@ -19,6 +19,14 @@ namespace Fitness.Views
         }
 
         /// <summary>
+        /// Converts units into pixels using current UnitSize settings
+        /// </summary>
+        public static ushort UnitsToPixels(ushort units)
+        {
+            return (ushort)(units * (ushort)Config.PixelsPerUnit);
+        }
+
+        /// <summary>
         /// Converts pixels into units using current UnitSize settings
         /// </summary>
         public static int PixelsToUnits(int pixels)
@@ -41,5 +49,13 @@ namespace Fitness.Views
         {
             return new Size2D(PixelsToUnits(size.Width), PixelsToUnits(size.Height));
         }
+
+        /// <summary>
+        /// Converts pixels into units using current UnitSize settings
+        /// </summary>
+        public static Extents UnitsToPixels(Extents extents)
+        {
+            return new Extents(UnitsToPixels(extents.Start), UnitsToPixels(extents.End), UnitsToPixels(extents.Top), UnitsToPixels(extents.Bottom));
+        }
     }
 }
diff --git a/Fitness/res/layout/1280x720/MainView.xaml b/Fitness/res/layout/1280x720/MainView.xaml
deleted file mode 100644 (file)
index f38c720..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<View x:Class="Fitness.Views.MainView"
-  xmlns="http://tizen.org/Tizen.NUI/2018/XAML"
-  xmlns:vm="clr-namespace:Fitness.ViewModels;"
-  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
-  xmlns:views="clr-namespace:Fitness.Views"
-      Size="1280,720" BackgroundColor="Red" ParentOrigin="Center" PivotPoint="Center" PositionUsesPivotPoint="true">
-  <View.BindingContext>
-    <vm:MainViewModel/>
-  </View.BindingContext>
-  <View.Layout>
-      <LinearLayout LinearOrientation="Vertical" CellPadding="50,50" LinearAlignment="Center"/>
-  </View.Layout>
-  <TextLabel Text="Title" HorizontalAlignment="Center" VerticalAlignment="Center" Size="{views:SizeInUnits Width=75, Height=12}" BackgroundColor="Cyan"/>
-</View>
diff --git a/Fitness/res/layout/ExercisePreviewView.xaml b/Fitness/res/layout/ExercisePreviewView.xaml
new file mode 100644 (file)
index 0000000..8efd3de
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<View x:Class="Fitness.Views.ExercisePreviewView"
+  xmlns="http://tizen.org/Tizen.NUI/2018/XAML"
+  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+  HeightResizePolicy="FillToParent" WidthResizePolicy="FillToParent" BackgroundColor="#EEEFF1" ParentOrigin="Center" PivotPoint="Center" PositionUsesPivotPoint="true">
+</View>
diff --git a/Fitness/res/layout/ExercisingView.xaml b/Fitness/res/layout/ExercisingView.xaml
new file mode 100644 (file)
index 0000000..940f50f
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<View x:Class="Fitness.Views.ExercisingView"
+  xmlns="http://tizen.org/Tizen.NUI/2018/XAML"
+  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+  HeightResizePolicy="FillToParent" WidthResizePolicy="FillToParent" BackgroundColor="#EEEFF1" ParentOrigin="Center" PivotPoint="Center" PositionUsesPivotPoint="true">
+</View>
diff --git a/Fitness/res/layout/LoadingView.xaml b/Fitness/res/layout/LoadingView.xaml
new file mode 100644 (file)
index 0000000..b0377a5
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<View x:Class="Fitness.Views.LoadingView"
+  xmlns="http://tizen.org/Tizen.NUI/2018/XAML"
+  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+  HeightResizePolicy="FillToParent" WidthResizePolicy="FillToParent" BackgroundColor="#EEEFF1" ParentOrigin="Center" PivotPoint="Center" PositionUsesPivotPoint="true">
+</View>
diff --git a/Fitness/res/layout/MainView.xaml b/Fitness/res/layout/MainView.xaml
new file mode 100644 (file)
index 0000000..c96009e
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<View x:Class="Fitness.Views.MainView"
+  xmlns="http://tizen.org/Tizen.NUI/2018/XAML"
+  xmlns:vm="clr-namespace:Fitness.ViewModels;"
+  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+  xmlns:views="clr-namespace:Fitness.Views"
+  xmlns:c="clr-namespace:Tizen.NUI.Components;assembly=Tizen.NUI.Components"
+  HeightResizePolicy="FillToParent" WidthResizePolicy="FillToParent" BackgroundColor="#EEEFF1" ParentOrigin="Center" PivotPoint="Center" PositionUsesPivotPoint="true" Padding="{views:ExtentsInUnits Top=26}">
+  <View.BindingContext>
+    <vm:MainViewModel/>
+  </View.BindingContext>
+  <View.Layout>
+      <LinearLayout LinearOrientation="Vertical" LinearAlignment="Top"/>
+  </View.Layout>
+  <View Margin="{views:ExtentsInUnits Start=16,End=16}" Weight="1.0" WidthResizePolicy="FillToParent">
+      <View.Layout>
+          <LinearLayout LinearOrientation="Horizontal" LinearAlignment="End"/>
+      </View.Layout>
+      <View Weight="1.0" HeightResizePolicy="FillToParent">
+          <TextLabel BackgroundColor="Blue" HeightResizePolicy="FillToParent"/>
+          <View HeightResizePolicy="FillToParent" WidthResizePolicy="FillToParent">
+              <View.Layout>
+                  <LinearLayout LinearOrientation="Vertical" LinearAlignment="Center"/>
+              </View.Layout>
+              <c:Button PositionUsesPivotPoint="true" ParentOrigin="0.5,0.5" PivotPoint="0.5,0.5" Text="Let's try"/>
+              <c:Button PositionUsesPivotPoint="true" ParentOrigin="0.5,0.5" PivotPoint="0.5,0.5" Text="Watch Preview"/>
+          </View>
+      </View>
+      <TextLabel BackgroundColor="Cyan" Size="{views:SizeInUnits Width=107}" Margin="{views:ExtentsInUnits Start=8}" HeightResizePolicy="FillToParent" />
+  </View>
+  <TextLabel BackgroundColor="Green" Size="{views:SizeInUnits Height=44}" Margin="{views:ExtentsInUnits Top=10, Bottom=10}" WidthResizePolicy="FillToParent"/>
+</View>
diff --git a/Fitness/res/layout/ScanningView.xaml b/Fitness/res/layout/ScanningView.xaml
new file mode 100644 (file)
index 0000000..e111ae9
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<View x:Class="Fitness.Views.ScanningView"
+  xmlns="http://tizen.org/Tizen.NUI/2018/XAML"
+  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+  HeightResizePolicy="FillToParent" WidthResizePolicy="FillToParent" BackgroundColor="#EEEFF1" ParentOrigin="Center" PivotPoint="Center" PositionUsesPivotPoint="true">
+</View>