Example #1
0
        private void playVideoMenuItem_Click(object sender, RoutedEventArgs e)
        {
            MetadataContext videoSourceKey = new MetadataContext()
            {
                MetadataName = "Video.Source",
                NodeUid      = NodeProxy.Id
            };
            string source = NodeProxy.GetNodeMetadata(videoSourceKey).MetadataValue;

            VideoSizeHelper sizeHelper = new VideoSizeHelper(NodeProxy);

            RelatedContentPanelUtil.Instance.LoadRelatedVideoContent(source, sizeHelper.Size);

            string  startPosition = null;
            string  endPosition   = null;
            Command playCommand   = new Command();

            playCommand.Name   = "Play";
            playCommand.Params = new List <Param>();
            playCommand.Params.Add(new Param()
            {
                Name = "Source", Value = source
            });
            MetadataContext videoStartKey = new MetadataContext()
            {
                MetadataName = "Video.StartPosition",
                NodeUid      = NodeProxy.Id
            };

            if (NodeProxy.HasMetadata(videoStartKey))
            {
                startPosition = NodeProxy.GetNodeMetadata(videoStartKey).MetadataValue;
                playCommand.Params.Add(new Param()
                {
                    Name = "StartTimeCode", Value = startPosition
                });
            }
            MetadataContext videoEndKey = new MetadataContext()
            {
                MetadataName = "Video.EndPosition",
                NodeUid      = NodeProxy.Id
            };

            if (NodeProxy.HasMetadata(videoEndKey))
            {
                endPosition = NodeProxy.GetNodeMetadata(videoEndKey).MetadataValue;
                playCommand.Params.Add(new Param()
                {
                    Name = "EndTimeCode", Value = endPosition
                });
            }
            playCommand.Params.Add(new Param()
            {
                Name = "NodeId", Value = NodeProxy.Id.ToString()
            });
            //Utilities.SendMessage<Command>(MessageSender, playCommand);
        }
Example #2
0
        private void propertiesMenuItem_Click(object sender, RoutedEventArgs e)
        {
            NodePropertiesDialog npd = new NodePropertiesDialog();

            npd.DataContext = NodeProxy;
            MetadataContext noteKey = new MetadataContext()
            {
                MetadataName = "Note",
                NodeUid      = NodeProxy.Id
            };

            if (NodeProxy.HasMetadata(noteKey))
            {
                npd.Note = NodeProxy.GetNodeMetadata(noteKey).MetadataValue;
            }
            npd.Closed += new EventHandler(NodePropertiesDialog_Close);
            npd.Show();
        }
Example #3
0
        private void NodePropertiesDialog_Loaded(object sender, RoutedEventArgs e)
        {
            NodeProxy = DataContext as INodeProxy;
            if (NodeProxy != null)
            {
                _originalName = NodeProxy.Name;
                _originalNote = Note; //make a copy to restore closing
                if (Note != null)
                {
                    NodeNotesTextBlock.Text = Note;
                }
                NodeNotesTextBlock.Focus();
                NodeNotesTextBlock.SelectionStart = NodeNotesTextBlock.Text.Length;

                if (NodeProxy.Created != DateTime.MinValue)
                {
                    CreatedTimeTextBlock.Text = NodeProxy.Created.ToString("f");
                }
                if (NodeProxy.LastModified != DateTime.MinValue)
                {
                    ModifiedTimeTextBlock.Text = NodeProxy.LastModified.ToString("f");
                }


                if (NodeProxy.NodeType.Name == "CompendiumReferenceNode")
                {
                    MetadataContext context = new MetadataContext()
                    {
                        NodeUid      = NodeProxy.Id,
                        MetadataName = "LinkedFile.Source"
                    };
                    if (NodeProxy.HasMetadata(context))
                    {
                        Height = 480;
                        ReferenceLocationRow.Height       = new GridLength(30);
                        ReferenceNodeInfoPanel.Visibility = System.Windows.Visibility.Visible;

                        SoapMetadata linkedFileMetadata = NodeProxy.GetNodeMetadata(context);
                        ReferenceFileLocationTextBox.Text = linkedFileMetadata.MetadataValue;
                    }
                }
            }
        }
