[longomatch] Make game periods a common tag for al categories



commit d22af647d2f25cdf5bd32c9d06519440350bbf36
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Thu Jul 4 14:07:33 2013 +0200

    Make game periods a common tag for al categories

 LongoMatch.Core/Store/Play.cs                      |    5 +
 .../Store/Templates/CategoriesTemplate.cs          |   18 ++--
 .../Gui/Component/CategoriesTemplateEditor.cs      |   41 ++++++
 LongoMatch.GUI/Gui/Component/TaggerWidget.cs       |   55 +++++++-
 LongoMatch.GUI/Gui/Dialog/TaggerDialog.cs          |   15 ++-
 LongoMatch.GUI/Gui/Helpers/MessagesHelpers.cs      |    4 +-
 .../LongoMatch.Gui.Component.ButtonsWidget.cs      |    1 +
 .../LongoMatch.Gui.Component.CategoryProperties.cs |    5 +-
 .../LongoMatch.Gui.Component.TaggerWidget.cs       |   87 +++++++++----
 .../LongoMatch.Gui.Dialog.PropertiesEditor.cs      |    2 +-
 .../gtk-gui/LongoMatch.Gui.MainWindow.cs           |    4 +-
 LongoMatch.GUI/gtk-gui/gui.stetic                  |  133 ++++++++++++++------
 12 files changed, 278 insertions(+), 92 deletions(-)
---
diff --git a/LongoMatch.Core/Store/Play.cs b/LongoMatch.Core/Store/Play.cs
index c0720fd..2924e74 100644
--- a/LongoMatch.Core/Store/Play.cs
+++ b/LongoMatch.Core/Store/Play.cs
@@ -172,6 +172,11 @@ namespace LongoMatch.Store
                        set;
                }
 
+               public string GamePeriod {
+                       get;
+                       set;
+               }
+               
                public StringTagStore Tags {
                        get;
                        set;
diff --git a/LongoMatch.Core/Store/Templates/CategoriesTemplate.cs 
b/LongoMatch.Core/Store/Templates/CategoriesTemplate.cs
index 81e4edb..15e65f5 100644
--- a/LongoMatch.Core/Store/Templates/CategoriesTemplate.cs
+++ b/LongoMatch.Core/Store/Templates/CategoriesTemplate.cs
@@ -68,6 +68,11 @@ namespace LongoMatch.Store.Templates
                        }
                }
                
+               public List<string> GamePeriods {
+                       get;
+                       set;
+               }
+               
                public Image FieldBackgroundImage {
                        get;
                        set;
@@ -103,16 +108,8 @@ namespace LongoMatch.Store.Templates
                                FastTag = true};
                        visitorplayers.Add(Team.VISITOR);       
                        
-                       period = new TagSubCategory {
-                               Name = Catalog.GetString("Period"),
-                               AllowMultiple = false,
-                               FastTag = true,
-                       };
-                       period.Add("1");
-                       period.Add("2");
                        cat.SubCategories.Add(localplayers);
                        cat.SubCategories.Add(visitorplayers);
-                       cat.SubCategories.Add(period);
                }       
                
                public void AddDefaultItem (int index) {
@@ -138,8 +135,13 @@ namespace LongoMatch.Store.Templates
                }
 
                public static Categories DefaultTemplate(int count) {
+                       List<string> periods = new List<string>();
                        Categories defaultTemplate = new Categories();
+                       
                        defaultTemplate.FillDefaultTemplate(count);
+                       periods.Add ("1");
+                       periods.Add ("2");
+                       defaultTemplate.GamePeriods = periods; 
                        return defaultTemplate;
                }
 
diff --git a/LongoMatch.GUI/Gui/Component/CategoriesTemplateEditor.cs 
b/LongoMatch.GUI/Gui/Component/CategoriesTemplateEditor.cs
index 7c20582..ebdc8d5 100644
--- a/LongoMatch.GUI/Gui/Component/CategoriesTemplateEditor.cs
+++ b/LongoMatch.GUI/Gui/Component/CategoriesTemplateEditor.cs
@@ -40,6 +40,8 @@ namespace LongoMatch.Gui.Component
                GameUnitsEditor gameUnitsEditor;
                Gtk.Image fieldImage, halffieldImage, goalImage;
                VBox box;
