Exemplo n.º 1
0
        public void TestClearAll()
        {
            Project p = Utils.CreateProject ();

            try {
                EventsFilter filter = new EventsFilter (p);

                filter.FilterPlayer (p.LocalTeamTemplate.List [0], true);
                Assert.AreEqual (1, filter.VisiblePlays.Count);
                Assert.AreEqual (1, filter.VisiblePlayers.Count);
                filter.ClearAll ();
                Assert.AreEqual (3, filter.VisiblePlays.Count);
                Assert.AreEqual (10, filter.VisiblePlayers.Count);

                filter.FilterEventType (p.EventTypes [0], true);
                Assert.AreEqual (1, filter.VisiblePlays.Count);
                Assert.AreEqual (1, filter.VisibleEventTypes.Count);
                filter.ClearAll ();
                Assert.AreEqual (3, filter.VisiblePlays.Count);
                Assert.AreEqual (13, filter.VisibleEventTypes.Count);

                filter.FilterEventTag (p.EventTypes [0], (p.EventTypes [0] as AnalysisEventType).Tags [0], true);
                Assert.AreEqual (0, filter.VisiblePlays.Count);
                Assert.AreEqual (1, filter.VisibleEventTypes.Count);
                filter.ClearAll ();
                Assert.AreEqual (3, filter.VisiblePlays.Count);
                Assert.AreEqual (13, filter.VisibleEventTypes.Count);
            } finally {
                Utils.DeleteProject (p);
            }
        }
Exemplo n.º 2
0
 public override void SetFilter(EventsFilter filter, Project project)
 {
     this.local = project.LocalTeamTemplate;
     this.visitor = project.VisitorTeamTemplate;
     localTeam.Name = local.TeamName;
     visitorTeam.Name = visitor.TeamName;
     base.SetFilter (filter, project);
 }
Exemplo n.º 3
0
 public void SetProject(Project project, EventsFilter filter)
 {
     this.project = project;
     eventslistwidget.SetProject (project, filter);
     playersfilter.SetFilter (filter, project);
     categoriesfilter.SetFilter (filter, project);
     playlistwidget.Project = project;
 }
Exemplo n.º 4
0
 public EventTypeStats(Project project, EventsFilter filter, EventType evType)
 {
     Name = evType.Name;
     events = new List<TimelineEvent> ();
     this.project = project;
     this.filter = filter;
     this.eventType = evType;
 }
Exemplo n.º 5
0
 public void EmitOpenedProjectChanged(Project project, ProjectType projectType,
                                      EventsFilter filter, IAnalysisWindow analysisWindow)
 {
     if (OpenedProjectChanged != null)
     {
         OpenedProjectChanged(project, projectType, filter, analysisWindow);
     }
 }
Exemplo n.º 6
0
        public void TestEmptyFilter()
        {
            Project p = Utils.CreateProject ();

            try {
                EventsFilter filter = new EventsFilter (p);

                Assert.AreEqual (13, filter.VisibleEventTypes.Count);
                Assert.AreEqual (10, filter.VisiblePlayers.Count);
                Assert.AreEqual (3, filter.VisiblePlays.Count);
            } finally {
                Utils.DeleteProject (p);
            }
        }
Exemplo n.º 7
0
 public void SetProject(Project project, EventsFilter filter)
 {
     this.project = project;
     playsList.Filter = filter;
     localPlayersList.Filter = filter;
     visitorPlayersList.Filter = filter;
     playsList.Project = project;
     visitorPlayersList.Project = project;
     localPlayersList.Project = project;
     SetTabProps (playsList, true);
     SetTabProps (localPlayersList, false);
     SetTabProps (visitorPlayersList, false);
     UpdateTeamsModels ();
 }
Exemplo n.º 8
0
 public TeamStats(Project project, EventsFilter filter, TeamType team)
 {
     this.project = project;
     this.filter = filter;
     this.team = team;
     if (team == TeamType.LOCAL) {
         this.template = project.LocalTeamTemplate;
     } else {
         this.template = project.VisitorTeamTemplate;
     }
     PlayersStats = new List<PlayerStats> ();
     foreach (Player p in this.template.List) {
         PlayersStats.Add (new PlayerStats (project, filter, p));
     }
 }
