summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Renderers/ProgressBarRenderer.cs
diff options
context:
space:
mode:
authorKangho Hur <kangho.hur@samsung.com>2016-12-16 11:00:07 +0900
committerKangho Hur <kangho.hur@samsung.com>2017-07-10 11:11:14 +0900
commit79bf87f2bc00d823cf8b25ed7d0d3650cf819b4c (patch)
tree99d3412413a92c057cb8ad8429ddb0c7d4cb8c14 /Xamarin.Forms.Platform.Tizen/Renderers/ProgressBarRenderer.cs
parentb7297c8ac01d6ce2d5f038d3df8f4bc9e74a8162 (diff)
downloadxamarin-forms-79bf87f2bc00d823cf8b25ed7d0d3650cf819b4c.tar.gz
xamarin-forms-79bf87f2bc00d823cf8b25ed7d0d3650cf819b4c.tar.bz2
xamarin-forms-79bf87f2bc00d823cf8b25ed7d0d3650cf819b4c.zip
Add Tizen backend renderer
- Xamarin.Forms.Platform.Tizen has been added - Xamarin.Forms.Maps.Tizen has been added - RPM build spec has been added Change-Id: I0021e0f040d97345affc87512ee0f6ce437f4e6d
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/ProgressBarRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/ProgressBarRenderer.cs60
1 files changed, 60 insertions, 0 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/ProgressBarRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/ProgressBarRenderer.cs
new file mode 100644
index 00000000..3aacd3f4
--- /dev/null
+++ b/Xamarin.Forms.Platform.Tizen/Renderers/ProgressBarRenderer.cs
@@ -0,0 +1,60 @@
+using System.ComponentModel;
+using EProgressBar = ElmSharp.ProgressBar;
+
+namespace Xamarin.Forms.Platform.Tizen
+{
+ public class ProgressBarRenderer : ViewRenderer<ProgressBar, EProgressBar>
+ {
+ public ProgressBarRenderer()
+ {
+ }
+
+ protected override void OnElementChanged(ElementChangedEventArgs<ProgressBar> e)
+ {
+ if (base.Control == null)
+ {
+ var progressBar = new EProgressBar(Forms.Context.MainWindow);
+ SetNativeControl(progressBar);
+ }
+
+ if (e.OldElement != null)
+ {
+ }
+
+ if (e.NewElement != null)
+ {
+ if (e.NewElement.MinimumWidthRequest == -1 &&
+ e.NewElement.MinimumHeightRequest == -1 &&
+ e.NewElement.WidthRequest == -1 &&
+ e.NewElement.HeightRequest == -1)
+ {
+ Log.Warn("Need to size request");
+ }
+
+ UpdateAll();
+ }
+
+ base.OnElementChanged(e);
+ }
+
+ void UpdateAll()
+ {
+ UpdateProgress();
+ }
+
+ void UpdateProgress()
+ {
+ Control.Value = Element.Progress;
+ }
+
+ protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
+ {
+ base.OnElementPropertyChanged(sender, e);
+ if (e.PropertyName == ProgressBar.ProgressProperty.PropertyName)
+ {
+ UpdateProgress();
+ }
+ }
+ }
+}
+