+               Label periodsLabel;
+               Frame periodsFrame;
                
                ITemplatesService ts;
 
@@ -103,6 +105,12 @@ namespace LongoMatch.Gui.Component
                                        img.Scale();
                                        halffieldImage.Pixbuf = img.Value;
                                }
+                               if (template.GamePeriods == null) {
+                                       periodsFrame.Visible = false;
+                               } else {
+                                       periodsFrame.Visible = true;
+                                       periodsLabel.Text = String.Join (" - ", template.GamePeriods);
+                               }
                                box.Sensitive = true;
                        }
                }
@@ -144,6 +152,8 @@ namespace LongoMatch.Gui.Component
                private void AddBackgroundsSelectionWidget () {
                        Gtk.Frame fframe, gframe, hfframe;
                        EventBox febox, gebox, hfebox;
+                       HBox periodsBox;
+                       Button periodsButton;
                        Image img;
                        
                        fframe = new Gtk.Frame("<b>" + Catalog.GetString("Field background") + "</b>");
@@ -155,6 +165,9 @@ namespace LongoMatch.Gui.Component
                        gframe = new Gtk.Frame("<b>" + Catalog.GetString("Goal background") + "</b>");
                        (gframe.LabelWidget as Label).UseMarkup = true;
                        gframe.ShadowType = ShadowType.None;
+                       periodsFrame = new Frame("<b>" + Catalog.GetString ("Game periods") + "</b>");
+                       (periodsFrame.LabelWidget as Label).UseMarkup = true;
+                       periodsFrame.ShadowType = ShadowType.None;
                        
                        febox = new EventBox();
                        febox.ButtonPressEvent += OnFieldImageClicked;                  
@@ -180,21 +193,49 @@ namespace LongoMatch.Gui.Component
                        img.Scale();
                        goalImage.Pixbuf = img.Value;
                        
+                       periodsBox = new HBox ();
+                       periodsButton = new Button ("gtk-edit");
+                       periodsLabel = new Label ();
+                       periodsBox.PackStart (periodsLabel);
+                       periodsBox.PackStart (periodsButton);
+                       periodsButton.Clicked += HandlePeriodsClicked;
+                       
                        fframe.Add(febox);
                        hfframe.Add(hfebox);
                        gframe.Add(gebox);
                        febox.Add(fieldImage);
                        hfebox.Add(halffieldImage);
                        gebox.Add(goalImage);
+                       periodsFrame.Add (periodsBox);
                        
                        box = new VBox();
                        box.PackStart (fframe, false, false, 0);
                        box.PackStart (hfframe, false, false, 0);
                        box.PackStart (gframe, false, false, 0);
+                       box.PackStart (periodsFrame, false, false, 0);
                        box.ShowAll();
                        box.Sensitive = false;
                        AddUpperWidget(box);
                }
+
+               void HandlePeriodsClicked (object sender, EventArgs e)
+               {
+                       string res, desc;
+                       List<string> periods;
+                       
+                       desc = Catalog.GetString ("Game periods") + " (eg: 1 2 ex1 ex2) ";
+                       res = MessagesHelpers.QueryMessage (this, desc, "", String.Join (" ", 
Template.GamePeriods));
+                       
+                       periods = new List<string> (res.Split(' '));
+                       if (periods.Count == 0) {
+                               string msg = Catalog.GetString ("Invalid content. Periods must be separated 
by spaces " +
+                                                               "(\"1 2 ex1 ex2\")");
+                               MessagesHelpers.ErrorMessage (this, msg);
+                       } else {
+                               Template.GamePeriods = periods;
+                               periodsLabel.Text = String.Join (" - " , periods);
+                       }
+               }
                
                protected virtual void OnGoalImageClicked (object sender, EventArgs args)
                {
diff --git a/LongoMatch.GUI/Gui/Component/TaggerWidget.cs b/LongoMatch.GUI/Gui/Component/TaggerWidget.cs
index d8871f5..ed93548 100644
--- a/LongoMatch.GUI/Gui/Component/TaggerWidget.cs
+++ b/LongoMatch.GUI/Gui/Component/TaggerWidget.cs
@@ -40,14 +40,10 @@ namespace LongoMatch.Gui.Component
                        table1.NRows = 1;
                }
                
