[longomatch] Add a new widget to view plays by position tags
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Add a new widget to view plays by position tags
- Date: Mon, 7 Jul 2014 11:30:19 +0000 (UTC)
commit 6ebd471da11939502fb61623b988f1825fdef67b
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Thu Jun 19 14:47:38 2014 +0200
Add a new widget to view plays by position tags
LongoMatch.GUI/Gui/Component/AnalysisComponent.cs | 12 -
LongoMatch.GUI/Gui/Component/CategoryProperties.cs | 110 ++++-----
LongoMatch.GUI/Gui/Component/CodingWidget.cs | 13 +-
LongoMatch.GUI/Gui/Component/CoordinatesTagger.cs | 247 +-----------------
.../Gui/Component/PlaysCoordinatesTagger.cs | 170 ++-----------
.../Gui/Component/PlaysListTreeWidget.cs | 5 +-
.../Gui/Component/PlaysPositionViewer.cs | 100 +++++++
.../Gui/Component/Stats/CategoriesViewer.cs | 4 +-
.../Gui/Component/Stats/CategoryViewer.cs | 24 +--
.../Gui/Component/Stats/PlayerCategoriesViewer.cs | 4 +-
.../Gui/Component/Stats/PlayerCategoryViewer.cs | 10 +-
.../Gui/Component/Stats/PlayersViewer.cs | 2 +-
LongoMatch.GUI/Gui/Component/Timeline.cs | 1 +
LongoMatch.GUI/Gui/Dialog/EditCategoryDialog.cs | 24 +--
LongoMatch.GUI/Gui/Dialog/StatsViewer.cs | 2 +-
LongoMatch.GUI/Gui/Panel/SportsTemplatesPanel.cs | 2 +-
LongoMatch.GUI/LongoMatch.GUI.mdp | 2 +
.../LongoMatch.Gui.Component.AnalysisComponent.cs | 30 +--
.../LongoMatch.Gui.Component.CategoryProperties.cs | 118 ++++------
.../LongoMatch.Gui.Component.CodingWidget.cs | 22 ++-
...goMatch.Gui.Component.PlaysCoordinatesTagger.cs | 36 +++-
...LongoMatch.Gui.Component.PlaysPositionViewer.cs | 58 ++++
.../LongoMatch.Gui.Component.ProjectPeriods.cs | 39 ++--
...ongoMatch.Gui.Component.Stats.CategoryViewer.cs | 2 +-
.../LongoMatch.Gui.Panel.NewProjectPanel.cs | 147 +++++++-----
.../LongoMatch.Gui.Panel.ProjectsManagerPanel.cs | 1 -
LongoMatch.GUI/gtk-gui/gui.stetic | 272 +++++++++++++-------
LongoMatch.GUI/gtk-gui/objects.xml | 37 +---
28 files changed, 674 insertions(+), 820 deletions(-)
---
diff --git a/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
b/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
index 551c8cd..3b27897 100644
--- a/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
+++ b/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
@@ -46,7 +46,6 @@ namespace LongoMatch.Gui.Component
playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.Player;
ConnectSignals();
- postagger.SetMode (false);
}
public IPlayerBin Player{
@@ -148,9 +147,6 @@ namespace LongoMatch.Gui.Component
codingwidget.SetProject (project, isLive, filter);
playsSelection.SetProject (project, isLive, filter);
- postagger.LoadBackgrounds (openedProject.Categories.FieldBackground,
- openedProject.Categories.HalfFieldBackground,
- openedProject.Categories.GoalBackground);
}
void CreateCodingUI () {
@@ -166,7 +162,6 @@ namespace LongoMatch.Gui.Component
playsSelection = new PlaysSelectionWidget ();
codingwidget = new CodingWidget();
- postagger = new PlaysCoordinatesTagger();
periodsrecorder = new PeriodsRecoder ();
playercapturer = null;
@@ -175,13 +170,11 @@ namespace LongoMatch.Gui.Component
vbox.Show();
playsSelection.Show ();
codingwidget.Show ();
- postagger.Show ();
periodsrecorder.Show ();
centralpane.Pack1 (playsSelection, true, true);
centralpane.Pack2 (rightpane, true, true);
rightpane.Pack1 (vbox, true, true);
- rightpane.Pack2 (postagger, true, true);
vbox.PackStart (periodsrecorder, false, true, 0);
vbox.PackEnd (codingwidget, true, true, 0);
Add (centralpane);
@@ -199,7 +192,6 @@ namespace LongoMatch.Gui.Component
playsSelection = new PlaysSelectionWidget ();
codingwidget = new CodingWidget();
- postagger = new PlaysCoordinatesTagger();
playercapturer = new PlayerCapturerBin ();
if(projectType == ProjectType.FileProject) {
playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.Player;
@@ -212,7 +204,6 @@ namespace LongoMatch.Gui.Component
rightpane.Show ();
playsSelection.Show ();
codingwidget.Show ();
- postagger.Show ();
playercapturer.Show ();
centralpane.Pack1 (uppane, true, true);
@@ -220,7 +211,6 @@ namespace LongoMatch.Gui.Component
uppane.Pack1 (playsSelection, true, true);
uppane.Pack2 (rightpane, true, true);
rightpane.Pack1 (playercapturer, true, true);
- rightpane.Pack2 (postagger, true, true);
Add (centralpane);
}
@@ -231,8 +221,6 @@ namespace LongoMatch.Gui.Component
playsSelection.Destroy();
if (codingwidget != null)
codingwidget.Destroy();
- if (postagger != null)
- postagger.Destroy();
if (playercapturer != null) {
playercapturer.Destroy();
}
diff --git a/LongoMatch.GUI/Gui/Component/CategoryProperties.cs
b/LongoMatch.GUI/Gui/Component/CategoryProperties.cs
index 92e3728..6699eae 100644
--- a/LongoMatch.GUI/Gui/Component/CategoryProperties.cs
+++ b/LongoMatch.GUI/Gui/Component/CategoryProperties.cs
@@ -45,19 +45,26 @@ namespace LongoMatch.Gui.Component
public event HotKeyChangeHandler HotKeyChanged;
- private Category cat;
- private ListStore model;
+ Category cat;
+ ListStore model;
+ CoordinatesTagger fieldcoordinatestagger;
+ CoordinatesTagger halffieldcoordinatestagger;
+ CoordinatesTagger goalcoordinatestagger;
public CategoryProperties()
{
this.Build();
+ vbox2.Sensitive = false;
subcategoriestreeview1.SubCategoriesDeleted += OnSubcategoriesDeleted;
subcategoriestreeview1.SubCategorySelected += OnSubcategorySelected;
leadtimebutton.ValueChanged += OnLeadTimeChanged;;
lagtimebutton.ValueChanged += OnLagTimeChanged;
- fieldcoordinatestagger.Background = Config.FieldBackground.Value;
- halffieldcoordinatestagger.Background = Config.HalfFieldBackground.Value;
- goalcoordinatestagger.Background = Config.GoalBackground.Value;
+ fieldcoordinatestagger = new CoordinatesTagger ();
+ halffieldcoordinatestagger = new CoordinatesTagger ();
+ goalcoordinatestagger = new CoordinatesTagger ();
+ table1.Attach (fieldcoordinatestagger, 0, 1, 0, 1);
+ table1.Attach (halffieldcoordinatestagger, 1, 2, 0, 1);
+ table1.Attach (goalcoordinatestagger, 2, 3, 0, 1);
}
public bool CanChangeHotkey {
@@ -70,6 +77,7 @@ namespace LongoMatch.Gui.Component
public Category Category {
set {
cat = value;
+ vbox2.Sensitive = true;
UpdateGui();
}
get {
@@ -84,22 +92,14 @@ namespace LongoMatch.Gui.Component
public Categories Template {
set {
- if (value.FieldBackground != null) {
- fieldcoordinatestagger.Background = value.FieldBackground.Value;
- }
- if (value.HalfFieldBackground != null) {
- halffieldcoordinatestagger.Background =
value.HalfFieldBackground.Value;
- }
- if (value.GoalBackground != null) {
- goalcoordinatestagger.Background = value.GoalBackground.Value;
- }
+ fieldcoordinatestagger.Tagger.Background = value.FieldBackground;
+ halffieldcoordinatestagger.Tagger.Background = value.HalfFieldBackground;
+ goalcoordinatestagger.Tagger.Background = value.GoalBackground;
}
}
private void UpdateGui() {
ListStore list;
- List<Coordinates> coords;
- Coordinates c;
if(cat == null)
return;
@@ -113,34 +113,16 @@ namespace LongoMatch.Gui.Component
tagfieldcheckbutton.Active = cat.TagFieldPosition;
fieldcoordinatestagger.Visible = cat.TagFieldPosition;
- coords = new List<Coordinates>();
- c = new Coordinates();
- c.Points.Add (new Point (300, 300));
- coords.Add (c);
- if (cat.FieldPositionIsDistance) {
- c.Points.Add (new Point (400, 500));
- }
- fieldcoordinatestagger.Coordinates = coords;
+ UpdatePosition (FieldPositionType.Field);
trajectorycheckbutton.Active = cat.FieldPositionIsDistance;
taghalffieldcheckbutton.Active = cat.TagHalfFieldPosition;
halffieldcoordinatestagger.Visible = cat.TagHalfFieldPosition;
- coords = new List<Coordinates>();
- c = new Coordinates();
- c.Points.Add (new Point (300, 300));
- coords.Add (c);
- if (cat.FieldPositionIsDistance) {
- c.Points.Add (new Point (400, 500));
- }
- halffieldcoordinatestagger.Coordinates = coords;
+ UpdatePosition (FieldPositionType.HalfField);
trajectoryhalfcheckbutton.Active = cat.HalfFieldPositionIsDistance;
taggoalcheckbutton.Active = cat.TagGoalPosition;
- coords = new List<Coordinates>();
- c = new Coordinates();
- c.Points.Add (new Point (100, 100));
- coords.Add (c);
- goalcoordinatestagger.Coordinates = coords;
+ UpdatePosition (FieldPositionType.Goal);
goalcoordinatestagger.Visible = cat.TagGoalPosition;
if(cat.HotKey.Defined)
@@ -153,6 +135,34 @@ namespace LongoMatch.Gui.Component
list.AppendValues(subcat);
}
+ void UpdatePosition (FieldPositionType position) {
+ CoordinatesTagger tagger;
+ List<Point> points;
+ bool isDistance;
+
+ switch (position) {
+ case FieldPositionType.Field:
+ tagger = fieldcoordinatestagger;
+ isDistance = cat.FieldPositionIsDistance;
+ break;
+ case FieldPositionType.HalfField:
+ tagger = halffieldcoordinatestagger;
+ isDistance = cat.HalfFieldPositionIsDistance;
+ break;
+ default:
+ case FieldPositionType.Goal:
+ tagger = goalcoordinatestagger;
+ isDistance = false;
+ break;
+ }
+ points = new List<Point> ();
+ points.Add (new Point (0.5, 0.5));
+ if (isDistance) {
+ points.Add (new Point (0.5, 0.1));
+ }
+ tagger.Tagger.Points = points;
+ }
+
private void RenderSubcat(Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel
model, Gtk.TreeIter iter)
{
(cell as Gtk.CellRendererText).Markup =(string)model.GetValue(iter, 0);
@@ -266,36 +276,14 @@ namespace LongoMatch.Gui.Component
protected void OnTrajectoryhalffieldcheckbuttonClicked (object sender, EventArgs e)
{
- List<Coordinates> coords;
- Coordinates c;
-
cat.HalfFieldPositionIsDistance = trajectoryhalfcheckbutton.Active;
-
- coords = new List<Coordinates>();
- c = new Coordinates();
- c.Points.Add (new Point (300, 300));
- coords.Add (c);
- if (cat.HalfFieldPositionIsDistance) {
- c.Points.Add (new Point (400, 500));
- }
- halffieldcoordinatestagger.Coordinates = coords;
+ UpdatePosition (FieldPositionType.HalfField);
}
protected void OnTrajectorycheckbuttonClicked (object sender, EventArgs e)
{
- List<Coordinates> coords;
- Coordinates c;
-
cat.FieldPositionIsDistance = trajectorycheckbutton.Active;
-
- coords = new List<Coordinates>();
- c = new Coordinates();
- c.Points.Add (new Point (300, 300));
- coords.Add (c);
- if (cat.FieldPositionIsDistance) {
- c.Points.Add (new Point (400, 500));
- }
- fieldcoordinatestagger.Coordinates = coords;
+ UpdatePosition (FieldPositionType.Field);
}
}
}
diff --git a/LongoMatch.GUI/Gui/Component/CodingWidget.cs b/LongoMatch.GUI/Gui/Component/CodingWidget.cs
index 7bffd51..a4d47fd 100644
--- a/LongoMatch.GUI/Gui/Component/CodingWidget.cs
+++ b/LongoMatch.GUI/Gui/Component/CodingWidget.cs
@@ -36,7 +36,9 @@ namespace LongoMatch.Gui.Component
{
this.Build ();
- autoTaggingMode.Toggled += HandleViewToggled;
+ autoTaggingMode.Activated += HandleViewToggled;
+ timelineMode.Activated += HandleViewToggled;
+ positionMode.Activated += HandleViewToggled;
autoTaggingMode.Active = true;
teamtagger = new TeamTagger (new WidgetWrapper (drawingarea1));
@@ -45,6 +47,8 @@ namespace LongoMatch.Gui.Component
drawingarea1.HeightRequest = 200;
drawingarea1.WidthRequest = 300;
+ timeline.HeightRequest = 200;
+ playspositionviewer1.HeightRequest = 200;
Config.EventsBroker.Tick += HandleTick;
Config.EventsBroker.PlaySelected += HandlePlaySelected;
@@ -54,6 +58,9 @@ namespace LongoMatch.Gui.Component
{
Config.EventsBroker.Tick -= HandleTick;
Config.EventsBroker.PlaySelected -= HandlePlaySelected;
+ buttonswidget.Destroy ();
+ timeline.Destroy ();
+ playspositionviewer1.Destroy ();
base.OnDestroyed ();
}
@@ -66,6 +73,7 @@ namespace LongoMatch.Gui.Component
teamtagger.LoadTeams (project.LocalTeamTemplate, project.VisitorTeamTemplate,
project.Categories.FieldBackground);
timeline.SetProject (project, filter);
+ playspositionviewer1.LoadProject (project);
}
public AnalysisComponent AnalysisComponentParent {
@@ -75,10 +83,12 @@ namespace LongoMatch.Gui.Component
public void AddPlay(Play play) {
timeline.AddPlay(play);
+ playspositionviewer1.AddPlay (play);
}
public void DeletePlays (List<Play> plays) {
timeline.RemovePlays(plays);
+ playspositionviewer1.RemovePlays (plays);
}
public void UpdateCategories () {
@@ -117,6 +127,7 @@ namespace LongoMatch.Gui.Component
buttonswidget.Visible = autoTaggingMode.Active;
drawingarea1.Visible = buttonswidget.Visible;
timeline.Visible = timelineMode.Active;
+ playspositionviewer1.Visible = positionMode.Active;
}
void HandlePlaySelected (Play play)
diff --git a/LongoMatch.GUI/Gui/Component/CoordinatesTagger.cs
b/LongoMatch.GUI/Gui/Component/CoordinatesTagger.cs
index a5b4244..adc33bd 100644
--- a/LongoMatch.GUI/Gui/Component/CoordinatesTagger.cs
+++ b/LongoMatch.GUI/Gui/Component/CoordinatesTagger.cs
@@ -16,263 +16,26 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
-using System.Collections.Generic;
-using System.Linq;
-using Gdk;
-using Gtk;
-using Cairo;
-using Point = LongoMatch.Common.Point;
-
-using LongoMatch.Common;
+using LongoMatch.Drawing.Widgets;
using LongoMatch.Store;
+using LongoMatch.Common;
+using LongoMatch.Drawing.Cairo;
namespace LongoMatch.Gui.Component
{
[System.ComponentModel.ToolboxItem(true)]
public partial class CoordinatesTagger : Gtk.Bin
{
- Surface source;
- List<Coordinates> coordinatesList;
- Coordinates selectedCoords;
- Point selectedPoint;
- int sourceWidth, sourceHeight;
- double sourceDAR;
- double xScale, yScale;
- int yOffset, xOffset;
- const double ARROW_DEGREES = 0.5;
- const int ARROW_LENGHT = 3, LINE_WIDTH = 3;
-
public CoordinatesTagger ()
{
- Coordinates = new List<Coordinates>();
this.Build ();
- drawingarea.ExposeEvent += OnDrawingareaExposeEvent;
- drawingarea.ButtonPressEvent += OnDrawingareaButtonPressEvent;
- drawingarea.ButtonReleaseEvent += OnDrawingareaButtonReleaseEvent;
- drawingarea.MotionNotifyEvent += OnDrawingareaMotionNotifyEvent;
- HeightRequest = 100;
- WidthRequest = 100;
- Sensitive = true;
+ Tagger = new PositionTagger (new WidgetWrapper (drawingarea));
}
- public new bool Sensitive {
+ public PositionTagger Tagger {
get;
set;
}
-
- public Pixbuf Background {
- set {
- if (value == null || value.Width == -1 || value.Height == -1)
- return;
- sourceWidth = value.Width;
- sourceHeight = value.Height;
- sourceDAR = (double) sourceWidth / sourceHeight;
- source = new ImageSurface(Format.ARGB32,sourceWidth,sourceHeight);
- using(Context sourceCR = new Context(source)) {
- CairoHelper.SetSourcePixbuf(sourceCR,value,0,0);
- sourceCR.Paint();
- }
- QueueDraw();
- }
- }
-
- public List<Coordinates> Coordinates {
- set {
- coordinatesList = value;
- QueueDraw ();
- }
- get {
- return coordinatesList;
- }
- }
-
- double Distance (Point p1, Point p2) {
- double xd = Math.Abs (p1.X - p2.X);
- double yd = Math.Abs (p1.Y - p2.Y);
- return Math.Sqrt (Math.Pow (xd, 2) + Math.Pow (yd, 2));
- }
-
- void TranslateToOriginCoords (Point point) {
- point.X = Math.Max (0, point.X - xOffset);
- point.Y = Math.Max (0, point.Y - yOffset);
- point.X = Math.Min (sourceWidth, (int) (point.X / xScale));
- point.Y = Math.Min (sourceHeight, (int) (point.Y / yScale));
- }
-
- Point TranslateToDestCoords (Point point) {
- return new Point ((int) (point.X * xScale),
- (int) (point.Y * yScale));
- }
-
- void FindNearestPoint (Point cursor, out Coordinates coords, out Point point) {
- double minDistance = Int32.MaxValue;
- coords = null;
- point = null;
-
- TranslateToOriginCoords (cursor);
- foreach (Coordinates c in Coordinates) {
- foreach (Point p in c.Points) {
- double dist = Distance (cursor, p);
- if (dist < minDistance) {
- minDistance = dist;
- coords = c;
- point = p;
- }
- }
- }
- }
-
- void SetContextProperties(Context c, bool selected) {
- c.LineCap = LineCap.Round;
- c.LineJoin = LineJoin.Round;
- if (selected) {
- c.Color = new Cairo.Color (255, 0, 0, 1);
- } else {
- c.Color = new Cairo.Color (0, 0, 0, 1);
- }
- c.LineWidth = LINE_WIDTH;
- c.Operator = Operator.Source;
- }
-
- void DrawLine(Context c, Point src, Point dest) {
- c.MoveTo(src.X, src.Y);
- c.LineTo(dest.X, dest.Y);
- c.Stroke();
- }
-
- void DrawPoint (Context c, Point location) {
- c.Arc (location.X, location.Y, LINE_WIDTH, 0, 2 * Math.PI);
- c.StrokePreserve();
- c.Fill();
- }
-
- void DrawArrow(Context c, Point src, Point dest) {
- double vx1,vy1,vx2,vy2;
- double angle = Math.Atan2(dest.Y - src.Y, dest.X - src.X) + Math.PI;
-
- vx1 = dest.X + (ARROW_LENGHT + LINE_WIDTH) * Math.Cos(angle - ARROW_DEGREES);
- vy1 = dest.Y + (ARROW_LENGHT + LINE_WIDTH) * Math.Sin(angle - ARROW_DEGREES);
- vx2 = dest.X + (ARROW_LENGHT + LINE_WIDTH) * Math.Cos(angle + ARROW_DEGREES);
- vy2 = dest.Y + (ARROW_LENGHT + LINE_WIDTH) * Math.Sin(angle + ARROW_DEGREES);
-
- c.MoveTo(dest.X, dest.Y);
- c.LineTo(vx1, vy1);
- c.MoveTo(dest.X, dest.Y);
- c.LineTo(vx2, vy2);
- c.Stroke();
- c.Fill();
- }
-
-
- void DrawCoordinates (Context context, Coordinates coords) {
- SetContextProperties(context, coords == selectedCoords);
- for (int i=0; i < coords.Points.Count; i++) {
- if (i != 0 && i == coords.Points.Count - 1) {
- DrawArrow (context, TranslateToDestCoords(coords.Points[i -1]),
- TranslateToDestCoords (coords.Points [i]));
- } else {
- DrawPoint (context, TranslateToDestCoords (coords.Points[i]));
- }
- if (i>0) {
- DrawLine (context, TranslateToDestCoords(coords.Points[i-1]),
- TranslateToDestCoords (coords.Points[i]));
- }
- }
- }
-
- void RedrawAllCoordinates (Context ctx) {
- foreach (Coordinates c in Coordinates) {
- if (c == selectedCoords)
- continue;
- DrawCoordinates (ctx, c);
- }
- }
-
- protected override void OnDestroyed ()
- {
- base.OnDestroyed ();
- if (source != null)
- source.Destroy();
- }
-
- protected virtual void OnDrawingareaButtonPressEvent(object o, Gtk.ButtonPressEventArgs args)
- {
- if (!Sensitive)
- return;
-
- FindNearestPoint (new Point((int) args.Event.X, (int) args.Event.Y),
- out selectedCoords, out selectedPoint);
-
- QueueDraw ();
- }
-
- protected virtual void OnDrawingareaButtonReleaseEvent(object o, Gtk.ButtonReleaseEventArgs
args)
- {
- if (!Sensitive)
- return;
-
- selectedCoords = null;
- QueueDraw ();
- }
-
- protected virtual void OnDrawingareaMotionNotifyEvent(object o, Gtk.MotionNotifyEventArgs
args)
- {
- Point point;
-
- if (!Sensitive)
- return;
-
- if (selectedCoords == null) {
- return;
- }
- point = new Point ((int) args.Event.X, (int) args.Event.Y);
- TranslateToOriginCoords (point);
- selectedPoint.Y = point.Y;
- selectedPoint.X = point.X;
- QueueDraw();
- }
-
- protected virtual void OnDrawingareaExposeEvent(object o, Gtk.ExposeEventArgs args)
- {
- double dar;
- int w,h, destH, destW;
-
- if (source == null) {
- return;
- }
- drawingarea.GdkWindow.Clear();
-
- using(Context c = CairoHelper.Create(drawingarea.GdkWindow)) {
- w = drawingarea.Allocation.Width;
- h = drawingarea.Allocation.Height;
- dar = (double) w / h;
-
- if (sourceDAR > dar) {
- destW = w;
- destH = (int) (w / sourceDAR);
- xOffset = 0;
- yOffset = (h - destH) / 2;
- } else {
- destH = h;
- destW = (int) (h * sourceDAR);
- xOffset = (w - destW) / 2;
- yOffset = 0;
- }
- c.Translate (xOffset, yOffset);
- xScale = (double) destW / sourceWidth;
- yScale = (double) destH / sourceHeight;
-
- c.Save ();
- c.Scale(xScale, yScale);
- c.SetSourceSurface(source, 0, 0);
- c.Paint();
- c.Restore();
- RedrawAllCoordinates (c);
- if (selectedCoords != null) {
- DrawCoordinates (c, selectedCoords);
- }
- }
- }
}
}
diff --git a/LongoMatch.GUI/Gui/Component/PlaysCoordinatesTagger.cs
b/LongoMatch.GUI/Gui/Component/PlaysCoordinatesTagger.cs
index c66783c..09d49c1 100644
--- a/LongoMatch.GUI/Gui/Component/PlaysCoordinatesTagger.cs
+++ b/LongoMatch.GUI/Gui/Component/PlaysCoordinatesTagger.cs
@@ -26,6 +26,7 @@ using LongoMatch.Common;
using Point = LongoMatch.Common.Point;
using Image = LongoMatch.Common.Image;
+using LongoMatch.Stats;
namespace LongoMatch.Gui.Component
{
@@ -33,175 +34,46 @@ namespace LongoMatch.Gui.Component
public partial class PlaysCoordinatesTagger : Gtk.Bin
{
- CoordinatesTagger field, hfield, goal;
- Pixbuf fieldPixbuf, hFieldPixbuf, goalPixbuf;
- Box box;
-
public PlaysCoordinatesTagger ()
{
this.Build ();
- SetMode (true);
- Config.EventsBroker.PlaySelected += HandlePlaySelected;
- }
-
- public bool CoordinatesSensitive {
- set {
- field.Sensitive = value;
- hfield.Sensitive = value;
- goal.Sensitive = value;
- }
- }
-
- public void SetMode (bool horizontal) {
- if (box != null) {
- mainbox.Remove (box);
- box.Destroy();
- }
- if (horizontal) {
- box = new HBox ();
- } else {
- box = new VBox ();
- }
- field = new CoordinatesTagger ();
- hfield = new CoordinatesTagger ();
- goal = new CoordinatesTagger ();
- box.PackStart (field, true, true, 0);
- box.PackStart (hfield, true, true, 0);
- box.PackStart (goal, true, true, 0);
- mainbox.PackStart (box, true, true, 0);
- box.Show ();
- }
-
- public void LoadPlay (Play play, bool horizontal=true) {
- field.Visible = hfield.Visible = goal.Visible = false;
- AddPlay (play, true);
- }
-
- public void LoadFieldCoordinates (List<Coordinates> coords) {
- field.Coordinates = coords;
- field.Visible = coords.Count != 0;
+ HeightRequest = 300;
+ WidthRequest = 500;
+ field.Tagger.EmitSignals = false;
+ hfield.Tagger.EmitSignals = false;
+ goal.Tagger.EmitSignals = false;
}
- public void LoadHalfFieldCoordinates (List<Coordinates> coords) {
- hfield.Coordinates = coords;
- hfield.Visible = coords.Count != 0;
- }
-
- public void LoadGoalCoordinates (List<Coordinates> coords) {
- goal.Coordinates = coords;
- goal.Visible = coords.Count != 0;
- }
-
- public void LoadBackgrounds (Image fieldImage, Image halfFieldImage, Image goalImage) {
- if (fieldImage != null) {
- fieldPixbuf = fieldImage.Value;
- } else {
- fieldPixbuf = Config.FieldBackground.Value;
- }
- field.Background = fieldPixbuf;
- if (halfFieldImage != null) {
- hFieldPixbuf = halfFieldImage.Value;
- } else {
- hFieldPixbuf = Config.HalfFieldBackground.Value;
- }
- hfield.Background = hFieldPixbuf;
- if (goalImage != null) {
- goalPixbuf = goalImage.Value;
- } else {
- goalPixbuf = Config.GoalBackground.Value;
- }
- goal.Background = goalPixbuf;
+ public void LoadBackgrounds (Project project) {
+ field.Tagger.Background = project.GetBackground (FieldPositionType.Field);
+ hfield.Tagger.Background = project.GetBackground (FieldPositionType.HalfField);
+ goal.Tagger.Background = project.GetBackground (FieldPositionType.Goal);
}
- void AddPlay (Play play, bool fill) {
- if (play.Category.TagFieldPosition) {
- AddFieldPosTagger (play, fill);
- }
- if (play.Category.TagHalfFieldPosition) {
- AddHalfFieldPosTagger (play, fill);
- }
- if (play.Category.TagGoalPosition) {
- AddGoalPosTagger (play, fill);
- }
+ public void LoadStats (CategoryStats stats) {
}
- void AddFieldPosTagger (Play play, bool fill) {
- List<Coordinates> coords = new List<Coordinates>();
+ public void LoadPlay (Play play) {
+ field.Visible = play.Category.TagFieldPosition;
+ hfield.Visible = play.Category.TagHalfFieldPosition;
+ goal.Visible = play.Category.TagGoalPosition;
+ play.AddDefaultPositions ();
+
if (play.FieldPosition != null) {
- coords.Add (play.FieldPosition);
- } else if (fill) {
- Coordinates c = new Coordinates ();
- c.Points.Add (new Point((int) (fieldPixbuf.Width * 0.25),
- (int) (fieldPixbuf.Height * 0.25)));
- if (play.Category.FieldPositionIsDistance) {
- c.Points.Add (new Point((int) (fieldPixbuf.Width * 0.75),
- (int) (fieldPixbuf.Height * 0.75)));
- }
- coords.Add (c);
- play.FieldPosition = c;
- } else {
- return;
+ field.Tagger.Points = play.FieldPosition.Points;
}
- field.Coordinates = coords;
- field.Visible = true;
- }
-
- void AddHalfFieldPosTagger (Play play, bool fill) {
- List<Coordinates> coords = new List<Coordinates>();
-
if (play.HalfFieldPosition != null) {
- coords.Add (play.HalfFieldPosition);
- } else if (fill) {
- Coordinates c = new Coordinates ();
- c.Points.Add (new Point((int) (hFieldPixbuf.Width * 0.25),
- (int) (hFieldPixbuf.Height * 0.25)));
- if (play.Category.HalfFieldPositionIsDistance) {
- c.Points.Add (new Point((int) (hFieldPixbuf.Width * 0.75),
- (int) (hFieldPixbuf.Height * 0.75)));
- }
- coords.Add (c);
- play.HalfFieldPosition = c;
- } else {
- return;
+ hfield.Tagger.Points = play.HalfFieldPosition.Points;
}
- hfield.Coordinates = coords;
- hfield.Visible = true;
- }
-
- void AddGoalPosTagger (Play play, bool fill) {
- List<Coordinates> coords = new List<Coordinates>();
-
- if (play.GoalPosition != null) {
- coords.Add (play.GoalPosition);
- } else if (fill) {
- Coordinates c = new Coordinates ();
- c.Points.Add (new Point((int) (goalPixbuf.Width * 0.25),
- (int) (goalPixbuf.Height * 0.25)));
- coords.Add (c);
- play.GoalPosition = c;
- } else {
- return;
+ if (play.GoalPosition != null ) {
+ goal.Tagger.Points = play.GoalPosition.Points;
}
- goal.Coordinates = coords;
- goal.Visible = true;
- }
-
- void HandlePlaySelected (Play play)
- {
- LoadPlay (play, false);
}
protected override void OnDestroyed ()
{
base.OnDestroyed ();
- Config.EventsBroker.PlaySelected -= HandlePlaySelected;
- if (fieldPixbuf != null)
- fieldPixbuf.Dispose();
- if (hFieldPixbuf != null)
- hFieldPixbuf.Dispose();
- if (goalPixbuf != null)
- goalPixbuf.Dispose();
}
}
}
diff --git a/LongoMatch.GUI/Gui/Component/PlaysListTreeWidget.cs
b/LongoMatch.GUI/Gui/Component/PlaysListTreeWidget.cs
index 5790af7..4a67336 100644
--- a/LongoMatch.GUI/Gui/Component/PlaysListTreeWidget.cs
+++ b/LongoMatch.GUI/Gui/Component/PlaysListTreeWidget.cs
@@ -155,10 +155,7 @@ namespace LongoMatch.Gui.Component
}
protected virtual void OnEditProperties(TimeNode tNode, object val) {
- EditCategoryDialog dialog = new EditCategoryDialog();
- dialog.Category = tNode as Category;
- dialog.Template = project.Categories;
- dialog.Project = project;
+ EditCategoryDialog dialog = new EditCategoryDialog(project, tNode as Category);
dialog.Run();
dialog.Destroy();
Config.EventsBroker.EmitTimeNodeChanged (tNode, tNode.Name);
diff --git a/LongoMatch.GUI/Gui/Component/PlaysPositionViewer.cs
b/LongoMatch.GUI/Gui/Component/PlaysPositionViewer.cs
new file mode 100644
index 0000000..11ba49e
--- /dev/null
+++ b/LongoMatch.GUI/Gui/Component/PlaysPositionViewer.cs
@@ -0,0 +1,100 @@
+//
+// Copyright (C) 2014 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 LongoMatch.Common;
+using LongoMatch.Store;
+using LongoMatch.Gui.Menus;
+using System.Collections.Generic;
+
+namespace LongoMatch.Gui.Component
+{
+ [System.ComponentModel.ToolboxItem(true)]
+ public partial class PlaysPositionViewer : Gtk.Bin
+ {
+
+ PlaysMenu menu;
+
+ public PlaysPositionViewer ()
+ {
+ this.Build ();
+ field.Tagger.FieldPosition = FieldPositionType.Field;
+ hfield.Tagger.FieldPosition = FieldPositionType.HalfField;
+ goal.Tagger.FieldPosition = FieldPositionType.Goal;
+ field.Tagger.ShowMenuEvent += HandleShowMenuEvent;
+ hfield.Tagger.ShowMenuEvent += HandleShowMenuEvent;
+ goal.Tagger.ShowMenuEvent += HandleShowMenuEvent;
+ Config.EventsBroker.PlaySelected += HandlePlaySelected;
+ Config.EventsBroker.SegmentClosed += HandleSegmentClosed;
+ menu = new PlaysMenu ();
+ }
+
+ public void LoadProject (Project project) {
+ if (project != null) {
+ field.Tagger.Background = project.GetBackground (FieldPositionType.Field);
+ hfield.Tagger.Background = project.GetBackground
(FieldPositionType.HalfField);
+ goal.Tagger.Background = project.GetBackground (FieldPositionType.Goal);
+ field.Tagger.Plays = project.Timeline;
+ hfield.Tagger.Plays = project.Timeline;
+ goal.Tagger.Plays = project.Timeline;
+ }
+ }
+
+ public void AddPlay (Play play) {
+ field.Tagger.AddPlay (play);
+ hfield.Tagger.AddPlay (play);
+ goal.Tagger.AddPlay (play);
+ QueueDraw ();
+ }
+
+ public void RemovePlays (List<Play> plays) {
+ field.Tagger.RemovePlays (plays);
+ hfield.Tagger.RemovePlays (plays);
+ goal.Tagger.RemovePlays (plays);
+ QueueDraw ();
+ }
+
+ void HandlePlaySelected (Play play)
+ {
+ field.Tagger.SelectPlay (play);
+ hfield.Tagger.SelectPlay (play);
+ goal.Tagger.SelectPlay (play);
+ }
+
+ void HandleSegmentClosed ()
+ {
+ field.Tagger.ClearSelection ();
+ hfield.Tagger.ClearSelection ();
+ goal.Tagger.ClearSelection ();
+ }
+
+ void HandleShowMenuEvent (System.Collections.Generic.List<Play> plays)
+ {
+ if (plays == null || plays.Count == 0) {
+ return;
+ }
+ menu.ShowMenu (plays);
+ }
+
+ protected override void OnDestroyed ()
+ {
+ base.OnDestroyed ();
+ Config.EventsBroker.PlaySelected -= HandlePlaySelected;
+ }
+ }
+}
+
diff --git a/LongoMatch.GUI/Gui/Component/Stats/CategoriesViewer.cs
b/LongoMatch.GUI/Gui/Component/Stats/CategoriesViewer.cs
index 792b482..786acea 100644
--- a/LongoMatch.GUI/Gui/Component/Stats/CategoriesViewer.cs
+++ b/LongoMatch.GUI/Gui/Component/Stats/CategoriesViewer.cs
@@ -42,10 +42,10 @@ namespace LongoMatch.Gui.Component.Stats
treeview.EnableTreeLines = false;
}
- public void LoadStats (ProjectStats pstats) {
+ public void LoadStats (ProjectStats pstats, Project project) {
categoryviewer1.HomeName = pstats.LocalTeam;
categoryviewer1.AwayName = pstats.VisitorTeam;
- categoryviewer1.LoadBackgrounds (pstats.Field, pstats.HalfField, pstats.Goal);
+ categoryviewer1.LoadBackgrounds (project);
this.pstats = pstats;
ReloadStats();
}
diff --git a/LongoMatch.GUI/Gui/Component/Stats/CategoryViewer.cs
b/LongoMatch.GUI/Gui/Component/Stats/CategoryViewer.cs
index 222e9e2..07a42fd 100644
--- a/LongoMatch.GUI/Gui/Component/Stats/CategoryViewer.cs
+++ b/LongoMatch.GUI/Gui/Component/Stats/CategoryViewer.cs
@@ -21,6 +21,7 @@ using LongoMatch.Stats;
using System.Collections.Generic;
using LongoMatch.Common;
using Image = LongoMatch.Common.Image;
+using LongoMatch.Store;
namespace LongoMatch.Gui.Component.Stats
{
@@ -39,34 +40,25 @@ namespace LongoMatch.Gui.Component.Stats
public string HomeName { get; set; }
public string AwayName { get; set; }
- public void LoadBackgrounds (Image field, Image halfField, Image goal) {
- alltagger.LoadBackgrounds (field, halfField, goal);
- hometagger.LoadBackgrounds (field, halfField, goal);
- awaytagger.LoadBackgrounds (field, halfField, goal);
+ public void LoadBackgrounds (Project project) {
+ alltagger.LoadBackgrounds (project);
+ hometagger.LoadBackgrounds (project);
+ awaytagger.LoadBackgrounds (project);
}
public void LoadStats (CategoryStats stats) {
homeLabel.Text = HomeName;
awayLabel.Text = AwayName;
- alltagger.LoadFieldCoordinates (stats.FieldCoordinates);
- alltagger.LoadHalfFieldCoordinates (stats.HalfFieldCoordinates);
- alltagger.LoadGoalCoordinates (stats.GoalCoordinates);
- alltagger.CoordinatesSensitive = false;
+ alltagger.LoadStats (stats);
allframe.Visible = stats.FieldCoordinates.Count + stats.HalfFieldCoordinates.Count +
stats.GoalCoordinates.Count != 0;
- hometagger.LoadFieldCoordinates (stats.HomeFieldCoordinates);
- hometagger.LoadHalfFieldCoordinates (stats.HomeHalfFieldCoordinates);
- hometagger.LoadGoalCoordinates (stats.HomeGoalCoordinates);
- hometagger.CoordinatesSensitive = false;
+ hometagger.LoadStats (stats);
homeframe.Visible = stats.HomeFieldCoordinates.Count +
stats.HomeHalfFieldCoordinates.Count +
stats.HomeGoalCoordinates.Count != 0;
- awaytagger.LoadFieldCoordinates (stats.AwayFieldCoordinates);
- awaytagger.LoadHalfFieldCoordinates (stats.AwayHalfFieldCoordinates);
- awaytagger.LoadGoalCoordinates (stats.AwayGoalCoordinates);
- awaytagger.CoordinatesSensitive = false;
+ awaytagger.LoadStats (stats);
awayframe.Visible = stats.AwayFieldCoordinates.Count +
stats.AwayHalfFieldCoordinates.Count +
stats.AwayGoalCoordinates.Count != 0;
diff --git a/LongoMatch.GUI/Gui/Component/Stats/PlayerCategoriesViewer.cs
b/LongoMatch.GUI/Gui/Component/Stats/PlayerCategoriesViewer.cs
index 6fb6c88..b38b1a6 100644
--- a/LongoMatch.GUI/Gui/Component/Stats/PlayerCategoriesViewer.cs
+++ b/LongoMatch.GUI/Gui/Component/Stats/PlayerCategoriesViewer.cs
@@ -40,8 +40,8 @@ namespace LongoMatch.Gui.Component.Stats
treeview.EnableTreeLines = false;
}
- public void LoadStats (ProjectStats pstats) {
- categoryviewer.LoadBackgrounds (pstats.Field, pstats.HalfField, pstats.Goal);
+ public void LoadStats (ProjectStats pstats, Project project) {
+ categoryviewer.LoadBackgrounds (project);
this.pstats = pstats;
ReloadStats();
}
diff --git a/LongoMatch.GUI/Gui/Component/Stats/PlayerCategoryViewer.cs
b/LongoMatch.GUI/Gui/Component/Stats/PlayerCategoryViewer.cs
index a168677..b5c69ce 100644
--- a/LongoMatch.GUI/Gui/Component/Stats/PlayerCategoryViewer.cs
+++ b/LongoMatch.GUI/Gui/Component/Stats/PlayerCategoryViewer.cs
@@ -22,6 +22,7 @@ using Gtk;
using LongoMatch.Common;
using LongoMatch.Stats;
using Image = LongoMatch.Common.Image;
+using LongoMatch.Store;
namespace LongoMatch.Gui.Component.Stats
{
@@ -33,15 +34,12 @@ namespace LongoMatch.Gui.Component.Stats
this.Build ();
}
- public void LoadBackgrounds (Image field, Image halfField, Image goal) {
- tagger.LoadBackgrounds (field, halfField, goal);
+ public void LoadBackgrounds (Project project) {
+ tagger.LoadBackgrounds (project);
}
public void LoadStats (CategoryStats stats) {
- tagger.LoadFieldCoordinates (stats.FieldCoordinates);
- tagger.LoadHalfFieldCoordinates (stats.HalfFieldCoordinates);
- tagger.LoadGoalCoordinates (stats.GoalCoordinates);
- tagger.CoordinatesSensitive = false;
+ tagger.LoadStats (stats);
foreach (Widget child in vbox1.AllChildren) {
if (!(child is PlaysCoordinatesTagger))
diff --git a/LongoMatch.GUI/Gui/Component/Stats/PlayersViewer.cs
b/LongoMatch.GUI/Gui/Component/Stats/PlayersViewer.cs
index 49068c4..4c2dcdd 100644
--- a/LongoMatch.GUI/Gui/Component/Stats/PlayersViewer.cs
+++ b/LongoMatch.GUI/Gui/Component/Stats/PlayersViewer.cs
@@ -54,7 +54,7 @@ namespace LongoMatch.Gui.Component.Stats
filter = new PlaysFilter (project);
filter.PlayersFilterEnabled = true;
pstats.Filter = filter;
- categoriesviewer.LoadStats (pstats);
+ categoriesviewer.LoadStats (pstats, project);
AddTeam (project.LocalTeamTemplate, project.Categories);
AddTeam (project.VisitorTeamTemplate, project.Categories);
filter.Update();
diff --git a/LongoMatch.GUI/Gui/Component/Timeline.cs b/LongoMatch.GUI/Gui/Component/Timeline.cs
index 1431403..a036343 100644
--- a/LongoMatch.GUI/Gui/Component/Timeline.cs
+++ b/LongoMatch.GUI/Gui/Component/Timeline.cs
@@ -26,6 +26,7 @@ using LongoMatch.Drawing.Cairo;
using LongoMatch.Drawing;
using Gtk;
using Mono.Unix;
+using LongoMatch.Gui.Menus;
namespace LongoMatch.Gui.Component
{
diff --git a/LongoMatch.GUI/Gui/Dialog/EditCategoryDialog.cs b/LongoMatch.GUI/Gui/Dialog/EditCategoryDialog.cs
index 38fe706..7fb010c 100644
--- a/LongoMatch.GUI/Gui/Dialog/EditCategoryDialog.cs
+++ b/LongoMatch.GUI/Gui/Dialog/EditCategoryDialog.cs
@@ -37,29 +37,13 @@ namespace LongoMatch.Gui.Dialog
{
private List<HotKey> hkList;
- public EditCategoryDialog()
+ public EditCategoryDialog(Project project, Category cat)
{
this.Build();
+ timenodeproperties2.Template = project.Categories;
+ timenodeproperties2.Category = cat;
+ timenodeproperties2.Project = project;
timenodeproperties2.HotKeyChanged += OnHotKeyChanged;
-// timenodeproperties2.LoadSubcategories();
- }
-
- public Category Category {
- set {
- timenodeproperties2.Category = value;
- }
- }
-
- public Categories Template {
- set {
- timenodeproperties2.Template = value;
- }
- }
-
- public Project Project {
- set {
- timenodeproperties2.Project = value;
- }
}
public List<HotKey> HotKeysList {
diff --git a/LongoMatch.GUI/Gui/Dialog/StatsViewer.cs b/LongoMatch.GUI/Gui/Dialog/StatsViewer.cs
index 3047da7..117f959 100644
--- a/LongoMatch.GUI/Gui/Dialog/StatsViewer.cs
+++ b/LongoMatch.GUI/Gui/Dialog/StatsViewer.cs
@@ -41,7 +41,7 @@ namespace LongoMatch.Gui.Dialog
if (stats != null)
stats.Dispose();
stats = new ProjectStats (project);
- categoriesviewer.LoadStats (stats);
+ categoriesviewer.LoadStats (stats, project);
gameviewer.LoadProject (project, stats);
/* Player stats are filtered */
playersviewer.LoadProject (project, new ProjectStats (project));
diff --git a/LongoMatch.GUI/Gui/Panel/SportsTemplatesPanel.cs
b/LongoMatch.GUI/Gui/Panel/SportsTemplatesPanel.cs
index cede9fd..bcd6b63 100644
--- a/LongoMatch.GUI/Gui/Panel/SportsTemplatesPanel.cs
+++ b/LongoMatch.GUI/Gui/Panel/SportsTemplatesPanel.cs
@@ -73,7 +73,7 @@ namespace LongoMatch.Gui.Panel
Load (null);
}
-
+
void Load (string templateName) {
TreeIter templateIter = TreeIter.Zero;
bool first = true;
diff --git a/LongoMatch.GUI/LongoMatch.GUI.mdp b/LongoMatch.GUI/LongoMatch.GUI.mdp
index f55a22b..e96014e 100644
--- a/LongoMatch.GUI/LongoMatch.GUI.mdp
+++ b/LongoMatch.GUI/LongoMatch.GUI.mdp
@@ -172,6 +172,8 @@
<File subtype="Code" buildaction="Compile" name="gtk-gui/LongoMatch.Gui.Component.ProjectPeriods.cs" />
<File subtype="Code" buildaction="Compile" name="Gui/Component/PeriodsRecoder.cs" />
<File subtype="Code" buildaction="Compile" name="gtk-gui/LongoMatch.Gui.Component.PeriodsRecoder.cs" />
+ <File subtype="Code" buildaction="Compile" name="Gui/Component/PlaysPositionViewer.cs" />
+ <File subtype="Code" buildaction="Compile"
name="gtk-gui/LongoMatch.Gui.Component.PlaysPositionViewer.cs" />
</Contents>
<References>
<ProjectReference type="Package" localcopy="True" refto="atk-sharp, Version=2.12.0.0, Culture=neutral,
PublicKeyToken=35e10195dab3c99f" />
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.AnalysisComponent.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.AnalysisComponent.cs
index 212b819..d0c1499 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.AnalysisComponent.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.AnalysisComponent.cs
@@ -14,7 +14,6 @@ namespace LongoMatch.Gui.Component
private global::LongoMatch.Gui.PlayerCapturerBin playercapturer;
private global::Gtk.HBox righthbox;
private global::Gtk.VBox tagsvbox;
- private global::LongoMatch.Gui.Component.PlaysCoordinatesTagger postagger;
private global::Gtk.Frame notesframe;
private global::Gtk.Alignment GtkAlignment22;
private global::LongoMatch.Gui.Component.NotesWidget notes;
@@ -86,13 +85,6 @@ namespace LongoMatch.Gui.Component
this.tagsvbox.Name = "tagsvbox";
this.tagsvbox.Spacing = 6;
// Container child tagsvbox.Gtk.Box+BoxChild
- this.postagger = new global::LongoMatch.Gui.Component.PlaysCoordinatesTagger ();
- this.postagger.Events = ((global::Gdk.EventMask)(256));
- this.postagger.Name = "postagger";
- this.tagsvbox.Add (this.postagger);
- global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.tagsvbox
[this.postagger]));
- w7.Position = 0;
- // Container child tagsvbox.Gtk.Box+BoxChild
this.notesframe = new global::Gtk.Frame ();
this.notesframe.Name = "notesframe";
this.notesframe.ShadowType = ((global::Gtk.ShadowType)(0));
@@ -112,21 +104,21 @@ namespace LongoMatch.Gui.Component
this.GtkLabel31.UseMarkup = true;
this.notesframe.LabelWidget = this.GtkLabel31;
this.tagsvbox.Add (this.notesframe);
- global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.tagsvbox
[this.notesframe]));
- w10.Position = 1;
+ global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.tagsvbox
[this.notesframe]));
+ w9.Position = 0;
this.righthbox.Add (this.tagsvbox);
- global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.righthbox
[this.tagsvbox]));
- w11.Position = 0;
+ global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.righthbox
[this.tagsvbox]));
+ w10.Position = 0;
this.hpaned1.Add (this.righthbox);
- global::Gtk.Paned.PanedChild w12 = ((global::Gtk.Paned.PanedChild)(this.hpaned1
[this.righthbox]));
- w12.Resize = false;
- w12.Shrink = false;
+ global::Gtk.Paned.PanedChild w11 = ((global::Gtk.Paned.PanedChild)(this.hpaned1
[this.righthbox]));
+ w11.Resize = false;
+ w11.Shrink = false;
this.hpaned.Add (this.hpaned1);
- global::Gtk.Paned.PanedChild w13 = ((global::Gtk.Paned.PanedChild)(this.hpaned
[this.hpaned1]));
- w13.Shrink = false;
+ global::Gtk.Paned.PanedChild w12 = ((global::Gtk.Paned.PanedChild)(this.hpaned
[this.hpaned1]));
+ w12.Shrink = false;
this.vpaned1.Add (this.hpaned);
- global::Gtk.Paned.PanedChild w14 = ((global::Gtk.Paned.PanedChild)(this.vpaned1
[this.hpaned]));
- w14.Resize = false;
+ global::Gtk.Paned.PanedChild w13 = ((global::Gtk.Paned.PanedChild)(this.vpaned1
[this.hpaned]));
+ w13.Resize = false;
// Container child vpaned1.Gtk.Paned+PanedChild
this.codingwidget = new global::LongoMatch.Gui.Component.CodingWidget ();
this.codingwidget.Events = ((global::Gdk.EventMask)(256));
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs
index 2ff75b2..8d168dc 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CategoryProperties.cs
@@ -41,10 +41,7 @@ namespace LongoMatch.Gui.Component
private global::Gtk.Alignment GtkAlignment9;
private global::Gtk.CheckButton taggoalcheckbutton;
private global::Gtk.Label GtkLabel13;
- private global::Gtk.Table table3;
- private global::LongoMatch.Gui.Component.CoordinatesTagger fieldcoordinatestagger;
- private global::LongoMatch.Gui.Component.CoordinatesTagger goalcoordinatestagger;
- private global::LongoMatch.Gui.Component.CoordinatesTagger halffieldcoordinatestagger;
+ private global::Gtk.Table table1;
private global::Gtk.Label GtkLabel6;
private global::Gtk.Frame frame3;
private global::Gtk.Alignment GtkAlignment3;
@@ -402,43 +399,16 @@ namespace LongoMatch.Gui.Component
w29.Expand = false;
w29.Fill = false;
// Container child vbox5.Gtk.Box+BoxChild
- this.table3 = new global::Gtk.Table (((uint)(1)), ((uint)(3)), true);
- this.table3.Name = "table3";
- this.table3.RowSpacing = ((uint)(6));
- this.table3.ColumnSpacing = ((uint)(6));
- // Container child table3.Gtk.Table+TableChild
- this.fieldcoordinatestagger = new global::LongoMatch.Gui.Component.CoordinatesTagger
();
- this.fieldcoordinatestagger.Sensitive = false;
- this.fieldcoordinatestagger.Events = ((global::Gdk.EventMask)(256));
- this.fieldcoordinatestagger.Name = "fieldcoordinatestagger";
- this.fieldcoordinatestagger.Sensitive = false;
- this.table3.Add (this.fieldcoordinatestagger);
- // Container child table3.Gtk.Table+TableChild
- this.goalcoordinatestagger = new global::LongoMatch.Gui.Component.CoordinatesTagger
();
- this.goalcoordinatestagger.Sensitive = false;
- this.goalcoordinatestagger.Events = ((global::Gdk.EventMask)(256));
- this.goalcoordinatestagger.Name = "goalcoordinatestagger";
- this.goalcoordinatestagger.Sensitive = false;
- this.table3.Add (this.goalcoordinatestagger);
- global::Gtk.Table.TableChild w31 = ((global::Gtk.Table.TableChild)(this.table3
[this.goalcoordinatestagger]));
- w31.LeftAttach = ((uint)(2));
- w31.RightAttach = ((uint)(3));
- // Container child table3.Gtk.Table+TableChild
- this.halffieldcoordinatestagger = new
global::LongoMatch.Gui.Component.CoordinatesTagger ();
- this.halffieldcoordinatestagger.Sensitive = false;
- this.halffieldcoordinatestagger.Events = ((global::Gdk.EventMask)(256));
- this.halffieldcoordinatestagger.Name = "halffieldcoordinatestagger";
- this.halffieldcoordinatestagger.Sensitive = false;
- this.table3.Add (this.halffieldcoordinatestagger);
- global::Gtk.Table.TableChild w32 = ((global::Gtk.Table.TableChild)(this.table3
[this.halffieldcoordinatestagger]));
- w32.LeftAttach = ((uint)(1));
- w32.RightAttach = ((uint)(2));
- this.vbox5.Add (this.table3);
- global::Gtk.Box.BoxChild w33 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.table3]));
- w33.Position = 1;
+ this.table1 = new global::Gtk.Table (((uint)(1)), ((uint)(3)), false);
+ this.table1.Name = "table1";
+ this.table1.RowSpacing = ((uint)(6));
+ this.table1.ColumnSpacing = ((uint)(6));
+ this.vbox5.Add (this.table1);
+ global::Gtk.Box.BoxChild w30 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.table1]));
+ w30.Position = 1;
this.vbox3.Add (this.vbox5);
- global::Gtk.Box.BoxChild w34 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.vbox5]));
- w34.Position = 1;
+ global::Gtk.Box.BoxChild w31 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.vbox5]));
+ w31.Position = 1;
this.GtkAlignment1.Add (this.vbox3);
this.frame4.Add (this.GtkAlignment1);
this.GtkLabel6 = new global::Gtk.Label ();
@@ -447,10 +417,10 @@ namespace LongoMatch.Gui.Component
this.GtkLabel6.UseMarkup = true;
this.frame4.LabelWidget = this.GtkLabel6;
this.vbox2.Add (this.frame4);
- global::Gtk.Box.BoxChild w37 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.frame4]));
- w37.Position = 0;
- w37.Expand = false;
- w37.Fill = false;
+ global::Gtk.Box.BoxChild w34 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.frame4]));
+ w34.Position = 0;
+ w34.Expand = false;
+ w34.Fill = false;
// Container child vbox2.Gtk.Box+BoxChild
this.frame3 = new global::Gtk.Frame ();
this.frame3.Name = "frame3";
@@ -473,8 +443,8 @@ namespace LongoMatch.Gui.Component
this.subcategoriestreeview1.Name = "subcategoriestreeview1";
this.GtkScrolledWindow.Add (this.subcategoriestreeview1);
this.vbox1.Add (this.GtkScrolledWindow);
- global::Gtk.Box.BoxChild w39 = ((global::Gtk.Box.BoxChild)(this.vbox1
[this.GtkScrolledWindow]));
- w39.Position = 0;
+ global::Gtk.Box.BoxChild w36 = ((global::Gtk.Box.BoxChild)(this.vbox1
[this.GtkScrolledWindow]));
+ w36.Position = 0;
// Container child vbox1.Gtk.Box+BoxChild
this.hbox3 = new global::Gtk.HBox ();
this.hbox3.Name = "hbox3";
@@ -501,10 +471,10 @@ namespace LongoMatch.Gui.Component
this.GtkLabel7.UseMarkup = true;
this.frame1.LabelWidget = this.GtkLabel7;
this.hbox3.Add (this.frame1);
- global::Gtk.Box.BoxChild w42 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.frame1]));
- w42.Position = 0;
- w42.Expand = false;
- w42.Fill = false;
+ global::Gtk.Box.BoxChild w39 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.frame1]));
+ w39.Position = 0;
+ w39.Expand = false;
+ w39.Fill = false;
// Container child hbox3.Gtk.Box+BoxChild
this.frame2 = new global::Gtk.Frame ();
this.frame2.Name = "frame2";
@@ -524,8 +494,8 @@ namespace LongoMatch.Gui.Component
this.GtkLabel8.UseMarkup = true;
this.frame2.LabelWidget = this.GtkLabel8;
this.hbox3.Add (this.frame2);
- global::Gtk.Box.BoxChild w45 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.frame2]));
- w45.Position = 1;
+ global::Gtk.Box.BoxChild w42 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.frame2]));
+ w42.Position = 1;
// Container child hbox3.Gtk.Box+BoxChild
this.addbutton = new global::Gtk.Button ();
this.addbutton.TooltipMarkup = "Add this subcategory";
@@ -534,31 +504,31 @@ namespace LongoMatch.Gui.Component
this.addbutton.Name = "addbutton";
this.addbutton.UseUnderline = true;
// Container child addbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w46 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w43 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w47 = new global::Gtk.HBox ();
- w47.Spacing = 2;
+ global::Gtk.HBox w44 = new global::Gtk.HBox ();
+ w44.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w48 = new global::Gtk.Image ();
- w48.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-add",
global::Gtk.IconSize.Menu);
- w47.Add (w48);
+ global::Gtk.Image w45 = new global::Gtk.Image ();
+ w45.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-add",
global::Gtk.IconSize.Menu);
+ w44.Add (w45);
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w50 = new global::Gtk.Label ();
- w50.LabelProp = global::Mono.Unix.Catalog.GetString ("_Add subcategory");
- w50.UseUnderline = true;
- w47.Add (w50);
- w46.Add (w47);
- this.addbutton.Add (w46);
+ global::Gtk.Label w47 = new global::Gtk.Label ();
+ w47.LabelProp = global::Mono.Unix.Catalog.GetString ("_Add subcategory");
+ w47.UseUnderline = true;
+ w44.Add (w47);
+ w43.Add (w44);
+ this.addbutton.Add (w43);
this.hbox3.Add (this.addbutton);
- global::Gtk.Box.BoxChild w54 = ((global::Gtk.Box.BoxChild)(this.hbox3
[this.addbutton]));
- w54.Position = 2;
- w54.Expand = false;
- w54.Fill = false;
+ global::Gtk.Box.BoxChild w51 = ((global::Gtk.Box.BoxChild)(this.hbox3
[this.addbutton]));
+ w51.Position = 2;
+ w51.Expand = false;
+ w51.Fill = false;
this.vbox1.Add (this.hbox3);
- global::Gtk.Box.BoxChild w55 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hbox3]));
- w55.Position = 1;
- w55.Expand = false;
- w55.Fill = false;
+ global::Gtk.Box.BoxChild w52 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hbox3]));
+ w52.Position = 1;
+ w52.Expand = false;
+ w52.Fill = false;
this.GtkAlignment3.Add (this.vbox1);
this.frame3.Add (this.GtkAlignment3);
this.GtkLabel11 = new global::Gtk.Label ();
@@ -567,8 +537,8 @@ namespace LongoMatch.Gui.Component
this.GtkLabel11.UseMarkup = true;
this.frame3.LabelWidget = this.GtkLabel11;
this.vbox2.Add (this.frame3);
- global::Gtk.Box.BoxChild w58 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.frame3]));
- w58.Position = 1;
+ global::Gtk.Box.BoxChild w55 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.frame3]));
+ w55.Position = 1;
this.Add (this.vbox2);
if ((this.Child != null)) {
this.Child.ShowAll ();
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
index d2365a9..5da0931 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
@@ -8,6 +8,8 @@ namespace LongoMatch.Gui.Component
private global::Gtk.RadioAction timelineMode;
private global::Gtk.RadioAction autoTaggingMode;
private global::Gtk.Action zoomFitAction;
+ private global::Gtk.RadioAction convertAction;
+ private global::Gtk.RadioAction positionMode;
private global::Gtk.VBox vbox2;
private global::Gtk.HBox hbox1;
private global::Gtk.Toolbar codingtoolbar;
@@ -15,6 +17,7 @@ namespace LongoMatch.Gui.Component
private global::Gtk.DrawingArea drawingarea1;
private global::LongoMatch.Gui.Component.ButtonsWidget buttonswidget;
private global::LongoMatch.Gui.Component.Timeline timeline;
+ private global::LongoMatch.Gui.Component.PlaysPositionViewer playspositionviewer1;
protected virtual void Build ()
{
@@ -31,8 +34,14 @@ namespace LongoMatch.Gui.Component
w2.Add (this.autoTaggingMode, null);
this.zoomFitAction = new global::Gtk.Action ("zoomFitAction", null, null,
"gtk-zoom-fit");
w2.Add (this.zoomFitAction, null);
+ this.convertAction = new global::Gtk.RadioAction ("convertAction", null, null,
"gtk-convert", 0);
+ this.convertAction.Group = this.autoTaggingMode.Group;
+ w2.Add (this.convertAction, null);
this.UIManager.InsertActionGroup (w2, 0);
global::Gtk.ActionGroup w3 = new global::Gtk.ActionGroup ("Timeline");
+ this.positionMode = new global::Gtk.RadioAction ("positionMode", null, null,
"gtk-justify-fill", 0);
+ this.positionMode.Group = this.convertAction.Group;
+ w3.Add (this.positionMode, null);
this.UIManager.InsertActionGroup (w3, 1);
this.Name = "LongoMatch.Gui.Component.CodingWidget";
// Container child LongoMatch.Gui.Component.CodingWidget.Gtk.Container+ContainerChild
@@ -44,7 +53,7 @@ namespace LongoMatch.Gui.Component
this.hbox1.Name = "hbox1";
this.hbox1.Spacing = 6;
// Container child hbox1.Gtk.Box+BoxChild
- this.UIManager.AddUiFromString ("<ui><toolbar name='codingtoolbar'><toolitem
name='autoTaggingMode' action='autoTaggingMode'/><toolitem name='timelineMode'
action='timelineMode'/></toolbar></ui>");
+ this.UIManager.AddUiFromString ("<ui><toolbar name='codingtoolbar'><toolitem
name='autoTaggingMode' action='autoTaggingMode'/><toolitem name='timelineMode'
action='timelineMode'/><toolitem name='positionMode' action='positionMode'/></toolbar></ui>");
this.codingtoolbar = ((global::Gtk.Toolbar)(this.UIManager.GetWidget
("/codingtoolbar")));
this.codingtoolbar.Name = "codingtoolbar";
this.codingtoolbar.ShowArrow = false;
@@ -82,9 +91,16 @@ namespace LongoMatch.Gui.Component
this.hbox2.Add (this.timeline);
global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.hbox2
[this.timeline]));
w8.Position = 2;
+ // Container child hbox2.Gtk.Box+BoxChild
+ this.playspositionviewer1 = new global::LongoMatch.Gui.Component.PlaysPositionViewer
();
+ this.playspositionviewer1.Events = ((global::Gdk.EventMask)(256));
+ this.playspositionviewer1.Name = "playspositionviewer1";
+ this.hbox2.Add (this.playspositionviewer1);
+ global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox2
[this.playspositionviewer1]));
+ w9.Position = 3;
this.vbox2.Add (this.hbox2);
- global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox2]));
- w9.Position = 1;
+ global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox2]));
+ w10.Position = 1;
this.Add (this.vbox2);
if ((this.Child != null)) {
this.Child.ShowAll ();
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.PlaysCoordinatesTagger.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.PlaysCoordinatesTagger.cs
index 5bc98d6..185a488 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.PlaysCoordinatesTagger.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.PlaysCoordinatesTagger.cs
@@ -4,7 +4,11 @@ namespace LongoMatch.Gui.Component
{
public partial class PlaysCoordinatesTagger
{
- private global::Gtk.VBox mainbox;
+ private global::Gtk.HBox mainbox;
+ private global::LongoMatch.Gui.Component.CoordinatesTagger field;
+ private global::Gtk.VBox vbox2;
+ private global::LongoMatch.Gui.Component.CoordinatesTagger hfield;
+ private global::LongoMatch.Gui.Component.CoordinatesTagger goal;
protected virtual void Build ()
{
@@ -13,9 +17,37 @@ namespace LongoMatch.Gui.Component
global::Stetic.BinContainer.Attach (this);
this.Name = "LongoMatch.Gui.Component.PlaysCoordinatesTagger";
// Container child
LongoMatch.Gui.Component.PlaysCoordinatesTagger.Gtk.Container+ContainerChild
- this.mainbox = new global::Gtk.VBox ();
+ this.mainbox = new global::Gtk.HBox ();
this.mainbox.Name = "mainbox";
this.mainbox.Spacing = 6;
+ // Container child mainbox.Gtk.Box+BoxChild
+ this.field = new global::LongoMatch.Gui.Component.CoordinatesTagger ();
+ this.field.Events = ((global::Gdk.EventMask)(256));
+ this.field.Name = "field";
+ this.mainbox.Add (this.field);
+ global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.mainbox [this.field]));
+ w1.Position = 0;
+ // Container child mainbox.Gtk.Box+BoxChild
+ this.vbox2 = new global::Gtk.VBox ();
+ this.vbox2.Name = "vbox2";
+ this.vbox2.Spacing = 6;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.hfield = new global::LongoMatch.Gui.Component.CoordinatesTagger ();
+ this.hfield.Events = ((global::Gdk.EventMask)(256));
+ this.hfield.Name = "hfield";
+ this.vbox2.Add (this.hfield);
+ global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hfield]));
+ w2.Position = 0;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.goal = new global::LongoMatch.Gui.Component.CoordinatesTagger ();
+ this.goal.Events = ((global::Gdk.EventMask)(256));
+ this.goal.Name = "goal";
+ this.vbox2.Add (this.goal);
+ global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.goal]));
+ w3.Position = 1;
+ this.mainbox.Add (this.vbox2);
+ global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.mainbox [this.vbox2]));
+ w4.Position = 1;
this.Add (this.mainbox);
if ((this.Child != null)) {
this.Child.ShowAll ();
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.PlaysPositionViewer.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.PlaysPositionViewer.cs
new file mode 100644
index 0000000..e75afba
--- /dev/null
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.PlaysPositionViewer.cs
@@ -0,0 +1,58 @@
+
+// This file has been generated by the GUI designer. Do not modify.
+namespace LongoMatch.Gui.Component
+{
+ public partial class PlaysPositionViewer
+ {
+ private global::Gtk.HBox hbox1;
+ private global::LongoMatch.Gui.Component.CoordinatesTagger field;
+ private global::Gtk.VBox vbox2;
+ private global::LongoMatch.Gui.Component.CoordinatesTagger hfield;
+ private global::LongoMatch.Gui.Component.CoordinatesTagger goal;
+
+ protected virtual void Build ()
+ {
+ global::Stetic.Gui.Initialize (this);
+ // Widget LongoMatch.Gui.Component.PlaysPositionViewer
+ global::Stetic.BinContainer.Attach (this);
+ this.Name = "LongoMatch.Gui.Component.PlaysPositionViewer";
+ // Container child
LongoMatch.Gui.Component.PlaysPositionViewer.Gtk.Container+ContainerChild
+ this.hbox1 = new global::Gtk.HBox ();
+ this.hbox1.Name = "hbox1";
+ this.hbox1.Spacing = 6;
+ // Container child hbox1.Gtk.Box+BoxChild
+ this.field = new global::LongoMatch.Gui.Component.CoordinatesTagger ();
+ this.field.Events = ((global::Gdk.EventMask)(256));
+ this.field.Name = "field";
+ this.hbox1.Add (this.field);
+ global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.field]));
+ w1.Position = 0;
+ // Container child hbox1.Gtk.Box+BoxChild
+ this.vbox2 = new global::Gtk.VBox ();
+ this.vbox2.Name = "vbox2";
+ this.vbox2.Spacing = 6;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.hfield = new global::LongoMatch.Gui.Component.CoordinatesTagger ();
+ this.hfield.Events = ((global::Gdk.EventMask)(256));
+ this.hfield.Name = "hfield";
+ this.vbox2.Add (this.hfield);
+ global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hfield]));
+ w2.Position = 0;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.goal = new global::LongoMatch.Gui.Component.CoordinatesTagger ();
+ this.goal.Events = ((global::Gdk.EventMask)(256));
+ this.goal.Name = "goal";
+ this.vbox2.Add (this.goal);
+ global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.goal]));
+ w3.Position = 1;
+ this.hbox1.Add (this.vbox2);
+ global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox2]));
+ w4.Position = 1;
+ this.Add (this.hbox1);
+ if ((this.Child != null)) {
+ this.Child.ShowAll ();
+ }
+ this.Hide ();
+ }
+ }
+}
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.ProjectPeriods.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.ProjectPeriods.cs
index 3c810bf..1113cf5 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.ProjectPeriods.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.ProjectPeriods.cs
@@ -6,10 +6,10 @@ namespace LongoMatch.Gui.Component
{
private global::Gtk.VBox vbox2;
private global::LongoMatch.Gui.PlayerBin playerbin2;
+ private global::Gtk.Label synclabel;
private global::Gtk.DrawingArea drawingarea1;
private global::Gtk.ScrolledWindow scrolledwindow2;
private global::Gtk.DrawingArea drawingarea2;
- private global::Gtk.Label synclabel;
protected virtual void Build ()
{
@@ -29,12 +29,23 @@ namespace LongoMatch.Gui.Component
global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.playerbin2]));
w1.Position = 0;
// Container child vbox2.Gtk.Box+BoxChild
+ this.synclabel = new global::Gtk.Label ();
+ this.synclabel.Name = "synclabel";
+ this.synclabel.UseMarkup = true;
+ this.vbox2.Add (this.synclabel);
+ global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.synclabel]));
+ w2.Position = 1;
+ w2.Expand = false;
+ w2.Fill = false;
+ w2.Padding = ((uint)(10));
+ // Container child vbox2.Gtk.Box+BoxChild
this.drawingarea1 = new global::Gtk.DrawingArea ();
this.drawingarea1.Name = "drawingarea1";
this.vbox2.Add (this.drawingarea1);
- global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.drawingarea1]));
- w2.Position = 1;
- w2.Expand = false;
+ global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.drawingarea1]));
+ w3.Position = 2;
+ w3.Expand = false;
+ w3.Fill = false;
// Container child vbox2.Gtk.Box+BoxChild
this.scrolledwindow2 = new global::Gtk.ScrolledWindow ();
this.scrolledwindow2.HeightRequest = 50;
@@ -42,25 +53,15 @@ namespace LongoMatch.Gui.Component
this.scrolledwindow2.Name = "scrolledwindow2";
this.scrolledwindow2.ShadowType = ((global::Gtk.ShadowType)(1));
// Container child scrolledwindow2.Gtk.Container+ContainerChild
- global::Gtk.Viewport w3 = new global::Gtk.Viewport ();
- w3.ShadowType = ((global::Gtk.ShadowType)(0));
+ global::Gtk.Viewport w4 = new global::Gtk.Viewport ();
+ w4.ShadowType = ((global::Gtk.ShadowType)(0));
// Container child GtkViewport.Gtk.Container+ContainerChild
this.drawingarea2 = new global::Gtk.DrawingArea ();
this.drawingarea2.Name = "drawingarea2";
- w3.Add (this.drawingarea2);
- this.scrolledwindow2.Add (w3);
+ w4.Add (this.drawingarea2);
+ this.scrolledwindow2.Add (w4);
this.vbox2.Add (this.scrolledwindow2);
- global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.scrolledwindow2]));
- w6.Position = 2;
- w6.Expand = false;
- w6.Fill = false;
- // Container child vbox2.Gtk.Box+BoxChild
- this.synclabel = new global::Gtk.Label ();
- this.synclabel.Name = "synclabel";
- this.synclabel.UseMarkup = true;
- this.vbox2.Add (this.synclabel);
- global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.synclabel]));
- w7.PackType = ((global::Gtk.PackType)(1));
+ global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.scrolledwindow2]));
w7.Position = 3;
w7.Expand = false;
w7.Fill = false;
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.Stats.CategoryViewer.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.Stats.CategoryViewer.cs
index b1e599a..5aa5c26 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.Stats.CategoryViewer.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.Stats.CategoryViewer.cs
@@ -42,7 +42,7 @@ namespace LongoMatch.Gui.Component.Stats
this.notebook1 = new global::Gtk.Notebook ();
this.notebook1.CanFocus = true;
this.notebook1.Name = "notebook1";
- this.notebook1.CurrentPage = 0;
+ this.notebook1.CurrentPage = 1;
// Container child notebook1.Gtk.Notebook+NotebookChild
this.vbox1 = new global::Gtk.VBox ();
this.vbox1.Name = "vbox1";
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
index 6ed0b62..9b7db32 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
@@ -77,6 +77,9 @@ namespace LongoMatch.Gui.Panel
private global::Gtk.Image awayshieldimage;
private global::Gtk.DrawingArea drawingarea1;
private global::Gtk.Label label3;
+ private global::Gtk.VBox vbox6;
+ private global::Gtk.Label label8;
+ private global::Gtk.HSeparator hseparator4;
private global::LongoMatch.Gui.Component.ProjectPeriods projectperiods1;
private global::Gtk.Label label7;
private global::Gtk.HButtonBox hbuttonbox2;
@@ -110,7 +113,7 @@ namespace LongoMatch.Gui.Panel
this.notebook1 = new global::Gtk.Notebook ();
this.notebook1.CanFocus = true;
this.notebook1.Name = "notebook1";
- this.notebook1.CurrentPage = 0;
+ this.notebook1.CurrentPage = 1;
this.notebook1.ShowBorder = false;
this.notebook1.Scrollable = true;
// Container child notebook1.Gtk.Notebook+NotebookChild
@@ -769,24 +772,50 @@ namespace LongoMatch.Gui.Panel
this.notebook1.SetTabLabel (this.vbox4, this.label3);
this.label3.ShowAll ();
// Container child notebook1.Gtk.Notebook+NotebookChild
+ this.vbox6 = new global::Gtk.VBox ();
+ this.vbox6.Name = "vbox6";
+ this.vbox6.Spacing = 6;
+ // Container child vbox6.Gtk.Box+BoxChild
+ this.label8 = new global::Gtk.Label ();
+ this.label8.Name = "label8";
+ this.label8.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Video
synchronization</b>");
+ this.label8.UseMarkup = true;
+ this.vbox6.Add (this.label8);
+ global::Gtk.Box.BoxChild w93 = ((global::Gtk.Box.BoxChild)(this.vbox6 [this.label8]));
+ w93.Position = 0;
+ w93.Expand = false;
+ w93.Fill = false;
+ w93.Padding = ((uint)(30));
+ // Container child vbox6.Gtk.Box+BoxChild
+ this.hseparator4 = new global::Gtk.HSeparator ();
+ this.hseparator4.Name = "hseparator4";
+ this.vbox6.Add (this.hseparator4);
+ global::Gtk.Box.BoxChild w94 = ((global::Gtk.Box.BoxChild)(this.vbox6
[this.hseparator4]));
+ w94.Position = 1;
+ w94.Expand = false;
+ w94.Fill = false;
+ // Container child vbox6.Gtk.Box+BoxChild
this.projectperiods1 = new global::LongoMatch.Gui.Component.ProjectPeriods ();
this.projectperiods1.Events = ((global::Gdk.EventMask)(256));
this.projectperiods1.Name = "projectperiods1";
- this.notebook1.Add (this.projectperiods1);
- global::Gtk.Notebook.NotebookChild w93 =
((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.projectperiods1]));
- w93.Position = 2;
+ this.vbox6.Add (this.projectperiods1);
+ global::Gtk.Box.BoxChild w95 = ((global::Gtk.Box.BoxChild)(this.vbox6
[this.projectperiods1]));
+ w95.Position = 2;
+ this.notebook1.Add (this.vbox6);
+ global::Gtk.Notebook.NotebookChild w96 =
((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.vbox6]));
+ w96.Position = 2;
// Notebook tab
this.label7 = new global::Gtk.Label ();
this.label7.Name = "label7";
this.label7.LabelProp = global::Mono.Unix.Catalog.GetString ("page3");
- this.notebook1.SetTabLabel (this.projectperiods1, this.label7);
+ this.notebook1.SetTabLabel (this.vbox6, this.label7);
this.label7.ShowAll ();
this.hbox3.Add (this.notebook1);
- global::Gtk.Box.BoxChild w94 = ((global::Gtk.Box.BoxChild)(this.hbox3
[this.notebook1]));
- w94.Position = 1;
+ global::Gtk.Box.BoxChild w97 = ((global::Gtk.Box.BoxChild)(this.hbox3
[this.notebook1]));
+ w97.Position = 1;
this.vbox2.Add (this.hbox3);
- global::Gtk.Box.BoxChild w95 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox3]));
- w95.Position = 0;
+ global::Gtk.Box.BoxChild w98 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox3]));
+ w98.Position = 0;
// Container child vbox2.Gtk.Box+BoxChild
this.hbuttonbox2 = new global::Gtk.HButtonBox ();
this.hbuttonbox2.Name = "hbuttonbox2";
@@ -797,81 +826,81 @@ namespace LongoMatch.Gui.Panel
this.backbutton.Name = "backbutton";
this.backbutton.UseUnderline = true;
// Container child backbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w96 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w99 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w97 = new global::Gtk.HBox ();
- w97.Spacing = 2;
+ global::Gtk.HBox w100 = new global::Gtk.HBox ();
+ w100.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w98 = new global::Gtk.Image ();
- w98.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-go-back",
global::Gtk.IconSize.Dialog);
- w97.Add (w98);
+ global::Gtk.Image w101 = new global::Gtk.Image ();
+ w101.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-go-back",
global::Gtk.IconSize.Dialog);
+ w100.Add (w101);
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w100 = new global::Gtk.Label ();
- w100.LabelProp = global::Mono.Unix.Catalog.GetString ("_Back");
- w100.UseUnderline = true;
- w97.Add (w100);
- w96.Add (w97);
- this.backbutton.Add (w96);
+ global::Gtk.Label w103 = new global::Gtk.Label ();
+ w103.LabelProp = global::Mono.Unix.Catalog.GetString ("_Back");
+ w103.UseUnderline = true;
+ w100.Add (w103);
+ w99.Add (w100);
+ this.backbutton.Add (w99);
this.hbuttonbox2.Add (this.backbutton);
- global::Gtk.ButtonBox.ButtonBoxChild w104 =
((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.backbutton]));
- w104.Expand = false;
- w104.Fill = false;
+ global::Gtk.ButtonBox.ButtonBoxChild w107 =
((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.backbutton]));
+ w107.Expand = false;
+ w107.Fill = false;
// Container child hbuttonbox2.Gtk.ButtonBox+ButtonBoxChild
this.nextbutton = new global::Gtk.Button ();
this.nextbutton.CanFocus = true;
this.nextbutton.Name = "nextbutton";
this.nextbutton.UseUnderline = true;
// Container child nextbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w105 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w108 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w106 = new global::Gtk.HBox ();
- w106.Spacing = 2;
+ global::Gtk.HBox w109 = new global::Gtk.HBox ();
+ w109.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w107 = new global::Gtk.Image ();
- w107.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-go-forward",
global::Gtk.IconSize.Dialog);
- w106.Add (w107);
+ global::Gtk.Image w110 = new global::Gtk.Image ();
+ w110.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-go-forward",
global::Gtk.IconSize.Dialog);
+ w109.Add (w110);
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w109 = new global::Gtk.Label ();
- w109.LabelProp = global::Mono.Unix.Catalog.GetString ("_Next");
- w109.UseUnderline = true;
- w106.Add (w109);
- w105.Add (w106);
- this.nextbutton.Add (w105);
+ global::Gtk.Label w112 = new global::Gtk.Label ();
+ w112.LabelProp = global::Mono.Unix.Catalog.GetString ("_Next");
+ w112.UseUnderline = true;
+ w109.Add (w112);
+ w108.Add (w109);
+ this.nextbutton.Add (w108);
this.hbuttonbox2.Add (this.nextbutton);
- global::Gtk.ButtonBox.ButtonBoxChild w113 =
((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.nextbutton]));
- w113.Position = 1;
- w113.Expand = false;
- w113.Fill = false;
+ global::Gtk.ButtonBox.ButtonBoxChild w116 =
((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.nextbutton]));
+ w116.Position = 1;
+ w116.Expand = false;
+ w116.Fill = false;
// Container child hbuttonbox2.Gtk.ButtonBox+ButtonBoxChild
this.createbutton = new global::Gtk.Button ();
this.createbutton.CanFocus = true;
this.createbutton.Name = "createbutton";
this.createbutton.UseUnderline = true;
// Container child createbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w114 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w117 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w115 = new global::Gtk.HBox ();
- w115.Spacing = 2;
+ global::Gtk.HBox w118 = new global::Gtk.HBox ();
+ w118.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w116 = new global::Gtk.Image ();
- w116.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-new",
global::Gtk.IconSize.Dialog);
- w115.Add (w116);
+ global::Gtk.Image w119 = new global::Gtk.Image ();
+ w119.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-new",
global::Gtk.IconSize.Dialog);
+ w118.Add (w119);
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w118 = new global::Gtk.Label ();
- w118.LabelProp = global::Mono.Unix.Catalog.GetString ("Create project");
- w118.UseUnderline = true;
- w115.Add (w118);
- w114.Add (w115);
- this.createbutton.Add (w114);
+ global::Gtk.Label w121 = new global::Gtk.Label ();
+ w121.LabelProp = global::Mono.Unix.Catalog.GetString ("Create project");
+ w121.UseUnderline = true;
+ w118.Add (w121);
+ w117.Add (w118);
+ this.createbutton.Add (w117);
this.hbuttonbox2.Add (this.createbutton);
- global::Gtk.ButtonBox.ButtonBoxChild w122 =
((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.createbutton]));
- w122.Position = 2;
- w122.Expand = false;
- w122.Fill = false;
+ global::Gtk.ButtonBox.ButtonBoxChild w125 =
((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.createbutton]));
+ w125.Position = 2;
+ w125.Expand = false;
+ w125.Fill = false;
this.vbox2.Add (this.hbuttonbox2);
- global::Gtk.Box.BoxChild w123 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.hbuttonbox2]));
- w123.Position = 1;
- w123.Expand = false;
+ global::Gtk.Box.BoxChild w126 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.hbuttonbox2]));
+ w126.Position = 1;
+ w126.Expand = false;
this.Add (this.vbox2);
if ((this.Child != null)) {
this.Child.ShowAll ();
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.ProjectsManagerPanel.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.ProjectsManagerPanel.cs
index dc0a441..b6fbbb2 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.ProjectsManagerPanel.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.ProjectsManagerPanel.cs
@@ -463,7 +463,6 @@ namespace LongoMatch.Gui.Panel
w61.Position = 0;
// Container child rbox.Gtk.Box+BoxChild
this.hbuttonbox1 = new global::Gtk.HButtonBox ();
- this.hbuttonbox1.Name = "hbuttonbox1";
// Container child hbuttonbox1.Gtk.ButtonBox+ButtonBoxChild
this.savebutton = new global::Gtk.Button ();
this.savebutton.Sensitive = false;
diff --git a/LongoMatch.GUI/gtk-gui/gui.stetic b/LongoMatch.GUI/gtk-gui/gui.stetic
index 2577b36..ed0d0dc 100644
--- a/LongoMatch.GUI/gtk-gui/gui.stetic
+++ b/LongoMatch.GUI/gtk-gui/gui.stetic
@@ -468,7 +468,7 @@
</widget>
</child>
</widget>
- <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.CategoryProperties" design-size="516 472">
+ <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.CategoryProperties" design-size="674 579">
<property name="MemberName" />
<child>
<widget class="Gtk.VBox" id="vbox2">
@@ -996,66 +996,19 @@ Sort by duration</property>
</packing>
</child>
<child>
- <widget class="Gtk.Table" id="table3">
+ <widget class="Gtk.Table" id="table1">
<property name="MemberName" />
<property name="NColumns">3</property>
- <property name="Homogeneous">True</property>
<property name="RowSpacing">6</property>
<property name="ColumnSpacing">6</property>
<child>
- <widget class="LongoMatch.Gui.Component.CoordinatesTagger"
id="fieldcoordinatestagger">
- <property name="MemberName" />
- <property name="Sensitive">False</property>
- <property name="Events">ButtonPressMask</property>
- <property name="Sensitive">False</property>
- </widget>
- <packing>
- <property name="AutoSize">True</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
+ <placeholder />
</child>
<child>
- <widget class="LongoMatch.Gui.Component.CoordinatesTagger"
id="goalcoordinatestagger">
- <property name="MemberName" />
- <property name="Sensitive">False</property>
- <property name="Events">ButtonPressMask</property>
- <property name="Sensitive">False</property>
- </widget>
- <packing>
- <property name="LeftAttach">2</property>
- <property name="RightAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
+ <placeholder />
</child>
<child>
- <widget class="LongoMatch.Gui.Component.CoordinatesTagger"
id="halffieldcoordinatestagger">
- <property name="MemberName" />
- <property name="Sensitive">False</property>
- <property name="Events">ButtonPressMask</property>
- <property name="Sensitive">False</property>
- </widget>
- <packing>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
+ <placeholder />
</child>
</widget>
<packing>
@@ -4825,15 +4778,52 @@ You can continue with the current capture, cancel it or save your project.
</widget>
</child>
</widget>
- <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.PlaysCoordinatesTagger" design-size="300 300">
+ <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.PlaysCoordinatesTagger" design-size="352 364">
<property name="MemberName" />
<property name="Visible">False</property>
<child>
- <widget class="Gtk.VBox" id="mainbox">
+ <widget class="Gtk.HBox" id="mainbox">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
- <placeholder />
+ <widget class="LongoMatch.Gui.Component.CoordinatesTagger" id="field">
+ <property name="MemberName" />
+ <property name="Events">ButtonPressMask</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.VBox" id="vbox2">
+ <property name="MemberName" />
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="LongoMatch.Gui.Component.CoordinatesTagger" id="hfield">
+ <property name="MemberName" />
+ <property name="Events">ButtonPressMask</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="LongoMatch.Gui.Component.CoordinatesTagger" id="goal">
+ <property name="MemberName" />
+ <property name="Events">ButtonPressMask</property>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
</child>
</widget>
</child>
@@ -4854,7 +4844,7 @@ You can continue with the current capture, cancel it or save your project.
<widget class="Gtk.Notebook" id="notebook1">
<property name="MemberName" />
<property name="CanFocus">True</property>
- <property name="CurrentPage">0</property>
+ <property name="CurrentPage">1</property>
<child>
<widget class="Gtk.VBox" id="vbox1">
<property name="MemberName" />
@@ -5505,16 +5495,6 @@ You can continue with the current capture, cancel it or save your project.
<property name="Visible">False</property>
<property name="Spacing">6</property>
<child>
- <widget class="LongoMatch.Gui.Component.PlaysCoordinatesTagger" id="postagger">
- <property name="MemberName" />
- <property name="Events">ButtonPressMask</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
<widget class="Gtk.Frame" id="notesframe">
<property name="MemberName" />
<property name="ShadowType">None</property>
@@ -5544,7 +5524,7 @@ You can continue with the current capture, cancel it or save your project.
</child>
</widget>
<packing>
- <property name="Position">1</property>
+ <property name="Position">0</property>
<property name="AutoSize">False</property>
</packing>
</child>
@@ -6004,7 +5984,7 @@ You can continue with the current capture, cancel it or save your project.
</widget>
</child>
</widget>
- <widget class="Gtk.Bin" id="LongoMatch.Gui.Panel.NewProjectPanel" design-size="824 647">
+ <widget class="Gtk.Bin" id="LongoMatch.Gui.Panel.NewProjectPanel" design-size="840 647">
<property name="MemberName" />
<property name="Visible">False</property>
<child>
@@ -6030,7 +6010,7 @@ You can continue with the current capture, cancel it or save your project.
<widget class="Gtk.Notebook" id="notebook1">
<property name="MemberName" />
<property name="CanFocus">True</property>
- <property name="CurrentPage">0</property>
+ <property name="CurrentPage">1</property>
<property name="ShowBorder">False</property>
<property name="Scrollable">True</property>
<child>
@@ -7054,9 +7034,44 @@ You can continue with the current capture, cancel it or save your project.
</packing>
</child>
<child>
- <widget class="LongoMatch.Gui.Component.ProjectPeriods" id="projectperiods1">
+ <widget class="Gtk.VBox" id="vbox6">
<property name="MemberName" />
- <property name="Events">ButtonPressMask</property>
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.Label" id="label8">
+ <property name="MemberName" />
+ <property name="LabelProp" translatable="yes"><b>Video
synchronization</b></property>
+ <property name="UseMarkup">True</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ <property name="Padding">30</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.HSeparator" id="hseparator4">
+ <property name="MemberName" />
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="LongoMatch.Gui.Component.ProjectPeriods" id="projectperiods1">
+ <property name="MemberName" />
+ <property name="Events">ButtonPressMask</property>
+ </widget>
+ <packing>
+ <property name="Position">2</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="Position">2</property>
@@ -8801,7 +8816,7 @@ Click 2 players to swap them</property>
</widget>
</child>
</widget>
- <widget class="Gtk.Bin" id="LongoMatch.Gui.Panel.SportsTemplatesPanel" design-size="1087 503">
+ <widget class="Gtk.Bin" id="LongoMatch.Gui.Panel.SportsTemplatesPanel" design-size="1087 513">
<property name="MemberName" />
<property name="Visible">False</property>
<child>
@@ -9244,7 +9259,6 @@ Click 2 players to swap them</property>
</child>
</widget>
<widget class="Gtk.Bin" id="LongoMatch.Gui.Component.CodingWidget" design-size="673 300">
- <action-group name="Timeline" />
<action-group name="Default">
<action id="timelineMode">
<property name="Type">Radio</property>
@@ -9271,6 +9285,26 @@ Click 2 players to swap them</property>
<property name="Label" translatable="yes" />
<property name="StockId">gtk-zoom-fit</property>
</action>
+ <action id="convertAction">
+ <property name="Type">Radio</property>
+ <property name="Label" translatable="yes" />
+ <property name="StockId">gtk-convert</property>
+ <property name="DrawAsRadio">False</property>
+ <property name="Active">False</property>
+ <property name="Value">0</property>
+ <property name="Group">codingmode</property>
+ </action>
+ </action-group>
+ <action-group name="Timeline">
+ <action id="positionMode">
+ <property name="Type">Radio</property>
+ <property name="Label" translatable="yes" />
+ <property name="StockId">gtk-justify-fill</property>
+ <property name="DrawAsRadio">False</property>
+ <property name="Active">False</property>
+ <property name="Value">0</property>
+ <property name="Group">codingmode</property>
+ </action>
</action-group>
<property name="MemberName" />
<property name="Visible">False</property>
@@ -9289,6 +9323,7 @@ Click 2 players to swap them</property>
<node name="codingtoolbar" type="Toolbar">
<node type="Toolitem" action="autoTaggingMode" />
<node type="Toolitem" action="timelineMode" />
+ <node type="Toolitem" action="positionMode" />
</node>
</widget>
<packing>
@@ -9345,6 +9380,16 @@ Click 2 players to swap them</property>
<property name="AutoSize">True</property>
</packing>
</child>
+ <child>
+ <widget class="LongoMatch.Gui.Component.PlaysPositionViewer" id="playspositionviewer1">
+ <property name="MemberName" />
+ <property name="Events">ButtonPressMask</property>
+ </widget>
+ <packing>
+ <property name="Position">3</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="Position">1</property>
@@ -9372,13 +9417,27 @@ Click 2 players to swap them</property>
</packing>
</child>
<child>
- <widget class="Gtk.DrawingArea" id="drawingarea1">
+ <widget class="Gtk.Label" id="synclabel">
<property name="MemberName" />
+ <property name="UseMarkup">True</property>
</widget>
<packing>
<property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ <property name="Padding">10</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.DrawingArea" id="drawingarea1">
+ <property name="MemberName" />
+ </widget>
+ <packing>
+ <property name="Position">2</property>
<property name="AutoSize">False</property>
<property name="Expand">False</property>
+ <property name="Fill">False</property>
</packing>
</child>
<child>
@@ -9400,21 +9459,8 @@ Click 2 players to swap them</property>
</child>
</widget>
<packing>
- <property name="Position">2</property>
- <property name="AutoSize">False</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="synclabel">
- <property name="MemberName" />
- <property name="UseMarkup">True</property>
- </widget>
- <packing>
- <property name="PackType">End</property>
<property name="Position">3</property>
- <property name="AutoSize">True</property>
+ <property name="AutoSize">False</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
@@ -9491,4 +9537,54 @@ Click 2 players to swap them</property>
</widget>
</child>
</widget>
+ <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.PlaysPositionViewer" design-size="300 300">
+ <property name="MemberName" />
+ <property name="Visible">False</property>
+ <child>
+ <widget class="Gtk.HBox" id="hbox1">
+ <property name="MemberName" />
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="LongoMatch.Gui.Component.CoordinatesTagger" id="field">
+ <property name="MemberName" />
+ <property name="Events">ButtonPressMask</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.VBox" id="vbox2">
+ <property name="MemberName" />
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="LongoMatch.Gui.Component.CoordinatesTagger" id="hfield">
+ <property name="MemberName" />
+ <property name="Events">ButtonPressMask</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="LongoMatch.Gui.Component.CoordinatesTagger" id="goal">
+ <property name="MemberName" />
+ <property name="Events">ButtonPressMask</property>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
</stetic-interface>
\ No newline at end of file
diff --git a/LongoMatch.GUI/gtk-gui/objects.xml b/LongoMatch.GUI/gtk-gui/objects.xml
index adc065c..7636673 100644
--- a/LongoMatch.GUI/gtk-gui/objects.xml
+++ b/LongoMatch.GUI/gtk-gui/objects.xml
@@ -143,9 +143,6 @@
</object>
<object type="LongoMatch.Gui.Component.CoordinatesTagger" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
<itemgroups>
- <itemgroup label="CoordinatesTagger Properties">
- <property name="Sensitive" />
- </itemgroup>
</itemgroups>
<signals />
</object>
@@ -369,39 +366,7 @@
</itemgroup>
</signals>
</object>
- <object type="LongoMatch.Gui.Component.PlayersTaggerWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.StringTaggerWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.GameUnitsEditor" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.GameUnitsTagger" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="GameUnitsTagger Signals">
- <signal name="GameUnitEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.GameUnitWidget" palette-category="General" allow-children="false"
base-type="Gtk.Frame">
- <itemgroups />
- <signals>
- <itemgroup label="GameUnitWidget Signals">
- <signal name="GameUnitEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.PlayersTagger" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.TaggerWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
+ <object type="LongoMatch.Gui.Component.PlaysPositionViewer" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
<itemgroups />
<signals />
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]