Exemplo n.º 9
0
 public PlayerStats(Project project, EventsFilter filter, Player player)
 {
     this.project = project;
     this.filter = filter;
     this.Player = player;
     PlayerEventStats = new List<PlayerEventTypeStats> ();
     foreach (EventType evtType in project.EventTypes.OfType<ScoreEventType> ()) {
         PlayerEventStats.Add (new PlayerEventTypeStats (project, filter, player, evtType));
     }
     foreach (EventType evtType in project.EventTypes.OfType<PenaltyCardEventType> ()) {
         PlayerEventStats.Add (new PlayerEventTypeStats (project, filter, player, evtType));
     }
     foreach (EventType evtType in project.EventTypes) {
         if (evtType is AnalysisEventType) {
             PlayerEventStats.Add (new PlayerEventTypeStats (project, filter, player, evtType));
         }
     }
     UpdateTimePlayed ();
 }
Exemplo n.º 10
0
        public void TestFilterCategoryTags()
        {
            Project p = Utils.CreateProject ();

            try {
                EventsFilter filter = new EventsFilter (p);
                AnalysisEventType a;

                Assert.AreEqual (3, filter.VisiblePlays.Count);

                a = p.EventTypes [0] as AnalysisEventType;
                filter.FilterEventTag (a, a.Tags [0], true);
                Assert.AreEqual (1, filter.VisibleEventTypes.Count);
                Assert.AreEqual (0, filter.VisiblePlays.Count);

                a = p.EventTypes [1] as AnalysisEventType;
                filter.FilterEventTag (a, a.Tags [0], true);
                Assert.AreEqual (2, filter.VisibleEventTypes.Count);
                Assert.AreEqual (1, filter.VisiblePlays.Count);

                a = p.EventTypes [2] as AnalysisEventType;
                filter.FilterEventTag (a, a.Tags [0], true);
                Assert.AreEqual (3, filter.VisibleEventTypes.Count);
                Assert.AreEqual (1, filter.VisiblePlays.Count);

                filter.FilterEventTag (a, a.Tags [1], true);
                Assert.AreEqual (2, filter.VisiblePlays.Count);

                a = p.EventTypes [0] as AnalysisEventType;
                filter.FilterEventTag (a, a.Tags [0], false);
                Assert.AreEqual (3, filter.VisiblePlays.Count);

                a = p.EventTypes [1] as AnalysisEventType;
                filter.FilterEventTag (a, a.Tags [0], false);
                filter.FilterEventTag (a, a.Tags [1], true);
                Assert.AreEqual (2, filter.VisiblePlays.Count);
                Assert.AreEqual (p.Timeline [0], filter.VisiblePlays [0]);
                Assert.AreEqual (p.Timeline [2], filter.VisiblePlays [1]);

                /* One tag filtered now, but not the one of this play */
                a = p.EventTypes [2] as AnalysisEventType;
                filter.FilterEventTag (a, a.Tags [1], false);
                Assert.AreEqual (1, filter.VisiblePlays.Count);
                Assert.AreEqual (p.Timeline [0], filter.VisiblePlays [0]);
                /* No more tags filtered, if the category matches we are ok */
                filter.FilterEventTag (a, a.Tags [0], false);
                Assert.AreEqual (2, filter.VisiblePlays.Count);
                Assert.AreEqual (p.Timeline [0], filter.VisiblePlays [0]);
                Assert.AreEqual (p.Timeline [2], filter.VisiblePlays [1]);

                filter.ClearAll ();
                Assert.AreEqual (3, filter.VisiblePlays.Count);
            } finally {
                Utils.DeleteProject (p);
            }
        }
Exemplo n.º 11
0
 public virtual void SetFilter(EventsFilter filter, Project project)
 {
     this.project = project;
     this.filter = filter;
     FillTree ();
 }
