[longomatch] Add a new widget to control all the plays listing widgets



commit c9d8fcb5b254cbec171d716fe0d2a5165bbc9981
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Mon Jul 23 21:41:53 2012 +0200

    Add a new widget to control all the plays listing widgets

 LongoMatch.GUI/Gui/MainWindow.cs                   |   68 ++-------
 LongoMatch.GUI/PlaysSelectionWidget.cs             |  162 +++++++++++++++++++
 ...ongoMatch.Gui.Component.PlaysSelectionWidget.cs |   69 ++++++++
 .../gtk-gui/LongoMatch.Gui.MainWindow.cs           |  166 ++++++--------------
 4 files changed, 295 insertions(+), 170 deletions(-)
---
diff --git a/LongoMatch.GUI/Gui/MainWindow.cs b/LongoMatch.GUI/Gui/MainWindow.cs
index 338c604..c1f39c0 100644
--- a/LongoMatch.GUI/Gui/MainWindow.cs
+++ b/LongoMatch.GUI/Gui/MainWindow.cs
@@ -126,9 +126,6 @@ namespace LongoMatch.Gui
 			capturer.CaptureFinished += (sender, e) => {CloseCaptureProject();};
 			
 			buttonswidget.Mode = TagMode.Predifined;
-			localPlayersList.Team = Team.LOCAL;
-			visitorPlayersList.Team = Team.VISITOR;
-			
 			ConnectSignals();
 			ConnectMenuSignals();
 			
@@ -141,11 +138,8 @@ namespace LongoMatch.Gui
 		
 		#region Plubic Methods
 		public void AddPlay(Play play) {
-			playsList.AddPlay(play);
-			tagsList.AddPlay(play);
+			playsSelection.AddPlay(play);
 			timeline.AddPlay(play);
-			/* FIXME: Check performance */
-			UpdateTeamsModels();
 			timeline.QueueDraw();
 		}
 		
@@ -160,10 +154,8 @@ namespace LongoMatch.Gui
 		}
 		
 		public void DeletePlays (List<Play> plays) {
-			playsList.RemovePlays(plays);
+			playsSelection.RemovePlays(plays);
 			timeline.RemovePlays(plays);
-			tagsList.RemovePlays(plays);
-			UpdateTeamsModels();
 			timeline.QueueDraw();
 		}
 		
@@ -193,7 +185,7 @@ namespace LongoMatch.Gui
 		
 		public ITemplatesService TemplatesService {
 			set {
-				playsList.TemplatesService = value;
+				playsSelection.TemplatesService = value;
 			}
 		}
 		
@@ -231,22 +223,15 @@ namespace LongoMatch.Gui
 			timeline.NewMarkEvent += EmitNewTagAtFrame;
 
 			/* Connect TimeNodeChanged events */
-			playsList.TimeNodeChanged += EmitTimeNodeChanged;
-			localPlayersList.TimeNodeChanged += EmitTimeNodeChanged;
-			visitorPlayersList.TimeNodeChanged += EmitTimeNodeChanged;
-			tagsList.TimeNodeChanged += EmitTimeNodeChanged;
 			timeline.TimeNodeChanged += EmitTimeNodeChanged;
 			notes.TimeNodeChanged += EmitTimeNodeChanged;
 
 			/* Connect TimeNodeDeleted events */
-			playsList.TimeNodeDeleted += EmitPlaysDeleted;
+			playsSelection.PlaysDeleted += EmitPlaysDeleted;
 			timeline.TimeNodeDeleted += EmitPlaysDeleted;
 
 			/* Connect TimeNodeSelected events */
-			playsList.TimeNodeSelected += OnTimeNodeSelected;
-			localPlayersList.TimeNodeSelected += OnTimeNodeSelected;
-			visitorPlayersList.TimeNodeSelected += OnTimeNodeSelected;
-			tagsList.TimeNodeSelected += OnTimeNodeSelected;
+			playsSelection.PlaySelected += OnTimeNodeSelected;
 			timeline.TimeNodeSelected += OnTimeNodeSelected;
 
 			/* Connect playlist events */
