[longomatch] Added templates export function and fix the mess with autogenereated code



commit babd307d48b38d9fa748c611f111afdbe1a4e297
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Wed Nov 25 02:38:56 2009 +0100

    Added templates export function and fix the mess with autogenereated code

 LongoMatch/AssemblyInfo.cs                         |   51 ------------------
 LongoMatch/Gui/Component/ProjectDetailsWidget.cs   |    3 +-
 LongoMatch/Gui/Component/ProjectTemplateWidget.cs  |   38 ++++++++++++++
 .../Gui/Dialog/ProjectTemplateEditorDialog.cs      |   13 ++++-
 LongoMatch/Gui/Dialog/TemplatesEditor.cs           |    1 +
 LongoMatch/LongoMatch.mdp                          |    1 +
 .../LongoMatch.Gui.Component.CategoryProperties.cs |    6 ++-
 .../LongoMatch.Gui.Component.DrawingToolBox.cs     |    2 -
 .../LongoMatch.Gui.Component.PlayListWidget.cs     |    8 +++-
 ...ngoMatch.Gui.Component.PlayersListTreeWidget.cs |    8 +++-
 ...LongoMatch.Gui.Component.PlaysListTreeWidget.cs |   10 +++-
 ...ngoMatch.Gui.Component.ProjectTemplateWidget.cs |   54 ++++++++++++++++++--
 .../LongoMatch.Gui.Component.TeamTemplateWidget.cs |    6 ++-
 .../gtk-gui/LongoMatch.Gui.Dialog.DrawingTool.cs   |   24 ++++++---
 .../LongoMatch.Gui.Dialog.EditCategoryDialog.cs    |    6 ++-
 .../LongoMatch.Gui.Dialog.EditPlayerDialog.cs      |    4 +-
 .../LongoMatch.Gui.Dialog.NewProjectDialog.cs      |    7 ++-
 .../LongoMatch.Gui.Dialog.OpenProjectDialog.cs     |    4 +-
 ...Match.Gui.Dialog.ProjectTemplateEditorDialog.cs |   13 +++--
 .../LongoMatch.Gui.Dialog.ProjectsManager.cs       |   15 +++++-
 .../LongoMatch.Gui.Dialog.TeamTemplateEditor.cs    |    5 ++-
 .../LongoMatch.Gui.Dialog.TemplatesManager.cs      |   14 ++++-
 LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs    |   42 ++++++++++++---
 LongoMatch/gtk-gui/gui.stetic                      |   39 +++++++++++++--
 LongoMatch/gtk-gui/objects.xml                     |   52 +++++++++---------
 25 files changed, 299 insertions(+), 127 deletions(-)
---
diff --git a/LongoMatch/Gui/Component/ProjectDetailsWidget.cs b/LongoMatch/Gui/Component/ProjectDetailsWidget.cs
index 272bc4d..541534e 100644
--- a/LongoMatch/Gui/Component/ProjectDetailsWidget.cs
+++ b/LongoMatch/Gui/Component/ProjectDetailsWidget.cs
@@ -416,7 +416,7 @@ namespace LongoMatch.Gui.Component
 			ted.TransientFor = (Window)Toplevel;
 			ted.Sections = Sections;
 			ted.Project = project;
-
+			ted.CanExport = Use == ProjectType.EditProject;
 			if (ted.Run() == (int)ResponseType.Apply) {
 				this.Sections = ted.Sections;
 			}
@@ -429,6 +429,7 @@ namespace LongoMatch.Gui.Component
 			tted.TransientFor = (Window)Toplevel;
 			tted.Title=Catalog.GetString("Local Team Template");
 			tted.SetTeamTemplate(LocalTeamTemplate);
+			
 			if (tted.Run() == (int)ResponseType.Apply) {
 				LocalTeamTemplate = tted.GetTeamTemplate();
 			}
diff --git a/LongoMatch/Gui/Component/ProjectTemplateWidget.cs b/LongoMatch/Gui/Component/ProjectTemplateWidget.cs
index 4da1e38..63e0b5e 100644
--- a/LongoMatch/Gui/Component/ProjectTemplateWidget.cs
+++ b/LongoMatch/Gui/Component/ProjectTemplateWidget.cs
@@ -17,6 +17,7 @@
 //
 //
 using System;
+using System.IO;
 using System.Collections.Generic;
 using Gtk;
 using Mono.Unix;
@@ -24,6 +25,7 @@ using Gdk;
 using LongoMatch.DB;
 using LongoMatch.TimeNodes;
 using LongoMatch.Gui.Dialog;
+using LongoMatch.IO;
 
 
 namespace LongoMatch.Gui.Component
@@ -72,6 +74,12 @@ namespace LongoMatch.Gui.Component
 			}
 		}
 
+		public bool CanExport{
+			set{
+				hseparator1.Visible = value;
+				exportbutton.Visible = value;
+			}
+		}
 		public bool Edited {
 			get {
 				return edited;
@@ -147,6 +155,10 @@ namespace LongoMatch.Gui.Component
 			dialog.Destroy();
 			edited = true;
 		}
+		
+		private void SaveTemplate(string templateName){
+			SectionsWriter.UpdateTemplate(templateName+".sct", Sections);
+		}
 
 		protected virtual void OnNewAfter(object sender, EventArgs args) {
 			AddSection(sections.SectionsTimeNodes.IndexOf(selectedSection)+1);
@@ -180,5 +192,31 @@ namespace LongoMatch.Gui.Component
 			if (args.Event.Key == Gdk.Key.Delete && selectedSection != null)
 				RemoveSection(sections.SectionsTimeNodes.IndexOf(selectedSection));
 		}
+
+		protected virtual void OnExportbuttonClicked (object sender, System.EventArgs e)
+		{
+			EntryDialog dialog = new EntryDialog();
+			dialog.TransientFor = (Gtk.Window)this.Toplevel;
+			dialog.ShowCount = false;
+			dialog.Text = Catalog.GetString("newtemplate");
+			if (dialog.Run() == (int)ResponseType.Ok){
+				if (dialog.Text == "")
+					MessagePopup.PopupMessage(dialog, MessageType.Error,
+					                          Catalog.GetString("The template name is void."));
+				else if (File.Exists(System.IO.Path.Combine(MainClass.TemplatesDir(),dialog.Text+".sct"))){
+					MessageDialog md = new MessageDialog(null,
+					                                     DialogFlags.Modal,
+					                                     MessageType.Question,
+					                                     Gtk.ButtonsType.YesNo,
+					                                     Catalog.GetString("The template already exists.Do you want to overwrite it ")
+					                                   );
+					if (md.Run() == (int)ResponseType.Yes)
+						SaveTemplate(dialog.Text);
+					md.Destroy();
+				}					
+				else SaveTemplate(dialog.Text);
+			}	
+			dialog.Destroy();
+		}
 	}
 }
