Esempio n. 1
0
        public void PerformAction(DocumentWorkspace documentWorkspace)
        {
            HistoryMemento memento;

            if (documentWorkspace.Selection.IsEmpty)
            {
                memento = null;
            }
            else
            {
                CopyToClipboardAction action = new CopyToClipboardAction(documentWorkspace);
                if (!action.PerformAction())
                {
                    memento = null;
                }
                else
                {
                    using (new PushNullToolMode(documentWorkspace))
                    {
                        HistoryMemento         memento2 = new EraseSelectionFunction().Execute(documentWorkspace);
                        HistoryMemento[]       actions  = new HistoryMemento[] { memento2 };
                        CompoundHistoryMemento memento3 = new CompoundHistoryMemento(StaticName, StaticImage, actions);
                        memento = memento3;
                    }
                }
            }
            if (memento != null)
            {
                documentWorkspace.History.PushNewMemento(memento);
            }
        }
Esempio n. 2
0
        public void PerformAction(DocumentWorkspace documentWorkspace)
        {
            HistoryMemento finalHM;

            if (documentWorkspace.Selection.IsEmpty)
            {
                finalHM = null;
            }
            else
            {
                CopyToClipboardAction ctca = new CopyToClipboardAction(documentWorkspace);
                bool result = ctca.PerformAction();

                if (!result)
                {
                    finalHM = null;
                }
                else
                {
                    using (new PushNullToolMode(documentWorkspace))
                    {
                        EraseSelectionFunction esa = new EraseSelectionFunction();
                        HistoryMemento         hm  = esa.Execute(documentWorkspace);

                        CompoundHistoryMemento chm = new CompoundHistoryMemento(
                            StaticName,
                            StaticImage,
                            new HistoryMemento[] { hm });

                        finalHM = chm;
                    }
                }
            }

            if (finalHM != null)
            {
                documentWorkspace.History.PushNewMemento(finalHM);
            }
        }