@@ -257,24 +242,16 @@ namespace LongoMatch.Gui
 			playlist.SavePlaylistEvent += EmitSavePlaylist;
 
 			/* Connect PlayListNodeAdded events */
-			playsList.PlayListNodeAdded += OnPlayListNodeAdded;
-			localPlayersList.PlayListNodeAdded += OnPlayListNodeAdded;
-			visitorPlayersList.PlayListNodeAdded += OnPlayListNodeAdded;
-			tagsList.PlayListNodeAdded += OnPlayListNodeAdded;
+			playsSelection.PlayListNodeAdded += OnPlayListNodeAdded;
 
 			/* Connect tags events */
-			playsList.TagPlay += EmitTagPlay;
+			playsSelection.TagPlay += EmitTagPlay;
 
 			/* Connect SnapshotSeries events */
-			playsList.SnapshotSeriesEvent += EmitSnapshotSeries;
-			localPlayersList.SnapshotSeriesEvent += EmitSnapshotSeries;
-			visitorPlayersList.SnapshotSeriesEvent += EmitSnapshotSeries;
-			tagsList.SnapshotSeriesEvent += EmitSnapshotSeries;
+			playsSelection.SnapshotSeries += EmitSnapshotSeries;
 
 			playlist.RenderPlaylistEvent += EmitRenderPlaylist;
-			playsList.RenderPlaylistEvent += EmitRenderPlaylist;
-			localPlayersList.RenderPlaylistEvent += EmitRenderPlaylist;
-			visitorPlayersList.RenderPlaylistEvent += EmitRenderPlaylist;
+			playsSelection.RenderPlaylist += EmitRenderPlaylist;
 			
 			renderingstatebar1.ManageJobs += (e, o) => {EmitManageJobs();};
 			
@@ -301,11 +278,6 @@ namespace LongoMatch.Gui
 			ProjectsManagerAction.Activated += (o, e) => {EmitManageProjects();};
 		}
 		
