private void PrzywróćStanAplikacji() { MagazynZmian.Przywróć(); }
private void CofnijStanAplikacji() { MagazynZmian.Cofnij(); }
private void DodajDziałanie(ManipulacjaKlockiem manipulacja) { MagazynZmian.DodajDziałanie(manipulacja); }
public Główny() { Semafor = new Semafor(); MagazynZmian = new MagazynZmian(); Konsola = new Konsola(); KomendaCofnięciaStanuAplikacji = new Komenda(CofnijStanAplikacji); KomendaDodaniaUsunięciaPunktuPrzerwania = new Komenda(DodajUsuńPunktPrzerwania); KomendaDodaniaZmiennej = new Komenda(DodajZmienną); KomendaKontynuacjiWykonywania = new Komenda(KontynuujWykonywanie); KomendaKopiowaniaKlocka = new Komenda(KopiujKlocek); KomendaPrzejęciaSkupienia = new Komenda(PrzejmijSkupienie); KomendaPrzywróceniaStanuAplikacji = new Komenda(PrzywróćStanAplikacji); KomendaStartuProgramu = new Komenda(RozpocznijWykonywanieProgramu); KomendaUsunięciaKlockaPionowego = new Komenda(UsuńKlocekPionowy); KomendaUsunięciaKlockaZwracającegoWartość = new Komenda(UsuńKlocekZwracającyWartość); KomendaUsunięciaZmiennej = new Komenda(UsuńZmienną); KomendaWycięciaKlocka = new Komenda(WytnijKlocek); KomendaWykonaniaNastępnegoKroku = new Komenda(WykonajNastępnyKrok); KomendaZamknięciaOkna = new Komenda(ZamknijOkno); KomendaZatrzymaniaDebugowania = new Komenda(ZatrzymajDebugowanie); KomendaZwinięciaRozwinięciaKlockaZZawartością = new Komenda(ZwińRozwińKlocekZZawartością); ObsługującyPrzeciąganieZPrzybornika = new ObsługującyPrzeciąganieZPrzybornika(); ObsługującyPrzenoszenieKlockówPionowych = new ObsługującyPrzenoszenieKlockówPionowych(); ObsługującyPrzenoszenieKlockówZwracającychWartość = new ObsługującyPrzenoszenieKlockówZwracającychWartość(); ObsługującyUpuszczanieKlockówPionowych = new ObsługującyUpuszczanieKlockówPionowych(DodajDziałanie); ObsługującyUpuszczanieKlockówZwracającychWartość = new ObsługującyUpuszczanieKlockówZwracającychWartość(DodajDziałanie); Powiększenie = 1; RozpoczęcieProgramu = new RozpoczęcieProgramu { Semafor = Semafor }; Schowek = new ObservableCollection <Klocek> { null }; Zmienne = new ObservableCollection <Zmienna>(); Semafor.SemaforOpuszczony += _semafor_SemaforOpuszczony; CechyLiczby = new OpcjaZwracającaWartośćNaPodstawieParametru <bool, double>[] { new Parzystość(), new Nieparzystość(), new Całkowitość(), new Dodatniość(), new Ujemność() }; DziałaniaLogiczne = new OpcjaZwracającaWartośćNaPodstawieDwóchParametrów <bool, bool, bool>[] { new Koniunkcja(), new Alternatywa() }; DziałaniaMatematyczne = new OpcjaZwracającaWartośćNaPodstawieDwóchParametrów <double, double, double>[] { new Dodawanie(), new Odejmowanie(), new Mnożenie(), new Dzielenie(), new Potęgowanie(), new Modulo() }; DziałaniaMatematyczneNaLiście = new OpcjaZwracającaWartośćNaPodstawieParametru <double, ZmiennaTypuListowego>[] { new SumaListy(), new MinimumListy(), new MaksimumListy(), new ŚredniaListy() }; FunkcjeMatematyczne = new OpcjaZwracającaWartośćNaPodstawieParametru <double, double>[] { new PierwiastekKwadratowy(), new WartośćBezwzględna(), new WartośćOdwrotna(), new LogarytmNaturalny(), new LogarytmOPodstawie10(), new FunkcjaEksponencjalna(), new PotęgaOPodstawie10() }; FunkcjeTrygonometryczne = new OpcjaZwracającaWartośćNaPodstawieParametru <double, double>[] { new Sinus(), new Cosinus(), new Tangens(), new ArcusSinus(), new ArcusCosinus(), new ArcusTangens() }; ModyfikacjeElementuListy = new TypUstawieniaElementuListy[] { new UstawienieElementu(), new WstawienieElementu() }; ObcinaniaSpacji = new OpcjaZwracającaWartośćNaPodstawieParametru <object, object>[] { new ObcinanieSpacjiZObuStron(), new ObcinanieSpacjiZLewejStrony(), new ObcinanieSpacjiZPrawejStrony() }; PobieraniaTekstu = new PobieranieTekstu[] { new PobieranieTekstuTekstowego(), new PobieranieTekstuLiczbowego() }; PorządkiSortowania = new PorządekSortowania[] { new SortowanieRosnąco(), new SortowanieMalejąco() }; SortowaniaListy = new SposóbSortowaniaListy[] { new SortowanieLiczbowe(), new SortowanieAlfabetyczne() }; StałeLogiczne = new OpcjaZwracającaWartość <bool>[] { new Prawda(), new Fałsz() }; StałeMatematyczne = new OpcjaZwracającaWartość <double>[] { new Pi(), new LiczbaE(), new LiczbaPhi(), new PierwiastekZDwóch(), new PierwiastekZJednejDrugiej(), new Nieskończoność() }; SzukaniaTekstuWTekście = new OpcjaZwracającaWartośćNaPodstawieDwóchParametrów <double, object, object>[] { new PierwszeWystąpienieTekstuWTekście(), new OstatnieWystąpienieTekstuWTekście() }; WielkościLiter = new OpcjaZwracającaWartośćNaPodstawieParametru <object, object>[] { new WielkieLitery(), new MałeLitery() }; WystąpieniaElementuNaLiście = new OpcjaZwracającaWartośćNaPodstawieDwóchParametrów <double, ZmiennaTypuListowego, object>[] { new PierwszeWystąpienie(), new OstatnieWystąpienie() }; ZaokrąglaniaLiczby = new OpcjaZwracającaWartośćNaPodstawieParametru <double, double>[] { new Zaokrąglanie(), new ZaokrąglanieWGórę(), new ZaokrąglanieWDół() }; ZnakiPorównania = new OpcjaZwracającaWartośćNaPodstawieDwóchParametrów <bool, object, object>[] { new Równy(), new Nierówny(), new Mniejszy(), new MniejszyRówny(), new Większy(), new WiększyRówny() }; KlockiDotycząceList = new Klocek[] { new DodajDoListy(), new UsuńElementZListy(), new ModyfikujElementListy { WybranyTypModyfikacjiListy = ModyfikacjeElementuListy.First() }, new ElementListyOIndeksie(), new IndeksElementuNaLiście { WybranaOpcja = WystąpieniaElementuNaLiście.First() }, new LiczbaElementówNaLiście(), new ListaPowtórzonegoElementu(), new ListaZElementów(), new Podlista(), new PosortowanaLista { WybranyPorządekSortowania = PorządkiSortowania.First(), WybranySposóbSortowania = SortowaniaListy.First() }, new PustaLista(), new PustośćListy() }; KlockiDotyczącePętli = new Klocek[] { new WykonajDlaKażdegoElementu(), new WykonujDopóki(), new WykonujOdliczając(), new PomińIterację(), new PrzerwijPętlę() }; KlockiDotycząceZmiennych = new Klocek[] { new UstawZmienną(), new WartośćZmiennej() }; KlockiLogiczne = new Klocek[] { new WykonajJeżeli(), new Negacja(), new Porównanie { WybranaOpcja = ZnakiPorównania.First() }, new StałaLogiczna { WybranaOpcja = StałeLogiczne.First() }, new WarunekZłożony { WybranaOpcja = DziałaniaLogiczne.First() } }; KlockiMatematyczne = new Klocek[] { new ZmieńWartośćZmiennejOLiczbę(), new FunkcjaMatematyczna { WybranaOpcja = FunkcjeMatematyczne.First() }, new FunkcjaTrygonometryczna { WybranaOpcja = FunkcjeTrygonometryczne.First() }, new LosowaLiczbaCałkowitaZZakresu(), new LosowyUłamek(), new PodzielnośćLiczbyPrzezLiczbę(), new StałaLiczbowa(), new StałaMatematyczna { WybranaOpcja = StałeMatematyczne.First() }, new WynikDziałania { WybranaOpcja = DziałaniaMatematyczne.First() }, new WynikDziałaniaMatematycznegoNaLiście { WybranaOpcja = DziałaniaMatematyczneNaLiście.First() }, new WystępowanieCechyLiczby { WybranaOpcja = CechyLiczby.First() }, new ZaokrąglonaLiczba { WybranaOpcja = ZaokrąglaniaLiczby.First() }, }; KlockiTekstowe = new Klocek[] { new DodajTekst(), new Wyświetl { Konsola = Konsola }, new DługośćTekstu(), new IndeksTekstuWTekście { WybranaOpcja = SzukaniaTekstuWTekście.First() }, new LiteraTekstu(), new Napis(), new PobranyTekst { Konsola = Konsola, WybranaOpcja = PobieraniaTekstu.First() }, new Podciąg(), new PustośćTekstu(), new TekstOWielkościLiter { WybranaOpcja = WielkościLiter.First() }, new TekstZObciętymiSpacjami { WybranaOpcja = ObcinaniaSpacji.First() } }; }