コード例 #1
0
ファイル: PlayerScreen.cs プロジェクト: jfpk/kinoveaIDS
        private void AddDrawingWithMemento(Guid managerId, AbstractDrawing drawing)
        {
            // Temporary function.
            // Once the player screen ui uses the viewport, this event handler should be removed.
            // The code here should also be in the metadata manipulator until this function is removed.
            HistoryMemento memento = new HistoryMementoAddDrawing(frameServer.Metadata, managerId, drawing.Id, drawing.ToolDisplayName);

            frameServer.Metadata.AddDrawing(managerId, drawing);
            historyStack.PushNewCommand(memento);
        }
コード例 #2
0
        public override HistoryMemento PerformUndo()
        {
            HistoryMemento redoMemento = new HistoryMementoAddDrawing(metadata, managerId, drawingId, drawingName);

            redoMemento.CommandName = commandName;

            AbstractDrawing drawing = DrawingSerializer.DeserializeMemento(data, metadata);

            metadata.AddDrawing(managerId, drawing);
            return(redoMemento);
        }
コード例 #3
0
        private void AddDrawing(PointF imagePoint, int keyframeIndex, int timestampPerFrame, ImageToViewportTransformer transformer)
        {
            AbstractDrawing drawing    = screenToolManager.ActiveTool.GetNewDrawing(imagePoint, keyframeIndex, timestampPerFrame, transformer);
            Guid            keyframeId = metadata.GetKeyframeId(keyframeIndex);

            HistoryMementoAddDrawing memento = new HistoryMementoAddDrawing(metadata, keyframeId, drawing.Id, drawing.ToolDisplayName);

            metadata.AddDrawing(keyframeId, drawing);
            metadata.HistoryStack.PushNewCommand(memento);

            // Special cases
            // TODO: implement the event handler to metadata DrawingAdded and finish the label in the handler.
            if (screenToolManager.ActiveTool == ToolManager.Tools["Label"])
            {
                if (LabelAdded != null)
                {
                    LabelAdded(this, new DrawingEventArgs(drawing, keyframeId));
                }

                ((DrawingText)drawing).SetEditMode(true, transformer);
            }
        }