-		private void UpdateTeamsModels() {
-			localPlayersList.SetTeam(openedProject.LocalTeamTemplate, openedProject.AllPlays());
-			visitorPlayersList.SetTeam(openedProject.VisitorTeamTemplate, openedProject.AllPlays());
-		}
-		
 		void DetachPlayer (bool detach) {
 			if (detach == detachedPlayer)
 				return;
@@ -359,8 +331,6 @@ namespace LongoMatch.Gui
 			
 			/* Update tabs labels */
 			var desc = project.Description;
-			visitorteamlabel.Text = project.VisitorTeamTemplate.TeamName;
-			localteamlabel.Text = project.LocalTeamTemplate.TeamName;
 			
 			ExportProjectAction1.Sensitive = true;
 			
@@ -384,15 +354,7 @@ namespace LongoMatch.Gui
 			openedProject = project;
 			this.projectType = projectType;
 			
-			playsList.ProjectIsLive = isLive;
-			localPlayersList.ProjectIsLive = isLive;
-			visitorPlayersList.ProjectIsLive = isLive;
-			tagsList.ProjectIsLive = isLive;
-			playsList.Project=project;
-			tagsList.Project = project;
-			visitorPlayersList.Project = project;
-			localPlayersList.Project = project;
-			UpdateTeamsModels();
+			playsSelection.SetProject(project, isLive);
 			buttonswidget.Categories = project.Categories;
 			MakeActionsSensitive(true,projectType);
 			ShowWidgets();
@@ -462,11 +424,7 @@ namespace LongoMatch.Gui
 
 		private void ClearWidgets() {
 			buttonswidget.Categories = null;
-			playsList.Project = null;
-			tagsList.Clear();
-			timeline.Project = null;
-			localPlayersList.Clear();
-			visitorPlayersList.Clear();
+			playsSelection.Clear();
 		}
 
 		private bool PromptCloseProject() {
@@ -545,9 +503,7 @@ namespace LongoMatch.Gui
 		{
 			bool visible = (sender as Gtk.ToggleAction).Active;
 			playlist.Visible=visible;
-			playsList.PlayListLoaded=visible;
-			localPlayersList.PlayListLoaded=visible;
-			visitorPlayersList.PlayListLoaded=visible;
+			playsSelection.PlayListLoaded=visible;
 
 			if(!visible && !notes.Visible) {
 				rightvbox.Visible = false;
diff --git a/LongoMatch.GUI/PlaysSelectionWidget.cs b/LongoMatch.GUI/PlaysSelectionWidget.cs
new file mode 100644
index 0000000..5ea3d59
--- /dev/null
+++ b/LongoMatch.GUI/PlaysSelectionWidget.cs
@@ -0,0 +1,162 @@
+// 
+//  Copyright (C) 2012 Andoni Morales Alastruey
+// 
+//  This program is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU General Public License as published by
+//  the Free Software Foundation; either version 2 of the License, or
+//  (at your option) any later version.
+// 
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//  GNU General Public License for more details.
+//  
+//  You should have received a copy of the GNU General Public License
+//  along with this program; if not, write to the Free Software
+//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+// 
+using System;
+using System.Collections.Generic;
+
+using LongoMatch.Common;
+using LongoMatch.Handlers;
+using LongoMatch.Interfaces;
+using LongoMatch.Store;
+
+namespace LongoMatch.Gui.Component
+{
+	[System.ComponentModel.ToolboxItem(true)]
+	public partial class PlaysSelectionWidget : Gtk.Bin
+	{
+	
+		public event PlaysDeletedHandler PlaysDeleted;
+		public event PlaySelectedHandler PlaySelected;
+		public event PlayListNodeAddedHandler PlayListNodeAdded;
+		public event SnapshotSeriesHandler SnapshotSeries;
+		public event RenderPlaylistHandler RenderPlaylist;
+		public event TagPlayHandler TagPlay;
+		
+		Project project;
+		
+		public PlaysSelectionWidget ()
+		{
+			this.Build ();
+			localPlayersList.Team = Team.LOCAL;
+			visitorPlayersList.Team = Team.VISITOR;
+			ConnectSignals();
+		}
+		
+		#region Plubic Methods
+		
+		public void SetProject(Project project, bool isLive) {
+			this.project = project;
+			playsList.ProjectIsLive = isLive;
+			localPlayersList.ProjectIsLive = isLive;
+			visitorPlayersList.ProjectIsLive = isLive;
+			playsList.Project=project;
+			visitorPlayersList.Project = project;
+			localPlayersList.Project = project;
+			visitorPlaysList.LabelProp = project.VisitorTeamTemplate.TeamName;
+			localPlaysList.LabelProp = project.LocalTeamTemplate.TeamName;
+			UpdateTeamsModels();
+		}
+		
+		public void Clear() {
+			playsList.Project = null;
+			localPlayersList.Clear();
+			visitorPlayersList.Clear();
+		}
+		
+		public bool PlayListLoaded {
+			set {
+				playsList.PlayListLoaded = value;
+				localPlayersList.PlayListLoaded = value;
+				visitorPlayersList.PlayListLoaded = value;
+			}
+		}
+		
+		public ITemplatesService TemplatesService {
+			set {
+				playsList.TemplatesService = value;
+			}
+		}
+		
+		public void AddPlay(Play play) {
+			playsList.AddPlay(play);
+			UpdateTeamsModels();
+		}
+		
+		public void RemovePlays (List<Play> plays) {
+			playsList.RemovePlays(plays);
+			UpdateTeamsModels();
+		}
+		#endregion
+		
+		private void ConnectSignals() {
+			playsList.TimeNodeDeleted += EmitPlaysDeleted;
+
+			/* Connect TimeNodeSelected events */
+			playsList.TimeNodeSelected += EmitPlaySelected;
+			localPlayersList.TimeNodeSelected += EmitPlaySelected;
+			visitorPlayersList.TimeNodeSelected += EmitPlaySelected;
+
+			/* Connect PlayListNodeAdded events */
+			playsList.PlayListNodeAdded += EmitPlayListNodeAdded;
+			localPlayersList.PlayListNodeAdded += EmitPlayListNodeAdded;
+			visitorPlayersList.PlayListNodeAdded += EmitPlayListNodeAdded;
+
+			/* Connect tags events */
+			playsList.TagPlay += EmitTagPlay;
+
+			/* Connect SnapshotSeries events */
+			playsList.SnapshotSeriesEvent += EmitSnapshotSeries;
+			localPlayersList.SnapshotSeriesEvent += EmitSnapshotSeries;
+			visitorPlayersList.SnapshotSeriesEvent += EmitSnapshotSeries;
+
+			playsList.RenderPlaylistEvent += EmitRenderPlaylist;
+			localPlayersList.RenderPlaylistEvent += EmitRenderPlaylist;
+			visitorPlayersList.RenderPlaylistEvent += EmitRenderPlaylist;
+ 		}
+ 		
+		private void UpdateTeamsModels() {
+			localPlayersList.SetTeam(project.LocalTeamTemplate, project.AllPlays());
+			visitorPlayersList.SetTeam(project.VisitorTeamTemplate, project.AllPlays());
+		}
+		
+		private void EmitPlaysDeleted(List<Play> plays)
+		{
+			if (PlaysDeleted != null)
+				PlaysDeleted(plays);
+		}
+		
+		private void EmitPlaySelected(Play play)
+		{
+			if (PlaySelected != null)
+				PlaySelected(play);
+		}
+		
+		private void EmitSnapshotSeries(Play play)
+		{
+			if (SnapshotSeries != null)
+				SnapshotSeries(play);
+		}
+		
+		private void EmitRenderPlaylist(IPlayList playlist) {
+			if (RenderPlaylist != null)
+				RenderPlaylist(playlist);
+		}
+		
+		private void EmitPlayListNodeAdded(Play play)
+		{
+			if (PlayListNodeAdded != null)
+				PlayListNodeAdded(play);
+		}
+		
+		private void EmitTagPlay(Play play) {
+			if (TagPlay != null)
+				TagPlay (play);
+			UpdateTeamsModels();
+		}
+	}
+}
+
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.PlaysSelectionWidget.cs b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.PlaysSelectionWidget.cs
new file mode 100644
index 0000000..54a4ea2
--- /dev/null
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.PlaysSelectionWidget.cs
@@ -0,0 +1,69 @@
+
+// This file has been generated by the GUI designer. Do not modify.
+namespace LongoMatch.Gui.Component
+{
+	public partial class PlaysSelectionWidget
+	{
+		private global::Gtk.Notebook notebook1;
+		private global::LongoMatch.Gui.Component.PlaysListTreeWidget playsList;
+		private global::Gtk.Label playsList1;
+		private global::LongoMatch.Gui.Component.PlayersListTreeWidget localPlayersList;
+		private global::Gtk.Label localPlaysList;
+		private global::LongoMatch.Gui.Component.PlayersListTreeWidget visitorPlayersList;
+		private global::Gtk.Label visitorPlaysList;
+		
+		protected virtual void Build ()
+		{
+			global::Stetic.Gui.Initialize (this);
+			// Widget LongoMatch.Gui.Component.PlaysSelectionWidget
+			global::Stetic.BinContainer.Attach (this);
+			this.Name = "LongoMatch.Gui.Component.PlaysSelectionWidget";
+			// Container child LongoMatch.Gui.Component.PlaysSelectionWidget.Gtk.Container+ContainerChild
+			this.notebook1 = new global::Gtk.Notebook ();
+			this.notebook1.CanFocus = true;
+			this.notebook1.Name = "notebook1";
+			this.notebook1.CurrentPage = 2;
+			this.notebook1.TabPos = ((global::Gtk.PositionType)(3));
+			// Container child notebook1.Gtk.Notebook+NotebookChild
+			this.playsList = new global::LongoMatch.Gui.Component.PlaysListTreeWidget ();
+			this.playsList.Events = ((global::Gdk.EventMask)(256));
+			this.playsList.Name = "playsList";
+			this.notebook1.Add (this.playsList);
+			// Notebook tab
+			this.playsList1 = new global::Gtk.Label ();
+			this.playsList1.Name = "playsList1";
+			this.playsList1.LabelProp = global::Mono.Unix.Catalog.GetString ("Plays");
+			this.notebook1.SetTabLabel (this.playsList, this.playsList1);
+			this.playsList1.ShowAll ();
+			// Container child notebook1.Gtk.Notebook+NotebookChild
+			this.localPlayersList = new global::LongoMatch.Gui.Component.PlayersListTreeWidget ();
+			this.localPlayersList.Events = ((global::Gdk.EventMask)(256));
+			this.localPlayersList.Name = "localPlayersList";
+			this.notebook1.Add (this.localPlayersList);
+			global::Gtk.Notebook.NotebookChild w2 = ((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.localPlayersList]));
+			w2.Position = 1;
+			// Notebook tab
+			this.localPlaysList = new global::Gtk.Label ();
+			this.localPlaysList.Name = "localPlaysList";
+			this.notebook1.SetTabLabel (this.localPlayersList, this.localPlaysList);
+			this.localPlaysList.ShowAll ();
+			// Container child notebook1.Gtk.Notebook+NotebookChild
+			this.visitorPlayersList = new global::LongoMatch.Gui.Component.PlayersListTreeWidget ();
+			this.visitorPlayersList.Events = ((global::Gdk.EventMask)(256));
+			this.visitorPlayersList.Name = "visitorPlayersList";
+			this.notebook1.Add (this.visitorPlayersList);
+			global::Gtk.Notebook.NotebookChild w3 = ((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.visitorPlayersList]));
+			w3.Position = 2;
+			// Notebook tab
+			this.visitorPlaysList = new global::Gtk.Label ();
+			this.visitorPlaysList.Name = "visitorPlaysList";
+			this.notebook1.SetTabLabel (this.visitorPlayersList, this.visitorPlaysList);
+			this.visitorPlaysList.ShowAll ();
+			this.Add (this.notebook1);
+			if ((this.Child != null)) {
+				this.Child.ShowAll ();
+			}
+			this.Hide ();
+		}
+	}
+}
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs
index 26a1cff..781fd51 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs
@@ -38,15 +38,7 @@ namespace LongoMatch.Gui
 		private global::Gtk.MenuBar menubar1;
 		private global::Gtk.HPaned hpaned;
 		private global::Gtk.VBox leftbox;
-		private global::Gtk.Notebook notebook1;
-		private global::LongoMatch.Gui.Component.PlaysListTreeWidget playsList;
-		private global::Gtk.Label playslabel;
-		private global::LongoMatch.Gui.Component.PlayersListTreeWidget localPlayersList;
-		private global::Gtk.Label localteamlabel;
-		private global::LongoMatch.Gui.Component.PlayersListTreeWidget visitorPlayersList;
-		private global::Gtk.Label visitorteamlabel;
-		private global::LongoMatch.Gui.Component.TagsTreeWidget tagsList;
-		private global::Gtk.Label tagslabel;
+		private global::LongoMatch.Gui.Component.PlaysSelectionWidget playsSelection;
 		private global::Gtk.HPaned hpaned1;
 		private global::Gtk.VBox downbox;
 		private global::Gtk.HBox videowidgetsbox;
@@ -60,7 +52,7 @@ namespace LongoMatch.Gui
 		private global::LongoMatch.Gui.Component.PlayListWidget playlist;
 		private global::Gtk.Statusbar statusbar1;
 		private global::LongoMatch.Gui.Component.RenderingStateBar renderingstatebar1;
-        
+		
 		protected virtual void Build ()
 		{
 			global::Stetic.Gui.Initialize (this);
@@ -143,12 +135,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.TimelineViewAction.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);
@@ -197,74 +189,21 @@ namespace LongoMatch.Gui
 			this.hpaned = new global::Gtk.HPaned ();
 			this.hpaned.CanFocus = true;
 			this.hpaned.Name = "hpaned";
-			this.hpaned.Position = 161;
+			this.hpaned.Position = 276;
 			// Container child hpaned.Gtk.Paned+PanedChild
 			this.leftbox = new global::Gtk.VBox ();
 			this.leftbox.Name = "leftbox";
 			this.leftbox.Spacing = 6;
 			// Container child leftbox.Gtk.Box+BoxChild
-			this.notebook1 = new global::Gtk.Notebook ();
-			this.notebook1.CanFocus = true;
-			this.notebook1.Name = "notebook1";
-			this.notebook1.CurrentPage = 3;
-			this.notebook1.TabPos = ((global::Gtk.PositionType)(3));
-			// Container child notebook1.Gtk.Notebook+NotebookChild
-			this.playsList = new global::LongoMatch.Gui.Component.PlaysListTreeWidget ();
-			this.playsList.Events = ((global::Gdk.EventMask)(256));
-			this.playsList.Name = "playsList";
-			this.notebook1.Add (this.playsList);
-			// Notebook tab
-			this.playslabel = new global::Gtk.Label ();
-			this.playslabel.Name = "playslabel";
-			this.playslabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Plays");
-			this.notebook1.SetTabLabel (this.playsList, this.playslabel);
-			this.playslabel.ShowAll ();
-			// Container child notebook1.Gtk.Notebook+NotebookChild
-			this.localPlayersList = new global::LongoMatch.Gui.Component.PlayersListTreeWidget ();
-			this.localPlayersList.Events = ((global::Gdk.EventMask)(256));
-			this.localPlayersList.Name = "localPlayersList";
-			this.notebook1.Add (this.localPlayersList);
-			global::Gtk.Notebook.NotebookChild w5 = ((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.localPlayersList]));
-			w5.Position = 1;
-			// Notebook tab
-			this.localteamlabel = new global::Gtk.Label ();
-			this.localteamlabel.Name = "localteamlabel";
-			this.localteamlabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Local Team");
-			this.notebook1.SetTabLabel (this.localPlayersList, this.localteamlabel);
-			this.localteamlabel.ShowAll ();
-			// Container child notebook1.Gtk.Notebook+NotebookChild
-			this.visitorPlayersList = new global::LongoMatch.Gui.Component.PlayersListTreeWidget ();
-			this.visitorPlayersList.Events = ((global::Gdk.EventMask)(256));
-			this.visitorPlayersList.Name = "visitorPlayersList";
-			this.notebook1.Add (this.visitorPlayersList);
-			global::Gtk.Notebook.NotebookChild w6 = ((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.visitorPlayersList]));
-			w6.Position = 2;
-			// Notebook tab
-			this.visitorteamlabel = new global::Gtk.Label ();
-			this.visitorteamlabel.Name = "visitorteamlabel";
-			this.visitorteamlabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Visitor Team");
-			this.notebook1.SetTabLabel (this.visitorPlayersList, this.visitorteamlabel);
-			this.visitorteamlabel.ShowAll ();
-			// Container child notebook1.Gtk.Notebook+NotebookChild
-			this.tagsList = new global::LongoMatch.Gui.Component.TagsTreeWidget ();
-			this.tagsList.Sensitive = false;
-			this.tagsList.Events = ((global::Gdk.EventMask)(256));
-			this.tagsList.Name = "tagsList";
-			this.notebook1.Add (this.tagsList);
-			global::Gtk.Notebook.NotebookChild w7 = ((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.tagsList]));
-			w7.Position = 3;
-			// Notebook tab
-			this.tagslabel = new global::Gtk.Label ();
-			this.tagslabel.Name = "tagslabel";
-			this.tagslabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Tags");
-			this.notebook1.SetTabLabel (this.tagsList, this.tagslabel);
-			this.tagslabel.ShowAll ();
-			this.leftbox.Add (this.notebook1);
-			global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.leftbox [this.notebook1]));
-			w8.Position = 0;
+			this.playsSelection = new global::LongoMatch.Gui.Component.PlaysSelectionWidget ();
+			this.playsSelection.Events = ((global::Gdk.EventMask)(256));
+			this.playsSelection.Name = "playsSelection";
+			this.leftbox.Add (this.playsSelection);
+			global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.leftbox [this.playsSelection]));
+			w4.Position = 0;
 			this.hpaned.Add (this.leftbox);
