Пример #1
0
 public void SetProject(Project project, ProjectType projectType,
                        PlaysFilter filter)
 {
     this.filter        = filter;
     this.openedProject = project;
     this.projectType   = projectType;
 }
Пример #2
0
 public override void SetFilter(PlaysFilter filter, Project project)
 {
     this.local       = project.LocalTeamTemplate;
     this.visitor     = project.VisitorTeamTemplate;
     localTeam.Name   = local.TeamName;
     visitorTeam.Name = visitor.TeamName;
     base.SetFilter(filter, project);
 }
Пример #3
0
 public TimeScale(Category category, List <Play> list, uint frames, PlaysFilter filter, MediaFile mediaFile) : base(list, frames, filter)
 {
     this.category         = category;
     this.mediaFile        = mediaFile;
     elementName           = Catalog.GetString("play");
     filter.FilterUpdated += () => {
         Visible = filter.VisibleCategories.Contains(category);
         QueueDraw();
     };
 }
Пример #4
0
        private bool SetProject(Project project, ProjectType projectType, CaptureSettings props)
        {
            if (OpenedProject != null)
            {
                CloseOpenedProject(true);
            }

            if (projectType == ProjectType.FileProject)
            {
                // Check if the file associated to the project exists
                if (!File.Exists(project.Description.File.FilePath))
                {
                    guiToolkit.WarningMessage(Catalog.GetString("The file associated to this project doesn't exist.") + "\n"
                                              + Catalog.GetString("If the location of the file has changed try to edit it with the database manager."));
                    CloseOpenedProject(true);
                    return(false);
                }
                try {
                    Player.Open(project.Description.File.FilePath);
                }
                catch (Exception ex) {
                    guiToolkit.ErrorMessage(Catalog.GetString("An error occurred opening this project:") + "\n" + ex.Message);
                    CloseOpenedProject(true);
                    return(false);
                }
            }
            else
            {
                if (projectType == ProjectType.CaptureProject ||
                    projectType == ProjectType.URICaptureProject)
                {
                    Capturer.CaptureProperties = props;
                    try {
                        Capturer.Type = CapturerType.Live;
                    } catch (Exception ex) {
                        guiToolkit.ErrorMessage(ex.Message);
                        CloseOpenedProject(false);
                        return(false);
                    }
                }
                else
                {
                    Capturer.Type = CapturerType.Fake;
                }
                Capturer.Run();
            }

            OpenedProject     = project;
            OpenedProjectType = projectType;
            PlaysFilter       = new PlaysFilter(project);
            mainWindow.SetProject(project, projectType, props, PlaysFilter);
            EmitProjectChanged();
            return(true);
        }
Пример #5
0
        private static void OnOpenedProjectChanged(Project project, ProjectType projectType,
                                                   PlaysFilter filter)
        {
            if (project != null)
            {
                hkManager.Categories = project.Categories;
            }
            else
            {
                hkManager.Categories = null;
            }

            eManager.SetProject(project, projectType, filter);
            guManager.OpenedProject = project;
            plManager.OpenedProject = project;
            dbManager.OpenedProject = project;
        }
Пример #6
0
        public TimeScaleBase(List <T> list, uint frames, PlaysFilter filter = null)
        {
            this.frames   = frames;
            this.list     = list;
            this.filter   = filter;
            this.color    = new Cairo.Color(0, 0, 1);
            this.color.A  = ALPHA;
            HeightRequest = SECTION_HEIGHT;
            Size((int)(frames / pixelRatio), SECTION_HEIGHT);
            Events = EventMask.PointerMotionMask | EventMask.ButtonPressMask | EventMask.ButtonReleaseMask;

            menuToNodeDict = new Dictionary <MenuItem, T>();

            layout           = new Pango.Layout(PangoContext);
            layout.Wrap      = Pango.WrapMode.Char;
            layout.Ellipsize = EllipsizeMode.End;
            layout.Alignment = Pango.Alignment.Left;
        }