Exemplo n.º 12
0
        public IAnalysisWindow SetProject(Project project, ProjectType projectType, CaptureSettings props, EventsFilter filter)
        {
            ExportProjectAction1.Sensitive = true;

            this.projectType = projectType;
            openedProject = project;
            if (projectType == ProjectType.FileProject) {
                Title = openedProject.Description.Title +
                " - " + Constants.SOFTWARE_NAME;
            } else {
                Title = Constants.SOFTWARE_NAME;
            }
            MakeActionsSensitive (true, projectType);
            if (projectType == ProjectType.FakeCaptureProject) {
                analysisWindow = new FakeAnalysisComponent ();
            } else {
                analysisWindow = new AnalysisComponent ();
            }
            SetPanel (analysisWindow as Widget);
            analysisWindow.SetProject (project, projectType, props, filter);
            return analysisWindow;
        }
Exemplo n.º 13
0
        public CategoryTimeline(Project project, List<TimelineEvent> plays, Time maxTime,
		                         double offsetY, Color background, EventsFilter filter)
            : base(maxTime, StyleConf.TimelineCategoryHeight, offsetY, background)
        {
            this.filter = filter;
            this.project = project;
            foreach (TimelineEvent p in plays) {
                AddPlay (p);
            }
        }
Exemplo n.º 14
0
        public void SetProject(Project project, ProjectType projectType, CaptureSettings props, EventsFilter filter)
        {
            openedProject = project;
            this.projectType = projectType;
            this.filter = filter;

            codingwidget.SetProject (project, projectType, filter);
            playsSelection.SetProject (project, filter);
            if (projectType == ProjectType.FileProject) {
                playercapturer.Mode = PlayerViewOperationMode.Analysis;
            } else {
                playercapturer.Mode = playercapturer.Mode = PlayerViewOperationMode.LiveAnalysisReview;
                Capturer.PeriodsNames = project.Dashboard.GamePeriods;
                Capturer.Periods = project.Periods;
            }
        }
Exemplo n.º 15
0
 public override void SetFilter(EventsFilter filter, Project project)
 {
     this.project = project;
     base.SetFilter (filter, project);
 }
Exemplo n.º 16
0
        public void LoadProject(Project project, EventsFilter filter)
        {
            int height;

            this.project = project;
            ClearObjects ();
            eventsTimelines.Clear ();
            duration = project.Description.FileSet.Duration;
            playsFilter = filter;
            FillCanvas ();
            filter.FilterUpdated += UpdateVisibleCategories;
            height = Objects.Count * StyleConf.TimelineCategoryHeight;
            widget.Height = height;
        }
Exemplo n.º 17
0
        public void TestFilterPlayers()
        {
            Project p = Utils.CreateProject ();

            try {
                EventsFilter filter = new EventsFilter (p);

                Assert.AreEqual (10, filter.VisiblePlayers.Count);
                Assert.AreEqual (3, filter.VisiblePlays.Count);
                filter.FilterPlayer (p.LocalTeamTemplate.List [4], true);
                Assert.AreEqual (0, filter.VisiblePlays.Count);
                Assert.AreEqual (1, filter.VisiblePlayers.Count);
                filter.FilterPlayer (p.LocalTeamTemplate.List [0], true);
                Assert.AreEqual (1, filter.VisiblePlays.Count);
                Assert.AreEqual (2, filter.VisiblePlayers.Count);
                filter.FilterPlayer (p.LocalTeamTemplate.List [0], true);
                Assert.AreEqual (1, filter.VisiblePlays.Count);
                Assert.AreEqual (2, filter.VisiblePlayers.Count);
                filter.FilterPlayer (p.LocalTeamTemplate.List [0], false);
                Assert.AreEqual (0, filter.VisiblePlays.Count);
                Assert.AreEqual (1, filter.VisiblePlayers.Count);
                filter.FilterPlayer (p.LocalTeamTemplate.List [4], false);
                Assert.AreEqual (10, filter.VisiblePlayers.Count);
                Assert.AreEqual (3, filter.VisiblePlays.Count);
            } finally {
                Utils.DeleteProject (p);
            }
        }