-			global::Gtk.Paned.PanedChild w9 = ((global::Gtk.Paned.PanedChild)(this.hpaned [this.leftbox]));
-			w9.Resize = false;
+			global::Gtk.Paned.PanedChild w5 = ((global::Gtk.Paned.PanedChild)(this.hpaned [this.leftbox]));
+			w5.Resize = false;
 			// Container child hpaned.Gtk.Paned+PanedChild
 			this.hpaned1 = new global::Gtk.HPaned ();
 			this.hpaned1.CanFocus = true;
@@ -283,10 +222,10 @@ namespace LongoMatch.Gui
 			this.drawingtoolbox1.Events = ((global::Gdk.EventMask)(256));
 			this.drawingtoolbox1.Name = "drawingtoolbox1";
 			this.videowidgetsbox.Add (this.drawingtoolbox1);
-			global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.videowidgetsbox [this.drawingtoolbox1]));
-			w10.Position = 0;
-			w10.Expand = false;
-			w10.Fill = false;
+			global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.videowidgetsbox [this.drawingtoolbox1]));
+			w6.Position = 0;
+			w6.Expand = false;
+			w6.Fill = false;
 			// Container child videowidgetsbox.Gtk.Box+BoxChild
 			this.player = new global::LongoMatch.Gui.PlayerBin ();
 			this.player.Events = ((global::Gdk.EventMask)(256));