-               public void SetData (Play play, string localTeam, string visitorTeam) {
+               public void SetData (Categories categories, Play play, string localTeam, string visitorTeam) {
                        this.play = play;
-                       localcheckbutton.Label = localTeam;
-                       visitorcheckbutton.Label = visitorTeam;
-                       localcheckbutton.Active = play.Team == Team.LOCAL || play.Team == Team.BOTH;
-                       visitorcheckbutton.Active = play.Team == Team.VISITOR || play.Team == Team.BOTH;
-                       localcheckbutton.Toggled += OnCheckbuttonToggled;
-                       visitorcheckbutton.Toggled += OnCheckbuttonToggled;
+                       SetTeams(play, localTeam, visitorTeam);
+                       SetPeriod(categories.GamePeriods);
                }
                
                public void AddSubCategory(TagSubCategory subcat, StringTagStore tags){
@@ -68,6 +64,51 @@ namespace LongoMatch.Gui.Component
                        tagger.Show();
                }
                
+               void SetTeams (Play play, string localTeam, string visitorTeam) {
+                       localcheckbutton.Label = localTeam;
+                       visitorcheckbutton.Label = visitorTeam;
+                       localcheckbutton.Active = play.Team == Team.LOCAL || play.Team == Team.BOTH;
+                       visitorcheckbutton.Active = play.Team == Team.VISITOR || play.Team == Team.BOTH;
+                       
+                       localcheckbutton.Toggled += OnCheckbuttonToggled;
+                       visitorcheckbutton.Toggled += OnCheckbuttonToggled;
+               }
+               
+               void SetPeriod (List<string> gamePeriods) {
+                       RadioButton first = null, active = null;
+                       
+                       if (gamePeriods == null) {
+                               periodframe.Visible = false;
+                               return;
+                       }
+                       
+                       foreach (string period in gamePeriods) {
+                               RadioButton rb;
+                               
+                               if (first == null)
+                                       first = rb = new RadioButton (period);
+                               else
+                                       rb = new RadioButton (first, period);
+                                       
+                               if (play.GamePeriod == period) {
+                                       active = rb;
+                               }
+                               periodhbox.PackStart (rb);
+                               rb.Data["period"] = period;
+                               rb.Toggled += (sender, e) => {
+                                       RadioButton b = sender as RadioButton;
+                                       if (b.Active)
+                                               play.GamePeriod = b.Data["period"] as String;
+                                       };
+                       }
+                       if (active != null) {
+                               active.Active = true;
+                       } else {
+                               first.Active = true;
+                       }
+                       periodhbox.ShowAll();
+               }
+               
                protected void OnCheckbuttonToggled (object sender, System.EventArgs e)
                {
                        if (visitorcheckbutton.Active && localcheckbutton.Active) {
diff --git a/LongoMatch.GUI/Gui/Dialog/TaggerDialog.cs b/LongoMatch.GUI/Gui/Dialog/TaggerDialog.cs
index da950c0..9760e7e 100644
--- a/LongoMatch.GUI/Gui/Dialog/TaggerDialog.cs
+++ b/LongoMatch.GUI/Gui/Dialog/TaggerDialog.cs
@@ -31,8 +31,9 @@ namespace LongoMatch.Gui.Dialog
 
        public partial class TaggerDialog : Gtk.Dialog
        {
-               private TeamTemplate localTeamTemplate;
-               private TeamTemplate visitorTeamTemplate;
+               TeamTemplate localTeamTemplate;
+               TeamTemplate visitorTeamTemplate;
+               bool subcategoryAdded;
                
                public TaggerDialog(Play play,
                                    Categories categoriesTemplate,
@@ -47,7 +48,9 @@ namespace LongoMatch.Gui.Dialog
                        this.localTeamTemplate = localTeamTemplate;
                        this.visitorTeamTemplate = visitorTeamTemplate;
                        
-                       taggerwidget1.SetData(play, localTeamTemplate.TeamName, visitorTeamTemplate.TeamName);
+                       taggerwidget1.SetData(categoriesTemplate, play,
+                                             localTeamTemplate.TeamName,
+                                             visitorTeamTemplate.TeamName);
                        playersnotebook.Visible = false;
                        
                        /* Iterate over all subcategories, adding a widget only for the FastTag ones */
@@ -84,6 +87,10 @@ namespace LongoMatch.Gui.Dialog
                                        AddGoalPosTagger (categoriesTemplate, play);
                                }
                        }
+                       
+                       if (subcategoryAdded || playersnotebook.Visible) {
+                               tagsnotebook.Visible = true;
+                       }
                }
                
                public void AddTeamSubcategory (TeamSubCategory subcat, TeamsTagStore tags,
@@ -95,8 +102,8 @@ namespace LongoMatch.Gui.Dialog
                
                public void AddTagSubcategory (TagSubCategory subcat, StringTagStore tags){
                        /* the notebook starts invisible */
-                       tagsnotebook.Visible = true;
                        taggerwidget1.AddSubCategory(subcat, tags);
+                       subcategoryAdded = true;
                }
                
                public void AddPlayerSubcategory (PlayerSubCategory subcat, PlayersTagStore tags){
diff --git a/LongoMatch.GUI/Gui/Helpers/MessagesHelpers.cs b/LongoMatch.GUI/Gui/Helpers/MessagesHelpers.cs
index 86aeefb..626b172 100644
--- a/LongoMatch.GUI/Gui/Helpers/MessagesHelpers.cs
+++ b/LongoMatch.GUI/Gui/Helpers/MessagesHelpers.cs
@@ -79,7 +79,7 @@ namespace LongoMatch.Gui.Helpers
                        return ret;
                }
                
-               static public string QueryMessage (Widget sender, string key, string title=null) {
+               static public string QueryMessage (Widget sender, string key, string title=null, string 
value="") {
                        string ret = null;
                        Window parent;
                        
@@ -89,7 +89,7 @@ namespace LongoMatch.Gui.Helpers
                                parent = null;
                                
                        Label label = new Label(key);
-                       Entry entry = new Entry("");
+                       Entry entry = new Entry(value);
                        Gtk.Dialog dialog = new Gtk.Dialog (title, parent, DialogFlags.DestroyWithParent);
                        dialog.Modal = true;
             dialog.AddButton (Catalog.GetString("Add"), ResponseType.Ok);
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.ButtonsWidget.cs 
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.ButtonsWidget.cs
index ad83ff9..f95b46f 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.ButtonsWidget.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.ButtonsWidget.cs
@@ -41,6 +41,7 @@ namespace LongoMatch.Gui.Component
                        w2.Fill = false;
                        // Container child vbox1.Gtk.Box+BoxChild
                        this.table1 = new global::Gtk.Table (((uint)(5)), ((uint)(4)), false);
+                       this.table1.Name = "table1";
                        this.table1.RowSpacing = ((uint)(1));
                        this.table1.ColumnSpacing = ((uint)(1));
                        this.vbox1.Add (this.table1);
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs 
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs
index 9c69c2d..e33603b 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs
@@ -364,7 +364,7 @@ namespace LongoMatch.Gui.Component
                        this.frame6.Add (this.GtkAlignment8);
                        this.GtkLabel12 = new global::Gtk.Label ();
                        this.GtkLabel12.Name = "GtkLabel12";
-                       this.GtkLabel12.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Field 
position</b>");
+                       this.GtkLabel12.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Half field 
position</b>");
                        this.GtkLabel12.UseMarkup = true;
                        this.frame6.LabelWidget = this.GtkLabel12;
                        this.hbox1.Add (this.frame6);
@@ -382,7 +382,8 @@ namespace LongoMatch.Gui.Component
                        this.taggoalcheckbutton = new global::Gtk.CheckButton ();
                        this.taggoalcheckbutton.CanFocus = true;
                        this.taggoalcheckbutton.Name = "taggoalcheckbutton";
-                       this.taggoalcheckbutton.Label = global::Mono.Unix.Catalog.GetString ("Tag goal 
position");
+                       this.taggoalcheckbutton.Label = global::Mono.Unix.Catalog.GetString ("Enable");
+                       this.taggoalcheckbutton.Active = true;
                        this.taggoalcheckbutton.DrawIndicator = true;
                        this.taggoalcheckbutton.UseUnderline = true;
                        this.GtkAlignment9.Add (this.taggoalcheckbutton);
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.TaggerWidget.cs 
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.TaggerWidget.cs
index 41ae35e..4d7acc8 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.TaggerWidget.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.TaggerWidget.cs
@@ -6,12 +6,17 @@ namespace LongoMatch.Gui.Component
        {
                private global::Gtk.VBox vbox2;
                private global::Gtk.VBox vbox3;
+               private global::Gtk.HBox hbox1;
                private global::Gtk.Frame frame1;
                private global::Gtk.Alignment GtkAlignment;
-               private global::Gtk.HBox hbox1;
+               private global::Gtk.HBox hbox2;
                private global::Gtk.CheckButton localcheckbutton;
                private global::Gtk.CheckButton visitorcheckbutton;
-               private global::Gtk.Label GtkLabel1;
+               private global::Gtk.Label GtkLabel2;
+               private global::Gtk.Frame periodframe;
+               private global::Gtk.Alignment GtkAlignment1;
+               private global::Gtk.HBox periodhbox;
+               private global::Gtk.Label PeriodLabel;
                private global::Gtk.Table table1;
                
                protected virtual void Build ()
@@ -29,6 +34,10 @@ namespace LongoMatch.Gui.Component
                        this.vbox3.Name = "vbox3";
                        this.vbox3.Spacing = 6;
                        // Container child vbox3.Gtk.Box+BoxChild
+                       this.hbox1 = new global::Gtk.HBox ();
+                       this.hbox1.Name = "hbox1";
+                       this.hbox1.Spacing = 6;
+                       // Container child hbox1.Gtk.Box+BoxChild
                        this.frame1 = new global::Gtk.Frame ();
                        this.frame1.Name = "frame1";
                        this.frame1.ShadowType = ((global::Gtk.ShadowType)(0));
@@ -37,52 +46,78 @@ namespace LongoMatch.Gui.Component
                        this.GtkAlignment.Name = "GtkAlignment";
                        this.GtkAlignment.LeftPadding = ((uint)(12));
                        // Container child GtkAlignment.Gtk.Container+ContainerChild
-                       this.hbox1 = new global::Gtk.HBox ();
-                       this.hbox1.Name = "hbox1";
-                       this.hbox1.Spacing = 6;
-                       // Container child hbox1.Gtk.Box+BoxChild
+                       this.hbox2 = new global::Gtk.HBox ();
+                       this.hbox2.Name = "hbox2";
+                       this.hbox2.Spacing = 6;
+                       // Container child hbox2.Gtk.Box+BoxChild
                        this.localcheckbutton = new global::Gtk.CheckButton ();
                        this.localcheckbutton.CanFocus = true;
                        this.localcheckbutton.Name = "localcheckbutton";
                        this.localcheckbutton.Label = "";
                        this.localcheckbutton.DrawIndicator = true;
                        this.localcheckbutton.UseUnderline = true;
-                       this.hbox1.Add (this.localcheckbutton);
-                       global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.hbox1 
[this.localcheckbutton]));
+                       this.hbox2.Add (this.localcheckbutton);
+                       global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.hbox2 
[this.localcheckbutton]));
                        w1.Position = 0;
-                       // Container child hbox1.Gtk.Box+BoxChild
+                       // Container child hbox2.Gtk.Box+BoxChild
                        this.visitorcheckbutton = new global::Gtk.CheckButton ();
                        this.visitorcheckbutton.CanFocus = true;
                        this.visitorcheckbutton.Name = "visitorcheckbutton";
                        this.visitorcheckbutton.Label = "";
                        this.visitorcheckbutton.DrawIndicator = true;
                        this.visitorcheckbutton.UseUnderline = true;
-                       this.hbox1.Add (this.visitorcheckbutton);
-                       global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox1 
[this.visitorcheckbutton]));
+                       this.hbox2.Add (this.visitorcheckbutton);
+                       global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox2 
[this.visitorcheckbutton]));
                        w2.Position = 1;