Exemplo n.º 18
0
 public ProjectStats(Project project)
 {
     Project = project;
     filter = new EventsFilter (project);
     CreateStats ();
 }
Exemplo n.º 19
0
        public void TestFilterCategory()
        {
            Project p = Utils.CreateProject ();

            try {
                EventsFilter filter = new EventsFilter (p);

                filter.FilterEventType (p.EventTypes [0], true);
                Assert.AreEqual (1, filter.VisibleEventTypes.Count);
                Assert.AreEqual (1, filter.VisiblePlays.Count);

                filter.FilterEventType (p.EventTypes [1], true);
                Assert.AreEqual (2, filter.VisibleEventTypes.Count);
                Assert.AreEqual (2, filter.VisiblePlays.Count);

                filter.FilterEventType (p.EventTypes [2], true);
                Assert.AreEqual (3, filter.VisibleEventTypes.Count);
                Assert.AreEqual (3, filter.VisiblePlays.Count);

                filter.FilterEventType (p.EventTypes [0], true);
                Assert.AreEqual (3, filter.VisibleEventTypes.Count);
                Assert.AreEqual (3, filter.VisiblePlays.Count);

                filter.FilterEventType (p.EventTypes [0], false);
                Assert.AreEqual (2, filter.VisibleEventTypes.Count);
                Assert.AreEqual (2, filter.VisiblePlays.Count);

                filter.FilterEventType (p.EventTypes [1], false);
                Assert.AreEqual (1, filter.VisibleEventTypes.Count);
                Assert.AreEqual (1, filter.VisiblePlays.Count);

                filter.FilterEventType (p.EventTypes [2], false);
                Assert.AreEqual (13, filter.VisibleEventTypes.Count);
                Assert.AreEqual (3, filter.VisiblePlays.Count);
            } finally {
                Utils.DeleteProject (p);
            }
        }
Exemplo n.º 20
0
        public void EmitOpenedProjectChanged(Project project, ProjectType projectType,
		                                       EventsFilter filter, IAnalysisWindow analysisWindow)
        {
            if (OpenedProjectChanged != null) {
                OpenedProjectChanged (project, projectType, filter, analysisWindow);
            }
        }
Exemplo n.º 21
0
        void HandleOpenedProjectChanged(Project project, ProjectType projectType,
		                                 EventsFilter filter, IAnalysisWindow analysisWindow)
        {
            this.openedProject = project;
            this.projectType = projectType;
            this.filter = filter;

            if (project == null) {
                if (framesCapturer != null) {
                    framesCapturer.Dispose ();
                    framesCapturer = null;
                }
                return;
            }

            if (projectType == ProjectType.FileProject) {
                framesCapturer = Config.MultimediaToolkit.GetFramesCapturer ();
                framesCapturer.Open (openedProject.Description.FileSet.First ().FilePath);
            }
            this.analysisWindow = analysisWindow;
            player = analysisWindow.Player;
            capturer = analysisWindow.Capturer;
        }
Exemplo n.º 22
0
 public void SetProject(Project project, ProjectType projectType, CaptureSettings props, EventsFilter filter)
 {
     codingwidget1.SetProject (project, projectType, filter);
 }
Exemplo n.º 23
0
        void HandleOpenedProjectChanged(OpenedProjectEvent e)
        {
            this.openedProject = e.Project;
            this.projectType = e.ProjectType;
            this.filter = e.Filter;

            this.analysisWindow = e.AnalysisWindow;
            player = e.AnalysisWindow.Player;
            capturer = e.AnalysisWindow.Capturer;
        }
Exemplo n.º 24
0
        void HandleOpenedProjectChanged(Project project, ProjectType projectType,
		                                 EventsFilter filter, IAnalysisWindow analysisWindow)
        {
            this.analysisWindow = analysisWindow;
            this.capturer = analysisWindow.Capturer;
            openedProject = project;
            this.projectType = projectType;
            if (project == null) {
                dashboard = null;
            } else {
                dashboard = project.Dashboard;
            }
            ReloadHotkeys ();
        }