@@ -294,38 +233,38 @@ namespace LongoMatch.Gui
 			this.player.Rate = 1F;
 			this.player.ExpandLogo = true;
 			this.videowidgetsbox.Add (this.player);
-			global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.videowidgetsbox [this.player]));
-			w11.Position = 1;
+			global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.videowidgetsbox [this.player]));
+			w7.Position = 1;
 			// Container child videowidgetsbox.Gtk.Box+BoxChild
 			this.capturer = new global::LongoMatch.Gui.CapturerBin ();
 			this.capturer.Events = ((global::Gdk.EventMask)(256));
 			this.capturer.Name = "capturer";
 			this.videowidgetsbox.Add (this.capturer);
-			global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.videowidgetsbox [this.capturer]));
-			w12.Position = 2;
+			global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.videowidgetsbox [this.capturer]));
+			w8.Position = 2;
 			this.downbox.Add (this.videowidgetsbox);
-			global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.downbox [this.videowidgetsbox]));
-			w13.Position = 0;
+			global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.downbox [this.videowidgetsbox]));
+			w9.Position = 0;
 			// Container child downbox.Gtk.Box+BoxChild
 			this.buttonswidget = new global::LongoMatch.Gui.Component.ButtonsWidget ();
 			this.buttonswidget.Events = ((global::Gdk.EventMask)(256));
 			this.buttonswidget.Name = "buttonswidget";
 			this.downbox.Add (this.buttonswidget);