diff --git a/LongoMatch/Gui/Dialog/ProjectTemplateEditorDialog.cs b/LongoMatch/Gui/Dialog/ProjectTemplateEditorDialog.cs
index 144cc49..5e41084 100644
--- a/LongoMatch/Gui/Dialog/ProjectTemplateEditorDialog.cs
+++ b/LongoMatch/Gui/Dialog/ProjectTemplateEditorDialog.cs
@@ -31,20 +31,27 @@ namespace LongoMatch.Gui.Dialog
 		public ProjectTemplateEditorDialog()
 		{
 			this.Build();
+			projecttemplatewidget.CanExport = true;
 		}
 
 		public Project Project {
 			set {
-				sectionspropertieswidget3.SetProject(value);
+				projecttemplatewidget.SetProject(value);
 			}
 		}
 
 		public Sections Sections {
 			set {
-				this.sectionspropertieswidget3.Sections=value;
+				projecttemplatewidget.Sections=value;
 			}
 			get {
-				return this.sectionspropertieswidget3.Sections;
+				return projecttemplatewidget.Sections;
+			}
+		}
+		
+		public bool CanExport{
+			set{
+				projecttemplatewidget.CanExport = value;
 			}
 		}
 
diff --git a/LongoMatch/Gui/Dialog/TemplatesEditor.cs b/LongoMatch/Gui/Dialog/TemplatesEditor.cs
index df8e875..3f6feed 100644
--- a/LongoMatch/Gui/Dialog/TemplatesEditor.cs
+++ b/LongoMatch/Gui/Dialog/TemplatesEditor.cs
@@ -58,6 +58,7 @@ namespace LongoMatch.Gui.Dialog
 			templateFileColumn.SetCellDataFunc(templateFileCell, new Gtk.TreeCellDataFunc(RenderTemplateFile));
 			treeview.AppendColumn(templateFileColumn);
 			Use = type;
