[longomatch] Add a new Events broker and simplify events passing
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Add a new Events broker and simplify events passing
- Date: Mon, 7 Jul 2014 11:27:07 +0000 (UTC)
commit 6a5d41558c41a205ed3f2e20542b37a6382d2a2a
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Wed Jun 4 09:24:03 2014 +0200
Add a new Events broker and simplify events passing
LongoMatch.Core/Common/EventsBroker.cs | 300 ++++++++++++++++++++
LongoMatch.Core/Config.cs | 1 +
LongoMatch.Core/Handlers/Handlers.cs | 4 +-
LongoMatch.Core/Interfaces/GUI/IAnalysisWindow.cs | 36 ---
LongoMatch.Core/Interfaces/GUI/IGUIToolkit.cs | 3 +-
LongoMatch.Core/Interfaces/GUI/IMainController.cs | 23 +--
.../Interfaces/GUI/IProjectOptionsController.cs | 35 ---
LongoMatch.Core/LongoMatch.Core.mdp | 2 +-
LongoMatch.Drawing/Widgets/PlaysTimeline.cs | 24 +-
LongoMatch.GUI/Gui/Component/AnalysisComponent.cs | 173 +-----------
.../Gui/Component/AnalysisTemplateEditor.cs | 2 +-
LongoMatch.GUI/Gui/Component/ButtonsWidget.cs | 21 +--
LongoMatch.GUI/Gui/Component/CodingWidget.cs | 17 +-
LongoMatch.GUI/Gui/Component/NotesWidget.cs | 4 +-
.../Gui/Component/PlayersListTreeWidget.cs | 38 +---
.../Gui/Component/PlaysListTreeWidget.cs | 69 +-----
.../Gui/Component/PlaysSelectionWidget.cs | 102 +-------
LongoMatch.GUI/Gui/Component/Timeline.cs | 74 +-----
LongoMatch.GUI/Gui/GUIToolkit.cs | 4 +-
LongoMatch.GUI/Gui/MainWindow.cs | 251 +++--------------
LongoMatch.GUI/Gui/Panel/NewProjectPanel.cs | 5 +-
LongoMatch.GUI/Gui/Panel/OpenProjectPanel.cs | 4 +-
LongoMatch.GUI/Gui/Panel/WelcomePanel.cs | 21 +-
LongoMatch.GUI/Gui/TreeView/ListTreeViewBase.cs | 62 ++---
.../gtk-gui/LongoMatch.Gui.MainWindow.cs | 45 +---
LongoMatch.GUI/gtk-gui/gui.stetic | 76 -----
LongoMatch.GUI/gtk-gui/objects.xml | 78 -----
LongoMatch.Services/LongoMatch.Services.mdp | 1 -
LongoMatch.Services/Services/Core.cs | 18 +-
LongoMatch.Services/Services/DataBaseManager.cs | 18 +-
LongoMatch.Services/Services/EventsManager.cs | 48 ++--
LongoMatch.Services/Services/GameUnitsManager.cs | 146 ----------
LongoMatch.Services/Services/HotKeysManager.cs | 17 +-
LongoMatch.Services/Services/PlaylistManager.cs | 30 +--
LongoMatch.Services/Services/ProjectsManager.cs | 56 ++---
.../Services/RenderingJobsManager.cs | 2 +-
LongoMatch.Services/Services/ToolsManager.cs | 26 +-
LongoMatch/Main.cs | 1 +
38 files changed, 503 insertions(+), 1334 deletions(-)
---
diff --git a/LongoMatch.Core/Common/EventsBroker.cs b/LongoMatch.Core/Common/EventsBroker.cs
new file mode 100644
index 0000000..3b7f0c7
--- /dev/null
+++ b/LongoMatch.Core/Common/EventsBroker.cs
@@ -0,0 +1,300 @@
+//
+// 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.Handlers;
+using System.Collections.Generic;
+using LongoMatch.Store;
+using LongoMatch.Interfaces;
+using LongoMatch.Interfaces.GUI;
+
+namespace LongoMatch.Common
+{
+ public class EventsBroker
+ {
+
+ public event NewTagHandler NewTagEvent;
+ public event NewTagAtPosHandler NewTagAtPosEvent;
+ public event NewTagStartHandler NewTagStartEvent;
+ public event NewTagStopHandler NewTagStopEvent;
+ public event NewTagCancelHandler NewTagCancelEvent;
+ public event PlaysDeletedHandler PlaysDeleted;
+ public event PlaySelectedHandler PlaySelected;
+ public event PlayCategoryChangedHandler PlayCategoryChanged;
+ public event PlayListNodeAddedHandler PlayListNodeAdded;
+ public event TimeNodeChangedHandler TimeNodeChanged;
+ public event SnapshotSeriesHandler SnapshotSeries;
+ public event RenderPlaylistHandler RenderPlaylist;
+ public event TagPlayHandler TagPlay;
+ public event DuplicatePlayHandler DuplicatePlay;
+
+ /* Playlist */
+ public event RenderPlaylistHandler RenderPlaylistEvent;
+ public event PlayListNodeAddedHandler PlayListNodeAddedEvent;
+ public event PlayListNodeSelectedHandler PlayListNodeSelectedEvent;
+ public event OpenPlaylistHandler OpenPlaylistEvent;
+ public event NewPlaylistHandler NewPlaylistEvent;
+ public event SavePlaylistHandler SavePlaylistEvent;
+
+
+ public event KeyHandler KeyPressed;
+
+ /* Project options */
+ public event SaveProjectHandler SaveProjectEvent;
+ public event CloseOpenendProjectHandler CloseOpenedProjectEvent;
+ public event ShowFullScreenHandler ShowFullScreenEvent;
+ public event ShowProjectStats ShowProjectStatsEvent;
+ public event TagSubcategoriesChangedHandler TagSubcategoriesChangedEvent;
+
+ /* Main controller */
+
+ /* IMainController */
+ public event NewProjectHandler NewProjectEvent;
+ public event OpenNewProjectHandler OpenNewProjectEvent;
+ public event OpenProjectHandler OpenProjectEvent;
+ public event OpenProjectIDHandler OpenProjectIDEvent;
+ public event ImportProjectHandler ImportProjectEvent;
+ public event ExportProjectHandler ExportProjectEvent;
+ public event QuitApplicationHandler QuitApplicationEvent;
+ public event ManageJobsHandler ManageJobsEvent;
+ public event ManageTeamsHandler ManageTeamsEvent;
+ public event ManageCategoriesHandler ManageCategoriesEvent;
+ public event ManageProjects ManageProjectsEvent;
+ public event ManageDatabases ManageDatabasesEvent;
+ public event EditPreferences EditPreferencesEvent;
+ public event ConvertVideoFilesHandler ConvertVideoFilesEvent;
+
+ public event OpenedProjectChangedHandler OpenedProjectChanged;
+
+
+ public EventsBroker ()
+ {
+ }
+
+ public void EmitNewTagAtPos(Category category, Time pos) {
+ if (NewTagAtPosEvent != null)
+ NewTagAtPosEvent(category, pos);
+ }
+
+ public void EmitNewTag(Category category) {
+ if (NewTagEvent != null)
+ NewTagEvent(category);
+ }
+
+ public void EmitNewTagStart(Category category) {
+ if (NewTagStartEvent != null)
+ NewTagStartEvent (category);
+ }
+
+ public void EmitNewTagStop(Category category) {
+ if (NewTagStopEvent != null)
+ NewTagStopEvent (category);
+ }
+
+ public void EmitNewTagCancel(Category category) {
+ if (NewTagCancelEvent != null)
+ NewTagCancelEvent (category);
+ }
+
+
+ public void EmitPlaysDeleted(List<Play> plays)
+ {
+ if (PlaysDeleted != null)
+ PlaysDeleted(plays);
+ }
+
+ public void EmitPlaySelected(Play play)
+ {
+ if (PlaySelected != null)
+ PlaySelected(play);
+ }
+
+ public void EmitSnapshotSeries(Play play)
+ {
+ if (SnapshotSeries != null)
+ SnapshotSeries(play);
+ }
+
+ public void EmitRenderPlaylist(IPlayList playlist) {
+ if (RenderPlaylist != null)
+ RenderPlaylist(playlist);
+ }
+
+ public void EmitPlayListNodeAdded(List<Play> plays)
+ {
+ if (PlayListNodeAdded != null)
+ PlayListNodeAdded(plays);
+ }
+
+ public void EmitTimeNodeChanged (TimeNode tn, object val)
+ {
+ if (TimeNodeChanged != null)
+ TimeNodeChanged(tn, val);
+ }
+
+ public virtual void EmitPlayCategoryChanged(Play play, Category cat)
+ {
+ if(PlayCategoryChanged != null)
+ PlayCategoryChanged(play, cat);
+ }
+
+ public void EmitTagPlay(Play play) {
+ if (TagPlay != null)
+ TagPlay (play);
+ }
+
+ public void EmitDuplicatePlay (Play play)
+ {
+ if (DuplicatePlay != null)
+ DuplicatePlay (play);
+ }
+
+ public void EmitNewPlaylist() {
+ if (NewPlaylistEvent != null)
+ NewPlaylistEvent();
+ }
+
+ public void EmitOpenPlaylist() {
+ if (OpenPlaylistEvent != null)
+ OpenPlaylistEvent();
+ }
+
+ public void EmitSavePlaylist() {
+ if (SavePlaylistEvent != null)
+ SavePlaylistEvent();
+ }
+
+ public void EmitKeyPressed(object sender, int key, int modifier) {
+ if (KeyPressed != null)
+ KeyPressed(sender, key, modifier);
+ }
+
+ public void EmitCloseOpenedProject () {
+ if (CloseOpenedProjectEvent != null)
+ CloseOpenedProjectEvent ();
+ }
+
+ public void EmitShowProjectStats (Project project) {
+ if (ShowProjectStatsEvent != null)
+ ShowProjectStatsEvent (project);
+ }
+
+ public void EmitTagSubcategories (bool active) {
+ if (TagSubcategoriesChangedEvent != null)
+ TagSubcategoriesChangedEvent (active);
+ }
+
+ public void EmitShowFullScreen (bool active)
+ {
+ if (ShowFullScreenEvent != null) {
+ ShowFullScreenEvent (active);
+ }
+ }
+
+ public void EmitSaveProject (Project project, ProjectType projectType) {
+ if (SaveProjectEvent != null)
+ SaveProjectEvent (project, projectType);
+ }
+
+ public void EmitNewProject () {
+ if (NewProjectEvent != null)
+ NewProjectEvent();
+ }
+
+ public void EmitOpenProject () {
+ if(OpenProjectEvent != null)
+ OpenProjectEvent();
+ }
+
+ public void EmitEditPreferences ()
+ {
+ if (EditPreferencesEvent != null)
+ EditPreferencesEvent();
+ }
+
+ public void EmitManageJobs() {
+ if(ManageJobsEvent != null)
+ ManageJobsEvent();
+ }
+
+ public void EmitManageTeams() {
+ if(ManageTeamsEvent != null)
+ ManageTeamsEvent();
+ }
+
+ public void EmitManageProjects()
+ {
+ if (ManageProjectsEvent != null)
+ ManageProjectsEvent();
+ }
+
+ public void EmitManageDatabases()
+ {
+ if (ManageDatabasesEvent != null)
+ ManageDatabasesEvent();
+ }
+
+ public void EmitManageCategories() {
+ if(ManageCategoriesEvent != null)
+ ManageCategoriesEvent();
+ }
+
+ public void EmitImportProject(string name, string filterName, string filter,
+ Func<string, Project> func, bool requiresNewFile) {
+ if (ImportProjectEvent != null)
+ ImportProjectEvent(name, filterName, filter, func, requiresNewFile);
+ }
+
+ public void EmitExportProject (Project project) {
+ if(ExportProjectEvent != null)
+ ExportProjectEvent (project);
+ }
+
+ public void EmitOpenProjectID (Guid projectID ) {
+ if (OpenProjectIDEvent != null) {
+ OpenProjectIDEvent (projectID);
+ }
+ }
+
+ public void EmitOpenNewProject (Project project, ProjectType projectType, CaptureSettings
captureSettings)
+ {
+ if (OpenNewProjectEvent != null) {
+ OpenNewProjectEvent (project, projectType, captureSettings);
+ }
+ }
+
+ public void EmitConvertVideoFiles (List<MediaFile> files, EncodingSettings settings) {
+ if (ConvertVideoFilesEvent != null)
+ ConvertVideoFilesEvent (files, settings);
+ }
+
+ public void EmitQuitApplication () {
+ if (QuitApplicationEvent != null) {
+ QuitApplicationEvent ();
+ }
+ }
+
+ public void EmitOpenedProjectChanged (Project project, ProjectType projectType,
+ PlaysFilter filter, IAnalysisWindow analysisWindow)
+ {
+ if (OpenedProjectChanged != null) {
+ OpenedProjectChanged (project, projectType, filter, analysisWindow);
+ }
+ }
+ }
+}
+
diff --git a/LongoMatch.Core/Config.cs b/LongoMatch.Core/Config.cs
index 0de7ef1..4107850 100644
--- a/LongoMatch.Core/Config.cs
+++ b/LongoMatch.Core/Config.cs
@@ -38,6 +38,7 @@ namespace LongoMatch
public static ITeamTemplatesProvider TeamTemplatesProvider;
public static ICategoriesTemplatesProvider CategoriesTemplatesProvider;
public static ISubcategoriesTemplatesProvider SubcategoriesTemplatesProvider;
+ public static EventsBroker EventsBroker;
public static IDataBaseManager DatabaseManager;
public static IRenderingJobsManager RenderingJobsManger;
diff --git a/LongoMatch.Core/Handlers/Handlers.cs b/LongoMatch.Core/Handlers/Handlers.cs
index c7abdfd..c825e4d 100644
--- a/LongoMatch.Core/Handlers/Handlers.cs
+++ b/LongoMatch.Core/Handlers/Handlers.cs
@@ -55,7 +55,7 @@ namespace LongoMatch.Handlers
/* Project Events */
public delegate void SaveProjectHandler(Project project, ProjectType projectType);
public delegate void OpenedProjectChangedHandler(Project project, ProjectType projectType,
PlaysFilter filter,
- IAnalysisWindow analysisWindow,
IProjectOptionsController projectOptions);
+ IAnalysisWindow analysisWindow);
public delegate void OpenProjectIDHandler(Guid project_id);
public delegate void OpenProjectHandler();
public delegate void CloseOpenendProjectHandler();
@@ -63,7 +63,7 @@ namespace LongoMatch.Handlers
public delegate void OpenNewProjectHandler(Project project, ProjectType projectType, CaptureSettings
captureSettings);
public delegate void ImportProjectHandler(string name, string filterName, string filter,
Func <string, Project> importProjectFunc, bool
requiresNewFile);
- public delegate void ExportProjectHandler();
+ public delegate void ExportProjectHandler (Project project);
public delegate void QuitApplicationHandler ();
/* GUI */
diff --git a/LongoMatch.Core/Interfaces/GUI/IAnalysisWindow.cs
b/LongoMatch.Core/Interfaces/GUI/IAnalysisWindow.cs
index 7acdd53..e92bb0a 100644
--- a/LongoMatch.Core/Interfaces/GUI/IAnalysisWindow.cs
+++ b/LongoMatch.Core/Interfaces/GUI/IAnalysisWindow.cs
@@ -27,42 +27,6 @@ namespace LongoMatch.Interfaces.GUI
{
public interface IAnalysisWindow
{
- /* Tags */
- event NewTagHandler NewTagEvent;
- event NewTagAtPosHandler NewTagAtPosEvent;
- event NewTagStartHandler NewTagStartEvent;
- event NewTagStopHandler NewTagStopEvent;
- event NewTagCancelHandler NewTagCancelEvent;
- event PlaySelectedHandler PlaySelectedEvent;
- event TagPlayHandler TagPlayEvent;
- event PlaysDeletedHandler PlaysDeletedEvent;
- event TimeNodeChangedHandler TimeNodeChanged;
- event PlayCategoryChangedHandler PlayCategoryChanged;
- event DuplicatePlayHandler DuplicatePlay;
-
- /* Playlist */
- event RenderPlaylistHandler RenderPlaylistEvent;
- event PlayListNodeAddedHandler PlayListNodeAddedEvent;
- event PlayListNodeSelectedHandler PlayListNodeSelectedEvent;
- event OpenPlaylistHandler OpenPlaylistEvent;
- event NewPlaylistHandler NewPlaylistEvent;
- event SavePlaylistHandler SavePlaylistEvent;
-
- /* Snapshots */
- event SnapshotSeriesHandler SnapshotSeriesEvent;
-
- /* Game Units events */
- event GameUnitHandler GameUnitEvent;
- event UnitChangedHandler UnitChanged;
- event UnitSelectedHandler UnitSelected;
- event UnitsDeletedHandler UnitDeleted;
- event UnitAddedHandler UnitAdded;
-
- /* Error handling */
- event CloseOpenendProjectHandler CloseOpenedProjectEvent;
-
- event KeyHandler KeyPressed;
-
void SetProject(Project project, ProjectType projectType, CaptureSettings props, PlaysFilter
filter);
void CloseOpenedProject ();
void AddPlay(Play play);
diff --git a/LongoMatch.Core/Interfaces/GUI/IGUIToolkit.cs b/LongoMatch.Core/Interfaces/GUI/IGUIToolkit.cs
index 2c9e263..59b5f40 100644
--- a/LongoMatch.Core/Interfaces/GUI/IGUIToolkit.cs
+++ b/LongoMatch.Core/Interfaces/GUI/IGUIToolkit.cs
@@ -60,8 +60,7 @@ namespace LongoMatch.Interfaces.GUI
void OpenProject (Project project, ProjectType projectType,
CaptureSettings props, PlaysFilter filter,
- out IAnalysisWindow analysisWindow,
- out IProjectOptionsController projectOptionsController);
+ out IAnalysisWindow analysisWindow);
void CloseProject ();
void SelectProject(List<ProjectDescription> projects);
diff --git a/LongoMatch.Core/Interfaces/GUI/IMainController.cs
b/LongoMatch.Core/Interfaces/GUI/IMainController.cs
index aee3051..d2cd23b 100644
--- a/LongoMatch.Core/Interfaces/GUI/IMainController.cs
+++ b/LongoMatch.Core/Interfaces/GUI/IMainController.cs
@@ -23,30 +23,9 @@ namespace LongoMatch.Interfaces.GUI
{
public interface IMainController
{
- /* Projects */
- event NewProjectHandler NewProjectEvent;
- event OpenNewProjectHandler OpenNewProjectEvent;
- event OpenProjectHandler OpenProjectEvent;
- event OpenProjectIDHandler OpenProjectIDEvent;
- event ImportProjectHandler ImportProjectEvent;
- event ExportProjectHandler ExportProjectEvent;
- event QuitApplicationHandler QuitApplicationEvent;
-
- /* Managers */
- event ManageJobsHandler ManageJobsEvent;
- event ManageTeamsHandler ManageTeamsEvent;
- event ManageCategoriesHandler ManageCategoriesEvent;
- event ManageProjects ManageProjectsEvent;
- event ManageDatabases ManageDatabasesEvent;
- event EditPreferences EditPreferencesEvent;
-
- /* Convert Video Files */
- event ConvertVideoFilesHandler ConvertVideoFilesEvent;
-
void AddExportEntry (string name, string shortName, Action<Project, IGUIToolkit>
exportAction);
void AddImportEntry (string name, string shortName, string filterName,
string filter, Func<string, Project> importFunc,
bool requiresNewFile);
}
-}
-
+}
\ No newline at end of file
diff --git a/LongoMatch.Core/LongoMatch.Core.mdp b/LongoMatch.Core/LongoMatch.Core.mdp
index 7138f53..2d75243 100644
--- a/LongoMatch.Core/LongoMatch.Core.mdp
+++ b/LongoMatch.Core/LongoMatch.Core.mdp
@@ -107,7 +107,6 @@
<File subtype="Code" buildaction="Compile" name="Common/Gettext.cs" />
<File subtype="Code" buildaction="Compile" name="Common/Exceptions.cs" />
<File subtype="Code" buildaction="Compile" name="Interfaces/GUI/IMainController.cs" />
- <File subtype="Code" buildaction="Compile" name="Interfaces/GUI/IProjectOptionsController.cs" />
<File subtype="Code" buildaction="EmbedAsResource" name="../images/field_background.svg" />
<File subtype="Code" buildaction="EmbedAsResource" name="../images/goal_background.svg" />
<File subtype="Code" buildaction="EmbedAsResource" name="../images/half_field_background.svg" />
@@ -139,6 +138,7 @@
<File subtype="Code" buildaction="Compile" name="Common/ExtensionMethods.cs" />
<File subtype="Code" buildaction="Compile" name="Store/Timer.cs" />
<File subtype="Code" buildaction="Compile" name="Store/Period.cs" />
+ <File subtype="Code" buildaction="Compile" name="Common/EventsBroker.cs" />
</Contents>
<References>
<ProjectReference type="Package" localcopy="True" refto="System, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
diff --git a/LongoMatch.Drawing/Widgets/PlaysTimeline.cs b/LongoMatch.Drawing/Widgets/PlaysTimeline.cs
index 56a94af..646b0a6 100644
--- a/LongoMatch.Drawing/Widgets/PlaysTimeline.cs
+++ b/LongoMatch.Drawing/Widgets/PlaysTimeline.cs
@@ -31,8 +31,6 @@ namespace LongoMatch.Drawing.Widgets
public class PlaysTimeline: SelectionCanvas
{
- public event TimeNodeChangedHandler TimeNodeChanged;
- public event PlaySelectedHandler TimeNodeSelected;
public event ShowTimelineMenuHandler ShowMenuEvent;
Project project;
@@ -144,9 +142,7 @@ namespace LongoMatch.Drawing.Widgets
protected override void SelectionChanged (List<Selection> selections) {
if (selections.Count > 0) {
PlayObject po = selections.Last().Drawable as PlayObject;
- if (TimeNodeSelected != null) {
- TimeNodeSelected (po.Play);
- }
+ Config.EventsBroker.EmitPlaySelected (po.Play);
}
}
@@ -181,17 +177,15 @@ namespace LongoMatch.Drawing.Widgets
}
protected override void SelectionMoved (Selection sel) {
- if (TimeNodeChanged != null) {
- Time moveTime;
- Play play = (sel.Drawable as PlayObject).Play;
-
- if (sel.Position == SelectionPosition.Right) {
- moveTime = play.Stop;
- } else {
- moveTime = play.Start;
- }
- TimeNodeChanged (play, moveTime);
+ Time moveTime;
+ Play play = (sel.Drawable as PlayObject).Play;
+
+ if (sel.Position == SelectionPosition.Right) {
+ moveTime = play.Stop;
+ } else {
+ moveTime = play.Start;
}
+ Config.EventsBroker.EmitTimeNodeChanged (play, moveTime);
}
}
}
diff --git a/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
b/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
index 9dfc435..2d06a3e 100644
--- a/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
+++ b/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
@@ -33,42 +33,6 @@ namespace LongoMatch.Gui.Component
[System.ComponentModel.ToolboxItem(true)]
public partial class AnalysisComponent : Gtk.Bin, IAnalysisWindow
{
- /* Error handling */
- public event CloseOpenendProjectHandler CloseOpenedProjectEvent;
-
- /* Tags */
- public event NewTagHandler NewTagEvent;
- public event NewTagStartHandler NewTagStartEvent;
- public event NewTagStopHandler NewTagStopEvent;
- public event NewTagCancelHandler NewTagCancelEvent;
- public event PlaySelectedHandler PlaySelectedEvent;
- public event NewTagAtPosHandler NewTagAtPosEvent;
- public event TagPlayHandler TagPlayEvent;
- public event PlaysDeletedHandler PlaysDeletedEvent;
- public event TimeNodeChangedHandler TimeNodeChanged;
- public event PlayCategoryChangedHandler PlayCategoryChanged;
- public event DuplicatePlayHandler DuplicatePlay;
-
- /* Playlist */
- public event RenderPlaylistHandler RenderPlaylistEvent;
- public event PlayListNodeAddedHandler PlayListNodeAddedEvent;
- public event PlayListNodeSelectedHandler PlayListNodeSelectedEvent;
- public event OpenPlaylistHandler OpenPlaylistEvent;
- public event NewPlaylistHandler NewPlaylistEvent;
- public event SavePlaylistHandler SavePlaylistEvent;
-
- /* Snapshots */
- public event SnapshotSeriesHandler SnapshotSeriesEvent;
-
- /* Game Units events */
- public event GameUnitHandler GameUnitEvent;
- public event UnitChangedHandler UnitChanged;
- public event UnitSelectedHandler UnitSelected;
- public event UnitsDeletedHandler UnitDeleted;
- public event UnitAddedHandler UnitAdded;
-
- public event KeyHandler KeyPressed;
-
static Project openedProject;
ProjectType projectType;
bool detachedPlayer;
@@ -86,7 +50,7 @@ namespace LongoMatch.Gui.Component
playercapturer.Detach += DetachPlayer;
playercapturer.Logo = System.IO.Path.Combine(Config.ImagesDir,"background.png");
playercapturer.CaptureFinished += (sender, e) => {
- EmitCloseOpenedProject();
+ Config.EventsBroker.EmitCloseOpenedProject();
};
ConnectSignals();
@@ -146,30 +110,11 @@ namespace LongoMatch.Gui.Component
}
private void ConnectSignals() {
- /* Adding Handlers for each event */
-
- notes.TimeNodeChanged += EmitTimeNodeChanged;
-
- playsSelection.PlaysDeleted += EmitPlaysDeleted;
- playsSelection.PlaySelected += EmitPlaySelected;
- playsSelection.TimeNodeChanged += EmitTimeNodeChanged;
- playsSelection.PlayCategoryChanged += EmitPlayCategoryChanged;
- playsSelection.PlayListNodeAdded += EmitPlayListNodeAdded;
- playsSelection.DuplicatePlay += EmitDuplicatePlay;
- playsSelection.TagPlay += EmitTagPlay;
- playsSelection.SnapshotSeries += EmitSnapshotSeries;
- playsSelection.RenderPlaylist += EmitRenderPlaylist;
-
- /* Connect playlist events */
-// playlist.PlayListNodeSelected += EmitPlayListNodeSelected;
-// playlist.NewPlaylistEvent += EmitNewPlaylist;
-// playlist.OpenPlaylistEvent += EmitOpenPlaylist;
-// playlist.SavePlaylistEvent += EmitSavePlaylist;
-
playercapturer.Error += OnMultimediaError;
playercapturer.SegmentClosedEvent += OnSegmentClosedEvent;
- KeyPressEvent += (o, args) => (EmitKeyPressed(o, (int)args.Event.Key,
(int)args.Event.State));
+ KeyPressEvent += (o, args) => (
+ Config.EventsBroker.EmitKeyPressed(o, (int)args.Event.Key,
(int)args.Event.State));
}
void DetachPlayer (bool detach) {
@@ -240,78 +185,13 @@ namespace LongoMatch.Gui.Component
openedProject = project;
this.projectType = projectType;
- codingwidget.SetProject (project, isLive, filter, this);
+ codingwidget.SetProject (project, isLive, filter);
playsSelection.SetProject (project, isLive, filter);
postagger.LoadBackgrounds (openedProject.Categories.FieldBackground,
openedProject.Categories.HalfFieldBackground,
openedProject.Categories.GoalBackground);
}
- public void EmitNewTagAtPos(Category category, Time pos) {
- if (NewTagAtPosEvent != null)
- NewTagAtPosEvent(category, pos);
- }
-
- public void EmitNewTag(Category category) {
- if (NewTagEvent != null)
- NewTagEvent(category);
- }
-
- public void EmitNewTagStart(Category category) {
- if (NewTagStartEvent != null)
- NewTagStartEvent (category);
- }
-
- public void EmitNewTagStop(Category category) {
- if (NewTagStopEvent != null)
- NewTagStopEvent (category);
- }
-
- public void EmitNewTagCancel(Category category) {
- if (NewTagCancelEvent != null)
- NewTagCancelEvent (category);
- }
-
- public void EmitTimeNodeChanged(TimeNode tNode, object val)
- {
- if (TimeNodeChanged != null)
- TimeNodeChanged(tNode, val);
- }
-
- public void EmitPlayListNodeAdded(List<Play> plays)
- {
- if (PlayListNodeAddedEvent != null)
- PlayListNodeAddedEvent(plays);
- }
-
- public void EmitTagPlay(Play play) {
- if (TagPlayEvent != null)
- TagPlayEvent (play);
- }
-
- public void EmitSnapshotSeries(Play play) {
- if (SnapshotSeriesEvent != null)
- SnapshotSeriesEvent (play);
- }
-
- public void EmitRenderPlaylist(IPlayList playlist) {
- if (RenderPlaylistEvent != null)
- RenderPlaylistEvent(playlist);
- }
-
- public void EmitPlaySelected(Play play)
- {
- if (PlaySelectedEvent != null)
- PlaySelectedEvent(play);
- }
-
- public void EmitPlaysDeleted(List<Play> plays)
- {
- if (PlaysDeletedEvent != null)
- PlaysDeletedEvent(plays);
- }
-
-
void ResetGUI() {
playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.Player;
ClearWidgets();
@@ -388,50 +268,7 @@ namespace LongoMatch.Gui.Component
MessagesHelpers.ErrorMessage (this,
Catalog.GetString("The following error happened and" +
" the current project will be closed:")+"\n" + message);
- EmitCloseOpenedProject ();
- }
-
- void EmitCloseOpenedProject () {
- if (CloseOpenedProjectEvent != null)
- CloseOpenedProjectEvent ();
- }
-
- void EmitPlayCategoryChanged(Play play, Category cat)
- {
- if(PlayCategoryChanged != null)
- PlayCategoryChanged(play, cat);
- }
-
- void EmitPlayListNodeSelected(PlayListPlay plNode)
- {
- if (PlayListNodeSelectedEvent != null)
- PlayListNodeSelectedEvent(plNode);
- }
-
- void EmitNewPlaylist() {
- if (NewPlaylistEvent != null)
- NewPlaylistEvent();
- }
-
- void EmitOpenPlaylist() {
- if (OpenPlaylistEvent != null)
- OpenPlaylistEvent();
- }
-
- void EmitSavePlaylist() {
- if (SavePlaylistEvent != null)
- SavePlaylistEvent();
- }
-
- void EmitKeyPressed(object sender, int key, int modifier) {
- if (KeyPressed != null)
- KeyPressed(sender, key, modifier);
- }
-
- void EmitDuplicatePlay (Play play)
- {
- if (DuplicatePlay != null)
- DuplicatePlay (play);
+ Config.EventsBroker.EmitCloseOpenedProject ();
}
}
}
diff --git a/LongoMatch.GUI/Gui/Component/AnalysisTemplateEditor.cs
b/LongoMatch.GUI/Gui/Component/AnalysisTemplateEditor.cs
index 36903e8..f158ca8 100644
--- a/LongoMatch.GUI/Gui/Component/AnalysisTemplateEditor.cs
+++ b/LongoMatch.GUI/Gui/Component/AnalysisTemplateEditor.cs
@@ -29,7 +29,7 @@ namespace LongoMatch.Gui.Component
{
this.Build ();
buttonswidget.Mode = LongoMatch.Common.TagMode.Predifined;
- buttonswidget.NewMarkEvent += HandleNewMarkEvent;
+ //buttonswidget.NewMarkEvent += HandleNewMarkEvent;
categoryproperties.Visible = false;
}
diff --git a/LongoMatch.GUI/Gui/Component/ButtonsWidget.cs b/LongoMatch.GUI/Gui/Component/ButtonsWidget.cs
index 9c7a941..b576d2b 100644
--- a/LongoMatch.GUI/Gui/Component/ButtonsWidget.cs
+++ b/LongoMatch.GUI/Gui/Component/ButtonsWidget.cs
@@ -34,11 +34,6 @@ namespace LongoMatch.Gui.Component
[System.ComponentModel.ToolboxItem(true)]
public partial class ButtonsWidget : Gtk.Bin
{
- public event NewTagHandler NewMarkEvent;
- public event NewTagStartHandler NewMarkStartEvent;
- public event NewTagStopHandler NewMarkStopEvent;
- public event NewTagCancelHandler NewMarkCancelEvent;
-
TagMode tagMode;
Dictionary<ButtonTagger, Category> buttonsDic;
@@ -92,24 +87,16 @@ namespace LongoMatch.Gui.Component
Category cat = categories[i];
ButtonTagger b = new ButtonTagger (cat);
b.NewTag += (category) => {
- if (NewMarkEvent != null) {
- NewMarkEvent (category);
- }
+ Config.EventsBroker.EmitNewTag (category);
};
b.NewTagStart += (category) => {
- if (NewMarkStartEvent != null) {
- NewMarkStartEvent (category);
- }
+ Config.EventsBroker.EmitNewTagStart (category);
};
b.NewTagStop += (category) => {
- if (NewMarkStopEvent != null) {
- NewMarkStopEvent (category);
- }
+ Config.EventsBroker.EmitNewTagStop (category);
};
b.NewTagCancel += (category) => {
- if (NewMarkCancelEvent != null) {
- NewMarkCancelEvent (category);
- }
+ Config.EventsBroker.EmitNewTagCancel (category);
};
b.Mode = tagMode;
diff --git a/LongoMatch.GUI/Gui/Component/CodingWidget.cs b/LongoMatch.GUI/Gui/Component/CodingWidget.cs
index e2eead0..e334639 100644
--- a/LongoMatch.GUI/Gui/Component/CodingWidget.cs
+++ b/LongoMatch.GUI/Gui/Component/CodingWidget.cs
@@ -28,7 +28,6 @@ namespace LongoMatch.Gui.Component
[System.ComponentModel.ToolboxItem(true)]
public partial class CodingWidget : Gtk.Bin
{
- AnalysisComponent parent;
VideoAnalysisMode analysisMode;
TeamTagger teamtagger;
Project project;
@@ -36,18 +35,6 @@ namespace LongoMatch.Gui.Component
public CodingWidget ()
{
this.Build ();
- buttonswidget.NewMarkEvent += (c) => parent.EmitNewTag (c);
- buttonswidget.NewMarkStartEvent += (c) => parent.EmitNewTagStart (c);
- buttonswidget.NewMarkStopEvent += (c) => parent.EmitNewTagStop (c);
- buttonswidget.NewMarkCancelEvent += (c) => parent.EmitNewTagCancel (c);
- timeline.NewTagAtPosEvent += (c, p) => parent.EmitNewTagAtPos (c, p);
- timeline.TimeNodeChanged += (t, v) => parent.EmitTimeNodeChanged (t, v);
- timeline.PlayListNodeAdded += (p) => parent.EmitPlayListNodeAdded (p);
- timeline.TagPlay += (p) => parent.EmitTagPlay (p);
- timeline.SnapshotSeries += (t) => parent.EmitSnapshotSeries (t);
- timeline.RenderPlaylist += (p) => parent.EmitRenderPlaylist (p);
- timeline.TimeNodeDeleted += (p) => parent.EmitPlaysDeleted (p);
- timeline.TimeNodeSelected += (p) => parent.EmitPlaySelected (p);
autoTaggingMode.Toggled += HandleViewToggled;
autoTaggingMode.Active = true;
@@ -60,9 +47,7 @@ namespace LongoMatch.Gui.Component
drawingarea1.WidthRequest = 300;
}
- public void SetProject (Project project, bool isLive, PlaysFilter filter,
- AnalysisComponent parent) {
- this.parent = parent;
+ public void SetProject (Project project, bool isLive, PlaysFilter filter) {
this.project = project;
autoTaggingMode.Active = true;
timeline.Visible = false;
diff --git a/LongoMatch.GUI/Gui/Component/NotesWidget.cs b/LongoMatch.GUI/Gui/Component/NotesWidget.cs
index 14aaea6..ead37b1 100644
--- a/LongoMatch.GUI/Gui/Component/NotesWidget.cs
+++ b/LongoMatch.GUI/Gui/Component/NotesWidget.cs
@@ -30,7 +30,6 @@ namespace LongoMatch.Gui.Component
[System.ComponentModel.ToolboxItem(true)]
public partial class NotesWidget : Gtk.Bin
{
- public event TimeNodeChangedHandler TimeNodeChanged;
TextBuffer buf;
Play play;
@@ -68,8 +67,7 @@ namespace LongoMatch.Gui.Component
{
if(play != null) {
play.Notes=Notes;
- if(TimeNodeChanged != null)
- TimeNodeChanged(play,null);
+ Config.EventsBroker.EmitTimeNodeChanged (play, null);
savebutton.Sensitive = false;
}
}
diff --git a/LongoMatch.GUI/Gui/Component/PlayersListTreeWidget.cs
b/LongoMatch.GUI/Gui/Component/PlayersListTreeWidget.cs
index d68433a..610b197 100644
--- a/LongoMatch.GUI/Gui/Component/PlayersListTreeWidget.cs
+++ b/LongoMatch.GUI/Gui/Component/PlayersListTreeWidget.cs
@@ -33,22 +33,10 @@ namespace LongoMatch.Gui.Component
public partial class PlayersListTreeWidget : Gtk.Bin
{
- public event PlaySelectedHandler TimeNodeSelected;
- public event TimeNodeChangedHandler TimeNodeChanged;
- public event PlayListNodeAddedHandler PlayListNodeAdded;
- public event SnapshotSeriesHandler SnapshotSeriesEvent;
- public event RenderPlaylistHandler RenderPlaylistEvent;
- public event DuplicatePlayHandler DuplicatePlay;
-
public PlayersListTreeWidget()
{
this.Build();
- playerstreeview.TimeNodeChanged += OnTimeNodeChanged;
- playerstreeview.TimeNodeSelected += OnTimeNodeSelected;
- playerstreeview.PlayListNodeAdded += OnPlayListNodeAdded;
- playerstreeview.SnapshotSeriesEvent += OnSnapshotSeriesEvent;
playerstreeview.NewRenderingJob += OnNewRenderingJob;
- playerstreeview.DuplicatePlay += DuplicatePlay;
}
public Project Project {
@@ -111,29 +99,6 @@ namespace LongoMatch.Gui.Component
playerstreeview.Model = null;
}
- protected virtual void OnTimeNodeSelected(Play tNode) {
- if(TimeNodeSelected != null)
- TimeNodeSelected(tNode);
- }
-
- protected virtual void OnSnapshotSeriesEvent(Play tNode)
- {
- if(SnapshotSeriesEvent != null)
- SnapshotSeriesEvent(tNode);
- }
-
- protected virtual void OnTimeNodeChanged(TimeNode tNode, object val)
- {
- if(TimeNodeChanged != null)
- TimeNodeChanged(tNode, val);
- }
-
- protected virtual void OnPlayListNodeAdded(List<Play> plays)
- {
- if(PlayListNodeAdded != null)
- PlayListNodeAdded(plays);
- }
-
protected virtual void OnNewRenderingJob (object sender, EventArgs args)
{
PlayList playlist = new PlayList();
@@ -148,8 +113,7 @@ namespace LongoMatch.Gui.Component
playlist.Add(new PlayListPlay(play, Project.Description.File, true));
}
- if (RenderPlaylistEvent != null)
- RenderPlaylistEvent(playlist);
+ Config.EventsBroker.EmitRenderPlaylist (playlist);
}
}
diff --git a/LongoMatch.GUI/Gui/Component/PlaysListTreeWidget.cs
b/LongoMatch.GUI/Gui/Component/PlaysListTreeWidget.cs
index 712d7e3..06bddb3 100644
--- a/LongoMatch.GUI/Gui/Component/PlaysListTreeWidget.cs
+++ b/LongoMatch.GUI/Gui/Component/PlaysListTreeWidget.cs
@@ -38,31 +38,13 @@ namespace LongoMatch.Gui.Component
public partial class PlaysListTreeWidget : Gtk.Bin
{
- public event PlaySelectedHandler TimeNodeSelected;
- public event TimeNodeChangedHandler TimeNodeChanged;
- public event PlaysDeletedHandler TimeNodeDeleted;
- public event PlayListNodeAddedHandler PlayListNodeAdded;
- public event PlayCategoryChangedHandler PlayCategoryChanged;
- public event SnapshotSeriesHandler SnapshotSeriesEvent;
- public event TagPlayHandler TagPlay;
- public event RenderPlaylistHandler RenderPlaylist;
- public event DuplicatePlayHandler DuplicatePlay;
-
private Project project;
public PlaysListTreeWidget()
{
this.Build();
- treeview.TimeNodeChanged += OnTimeNodeChanged;
- treeview.TimeNodeSelected += OnTimeNodeSelected;
- treeview.TimeNodeDeleted += OnTimeNodeDeleted;
- treeview.PlayListNodeAdded += OnPlayListNodeAdded;
- treeview.SnapshotSeriesEvent += OnSnapshotSeriesEvent;
treeview.EditProperties += OnEditProperties;
- treeview.PlayCategoryChanged += OnPlayCategoryChanged;
- treeview.TagPlay += OnTagPlay;
treeview.NewRenderingJob += OnNewRenderingJob;
- treeview.DuplicatePlay += OnDuplicatePlay;
}
public PlaysFilter Filter {
@@ -179,55 +161,9 @@ namespace LongoMatch.Gui.Component
dialog.Project = project;
dialog.Run();
dialog.Destroy();
- if(TimeNodeChanged != null)
- TimeNodeChanged(tNode, tNode.Name);
- }
-
- protected virtual void OnTimeNodeChanged(TimeNode tNode,object val) {
- if(TimeNodeChanged != null)
- TimeNodeChanged(tNode,val);
- }
-
- protected virtual void OnTimeNodeSelected(Play tNode) {
- if(TimeNodeSelected != null)
- TimeNodeSelected(tNode);
- }
-
- protected virtual void OnTimeNodeDeleted(List<Play> plays) {
- if(TimeNodeDeleted != null)
- TimeNodeDeleted(plays);
- }
-
- protected virtual void OnPlayListNodeAdded(List<Play> plays)
- {
- if(PlayListNodeAdded != null)
- PlayListNodeAdded(plays);
- }
-
- protected virtual void OnDuplicatePlay (Play play)
- {
- if (DuplicatePlay != null)
- DuplicatePlay (play);
- }
-
- protected virtual void OnPlayCategoryChanged(Play play, Category cat)
- {
- if(PlayCategoryChanged != null)
- PlayCategoryChanged(play, cat);
+ Config.EventsBroker.EmitTimeNodeChanged (tNode, tNode.Name);
}
- protected virtual void OnSnapshotSeriesEvent(LongoMatch.Store.Play tNode)
- {
- if(SnapshotSeriesEvent != null)
- SnapshotSeriesEvent(tNode);
- }
-
- protected virtual void OnTagPlay(LongoMatch.Store.Play tNode)
- {
- if(TagPlay != null)
- TagPlay(tNode);
- }
-
protected virtual void OnNewRenderingJob (object sender, EventArgs args)
{
PlayList playlist = new PlayList();
@@ -242,8 +178,7 @@ namespace LongoMatch.Gui.Component
playlist.Add (new PlayListPlay(play, project.Description.File, true));
}
- if (RenderPlaylist != null)
- RenderPlaylist (playlist);
+ Config.EventsBroker.EmitRenderPlaylist (playlist);
}
}
}
diff --git a/LongoMatch.GUI/Gui/Component/PlaysSelectionWidget.cs
b/LongoMatch.GUI/Gui/Component/PlaysSelectionWidget.cs
index fb04954..6b73c35 100644
--- a/LongoMatch.GUI/Gui/Component/PlaysSelectionWidget.cs
+++ b/LongoMatch.GUI/Gui/Component/PlaysSelectionWidget.cs
@@ -31,16 +31,6 @@ namespace LongoMatch.Gui.Component
public partial class PlaysSelectionWidget : Gtk.Bin
{
- public event PlaysDeletedHandler PlaysDeleted;
- public event PlaySelectedHandler PlaySelected;
- public event PlayCategoryChangedHandler PlayCategoryChanged;
- public event PlayListNodeAddedHandler PlayListNodeAdded;
- public event TimeNodeChangedHandler TimeNodeChanged;
- public event SnapshotSeriesHandler SnapshotSeries;
- public event RenderPlaylistHandler RenderPlaylist;
- public event TagPlayHandler TagPlay;
- public event DuplicatePlayHandler DuplicatePlay;
-
Project project;
PlaysFilter filter;
PlayersFilterTreeView playersfilter;
@@ -52,7 +42,7 @@ namespace LongoMatch.Gui.Component
localPlayersList.Team = Team.LOCAL;
visitorPlayersList.Team = Team.VISITOR;
AddFilters();
- ConnectSignals();
+ Config.EventsBroker.TagPlay += (Play play) => {UpdateTeamsModels();};
}
#region Plubic Methods
@@ -128,101 +118,11 @@ namespace LongoMatch.Gui.Component
filtersnotebook.ShowAll();
}
- private void ConnectSignals() {
- playsList.TimeNodeDeleted += EmitPlaysDeleted;
-
- /* Connect TimeNodeSelected events */
- playsList.TimeNodeSelected += EmitPlaySelected;
- localPlayersList.TimeNodeSelected += EmitPlaySelected;
- visitorPlayersList.TimeNodeSelected += EmitPlaySelected;
-
- /* Connect PlayListNodeAdded events */
- playsList.PlayListNodeAdded += EmitPlayListNodeAdded;
- localPlayersList.PlayListNodeAdded += EmitPlayListNodeAdded;
- visitorPlayersList.PlayListNodeAdded += EmitPlayListNodeAdded;
-
- /* Duplicate play */
- playsList.DuplicatePlay += EmitDuplicatePlay;
- localPlayersList.DuplicatePlay += EmitDuplicatePlay;
- visitorPlayersList.DuplicatePlay += EmitDuplicatePlay;
-
- /* Play name edited or Category name changed */
- playsList.TimeNodeChanged += EmitTimeNodeChanged;
-
- /* Connect tags events */
- playsList.TagPlay += EmitTagPlay;
-
- /* Connect SnapshotSeries events */
- playsList.SnapshotSeriesEvent += EmitSnapshotSeries;
- localPlayersList.SnapshotSeriesEvent += EmitSnapshotSeries;
- visitorPlayersList.SnapshotSeriesEvent += EmitSnapshotSeries;
-
- playsList.RenderPlaylist += EmitRenderPlaylist;
- localPlayersList.RenderPlaylistEvent += EmitRenderPlaylist;
- visitorPlayersList.RenderPlaylistEvent += EmitRenderPlaylist;
-
- /* Connect PlayCategoryChanged events */
- playsList.PlayCategoryChanged += EmitPlayCategoryChanged;
- }
-
private void UpdateTeamsModels() {
localPlayersList.SetTeam(project.LocalTeamTemplate, project.AllPlays());
visitorPlayersList.SetTeam(project.VisitorTeamTemplate, project.AllPlays());
}
- private void EmitPlaysDeleted(List<Play> plays)
- {
- if (PlaysDeleted != null)
- PlaysDeleted(plays);
- }
-
- private void EmitPlaySelected(Play play)
- {
- if (PlaySelected != null)
- PlaySelected(play);
- }
-
- private void EmitSnapshotSeries(Play play)
- {
- if (SnapshotSeries != null)
- SnapshotSeries(play);
- }
-
- private void EmitRenderPlaylist(IPlayList playlist) {
- if (RenderPlaylist != null)
- RenderPlaylist(playlist);
- }
-
- private void EmitPlayListNodeAdded(List<Play> plays)
- {
- if (PlayListNodeAdded != null)
- PlayListNodeAdded(plays);
- }
-
- private void EmitTimeNodeChanged (TimeNode tn, object val)
- {
- if (TimeNodeChanged != null)
- TimeNodeChanged(tn, val);
- }
-
- protected virtual void EmitPlayCategoryChanged(Play play, Category cat)
- {
- if(PlayCategoryChanged != null)
- PlayCategoryChanged(play, cat);
- }
-
- private void EmitTagPlay(Play play) {
- if (TagPlay != null)
- TagPlay (play);
- UpdateTeamsModels();
- }
-
- private void EmitDuplicatePlay (Play play)
- {
- if (DuplicatePlay != null)
- DuplicatePlay (play);
- }
-
protected void OnCategoriesFiltersbuttonClicked (object sender, System.EventArgs e)
{
if (catfiltersbutton.Active) {
diff --git a/LongoMatch.GUI/Gui/Component/Timeline.cs b/LongoMatch.GUI/Gui/Component/Timeline.cs
index 1d712b4..e2b0341 100644
--- a/LongoMatch.GUI/Gui/Component/Timeline.cs
+++ b/LongoMatch.GUI/Gui/Component/Timeline.cs
@@ -32,15 +32,6 @@ namespace LongoMatch.Gui.Component
[System.ComponentModel.ToolboxItem(true)]
public partial class Timeline : Gtk.Bin
{
- public event TimeNodeChangedHandler TimeNodeChanged;
- public event PlaySelectedHandler TimeNodeSelected;
- public event PlaysDeletedHandler TimeNodeDeleted;
- public event NewTagAtPosHandler NewTagAtPosEvent;
- public event PlayListNodeAddedHandler PlayListNodeAdded;
- public event SnapshotSeriesHandler SnapshotSeries;
- public event TagPlayHandler TagPlay;
- public event RenderPlaylistHandler RenderPlaylist;
-
const uint TIMEOUT_MS = 100;
PlaysTimeline timeline;
@@ -103,9 +94,6 @@ namespace LongoMatch.Gui.Component
focusscale.Value = 6;
projectFile = project.Description.File;
timerule.Duration = new Time ((int)project.Description.File.Length);
-
- timeline.TimeNodeChanged += HandleTimeNodeChanged;
- timeline.TimeNodeSelected += HandleTimeNodeSelected;
timeline.ShowMenuEvent += HandleShowMenu;
QueueDraw ();
}
@@ -177,25 +165,25 @@ namespace LongoMatch.Gui.Component
newPlay = new MenuItem(String.Format ("{0} in {1}",
Catalog.GetString("Add new play"), cat.Name));
menu.Append(newPlay);
- newPlay.Activated += (sender, e) => {EmitNewPlay (cat, time);};
+ newPlay.Activated += (sender, e) => Config.EventsBroker.EmitNewTagAtPos (cat, time);
if (plays != null) {
if (plays.Count == 1) {
tag = new MenuItem(Catalog.GetString("Edit tags"));
snapshot = new MenuItem(Catalog.GetString("Export to PGN images"));
- tag.Activated += (sender, e) => EmitTagPlay (plays[0]);
- snapshot.Activated += (sender, e) => EmitSnapshotSeries (plays[0]);
+ tag.Activated += (sender, e) => Config.EventsBroker.EmitTagPlay
(plays[0]);
+ snapshot.Activated += (sender, e) =>
Config.EventsBroker.EmitSnapshotSeries (plays[0]);
menu.Add (tag);
menu.Add (snapshot);
}
if (plays.Count > 0 ) {
del = new MenuItem (String.Format ("{0} ({1})",
Catalog.GetString("Delete"), plays.Count));
- del.Activated += (sender, e) => EmitDelete (plays);
+ del.Activated += (sender, e) => Config.EventsBroker.EmitPlaysDeleted
(plays);
menu.Add (del);
addPLN = new MenuItem (String.Format ("{0} ({1})",
Catalog.GetString("Add to playlist"),
plays.Count));
- addPLN.Activated += (sender, e) => EmitAddToPlaylist (plays);
+ addPLN.Activated += (sender, e) =>
Config.EventsBroker.EmitPlayListNodeAdded (plays);
menu.Add (addPLN);
render = new MenuItem (String.Format ("{0} ({1})",
Catalog.GetString("Export to video file"),
plays.Count));
@@ -207,57 +195,13 @@ namespace LongoMatch.Gui.Component
menu.Popup();
}
- void EmitTagPlay (Play play)
- {
- if (TagPlay != null) {
- TagPlay (play);
- }
- }
-
- void EmitSnapshotSeries (Play play)
- {
- if (SnapshotSeries != null)
- SnapshotSeries (play);
- }
-
- void EmitNewPlay (Category cat, Time time)
- {
- if (NewTagAtPosEvent != null)
- NewTagAtPosEvent (cat, time);
- }
-
- void EmitDelete (List<Play> plays)
- {
- if (TimeNodeDeleted != null) {
- TimeNodeDeleted (plays);
- }
- }
-
void EmitRenderPlaylist (List<Play> plays)
{
- if (RenderPlaylist != null) {
- PlayList pl = new PlayList();
- foreach (Play p in plays) {
- pl.Add (new PlayListPlay (p, projectFile, true));
- }
- RenderPlaylist (pl);
- }
- }
-
- void EmitAddToPlaylist (List<Play> plays) {
- if (PlayListNodeAdded != null) {
- PlayListNodeAdded (plays);
+ PlayList pl = new PlayList();
+ foreach (Play p in plays) {
+ pl.Add (new PlayListPlay (p, projectFile, true));
}
- }
-
- void HandleTimeNodeChanged(TimeNode tn, object val) {
- if(TimeNodeChanged != null)
- TimeNodeChanged(tn,val);
- }
-
- void HandleTimeNodeSelected(Play tn) {
- if(TimeNodeSelected != null)
- TimeNodeSelected(tn);
+ Config.EventsBroker.EmitRenderPlaylist (pl);
}
}
}
diff --git a/LongoMatch.GUI/Gui/GUIToolkit.cs b/LongoMatch.GUI/Gui/GUIToolkit.cs
index 246ba2e..fbd22aa 100644
--- a/LongoMatch.GUI/Gui/GUIToolkit.cs
+++ b/LongoMatch.GUI/Gui/GUIToolkit.cs
@@ -309,12 +309,10 @@ namespace LongoMatch.Gui
public void OpenProject (Project project, ProjectType projectType,
CaptureSettings props, PlaysFilter filter,
- out IAnalysisWindow analysisWindow,
- out IProjectOptionsController projectOptionsController)
+ out IAnalysisWindow analysisWindow)
{
Log.Information ("Open project");
analysisWindow = mainWindow.SetProject (project, projectType, props, filter);
- projectOptionsController = mainWindow;
}
public void CloseProject ()
diff --git a/LongoMatch.GUI/Gui/MainWindow.cs b/LongoMatch.GUI/Gui/MainWindow.cs
index 0571677..9724bd0 100644
--- a/LongoMatch.GUI/Gui/MainWindow.cs
+++ b/LongoMatch.GUI/Gui/MainWindow.cs
@@ -44,35 +44,8 @@ namespace LongoMatch.Gui
{
[System.ComponentModel.Category("LongoMatch")]
[System.ComponentModel.ToolboxItem(false)]
- public partial class MainWindow : Gtk.Window, IMainController, IProjectOptionsController
+ public partial class MainWindow : Gtk.Window, IMainController
{
- /* IMainController */
- public event NewProjectHandler NewProjectEvent;
- public event OpenNewProjectHandler OpenNewProjectEvent;
- public event OpenProjectHandler OpenProjectEvent;
- public event OpenProjectIDHandler OpenProjectIDEvent;
- public event ImportProjectHandler ImportProjectEvent;
- public event ExportProjectHandler ExportProjectEvent;
- public event QuitApplicationHandler QuitApplicationEvent;
-
- public event ManageJobsHandler ManageJobsEvent;
- public event ManageTeamsHandler ManageTeamsEvent;
- public event ManageCategoriesHandler ManageCategoriesEvent;
- public event ManageProjects ManageProjectsEvent;
- public event ManageDatabases ManageDatabasesEvent;
- public event EditPreferences EditPreferencesEvent;
- public event ConvertVideoFilesHandler ConvertVideoFilesEvent;
-
- /* IProjectOptionsController */
- public event SaveProjectHandler SaveProjectEvent;
- public event CloseOpenendProjectHandler CloseOpenedProjectEvent;
- public event ShowProjectStats ShowProjectStatsEvent;
- public event ShowFullScreenHandler ShowFullScreenEvent;
- public event PlaylistVisibiltyHandler PlaylistVisibilityEvent;
- public event AnalysisWidgetsVisibilityHandler AnalysisWidgetsVisibilityEvent;
- public event AnalysisModeChangedHandler AnalysisModeChangedEvent;
- public event TagSubcategoriesChangedHandler TagSubcategoriesChangedEvent;
-
IGUIToolkit guiToolKit;
IAnalysisWindow analysisWindow;
Project openedProject;
@@ -86,7 +59,6 @@ namespace LongoMatch.Gui
this.Build();
this.guiToolKit = guiToolkit;
- welcomepanel1.Bind (this);
Title = Constants.SOFTWARE_NAME;
TagSubcategoriesAction.Active = !Config.FastTagging;
@@ -95,9 +67,6 @@ namespace LongoMatch.Gui
ConnectSignals();
ConnectMenuSignals();
- if (!Config.UseGameUnits)
- GameUnitsViewAction.Visible = false;
-
MenuItem parent = ImportProjectActionMenu;
parent.Submenu = new Menu();
AddImportEntry(Catalog.GetString("Import file project"), "ImportFileProject",
@@ -150,7 +119,9 @@ namespace LongoMatch.Gui
bool requiresNewFile) {
MenuItem parent = ImportProjectActionMenu;
MenuItem item = new MenuItem(name);
- item.Activated += (sender, e) => (EmitImportProject(name, filterName, filter,
importFunc, requiresNewFile));
+ item.Activated += (sender, e) => (
+ Config.EventsBroker.EmitImportProject (name, filterName, filter,
+ importFunc, requiresNewFile));
item.Show();
(parent.Submenu as Menu).Append(item);
}
@@ -183,13 +154,11 @@ namespace LongoMatch.Gui
public void SelectProject (List<ProjectDescription> projects) {
OpenProjectPanel panel = new OpenProjectPanel ();
panel.Projects = projects;
- panel.OpenProjectEvent += EmitOpenProjectID;
SetPanel (panel);
}
public void CreateNewProject (Project project) {
NewProjectPanel panel = new NewProjectPanel (project);
- panel.OpenNewProjectEvent += EmitOpenNewProject;
SetPanel (panel);
}
@@ -205,21 +174,39 @@ namespace LongoMatch.Gui
private void ConnectSignals() {
/* Adding Handlers for each event */
- renderingstatebar1.ManageJobs += (e, o) => {EmitManageJobs();};
- openAction.Activated += (sender, e) => {EmitSaveProject();};
+ renderingstatebar1.ManageJobs += (e, o) => {
+ Config.EventsBroker.EmitManageJobs();};
}
private void ConnectMenuSignals() {
- SaveProjectAction.Activated += (o, e) => {EmitSaveProject();};
- CloseProjectAction.Activated += (o, e) => {EmitCloseOpenedProject ();};
- ExportToProjectFileAction.Activated += (o, e) => {EmitExportProject();};
+ SaveProjectAction.Activated += (o, e) => {
+ Config.EventsBroker.EmitSaveProject (openedProject, projectType);};
+ CloseProjectAction.Activated += (o, e) => {
+ Config.EventsBroker.EmitCloseOpenedProject ();};
+ ExportToProjectFileAction.Activated += (o, e) => {
+ Config.EventsBroker.EmitExportProject (openedProject);};
+ CategoriesTemplatesManagerAction.Activated += (o, e) => {
+ Config.EventsBroker.EmitManageCategories();};
+ TeamsTemplatesManagerAction.Activated += (o, e) => {
+ Config.EventsBroker.EmitManageTeams();};
+ ProjectsManagerAction.Activated += (o, e) => {
+ Config.EventsBroker.EmitManageProjects();};
+ DatabasesManagerAction.Activated += (o, e) => {
+ Config.EventsBroker.EmitManageDatabases();};
+ PreferencesAction.Activated += (sender, e) => {
+ Config.EventsBroker.EmitEditPreferences();};
+ ShowProjectStatsAction.Activated += (sender, e) => {
+ Config.EventsBroker.EmitShowProjectStats (openedProject);};
QuitAction.Activated += (o, e) => {CloseAndQuit();};
- CategoriesTemplatesManagerAction.Activated += (o, e) => {EmitManageCategories();};
- TeamsTemplatesManagerAction.Activated += (o, e) => {EmitManageTeams();};
- ProjectsManagerAction.Activated += (o, e) => {EmitManageProjects();};
- DatabasesManagerAction.Activated += (o, e) => {EmitManageDatabases();};
- PreferencesAction.Activated += (sender, e) => {EmitEditPreferences();};
- ShowProjectStatsAction.Activated += (sender, e) => {EmitShowProjectStats();};
+ openAction.Activated += (sender, e) => {
+ Config.EventsBroker.EmitSaveProject (openedProject, projectType);
+ Config.EventsBroker.EmitOpenProject ();};
+ NewPojectAction.Activated += (sender, e) => {
+ Config.EventsBroker.EmitNewProject ();
+ };
+ TagSubcategoriesAction.Activated += (sender, e) => {
+ Config.EventsBroker.EmitTagSubcategories (TagSubcategoriesAction.Active);
+ };
}
private void ResetGUI() {
@@ -236,21 +223,15 @@ namespace LongoMatch.Gui
private void MakeActionsSensitive(bool sensitive, ProjectType projectType) {
bool sensitive2 = sensitive && projectType == ProjectType.FileProject;
CloseProjectAction.Sensitive=sensitive;
- TaggingViewAction.Sensitive = sensitive;
- ManualTaggingViewAction.Sensitive = sensitive;
ExportProjectAction1.Sensitive = sensitive;
ShowProjectStatsAction.Sensitive = sensitive;
- //GameUnitsViewAction.Sensitive = sensitive2 && gameUnitsActionVisible;
- TimelineViewAction.Sensitive = sensitive2;
- HideAllWidgetsAction.Sensitive=sensitive2;
SaveProjectAction.Sensitive = sensitive2;
}
private void CloseAndQuit() {
- EmitCloseOpenedProject ();
-
- if (openedProject == null && QuitApplicationEvent != null) {
- QuitApplicationEvent ();
+ Config.EventsBroker.EmitCloseOpenedProject ();
+ if (openedProject == null) {
+ Config.EventsBroker.EmitQuitApplication ();
}
}
@@ -263,19 +244,6 @@ namespace LongoMatch.Gui
#endregion
#region Callbacks
- #region File
- protected virtual void OnNewActivated(object sender, System.EventArgs e)
- {
- EmitNewProject();
- }
-
- protected virtual void OnOpenActivated(object sender, System.EventArgs e)
- {
- EmitOpenProject();
- }
- #endregion
-
- #region Tool
protected void OnVideoConverterToolActionActivated (object sender, System.EventArgs e)
{
int res;
@@ -283,71 +251,11 @@ namespace LongoMatch.Gui
res = converter.Run ();
converter.Destroy();
if (res == (int) ResponseType.Ok) {
- if (ConvertVideoFilesEvent != null)
- ConvertVideoFilesEvent (converter.Files, converter.EncodingSettings);
- }
- }
-
- private void EmitShowProjectStats () {
- if (ShowProjectStatsEvent != null)
- ShowProjectStatsEvent (openedProject);
- }
-
- #endregion
-
- #region View
- protected void OnTagSubcategoriesActionToggled (object sender, System.EventArgs e)
- {
- if (TagSubcategoriesChangedEvent != null)
- TagSubcategoriesChangedEvent (TagSubcategoriesAction.Active);
- }
-
- protected virtual void OnFullScreenActionToggled(object sender, System.EventArgs e)
- {
- if (ShowFullScreenEvent != null)
- ShowFullScreenEvent ((sender as Gtk.ToggleAction).Active);
- }
-
- protected virtual void OnPlaylistActionToggled(object sender, System.EventArgs e)
- {
- if (PlaylistVisibilityEvent != null)
- PlaylistVisibilityEvent ((sender as Gtk.ToggleAction).Active);
- }
-
- protected virtual void OnHideAllWidgetsActionToggled(object sender, System.EventArgs e)
- {
- if (AnalysisWidgetsVisibilityEvent != null) {
- AnalysisWidgetsVisibilityEvent ((sender as ToggleAction).Active);
+ Config.EventsBroker.EmitConvertVideoFiles (converter.Files,
+ converter.EncodingSettings);
}
}
-
- protected virtual void OnViewToggled(object sender, System.EventArgs e)
- {
- ToggleAction action = sender as Gtk.ToggleAction;
-
- if (!action.Active)
- return;
-
- if (AnalysisModeChangedEvent != null) {
- VideoAnalysisMode mode;
-
- if (sender == ManualTaggingViewAction) {
- mode = VideoAnalysisMode.ManualTagging;
- } else if (sender == TaggingViewAction) {
- mode = VideoAnalysisMode.PredefinedTagging;
- } else if (sender == TimelineViewAction) {
- mode = VideoAnalysisMode.Timeline;
- } else if (sender == GameUnitsViewAction) {
- mode = VideoAnalysisMode.GameUnits;
- } else {
- return;
- }
- AnalysisModeChangedEvent (mode);
- }
- }
- #endregion
- #region Help
protected virtual void OnHelpAction1Activated(object sender, System.EventArgs e)
{
try {
@@ -370,89 +278,6 @@ namespace LongoMatch.Gui
info.Run();
info.Destroy();
}
-
- #endregion
- #endregion
-
- #region Events
-
- public void EmitNewProject () {
- if (NewProjectEvent != null)
- NewProjectEvent();
- }
-
- public void EmitOpenProject () {
- if(OpenProjectEvent != null)
- OpenProjectEvent();
- }
-
- public void EmitEditPreferences ()
- {
- if (EditPreferencesEvent != null)
- EditPreferencesEvent();
- }
-
- public void EmitManageJobs() {
- if(ManageJobsEvent != null)
- ManageJobsEvent();
- }
-
- public void EmitManageTeams() {
- if(ManageTeamsEvent != null)
- ManageTeamsEvent();
- }
-
- public void EmitManageProjects()
- {
- if (ManageProjectsEvent != null)
- ManageProjectsEvent();
- }
-
- public void EmitManageDatabases()
- {
- if (ManageDatabasesEvent != null)
- ManageDatabasesEvent();
- }
-
- public void EmitManageCategories() {
- if(ManageCategoriesEvent != null)
- ManageCategoriesEvent();
- }
-
- void EmitSaveProject() {
- if (SaveProjectEvent != null)
- SaveProjectEvent(openedProject, projectType);
- }
-
- void EmitCloseOpenedProject() {
- if (CloseOpenedProjectEvent != null)
- CloseOpenedProjectEvent ();
- }
-
- void EmitImportProject(string name, string filterName, string filter,
- Func<string, Project> func, bool requiresNewFile) {
- if (ImportProjectEvent != null)
- ImportProjectEvent(name, filterName, filter, func, requiresNewFile);
- }
-
- void EmitExportProject() {
- if(ExportProjectEvent != null)
- ExportProjectEvent();
- }
-
- void EmitOpenProjectID (Guid projectID ) {
- if (OpenProjectIDEvent != null) {
- OpenProjectIDEvent (projectID);
- }
- }
-
- void EmitOpenNewProject (Project project, ProjectType projectType, CaptureSettings
captureSettings)
- {
- if (OpenNewProjectEvent != null) {
- OpenNewProjectEvent (project, projectType, captureSettings);
- }
- }
-
#endregion
}
}
diff --git a/LongoMatch.GUI/Gui/Panel/NewProjectPanel.cs b/LongoMatch.GUI/Gui/Panel/NewProjectPanel.cs
index 0e04989..60f9f2b 100644
--- a/LongoMatch.GUI/Gui/Panel/NewProjectPanel.cs
+++ b/LongoMatch.GUI/Gui/Panel/NewProjectPanel.cs
@@ -46,7 +46,6 @@ namespace LongoMatch.Gui.Panel
public partial class NewProjectPanel : Gtk.Bin, IPanel
{
public event BackEventHandle BackEvent;
- public event OpenNewProjectHandler OpenNewProjectEvent;
const int PROJECT_TYPE = 0;
const int PROJECT_DETAILS = 1;
@@ -372,9 +371,7 @@ namespace LongoMatch.Gui.Panel
void HandleCreateProject (object sender, EventArgs e)
{
if (CreateProject ()) {
- if (OpenNewProjectEvent != null) {
- OpenNewProjectEvent (project , projectType, captureSettings);
- }
+ Config.EventsBroker.EmitOpenNewProject (project, projectType,
captureSettings);
}
}
diff --git a/LongoMatch.GUI/Gui/Panel/OpenProjectPanel.cs b/LongoMatch.GUI/Gui/Panel/OpenProjectPanel.cs
index 8076a50..466f75e 100644
--- a/LongoMatch.GUI/Gui/Panel/OpenProjectPanel.cs
+++ b/LongoMatch.GUI/Gui/Panel/OpenProjectPanel.cs
@@ -28,7 +28,6 @@ namespace LongoMatch.Gui.Panel
[System.ComponentModel.ToolboxItem(true)]
public partial class OpenProjectPanel : Gtk.Bin, IPanel
{
- public event OpenProjectIDHandler OpenProjectEvent;
public event BackEventHandle BackEvent;
public OpenProjectPanel ()
@@ -54,8 +53,7 @@ namespace LongoMatch.Gui.Panel
void HandleProjectSelected (ProjectDescription project)
{
- if (OpenProjectEvent != null)
- OpenProjectEvent (project.UUID);
+ Config.EventsBroker.EmitOpenProjectID (project.UUID);
}
}
}
diff --git a/LongoMatch.GUI/Gui/Panel/WelcomePanel.cs b/LongoMatch.GUI/Gui/Panel/WelcomePanel.cs
index 756d2b8..375501f 100644
--- a/LongoMatch.GUI/Gui/Panel/WelcomePanel.cs
+++ b/LongoMatch.GUI/Gui/Panel/WelcomePanel.cs
@@ -28,16 +28,23 @@ namespace LongoMatch.Gui.Panel
{
this.Build ();
backgroundwidget.Background = Gdk.Pixbuf.LoadFromResource (Constants.BACKGROUND);
+ Bind ();
}
- public void Bind (MainWindow window)
+ void Bind ()
{
- openbutton.Clicked += (sender, e) => {window.EmitOpenProject ();};
- newbutton.Clicked += (sender, e) => {window.EmitNewProject ();};
- teamsbutton.Clicked += (sender, e) => {window.EmitManageTeams ();};
- sportsbutton.Clicked += (sender, e) => {window.EmitManageCategories ();};
- preferencesbutton.Clicked += (sender, e) => {window.EmitEditPreferences ();};
- projectsbutton.Clicked += (sender, e) => {window.EmitManageProjects ();};
+ openbutton.Clicked += (sender, e) => {
+ Config.EventsBroker.EmitOpenProject ();};
+ newbutton.Clicked += (sender, e) => {
+ Config.EventsBroker.EmitNewProject ();};
+ teamsbutton.Clicked += (sender, e) => {
+ Config.EventsBroker.EmitManageTeams ();};
+ sportsbutton.Clicked += (sender, e) => {
+ Config.EventsBroker.EmitManageCategories ();};
+ preferencesbutton.Clicked += (sender, e) => {
+ Config.EventsBroker.EmitEditPreferences ();};
+ projectsbutton.Clicked += (sender, e) => {
+ Config.EventsBroker.EmitManageProjects ();};
}
}
}
diff --git a/LongoMatch.GUI/Gui/TreeView/ListTreeViewBase.cs b/LongoMatch.GUI/Gui/TreeView/ListTreeViewBase.cs
index 9dac3f6..0f36576 100644
--- a/LongoMatch.GUI/Gui/TreeView/ListTreeViewBase.cs
+++ b/LongoMatch.GUI/Gui/TreeView/ListTreeViewBase.cs
@@ -50,15 +50,7 @@ namespace LongoMatch.Gui.Component
PlaysFilter filter;
Dictionary<MenuItem, Category> catsDict;
- public event TimeNodeChangedHandler TimeNodeChanged;
- public event PlaySelectedHandler TimeNodeSelected;
- public event PlaysDeletedHandler TimeNodeDeleted;
- public event PlayListNodeAddedHandler PlayListNodeAdded;
- public event PlayCategoryChangedHandler PlayCategoryChanged;
- public event SnapshotSeriesHandler SnapshotSeriesEvent;
- public event TagPlayHandler TagPlay;
public event EventHandler NewRenderingJob;
- public event DuplicatePlayHandler DuplicatePlay;
public ListTreeViewBase()
{
@@ -156,11 +148,6 @@ namespace LongoMatch.Gui.Component
}
}
- protected void EmitTimeNodeChanged(TimeNode tn, object o) {
- if(TimeNodeChanged != null)
- TimeNodeChanged(tn, o);
- }
-
protected void SetMenu() {
menu = new Menu();
@@ -195,6 +182,12 @@ namespace LongoMatch.Gui.Component
snapshot.Activated += OnSnapshot;
menu.ShowAll();
}
+
+ protected Play SelectedPlay {
+ get {
+ return GetValueFromPath(Selection.GetSelectedRows()[0]) as Play;
+ }
+ }
protected void MultiSelectMenu(bool enabled) {
name.Sensitive = !enabled;
@@ -208,11 +201,6 @@ namespace LongoMatch.Gui.Component
return modelFilter.GetValue(iter,0);
}
- protected void EmitTimeNodeChanged(TimeNode tNode) {
- if (TimeNodeChanged != null)
- TimeNodeChanged(tNode, tNode.Name);
- }
-
protected void RenderMiniature(Gtk.TreeViewColumn column, Gtk.CellRenderer cell,
Gtk.TreeModel model, Gtk.TreeIter iter)
{
var item = model.GetValue(iter, 0);
@@ -294,7 +282,8 @@ namespace LongoMatch.Gui.Component
if(item is TimeNode) {
(item as TimeNode).Name = args.NewText;
- EmitTimeNodeChanged((item as TimeNode), args.NewText);
+ Config.EventsBroker.EmitTimeNodeChanged (
+ (item as TimeNode), args.NewText);
} else if(item is Player) {
(item as Player).Name = args.NewText;
}
@@ -312,8 +301,7 @@ namespace LongoMatch.Gui.Component
if(!(item is Play))
return;
- if(TimeNodeSelected != null)
- this.TimeNodeSelected(item as Play);
+ Config.EventsBroker.EmitPlaySelected (item as Play);
}
protected void OnDeleted(object obj, EventArgs args) {
@@ -334,8 +322,8 @@ namespace LongoMatch.Gui.Component
TreeIter iter = iters[i];
Model.Remove(ref iter);
}
- if(TimeNodeDeleted != null)
- TimeNodeDeleted(playsList);
+
+ Config.EventsBroker.EmitPlaysDeleted (playsList);
}
protected void OnDeleteKeyFrame(object obj, EventArgs args) {
@@ -353,8 +341,7 @@ namespace LongoMatch.Gui.Component
void OnDuplicate (object sender, EventArgs e)
{
- if (DuplicatePlay != null)
- DuplicatePlay((Play)GetValueFromPath(Selection.GetSelectedRows()[0]));
+ Config.EventsBroker.EmitDuplicatePlay (SelectedPlay);
}
protected virtual void OnEdit(object obj, EventArgs args) {
@@ -366,26 +353,22 @@ namespace LongoMatch.Gui.Component
}
protected void OnAdded(object obj, EventArgs args) {
- if(PlayListNodeAdded != null) {
- List<Play> list = new List<Play>();
- TreePath[] paths = Selection.GetSelectedRows();
- for(int i=0; i<paths.Length; i++) {
- Play tNode = (Play)GetValueFromPath(paths[i]);
- list.Add (tNode);
- }
- PlayListNodeAdded(list);
+ List<Play> list = new List<Play>();
+ TreePath[] paths = Selection.GetSelectedRows();
+ for(int i=0; i<paths.Length; i++) {
+ Play tNode = (Play)GetValueFromPath(paths[i]);
+ list.Add (tNode);
}
+ Config.EventsBroker.EmitPlayListNodeAdded (list);
}
protected void OnTag(object obj, EventArgs args) {
- if(TagPlay != null)
- TagPlay((Play)GetValueFromPath(Selection.GetSelectedRows()[0]));
+ Config.EventsBroker.EmitTagPlay (SelectedPlay);
Refilter();
}
protected void OnSnapshot(object obj, EventArgs args) {
- if(SnapshotSeriesEvent != null)
- SnapshotSeriesEvent((Play)GetValueFromPath(Selection.GetSelectedRows()[0]));
+ Config.EventsBroker.EmitSnapshotSeries (SelectedPlay);
}
protected void OnRender(object obj, EventArgs args) {
@@ -394,9 +377,8 @@ namespace LongoMatch.Gui.Component
}
protected void OnCatChanged(object obj, EventArgs args) {
- if (PlayCategoryChanged != null)
- PlayCategoryChanged((Play)GetValueFromPath(Selection.GetSelectedRows()[0]),
- catsDict[obj as MenuItem]);
+ Config.EventsBroker.EmitPlayCategoryChanged (SelectedPlay,
+ catsDict[obj as MenuItem]);
}
protected void OnFilterUpdated() {
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs
index 517da5e..cb9ba3f 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.MainWindow.cs
@@ -15,19 +15,13 @@ namespace LongoMatch.Gui
private global::Gtk.Action CategoriesTemplatesManagerAction;
private global::Gtk.Action ViewAction;
private global::Gtk.ToggleAction FullScreenAction;
- private global::Gtk.ToggleAction PlaylistAction;
- private global::Gtk.RadioAction TaggingViewAction;
- private global::Gtk.RadioAction TimelineViewAction;
private global::Gtk.Action SaveProjectAction;
private global::Gtk.Action HelpAction;
private global::Gtk.Action AboutAction;
private global::Gtk.Action ExportProjectToCSVFileAction;
private global::Gtk.Action TeamsTemplatesManagerAction;
- private global::Gtk.ToggleAction HideAllWidgetsAction;
private global::Gtk.Action HelpAction1;
private global::Gtk.Action ImportProjectAction;
- private global::Gtk.RadioAction ManualTaggingViewAction;
- private global::Gtk.RadioAction GameUnitsViewAction;
private global::Gtk.Action ExportProjectAction;
private global::Gtk.Action ExportProjectAction1;
private global::Gtk.Action Action;
@@ -84,19 +78,6 @@ namespace LongoMatch.Gui
this.FullScreenAction = new global::Gtk.ToggleAction ("FullScreenAction",
global::Mono.Unix.Catalog.GetString ("Full Screen"), null, "gtk-fullscreen");
this.FullScreenAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Full
Screen");
w1.Add (this.FullScreenAction, "<Control><Alt>f");
- this.PlaylistAction = new global::Gtk.ToggleAction ("PlaylistAction",
global::Mono.Unix.Catalog.GetString ("Playlist"), null, null);
- this.PlaylistAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Playlist");
- w1.Add (this.PlaylistAction, "<Control>p");
- this.TaggingViewAction = new global::Gtk.RadioAction ("TaggingViewAction",
global::Mono.Unix.Catalog.GetString ("Tagging view"), null, null, 0);
- this.TaggingViewAction.Group = new global::GLib.SList (global::System.IntPtr.Zero);
- this.TaggingViewAction.Sensitive = false;
- this.TaggingViewAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Capture
Mode");
- w1.Add (this.TaggingViewAction, "<Control>c");
- this.TimelineViewAction = new global::Gtk.RadioAction ("TimelineViewAction",
global::Mono.Unix.Catalog.GetString ("Timeline view"), null, null, 0);
- this.TimelineViewAction.Group = this.TaggingViewAction.Group;
- this.TimelineViewAction.Sensitive = false;
- this.TimelineViewAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Analyze
Mode");
- w1.Add (this.TimelineViewAction, "<Control>a");
this.SaveProjectAction = new global::Gtk.Action ("SaveProjectAction",
global::Mono.Unix.Catalog.GetString ("_Save Project"), null, "gtk-save");
this.SaveProjectAction.Sensitive = false;
this.SaveProjectAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("_Save
Project");
@@ -115,26 +96,12 @@ namespace LongoMatch.Gui
this.TeamsTemplatesManagerAction = new global::Gtk.Action
("TeamsTemplatesManagerAction", global::Mono.Unix.Catalog.GetString ("Teams Templates Manager"), null, null);
this.TeamsTemplatesManagerAction.ShortLabel = global::Mono.Unix.Catalog.GetString
("Teams Templates Manager");
w1.Add (this.TeamsTemplatesManagerAction, null);
- this.HideAllWidgetsAction = new global::Gtk.ToggleAction ("HideAllWidgetsAction",
global::Mono.Unix.Catalog.GetString ("Hide All Widgets"), null, null);
- this.HideAllWidgetsAction.Sensitive = false;
- this.HideAllWidgetsAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Hide All
Widgets");
- w1.Add (this.HideAllWidgetsAction, null);
this.HelpAction1 = new global::Gtk.Action ("HelpAction1",
global::Mono.Unix.Catalog.GetString ("_Help"), null, "gtk-help");
this.HelpAction1.ShortLabel = global::Mono.Unix.Catalog.GetString ("_Help");
w1.Add (this.HelpAction1, null);
this.ImportProjectAction = new global::Gtk.Action ("ImportProjectAction",
global::Mono.Unix.Catalog.GetString ("_Import Project"), null, "stock-import");
this.ImportProjectAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("_Import
Project");
w1.Add (this.ImportProjectAction, "<Control>i");
- this.ManualTaggingViewAction = new global::Gtk.RadioAction
("ManualTaggingViewAction", global::Mono.Unix.Catalog.GetString ("Manual tagging view"), null, null, 0);
- this.ManualTaggingViewAction.Group = this.TaggingViewAction.Group;
- this.ManualTaggingViewAction.Sensitive = false;
- this.ManualTaggingViewAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Free
Capture Mode");
- w1.Add (this.ManualTaggingViewAction, "<Control>f");
- this.GameUnitsViewAction = new global::Gtk.RadioAction ("GameUnitsViewAction",
global::Mono.Unix.Catalog.GetString ("Game units view"), null, null, 0);
- this.GameUnitsViewAction.Group = this.TaggingViewAction.Group;
- this.GameUnitsViewAction.Sensitive = false;
- this.GameUnitsViewAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Game
units view");
- w1.Add (this.GameUnitsViewAction, null);
this.ExportProjectAction = new global::Gtk.Action ("ExportProjectAction",
global::Mono.Unix.Catalog.GetString ("Export Project"), null, null);
this.ExportProjectAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Export
Project");
w1.Add (this.ExportProjectAction, null);
@@ -186,7 +153,7 @@ namespace LongoMatch.Gui
this.menubox.Name = "menubox";
this.menubox.Spacing = 6;
// Container child menubox.Gtk.Box+BoxChild
- this.UIManager.AddUiFromString ("<ui><menubar name='menubar1'><menu name='FileAction'
action='FileAction'><menuitem name='NewPojectAction' action='NewPojectAction'/><menuitem name='openAction'
action='openAction'/><menuitem name='SaveProjectAction' action='SaveProjectAction'/><menuitem
name='CloseProjectAction' action='CloseProjectAction'/><separator/><menu name='ImportProjectAction'
action='ImportProjectAction'/><separator/><menuitem name='PreferencesAction'
action='PreferencesAction'/><separator/><menuitem name='QuitAction' action='QuitAction'/></menu><menu
name='ToolsAction' action='ToolsAction'><menuitem name='ProjectsManagerAction'
action='ProjectsManagerAction'/><menuitem name='CategoriesTemplatesManagerAction'
action='CategoriesTemplatesManagerAction'/><menuitem name='TeamsTemplatesManagerAction'
action='TeamsTemplatesManagerAction'/><menuitem name='DatabasesManagerAction'
action='DatabasesManagerAction'/><separator/><menuitem name='ShowProjectStatsAction' action='
ShowProjectStatsAction'/><menu name='ExportProjectAction1' action='ExportProjectAction1'><menuitem
name='ExportToProjectFileAction' action='ExportToProjectFileAction'/></menu><separator/><menuitem
name='VideoConverterToolAction' action='VideoConverterToolAction'/></menu><menu name='ViewAction'
action='ViewAction'><menuitem name='FullScreenAction' action='FullScreenAction'/><menuitem
name='HideAllWidgetsAction' action='HideAllWidgetsAction'/><separator/><menuitem name='PlaylistAction'
action='PlaylistAction'/><separator/><menuitem name='TagSubcategoriesAction'
action='TagSubcategoriesAction'/><menuitem name='TaggingViewAction' action='TaggingViewAction'/><menuitem
name='ManualTaggingViewAction' action='ManualTaggingViewAction'/><menuitem name='TimelineViewAction'
action='TimelineViewAction'/><menuitem name='GameUnitsViewAction' action='GameUnitsViewAction'/></menu><menu
name='HelpAction' action='HelpAction'><menuitem name='AboutAction' action='AboutAction'/><menuitem name='He
lpAction1' action='HelpAction1'/><menuitem name='dialogInfoAction'
action='dialogInfoAction'/></menu></menubar></ui>");
+ this.UIManager.AddUiFromString ("<ui><menubar name='menubar1'><menu name='FileAction'
action='FileAction'><menuitem name='NewPojectAction' action='NewPojectAction'/><menuitem name='openAction'
action='openAction'/><menuitem name='SaveProjectAction' action='SaveProjectAction'/><menuitem
name='CloseProjectAction' action='CloseProjectAction'/><separator/><menu name='ImportProjectAction'
action='ImportProjectAction'/><separator/><menuitem name='PreferencesAction'
action='PreferencesAction'/><separator/><menuitem name='QuitAction' action='QuitAction'/></menu><menu
name='ToolsAction' action='ToolsAction'><menuitem name='ProjectsManagerAction'
action='ProjectsManagerAction'/><menuitem name='CategoriesTemplatesManagerAction'
action='CategoriesTemplatesManagerAction'/><menuitem name='TeamsTemplatesManagerAction'
action='TeamsTemplatesManagerAction'/><menuitem name='DatabasesManagerAction'
action='DatabasesManagerAction'/><separator/><menuitem name='ShowProjectStatsAction' action='
ShowProjectStatsAction'/><menu name='ExportProjectAction1' action='ExportProjectAction1'><menuitem
name='ExportToProjectFileAction' action='ExportToProjectFileAction'/></menu><separator/><menuitem
name='VideoConverterToolAction' action='VideoConverterToolAction'/></menu><menu name='ViewAction'
action='ViewAction'><menuitem name='FullScreenAction' action='FullScreenAction'/><separator/><menuitem
name='TagSubcategoriesAction' action='TagSubcategoriesAction'/></menu><menu name='HelpAction'
action='HelpAction'><menuitem name='AboutAction' action='AboutAction'/><menuitem name='HelpAction1'
action='HelpAction1'/><menuitem name='dialogInfoAction' action='dialogInfoAction'/></menu></menubar></ui>");
this.menubar1 = ((global::Gtk.MenuBar)(this.UIManager.GetWidget ("/menubar1")));
this.menubar1.Name = "menubar1";
this.menubox.Add (this.menubar1);
@@ -240,19 +207,9 @@ namespace LongoMatch.Gui
this.DefaultHeight = 604;
this.renderingstatebar1.Hide ();
this.Show ();
- this.NewPojectAction.Activated += new global::System.EventHandler
(this.OnNewActivated);
- this.openAction.Activated += new global::System.EventHandler (this.OnOpenActivated);
- this.FullScreenAction.Toggled += new global::System.EventHandler
(this.OnFullScreenActionToggled);
- this.PlaylistAction.Toggled += new global::System.EventHandler
(this.OnPlaylistActionToggled);
- this.TaggingViewAction.Toggled += new global::System.EventHandler
(this.OnViewToggled);
- this.TimelineViewAction.Toggled += new global::System.EventHandler
(this.OnViewToggled);
this.AboutAction.Activated += new global::System.EventHandler
(this.OnAboutActionActivated);
- this.HideAllWidgetsAction.Toggled += new global::System.EventHandler
(this.OnHideAllWidgetsActionToggled);
this.HelpAction1.Activated += new global::System.EventHandler
(this.OnHelpAction1Activated);
- this.ManualTaggingViewAction.Toggled += new global::System.EventHandler
(this.OnViewToggled);
- this.GameUnitsViewAction.Toggled += new global::System.EventHandler
(this.OnViewToggled);
this.dialogInfoAction.Activated += new global::System.EventHandler
(this.OnDialogInfoActionActivated);
- this.TagSubcategoriesAction.Toggled += new global::System.EventHandler
(this.OnTagSubcategoriesActionToggled);
this.VideoConverterToolAction.Activated += new global::System.EventHandler
(this.OnVideoConverterToolActionActivated);
}
}
diff --git a/LongoMatch.GUI/gtk-gui/gui.stetic b/LongoMatch.GUI/gtk-gui/gui.stetic
index 8db69ef..ca2cce6 100644
--- a/LongoMatch.GUI/gtk-gui/gui.stetic
+++ b/LongoMatch.GUI/gtk-gui/gui.stetic
@@ -190,14 +190,12 @@
<property name="Label" translatable="yes">_New Project</property>
<property name="ShortLabel" translatable="yes">_New Project</property>
<property name="StockId">gtk-new</property>
- <signal name="Activated" handler="OnNewActivated" />
</action>
<action id="openAction">
<property name="Type">Action</property>
<property name="Label" translatable="yes">_Open Project</property>
<property name="ShortLabel" translatable="yes">_Open Project</property>
<property name="StockId">gtk-open</property>
- <signal name="Activated" handler="OnOpenActivated" />
</action>
<action id="QuitAction">
<property name="Type">Action</property>
@@ -241,40 +239,6 @@
<property name="StockId">gtk-fullscreen</property>
<property name="DrawAsRadio">False</property>
<property name="Active">False</property>
- <signal name="Toggled" handler="OnFullScreenActionToggled" />
- </action>
- <action id="PlaylistAction">
- <property name="Type">Toggle</property>
- <property name="Accelerator"><Control>p</property>
- <property name="Label" translatable="yes">Playlist</property>
- <property name="ShortLabel" translatable="yes">Playlist</property>
- <property name="DrawAsRadio">False</property>
- <property name="Active">False</property>
- <signal name="Toggled" handler="OnPlaylistActionToggled" />
- </action>
- <action id="TaggingViewAction">
- <property name="Type">Radio</property>
- <property name="Accelerator"><Control>c</property>
- <property name="Label" translatable="yes">Tagging view</property>
- <property name="Sensitive">False</property>
- <property name="ShortLabel" translatable="yes">Capture Mode</property>
- <property name="DrawAsRadio">False</property>
- <property name="Active">False</property>
- <property name="Value">0</property>
- <property name="Group">codingmode</property>
- <signal name="Toggled" handler="OnViewToggled" />
- </action>
- <action id="TimelineViewAction">
- <property name="Type">Radio</property>
- <property name="Accelerator"><Control>a</property>
- <property name="Label" translatable="yes">Timeline view</property>
- <property name="Sensitive">False</property>
- <property name="ShortLabel" translatable="yes">Analyze Mode</property>
- <property name="DrawAsRadio">False</property>
- <property name="Active">True</property>
- <property name="Value">0</property>
- <property name="Group">codingmode</property>
- <signal name="Toggled" handler="OnViewToggled" />
</action>
<action id="SaveProjectAction">
<property name="Type">Action</property>
@@ -307,15 +271,6 @@
<property name="Label" translatable="yes">Teams Templates Manager</property>
<property name="ShortLabel" translatable="yes">Teams Templates Manager</property>
</action>
- <action id="HideAllWidgetsAction">
- <property name="Type">Toggle</property>
- <property name="Label" translatable="yes">Hide All Widgets</property>
- <property name="Sensitive">False</property>
- <property name="ShortLabel" translatable="yes">Hide All Widgets</property>
- <property name="DrawAsRadio">False</property>
- <property name="Active">False</property>
- <signal name="Toggled" handler="OnHideAllWidgetsActionToggled" />
- </action>
<action id="HelpAction1">
<property name="Type">Action</property>
<property name="Label" translatable="yes">_Help</property>
@@ -330,29 +285,6 @@
<property name="ShortLabel" translatable="yes">_Import Project</property>
<property name="StockId">stock-import</property>
</action>
- <action id="ManualTaggingViewAction">
- <property name="Type">Radio</property>
- <property name="Accelerator"><Control>f</property>
- <property name="Label" translatable="yes">Manual tagging view</property>
- <property name="Sensitive">False</property>
- <property name="ShortLabel" translatable="yes">Free Capture Mode</property>
- <property name="DrawAsRadio">False</property>
- <property name="Active">False</property>
- <property name="Value">0</property>
- <property name="Group">codingmode</property>
- <signal name="Toggled" handler="OnViewToggled" />
- </action>
- <action id="GameUnitsViewAction">
- <property name="Type">Radio</property>
- <property name="Label" translatable="yes">Game units view</property>
- <property name="Sensitive">False</property>
- <property name="ShortLabel" translatable="yes">Game units view</property>
- <property name="DrawAsRadio">False</property>
- <property name="Active">False</property>
- <property name="Value">0</property>
- <property name="Group">codingmode</property>
- <signal name="Toggled" handler="OnViewToggled" />
- </action>
<action id="ExportProjectAction">
<property name="Type">Action</property>
<property name="Label" translatable="yes">Export Project</property>
@@ -391,7 +323,6 @@
<property name="ShortLabel" translatable="yes">Tag subcategories</property>
<property name="DrawAsRadio">False</property>
<property name="Active">True</property>
- <signal name="Toggled" handler="OnTagSubcategoriesActionToggled" />
</action>
<action id="VideoConverterToolAction">
<property name="Type">Action</property>
@@ -460,15 +391,8 @@
</node>
<node type="Menu" action="ViewAction">
<node type="Menuitem" action="FullScreenAction" />
- <node type="Menuitem" action="HideAllWidgetsAction" />
- <node type="Separator" />
- <node type="Menuitem" action="PlaylistAction" />
<node type="Separator" />
<node type="Menuitem" action="TagSubcategoriesAction" />
- <node type="Menuitem" action="TaggingViewAction" />
- <node type="Menuitem" action="ManualTaggingViewAction" />
- <node type="Menuitem" action="TimelineViewAction" />
- <node type="Menuitem" action="GameUnitsViewAction" />
</node>
<node type="Menu" action="HelpAction">
<node type="Menuitem" action="AboutAction" />
diff --git a/LongoMatch.GUI/gtk-gui/objects.xml b/LongoMatch.GUI/gtk-gui/objects.xml
index 9eecf8a..c159207 100644
--- a/LongoMatch.GUI/gtk-gui/objects.xml
+++ b/LongoMatch.GUI/gtk-gui/objects.xml
@@ -6,12 +6,6 @@
<object type="LongoMatch.Gui.Component.ButtonsWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
<signals>
- <itemgroup label="ButtonsWidget Signals">
- <signal name="NewMarkEvent" />
- <signal name="NewMarkStartEvent" />
- <signal name="NewMarkStopEvent" />
- <signal name="NewMarkCancelEvent" />
- </itemgroup>
</signals>
</object>
<object type="LongoMatch.Gui.Component.DrawingToolBox" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
@@ -30,9 +24,6 @@
<object type="LongoMatch.Gui.Component.NotesWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
<signals>
- <itemgroup label="NotesWidget Signals">
- <signal name="TimeNodeChanged" />
- </itemgroup>
</signals>
</object>
<object type="LongoMatch.Gui.Component.PlayersTreeView" palette-category="General" allow-children="false"
base-type="Gtk.TreeView">
@@ -63,14 +54,6 @@
<object type="LongoMatch.Gui.Component.PlayersListTreeWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
<itemgroups />
<signals>
- <itemgroup label="PlayersListTreeWidget Signals">
- <signal name="TimeNodeSelected" />
- <signal name="TimeNodeChanged" />
- <signal name="PlayListNodeAdded" />
- <signal name="SnapshotSeriesEvent" />
- <signal name="RenderPlaylistEvent" />
- <signal name="DuplicatePlay" />
- </itemgroup>
</signals>
</object>
<object type="LongoMatch.Gui.Component.PlayListWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
@@ -114,17 +97,6 @@
<object type="LongoMatch.Gui.Component.PlaysListTreeWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
<itemgroups />
<signals>
- <itemgroup label="PlaysListTreeWidget Signals">
- <signal name="TimeNodeSelected" />
- <signal name="TimeNodeChanged" />
- <signal name="TimeNodeDeleted" />
- <signal name="PlayListNodeAdded" />
- <signal name="PlayCategoryChanged" />
- <signal name="SnapshotSeriesEvent" />
- <signal name="TagPlay" />
- <signal name="RenderPlaylist" />
- <signal name="DuplicatePlay" />
- </itemgroup>
</signals>
</object>
<object type="LongoMatch.Gui.Component.DrawingWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
@@ -200,17 +172,6 @@
<object type="LongoMatch.Gui.Component.PlaysSelectionWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
<itemgroups />
<signals>
- <itemgroup label="PlaysSelectionWidget Signals">
- <signal name="PlaysDeleted" />
- <signal name="PlaySelected" />
- <signal name="PlayCategoryChanged" />
- <signal name="PlayListNodeAdded" />
- <signal name="TimeNodeChanged" />
- <signal name="SnapshotSeries" />
- <signal name="RenderPlaylist" />
- <signal name="TagPlay" />
- <signal name="DuplicatePlay" />
- </itemgroup>
</signals>
</object>
<object type="LongoMatch.Gui.Component.PlayersFilterTreeView" palette-category="General"
allow-children="false" base-type="Gtk.TreeView">
@@ -306,33 +267,6 @@
<object type="LongoMatch.Gui.Component.AnalysisComponent" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
<itemgroups />
<signals>
- <itemgroup label="IAnalysisWindow Signals">
- <signal name="CloseOpenedProjectEvent" />
- <signal name="NewTagEvent" />
- <signal name="NewTagStartEvent" />
- <signal name="NewTagStopEvent" />
- <signal name="NewTagCancelEvent" />
- <signal name="PlaySelectedEvent" />
- <signal name="NewTagAtPosEvent" />
- <signal name="TagPlayEvent" />
- <signal name="PlaysDeletedEvent" />
- <signal name="TimeNodeChanged" />
- <signal name="PlayCategoryChanged" />
- <signal name="DuplicatePlay" />
- <signal name="RenderPlaylistEvent" />
- <signal name="PlayListNodeAddedEvent" />
- <signal name="PlayListNodeSelectedEvent" />
- <signal name="OpenPlaylistEvent" />
- <signal name="NewPlaylistEvent" />
- <signal name="SavePlaylistEvent" />
- <signal name="SnapshotSeriesEvent" />
- <signal name="GameUnitEvent" />
- <signal name="UnitChanged" />
- <signal name="UnitSelected" />
- <signal name="UnitDeleted" />
- <signal name="UnitAdded" />
- <signal name="KeyPressed" />
- </itemgroup>
</signals>
</object>
<object type="LongoMatch.Gui.Panel.WelcomePanel" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
@@ -343,7 +277,6 @@
<itemgroups />
<signals>
<itemgroup label="OpenProjectPanel Signals">
- <signal name="OpenProjectEvent" />
<signal name="BackEvent" />
</itemgroup>
</signals>
@@ -353,7 +286,6 @@
<signals>
<itemgroup label="IPanel Signals">
<signal name="BackEvent" />
- <signal name="OpenNewProjectEvent" />
</itemgroup>
</signals>
</object>
@@ -412,16 +344,6 @@
<object type="LongoMatch.Gui.Component.Timeline" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
<signals>
- <itemgroup label="Timeline Signals">
- <signal name="TimeNodeChanged" />
- <signal name="TimeNodeSelected" />
- <signal name="TimeNodeDeleted" />
- <signal name="NewTagAtPosEvent" />
- <signal name="PlayListNodeAdded" />
- <signal name="SnapshotSeries" />
- <signal name="TagPlay" />
- <signal name="RenderPlaylist" />
- </itemgroup>
</signals>
</object>
<object type="LongoMatch.Gui.Component.CodingWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
diff --git a/LongoMatch.Services/LongoMatch.Services.mdp b/LongoMatch.Services/LongoMatch.Services.mdp
index 89ae27f..1cf8a74 100644
--- a/LongoMatch.Services/LongoMatch.Services.mdp
+++ b/LongoMatch.Services/LongoMatch.Services.mdp
@@ -22,7 +22,6 @@
<File subtype="Code" buildaction="Compile" name="Services/PlaylistManager.cs" />
<File subtype="Code" buildaction="Compile" name="Services/ProjectsManager.cs" />
<File subtype="Directory" buildaction="Compile" name="." />
- <File subtype="Code" buildaction="Compile" name="Services/GameUnitsManager.cs" />
<File subtype="Directory" buildaction="Compile" name="." />
<File subtype="Directory" buildaction="Compile" name="." />
<File subtype="Directory" buildaction="Compile" name=".." />
diff --git a/LongoMatch.Services/Services/Core.cs b/LongoMatch.Services/Services/Core.cs
index a99967e..879dc8f 100644
--- a/LongoMatch.Services/Services/Core.cs
+++ b/LongoMatch.Services/Services/Core.cs
@@ -72,13 +72,12 @@ namespace LongoMatch.Services
public static void Start(IGUIToolkit guiToolkit, IMultimediaToolkit multimediaToolkit) {
Config.MultimediaToolkit = multimediaToolkit;
Config.GUIToolkit= guiToolkit;
+ Config.EventsBroker.QuitApplicationEvent += () => Config.GUIToolkit.Quit ();
StartServices (guiToolkit, multimediaToolkit);
- BindEvents (guiToolkit.MainController);
}
public static void StartServices (IGUIToolkit guiToolkit, IMultimediaToolkit
multimediaToolkit){
ProjectsManager projectsManager;
- GameUnitsManager guManager;
PlaylistManager plManager;
ToolsManager toolsManager;
TemplatesService ts;
@@ -104,26 +103,19 @@ namespace LongoMatch.Services
projectsManager = new ProjectsManager(guiToolkit, multimediaToolkit, ts);
/* State the tools manager */
- toolsManager = new ToolsManager (guiToolkit, multimediaToolkit, projectsManager, ts);
+ toolsManager = new ToolsManager (guiToolkit, multimediaToolkit, ts);
/* Start the events manager */
- eManager = new EventsManager (guiToolkit, videoRenderer, projectsManager);
+ eManager = new EventsManager (guiToolkit, videoRenderer);
/* Start the hotkeys manager */
- hkManager = new HotKeysManager (projectsManager);
+ hkManager = new HotKeysManager ();
hkManager.newMarkEvent += eManager.OnNewTag;
- /* Start Game Units manager */
- guManager = new GameUnitsManager(projectsManager);
-
/* Start playlists manager */
- plManager = new PlaylistManager(Config.GUIToolkit, videoRenderer, projectsManager);
+ plManager = new PlaylistManager(Config.GUIToolkit, videoRenderer);
}
- public static void BindEvents(IMainController mainController) {
- mainController.QuitApplicationEvent += () => {Config.GUIToolkit.Quit();};
- }
-
public static void CheckDirs() {
if(!System.IO.Directory.Exists(Config.HomeDir))
System.IO.Directory.CreateDirectory(Config.HomeDir);
diff --git a/LongoMatch.Services/Services/DataBaseManager.cs b/LongoMatch.Services/Services/DataBaseManager.cs
index 8cb22f3..c530c24 100644
--- a/LongoMatch.Services/Services/DataBaseManager.cs
+++ b/LongoMatch.Services/Services/DataBaseManager.cs
@@ -39,7 +39,7 @@ namespace LongoMatch.DB
{
this.DBDir = DBDir;
this.guiToolkit = guiToolkit;
- ConnectSignals ();
+ Config.EventsBroker.ManageDatabasesEvent += HandleManageDatabase;
FindDBS();
}
@@ -115,16 +115,14 @@ namespace LongoMatch.DB
}
}
- void ConnectSignals ()
+ void HandleManageDatabase ()
{
- guiToolkit.MainController.ManageDatabasesEvent += () => {
- if (OpenedProject != null) {
- var msg = Catalog.GetString("Close the current project to open the
database manager");
- guiToolkit.ErrorMessage (msg);
- } else {
- guiToolkit.OpenDatabasesManager ();
- }
- };
+ if (OpenedProject != null) {
+ var msg = Catalog.GetString("Close the current project to open the database
manager");
+ guiToolkit.ErrorMessage (msg);
+ } else {
+ guiToolkit.OpenDatabasesManager ();
+ }
}
void FindDBS (){
diff --git a/LongoMatch.Services/Services/EventsManager.cs b/LongoMatch.Services/Services/EventsManager.cs
index b8504e7..2ac91ce 100644
--- a/LongoMatch.Services/Services/EventsManager.cs
+++ b/LongoMatch.Services/Services/EventsManager.cs
@@ -44,23 +44,20 @@ namespace LongoMatch.Services
IGUIToolkit guiToolkit;
IAnalysisWindow analysisWindow;
- IProjectOptionsController poController;
IPlayerBin player;
ICapturerBin capturer;
IRenderingJobsManager renderer;
- public EventsManager(IGUIToolkit guiToolkit, IRenderingJobsManager renderer,
- ProjectsManager pManager)
+ public EventsManager(IGUIToolkit guiToolkit, IRenderingJobsManager renderer)
{
this.guiToolkit = guiToolkit;
this.renderer = renderer;
- pManager.OpenedProjectChanged += HandleOpenedProjectChanged;
+ Config.EventsBroker.OpenedProjectChanged += HandleOpenedProjectChanged;
catsTime = new Dictionary<Category, Time>();
}
void HandleOpenedProjectChanged (Project project, ProjectType projectType,
- PlaysFilter filter, IAnalysisWindow analysisWindow,
- IProjectOptionsController projectOptionsController)
+ PlaysFilter filter, IAnalysisWindow analysisWindow)
{
this.openedProject = project;
this.projectType = projectType;
@@ -72,7 +69,6 @@ namespace LongoMatch.Services
player = analysisWindow.Player;
capturer = analysisWindow.Capturer;
- this.poController = projectOptionsController;
if (this.analysisWindow != analysisWindow) {
this.analysisWindow = analysisWindow;
ConnectSignals();
@@ -86,30 +82,22 @@ namespace LongoMatch.Services
}
private void ConnectSignals() {
- /* Adding Handlers for each event */
-
- /* Connect tagging related events */
- analysisWindow.NewTagEvent += OnNewTag;
- analysisWindow.NewTagStartEvent += OnNewPlayStart;
- analysisWindow.NewTagStopEvent += OnNewPlayStop;
- analysisWindow.NewTagCancelEvent += OnNewPlayCancel;
- analysisWindow.NewTagAtPosEvent += OnNewTagAtPos;
- analysisWindow.TimeNodeChanged += OnTimeNodeChanged;
- analysisWindow.PlaysDeletedEvent += OnPlaysDeleted;
- analysisWindow.PlaySelectedEvent += OnPlaySelected;
- analysisWindow.PlayCategoryChanged += OnPlayCategoryChanged;
- analysisWindow.DuplicatePlay += OnDuplicatePlay;
-
- /* Connect playlist events */
- analysisWindow.PlayListNodeSelectedEvent += (tn) => {loadedPlay = tn;};
- /* Connect tags events */
- analysisWindow.TagPlayEvent += OnTagPlay;
-
- /* Connect SnapshotSeries events */
- analysisWindow.SnapshotSeriesEvent += OnSnapshotSeries;
+ Config.EventsBroker.NewTagEvent += OnNewTag;
+ Config.EventsBroker.NewTagStartEvent += OnNewPlayStart;
+ Config.EventsBroker.NewTagStopEvent += OnNewPlayStop;
+ Config.EventsBroker.NewTagCancelEvent += OnNewPlayCancel;
+ Config.EventsBroker.NewTagAtPosEvent += OnNewTagAtPos;
+ Config.EventsBroker.TimeNodeChanged += OnTimeNodeChanged;
+ Config.EventsBroker.PlaysDeleted += OnPlaysDeleted;
+ Config.EventsBroker.PlaySelected += OnPlaySelected;
+ Config.EventsBroker.PlayCategoryChanged += OnPlayCategoryChanged;
+ Config.EventsBroker.DuplicatePlay += OnDuplicatePlay;
+ Config.EventsBroker.PlayListNodeSelectedEvent += (tn) => {loadedPlay = tn;};
+ Config.EventsBroker.TagPlay += OnTagPlay;
+ Config.EventsBroker.SnapshotSeries += OnSnapshotSeries;
- poController.ShowProjectStatsEvent += HandleShowProjectStatsEvent;
- poController.TagSubcategoriesChangedEvent += HandleTagSubcategoriesChangedEvent;
+ Config.EventsBroker.ShowProjectStatsEvent += HandleShowProjectStatsEvent;
+ Config.EventsBroker.TagSubcategoriesChangedEvent +=
HandleTagSubcategoriesChangedEvent;
/* Connect player events */
player.Prev += OnPrev;
diff --git a/LongoMatch.Services/Services/HotKeysManager.cs b/LongoMatch.Services/Services/HotKeysManager.cs
index 3367d41..b641992 100644
--- a/LongoMatch.Services/Services/HotKeysManager.cs
+++ b/LongoMatch.Services/Services/HotKeysManager.cs
@@ -19,6 +19,9 @@
//
//
using System.Collections.Generic;
+using LongoMatch.Common;
+
+
#if HAVE_GTK
using Gtk;
using Gdk;
@@ -39,26 +42,22 @@ namespace LongoMatch.Services
Dictionary<HotKey, Category> dic;
bool ignoreKeys;
- IAnalysisWindow analysisWindow;
- public HotKeysManager(ProjectsManager pManager)
+ public HotKeysManager()
{
dic = new Dictionary<HotKey,Category>();
- pManager.OpenedProjectChanged += HandleOpenedProjectChanged;
+ Config.EventsBroker.OpenedProjectChanged += HandleOpenedProjectChanged;
+ Config.EventsBroker.KeyPressed += KeyListener;
}
- void HandleOpenedProjectChanged (Project project, LongoMatch.Common.ProjectType projectType,
LongoMatch.Common.PlaysFilter filter, IAnalysisWindow analysisWindow, IProjectOptionsController
projectOptions)
+ void HandleOpenedProjectChanged (Project project, ProjectType projectType,
+ PlaysFilter filter, IAnalysisWindow analysisWindow)
{
if(project == null) {
ignoreKeys = true;
return;
}
- if (this.analysisWindow != analysisWindow) {
- analysisWindow.KeyPressed += KeyListener;
- this.analysisWindow = analysisWindow;
- }
-
dic.Clear();
ignoreKeys = false;
foreach(Category cat in project.Categories) {
diff --git a/LongoMatch.Services/Services/PlaylistManager.cs b/LongoMatch.Services/Services/PlaylistManager.cs
index 672c197..4178abe 100644
--- a/LongoMatch.Services/Services/PlaylistManager.cs
+++ b/LongoMatch.Services/Services/PlaylistManager.cs
@@ -45,19 +45,18 @@ namespace LongoMatch.Services
Timer timeout;
Project openedProject;
- public PlaylistManager (IGUIToolkit guiToolkit, IRenderingJobsManager videoRenderer,
- ProjectsManager pManager)
+ public PlaylistManager (IGUIToolkit guiToolkit, IRenderingJobsManager videoRenderer)
{
this.videoRenderer = videoRenderer;
this.guiToolkit = guiToolkit;
- pManager.OpenedProjectChanged += HandleOpenedProjectChanged;
+ Config.EventsBroker.OpenedProjectChanged += HandleOpenedProjectChanged;
}
- void HandleOpenedProjectChanged (Project project, ProjectType projectType, PlaysFilter
filter, IAnalysisWindow analysisWindow, IProjectOptionsController projectOptions)
+ void HandleOpenedProjectChanged (Project project, ProjectType projectType,
+ PlaysFilter filter, IAnalysisWindow analysisWindow)
{
openedProject = project;
if (project != null) {
- //playlistWidget = analysisWindow.Playlist;
player = analysisWindow.Player;
if (this.analysisWindow != analysisWindow) {
BindEvents(analysisWindow);
@@ -82,21 +81,16 @@ namespace LongoMatch.Services
}
private void BindEvents(IAnalysisWindow analysisWindow) {
- /* Track loaded element */
- analysisWindow.PlaySelectedEvent += (p) => {selectedTimeNode = p;};
- analysisWindow.Player.SegmentClosedEvent += () => {selectedTimeNode = null;};
-
- /* Handle New/Open/Save playlist */
- analysisWindow.OpenPlaylistEvent += OnOpenPlaylist;
- analysisWindow.NewPlaylistEvent += OnNewPlaylist;
- analysisWindow.SavePlaylistEvent += OnSavePlaylist;
-
- /* Handle Add/Select/Rate events from other widgets */
- analysisWindow.PlayListNodeAddedEvent += OnPlayListNodeAdded;
- analysisWindow.PlayListNodeSelectedEvent += LoadPlaylistPlay;
- analysisWindow.RenderPlaylistEvent += OnRenderPlaylistEvent;
+ Config.EventsBroker.PlaySelected += (p) => {selectedTimeNode = p;};
+ Config.EventsBroker.OpenPlaylistEvent += OnOpenPlaylist;
+ Config.EventsBroker.NewPlaylistEvent += OnNewPlaylist;
+ Config.EventsBroker.SavePlaylistEvent += OnSavePlaylist;
+ Config.EventsBroker.PlayListNodeAddedEvent += OnPlayListNodeAdded;
+ Config.EventsBroker.PlayListNodeSelectedEvent += LoadPlaylistPlay;
+ Config.EventsBroker.RenderPlaylistEvent += OnRenderPlaylistEvent;
/* Handle Next/Prev from the player */
+ analysisWindow.Player.SegmentClosedEvent += () => {selectedTimeNode = null;};
analysisWindow.Player.Next += () => {Next();};
analysisWindow.Player.Prev += () => {
if(selectedTimeNode is PlayListPlay)
diff --git a/LongoMatch.Services/Services/ProjectsManager.cs b/LongoMatch.Services/Services/ProjectsManager.cs
index 5073d88..7f8d39d 100644
--- a/LongoMatch.Services/Services/ProjectsManager.cs
+++ b/LongoMatch.Services/Services/ProjectsManager.cs
@@ -35,13 +35,10 @@ namespace LongoMatch.Services
public class ProjectsManager
{
- public event OpenedProjectChangedHandler OpenedProjectChanged;
-
IGUIToolkit guiToolkit;
IMultimediaToolkit multimediaToolkit;
IMainController mainController;
IAnalysisWindow analysisWindow;
- IProjectOptionsController projectOptionsController;
IDatabase DB;
public ProjectsManager (IGUIToolkit guiToolkit, IMultimediaToolkit multimediaToolkit,
@@ -54,12 +51,14 @@ namespace LongoMatch.Services
}
public void ConnectSignals() {
- mainController.NewProjectEvent += NewProject;
- mainController.OpenProjectEvent += OpenProject;
- mainController.OpenProjectIDEvent += OpenProjectID;
- mainController.OpenNewProjectEvent += OpenNewProject;
+ Config.EventsBroker.NewProjectEvent += NewProject;
+ Config.EventsBroker.OpenProjectEvent += OpenProject;
+ Config.EventsBroker.OpenProjectIDEvent += OpenProjectID;
+ Config.EventsBroker.OpenNewProjectEvent += OpenNewProject;
+ Config.EventsBroker.CloseOpenedProjectEvent += () => PromptCloseProject();
+ Config.EventsBroker.SaveProjectEvent += SaveProject;
}
-
+
public Project OpenedProject {
set;
get;
@@ -86,9 +85,8 @@ namespace LongoMatch.Services
}
void EmitProjectChanged() {
- if (OpenedProjectChanged != null)
- OpenedProjectChanged (OpenedProject, OpenedProjectType, PlaysFilter,
- analysisWindow, projectOptionsController);
+ Config.EventsBroker.EmitOpenedProjectChanged (OpenedProject, OpenedProjectType,
+ PlaysFilter, analysisWindow);
}
void RemuxOutputFile (EncodingSettings settings) {
@@ -166,11 +164,8 @@ namespace LongoMatch.Services
OpenProjectID (projectID);
}
- private bool SetProject(Project project, ProjectType projectType, CaptureSettings props)
+ bool SetProject(Project project, ProjectType projectType, CaptureSettings props)
{
- IAnalysisWindow newAnalysiswindow;
- IProjectOptionsController newController;
-
if (OpenedProject != null) {
CloseOpenedProject(true);
}
@@ -179,23 +174,9 @@ namespace LongoMatch.Services
PlaysFilter = new PlaysFilter(project);
guiToolkit.OpenProject (project, projectType, props, PlaysFilter,
- out newAnalysiswindow, out newController);
- Player = newAnalysiswindow.Player;
- Capturer = newAnalysiswindow.Capturer;
- if (newAnalysiswindow != analysisWindow) {
- analysisWindow = newAnalysiswindow;
- analysisWindow.CloseOpenedProjectEvent += () => {
- if (projectType == ProjectType.FileProject) {
- CloseOpenedProject (false);
- } else {
- SaveCaptureProject (OpenedProject);}
- };
- }
- if (newController != projectOptionsController) {
- projectOptionsController = newController;
- projectOptionsController.CloseOpenedProjectEvent += () => {PromptCloseProject
();};
- projectOptionsController.SaveProjectEvent += SaveProject;
- }
+ out analysisWindow);
+ Player = analysisWindow.Player;
+ Capturer = analysisWindow.Capturer;
OpenedProject = project;
OpenedProjectType = projectType;
@@ -265,7 +246,7 @@ namespace LongoMatch.Services
fChooser.Destroy();
}*/
- private bool PromptCloseProject() {
+ bool PromptCloseProject() {
if(OpenedProject == null)
return true;
@@ -296,10 +277,9 @@ namespace LongoMatch.Services
return false;
}
}
-
}
- private void CloseOpenedProject (bool save) {
+ void CloseOpenedProject (bool save) {
if(OpenedProject == null)
return;
@@ -353,21 +333,21 @@ namespace LongoMatch.Services
guiToolkit.CreateNewProject ();
}
- protected void OpenNewProject (Project project, ProjectType projectType,
+ void OpenNewProject (Project project, ProjectType projectType,
CaptureSettings captureSettings)
{
if (project != null)
SetProject(project, projectType, captureSettings);
}
- protected void OpenProject() {
+ void OpenProject() {
if (!PromptCloseProject ()) {
return;
}
guiToolkit.SelectProject(DB.GetAllProjects());
}
- protected void OpenProjectID (Guid projectID) {
+ void OpenProjectID (Guid projectID) {
Project project = null;
project = DB.GetProject(projectID);
diff --git a/LongoMatch.Services/Services/RenderingJobsManager.cs
b/LongoMatch.Services/Services/RenderingJobsManager.cs
index d9c6f80..d8e73eb 100644
--- a/LongoMatch.Services/Services/RenderingJobsManager.cs
+++ b/LongoMatch.Services/Services/RenderingJobsManager.cs
@@ -49,7 +49,7 @@ namespace LongoMatch.Services
pendingJobs = new List<Job>();
stateBar.Cancel += (sender, e) => CancelCurrentJob();
stateBar.ManageJobs += (sender, e) => ManageJobs();
- guiToolkit.MainController.ConvertVideoFilesEvent += delegate(List<MediaFile>
inputFiles, EncodingSettings encSettings) {
+ Config.EventsBroker.ConvertVideoFilesEvent += (inputFiles, encSettings) => {
ConversionJob job = new ConversionJob(inputFiles, encSettings);
AddJob (job);
};;
diff --git a/LongoMatch.Services/Services/ToolsManager.cs b/LongoMatch.Services/Services/ToolsManager.cs
index 7668152..d7357b6 100644
--- a/LongoMatch.Services/Services/ToolsManager.cs
+++ b/LongoMatch.Services/Services/ToolsManager.cs
@@ -35,35 +35,37 @@ namespace LongoMatch.Services {
IMultimediaToolkit multimediaToolkit;
public ToolsManager (IGUIToolkit guiToolkit, IMultimediaToolkit multimediaToolkit,
- ProjectsManager projectsManager,
TemplatesService templatesService)
{
this.guiToolkit = guiToolkit;
this.multimediaToolkit = multimediaToolkit;
this.templatesService = templatesService;
- projectsManager.OpenedProjectChanged += (project, projectType, filter,
analysisWindow, projectOptions) => {
- this.openedProject = project;
+ Config.EventsBroker.OpenedProjectChanged += (pr, pt, f, a) => {
+ this.openedProject = pr;
};
- guiToolkit.MainController.EditPreferencesEvent += () => {
+ Config.EventsBroker.EditPreferencesEvent += () => {
guiToolkit.OpenPreferencesEditor();
};
- guiToolkit.MainController.ManageCategoriesEvent += () => {
+
+ Config.EventsBroker.ManageCategoriesEvent += () => {
guiToolkit.OpenCategoriesTemplatesManager ();
};
- guiToolkit.MainController.ManageTeamsEvent += () => {
+
+ Config.EventsBroker.ManageTeamsEvent += () => {
guiToolkit.OpenTeamsTemplatesManager ();
};
- guiToolkit.MainController.ManageProjectsEvent += () => {
+
+ Config.EventsBroker.ManageProjectsEvent += () => {
guiToolkit.OpenProjectsManager(this.openedProject);
};
- guiToolkit.MainController.ImportProjectEvent += ImportProject;
- guiToolkit.MainController.ExportProjectEvent += ExportProject;
+ Config.EventsBroker.ImportProjectEvent += ImportProject;
+ Config.EventsBroker.ExportProjectEvent += ExportProject;
}
- void ExportProject() {
- if (openedProject == null) {
+ void ExportProject (Project project) {
+ if (project == null) {
Log.Warning("Opened project is null and can't be exported");
}
@@ -76,7 +78,7 @@ namespace LongoMatch.Services {
System.IO.Path.ChangeExtension (filename, Constants.PROJECT_EXT);
try {
- Project.Export (openedProject, filename);
+ Project.Export (project, filename);
guiToolkit.InfoMessage (Catalog.GetString("Project exported successfully"));
} catch (Exception ex) {
guiToolkit.ErrorMessage (Catalog.GetString("Error exporting project"));
diff --git a/LongoMatch/Main.cs b/LongoMatch/Main.cs
index fd30c0c..0203d9e 100644
--- a/LongoMatch/Main.cs
+++ b/LongoMatch/Main.cs
@@ -63,6 +63,7 @@ namespace LongoMatch
AddinsManager manager = new AddinsManager(Config.PluginsConfigDir,
Config.PluginsDir);
manager.LoadConfigModifierAddins();
Config.DrawingToolkit = new CairoBackend ();
+ Config.EventsBroker = new EventsBroker ();
IMultimediaToolkit multimediaToolkit = new MultimediaToolkit();
Config.MultimediaToolkit = multimediaToolkit;
GUIToolkit guiToolkit = new GUIToolkit(version);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]