-			global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.downbox [this.buttonswidget]));
-			w14.Position = 1;
-			w14.Expand = false;
+			global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.downbox [this.buttonswidget]));
+			w10.Position = 1;
+			w10.Expand = false;
 			// Container child downbox.Gtk.Box+BoxChild
 			this.gameunitstaggerwidget1 = new global::LongoMatch.Gui.Component.GameUnitsTagger ();
 			this.gameunitstaggerwidget1.Events = ((global::Gdk.EventMask)(256));
 			this.gameunitstaggerwidget1.Name = "gameunitstaggerwidget1";
 			this.downbox.Add (this.gameunitstaggerwidget1);
-			global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.downbox [this.gameunitstaggerwidget1]));
-			w15.Position = 2;
-			w15.Expand = false;
+			global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.downbox [this.gameunitstaggerwidget1]));
+			w11.Position = 2;
+			w11.Expand = false;
 			this.hpaned1.Add (this.downbox);
-			global::Gtk.Paned.PanedChild w16 = ((global::Gtk.Paned.PanedChild)(this.hpaned1 [this.downbox]));
-			w16.Resize = false;
-			w16.Shrink = false;
+			global::Gtk.Paned.PanedChild w12 = ((global::Gtk.Paned.PanedChild)(this.hpaned1 [this.downbox]));
+			w12.Resize = false;
+			w12.Shrink = false;
 			// Container child hpaned1.Gtk.Paned+PanedChild
 			this.rightvbox = new global::Gtk.VBox ();
 			this.rightvbox.WidthRequest = 100;