+			sectionspropertieswidget1.CanExport = false;
 		}
 
 		public UseType Use {
diff --git a/LongoMatch/LongoMatch.mdp b/LongoMatch/LongoMatch.mdp
index c6a0bc1..49c0834 100644
--- a/LongoMatch/LongoMatch.mdp
+++ b/LongoMatch/LongoMatch.mdp
@@ -168,6 +168,7 @@
     <File name="images/stock_draw-line-45.png" subtype="Code" buildaction="EmbedAsResource" />
     <File name="images/stock_draw-line-ends-with-arrow.png" subtype="Code" buildaction="EmbedAsResource" />
     <File name="images/stock_draw-rectangle-unfilled.png" subtype="Code" buildaction="EmbedAsResource" />
+    <File name="Common/Enums.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/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs
index fb696ee..51df543 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs
@@ -71,7 +71,9 @@ namespace LongoMatch.Gui.Component {
             w3.Position = 0;
             w3.Fill = false;
             // Container child vbox3.Gtk.Box+BoxChild
-            this.timeadjustwidget1 = null;
+            this.timeadjustwidget1 = new LongoMatch.Gui.Component.TimeAdjustWidget();
+            this.timeadjustwidget1.Events = ((Gdk.EventMask)(256));
+            this.timeadjustwidget1.Name = "timeadjustwidget1";
             this.vbox3.Add(this.timeadjustwidget1);
             Gtk.Box.BoxChild w4 = ((Gtk.Box.BoxChild)(this.vbox3[this.timeadjustwidget1]));
             w4.Position = 1;
@@ -141,6 +143,8 @@ namespace LongoMatch.Gui.Component {
             }
             this.Show();
             this.nameentry.Changed += new System.EventHandler(this.OnNameentryChanged);
+            this.timeadjustwidget1.LeadTimeChanged += new System.EventHandler(this.OnTimeadjustwidget1LeadTimeChanged);
+            this.timeadjustwidget1.LagTimeChanged += new System.EventHandler(this.OnTimeadjustwidget1LagTimeChanged);
             this.colorbutton1.ColorSet += new System.EventHandler(this.OnColorbutton1ColorSet);
             this.changebuton.Clicked += new System.EventHandler(this.OnChangebutonClicked);
         }
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.DrawingToolBox.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.DrawingToolBox.cs
index 6c871c9..3f33f36 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.DrawingToolBox.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.DrawingToolBox.cs
@@ -100,7 +100,6 @@ namespace LongoMatch.Gui.Component {
             this.circlebutton = new Gtk.RadioButton("");
             this.circlebutton.CanFocus = true;
             this.circlebutton.Name = "circlebutton";
-            this.circlebutton.Active = true;
             this.circlebutton.DrawIndicator = false;
             this.circlebutton.UseUnderline = true;
             this.circlebutton.Group = new GLib.SList(System.IntPtr.Zero);
@@ -279,7 +278,6 @@ namespace LongoMatch.Gui.Component {
             // Container child colorstable.Gtk.Table+TableChild
             this.bbutton = new Gtk.RadioButton("");
             this.bbutton.Name = "bbutton";
-            this.bbutton.Active = true;
             this.bbutton.DrawIndicator = false;
             this.bbutton.UseUnderline = true;
             this.bbutton.FocusOnClick = false;
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlayListWidget.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlayListWidget.cs
index d993aa6..22d9cf2 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlayListWidget.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlayListWidget.cs
@@ -67,7 +67,11 @@ namespace LongoMatch.Gui.Component {
             w2.Expand = false;
             w2.Fill = false;
             // Container child vbox1.Gtk.Box+BoxChild
-            this.playlisttreeview1 = null;
+            this.playlisttreeview1 = new LongoMatch.Gui.Component.PlayListTreeView();
+            this.playlisttreeview1.Sensitive = false;
+            this.playlisttreeview1.CanFocus = true;
+            this.playlisttreeview1.Name = "playlisttreeview1";
+            this.playlisttreeview1.Reorderable = true;
             this.vbox1.Add(this.playlisttreeview1);
             Gtk.Box.BoxChild w3 = ((Gtk.Box.BoxChild)(this.vbox1[this.playlisttreeview1]));
             w3.Position = 1;
@@ -202,6 +206,8 @@ namespace LongoMatch.Gui.Component {
             }
             this.closebutton.Hide();
             this.Show();
+            this.playlisttreeview1.RowActivated += new Gtk.RowActivatedHandler(this.OnPlaylisttreeview1RowActivated);
+            this.playlisttreeview1.DragEnd += new Gtk.DragEndHandler(this.OnPlaylisttreeview1DragEnd);
             this.newbutton.Clicked += new System.EventHandler(this.OnNewbuttonClicked);
             this.openbutton.Clicked += new System.EventHandler(this.OnOpenbuttonClicked);
             this.savebutton.Clicked += new System.EventHandler(this.OnSavebuttonClicked);
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlayersListTreeWidget.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlayersListTreeWidget.cs
index d5eac8f..346af47 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlayersListTreeWidget.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlayersListTreeWidget.cs
@@ -28,13 +28,19 @@ namespace LongoMatch.Gui.Component {
             this.scrolledwindow1.Name = "scrolledwindow1";
             this.scrolledwindow1.ShadowType = ((Gtk.ShadowType)(1));
             // Container child scrolledwindow1.Gtk.Container+ContainerChild
-            this.playerstreeview = null;
+            this.playerstreeview = new LongoMatch.Gui.Component.PlayersTreeView();
+            this.playerstreeview.CanFocus = true;
+            this.playerstreeview.Name = "playerstreeview";
             this.scrolledwindow1.Add(this.playerstreeview);
             this.Add(this.scrolledwindow1);
             if ((this.Child != null)) {
                 this.Child.ShowAll();
             }
             this.Show();
+            this.playerstreeview.TimeNodeSelected += new LongoMatch.Handlers.TimeNodeSelectedHandler(this.OnTimeNodeSelected);
+            this.playerstreeview.SnapshotSeriesEvent += new LongoMatch.Handlers.SnapshotSeriesHandler(this.OnSnapshotSeriesEvent);
+            this.playerstreeview.TimeNodeChanged += new LongoMatch.Handlers.TimeNodeChangedHandler(this.OnTimeNodeChanged);
+            this.playerstreeview.PlayListNodeAdded += new LongoMatch.Handlers.PlayListNodeAddedHandler(this.OnPlayerstreeviewPlayListNodeAdded);
         }
     }
 }
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlaysListTreeWidget.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlaysListTreeWidget.cs
index e539aa8..2f940ea 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlaysListTreeWidget.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.PlaysListTreeWidget.cs
@@ -30,7 +30,9 @@ namespace LongoMatch.Gui.Component {
             Gtk.Viewport w1 = new Gtk.Viewport();
             w1.ShadowType = ((Gtk.ShadowType)(0));
             // Container child GtkViewport.Gtk.Container+ContainerChild
-            this.treeview = null;
+            this.treeview = new LongoMatch.Gui.Component.PlaysTreeView();
+            this.treeview.CanFocus = true;
+            this.treeview.Name = "treeview";
             w1.Add(this.treeview);
             this.scrolledwindow1.Add(w1);
             this.Add(this.scrolledwindow1);
@@ -38,6 +40,12 @@ namespace LongoMatch.Gui.Component {
                 this.Child.ShowAll();
             }
             this.Show();
+            this.treeview.TimeNodeChanged += new LongoMatch.Handlers.TimeNodeChangedHandler(this.OnTimeNodeChanged);
+            this.treeview.TimeNodeSelected += new LongoMatch.Handlers.TimeNodeSelectedHandler(this.OnTimeNodeSelected);
+            this.treeview.TimeNodeDeleted += new LongoMatch.Handlers.TimeNodeDeletedHandler(this.OnTimeNodeDeleted);
+            this.treeview.PlayListNodeAdded += new LongoMatch.Handlers.PlayListNodeAddedHandler(this.OnPlayListNodeAdded);
+            this.treeview.SnapshotSeriesEvent += new LongoMatch.Handlers.SnapshotSeriesHandler(this.OnTreeviewSnapshotSeriesEvent);
+            this.treeview.PlayersTagged += new LongoMatch.Handlers.PlayersTaggedHandler(this.OnTreeviewPlayersTagged);
         }
     }
 }
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.ProjectTemplateWidget.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.ProjectTemplateWidget.cs
index 9a42831..b749214 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.ProjectTemplateWidget.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.ProjectTemplateWidget.cs
@@ -29,6 +29,10 @@ namespace LongoMatch.Gui.Component {
         
         private Gtk.Button editbutton;
         
+        private Gtk.HSeparator hseparator1;
+        
+        private Gtk.Button exportbutton;
+        
         protected virtual void Build() {
             Stetic.Gui.Initialize(this);
             // Widget LongoMatch.Gui.Component.ProjectTemplateWidget
@@ -44,7 +48,9 @@ namespace LongoMatch.Gui.Component {
             this.scrolledwindow2.Name = "scrolledwindow2";
             this.scrolledwindow2.ShadowType = ((Gtk.ShadowType)(1));
             // Container child scrolledwindow2.Gtk.Container+ContainerChild
-            this.sectionstreeview1 = null;
+            this.sectionstreeview1 = new LongoMatch.Gui.Component.CategoriesTreeView();
+            this.sectionstreeview1.CanFocus = true;
+            this.sectionstreeview1.Name = "sectionstreeview1";
             this.scrolledwindow2.Add(this.sectionstreeview1);
             this.hbox1.Add(this.scrolledwindow2);
             Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(this.hbox1[this.scrolledwindow2]));
@@ -161,22 +167,62 @@ namespace LongoMatch.Gui.Component {
             w38.Position = 3;
             w38.Expand = false;
             w38.Fill = false;
-            this.hbox1.Add(this.vbox2);
-            Gtk.Box.BoxChild w39 = ((Gtk.Box.BoxChild)(this.hbox1[this.vbox2]));
-            w39.Position = 1;
+            // Container child vbox2.Gtk.Box+BoxChild
+            this.hseparator1 = new Gtk.HSeparator();
+            this.hseparator1.Name = "hseparator1";
+            this.vbox2.Add(this.hseparator1);
+            Gtk.Box.BoxChild w39 = ((Gtk.Box.BoxChild)(this.vbox2[this.hseparator1]));
+            w39.Position = 4;
             w39.Expand = false;
             w39.Fill = false;
+            // Container child vbox2.Gtk.Box+BoxChild
+            this.exportbutton = new Gtk.Button();
+            this.exportbutton.CanFocus = true;
+            this.exportbutton.Name = "exportbutton";
+            this.exportbutton.UseUnderline = true;
+            // Container child exportbutton.Gtk.Container+ContainerChild
+            Gtk.Alignment w40 = new Gtk.Alignment(0.5F, 0.5F, 0F, 0F);
+            // Container child GtkAlignment.Gtk.Container+ContainerChild
+            Gtk.HBox w41 = new Gtk.HBox();
+            w41.Spacing = 2;
+            // Container child GtkHBox.Gtk.Container+ContainerChild
+            Gtk.Image w42 = new Gtk.Image();
+            w42.Pixbuf = Stetic.IconLoader.LoadIcon(this, "gtk-save-as", Gtk.IconSize.Menu, 16);
+            w41.Add(w42);
+            // Container child GtkHBox.Gtk.Container+ContainerChild
+            Gtk.Label w44 = new Gtk.Label();
+            w44.LabelProp = Mono.Unix.Catalog.GetString("Export");
+            w44.UseUnderline = true;
+            w41.Add(w44);
+            w40.Add(w41);
+            this.exportbutton.Add(w40);
+            this.vbox2.Add(this.exportbutton);
+            Gtk.Box.BoxChild w48 = ((Gtk.Box.BoxChild)(this.vbox2[this.exportbutton]));
+            w48.PackType = ((Gtk.PackType)(1));
+            w48.Position = 5;
+            w48.Expand = false;
+            w48.Fill = false;
+            this.hbox1.Add(this.vbox2);
+            Gtk.Box.BoxChild w49 = ((Gtk.Box.BoxChild)(this.hbox1[this.vbox2]));
+            w49.Position = 1;
+            w49.Expand = false;
+            w49.Fill = false;
             this.Add(this.hbox1);
             if ((this.Child != null)) {
                 this.Child.ShowAll();
             }
+            this.hseparator1.Hide();
+            this.exportbutton.Hide();
             this.Show();
             this.KeyPressEvent += new Gtk.KeyPressEventHandler(this.OnKeyPressEvent);
+            this.sectionstreeview1.SectionClicked += new LongoMatch.Gui.Component.SectionHandler(this.OnSectionstreeview1SectionClicked);
+            this.sectionstreeview1.SectionSelected += new LongoMatch.Gui.Component.SectionHandler(this.OnSectionstreeview1SectionSelected);
             this.newprevbutton.Clicked += new System.EventHandler(this.OnNewBefore);
             this.newafterbutton.Clicked += new System.EventHandler(this.OnNewAfter);
             this.newafterbutton.Activated += new System.EventHandler(this.OnNewBefore);
             this.removebutton.Clicked += new System.EventHandler(this.OnRemove);
             this.editbutton.Clicked += new System.EventHandler(this.OnEdit);
+            this.exportbutton.Clicked += new System.EventHandler(this.OnExportbuttonClicked);
         }
     }
 }
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.TeamTemplateWidget.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.TeamTemplateWidget.cs
index b71ae2f..b52f120 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.TeamTemplateWidget.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.TeamTemplateWidget.cs
@@ -34,7 +34,9 @@ namespace LongoMatch.Gui.Component {
             this.scrolledwindow2.Name = "scrolledwindow2";
             this.scrolledwindow2.ShadowType = ((Gtk.ShadowType)(1));
             // Container child scrolledwindow2.Gtk.Container+ContainerChild
-            this.playerpropertiestreeview1 = null;
+            this.playerpropertiestreeview1 = new LongoMatch.Gui.Component.PlayerPropertiesTreeView();
+            this.playerpropertiestreeview1.CanFocus = true;
+            this.playerpropertiestreeview1.Name = "playerpropertiestreeview1";
             this.scrolledwindow2.Add(this.playerpropertiestreeview1);
             this.hbox1.Add(this.scrolledwindow2);
             Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(this.hbox1[this.scrolledwindow2]));