-                       this.GtkAlignment.Add (this.hbox1);
+                       this.GtkAlignment.Add (this.hbox2);
                        this.frame1.Add (this.GtkAlignment);
-                       this.GtkLabel1 = new global::Gtk.Label ();
-                       this.GtkLabel1.Name = "GtkLabel1";
-                       this.GtkLabel1.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Team</b>");
-                       this.GtkLabel1.UseMarkup = true;
-                       this.frame1.LabelWidget = this.GtkLabel1;
-                       this.vbox3.Add (this.frame1);
-                       global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.frame1]));
+                       this.GtkLabel2 = new global::Gtk.Label ();
+                       this.GtkLabel2.Name = "GtkLabel2";
+                       this.GtkLabel2.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Team</b>");
+                       this.GtkLabel2.UseMarkup = true;
+                       this.frame1.LabelWidget = this.GtkLabel2;
+                       this.hbox1.Add (this.frame1);
+                       global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.frame1]));
                        w5.Position = 0;
-                       w5.Expand = false;
-                       w5.Fill = false;
+                       // Container child hbox1.Gtk.Box+BoxChild
+                       this.periodframe = new global::Gtk.Frame ();
+                       this.periodframe.Name = "periodframe";
+                       this.periodframe.ShadowType = ((global::Gtk.ShadowType)(0));
+                       // Container child periodframe.Gtk.Container+ContainerChild
+                       this.GtkAlignment1 = new global::Gtk.Alignment (0F, 0F, 1F, 1F);
+                       this.GtkAlignment1.Name = "GtkAlignment1";
+                       this.GtkAlignment1.LeftPadding = ((uint)(12));
+                       // Container child GtkAlignment1.Gtk.Container+ContainerChild
+                       this.periodhbox = new global::Gtk.HBox ();
+                       this.periodhbox.Name = "periodhbox";
+                       this.periodhbox.Spacing = 6;
+                       this.GtkAlignment1.Add (this.periodhbox);
+                       this.periodframe.Add (this.GtkAlignment1);
+                       this.PeriodLabel = new global::Gtk.Label ();
+                       this.PeriodLabel.Name = "PeriodLabel";
+                       this.PeriodLabel.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Period</b>");
+                       this.PeriodLabel.UseMarkup = true;
+                       this.periodframe.LabelWidget = this.PeriodLabel;
+                       this.hbox1.Add (this.periodframe);
+                       global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.hbox1 
[this.periodframe]));
+                       w8.Position = 1;
+                       this.vbox3.Add (this.hbox1);
+                       global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox1]));
+                       w9.Position = 0;
+                       w9.Expand = false;
+                       w9.Fill = false;
                        // Container child vbox3.Gtk.Box+BoxChild
                        this.table1 = new global::Gtk.Table (((uint)(3)), ((uint)(3)), false);
