Пример #1
0
        public void Drop(IDropInfo dropInfo)
        {
            ZawartośćKlockaPionowegoZZawartością docelowaKolekcja = (ZawartośćKlockaPionowegoZZawartością)dropInfo.TargetCollection;
            KlocekPionowy upuszczanyKlocek = (KlocekPionowy)dropInfo.Data;

            upuszczanyKlocek.Rodzic       = docelowaKolekcja.KlocekPionowyZZawartością;
            upuszczanyKlocek.ZPrzybornika = false;
            int       indeksDocelowy                         = dropInfo.InsertIndex;
            IDragInfo informacjeOPrzeciągnięciu              = dropInfo.DragInfo;
            ZawartośćKlockaPionowegoZZawartością źródło      = informacjeOPrzeciągnięciu.SourceCollection as ZawartośćKlockaPionowegoZZawartością;
            ManipulacjaKlockiemPionowym          manipulacja = new ManipulacjaKlockiemPionowym(ManipulacjeKlockiem.Dodanie, upuszczanyKlocek)
            {
                IndeksDocelowy = indeksDocelowy,
                Cel            = docelowaKolekcja
            };

            if (źródło != null)
            {
                manipulacja.IndeksŹródłowy = informacjeOPrzeciągnięciu.SourceIndex;
                manipulacja.Źródło         = źródło;
            }

            docelowaKolekcja.Insert(indeksDocelowy, upuszczanyKlocek);
            _metodaZachowującaStanAplikacji(manipulacja);
        }
Пример #2
0
 public WykonajJeżeli() : base(typeof(bool))
 {
     AlternatywnaZawartość = new ZawartośćKlockaPionowegoZZawartością {
         KlocekPionowyZZawartością = this
     };
     Kolor = Kolory.Logika;
 }
Пример #3
0
        private void UsuńKlocekPionowy(object obiektKlocka)
        {
            KlocekPionowy             usuwanyKlocek             = (KlocekPionowy)obiektKlocka;
            KlocekPionowyZZawartością klocekPionowyZZawartością = usuwanyKlocek.Rodzic;

            if (klocekPionowyZZawartością != null)
            {
                ZawartośćKlockaPionowegoZZawartością miejsceUmieszczenia = klocekPionowyZZawartością.Zawartość;
                int indeks = miejsceUmieszczenia.IndexOf(usuwanyKlocek);

                if ((indeks == -1) && klocekPionowyZZawartością is WykonajJeżeli)
                {
                    miejsceUmieszczenia = ((WykonajJeżeli)klocekPionowyZZawartością).AlternatywnaZawartość;
                    indeks = miejsceUmieszczenia.IndexOf(usuwanyKlocek);
                }

                miejsceUmieszczenia.RemoveAt(indeks);
                DodajDziałanie(new ManipulacjaKlockiemPionowym(ManipulacjeKlockiem.Usunięcie, usuwanyKlocek)
                {
                    IndeksDocelowy = indeks,
                    Cel            = miejsceUmieszczenia
                });
            }
        }