@@ -336,27 +275,27 @@ namespace LongoMatch.Gui
 			this.notes.Events = ((global::Gdk.EventMask)(256));
 			this.notes.Name = "notes";
 			this.rightvbox.Add (this.notes);
-			global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.rightvbox [this.notes]));
-			w17.Position = 0;
+			global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.rightvbox [this.notes]));
+			w13.Position = 0;
 			// Container child rightvbox.Gtk.Box+BoxChild
 			this.playlist = new global::LongoMatch.Gui.Component.PlayListWidget ();
 			this.playlist.WidthRequest = 100;
 			this.playlist.Events = ((global::Gdk.EventMask)(256));
 			this.playlist.Name = "playlist";
 			this.rightvbox.Add (this.playlist);
-			global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.rightvbox [this.playlist]));
-			w18.Position = 1;
+			global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.rightvbox [this.playlist]));
+			w14.Position = 1;
 			this.hpaned1.Add (this.rightvbox);
-			global::Gtk.Paned.PanedChild w19 = ((global::Gtk.Paned.PanedChild)(this.hpaned1 [this.rightvbox]));
-			w19.Resize = false;
-			w19.Shrink = false;
+			global::Gtk.Paned.PanedChild w15 = ((global::Gtk.Paned.PanedChild)(this.hpaned1 [this.rightvbox]));
+			w15.Resize = false;
+			w15.Shrink = false;
 			this.hpaned.Add (this.hpaned1);