@@ -44,6 +46,8 @@ namespace LongoMatch.Gui.Component {
                 this.Child.ShowAll();
             }
             this.Hide();
+            this.playerpropertiestreeview1.PlayerClicked += new LongoMatch.Gui.Component.PlayerPropertiesHandler(this.OnPlayerpropertiestreeview1PlayerClicked);
+            this.playerpropertiestreeview1.PlayerSelected += new LongoMatch.Gui.Component.PlayerPropertiesHandler(this.OnPlayerpropertiestreeview1PlayerSelected);
         }
     }
 }
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.DrawingTool.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.DrawingTool.cs
index d7177f5..c8f35ab 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.DrawingTool.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.DrawingTool.cs
@@ -52,7 +52,9 @@ namespace LongoMatch.Gui.Dialog {
             this.vbox2.Name = "vbox2";
             this.vbox2.Spacing = 6;
             // Container child vbox2.Gtk.Box+BoxChild
-            this.drawingtoolbox1 = null;
+            this.drawingtoolbox1 = new LongoMatch.Gui.Component.DrawingToolBox();
+            this.drawingtoolbox1.Events = ((Gdk.EventMask)(256));
+            this.drawingtoolbox1.Name = "drawingtoolbox1";
             this.vbox2.Add(this.drawingtoolbox1);
             Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(this.vbox2[this.drawingtoolbox1]));
             w2.Position = 0;
