[longomatch] Don't reload the whole dashboard when switching the fit mode



commit 5b7525fe8d9e940c408cdc4a491692c8099b78a8
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Tue Oct 14 18:11:00 2014 +0200

    Don't reload the whole dashboard when switching the fit mode

 LongoMatch.Drawing/CanvasObjects/CanvasObject.cs   |    2 +-
 LongoMatch.Drawing/CanvasObjects/CategoryObject.cs |   10 +++++-----
 LongoMatch.Drawing/Widgets/DashboardCanvas.cs      |   14 ++++++++------
 3 files changed, 14 insertions(+), 12 deletions(-)
---
diff --git a/LongoMatch.Drawing/CanvasObjects/CanvasObject.cs 
b/LongoMatch.Drawing/CanvasObjects/CanvasObject.cs
index 9079b79..0e1b529 100644
--- a/LongoMatch.Drawing/CanvasObjects/CanvasObject.cs
+++ b/LongoMatch.Drawing/CanvasObjects/CanvasObject.cs
@@ -102,7 +102,7 @@ namespace LongoMatch.Drawing.CanvasObjects
                        set;
                }
 
-               public void ReDraw ()
+               public virtual void ReDraw ()
                {
                        EmitRedrawEvent (this, DrawArea);
                }
diff --git a/LongoMatch.Drawing/CanvasObjects/CategoryObject.cs 
b/LongoMatch.Drawing/CanvasObjects/CategoryObject.cs
index c629c50..bd8d98a 100644
--- a/LongoMatch.Drawing/CanvasObjects/CategoryObject.cs
+++ b/LongoMatch.Drawing/CanvasObjects/CategoryObject.cs
@@ -89,7 +89,7 @@ namespace LongoMatch.Drawing.CanvasObjects
                                if (Start != null && currentTime < Start) {
                                        CancelClicked ();
                                } else {
-                                       ReDrawObject ();
+                                       ReDraw ();
                                }
                        }
                }
@@ -100,10 +100,10 @@ namespace LongoMatch.Drawing.CanvasObjects
                        }
                }
 
-               public void ReDrawObject ()
+               public override void ReDraw ()
                {
                        ResetBackbuffer ();
-                       ReDraw ();
+                       base.ReDraw ();
                }
 
                public override void ResetDrawArea ()
@@ -210,7 +210,7 @@ namespace LongoMatch.Drawing.CanvasObjects
                void CancelClicked ()
                {
                        Start = null;
-                       ReDrawObject ();
+                       ReDraw ();
                }
 
                void RecordClicked ()
@@ -224,7 +224,7 @@ namespace LongoMatch.Drawing.CanvasObjects
                                EmitCreateEvent ();
                                Start = null;
                        }
-                       ReDrawObject ();
+                       ReDraw ();
                }
 
                void UpdateGroups ()
diff --git a/LongoMatch.Drawing/Widgets/DashboardCanvas.cs b/LongoMatch.Drawing/Widgets/DashboardCanvas.cs
index c80f725..282b524 100644
--- a/LongoMatch.Drawing/Widgets/DashboardCanvas.cs
+++ b/LongoMatch.Drawing/Widgets/DashboardCanvas.cs
@@ -114,7 +114,7 @@ namespace LongoMatch.Drawing.Widgets
                public FitMode FitMode {
                        set {
                                fitMode = value;
-                               Refresh ();
+                               SizeChanged ();
                                modeChanged = true;
                        }
                        get {
@@ -124,11 +124,9 @@ namespace LongoMatch.Drawing.Widgets
 
                public void RedrawButton (DashboardButton b)
                {
-                       if (b is AnalysisEventButton) {
-                               CategoryObject co = Objects.OfType<CategoryObject> ().FirstOrDefault (o => 
o.Button == b);
-                               if (co != null) {
-                                       co.ReDrawObject ();
-                               }
+                       TaggerObject co = Objects.OfType<TaggerObject>().FirstOrDefault (o => o.Tagger == b);
+                       if (co != null) {
+                               co.ReDraw ();
                        }
                }
 
@@ -276,6 +274,10 @@ namespace LongoMatch.Drawing.Widgets
 
                void SizeChanged ()
                {
+                       if (Template == null) {
+                               return;
+                       }
+                       
                        FitMode prevFitMode = FitMode;
                        templateHeight = template.CanvasHeight + 10;
                        templateWidth = template.CanvasWidth + 10;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]