+                       this.table1.Name = "table1";
                        this.table1.RowSpacing = ((uint)(6));
                        this.table1.ColumnSpacing = ((uint)(6));
                        this.vbox3.Add (this.table1);
-                       global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.table1]));
-                       w6.Position = 1;
-                       w6.Expand = false;
+                       global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.table1]));
+                       w10.Position = 1;
+                       w10.Expand = false;
                        this.vbox2.Add (this.vbox3);
-                       global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.vbox3]));
-                       w7.Position = 0;
+                       global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.vbox3]));
+                       w11.Position = 0;
                        this.Add (this.vbox2);
                        if ((this.Child != null)) {
                                this.Child.ShowAll ();
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Dialog.PropertiesEditor.cs 
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Dialog.PropertiesEditor.cs
index 6f180ae..e2d4b7a 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Dialog.PropertiesEditor.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Dialog.PropertiesEditor.cs
@@ -95,7 +95,7 @@ namespace LongoMatch.Gui.Dialog
                        if ((this.Child != null)) {
                                this.Child.ShowAll ();
                        }
-                       this.DefaultWidth = 604;
+                       this.DefaultWidth = 641;
                        this.DefaultHeight = 353;
                        this.Show ();
                }
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs 
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs
index f4e4cb6..a193b6b 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs
@@ -140,12 +140,12 @@ namespace LongoMatch.Gui
                        this.ImportProjectAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("_Import 
Project");
                        w1.Add (this.ImportProjectAction, "<Control>i");
                        this.ManualTaggingViewAction = new global::Gtk.RadioAction 
("ManualTaggingViewAction", global::Mono.Unix.Catalog.GetString ("Manual tagging view"), null, null, 0);
-                       this.ManualTaggingViewAction.Group = this.TimelineViewAction.Group;
+                       this.ManualTaggingViewAction.Group = this.TaggingViewAction.Group;
                        this.ManualTaggingViewAction.Sensitive = false;
                        this.ManualTaggingViewAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Free 
Capture Mode");
                        w1.Add (this.ManualTaggingViewAction, "<Control>f");
                        this.GameUnitsViewAction = new global::Gtk.RadioAction ("GameUnitsViewAction", 
global::Mono.Unix.Catalog.GetString ("Game units view"), null, null, 0);
-                       this.GameUnitsViewAction.Group = this.ManualTaggingViewAction.Group;
+                       this.GameUnitsViewAction.Group = this.TaggingViewAction.Group;
                        this.GameUnitsViewAction.Sensitive = false;
                        this.GameUnitsViewAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Game 
units view");
                        w1.Add (this.GameUnitsViewAction, null);
diff --git a/LongoMatch.GUI/gtk-gui/gui.stetic b/LongoMatch.GUI/gtk-gui/gui.stetic
index b3709f2..2ffd659 100644
--- a/LongoMatch.GUI/gtk-gui/gui.stetic
+++ b/LongoMatch.GUI/gtk-gui/gui.stetic
@@ -2551,7 +2551,7 @@ Sort by duration</property>
                                 <child>
                                   <widget class="Gtk.Label" id="GtkLabel12">
                                     <property name="MemberName" />
-                                    <property name="LabelProp" translatable="yes">&lt;b&gt;Field 
position&lt;/b&gt;</property>
+                                    <property name="LabelProp" translatable="yes">&lt;b&gt;Half field 
position&lt;/b&gt;</property>
                                     <property name="UseMarkup">True</property>
                                   </widget>
                                   <packing>
@@ -2578,7 +2578,8 @@ Sort by duration</property>
                                       <widget class="Gtk.CheckButton" id="taggoalcheckbutton">
                                         <property name="MemberName" />
                                         <property name="CanFocus">True</property>
-                                        <property name="Label" translatable="yes">Tag goal 
position</property>
+                                        <property name="Label" translatable="yes">Enable</property>
+                                        <property name="Active">True</property>
                                         <property name="DrawIndicator">True</property>
                                         <property name="HasLabel">True</property>
                                         <property name="UseUnderline">True</property>
@@ -5415,7 +5416,7 @@ Show-&gt;&lt;b&gt; S&lt;/b&gt;
       </widget>
     </child>
   </widget>
-  <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.TaggerWidget" design-size="486 96">
+  <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.TaggerWidget" design-size="486 183">
     <property name="MemberName" />
     <property name="Visible">False</property>
     <child>
@@ -5427,59 +5428,112 @@ Show-&gt;&lt;b&gt; S&lt;/b&gt;
             <property name="MemberName" />
             <property name="Spacing">6</property>
             <child>
-              <widget class="Gtk.Frame" id="frame1">
+              <widget class="Gtk.HBox" id="hbox1">
                 <property name="MemberName" />
-                <property name="ShadowType">None</property>
+                <property name="Spacing">6</property>
                 <child>
-                  <widget class="Gtk.Alignment" id="GtkAlignment">
+                  <widget class="Gtk.Frame" id="frame1">
                     <property name="MemberName" />
-                    <property name="Xalign">0</property>
-                    <property name="Yalign">0</property>
-                    <property name="LeftPadding">12</property>
+                    <property name="ShadowType">None</property>
                     <child>
-                      <widget class="Gtk.HBox" id="hbox1">
+                      <widget class="Gtk.Alignment" id="GtkAlignment">
                         <property name="MemberName" />
-                        <property name="Spacing">6</property>
-                        <child>
-                          <widget class="Gtk.CheckButton" id="localcheckbutton">
-                            <property name="MemberName" />
-                            <property name="CanFocus">True</property>
-                            <property name="Label" translatable="yes" />
-                            <property name="DrawIndicator">True</property>
-                            <property name="HasLabel">True</property>
-                            <property name="UseUnderline">True</property>
-                          </widget>
-                          <packing>
-                            <property name="Position">0</property>
-                            <property name="AutoSize">True</property>
-                          </packing>
-                        </child>
+                        <property name="Xalign">0</property>
+                        <property name="Yalign">0</property>
+                        <property name="LeftPadding">12</property>
                         <child>
-                          <widget class="Gtk.CheckButton" id="visitorcheckbutton">
+                          <widget class="Gtk.HBox" id="hbox2">
                             <property name="MemberName" />
-                            <property name="CanFocus">True</property>
-                            <property name="Label" translatable="yes" />
-                            <property name="DrawIndicator">True</property>
-                            <property name="HasLabel">True</property>
-                            <property name="UseUnderline">True</property>
+                            <property name="Spacing">6</property>
+                            <child>
+                              <widget class="Gtk.CheckButton" id="localcheckbutton">
+                                <property name="MemberName" />
+                                <property name="CanFocus">True</property>
+                                <property name="Label" translatable="yes" />
+                                <property name="DrawIndicator">True</property>
+                                <property name="HasLabel">True</property>
+                                <property name="UseUnderline">True</property>
+                              </widget>
+                              <packing>
+                                <property name="Position">0</property>
+                                <property name="AutoSize">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="Gtk.CheckButton" id="visitorcheckbutton">
+                                <property name="MemberName" />
+                                <property name="CanFocus">True</property>
+                                <property name="Label" translatable="yes" />
+                                <property name="DrawIndicator">True</property>
+                                <property name="HasLabel">True</property>
+                                <property name="UseUnderline">True</property>
+                              </widget>
+                              <packing>
+                                <property name="Position">1</property>
+                                <property name="AutoSize">True</property>
+                              </packing>
+                            </child>
                           </widget>
-                          <packing>
-                            <property name="Position">1</property>
-                            <property name="AutoSize">True</property>
-                          </packing>
                         </child>
                       </widget>
                     </child>
+                    <child>
+                      <widget class="Gtk.Label" id="GtkLabel2">
+                        <property name="MemberName" />
+                        <property name="LabelProp" translatable="yes">&lt;b&gt;Team&lt;/b&gt;</property>
+                        <property name="UseMarkup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
                   </widget>
+                  <packing>
+                    <property name="Position">0</property>
+                    <property name="AutoSize">False</property>
+                  </packing>
                 </child>
                 <child>
-                  <widget class="Gtk.Label" id="GtkLabel1">
+                  <widget class="Gtk.Frame" id="periodframe">
                     <property name="MemberName" />
-                    <property name="LabelProp" translatable="yes">&lt;b&gt;Team&lt;/b&gt;</property>
-                    <property name="UseMarkup">True</property>
+                    <property name="ShadowType">None</property>
+                    <child>
+                      <widget class="Gtk.Alignment" id="GtkAlignment1">
+                        <property name="MemberName" />
+                        <property name="Xalign">0</property>
+                        <property name="Yalign">0</property>
+                        <property name="LeftPadding">12</property>
+                        <child>
+                          <widget class="Gtk.HBox" id="periodhbox">
+                            <property name="MemberName" />
+                            <property name="Spacing">6</property>
+                            <child>
+                              <placeholder />
+                            </child>
+                            <child>
+                              <placeholder />
+                            </child>
+                            <child>
+                              <placeholder />
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="Gtk.Label" id="PeriodLabel">
+                        <property name="MemberName" />
+                        <property name="LabelProp" translatable="yes">&lt;b&gt;Period&lt;/b&gt;</property>
+                        <property name="UseMarkup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
                   </widget>
                   <packing>
-                    <property name="type">label_item</property>
+                    <property name="Position">1</property>
+                    <property name="AutoSize">False</property>
                   </packing>
                 </child>
               </widget>
@@ -8478,7 +8532,6 @@ Defining &lt;b&gt; Game Units &lt;/b&gt; will help you during the analysis to in
                     <child>
                       <widget class="Gtk.Label" id="dirlabel">
                         <property name="MemberName" />
-                        <property name="LabelProp" translatable="yes" />
                         <property name="Wrap">True</property>
                         <property name="Ellipsize">Start</property>
                         <property name="MaxWidthChars">20</property>


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