///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /* Obslužné metody pro události okna Prihlaseni */ /// <summary> /// Obslužná metoda, která se spustí při vyvolání událost kliknutí na tlačítko Přihlásit v okně Prihlaseni. /// Metoda provede přihlášení uživatele do aplikace na základě uživatelského jména a hesla. /// </summary> /// <param name="Jmeno">Jméno uživatele</param> /// <param name="Heslo">Heslo uživatele</param> /// <returns>TRUE - Přihlášení proběhlo úspěšně, FALSE - Přihlášení se nezdařilo</returns> public bool PrihlasitWindow_PrihlaseniButtonClick(string Jmeno, string Heslo) { // Kontrola zda je zadáno jméno if (!(Jmeno.Length > 0)) { throw new ArgumentException("Zadejte jméno!"); } // Kontrola zda je zadáno heslo if (!(Heslo.Length > 0)) { throw new ArgumentException("Zadejte heslo!"); } // Přihlášení uživatele do aplikace bool Volba = Controller.PrihlasUzivatele(Jmeno, Heslo); // Kontrola přihlášení uživatele if (Controller.VratJmenoPrihlasenehoUzivatele().Length > 0) { return(true); } else { return(false); } }
/// <summary> /// Aktualizace vykreslení hlavního okna aplikace (obnova úvodního zobrazení). /// </summary> public void AktualizujUvodniObrazovku() { // Pokud není uživatel přihlášen, aktualizace vykreslení se neprovede if (!(Controller.VratJmenoPrihlasenehoUzivatele().Length > 0)) { return; } // Nastavení poznámkového bloku Controller.NastavPoznamkovyBlok(); // Zobrazení seznamu záznamů ZobrazSeznamZaznamu(); // Zobrazení informačního bloku ZobrazBlokInformaciMesice(); // Vykreslení postranních MENU se skrytými ovládacími prvky Controller.VykresliPostranniMenuHlavnihoOkna(); }
/// <summary> /// Konstruktor třídy pro správu hlavního okna aplikace. /// Při úvodní inicializaci hlavního okna je vytvořena instance kontroléru aplikace, který dále spravuje funkci celé aplikace včetně tohoto okna. /// </summary> public MainWindow() { // Inicializace hlavního okna InitializeComponent(); // Inicializace instance třídy pro správu grafického zobrazení seznamu záznamů GrafickyZpracovaneZaznamy = new GrafickeZaznamy(UvodniSeznamZaznamuCanvas, InformacniBublinaCanvas); // Vytvoření kontroléru pro řízení aplikace Controller = SpravceFinanciController.VratInstanciControlleru(); Controller.UvodniNastaveniKontroleru(this); // Úvodní nastavení zobrazení při spuštění aplikace Controller.NastavUvodniZobrazeni(); // Aktualizace vykreslení hlavního okna při první spuštění po přihlášení uživatele if (Controller.VratJmenoPrihlasenehoUzivatele().Length > 0) { AktualizujUvodniObrazovku(); } }
/// <summary> /// Vykreslení levého postranního MENU. /// </summary> /// <param name="PlatnoLevehoMENU">Plátno pro vykreslení rozbalovacího postranního menu</param> /// <param name="VyskaPostrannihoMENU">Výška okna ve kterém je menu vykreslováno</param> /// <param name="ZobrazitOvladaciPrvky">TRUE - vykreslení rozbaleného menu včetně všech tlačítek, FALSE - vykreslení zbaleného menu</param> public void VykresliLeveMENU(Canvas PlatnoLevehoMENU, double VyskaPostrannihoMENU, bool ZobrazitOvladaciPrvky) { // Smazání obsahu plátna PlatnoLevehoMENU.Children.Clear(); // Vykreslení levého postranního MENU se zobrazenými ovládacími prvky (rozbalené menu) if (ZobrazitOvladaciPrvky) { // Přidání události pro možnost reagovat na odjetí kurzoru myši z oblasti rozbaleného postranního menu PlatnoLevehoMENU.MouseLeave += Controller.obsluhyUdalosti.LeveMENU_MouseLeave; // Vytvoření obdélníku pro vykreslení pozadí rozbaleného menu Rectangle pozadi = new Rectangle { Fill = Brushes.Green, Width = 120, Height = VyskaPostrannihoMENU }; // Vykreslení pozadí na plátno PlatnoLevehoMENU.Children.Add(pozadi); Canvas.SetLeft(pozadi, 0); Canvas.SetTop(pozadi, 0); // Vytvoření bloku pro vykreslení jména uživatele StackPanel prihlasenyUzivatel = new StackPanel { Orientation = Orientation.Vertical }; // Titulek pro jméno uživatele Label titulek = new Label { Content = "Přihlášený uživatel: ", FontSize = 12, HorizontalContentAlignment = HorizontalAlignment.Center }; // Jméno uživatele Label jmeno = new Label { Content = Controller.VratJmenoPrihlasenehoUzivatele(), FontSize = 16, FontWeight = FontWeights.Bold, Foreground = Brushes.LightGoldenrodYellow, HorizontalContentAlignment = HorizontalAlignment.Center }; // Přidání prvků do bloku a vykreslení na plátno prihlasenyUzivatel.Children.Add(titulek); prihlasenyUzivatel.Children.Add(jmeno); PlatnoLevehoMENU.Children.Add(prihlasenyUzivatel); Canvas.SetLeft(prihlasenyUzivatel, 0); Canvas.SetTop(prihlasenyUzivatel, 5); // Vytvoření tlačítka pro přidání nového záznamu Button Pridat = new Button { Content = "Přidat", Background = Brushes.DarkSalmon }; UpravTlacitkoProMENU(Pridat); // Vytvoření tlačítka pro odebrání záznamu Button Odebrat = new Button { Content = "Odebrat", Background = Brushes.Red }; UpravTlacitkoProMENU(Odebrat); // Vytvoření tlačítka pro vyhledávání záznamů Button Vyhledat = new Button { Content = "Vyhledat", Background = Brushes.DarkSalmon }; UpravTlacitkoProMENU(Vyhledat); // Vytvoření tlačítka pro zobrazení příjmů Button Prijmy = new Button { Content = "Příjmy", Background = Brushes.LimeGreen }; UpravTlacitkoProMENU(Prijmy); // Vytvoření tlačítka pro zobrazení výdajů Button Vydaje = new Button { Content = "Výdaje", Background = Brushes.Crimson }; UpravTlacitkoProMENU(Vydaje); // Vytvoření tlačítka pro zobrazení statistických grafů Button Statistika = new Button { Content = "Statistika", Background = Brushes.DarkTurquoise }; UpravTlacitkoProMENU(Statistika); // Přidání událostí pro možnost reagovat na stisk tlačítek zobrazených v levém rozbaleném postranním menu Pridat.Click += Controller.obsluhyUdalosti.PridatZaznam_Click; Odebrat.Click += Controller.obsluhyUdalosti.OdebratZaznam_Click; Vyhledat.Click += Controller.obsluhyUdalosti.Vyhledat_Click; Prijmy.Click += Controller.obsluhyUdalosti.ZobrazPrijmy_Click; Vydaje.Click += Controller.obsluhyUdalosti.ZobrazVydaje_Click; Statistika.Click += Controller.obsluhyUdalosti.Statistika_Click; // Vytvoření pomocných proměnných pro vykreslení tlačítek na plátno int VyskaTlacitka = (int)Pridat.Height; int Mezera = 15; // Vykreslení tlačítka Přidat na plátno PlatnoLevehoMENU.Children.Add(Pridat); Canvas.SetLeft(Pridat, 10); Canvas.SetTop(Pridat, 100); // Vykreslení tlačítka Odebrat na plátno PlatnoLevehoMENU.Children.Add(Odebrat); Canvas.SetLeft(Odebrat, 10); Canvas.SetTop(Odebrat, 100 + (VyskaTlacitka + Mezera)); // Vykreslení tlačítka Vyhledat na plátno PlatnoLevehoMENU.Children.Add(Vyhledat); Canvas.SetLeft(Vyhledat, 10); Canvas.SetTop(Vyhledat, 100 + 2 * VyskaTlacitka + 4 * Mezera); // Vykreslení tlačítka Příjmy na plátno PlatnoLevehoMENU.Children.Add(Prijmy); Canvas.SetLeft(Prijmy, 10); Canvas.SetTop(Prijmy, 100 + 3 * VyskaTlacitka + 7 * Mezera); // Vykreslení tlačítka Výdaje na plátno PlatnoLevehoMENU.Children.Add(Vydaje); Canvas.SetLeft(Vydaje, 10); Canvas.SetTop(Vydaje, 100 + 4 * VyskaTlacitka + 8 * Mezera); // Vykreslení tlačítka Statistika na plátno PlatnoLevehoMENU.Children.Add(Statistika); Canvas.SetLeft(Statistika, 10); Canvas.SetTop(Statistika, 100 + 5 * VyskaTlacitka + 10 * Mezera); } // Vykreslení levého postranního MENU se skrytými ovládacími prvky (zbalené menu) else { // Přidání události pro možnost reagovat na najetí kurzoru myši na oblast zbaleného postranního menu PlatnoLevehoMENU.MouseMove += Controller.obsluhyUdalosti.LeveMENU_MouseMove; // Vykreslení zbaleného postranního menu včetně popisku VykresliSkryteMENU(PlatnoLevehoMENU, VyskaPostrannihoMENU, 1); } }