Пример #7
0
 public void SetProject(Project project, bool isLive, PlaysFilter filter)
 {
     this.project                     = project;
     this.filter                      = filter;
     playsList.ProjectIsLive          = isLive;
     localPlayersList.ProjectIsLive   = isLive;
     visitorPlayersList.ProjectIsLive = isLive;
     playsList.Filter                 = filter;
     localPlayersList.Filter          = filter;
     visitorPlayersList.Filter        = filter;
     playersfilter.SetFilter(filter, project);
     categoriesfilter.SetFilter(filter, project);
     playsList.Project          = project;
     visitorPlayersList.Project = project;
     localPlayersList.Project   = project;
     visitorPlaysList.LabelProp = project.VisitorTeamTemplate.TeamName;
     localPlaysList.LabelProp   = project.LocalTeamTemplate.TeamName;
     UpdateTeamsModels();
 }
Пример #8
0
        public void SetProject(Project project, PlaysFilter filter)
        {
            ResetGui();

            if (project == null)
            {
                categories = null;
                tsList.Clear();
                loaded = false;
                return;
            }
            loaded     = true;
            categories = project.Categories;
            tsList.Clear();
            frames = project.Description.File.GetFrames();

            cs.Categories = categories;
            cs.Filter     = filter;
            cs.Show();

            tr.Frames    = frames;
            tr.FrameRate = project.Description.File.Fps;
            tr.Show();

            foreach (Category cat in  categories)
            {
                List <Play> playsList = project.PlaysInCategory(cat);
                TimeScale   ts        = new TimeScale(cat, playsList, frames, filter,
                                                      project.Description.File);
                tsList[cat]             = ts;
                ts.TimeNodeChanged     += HandleTimeNodeChanged;
                ts.TimeNodeSelected    += HandleTimeNodeSelected;
                ts.TimeNodeDeleted     += HandleTimeNodeDeleted;
                ts.NewMarkAtFrameEvent += HandleNewMark;
                ts.TagPlay             += HandleTagPlay;
                ts.RenderPlaylist      += HandleRenderPlaylist;
                ts.SnapshotSeries      += HandleSnapshotSeries;
                ts.PlayListNodeAdded   += HandlePlayListNodeAdded;
                TimelineBox.PackStart(ts, false, true, 0);
                ts.Show();
            }
            SetPixelRatio(3);
        }
 public override void SetFilter(PlaysFilter filter, Project project)
 {
     this.categories = project.Categories;
     base.SetFilter(filter, project);
 }
Пример #10
0
        public void SetProject(Project project, ProjectType projectType, CaptureSettings props, PlaysFilter filter)
        {
            bool isLive = false;

            /* Update tabs labels */
            var desc = project.Description;

            ExportProjectAction1.Sensitive = true;

            if (projectType == ProjectType.FileProject)
            {
                Title = System.IO.Path.GetFileNameWithoutExtension(desc.File.FilePath) +
                        " - " + Constants.SOFTWARE_NAME;
                playercapturer.LogoMode = false;
                timeline.SetProject(project, filter);
                guTimeline.Project = project;
            }
            else
            {
                Title  = Constants.SOFTWARE_NAME;
                isLive = true;
                if (projectType == ProjectType.FakeCaptureProject)
                {
                    playercapturer.Type = CapturerType.Fake;
                    playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.Capturer;
                }
                else
                {
                    playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.PreviewCapturer;
                }
            }

            openedProject    = project;
            this.projectType = projectType;

            filter.FilterUpdated += OnFilterUpdated;
            playsSelection.SetProject(project, isLive, filter);
            buttonswidget.Categories = project.Categories;
            MakeActionsSensitive(true, projectType);
            postagger.LoadBackgrounds(openedProject.Categories.FieldBackground,
                                      openedProject.Categories.HalfFieldBackground,
                                      openedProject.Categories.GoalBackground);
            ShowWidgets();
        }
Пример #11
0
 public virtual void SetFilter(PlaysFilter filter, Project project)
 {
     this.project = project;
     this.filter  = filter;
     FillTree();
 }