Esempio n. 1
0
        public void TestProperties()
        {
            var timelineEvent = new TimelineEvent {
                Name  = "Tes1",
                Start = new Time(0),
                Stop  = new Time(10),
            };
            var model     = new PlaylistPlayElement(timelineEvent);
            var viewModel = new PlaylistElementVM {
                Model = model,
            };

            Assert.AreEqual(model.Description, viewModel.Description);
            Assert.AreEqual(new Time(10), viewModel.Duration);
        }
Esempio n. 2
0
        void UpdatePlaylistElementsSelection()
        {
            TreeIter iter;
            Dictionary <PlaylistVM, List <PlaylistElementVM> > selected =
                new Dictionary <PlaylistVM, List <PlaylistElementVM> > ();
            IViewModel parentVM, childVM;

            foreach (var path in Selection.GetSelectedRows())
            {
                parentVM = childVM = null;
                Model.GetIterFromString(out iter, path.ToString());
                FillParentAndChild(iter, out parentVM, out childVM);
                PlaylistElementVM selectedViewModel = childVM as PlaylistElementVM;
                if (selectedViewModel != null)
                {
                    PlaylistVM playlist = parentVM as PlaylistVM;
                    if (!selected.ContainsKey(playlist))
                    {
                        selected.Add(playlist, new List <PlaylistElementVM> ());
                    }
                    selected [playlist].Add(selectedViewModel);
                }
            }

            IEnumerable <PlaylistVM> unselected = ViewModel.Selection.Except(selected.Keys);

            foreach (var playlist in unselected)
            {
                if (playlist.Selection.Any())
                {
                    playlist.Selection.Clear();
                }
            }
            foreach (var selections in selected)
            {
                selections.Key.Selection.Replace(selections.Value);
            }

            if (!selected.Any())
            {
                foreach (var playlist in ViewModel.ViewModels.Where((arg) => arg.Selection.Any()))
                {
                    playlist.Selection.Clear();
                }
            }
        }
Esempio n. 3
0
        void RenderPlaylistElement(PlaylistElementVM vm, IDrawingToolkit tk, IContext context, Area backgroundArea, Area cellArea, CellState state)
        {
            tk.Context = context;
            tk.Begin();
            Point textPoint = new Point(backgroundArea.Left + LEFT_OFFSET + (2 * SPACING) + COLOR_RECTANGLE_WIDTH +
                                        MINIATURE_WIDTH + SPACING, cellArea.Start.Y);
            double textWidth = (cellArea.Right - RIGTH_OFFSET - EYE_IMAGE_WIDTH - SPACING) - textPoint.X;

            RenderBackground(tk, backgroundArea, App.Current.Style.ThemeBase);
            RenderSelection(tk, context, backgroundArea, cellArea, state, true);
            RenderPrelit(vm.Playing, tk, context, backgroundArea, cellArea, state);
            RenderChildText(tk, textPoint, (int)textWidth, (int)cellArea.Height, vm.Description, App.Current.Style.TextBase);
            RenderColorStrip(tk, backgroundArea, App.Current.Style.TextBase);
            Point p = new Point(backgroundArea.Left + LEFT_OFFSET + COLOR_RECTANGLE_WIDTH + SPACING, cellArea.Start.Y + VERTICAL_OFFSET);

            RenderImage(tk, p, vm.Miniature, MINIATURE_WIDTH, MINIATURE_HEIGHT);
            RenderEye(tk, backgroundArea, cellArea, vm.Playing);
            tk.End();
        }
Esempio n. 4
0
        public void TestForwardProperties()
        {
            int count         = 0;
            var timelineEvent = new TimelineEvent {
                Name  = "Tes1",
                Start = new Time(0),
                Stop  = new Time(10),
            };
            var model     = new PlaylistPlayElement(timelineEvent);
            var viewModel = new PlaylistElementVM {
                Model = model,
            };

            viewModel.PropertyChanged += (sender, e) => {
                count++;
            };

            timelineEvent.EventTime = new Time(1);
            Assert.AreEqual(2, count);
        }
Esempio n. 5
0
        protected virtual void RenderPlaylist(TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter)
        {
            string     desc;
            var        obj        = model.GetValue(iter, COL_DATA);
            PlaylistVM playlistVM = obj as PlaylistVM;

            if (playlistVM == null)
            {
                PlaylistElementVM plElement = obj as PlaylistElementVM;
                if (plElement == null)
                {
                    desc = "";
                }
                else
                {
                    desc = plElement.Description;
                }
            }
            else
            {
                desc = FormatDesc(playlistVM);
            }
            (cell as CellRendererText).Text = desc;
        }