[longomatch] Added widget to list plays filtered by tags



commit 1535d376c5818b00e281cf3df78f74d987465440
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Tue Jan 5 02:29:52 2010 +0100

    Added widget to list plays filtered by tags

 LongoMatch/Gui/MainWindow.cs                    |    3 +
 LongoMatch/Handlers/EventsManager.cs            |   18 ++--
 LongoMatch/LongoMatch.mdp                       |    3 +
 LongoMatch/Makefile.am                          |    3 +
 LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs |  113 ++++++++++++---------
 LongoMatch/gtk-gui/gui.stetic                   |  125 ++++++++++++++++++++++-
 LongoMatch/gtk-gui/objects.xml                  |   22 ++++
 7 files changed, 227 insertions(+), 60 deletions(-)
---
diff --git a/LongoMatch/Gui/MainWindow.cs b/LongoMatch/Gui/MainWindow.cs
index aee8843..59ce509 100644
--- a/LongoMatch/Gui/MainWindow.cs
+++ b/LongoMatch/Gui/MainWindow.cs
@@ -70,6 +70,7 @@ namespace LongoMatch.Gui
 			eManager = new EventsManager(treewidget1,
 			                             localplayerslisttreewidget,
 			                             visitorplayerslisttreewidget,
+			                             tagstreewidget1,
 			                             buttonswidget1,
 			                             playlistwidget2,
 			                             playerbin1,
@@ -123,6 +124,7 @@ namespace LongoMatch.Gui
 						treewidget1.Project=project;
 						localplayerslisttreewidget.SetTeam(project.LocalTeamTemplate,project.GetLocalTeamModel());
 						visitorplayerslisttreewidget.SetTeam(project.VisitorTeamTemplate,project.GetVisitorTeamModel());
+						tagstreewidget1.Project = project;
 						timelinewidget1.Project = project;
 						buttonswidget1.Sections = project.Sections;
 						if (project.File.HasVideo) {
@@ -187,6 +189,7 @@ namespace LongoMatch.Gui
 		private void ClearWidgets() {
 			buttonswidget1.Sections = null;
 			treewidget1.Project = null;
+			tagstreewidget1.Clear();
 			timelinewidget1.Project = null;
 			localplayerslisttreewidget.Clear();
 			visitorplayerslisttreewidget.Clear();
diff --git a/LongoMatch/Handlers/EventsManager.cs b/LongoMatch/Handlers/EventsManager.cs
index f1bcf0e..4cef809 100644
--- a/LongoMatch/Handlers/EventsManager.cs
+++ b/LongoMatch/Handlers/EventsManager.cs
@@ -43,6 +43,7 @@ namespace LongoMatch
 
 		private PlaysListTreeWidget treewidget;
 		private PlayersListTreeWidget localPlayersList,visitorPlayersList;
+		private TagsTreeWidget tagsTreeWidget;
 		private ButtonsWidget buttonswidget;
 		private PlayListWidget playlist;
 		private PlayerBin player;
@@ -58,13 +59,15 @@ namespace LongoMatch
 		// current proyect in use
 		private Project openedProject;
 
-		public EventsManager(PlaysListTreeWidget treewidget, PlayersListTreeWidget localPlayersList, PlayersListTreeWidget visitorPlayersList,
-		                     ButtonsWidget buttonswidget,PlayListWidget playlist, PlayerBin player,
+		public EventsManager(PlaysListTreeWidget treewidget, PlayersListTreeWidget localPlayersList, 
+		                     PlayersListTreeWidget visitorPlayersList, TagsTreeWidget tagsTreeWidget,
+		                     ButtonsWidget buttonswidget, PlayListWidget playlist, PlayerBin player, 
 		                     TimeLineWidget timeline, ProgressBar videoprogressbar,NotesWidget notes)
 		{
 			this.treewidget = treewidget;
 			this.localPlayersList = localPlayersList;
 			this.visitorPlayersList = visitorPlayersList;
+			this.tagsTreeWidget = tagsTreeWidget;
 			this.buttonswidget = buttonswidget;
 			this.playlist = playlist;
 			this.player = player;
@@ -90,6 +93,7 @@ namespace LongoMatch
 			treewidget.TimeNodeChanged += OnTimeNodeChanged;
 			localPlayersList.TimeNodeChanged += OnTimeNodeChanged;
 			visitorPlayersList.TimeNodeChanged += OnTimeNodeChanged;
+			tagsTreeWidget.TimeNodeChanged += OnTimeNodeChanged;
 			timeline.TimeNodeChanged += OnTimeNodeChanged;
 			notes.TimeNodeChanged += OnTimeNodeChanged;
 
@@ -99,6 +103,7 @@ namespace LongoMatch
 			treewidget.TimeNodeSelected += OnTimeNodeSelected;
 			localPlayersList.TimeNodeSelected += OnTimeNodeSelected;
 			visitorPlayersList.TimeNodeSelected += OnTimeNodeSelected;
+			tagsTreeWidget.TimeNodeSelected += OnTimeNodeSelected;
 			timeline.TimeNodeSelected += OnTimeNodeSelected;
 
 			playlist.PlayListNodeSelected += OnPlayListNodeSelected;
@@ -108,6 +113,7 @@ namespace LongoMatch
 			treewidget.PlayListNodeAdded += OnPlayListNodeAdded;
 			localPlayersList.PlayListNodeAdded += OnPlayListNodeAdded;
 			visitorPlayersList.PlayListNodeAdded += OnPlayListNodeAdded;
+			tagsTreeWidget.PlayListNodeAdded += OnPlayListNodeAdded;
 
 			treewidget.PlayersTagged += OnPlayersTagged;
 			treewidget.TagPlay += OnTagPlay;
@@ -115,6 +121,7 @@ namespace LongoMatch
 			treewidget.SnapshotSeriesEvent += OnSnapshotSeries;
 			localPlayersList.SnapshotSeriesEvent += OnSnapshotSeries;
 			visitorPlayersList.SnapshotSeriesEvent += OnSnapshotSeries;
+			tagsTreeWidget.SnapshotSeriesEvent += OnSnapshotSeries;;
 
 			timeline.NewMarkEvent += OnNewMarkAtFrame;
 
@@ -143,6 +150,7 @@ namespace LongoMatch
 				Pixbuf miniature = player.CurrentMiniatureFrame;
 				MediaTimeNode tn = openedProject.AddTimeNode(section,fStart, fStop,miniature);
 				treewidget.AddPlay(tn,section);
+				tagsTreeWidget.AddPlay(tn);
 				timeline.QueueDraw();
 			}
 		}
@@ -197,7 +205,6 @@ namespace LongoMatch
 			drawingManager.Play=tNode;
 		}
 
-
 		protected virtual void OnTimeNodeChanged(TimeNode tNode, object val)
 		{
 			//Si hemos modificado el valor de un nodo de tiempo a través del
@@ -232,14 +239,11 @@ namespace LongoMatch
 			MainClass.DB.UpdateProject(openedProject);
 		}
 
-
 		protected virtual void OnPlayListNodeAdded(MediaTimeNode tNode)
 		{
 			playlist.Add(new PlayListTimeNode(openedProject.File,tNode));
 		}
 
-
-
 		protected virtual void OnPlayListNodeSelected(PlayListTimeNode plNode, bool hasNext)
 		{
 			if (openedProject == null) {
@@ -294,7 +298,6 @@ namespace LongoMatch
 				sd.Destroy();
 		}
 
-
 		protected virtual void OnNext()
 		{
 			playlist.Next();
@@ -316,7 +319,6 @@ namespace LongoMatch
 				timeline.CurrentFrame=(uint)(args.CurrentTime * openedProject.File.Fps / 1000);
 		}
 
-
 		protected virtual void OnTimeline2PositionChanged(Time pos)
 		{
 			player.SeekInSegment(pos.MSeconds);
diff --git a/LongoMatch/LongoMatch.mdp b/LongoMatch/LongoMatch.mdp
index 5e15583..41c8fe5 100644
--- a/LongoMatch/LongoMatch.mdp
+++ b/LongoMatch/LongoMatch.mdp
@@ -173,6 +173,9 @@
     <File name="Gui/Component/TaggerWidget.cs" subtype="Code" buildaction="Compile" />
     <File name="Gui/Dialog/TaggerDialog.cs" subtype="Code" buildaction="Compile" />
     <File name="gtk-gui/LongoMatch.Gui.Dialog.TaggerDialog.cs" subtype="Code" buildaction="Compile" />
+    <File name="Gui/TreeView/TagsTreeView.cs" subtype="Code" buildaction="Compile" />
+    <File name="Gui/Component/TagsTreeWidget.cs" subtype="Code" buildaction="Compile" />
+    <File name="gtk-gui/LongoMatch.Gui.Component.TagsTreeWidget.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Gac" localcopy="True" refto="Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
diff --git a/LongoMatch/Makefile.am b/LongoMatch/Makefile.am
index c4fb3f2..5051f5b 100644
--- a/LongoMatch/Makefile.am
+++ b/LongoMatch/Makefile.am
@@ -112,6 +112,7 @@ FILES = \
 	gtk-gui/LongoMatch.Gui.Component.ProjectListWidget.cs \
 	gtk-gui/LongoMatch.Gui.Component.ProjectTemplateWidget.cs \
 	gtk-gui/LongoMatch.Gui.Component.TaggerWidget.cs \
+	gtk-gui/LongoMatch.Gui.Component.TagsTreeWidget.cs \
 	gtk-gui/LongoMatch.Gui.Component.TeamTemplateWidget.cs \
 	gtk-gui/LongoMatch.Gui.Component.TimeAdjustWidget.cs \
 	gtk-gui/LongoMatch.Gui.Component.TimeLineWidget.cs \
@@ -150,6 +151,7 @@ FILES = \
 	Gui/Component/ProjectListWidget.cs \
 	Gui/Component/ProjectTemplateWidget.cs \
 	Gui/Component/TaggerWidget.cs\
+	Gui/Component/TagsTreeWidget.cs\
 	Gui/Component/TeamTemplateWidget.cs\
 	Gui/Component/TimeAdjustWidget.cs \
 	Gui/Component/TimeLineWidget.cs \
@@ -183,6 +185,7 @@ FILES = \
 	Gui/TreeView/PlayersTreeView.cs \
 	Gui/TreeView/PlayListTreeView.cs \
 	Gui/TreeView/PlaysTreeView.cs \
+	Gui/TreeView/TagsTreeView.cs \
 	Handlers/DrawingManager.cs \
 	Handlers/EventsManager.cs \
 	Handlers/Handlers.cs \
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs
index ddebdd0..3faa034 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs
@@ -77,12 +77,16 @@ namespace LongoMatch.Gui {
         
         private LongoMatch.Gui.Component.PlayersListTreeWidget localplayerslisttreewidget;
         
-        private Gtk.Label label3;
+        private Gtk.Label label6;
         
         private LongoMatch.Gui.Component.PlayersListTreeWidget visitorplayerslisttreewidget;
         
         private Gtk.Label label4;
         
+        private LongoMatch.Gui.Component.TagsTreeWidget tagstreewidget1;
+        
+        private Gtk.Label label7;
+        
         private Gtk.HPaned hpaned1;
         
         private Gtk.VBox vbox5;
@@ -219,7 +223,7 @@ namespace LongoMatch.Gui {
             this.hpaned = new Gtk.HPaned();
             this.hpaned.CanFocus = true;
             this.hpaned.Name = "hpaned";
-            this.hpaned.Position = 294;
+            this.hpaned.Position = 335;
             // Container child hpaned.Gtk.Paned+PanedChild
             this.leftbox = new Gtk.VBox();
             this.leftbox.Name = "leftbox";
@@ -228,7 +232,7 @@ namespace LongoMatch.Gui {
             this.notebook1 = new Gtk.Notebook();
             this.notebook1.CanFocus = true;
             this.notebook1.Name = "notebook1";
-            this.notebook1.CurrentPage = 0;
+            this.notebook1.CurrentPage = 3;
             this.notebook1.TabPos = ((Gtk.PositionType)(3));
             // Container child notebook1.Gtk.Notebook+NotebookChild
             this.treewidget1 = new LongoMatch.Gui.Component.PlaysListTreeWidget();
@@ -249,11 +253,11 @@ namespace LongoMatch.Gui {
             Gtk.Notebook.NotebookChild w5 = ((Gtk.Notebook.NotebookChild)(this.notebook1[this.localplayerslisttreewidget]));
             w5.Position = 1;
             // Notebook tab
-            this.label3 = new Gtk.Label();
-            this.label3.Name = "label3";
-            this.label3.LabelProp = Mono.Unix.Catalog.GetString("Local Team");
-            this.notebook1.SetTabLabel(this.localplayerslisttreewidget, this.label3);
-            this.label3.ShowAll();
+            this.label6 = new Gtk.Label();
+            this.label6.Name = "label6";
+            this.label6.LabelProp = Mono.Unix.Catalog.GetString("Local Team");
+            this.notebook1.SetTabLabel(this.localplayerslisttreewidget, this.label6);
+            this.label6.ShowAll();
             // Container child notebook1.Gtk.Notebook+NotebookChild
             this.visitorplayerslisttreewidget = new LongoMatch.Gui.Component.PlayersListTreeWidget();
             this.visitorplayerslisttreewidget.Events = ((Gdk.EventMask)(256));
@@ -267,17 +271,30 @@ namespace LongoMatch.Gui {
             this.label4.LabelProp = Mono.Unix.Catalog.GetString("Visitor Team");
             this.notebook1.SetTabLabel(this.visitorplayerslisttreewidget, this.label4);
             this.label4.ShowAll();
+            // Container child notebook1.Gtk.Notebook+NotebookChild
+            this.tagstreewidget1 = new LongoMatch.Gui.Component.TagsTreeWidget();
+            this.tagstreewidget1.Events = ((Gdk.EventMask)(256));
+            this.tagstreewidget1.Name = "tagstreewidget1";
+            this.notebook1.Add(this.tagstreewidget1);
+            Gtk.Notebook.NotebookChild w7 = ((Gtk.Notebook.NotebookChild)(this.notebook1[this.tagstreewidget1]));
+            w7.Position = 3;
+            // Notebook tab
+            this.label7 = new Gtk.Label();
+            this.label7.Name = "label7";
+            this.label7.LabelProp = Mono.Unix.Catalog.GetString("Tags");
+            this.notebook1.SetTabLabel(this.tagstreewidget1, this.label7);
+            this.label7.ShowAll();
             this.leftbox.Add(this.notebook1);
-            Gtk.Box.BoxChild w7 = ((Gtk.Box.BoxChild)(this.leftbox[this.notebook1]));
-            w7.Position = 0;
+            Gtk.Box.BoxChild w8 = ((Gtk.Box.BoxChild)(this.leftbox[this.notebook1]));
+            w8.Position = 0;
             this.hpaned.Add(this.leftbox);
-            Gtk.Paned.PanedChild w8 = ((Gtk.Paned.PanedChild)(this.hpaned[this.leftbox]));
-            w8.Resize = false;
+            Gtk.Paned.PanedChild w9 = ((Gtk.Paned.PanedChild)(this.hpaned[this.leftbox]));
+            w9.Resize = false;
             // Container child hpaned.Gtk.Paned+PanedChild
             this.hpaned1 = new Gtk.HPaned();
             this.hpaned1.CanFocus = true;
             this.hpaned1.Name = "hpaned1";
-            this.hpaned1.Position = 804;
+            this.hpaned1.Position = 770;
             // Container child hpaned1.Gtk.Paned+PanedChild
             this.vbox5 = new Gtk.VBox();
             this.vbox5.Name = "vbox5";
@@ -291,10 +308,10 @@ namespace LongoMatch.Gui {
             this.drawingtoolbox1.Events = ((Gdk.EventMask)(256));
             this.drawingtoolbox1.Name = "drawingtoolbox1";
             this.hbox1.Add(this.drawingtoolbox1);
-            Gtk.Box.BoxChild w9 = ((Gtk.Box.BoxChild)(this.hbox1[this.drawingtoolbox1]));
-            w9.Position = 0;
-            w9.Expand = false;
-            w9.Fill = false;
+            Gtk.Box.BoxChild w10 = ((Gtk.Box.BoxChild)(this.hbox1[this.drawingtoolbox1]));
+            w10.Position = 0;
+            w10.Expand = false;
+            w10.Fill = false;
             // Container child hbox1.Gtk.Box+BoxChild
             this.playerbin1 = new LongoMatch.Gui.PlayerBin();
             this.playerbin1.Events = ((Gdk.EventMask)(256));
@@ -302,11 +319,11 @@ namespace LongoMatch.Gui {
             this.playerbin1.Rate = 1F;
             this.playerbin1.ExpandLogo = true;
             this.hbox1.Add(this.playerbin1);
-            Gtk.Box.BoxChild w10 = ((Gtk.Box.BoxChild)(this.hbox1[this.playerbin1]));
-            w10.Position = 1;
+            Gtk.Box.BoxChild w11 = ((Gtk.Box.BoxChild)(this.hbox1[this.playerbin1]));
+            w11.Position = 1;
             this.vbox5.Add(this.hbox1);
-            Gtk.Box.BoxChild w11 = ((Gtk.Box.BoxChild)(this.vbox5[this.hbox1]));
-            w11.Position = 0;
+            Gtk.Box.BoxChild w12 = ((Gtk.Box.BoxChild)(this.vbox5[this.hbox1]));
+            w12.Position = 0;
             // Container child vbox5.Gtk.Box+BoxChild
             this.timelinewidget1 = new LongoMatch.Gui.Component.TimeLineWidget();
             this.timelinewidget1.HeightRequest = 200;
@@ -314,21 +331,21 @@ namespace LongoMatch.Gui {
             this.timelinewidget1.Name = "timelinewidget1";
             this.timelinewidget1.CurrentFrame = ((uint)(0));
             this.vbox5.Add(this.timelinewidget1);
-            Gtk.Box.BoxChild w12 = ((Gtk.Box.BoxChild)(this.vbox5[this.timelinewidget1]));
-            w12.Position = 1;
-            w12.Expand = false;
+            Gtk.Box.BoxChild w13 = ((Gtk.Box.BoxChild)(this.vbox5[this.timelinewidget1]));
+            w13.Position = 1;
+            w13.Expand = false;
             // Container child vbox5.Gtk.Box+BoxChild
             this.buttonswidget1 = new LongoMatch.Gui.Component.ButtonsWidget();
             this.buttonswidget1.Events = ((Gdk.EventMask)(256));
             this.buttonswidget1.Name = "buttonswidget1";
             this.vbox5.Add(this.buttonswidget1);
-            Gtk.Box.BoxChild w13 = ((Gtk.Box.BoxChild)(this.vbox5[this.buttonswidget1]));
-            w13.Position = 2;
-            w13.Expand = false;
+            Gtk.Box.BoxChild w14 = ((Gtk.Box.BoxChild)(this.vbox5[this.buttonswidget1]));
+            w14.Position = 2;
+            w14.Expand = false;
             this.hpaned1.Add(this.vbox5);
-            Gtk.Paned.PanedChild w14 = ((Gtk.Paned.PanedChild)(this.hpaned1[this.vbox5]));
-            w14.Resize = false;
-            w14.Shrink = false;
+            Gtk.Paned.PanedChild w15 = ((Gtk.Paned.PanedChild)(this.hpaned1[this.vbox5]));
+            w15.Resize = false;
+            w15.Shrink = false;
             // Container child hpaned1.Gtk.Paned+PanedChild
             this.rightvbox = new Gtk.VBox();
             this.rightvbox.WidthRequest = 100;
@@ -339,27 +356,27 @@ namespace LongoMatch.Gui {
             this.noteswidget1.Events = ((Gdk.EventMask)(256));
             this.noteswidget1.Name = "noteswidget1";
             this.rightvbox.Add(this.noteswidget1);
-            Gtk.Box.BoxChild w15 = ((Gtk.Box.BoxChild)(this.rightvbox[this.noteswidget1]));
-            w15.Position = 1;
+            Gtk.Box.BoxChild w16 = ((Gtk.Box.BoxChild)(this.rightvbox[this.noteswidget1]));
+            w16.Position = 1;
             // Container child rightvbox.Gtk.Box+BoxChild
             this.playlistwidget2 = new LongoMatch.Gui.Component.PlayListWidget();
             this.playlistwidget2.WidthRequest = 100;
             this.playlistwidget2.Events = ((Gdk.EventMask)(256));
             this.playlistwidget2.Name = "playlistwidget2";
             this.rightvbox.Add(this.playlistwidget2);
-            Gtk.Box.BoxChild w16 = ((Gtk.Box.BoxChild)(this.rightvbox[this.playlistwidget2]));
-            w16.Position = 2;
+            Gtk.Box.BoxChild w17 = ((Gtk.Box.BoxChild)(this.rightvbox[this.playlistwidget2]));
+            w17.Position = 2;
             this.hpaned1.Add(this.rightvbox);
-            Gtk.Paned.PanedChild w17 = ((Gtk.Paned.PanedChild)(this.hpaned1[this.rightvbox]));
-            w17.Resize = false;
-            w17.Shrink = false;
-            this.hpaned.Add(this.hpaned1);
-            Gtk.Paned.PanedChild w18 = ((Gtk.Paned.PanedChild)(this.hpaned[this.hpaned1]));
+            Gtk.Paned.PanedChild w18 = ((Gtk.Paned.PanedChild)(this.hpaned1[this.rightvbox]));
             w18.Resize = false;
             w18.Shrink = false;
+            this.hpaned.Add(this.hpaned1);
+            Gtk.Paned.PanedChild w19 = ((Gtk.Paned.PanedChild)(this.hpaned[this.hpaned1]));
+            w19.Resize = false;
+            w19.Shrink = false;
             this.vbox1.Add(this.hpaned);
-            Gtk.Box.BoxChild w19 = ((Gtk.Box.BoxChild)(this.vbox1[this.hpaned]));
-            w19.Position = 1;
+            Gtk.Box.BoxChild w20 = ((Gtk.Box.BoxChild)(this.vbox1[this.hpaned]));
+            w20.Position = 1;
             // Container child vbox1.Gtk.Box+BoxChild
             this.statusbar1 = new Gtk.Statusbar();
             this.statusbar1.Name = "statusbar1";
@@ -369,15 +386,15 @@ namespace LongoMatch.Gui {
             this.videoprogressbar.Name = "videoprogressbar";
             this.videoprogressbar.Text = Mono.Unix.Catalog.GetString("Creating video...");
             this.statusbar1.Add(this.videoprogressbar);
-            Gtk.Box.BoxChild w20 = ((Gtk.Box.BoxChild)(this.statusbar1[this.videoprogressbar]));
-            w20.Position = 3;
-            w20.Expand = false;
-            w20.Fill = false;
-            this.vbox1.Add(this.statusbar1);
-            Gtk.Box.BoxChild w21 = ((Gtk.Box.BoxChild)(this.vbox1[this.statusbar1]));
-            w21.Position = 2;
+            Gtk.Box.BoxChild w21 = ((Gtk.Box.BoxChild)(this.statusbar1[this.videoprogressbar]));
+            w21.Position = 3;
             w21.Expand = false;
             w21.Fill = false;
+            this.vbox1.Add(this.statusbar1);
+            Gtk.Box.BoxChild w22 = ((Gtk.Box.BoxChild)(this.vbox1[this.statusbar1]));
+            w22.Position = 2;
+            w22.Expand = false;
+            w22.Fill = false;
             this.Add(this.vbox1);
             if ((this.Child != null)) {
                 this.Child.ShowAll();
diff --git a/LongoMatch/gtk-gui/gui.stetic b/LongoMatch/gtk-gui/gui.stetic
index 76f2e51..b09519e 100644
--- a/LongoMatch/gtk-gui/gui.stetic
+++ b/LongoMatch/gtk-gui/gui.stetic
@@ -1715,7 +1715,7 @@
           <widget class="Gtk.HPaned" id="hpaned">
             <property name="MemberName" />
             <property name="CanFocus">True</property>
-            <property name="Position">294</property>
+            <property name="Position">335</property>
             <child>
               <widget class="Gtk.VBox" id="leftbox">
                 <property name="MemberName" />
@@ -1725,7 +1725,7 @@
                   <widget class="Gtk.Notebook" id="notebook1">
                     <property name="MemberName" />
                     <property name="CanFocus">True</property>
-                    <property name="CurrentPage">0</property>
+                    <property name="CurrentPage">3</property>
                     <property name="TabPos">Bottom</property>
                     <child>
                       <widget class="LongoMatch.Gui.Component.PlaysListTreeWidget" id="treewidget1">
@@ -1753,7 +1753,7 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="Gtk.Label" id="label3">
+                      <widget class="Gtk.Label" id="label6">
                         <property name="MemberName" />
                         <property name="LabelProp" translatable="yes">Local Team</property>
                       </widget>
@@ -1779,6 +1779,24 @@
                         <property name="type">tab</property>
                       </packing>
                     </child>
+                    <child>
+                      <widget class="LongoMatch.Gui.Component.TagsTreeWidget" id="tagstreewidget1">
+                        <property name="MemberName" />
+                        <property name="Events">ButtonPressMask</property>
+                      </widget>
+                      <packing>
+                        <property name="Position">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="Gtk.Label" id="label7">
+                        <property name="MemberName" />
+                        <property name="LabelProp" translatable="yes">Tags</property>
+                      </widget>
+                      <packing>
+                        <property name="type">tab</property>
+                      </packing>
+                    </child>
                   </widget>
                   <packing>
                     <property name="Position">0</property>
@@ -1794,7 +1812,7 @@
               <widget class="Gtk.HPaned" id="hpaned1">
                 <property name="MemberName" />
                 <property name="CanFocus">True</property>
-                <property name="Position">804</property>
+                <property name="Position">770</property>
                 <child>
                   <widget class="Gtk.VBox" id="vbox5">
                     <property name="MemberName" />
@@ -5211,4 +5229,103 @@ You can add new tags using the text entry and clicking "Add Tag"</property>
       </widget>
     </child>
   </widget>
+  <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.TagsTreeWidget" design-size="217 300">
+    <property name="MemberName" />
+    <property name="Visible">False</property>
+    <child>
+      <widget class="Gtk.VBox" id="vbox1">
+        <property name="MemberName" />
+        <property name="Spacing">6</property>
+        <child>
+          <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow">
+            <property name="MemberName" />
+            <property name="ShadowType">In</property>
+            <child>
+              <widget class="LongoMatch.Gui.Component.TagsTreeView" id="treeview">
+                <property name="MemberName" />
+                <property name="CanFocus">True</property>
+                <property name="ShowScrollbars">True</property>
+                <signal name="TimeNodeChanged" handler="OnTimeNodeChanged" />
+                <signal name="TimeNodeSelected" handler="OnTimeNodeSelected" />
+                <signal name="PlayListNodeAdded" handler="OnPlayListNodeAdded" />
+                <signal name="SnapshotSeriesEvent" handler="OnSnapshotSeriesEvent" />
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="Position">0</property>
+            <property name="AutoSize">True</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.VBox" id="tagsvbox">
+            <property name="MemberName" />
+            <property name="Spacing">6</property>
+            <child>
+              <placeholder />
+            </child>
+            <child>
+              <placeholder />
+            </child>
+            <child>
+              <placeholder />
+            </child>
+          </widget>
+          <packing>
+            <property name="Position">1</property>
+            <property name="AutoSize">False</property>
+            <property name="Expand">False</property>
+            <property name="Fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.HBox" id="hbox1">
+            <property name="MemberName" />
+            <property name="Spacing">6</property>
+            <child>
+              <widget class="Gtk.ComboBox" id="tagscombobox">
+                <property name="MemberName" />
+                <property name="IsTextCombo">True</property>
+                <property name="Items" translatable="yes" />
+              </widget>
+              <packing>
+                <property name="Position">0</property>
+                <property name="AutoSize">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="Gtk.Button" id="AddFilterButton">
+                <property name="MemberName" />
+                <property name="CanFocus">True</property>
+                <property name="Type">TextAndIcon</property>
+                <property name="Icon">stock:gtk-add Menu</property>
+                <property name="Label" translatable="yes">Add Filter</property>
+                <property name="UseUnderline">True</property>
+                <signal name="Clicked" handler="OnAddFilter" />
+              </widget>
+              <packing>
+                <property name="Position">1</property>
+                <property name="AutoSize">True</property>
+                <property name="Expand">False</property>
+                <property name="Fill">False</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="Position">2</property>
+            <property name="AutoSize">True</property>
+            <property name="Expand">False</property>
+            <property name="Fill">False</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="Gtk.Bin" id="LongoMatch.TagsTreeWidget" design-size="300 300">
+    <property name="MemberName" />
+    <property name="Visible">False</property>
+    <child>
+      <placeholder />
+    </child>
+  </widget>
 </stetic-interface>
\ No newline at end of file
diff --git a/LongoMatch/gtk-gui/objects.xml b/LongoMatch/gtk-gui/objects.xml
index ff8aaf2..9e8544c 100644
--- a/LongoMatch/gtk-gui/objects.xml
+++ b/LongoMatch/gtk-gui/objects.xml
@@ -249,4 +249,26 @@
     <itemgroups />
     <signals />
   </object>
+  <object type="LongoMatch.Gui.Component.TagsTreeView" palette-category="LongoMatch" allow-children="false" base-type="Gtk.TreeView">
+    <itemgroups />
+    <signals>
+      <itemgroup label="TagsTreeView Signals">
+        <signal name="TimeNodeChanged" />
+        <signal name="TimeNodeSelected" />
+        <signal name="PlayListNodeAdded" />
+        <signal name="SnapshotSeriesEvent" />
+      </itemgroup>
+    </signals>
+  </object>
+  <object type="LongoMatch.Gui.Component.TagsTreeWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
+    <itemgroups />
+    <signals>
+      <itemgroup label="TagsTreeWidget Signals">
+        <signal name="TimeNodeSelected" />
+        <signal name="TimeNodeChanged" />
+        <signal name="PlayListNodeAdded" />
+        <signal name="SnapshotSeriesEvent" />
+      </itemgroup>
+    </signals>
+  </object>
 </objects>
\ No newline at end of file



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