@@ -65,14 +67,14 @@ namespace LongoMatch.Gui.Dialog {
             this.savetoprojectbutton.UseUnderline = true;
             // Container child savetoprojectbutton.Gtk.Container+ContainerChild
             Gtk.Alignment w3 = new Gtk.Alignment(0.5F, 0.5F, 0F, 0F);
-            // Container child GtkAlignment1.Gtk.Container+ContainerChild
+            // Container child GtkAlignment2.Gtk.Container+ContainerChild
             Gtk.HBox w4 = new Gtk.HBox();
             w4.Spacing = 2;
-            // Container child GtkHBox1.Gtk.Container+ContainerChild
+            // Container child GtkHBox3.Gtk.Container+ContainerChild
             Gtk.Image w5 = new Gtk.Image();
             w5.Pixbuf = Stetic.IconLoader.LoadIcon(this, "gtk-save", Gtk.IconSize.Menu, 16);
             w4.Add(w5);
-            // Container child GtkHBox1.Gtk.Container+ContainerChild
+            // Container child GtkHBox3.Gtk.Container+ContainerChild
             Gtk.Label w7 = new Gtk.Label();
             w7.LabelProp = Mono.Unix.Catalog.GetString("Save to Project");
             w7.UseUnderline = true;
@@ -92,14 +94,14 @@ namespace LongoMatch.Gui.Dialog {
             this.savebutton.UseUnderline = true;
             // Container child savebutton.Gtk.Container+ContainerChild
             Gtk.Alignment w12 = new Gtk.Alignment(0.5F, 0.5F, 0F, 0F);
-            // Container child GtkAlignment.Gtk.Container+ContainerChild
+            // Container child GtkAlignment1.Gtk.Container+ContainerChild
             Gtk.HBox w13 = new Gtk.HBox();
             w13.Spacing = 2;
-            // Container child GtkHBox.Gtk.Container+ContainerChild
+            // Container child GtkHBox2.Gtk.Container+ContainerChild
             Gtk.Image w14 = new Gtk.Image();
             w14.Pixbuf = Stetic.IconLoader.LoadIcon(this, "gtk-save", Gtk.IconSize.Menu, 16);
             w13.Add(w14);
-            // Container child GtkHBox.Gtk.Container+ContainerChild
+            // Container child GtkHBox2.Gtk.Container+ContainerChild
             Gtk.Label w16 = new Gtk.Label();
             w16.LabelProp = Mono.Unix.Catalog.GetString("Save to File");
             w16.UseUnderline = true;
@@ -118,7 +120,9 @@ namespace LongoMatch.Gui.Dialog {
             w21.Expand = false;
             w21.Fill = false;
             // Container child hbox1.Gtk.Box+BoxChild
-            this.drawingwidget1 = null;
+            this.drawingwidget1 = new LongoMatch.Gui.Component.DrawingWidget();
+            this.drawingwidget1.Events = ((Gdk.EventMask)(256));
+            this.drawingwidget1.Name = "drawingwidget1";
             this.hbox1.Add(this.drawingwidget1);
             Gtk.Box.BoxChild w22 = ((Gtk.Box.BoxChild)(this.hbox1[this.drawingwidget1]));
             w22.Position = 1;
@@ -149,6 +153,10 @@ namespace LongoMatch.Gui.Dialog {
             this.savetoprojectbutton.Hide();
             this.button271.Hide();
             this.Show();
+            this.drawingtoolbox1.LineWidthChanged += new LongoMatch.Handlers.LineWidthChangedHandler(this.OnDrawingtoolbox1LineWidthChanged);
+            this.drawingtoolbox1.ColorChanged += new LongoMatch.Handlers.ColorChangedHandler(this.OnDrawingtoolbox1ColorChanged);
+            this.drawingtoolbox1.VisibilityChanged += new LongoMatch.Handlers.VisibilityChangedHandler(this.OnDrawingtoolbox1VisibilityChanged);
+            this.drawingtoolbox1.ClearDrawing += new LongoMatch.Handlers.ClearDrawingHandler(this.OnDrawingtoolbox1ClearDrawing);
             this.savebutton.Clicked += new System.EventHandler(this.OnSavebuttonClicked);
             this.savetoprojectbutton.Clicked += new System.EventHandler(this.OnSavetoprojectbuttonClicked);
         }
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.EditCategoryDialog.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.EditCategoryDialog.cs
index 7e94653..3d59b92 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.EditCategoryDialog.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.EditCategoryDialog.cs
@@ -31,7 +31,9 @@ namespace LongoMatch.Gui.Dialog {
             w1.Name = "dialog1_VBox";
             w1.BorderWidth = ((uint)(2));
             // Container child dialog1_VBox.Gtk.Box+BoxChild
-            this.timenodeproperties2 = null;
+            this.timenodeproperties2 = new LongoMatch.Gui.Component.CategoryProperties();
+            this.timenodeproperties2.Events = ((Gdk.EventMask)(256));
+            this.timenodeproperties2.Name = "timenodeproperties2";
             w1.Add(this.timenodeproperties2);
             Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(w1[this.timenodeproperties2]));
             w2.Position = 0;
@@ -57,7 +59,7 @@ namespace LongoMatch.Gui.Dialog {
                 this.Child.ShowAll();
             }
             this.DefaultWidth = 264;
-            this.DefaultHeight = 137;
+            this.DefaultHeight = 153;
             this.Show();
         }
     }
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.EditPlayerDialog.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.EditPlayerDialog.cs
index 7db916d..b2caa93 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.EditPlayerDialog.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.EditPlayerDialog.cs
@@ -33,7 +33,9 @@ namespace LongoMatch.Gui.Dialog {
             w1.Name = "dialog1_VBox";
             w1.BorderWidth = ((uint)(2));
             // Container child dialog1_VBox.Gtk.Box+BoxChild
-            this.playerproperties1 = null;
+            this.playerproperties1 = new LongoMatch.Gui.Component.PlayerProperties();
+            this.playerproperties1.Events = ((Gdk.EventMask)(256));
+            this.playerproperties1.Name = "playerproperties1";
             w1.Add(this.playerproperties1);
             Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(w1[this.playerproperties1]));
             w2.Position = 0;
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.NewProjectDialog.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.NewProjectDialog.cs
index 1977a4b..8d4e917 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.NewProjectDialog.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.NewProjectDialog.cs
@@ -36,7 +36,12 @@ namespace LongoMatch.Gui.Dialog {
             w1.Name = "dialog1_VBox";
             w1.BorderWidth = ((uint)(2));
             // Container child dialog1_VBox.Gtk.Box+BoxChild
-            this.fdwidget = null;
+            this.fdwidget = new LongoMatch.Gui.Component.ProjectDetailsWidget();
+            this.fdwidget.Name = "fdwidget";
+            this.fdwidget.Edited = false;
+            this.fdwidget.LocalGoals = 0;
+            this.fdwidget.VisitorGoals = 0;
+            this.fdwidget.Date = new System.DateTime(0);
             w1.Add(this.fdwidget);
             Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(w1[this.fdwidget]));
             w2.Position = 0;
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.OpenProjectDialog.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.OpenProjectDialog.cs
index e3b6cee..c67f295 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.OpenProjectDialog.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.OpenProjectDialog.cs
@@ -36,7 +36,9 @@ namespace LongoMatch.Gui.Dialog {
             w1.Name = "dialog1_VBox";
             w1.BorderWidth = ((uint)(2));
             // Container child dialog1_VBox.Gtk.Box+BoxChild
-            this.projectlistwidget = null;
+            this.projectlistwidget = new LongoMatch.Gui.Component.ProjectListWidget();
+            this.projectlistwidget.Events = ((Gdk.EventMask)(256));
+            this.projectlistwidget.Name = "projectlistwidget";
             w1.Add(this.projectlistwidget);
             Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(w1[this.projectlistwidget]));
             w2.Position = 0;
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.ProjectTemplateEditorDialog.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.ProjectTemplateEditorDialog.cs
index 380fa5c..ea3f7d5 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.ProjectTemplateEditorDialog.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.ProjectTemplateEditorDialog.cs
@@ -13,7 +13,7 @@ namespace LongoMatch.Gui.Dialog {
     
     public partial class ProjectTemplateEditorDialog {
         
-        private LongoMatch.Gui.Component.ProjectTemplateWidget sectionspropertieswidget3;
+        private LongoMatch.Gui.Component.ProjectTemplateWidget projecttemplatewidget;
         
         private Gtk.Button buttonOk;
         
@@ -34,9 +34,12 @@ namespace LongoMatch.Gui.Dialog {
             w1.Name = "dialog1_VBox";
             w1.BorderWidth = ((uint)(2));
             // Container child dialog1_VBox.Gtk.Box+BoxChild
-            this.sectionspropertieswidget3 = null;
-            w1.Add(this.sectionspropertieswidget3);
-            Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(w1[this.sectionspropertieswidget3]));
+            this.projecttemplatewidget = new LongoMatch.Gui.Component.ProjectTemplateWidget();
+            this.projecttemplatewidget.Events = ((Gdk.EventMask)(256));
+            this.projecttemplatewidget.Name = "projecttemplatewidget";
+            this.projecttemplatewidget.Edited = false;
+            w1.Add(this.projecttemplatewidget);
+            Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(w1[this.projecttemplatewidget]));
             w2.Position = 0;
             // Internal child LongoMatch.Gui.Dialog.ProjectTemplateEditorDialog.ActionArea
             Gtk.HButtonBox w3 = this.ActionArea;
@@ -59,7 +62,7 @@ namespace LongoMatch.Gui.Dialog {
             if ((this.Child != null)) {
                 this.Child.ShowAll();
             }
-            this.DefaultWidth = 470;
+            this.DefaultWidth = 516;
             this.DefaultHeight = 243;
             this.Show();
         }
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.ProjectsManager.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.ProjectsManager.cs
index 2fa5e49..9e13137 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.ProjectsManager.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.ProjectsManager.cs
@@ -69,7 +69,9 @@ namespace LongoMatch.Gui.Dialog {
             this.hpaned1.Name = "hpaned1";
             this.hpaned1.Position = 349;
             // Container child hpaned1.Gtk.Paned+PanedChild
-            this.projectlistwidget1 = null;
+            this.projectlistwidget1 = new LongoMatch.Gui.Component.ProjectListWidget();
+            this.projectlistwidget1.Events = ((Gdk.EventMask)(256));
+            this.projectlistwidget1.Name = "projectlistwidget1";
             this.hpaned1.Add(this.projectlistwidget1);
             Gtk.Paned.PanedChild w2 = ((Gtk.Paned.PanedChild)(this.hpaned1[this.projectlistwidget1]));
             w2.Resize = false;
@@ -86,7 +88,14 @@ namespace LongoMatch.Gui.Dialog {
             this.GtkAlignment2.Name = "GtkAlignment2";
             this.GtkAlignment2.LeftPadding = ((uint)(12));
             // Container child GtkAlignment2.Gtk.Container+ContainerChild
-            this.projectdetails = null;
+            this.projectdetails = new LongoMatch.Gui.Component.ProjectDetailsWidget();
+            this.projectdetails.Sensitive = false;
+            this.projectdetails.Events = ((Gdk.EventMask)(256));
+            this.projectdetails.Name = "projectdetails";
+            this.projectdetails.Edited = false;
+            this.projectdetails.LocalGoals = 0;
+            this.projectdetails.VisitorGoals = 0;
+            this.projectdetails.Date = new System.DateTime(0);
             this.GtkAlignment2.Add(this.projectdetails);
             this.frame1.Add(this.GtkAlignment2);
             this.GtkLabel6 = new Gtk.Label();
@@ -166,6 +175,8 @@ namespace LongoMatch.Gui.Dialog {
             this.DefaultWidth = 804;
             this.DefaultHeight = 550;
             this.Show();
+            this.projectlistwidget1.ProjectSelectedEvent += new LongoMatch.Gui.Component.ProjectSelectedHandler(this.OnProjectlistwidget1ProjectSelectedEvent);
+            this.projectdetails.EditedEvent += new System.EventHandler(this.OnProjectdetailsEditedEvent);
             this.saveButton.Pressed += new System.EventHandler(this.OnSaveButtonPressed);
             this.deleteButton.Pressed += new System.EventHandler(this.OnDeleteButtonPressed);
             this.buttonOk.Clicked += new System.EventHandler(this.OnButtonOkClicked);
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.TeamTemplateEditor.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.TeamTemplateEditor.cs
index 4749e8c..62f7cf3 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.TeamTemplateEditor.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.TeamTemplateEditor.cs
@@ -33,7 +33,10 @@ namespace LongoMatch.Gui.Dialog {
             w1.Name = "dialog1_VBox";
             w1.BorderWidth = ((uint)(2));
             // Container child dialog1_VBox.Gtk.Box+BoxChild
-            this.teamtemplatewidget1 = null;
+            this.teamtemplatewidget1 = new LongoMatch.Gui.Component.TeamTemplateWidget();
+            this.teamtemplatewidget1.Events = ((Gdk.EventMask)(256));
+            this.teamtemplatewidget1.Name = "teamtemplatewidget1";
+            this.teamtemplatewidget1.Edited = false;
             w1.Add(this.teamtemplatewidget1);
             Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(w1[this.teamtemplatewidget1]));
             w2.Position = 0;
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.TemplatesManager.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.TemplatesManager.cs
index 3c27346..7665930 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.TemplatesManager.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Dialog.TemplatesManager.cs
@@ -161,12 +161,20 @@ namespace LongoMatch.Gui.Dialog {
             this.hbox1.Name = "hbox1";
             this.hbox1.Spacing = 6;
             // Container child hbox1.Gtk.Box+BoxChild
-            this.sectionspropertieswidget1 = null;
+            this.sectionspropertieswidget1 = new LongoMatch.Gui.Component.ProjectTemplateWidget();
+            this.sectionspropertieswidget1.Sensitive = false;
+            this.sectionspropertieswidget1.Events = ((Gdk.EventMask)(256));
+            this.sectionspropertieswidget1.Name = "sectionspropertieswidget1";
+            this.sectionspropertieswidget1.Edited = false;
             this.hbox1.Add(this.sectionspropertieswidget1);
             Gtk.Box.BoxChild w32 = ((Gtk.Box.BoxChild)(this.hbox1[this.sectionspropertieswidget1]));
             w32.Position = 0;
             // Container child hbox1.Gtk.Box+BoxChild
-            this.teamtemplatewidget1 = null;
+            this.teamtemplatewidget1 = new LongoMatch.Gui.Component.TeamTemplateWidget();
+            this.teamtemplatewidget1.Sensitive = false;
+            this.teamtemplatewidget1.Events = ((Gdk.EventMask)(256));
+            this.teamtemplatewidget1.Name = "teamtemplatewidget1";
+            this.teamtemplatewidget1.Edited = false;
             this.hbox1.Add(this.teamtemplatewidget1);
             Gtk.Box.BoxChild w33 = ((Gtk.Box.BoxChild)(this.hbox1[this.teamtemplatewidget1]));
             w33.Position = 1;
@@ -197,6 +205,8 @@ namespace LongoMatch.Gui.Dialog {
             }
             this.DefaultWidth = 483;
             this.DefaultHeight = 336;
+            this.sectionspropertieswidget1.Hide();
+            this.teamtemplatewidget1.Hide();
             this.Show();
             this.treeview.RowActivated += new Gtk.RowActivatedHandler(this.OnTreeviewRowActivated);
             this.treeview.CursorChanged += new System.EventHandler(this.OnTreeviewCursorChanged);
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs
index 6ebf386..a553030 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs
@@ -226,7 +226,9 @@ namespace LongoMatch.Gui {
             this.notebook1.CurrentPage = 0;
             this.notebook1.TabPos = ((Gtk.PositionType)(3));
             // Container child notebook1.Gtk.Notebook+NotebookChild
-            this.treewidget1 = null;
+            this.treewidget1 = new LongoMatch.Gui.Component.PlaysListTreeWidget();
+            this.treewidget1.Events = ((Gdk.EventMask)(256));
+            this.treewidget1.Name = "treewidget1";
             this.notebook1.Add(this.treewidget1);
             // Notebook tab
             this.label2 = new Gtk.Label();
@@ -235,7 +237,9 @@ namespace LongoMatch.Gui {
             this.notebook1.SetTabLabel(this.treewidget1, this.label2);
             this.label2.ShowAll();
             // Container child notebook1.Gtk.Notebook+NotebookChild
-            this.localplayerslisttreewidget = null;
+            this.localplayerslisttreewidget = new LongoMatch.Gui.Component.PlayersListTreeWidget();
+            this.localplayerslisttreewidget.Events = ((Gdk.EventMask)(256));
+            this.localplayerslisttreewidget.Name = "localplayerslisttreewidget";
             this.notebook1.Add(this.localplayerslisttreewidget);
             Gtk.Notebook.NotebookChild w5 = ((Gtk.Notebook.NotebookChild)(this.notebook1[this.localplayerslisttreewidget]));
             w5.Position = 1;
@@ -246,7 +250,9 @@ namespace LongoMatch.Gui {
             this.notebook1.SetTabLabel(this.localplayerslisttreewidget, this.label3);
             this.label3.ShowAll();
             // Container child notebook1.Gtk.Notebook+NotebookChild
-            this.visitorplayerslisttreewidget = null;
+            this.visitorplayerslisttreewidget = new LongoMatch.Gui.Component.PlayersListTreeWidget();
+            this.visitorplayerslisttreewidget.Events = ((Gdk.EventMask)(256));
+            this.visitorplayerslisttreewidget.Name = "visitorplayerslisttreewidget";
             this.notebook1.Add(this.visitorplayerslisttreewidget);
             Gtk.Notebook.NotebookChild w6 = ((Gtk.Notebook.NotebookChild)(this.notebook1[this.visitorplayerslisttreewidget]));
             w6.Position = 2;
@@ -276,7 +282,9 @@ namespace LongoMatch.Gui {
             this.hbox1.Name = "hbox1";
             this.hbox1.Spacing = 6;
             // Container child hbox1.Gtk.Box+BoxChild
-            this.drawingtoolbox1 = null;
+            this.drawingtoolbox1 = new LongoMatch.Gui.Component.DrawingToolBox();
+            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;
@@ -295,13 +303,19 @@ namespace LongoMatch.Gui {
             Gtk.Box.BoxChild w11 = ((Gtk.Box.BoxChild)(this.vbox5[this.hbox1]));
             w11.Position = 0;
             // Container child vbox5.Gtk.Box+BoxChild
-            this.timelinewidget1 = null;
+            this.timelinewidget1 = new LongoMatch.Gui.Component.TimeLineWidget();
+            this.timelinewidget1.HeightRequest = 200;
+            this.timelinewidget1.Events = ((Gdk.EventMask)(256));
+            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;
             // Container child vbox5.Gtk.Box+BoxChild
-            this.buttonswidget1 = null;
+            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;
@@ -316,12 +330,17 @@ namespace LongoMatch.Gui {
             this.rightvbox.Name = "rightvbox";
             this.rightvbox.Spacing = 6;
             // Container child rightvbox.Gtk.Box+BoxChild
-            this.noteswidget1 = null;
+            this.noteswidget1 = new LongoMatch.Gui.Component.NotesWidget();
+            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;
             // Container child rightvbox.Gtk.Box+BoxChild
-            this.playlistwidget2 = null;
+            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;
@@ -361,6 +380,11 @@ namespace LongoMatch.Gui {
             this.DefaultWidth = 1259;
             this.DefaultHeight = 761;
             this.leftbox.Hide();
+            this.drawingtoolbox1.Hide();
+            this.timelinewidget1.Hide();
+            this.buttonswidget1.Hide();
+            this.noteswidget1.Hide();
+            this.playlistwidget2.Hide();
             this.rightvbox.Hide();
             this.videoprogressbar.Hide();
             this.Show();
@@ -381,8 +405,10 @@ namespace LongoMatch.Gui {
             this.HideAllWidgetsAction.Toggled += new System.EventHandler(this.OnHideAllWidgetsActionToggled);
             this.HelpAction1.Activated += new System.EventHandler(this.OnHelpAction1Activated);
             this.DrawingToolAction.Toggled += new System.EventHandler(this.OnDrawingToolActionToggled);
+            this.treewidget1.TimeNodeSelected += new LongoMatch.Handlers.TimeNodeSelectedHandler(this.OnTimeNodeSelected);
             this.playerbin1.Error += new LongoMatch.Video.Handlers.ErrorHandler(this.OnPlayerbin1Error);
             this.playerbin1.SegmentClosedEvent += new LongoMatch.Video.Handlers.SegmentClosedHandler(this.OnSegmentClosedEvent);
+            this.timelinewidget1.TimeNodeSelected += new LongoMatch.Handlers.TimeNodeSelectedHandler(this.OnTimeNodeSelected);
         }
     }
 }
diff --git a/LongoMatch/gtk-gui/gui.stetic b/LongoMatch/gtk-gui/gui.stetic
index 71dda85..0ee3326 100644
--- a/LongoMatch/gtk-gui/gui.stetic
+++ b/LongoMatch/gtk-gui/gui.stetic
@@ -1318,7 +1318,7 @@
       </widget>
     </child>
   </widget>
-  <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.ProjectTemplateWidget" design-size="436 138">
+  <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.ProjectTemplateWidget" design-size="527 227">
     <property name="MemberName" />
     <signal name="KeyPressEvent" handler="OnKeyPressEvent" />
     <child>
@@ -1421,6 +1421,37 @@
                 <property name="Fill">False</property>
               </packing>
             </child>
+            <child>
+              <widget class="Gtk.HSeparator" id="hseparator1">
+                <property name="MemberName" />
+                <property name="Visible">False</property>
+              </widget>
+              <packing>
+                <property name="Position">4</property>
+                <property name="AutoSize">True</property>
+                <property name="Expand">False</property>
+                <property name="Fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="Gtk.Button" id="exportbutton">
+                <property name="MemberName" />
+                <property name="Visible">False</property>
+                <property name="CanFocus">True</property>
+                <property name="Type">TextAndIcon</property>
+                <property name="Icon">stock:gtk-save-as Menu</property>
+                <property name="Label" translatable="yes">Export</property>
+                <property name="UseUnderline">True</property>
+                <signal name="Clicked" handler="OnExportbuttonClicked" />
+              </widget>
+              <packing>
+                <property name="PackType">End</property>
+                <property name="Position">5</property>
+                <property name="AutoSize">True</property>
+                <property name="Expand">False</property>
+                <property name="Fill">False</property>
+              </packing>
+            </child>
           </widget>
           <packing>
             <property name="Position">1</property>
@@ -2035,7 +2066,7 @@
       </widget>
     </child>
   </widget>
-  <widget class="Gtk.Dialog" id="LongoMatch.Gui.Dialog.ProjectTemplateEditorDialog" design-size="470 243">
+  <widget class="Gtk.Dialog" id="LongoMatch.Gui.Dialog.ProjectTemplateEditorDialog" design-size="516 243">
     <property name="MemberName" />
     <property name="Title" translatable="yes">Categories Template</property>
     <property name="Icon">stock:longomatch Dialog</property>
@@ -2052,7 +2083,7 @@
         <property name="MemberName" />
         <property name="BorderWidth">2</property>
         <child>
-          <widget class="LongoMatch.Gui.Component.ProjectTemplateWidget" id="sectionspropertieswidget3">
+          <widget class="LongoMatch.Gui.Component.ProjectTemplateWidget" id="projecttemplatewidget">
             <property name="MemberName" />
             <property name="Events">ButtonPressMask</property>
             <property name="Edited">False</property>
@@ -4545,7 +4576,7 @@ Show-&gt;&lt;b&gt; S&lt;/b&gt;
       </widget>
     </child>
   </widget>
-  <widget class="Gtk.Dialog" id="LongoMatch.Gui.Dialog.EditCategoryDialog" design-size="264 137">
+  <widget class="Gtk.Dialog" id="LongoMatch.Gui.Dialog.EditCategoryDialog" design-size="264 153">
     <property name="MemberName" />
     <property name="Title" translatable="yes">Category Details</property>
     <property name="Icon">resource:longomatch.png</property>
diff --git a/LongoMatch/gtk-gui/objects.xml b/LongoMatch/gtk-gui/objects.xml
index e013c10..50fa71a 100644
--- a/LongoMatch/gtk-gui/objects.xml
+++ b/LongoMatch/gtk-gui/objects.xml
@@ -47,10 +47,6 @@
       </itemgroup>
     </signals>
   </object>
-  <object type="LongoMatch.Gui.Component.PlayerProperties" palette-category="General" allow-children="false" base-type="Gtk.Bin">
-    <itemgroups />
-    <signals />
-  </object>
   <object type="LongoMatch.Gui.Component.PlayersTreeView" palette-category="LongoMatch" allow-children="false" base-type="Gtk.TreeView">
     <itemgroups />
     <signals>
@@ -177,14 +173,6 @@
       </itemgroup>
     </signals>
   </object>
-  <object type="LongoMatch.Gui.Component.ProjectTemplateWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
-    <itemgroups>
-      <itemgroup label="ProjectTemplateWidget Properties">
-        <property name="Edited" />
-      </itemgroup>
-    </itemgroups>
-    <signals />
-  </object>
   <object type="LongoMatch.Gui.Component.PlayListWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
     <itemgroups />
     <signals>
@@ -208,6 +196,26 @@
       </itemgroup>
     </signals>
   </object>
+  <object type="LongoMatch.Gui.Popup.TransparentDrawingArea" palette-category="General" allow-children="false" base-type="Gtk.Window">
+    <itemgroups />
+    <signals />
+  </object>
+  <object type="LongoMatch.Gui.Component.DrawingWidget" palette-category="General" allow-children="false" base-type="Gtk.Bin">
+    <itemgroups />
+    <signals />
+  </object>
+  <object type="LongoMatch.Gui.Component.ProjectListWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
+    <itemgroups />
+    <signals>
+      <itemgroup label="ProjectListWidget Signals">
+        <signal name="ProjectSelectedEvent" />
+      </itemgroup>
+    </signals>
+  </object>
+  <object type="LongoMatch.Gui.Component.PlayerProperties" palette-category="General" allow-children="false" base-type="Gtk.Bin">
+    <itemgroups />
+    <signals />
+  </object>
   <object type="LongoMatch.Gui.Component.ProjectDetailsWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
     <itemgroups>
       <itemgroup label="ProjectDetailsWidget Properties">
@@ -227,20 +235,12 @@
       </itemgroup>
     </signals>
   </object>
-  <object type="LongoMatch.Gui.Popup.TransparentDrawingArea" palette-category="General" allow-children="false" base-type="Gtk.Window">
-    <itemgroups />
-    <signals />
-  </object>
-  <object type="LongoMatch.Gui.Component.DrawingWidget" palette-category="General" allow-children="false" base-type="Gtk.Bin">
-    <itemgroups />
-    <signals />
-  </object>
-  <object type="LongoMatch.Gui.Component.ProjectListWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
-    <itemgroups />
-    <signals>
-      <itemgroup label="ProjectListWidget Signals">
-        <signal name="ProjectSelectedEvent" />
+  <object type="LongoMatch.Gui.Component.ProjectTemplateWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
+    <itemgroups>
+      <itemgroup label="ProjectTemplateWidget Properties">
+        <property name="Edited" />
       </itemgroup>
-    </signals>
+    </itemgroups>
+    <signals />
   </object>
 </objects>
\ No newline at end of file



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