Example #4
0
        private void NodeContextMenu_Loaded(object sender, RoutedEventArgs e)
        {
            Command getPlayingStateCommand = new Command();

            getPlayingStateCommand.Name   = "GetPlayingState";
            getPlayingStateCommand.Params = new List <Param>();
            getPlayingStateCommand.Params.Add(new Param()
            {
                Name = "NodeId", Value = NodeProxy.Id.ToString()
            });
            //Utilities.SendMessage<Command>(MessageSender, getPlayingStateCommand);

            playVideoMenuItem        = new MenuItem();
            playVideoMenuItem.Header = "Play Video Segment";
            MetadataContext videoSourceKey = new MetadataContext()
            {
                MetadataName = "Video.Source",
                NodeUid      = NodeProxy.Id
            };

            playVideoMenuItem.Click += new RoutedEventHandler(playVideoMenuItem_Click);

            pauseVideoMenuItem        = new MenuItem();
            pauseVideoMenuItem.Header = "Pause Video Segment";
            pauseVideoMenuItem.Click += delegate(object sender2, RoutedEventArgs e2)
            {
                Command pauseCommand = new Command();
                pauseCommand.Name = "Pause";
                //Utilities.SendMessage<Command>(MessageSender, pauseCommand);
            };
            if (!NodeProxy.HasMetadata(videoSourceKey))
            {
                playVideoMenuItem.IsEnabled  = false;
                pauseVideoMenuItem.IsEnabled = false;
            }
            this.Items.Add(playVideoMenuItem);
            this.Items.Add(pauseVideoMenuItem);

            Separator videoOpSep = new Separator();

            this.Items.Add(videoOpSep);

            MenuItem recordStartPosition = new MenuItem();

            recordStartPosition.Header = "Record Start Position";
            recordStartPosition.Click += delegate(object sender2, RoutedEventArgs e2)
            {
                Command getStartPositionCommand = new Command();
                getStartPositionCommand.Name   = "GetSourceAndPosition";
                getStartPositionCommand.Params = new List <Param>();
                getStartPositionCommand.Params.Add(new Param()
                {
                    Name = "CallbackId", Value = "StartPosition"
                });
                getStartPositionCommand.Params.Add(new Param()
                {
                    Name = "NodeId", Value = NodeProxy.Id.ToString()
                });
                //Utilities.SendMessage<Command>(MessageSender, getStartPositionCommand);
            };
            this.Items.Add(recordStartPosition);

            MenuItem recordEndPosition = new MenuItem();

            recordEndPosition.Header = "Record End Position";
            recordEndPosition.Click += delegate(object sender2, RoutedEventArgs e2)
            {
                Command getEndPositionCommand = new Command();
                getEndPositionCommand.Name   = "GetSourceAndPosition";
                getEndPositionCommand.Params = new List <Param>();
                getEndPositionCommand.Params.Add(new Param()
                {
                    Name = "CallbackId", Value = "EndPosition"
                });
                getEndPositionCommand.Params.Add(new Param()
                {
                    Name = "NodeId", Value = NodeProxy.Id.ToString()
                });
                //Utilities.SendMessage<Command>(MessageSender, getEndPositionCommand);
            };
            this.Items.Add(recordEndPosition);

            MenuItem clearVideoData = new MenuItem();

            clearVideoData.Header = "Clear Node Video Markers";
            clearVideoData.Click += delegate(object sender2, RoutedEventArgs e2)
            {
                TypeManager        typeManager             = IoC.IoCContainer.GetInjectionInstance().GetInstance <TypeManager>();
                IMetadataTypeProxy stringMetadataTypeProxy = typeManager.GetMetadataType("string");
                Navigator.UpdateNodeMetadataAsync(NodeProxy, Guid.Empty, null, "Video.Source", "", stringMetadataTypeProxy);
            };
            clearVideoData.IsEnabled = false;
            if (NodeProxy.HasMetadata(videoSourceKey))
            {
                if (!string.IsNullOrEmpty(NodeProxy.GetNodeMetadata(videoSourceKey).MetadataValue))
                {
                    clearVideoData.IsEnabled = true;
                }
            }
            this.Items.Add(clearVideoData);

            Separator videoOp2Sep = new Separator();

            this.Items.Add(videoOp2Sep);

            MenuItem deleteNodeMenuItem = new MenuItem();

            deleteNodeMenuItem.Header = "Delete Node";
            deleteNodeMenuItem.Click += new RoutedEventHandler(deleteNodeMenuItem_Click);
            this.Items.Add(deleteNodeMenuItem);

            Separator copyOpSep = new Separator();

            this.Items.Add(copyOpSep);

            MenuItem cloneMenuItem = new MenuItem();

            cloneMenuItem.Header = "Clone";
            cloneMenuItem.Click += new RoutedEventHandler(cloneMenuItem_Click);
            this.Items.Add(cloneMenuItem);

            MenuItem copyMenuItem = new MenuItem();

            copyMenuItem.Header = "Copy";
            copyMenuItem.Click += new RoutedEventHandler(copyMenuItem_Click);
            this.Items.Add(copyMenuItem);

            Separator propertiesSep = new Separator();

            this.Items.Add(propertiesSep);

            MenuItem propertiesMenuItem = new MenuItem();

            propertiesMenuItem.Header = "Properties...";
            propertiesMenuItem.Click += new RoutedEventHandler(propertiesMenuItem_Click);
            this.Items.Add(propertiesMenuItem);

            Separator sendSep = new Separator();

            this.Items.Add(sendSep);

            MenuItem sendMenuItem = new MenuItem();

            sendMenuItem.Header = "Send to Web Part Connection";
            sendMenuItem.Click += new RoutedEventHandler(sendMenuItem_Click);
            this.Items.Add(sendMenuItem);
        }