[longomatch] Move timeline objects into their own namespace
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Move timeline objects into their own namespace
- Date: Fri, 17 Apr 2015 16:21:59 +0000 (UTC)
commit 3d8cbaa4b58e1d9b5d582b83c7153e87655daf12
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Fri Apr 10 18:09:10 2015 +0200
Move timeline objects into their own namespace
.../CanvasObjects/{ => Timeline}/CameraObject.cs | 12 ++--
.../CanvasObjects/{ => Timeline}/LabelObject.cs | 43 ++++++-----
.../CanvasObjects/{ => Timeline}/NeedleObject.cs | 21 +++---
.../CanvasObjects/{ => Timeline}/TimeNodeObject.cs | 75 ++++++++++----------
.../TimelineEventObject.cs} | 27 ++++----
.../CanvasObjects/{ => Timeline}/TimelineObject.cs | 59 ++++++++--------
LongoMatch.Drawing/LongoMatch.Drawing.csproj | 13 ++--
LongoMatch.Drawing/Makefile.am | 20 +++---
LongoMatch.Drawing/Widgets/CamerasLabels.cs | 24 ++++--
LongoMatch.Drawing/Widgets/CamerasTimeline.cs | 12 ++--
LongoMatch.Drawing/Widgets/PlaysTimeline.cs | 19 +++---
LongoMatch.Drawing/Widgets/TimelineLabels.cs | 18 +++---
LongoMatch.Drawing/Widgets/TimersTimeline.cs | 12 ++--
LongoMatch.Drawing/Widgets/Timerule.cs | 26 +++----
.../Gui/Component/SynchronizationWidget.cs | 13 ++--
LongoMatch.GUI/Gui/Menu/PeriodsMenu.cs | 2 +-
16 files changed, 205 insertions(+), 191 deletions(-)
---
diff --git a/LongoMatch.Drawing/CanvasObjects/CameraObject.cs
b/LongoMatch.Drawing/CanvasObjects/Timeline/CameraObject.cs
similarity index 91%
rename from LongoMatch.Drawing/CanvasObjects/CameraObject.cs
rename to LongoMatch.Drawing/CanvasObjects/Timeline/CameraObject.cs
index 8c806ed..182ce5f 100644
--- a/LongoMatch.Drawing/CanvasObjects/CameraObject.cs
+++ b/LongoMatch.Drawing/CanvasObjects/Timeline/CameraObject.cs
@@ -16,18 +16,20 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
-using LongoMatch.Core.Store;
-using LongoMatch.Core.Interfaces.Drawing;
using LongoMatch.Core.Common;
+using LongoMatch.Core.Interfaces.Drawing;
+using LongoMatch.Core.Store;
-namespace LongoMatch.Drawing.CanvasObjects
+namespace LongoMatch.Drawing.CanvasObjects.Timeline
{
public class CameraObject: TimeNodeObject
{
MediaFile mediaFile;
- public CameraObject (MediaFile mf) :
- base (new TimeNode () { Start = new Time (-mf.Offset.MSeconds), Stop = mf.Duration -
mf.Offset, Name = mf.Name })
+ public CameraObject (MediaFile mf) :
+ base (new TimeNode { Start = new Time (-mf.Offset.MSeconds),
+ Stop = mf.Duration - mf.Offset, Name = mf.Name
+ })
{
mediaFile = mf;
// Video boundaries can't be changed, only the segment can move.
diff --git a/LongoMatch.Drawing/CanvasObjects/LabelObject.cs
b/LongoMatch.Drawing/CanvasObjects/Timeline/LabelObject.cs
similarity index 91%
rename from LongoMatch.Drawing/CanvasObjects/LabelObject.cs
rename to LongoMatch.Drawing/CanvasObjects/Timeline/LabelObject.cs
index 5c9cf89..4978e91 100644
--- a/LongoMatch.Drawing/CanvasObjects/LabelObject.cs
+++ b/LongoMatch.Drawing/CanvasObjects/Timeline/LabelObject.cs
@@ -15,12 +15,12 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-using LongoMatch.Core.Store;
-using LongoMatch.Core.Interfaces.Drawing;
-using LongoMatch.Core.Common;
using System;
+using LongoMatch.Core.Common;
+using LongoMatch.Core.Interfaces.Drawing;
+using LongoMatch.Core.Store;
-namespace LongoMatch.Drawing.CanvasObjects
+namespace LongoMatch.Drawing.CanvasObjects.Timeline
{
public class LabelObject: CanvasObject, ICanvasObject
{
@@ -38,7 +38,7 @@ namespace LongoMatch.Drawing.CanvasObjects
get;
set;
}
-
+
public virtual Color Color {
get;
set;
@@ -48,7 +48,7 @@ namespace LongoMatch.Drawing.CanvasObjects
get;
set;
}
-
+
public double Height {
get;
set;
@@ -58,7 +58,7 @@ namespace LongoMatch.Drawing.CanvasObjects
get {
int width, height;
Config.DrawingToolkit.MeasureText (
- Name, out width, out height, Config.Style.Font ,
+ Name, out width, out height, Config.Style.Font,
DEFAULT_FONT_SIZE, FontWeight.Normal);
return TextOffset + width;
}
@@ -84,7 +84,7 @@ namespace LongoMatch.Drawing.CanvasObjects
return Height - StyleConf.TimelineLabelVSpacing * 2;
}
}
-
+
double TextOffset {
get {
return StyleConf.TimelineLabelHSpacing * 2 + RectSize;
@@ -121,38 +121,40 @@ namespace LongoMatch.Drawing.CanvasObjects
tk.End ();
}
}
-
- public class EventTypeLabelObject: LabelObject {
+
+ public class EventTypeLabelObject: LabelObject
+ {
EventType eventType;
- public EventTypeLabelObject (EventType eventType, double width, double height, double
offsetY):
+ public EventTypeLabelObject (EventType eventType, double width, double height, double
offsetY) :
base (width, height, offsetY)
{
this.eventType = eventType;
}
-
+
public override Color Color {
get {
return eventType.Color;
}
}
-
+
public override string Name {
get {
return eventType.Name;
}
}
}
-
- public class TimerLabelObject: LabelObject {
+
+ public class TimerLabelObject: LabelObject
+ {
Timer timer;
- public TimerLabelObject (Timer timer, double width, double height, double offsetY):
+ public TimerLabelObject (Timer timer, double width, double height, double offsetY) :
base (width, height, offsetY)
{
this.timer = timer;
}
-
+
public override string Name {
get {
return timer.Name;
@@ -160,9 +162,10 @@ namespace LongoMatch.Drawing.CanvasObjects
}
}
- public class CameraLabelObject: LabelObject {
- public CameraLabelObject (double width, double height, double offsetY):
- base (width, height, offsetY)
+ public class CameraLabelObject: LabelObject
+ {
+ public CameraLabelObject (double width, double height, double offsetY) :
+ base (width, height, offsetY)
{
}
diff --git a/LongoMatch.Drawing/CanvasObjects/NeedleObject.cs
b/LongoMatch.Drawing/CanvasObjects/Timeline/NeedleObject.cs
similarity index 93%
rename from LongoMatch.Drawing/CanvasObjects/NeedleObject.cs
rename to LongoMatch.Drawing/CanvasObjects/Timeline/NeedleObject.cs
index 25befb3..2e46595 100644
--- a/LongoMatch.Drawing/CanvasObjects/NeedleObject.cs
+++ b/LongoMatch.Drawing/CanvasObjects/Timeline/NeedleObject.cs
@@ -16,12 +16,12 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
-using LongoMatch.Core.Interfaces.Drawing;
+using System.IO;
using LongoMatch.Core.Common;
+using LongoMatch.Core.Interfaces.Drawing;
using LongoMatch.Core.Store.Drawables;
-using System.IO;
-namespace LongoMatch.Drawing.CanvasObjects
+namespace LongoMatch.Drawing.CanvasObjects.Timeline
{
public class NeedleObject: CanvasObject, ICanvasSelectableObject
{
@@ -30,7 +30,7 @@ namespace LongoMatch.Drawing.CanvasObjects
public NeedleObject ()
{
if (needle == null) {
- string path = Path.Combine (Config.IconsDir,
StyleConf.TimelineNeedleResource);
+ string path = Path.Combine (Config.IconsDir,
StyleConf.TimelineNeedleResource);
Image img = Image.LoadFromFile (path);
needle = Config.DrawingToolkit.CreateSurface (img.Width, img.Height, img,
false);
}
@@ -64,31 +64,32 @@ namespace LongoMatch.Drawing.CanvasObjects
return needle.Height;
}
}
-
+
public Point TopLeft {
get {
return new Point (X - Width / 2, TimelineHeight - needle.Height);
}
}
-
+
Area Area {
get {
return new Area (TopLeft, Width, Width);
}
}
-
+
public override void Draw (IDrawingToolkit tk, LongoMatch.Core.Common.Area area)
{
if (!UpdateDrawArea (tk, area, Area)) {
return;
- };
+ }
+ ;
tk.Begin ();
tk.DrawSurface (needle, TopLeft);
tk.End ();
}
-
- public Selection GetSelection (Point point, double precision, bool inMotion=false)
+
+ public Selection GetSelection (Point point, double precision, bool inMotion = false)
{
if ((Math.Abs (point.X - X) < Width / 2 + precision)) {
return new Selection (this, SelectionPosition.All, 0);
diff --git a/LongoMatch.Drawing/CanvasObjects/TimeNodeObject.cs
b/LongoMatch.Drawing/CanvasObjects/Timeline/TimeNodeObject.cs
similarity index 82%
rename from LongoMatch.Drawing/CanvasObjects/TimeNodeObject.cs
rename to LongoMatch.Drawing/CanvasObjects/Timeline/TimeNodeObject.cs
index fd0b162..3ad6e12 100644
--- a/LongoMatch.Drawing/CanvasObjects/TimeNodeObject.cs
+++ b/LongoMatch.Drawing/CanvasObjects/Timeline/TimeNodeObject.cs
@@ -16,14 +16,13 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
-using LongoMatch.Core.Store;
-using LongoMatch.Core.Interfaces.Drawing;
-using LongoMatch.Core.Interfaces;
+using System.IO;
using LongoMatch.Core.Common;
+using LongoMatch.Core.Interfaces.Drawing;
+using LongoMatch.Core.Store;
using LongoMatch.Core.Store.Drawables;
-using System.IO;
-namespace LongoMatch.Drawing.CanvasObjects
+namespace LongoMatch.Drawing.CanvasObjects.Timeline
{
public class TimeNodeObject: CanvasObject, ICanvasSelectableObject
{
@@ -113,7 +112,7 @@ namespace LongoMatch.Drawing.CanvasObjects
protected double CenterX {
get {
return Utils.TimeToPos (TimeNode.Start + TimeNode.Duration / 2,
- SecondsPerPixel);
+ SecondsPerPixel);
}
}
@@ -121,11 +120,11 @@ namespace LongoMatch.Drawing.CanvasObjects
get {
double ls = StyleConf.TimelineLineSize;
return new Area (new Point (StartX - ls, OffsetY),
- (StopX - StartX) + 2 * ls, Height);
+ (StopX - StartX) + 2 * ls, Height);
}
}
- public Selection GetSelection (Point point, double precision, bool inMotion=false)
+ public Selection GetSelection (Point point, double precision, bool inMotion = false)
{
if (SelectionMode == NodeSelectionMode.Borders || SelectionMode ==
NodeSelectionMode.All) {
double accuracy;
@@ -154,15 +153,15 @@ namespace LongoMatch.Drawing.CanvasObjects
if (DraggingMode == NodeDraggingMode.None)
return;
switch (sel.Position) {
- case SelectionPosition.Left:
- case SelectionPosition.Right:
- if (DraggingMode == NodeDraggingMode.Segment)
- return;
- break;
- case SelectionPosition.All:
- if (DraggingMode == NodeDraggingMode.Borders)
- return;
- break;
+ case SelectionPosition.Left:
+ case SelectionPosition.Right:
+ if (DraggingMode == NodeDraggingMode.Segment)
+ return;
+ break;
+ case SelectionPosition.All:
+ if (DraggingMode == NodeDraggingMode.Borders)
+ return;
+ break;
}
Time newTime = Utils.PosToTime (p, SecondsPerPixel);
@@ -180,25 +179,25 @@ namespace LongoMatch.Drawing.CanvasObjects
}
switch (sel.Position) {
- case SelectionPosition.Left:
- if (newTime.MSeconds + MAX_TIME_SPAN > TimeNode.Stop.MSeconds) {
- TimeNode.Start.MSeconds = TimeNode.Stop.MSeconds -
MAX_TIME_SPAN;
- } else {
- TimeNode.Start = newTime;
- }
- break;
- case SelectionPosition.Right:
- if (newTime.MSeconds - MAX_TIME_SPAN < TimeNode.Start.MSeconds) {
- TimeNode.Stop.MSeconds = TimeNode.Start.MSeconds +
MAX_TIME_SPAN;
- } else {
- TimeNode.Stop = newTime;
- }
- break;
- case SelectionPosition.All:
- Time diff = Utils.PosToTime (new Point (p.X - start.X, p.Y),
SecondsPerPixel);
- TimeNode.Start += diff;
- TimeNode.Stop += diff;
- break;
+ case SelectionPosition.Left:
+ if (newTime.MSeconds + MAX_TIME_SPAN > TimeNode.Stop.MSeconds) {
+ TimeNode.Start.MSeconds = TimeNode.Stop.MSeconds - MAX_TIME_SPAN;
+ } else {
+ TimeNode.Start = newTime;
+ }
+ break;
+ case SelectionPosition.Right:
+ if (newTime.MSeconds - MAX_TIME_SPAN < TimeNode.Start.MSeconds) {
+ TimeNode.Stop.MSeconds = TimeNode.Start.MSeconds + MAX_TIME_SPAN;
+ } else {
+ TimeNode.Stop = newTime;
+ }
+ break;
+ case SelectionPosition.All:
+ Time diff = Utils.PosToTime (new Point (p.X - start.X, p.Y), SecondsPerPixel);
+ TimeNode.Start += diff;
+ TimeNode.Stop += diff;
+ break;
}
movingPos = sel.Position;
}
@@ -234,7 +233,7 @@ namespace LongoMatch.Drawing.CanvasObjects
tk.DrawSurface (needle, new Point (c - needle.Width / 2, linepos - 9));
} else {
tk.DrawLine (new Point (StartX, linepos),
- new Point (StopX, linepos));
+ new Point (StopX, linepos));
tk.DrawSurface (needle, new Point (StartX - needle.Width / 2, linepos - 9));
tk.DrawSurface (needle, new Point (StopX - needle.Width / 2, linepos - 9));
}
@@ -253,7 +252,7 @@ namespace LongoMatch.Drawing.CanvasObjects
public class TimerTimeNodeObject: TimeNodeObject
{
- public TimerTimeNodeObject (Timer t, TimeNode tn): base (tn)
+ public TimerTimeNodeObject (Timer t, TimeNode tn) : base (tn)
{
Timer = t;
}
diff --git a/LongoMatch.Drawing/CanvasObjects/PlayObject.cs
b/LongoMatch.Drawing/CanvasObjects/Timeline/TimelineEventObject.cs
similarity index 87%
rename from LongoMatch.Drawing/CanvasObjects/PlayObject.cs
rename to LongoMatch.Drawing/CanvasObjects/Timeline/TimelineEventObject.cs
index 7a47659..2786ea5 100644
--- a/LongoMatch.Drawing/CanvasObjects/PlayObject.cs
+++ b/LongoMatch.Drawing/CanvasObjects/Timeline/TimelineEventObject.cs
@@ -16,15 +16,15 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
-using LongoMatch.Core.Store;
-using LongoMatch.Core.Interfaces.Drawing;
using LongoMatch.Core.Common;
+using LongoMatch.Core.Interfaces.Drawing;
+using LongoMatch.Core.Store;
-namespace LongoMatch.Drawing.CanvasObjects
+namespace LongoMatch.Drawing.CanvasObjects.Timeline
{
- public class PlayObject: TimeNodeObject
+ public class TimelineEventObject: TimeNodeObject
{
- public PlayObject (TimelineEvent play, Project project):base (play)
+ public TimelineEventObject (TimelineEvent play, Project project) : base (play)
{
Project = project;
// Only event boundaries can be dragged
@@ -48,11 +48,11 @@ namespace LongoMatch.Drawing.CanvasObjects
public override string Description {
get {
- return Play.Name;
+ return Event.Name;
}
}
- public TimelineEvent Play {
+ public TimelineEvent Event {
get {
return TimeNode as TimelineEvent;
}
@@ -62,7 +62,7 @@ namespace LongoMatch.Drawing.CanvasObjects
get {
double ls = SelectionLeft.Width / 2;
return new Area (new Point (StartX - ls, OffsetY),
- (StopX - StartX) + 2 * ls, Height);
+ (StopX - StartX) + 2 * ls, Height);
}
}
@@ -72,14 +72,14 @@ namespace LongoMatch.Drawing.CanvasObjects
y = OffsetY + Height / 2;
tk.LineWidth = lineWidth;
- tk.FillColor = Play.Color;
- tk.StrokeColor = Play.Color;
+ tk.FillColor = Event.Color;
+ tk.StrokeColor = Event.Color;
if (stop - start <= lineWidth) {
tk.LineWidth = 0;
tk.DrawCircle (new Point (start + (stop - start) / 2, y), 3);
} else {
tk.DrawLine (new Point (start + lineWidth / 2, y),
- new Point (stop - lineWidth / 2, y));
+ new Point (stop - lineWidth / 2, y));
}
}
@@ -90,7 +90,7 @@ namespace LongoMatch.Drawing.CanvasObjects
double y1, y2;
tk.LineWidth = lineWidth;
- team = Project.EventTaggedTeam (Play);
+ team = Project.EventTaggedTeam (Event);
if (team == TeamType.LOCAL) {
color = Project.LocalTeamTemplate.Color;
} else if (team == TeamType.VISITOR) {
@@ -113,7 +113,8 @@ namespace LongoMatch.Drawing.CanvasObjects
if (!UpdateDrawArea (tk, area, Area)) {
return;
- };
+ }
+ ;
tk.Begin ();
diff --git a/LongoMatch.Drawing/CanvasObjects/TimelineObject.cs
b/LongoMatch.Drawing/CanvasObjects/Timeline/TimelineObject.cs
similarity index 89%
rename from LongoMatch.Drawing/CanvasObjects/TimelineObject.cs
rename to LongoMatch.Drawing/CanvasObjects/Timeline/TimelineObject.cs
index cab02b2..74969b9 100644
--- a/LongoMatch.Drawing/CanvasObjects/TimelineObject.cs
+++ b/LongoMatch.Drawing/CanvasObjects/Timeline/TimelineObject.cs
@@ -16,16 +16,15 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
-using System.Linq;
using System.Collections.Generic;
-using LongoMatch.Core.Store;
+using System.IO;
+using System.Linq;
using LongoMatch.Core.Common;
-using LongoMatch.Core.Interfaces;
using LongoMatch.Core.Interfaces.Drawing;
+using LongoMatch.Core.Store;
using LongoMatch.Core.Store.Drawables;
-using System.IO;
-namespace LongoMatch.Drawing.CanvasObjects
+namespace LongoMatch.Drawing.CanvasObjects.Timeline
{
public abstract class TimelineObject: CanvasObject, ICanvasSelectableObject
{
@@ -48,7 +47,7 @@ namespace LongoMatch.Drawing.CanvasObjects
SecondsPerPixel = 0.1;
Height = height;
}
-
+
protected override void Dispose (bool disposing)
{
ClearObjects ();
@@ -111,7 +110,8 @@ namespace LongoMatch.Drawing.CanvasObjects
}
}
- protected void ClearObjects () {
+ protected void ClearObjects ()
+ {
foreach (TimeNodeObject tn in nodes) {
RemoveObject (tn, false);
}
@@ -126,12 +126,12 @@ namespace LongoMatch.Drawing.CanvasObjects
nodes.Remove (to);
}
}
-
+
protected virtual bool TimeNodeObjectIsVisible (TimeNodeObject tn)
{
return true;
}
-
+
protected virtual void DrawBackground (IDrawingToolkit tk, Area area)
{
tk.FillColor = BackgroundColor;
@@ -155,7 +155,8 @@ namespace LongoMatch.Drawing.CanvasObjects
if (!UpdateDrawArea (tk, area, new Area (new Point (0, OffsetY), Width, Height))) {
return;
- };
+ }
+ ;
tk.Begin ();
DrawBackground (tk, area);
@@ -179,12 +180,12 @@ namespace LongoMatch.Drawing.CanvasObjects
tk.LineWidth = Constants.TIMELINE_LINE_WIDTH;
position = Utils.TimeToPos (CurrentTime, secondsPerPixel);
tk.DrawLine (new Point (position, OffsetY),
- new Point (position, OffsetY + Height));
+ new Point (position, OffsetY + Height));
tk.End ();
}
- public Selection GetSelection (Point point, double precision, bool inMotion=false)
+ public Selection GetSelection (Point point, double precision, bool inMotion = false)
{
Selection selection = null;
@@ -213,7 +214,7 @@ namespace LongoMatch.Drawing.CanvasObjects
{
s.Drawable.Move (s, p, start);
}
-
+
ISurface LoadBorder (string name)
{
Image img = Image.LoadFromFile (Path.Combine (Config.IconsDir, name));
@@ -228,7 +229,7 @@ namespace LongoMatch.Drawing.CanvasObjects
Project project;
public CategoryTimeline (Project project, List<TimelineEvent> plays, Time maxTime,
- double offsetY, Color background, EventsFilter filter):
+ double offsetY, Color background, EventsFilter filter) :
base (maxTime, StyleConf.TimelineCategoryHeight, offsetY, background)
{
this.filter = filter;
@@ -238,19 +239,19 @@ namespace LongoMatch.Drawing.CanvasObjects
}
}
- public PlayObject Load (TimelineEvent evt)
+ public TimelineEventObject Load (TimelineEvent evt)
{
- return nodes.FirstOrDefault (n => (n as PlayObject).Play == evt) as PlayObject;
+ return nodes.FirstOrDefault (n => (n as TimelineEventObject).Event == evt) as
TimelineEventObject;
}
protected override bool TimeNodeObjectIsVisible (TimeNodeObject tn)
{
- return filter.IsVisible ((tn as PlayObject).Play);
+ return filter.IsVisible ((tn as TimelineEventObject).Event);
}
public void AddPlay (TimelineEvent play)
{
- PlayObject po = new PlayObject (play, project);
+ TimelineEventObject po = new TimelineEventObject (play, project);
po.SelectionLeft = selectionBorderL;
po.SelectionRight = selectionBorderR;
po.OffsetY = OffsetY;
@@ -267,7 +268,7 @@ namespace LongoMatch.Drawing.CanvasObjects
List<Timer> timers;
public TimerTimeline (List<Timer> timers, bool showName, NodeDraggingMode draggingMode, bool
showLine,
- Time maxTime, int height, double offsetY, Color background, Color lineColor)
:
+ Time maxTime, int height, double offsetY, Color background, Color
lineColor) :
base (maxTime, height, offsetY, background)
{
this.timers = timers;
@@ -280,8 +281,8 @@ namespace LongoMatch.Drawing.CanvasObjects
}
public TimerTimeline (List<Timer> timers, bool showName, NodeDraggingMode draggingMode, bool
showLine,
- Time maxTime, double offsetY, Color background, Color lineColor) :
- this (timers, showName, draggingMode, showLine, maxTime,
StyleConf.TimelineCategoryHeight, offsetY, background, lineColor)
+ Time maxTime, double offsetY, Color background, Color lineColor) :
+ this (timers, showName, draggingMode, showLine, maxTime,
StyleConf.TimelineCategoryHeight, offsetY, background, lineColor)
{
}
@@ -295,12 +296,12 @@ namespace LongoMatch.Drawing.CanvasObjects
get;
set;
}
-
+
bool ShowName {
get;
set;
}
-
+
NodeDraggingMode DraggingMode {
get;
set;
@@ -315,8 +316,8 @@ namespace LongoMatch.Drawing.CanvasObjects
{
return timers.Contains (timer);
}
-
- public void AddTimer (Timer timer, bool newtimer=true)
+
+ public void AddTimer (Timer timer, bool newtimer = true)
{
foreach (TimeNode tn in timer.Nodes) {
AddTimeNode (timer, tn);
@@ -329,7 +330,7 @@ namespace LongoMatch.Drawing.CanvasObjects
public void RemoveTimer (Timer timer)
{
- TimerTimeNodeObject to = (TimerTimeNodeObject) nodes.FirstOrDefault (t => (t as
TimerTimeNodeObject).Timer == timer);
+ TimerTimeNodeObject to = (TimerTimeNodeObject)nodes.FirstOrDefault (t => (t as
TimerTimeNodeObject).Timer == timer);
if (to != null) {
RemoveObject (to, true);
}
@@ -366,12 +367,12 @@ namespace LongoMatch.Drawing.CanvasObjects
if (ShowLine) {
// We want the background line and overlay to use the same starting point
although they have different sizes.
- double linepos = OffsetY + Height / 2 + StyleConf.TimelineLineSize / 2;
+ double linepos = OffsetY + Height / 2 + StyleConf.TimelineLineSize / 2;
tk.FillColor = Config.Style.PaletteBackgroundDark;
tk.StrokeColor = Config.Style.PaletteBackgroundDark;
tk.LineWidth = StyleConf.TimelineBackgroundLineSize;
tk.DrawLine (new Point (0, linepos),
- new Point (Width, linepos));
+ new Point (Width, linepos));
}
}
}
@@ -379,7 +380,7 @@ namespace LongoMatch.Drawing.CanvasObjects
public class CameraTimeline: TimelineObject
{
public CameraTimeline (MediaFile mediaFile, bool showName, bool showLine,
- Time maxTime, double offsetY, Color background, Color lineColor):
+ Time maxTime, double offsetY, Color background, Color lineColor) :
base (maxTime, StyleConf.TimelineCameraHeight, offsetY, background)
{
ShowName = showName;
diff --git a/LongoMatch.Drawing/LongoMatch.Drawing.csproj b/LongoMatch.Drawing/LongoMatch.Drawing.csproj
index 7d60693..04562b4 100644
--- a/LongoMatch.Drawing/LongoMatch.Drawing.csproj
+++ b/LongoMatch.Drawing/LongoMatch.Drawing.csproj
@@ -30,18 +30,16 @@
<Folder Include="Widgets\" />
<Folder Include="CanvasObjects\Dashboard\" />
<Folder Include="CanvasObjects\Blackboard\" />
+ <Folder Include="CanvasObjects\Timeline\" />
</ItemGroup>
<ItemGroup>
<Compile Include="Canvas.cs" />
<Compile Include="Widgets\Timerule.cs" />
- <Compile Include="CanvasObjects\PlayObject.cs" />
<Compile Include="Constants.cs" />
<Compile Include="Widgets\PlaysTimeline.cs" />
- <Compile Include="CanvasObjects\TimelineObject.cs" />
<Compile Include="CanvasObjects\CanvasObject.cs" />
<Compile Include="CanvasObjects\PlayerObject.cs" />
<Compile Include="Widgets\TeamTagger.cs" />
- <Compile Include="CanvasObjects\TimeNodeObject.cs" />
<Compile Include="Widgets\TimersTimeline.cs" />
<Compile Include="Widgets\PositionTagger.cs" />
<Compile Include="CanvasObjects\PositionObject.cs" />
@@ -54,8 +52,6 @@
<Compile Include="Widgets\DashboardCanvas.cs" />
<Compile Include="CanvasObjects\ButtonObject.cs" />
<Compile Include="Widgets\TimelineLabels.cs" />
- <Compile Include="CanvasObjects\NeedleObject.cs" />
- <Compile Include="CanvasObjects\CameraObject.cs" />
<Compile Include="Widgets\CamerasTimeline.cs" />
<Compile Include="Widgets\CamerasLabels.cs" />
<Compile Include="..\AssemblyInfo\AssemblyInfo.cs">
@@ -74,7 +70,12 @@
<Compile Include="CanvasObjects\Blackboard\QuadrilateralObject.cs" />
<Compile Include="CanvasObjects\Blackboard\RectangleObject.cs" />
<Compile Include="CanvasObjects\Blackboard\TextObject.cs" />
- <Compile Include="CanvasObjects\LabelObject.cs" />
+ <Compile Include="CanvasObjects\Timeline\NeedleObject.cs" />
+ <Compile Include="CanvasObjects\Timeline\LabelObject.cs" />
+ <Compile Include="CanvasObjects\Timeline\TimelineObject.cs" />
+ <Compile Include="CanvasObjects\Timeline\TimeNodeObject.cs" />
+ <Compile Include="CanvasObjects\Timeline\CameraObject.cs" />
+ <Compile Include="CanvasObjects\Timeline\TimelineEventObject.cs" />
</ItemGroup>
<ItemGroup>
<Reference Include="System" />
diff --git a/LongoMatch.Drawing/Makefile.am b/LongoMatch.Drawing/Makefile.am
index 4a6496b..84cfb7f 100644
--- a/LongoMatch.Drawing/Makefile.am
+++ b/LongoMatch.Drawing/Makefile.am
@@ -6,7 +6,6 @@ LINK = $(REF_DEP_LONGOMATCH_DRAWING)
SOURCES = ../AssemblyInfo/AssemblyInfo.cs \
Canvas.cs \
- CanvasObjects/BenchObject.cs \
CanvasObjects/Blackboard/CounterObject.cs \
CanvasObjects/Blackboard/CrossObject.cs \
CanvasObjects/Blackboard/EllipseObject.cs \
@@ -15,7 +14,6 @@ SOURCES = ../AssemblyInfo/AssemblyInfo.cs \
CanvasObjects/Blackboard/RectangleObject.cs \
CanvasObjects/Blackboard/TextObject.cs \
CanvasObjects/ButtonObject.cs \
- CanvasObjects/CameraObject.cs \
CanvasObjects/CanvasObject.cs \
CanvasObjects/Dashboard/CardObject.cs \
CanvasObjects/Dashboard/CategoryObject.cs \
@@ -23,15 +21,17 @@ SOURCES = ../AssemblyInfo/AssemblyInfo.cs \
CanvasObjects/Dashboard/ScoreObject.cs \
CanvasObjects/Dashboard/TagObject.cs \
CanvasObjects/Dashboard/TimerObject.cs \
- CanvasObjects/FieldObject.cs \
- CanvasObjects/LabelObject.cs \
- CanvasObjects/NeedleObject.cs \
- CanvasObjects/PlayObject.cs \
- CanvasObjects/PlayerObject.cs \
- CanvasObjects/PlayersTaggerObject.cs \
CanvasObjects/PositionObject.cs \
- CanvasObjects/TimeNodeObject.cs \
- CanvasObjects/TimelineObject.cs \
+ CanvasObjects/Teams/BenchObject.cs \
+ CanvasObjects/Teams/FieldObject.cs \
+ CanvasObjects/Teams/PlayerObject.cs \
+ CanvasObjects/Teams/PlayersTaggerObject.cs \
+ CanvasObjects/Timeline/CameraObject.cs \
+ CanvasObjects/Timeline/LabelObject.cs \
+ CanvasObjects/Timeline/NeedleObject.cs \
+ CanvasObjects/Timeline/TimeNodeObject.cs \
+ CanvasObjects/Timeline/TimelineEventObject.cs \
+ CanvasObjects/Timeline/TimelineObject.cs \
Constants.cs \
PlayslistCellRenderer.cs \
Utils.cs \
diff --git a/LongoMatch.Drawing/Widgets/CamerasLabels.cs b/LongoMatch.Drawing/Widgets/CamerasLabels.cs
index 9931d28..400fd40 100644
--- a/LongoMatch.Drawing/Widgets/CamerasLabels.cs
+++ b/LongoMatch.Drawing/Widgets/CamerasLabels.cs
@@ -17,11 +17,10 @@
//
using System;
using System.Linq;
-using System.Collections.Generic;
-using LongoMatch.Core.Store;
-using LongoMatch.Core.Interfaces.Drawing;
using LongoMatch.Core.Common;
-using LongoMatch.Drawing.CanvasObjects;
+using LongoMatch.Core.Interfaces.Drawing;
+using LongoMatch.Core.Store;
+using LongoMatch.Drawing.CanvasObjects.Timeline;
using Mono.Unix;
namespace LongoMatch.Drawing.Widgets
@@ -30,7 +29,7 @@ namespace LongoMatch.Drawing.Widgets
{
MediaFileSet fileSet;
- public CamerasLabels (IWidget widget): base (widget)
+ public CamerasLabels (IWidget widget) : base (widget)
{
}
@@ -67,18 +66,27 @@ namespace LongoMatch.Drawing.Widgets
widget.Width = w;
// Main camera
- l = new CameraLabelObject (w, h, i * h) { Name = fileSet[0].Name, BackgroundColor =
Config.Style.PaletteBackgroundLight };
+ l = new CameraLabelObject (w, h, i * h) {
+ Name = fileSet [0].Name,
+ BackgroundColor = Config.Style.PaletteBackgroundLight
+ };
AddLabel (l);
i++;
// Periods
- l = new CameraLabelObject (w, h, i * h) { Name = Catalog.GetString ("Periods"),
BackgroundColor = Config.Style.PaletteBackgroundLight };
+ l = new CameraLabelObject (w, h, i * h) {
+ Name = Catalog.GetString ("Periods"),
+ BackgroundColor = Config.Style.PaletteBackgroundLight
+ };
AddLabel (l);
i++;
// Secondary cams
for (int j = 1; j < fileSet.Count; j++) {
- l = new CameraLabelObject (w, h, i * h) { Name = fileSet[j].Name,
BackgroundColor = Config.Style.PaletteBackground };
+ l = new CameraLabelObject (w, h, i * h) {
+ Name = fileSet [j].Name,
+ BackgroundColor = Config.Style.PaletteBackground
+ };
AddLabel (l);
i++;
}
diff --git a/LongoMatch.Drawing/Widgets/CamerasTimeline.cs b/LongoMatch.Drawing/Widgets/CamerasTimeline.cs
index 6e3d227..ffe774c 100644
--- a/LongoMatch.Drawing/Widgets/CamerasTimeline.cs
+++ b/LongoMatch.Drawing/Widgets/CamerasTimeline.cs
@@ -16,14 +16,14 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
+using System.Collections.Generic;
using System.Linq;
-using LongoMatch.Core.Store;
-using LongoMatch.Drawing.CanvasObjects;
using LongoMatch.Core.Common;
using LongoMatch.Core.Handlers;
using LongoMatch.Core.Interfaces.Drawing;
+using LongoMatch.Core.Store;
using LongoMatch.Core.Store.Drawables;
-using System.Collections.Generic;
+using LongoMatch.Drawing.CanvasObjects.Timeline;
namespace LongoMatch.Drawing.Widgets
{
@@ -44,7 +44,7 @@ namespace LongoMatch.Drawing.Widgets
MediaFileSet fileSet;
- public CamerasTimeline (IWidget widget): base(widget)
+ public CamerasTimeline (IWidget widget) : base (widget)
{
secondsPerPixel = 0.1;
Accuracy = Constants.TIMELINE_ACCURACY;
@@ -132,8 +132,8 @@ namespace LongoMatch.Drawing.Widgets
// And for the cameras
for (int i = 1; i < fileSet.Count; i++) {
CameraTimeline cameraTimeLine = new CameraTimeline (fileSet [i], false, true,
duration, i * StyleConf.TimelineCameraHeight,
- Config.Style.PaletteBackground,
- Config.Style.PaletteBackgroundLight);
+ Config.Style.PaletteBackground,
+ Config.Style.PaletteBackgroundLight);
AddTimeLine (cameraTimeLine);
}
Update ();
diff --git a/LongoMatch.Drawing/Widgets/PlaysTimeline.cs b/LongoMatch.Drawing/Widgets/PlaysTimeline.cs
index 5fbe306..9b46d8d 100644
--- a/LongoMatch.Drawing/Widgets/PlaysTimeline.cs
+++ b/LongoMatch.Drawing/Widgets/PlaysTimeline.cs
@@ -18,12 +18,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using LongoMatch.Core.Store;
-using LongoMatch.Drawing.CanvasObjects;
using LongoMatch.Core.Common;
using LongoMatch.Core.Handlers;
using LongoMatch.Core.Interfaces.Drawing;
+using LongoMatch.Core.Store;
using LongoMatch.Core.Store.Drawables;
+using LongoMatch.Drawing.CanvasObjects;
+using LongoMatch.Drawing.CanvasObjects.Timeline;
namespace LongoMatch.Drawing.Widgets
{
@@ -120,7 +121,7 @@ namespace LongoMatch.Drawing.Widgets
}
foreach (CategoryTimeline tl in eventsTimelines.Values) {
- PlayObject loaded = tl.Load (play);
+ TimelineEventObject loaded = tl.Load (play);
if (loaded != null) {
ClearSelection ();
UpdateSelection (new Selection (loaded, SelectionPosition.All, 0),
false);
@@ -157,7 +158,7 @@ namespace LongoMatch.Drawing.Widgets
{
foreach (TimelineEvent p in plays) {
eventsTimelines [p.EventType].RemoveNode (p);
- Selections.RemoveAll (s => (s.Drawable as PlayObject).Play == p);
+ Selections.RemoveAll (s => (s.Drawable as TimelineEventObject).Event == p);
}
}
@@ -248,7 +249,7 @@ namespace LongoMatch.Drawing.Widgets
EventType ev = null;
List<TimelineEvent> plays;
- plays = Selections.Select (p => (p.Drawable as PlayObject).Play).ToList ();
+ plays = Selections.Select (p => (p.Drawable as TimelineEventObject).Event).ToList ();
ev = eventsTimelines.GetKeyByValue (catTimeline);
if (ev != null && ShowMenuEvent != null) {
@@ -261,8 +262,8 @@ namespace LongoMatch.Drawing.Widgets
TimelineEvent ev = null;
if (selections.Count > 0) {
CanvasObject d = selections.Last ().Drawable as CanvasObject;
- if (d is PlayObject) {
- ev = (d as PlayObject).Play;
+ if (d is TimelineEventObject) {
+ ev = (d as TimelineEventObject).Event;
loadedEvent = ev;
}
}
@@ -314,8 +315,8 @@ namespace LongoMatch.Drawing.Widgets
co = (sel.Drawable as CanvasObject);
- if (co is PlayObject) {
- play = (co as PlayObject).Play;
+ if (co is TimelineEventObject) {
+ play = (co as TimelineEventObject).Event;
if (sel.Position == SelectionPosition.Right) {
moveTime = play.Stop;
diff --git a/LongoMatch.Drawing/Widgets/TimelineLabels.cs b/LongoMatch.Drawing/Widgets/TimelineLabels.cs
index bcf4642..c9c4319 100644
--- a/LongoMatch.Drawing/Widgets/TimelineLabels.cs
+++ b/LongoMatch.Drawing/Widgets/TimelineLabels.cs
@@ -16,12 +16,12 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
-using System.Linq;
using System.Collections.Generic;
-using LongoMatch.Core.Store;
-using LongoMatch.Core.Interfaces.Drawing;
+using System.Linq;
using LongoMatch.Core.Common;
-using LongoMatch.Drawing.CanvasObjects;
+using LongoMatch.Core.Interfaces.Drawing;
+using LongoMatch.Core.Store;
+using LongoMatch.Drawing.CanvasObjects.Timeline;
using Mono.Unix;
namespace LongoMatch.Drawing.Widgets
@@ -32,9 +32,9 @@ namespace LongoMatch.Drawing.Widgets
EventsFilter filter;
Dictionary<LabelObject, object> labelToObject;
- public TimelineLabels (IWidget widget): base (widget)
+ public TimelineLabels (IWidget widget) : base (widget)
{
- labelToObject = new Dictionary<LabelObject, object>();
+ labelToObject = new Dictionary<LabelObject, object> ();
}
public double Scroll {
@@ -61,7 +61,7 @@ namespace LongoMatch.Drawing.Widgets
void AddLabel (LabelObject label, object obj)
{
Objects.Add (label);
- labelToObject[label] = obj;
+ labelToObject [label] = obj;
}
void FillCanvas ()
@@ -103,7 +103,7 @@ namespace LongoMatch.Drawing.Widgets
{
int i = 0;
foreach (LabelObject label in Objects) {
- if (filter.IsVisible (labelToObject[label])) {
+ if (filter.IsVisible (labelToObject [label])) {
label.OffsetY = i * label.Height;
label.Visible = true;
label.BackgroundColor = Utils.ColorForRow (i);
@@ -114,7 +114,7 @@ namespace LongoMatch.Drawing.Widgets
}
widget.ReDraw ();
}
-
+
public override void Draw (IContext context, Area area)
{
tk.Context = context;
diff --git a/LongoMatch.Drawing/Widgets/TimersTimeline.cs b/LongoMatch.Drawing/Widgets/TimersTimeline.cs
index 2d8a1f6..e51817e 100644
--- a/LongoMatch.Drawing/Widgets/TimersTimeline.cs
+++ b/LongoMatch.Drawing/Widgets/TimersTimeline.cs
@@ -15,14 +15,14 @@
// 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.Collections.Generic;
using System.Linq;
-using LongoMatch.Core.Store;
-using LongoMatch.Drawing.CanvasObjects;
using LongoMatch.Core.Common;
using LongoMatch.Core.Handlers;
using LongoMatch.Core.Interfaces.Drawing;
+using LongoMatch.Core.Store;
using LongoMatch.Core.Store.Drawables;
-using System.Collections.Generic;
+using LongoMatch.Drawing.CanvasObjects.Timeline;
namespace LongoMatch.Drawing.Widgets
{
@@ -37,7 +37,7 @@ namespace LongoMatch.Drawing.Widgets
Time duration;
Dictionary <Timer, TimerTimeline> timers;
- public TimersTimeline (IWidget widget): base(widget)
+ public TimersTimeline (IWidget widget) : base (widget)
{
secondsPerPixel = 0.1;
Accuracy = Constants.TIMELINE_ACCURACY;
@@ -100,8 +100,8 @@ namespace LongoMatch.Drawing.Widgets
{
widget.Height = Constants.TIMER_HEIGHT;
timertimeline = new TimerTimeline (timers, true, NodeDraggingMode.All, true,
duration, 0,
- Config.Style.PaletteBackground,
- Config.Style.PaletteBackgroundLight);
+ Config.Style.PaletteBackground,
+ Config.Style.PaletteBackgroundLight);
foreach (Timer t in timers) {
this.timers [t] = timertimeline;
}
diff --git a/LongoMatch.Drawing/Widgets/Timerule.cs b/LongoMatch.Drawing/Widgets/Timerule.cs
index 58c0db2..a3aa25c 100644
--- a/LongoMatch.Drawing/Widgets/Timerule.cs
+++ b/LongoMatch.Drawing/Widgets/Timerule.cs
@@ -16,13 +16,11 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
-using LongoMatch.Core.Store;
using LongoMatch.Core.Common;
using LongoMatch.Core.Interfaces.Drawing;
-using LongoMatch.Core.Interfaces;
-using System.IO;
-using LongoMatch.Drawing.CanvasObjects;
+using LongoMatch.Core.Store;
using LongoMatch.Core.Store.Drawables;
+using LongoMatch.Drawing.CanvasObjects.Timeline;
namespace LongoMatch.Drawing.Widgets
{
@@ -37,9 +35,9 @@ namespace LongoMatch.Drawing.Widgets
double secondsPerPixel;
Time currentTime;
- public Timerule (IWidget widget):base (widget)
+ public Timerule (IWidget widget) : base (widget)
{
- needle = new NeedleObject();
+ needle = new NeedleObject ();
AddObject (needle);
SecondsPerPixel = 0.1;
currentTime = new Time (0);
@@ -107,8 +105,8 @@ namespace LongoMatch.Drawing.Widgets
protected override void SelectionMoved (Selection sel)
{
- Config.EventsBroker.EmitSeekEvent (Utils.PosToTime (new Point (needle.X + Scroll , 0),
- SecondsPerPixel), false);
+ Config.EventsBroker.EmitSeekEvent (Utils.PosToTime (new Point (needle.X + Scroll, 0),
+ SecondsPerPixel), false);
}
public override void Draw (IContext context, Area area)
@@ -133,24 +131,24 @@ namespace LongoMatch.Drawing.Widgets
tk.FontSlant = FontSlant.Normal;
tk.FontSize = StyleConf.TimelineRuleFontSize;
tk.DrawLine (new Point (area.Start.X, height),
- new Point (area.Start.X + area.Width, height));
+ new Point (area.Start.X + area.Width, height));
startX = (int)(area.Start.X + Scroll);
start = (startX - (startX % TIME_SPACING));
stop = (int)(startX + area.Width + TIME_SPACING);
/* Draw big lines each 10 * secondsPerPixel */
- for (int i=start; i <= stop; i += TIME_SPACING) {
+ for (int i = start; i <= stop; i += TIME_SPACING) {
double pos = i - Scroll;
tk.DrawLine (new Point (pos, height),
- new Point (pos, height - BIG_LINE_HEIGHT));
+ new Point (pos, height - BIG_LINE_HEIGHT));
tk.DrawText (new Point (pos - TEXT_WIDTH / 2, 2), TEXT_WIDTH, height -
BIG_LINE_HEIGHT - 2,
- new Time { TotalSeconds = (int) (i * SecondsPerPixel)
}.ToSecondsString ());
+ new Time { TotalSeconds = (int)(i * SecondsPerPixel)
}.ToSecondsString ());
}
start = (startX - (startX % (TIME_SPACING / 10))) + (TIME_SPACING / 10);
/* Draw small lines each 1 * secondsPerPixel */
- for (int i=start; i<= stop; i+= TIME_SPACING / 10) {
+ for (int i = start; i <= stop; i += TIME_SPACING / 10) {
double pos;
if (i % TIME_SPACING == 0)
@@ -158,7 +156,7 @@ namespace LongoMatch.Drawing.Widgets
pos = i - Scroll;
tk.DrawLine (new Point (pos, height),
- new Point (pos, height - SMALL_LINE_HEIGHT));
+ new Point (pos, height - SMALL_LINE_HEIGHT));
}
/* Draw position triangle */
diff --git a/LongoMatch.GUI/Gui/Component/SynchronizationWidget.cs
b/LongoMatch.GUI/Gui/Component/SynchronizationWidget.cs
index 16e0e70..0d1d038 100644
--- a/LongoMatch.GUI/Gui/Component/SynchronizationWidget.cs
+++ b/LongoMatch.GUI/Gui/Component/SynchronizationWidget.cs
@@ -16,18 +16,17 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
+using System.Collections.Generic;
using System.Linq;
+using Gtk;
+using LongoMatch.Core.Common;
using LongoMatch.Core.Store;
-using System.Collections.Generic;
-using LongoMatch.Drawing.Widgets;
using LongoMatch.Drawing.Cairo;
-using LongoMatch.Drawing.CanvasObjects;
+using LongoMatch.Drawing.CanvasObjects.Timeline;
+using LongoMatch.Drawing.Widgets;
+using LongoMatch.Gui.Menus;
using Mono.Unix;
-using Gtk;
using Pango;
-using LongoMatch.Core.Common;
-using LongoMatch.Gui.Menus;
-using LongoMatch.Gui.Helpers;
namespace LongoMatch.Gui.Component
{
diff --git a/LongoMatch.GUI/Gui/Menu/PeriodsMenu.cs b/LongoMatch.GUI/Gui/Menu/PeriodsMenu.cs
index 04f74eb..a426805 100644
--- a/LongoMatch.GUI/Gui/Menu/PeriodsMenu.cs
+++ b/LongoMatch.GUI/Gui/Menu/PeriodsMenu.cs
@@ -18,8 +18,8 @@
using System;
using Gtk;
using LongoMatch.Core.Store;
+using LongoMatch.Drawing.CanvasObjects.Timeline;
using Mono.Unix;
-using LongoMatch.Drawing.CanvasObjects;
namespace LongoMatch.Gui.Menus
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]