Exemple #1
0
        private void btnCut_Click(object sender, RoutedEventArgs e)
        {
            _numberOfPastes = 0;
            if (_selectedFigures.Count != 0)
            {
                nothingToPaste = false;
                cutOrCopy      = cutOrCopyMode.cut;

                cuttedOrCopiedArcs.Clear();
                cuttedOrCopiedFigures.Clear();

                cuttedOrCopiedFigures.AddRange(_selectedFigures);
                cuttedOrCopiedArcs.AddRange(_selectedArcs);

                List <PetriNetNode> cuttedF = new List <PetriNetNode>();
                List <VArc>         cuttedA = new List <VArc>();
                cuttedF.AddRange(cuttedOrCopiedFigures);
                cuttedA.AddRange(cuttedOrCopiedArcs);

                List <VArc> impl = new List <VArc>();
                AddThisArcsToListOfCuttedArcs(cuttedOrCopiedFigures, impl);

                List <PetriNetNode> cutF = new List <PetriNetNode>();
                List <VArc>         cutA = new List <VArc>();
                cutF.AddRange(cuttedOrCopiedFigures);
                cutA.AddRange(impl);

                UnselectFigures();//(selectedFigures, selectedArcs);

                List <PetriNetNode> old = new List <PetriNetNode>();
                foreach (PetriNetNode figure in cutF)
                {
                    PetriNetNode f = PetriNetNode.Create();
                    f.CoordX = figure.CoordX;
                    f.CoordY = figure.CoordY;
                    f.Id     = figure.Id;
                    old.Add(f);
                }

                CutFigures(cutF, cutA);

                CutCommand newCommand = new CutCommand(cuttedF, old, cuttedA, impl);
                Command.ExecutedCommands.Push(newCommand);
                Command.CanceledCommands.Clear();

                HideAllProperties();
            }
            else
            {
                nothingToPaste = true;
            }

            TurnOnSelectMode();
            btnCut.Focusable = false;
        }
Exemple #2
0
        private void btnCopy_Click(object sender, RoutedEventArgs e)
        {
            if (_selectedFigures.Count != 0)
            {
                nothingToPaste = false;
                cutOrCopy      = cutOrCopyMode.copy;

                cuttedOrCopiedArcs.Clear();
                cuttedOrCopiedFigures.Clear();

                cuttedOrCopiedFigures.AddRange(_selectedFigures);
                cuttedOrCopiedArcs.AddRange(_selectedArcs);
            }
            else
            {
                nothingToPaste = true;
            }

            TurnOnSelectMode();
        }