-			global::Gtk.Paned.PanedChild w20 = ((global::Gtk.Paned.PanedChild)(this.hpaned [this.hpaned1]));
-			w20.Resize = false;
-			w20.Shrink = false;
+			global::Gtk.Paned.PanedChild w16 = ((global::Gtk.Paned.PanedChild)(this.hpaned [this.hpaned1]));
+			w16.Resize = false;
+			w16.Shrink = false;
 			this.vbox1.Add (this.hpaned);
-			global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hpaned]));
-			w21.Position = 1;
+			global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hpaned]));
+			w17.Position = 1;
 			// Container child vbox1.Gtk.Box+BoxChild
 			this.statusbar1 = new global::Gtk.Statusbar ();
 			this.statusbar1.Name = "statusbar1";
@@ -367,15 +306,15 @@ namespace LongoMatch.Gui
 			this.renderingstatebar1.Name = "renderingstatebar1";
 			this.renderingstatebar1.Fraction = 0;
 			this.statusbar1.Add (this.renderingstatebar1);
-			global::Gtk.Box.BoxChild w22 = ((global::Gtk.Box.BoxChild)(this.statusbar1 [this.renderingstatebar1]));
-			w22.Position = 2;
-			w22.Expand = false;
-			w22.Fill = false;
+			global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.statusbar1 [this.renderingstatebar1]));
+			w18.Position = 2;
+			w18.Expand = false;
+			w18.Fill = false;
 			this.vbox1.Add (this.statusbar1);
-			global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.statusbar1]));
-			w23.Position = 2;
-			w23.Expand = false;
-			w23.Fill = false;
+			global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.statusbar1]));
+			w19.Position = 2;
+			w19.Expand = false;
+			w19.Fill = false;
 			this.Add (this.vbox1);
 			if ((this.Child != null)) {
 				this.Child.ShowAll ();
@@ -402,7 +341,6 @@ namespace LongoMatch.Gui
 			this.DrawingToolAction.Toggled += new global::System.EventHandler (this.OnDrawingToolActionToggled);
 			this.ManualTaggingViewAction.Toggled += new global::System.EventHandler (this.OnViewToggled);
 			this.GameUnitsViewAction.Toggled += new global::System.EventHandler (this.OnViewToggled);
-			this.playsList.TimeNodeSelected += new global::LongoMatch.Handlers.PlaySelectedHandler (this.OnTimeNodeSelected);
 			this.player.Error += new global::LongoMatch.Handlers.ErrorHandler (this.OnPlayerbin1Error);
 			this.player.SegmentClosedEvent += new global::LongoMatch.Handlers.SegmentClosedHandler (this.OnSegmentClosedEvent);
 			this.capturer.Error += new global::LongoMatch.Handlers.ErrorHandler (this.OnCapturerBinError);



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