/// <summary> /// Obsluha události při kliknutí na konkrétní blok reprezentující 1 záznam na stránce. /// </summary> /// <param name="sender">Vybraný objekt</param> /// <param name="e">Vyvolaná událost</param> private void GrafZaznam_MouseDown(object sender, MouseButtonEventArgs e) { // Převedení zvoleného objektu zpět na StackPanel StackPanel blok = sender as StackPanel; // Barevné vyznačení vybraného objektu blok.Background = Brushes.OrangeRed; // Zrušení barevného vyznačení předchozího vybraného objektu OznacenyBlok.Background = Controller.BarvaPozadi; // Uložení nově označeného objektu do pomocné proměnné pro možnost následného zrušení jeho označení při označení jiného objektu OznacenyBlok = blok; // Odstranění prefixu "obr" z názvu bloku string IndexZaznamu = blok.Name.Substring(3); // Identifikace záznamu na základě indexu objektu -> Zjištění o jaký záznam se jedná a označení zvoleného záznamu Controller.VyberZaznam(ZaznamyNaJedneStrance[(int)Validace.NactiCislo(IndexZaznamu)]); // V případě dvojkliku se vyvolá okno pro úpravu vybraného záznamu if (e.ClickCount > 1) { // Otevření okna pro úpravu záznamu Controller.OtevriOknoPridatUpravitZaznam(0); // Aktualizace vykreslení seznamu záznamů AktualizujVykreslovanouStranu(); } }
/// <summary> /// Událost vyvolaná při pohybu kolečka myši pro celou zobrazenou stránku. /// </summary> /// <param name="sender">Vybraný objekt</param> /// <param name="e">Vyvolaná událost</param> private void Stranka_MouseWheel(object sender, MouseWheelEventArgs e) { // Převedení vybraného objektu zpět na StackPanel StackPanel stranka = sender as StackPanel; // Odstranění prefixu "str" z názvu bloku string IndexStrany = stranka.Name.Substring(3); // Identifikace aktuálně vykreslené strany seznamu na základě čísla uloženého v názvu StackPanelu int AktualniStranka = (int)Validace.NactiCislo(IndexStrany); // Pokud je vykreslena první stránka seznamu a uživatel pohne kolečkem myši nahoru, nic se nestane if (AktualniStranka == 0 && (e.Delta > 0)) { return; } // Pokud je vykreslena první stránka seznamu a uživatel pohne kolečkem myši dolů, // změní se číslo vykreslované stránky a aktualizuje se vykreslení (vykreslí se nová stránka) else if (AktualniStranka == 0 && (e.Delta <= 0)) { CisloStranky++; AktualizujVykreslovanouStranu(); return; } // Pokud je vykreslena poslední stránka seznamu a uživatel pohne kolečkem myši dolů, nic se nestane if ((AktualniStranka + 1) == MaximalniPocetStran && (e.Delta <= 0)) { return; } // Pokud je vykreslena poslední stránka seznamu a uživatel pohne kolečkem myši nahorů, // změní se číslo vykreslované stránky a aktualizuje se vykreslení (vykreslí se nová stránka) else if ((AktualniStranka + 1) == MaximalniPocetStran && (e.Delta > 0)) { CisloStranky--; AktualizujVykreslovanouStranu(); return; } // Pokud uživatel pohnul kolečkem myši nahorů vykreslí se nová stránka v reakci na změnu čísla stránky if (e.Delta > 0) { CisloStranky--; AktualizujVykreslovanouStranu(); return; } // Pokud uživatel pohnul kolečkem myši dolů vykreslí se nová stránka v reakci na změnu čísla stránky else if (e.Delta <= 0) { CisloStranky++; AktualizujVykreslovanouStranu(); return; } }
/// <summary> /// Obsluha udáosti vyvolané při zadávání hodnoty do textového bloku. /// Při zadávání se zadané číslo načítá do interní proměnné pro následné zpracování. /// </summary> /// <param name="sender">Zvolený objekt</param> /// <param name="e">Vyvolaná událost</param> private void PrijemVydajTextBox_TextChanged(object sender, TextChangedEventArgs e) { try { if (PrijemVydajTextBox.Text.Length > 0) { PrijemVydaj_Hodnota = Validace.NactiCislo(PrijemVydajTextBox.Text); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Warning); // Zobrazení do boxu načtenou hodnotu (smazání neplatného obsahu) PrijemVydajTextBox.Text = PrijemVydaj_Hodnota.ToString(); } }
/// <summary> /// Obsluha události při kliknutí na konkrétní blok reprezentující 1 položku na stránce. /// </summary> /// <param name="sender">Vybraný objekt</param> /// <param name="e">Vyvolaná událost</param> private void GrafPolozka_MouseDown(object sender, MouseButtonEventArgs e) { // Převedení zvoleného objektu zpět na StackPanel StackPanel blok = sender as StackPanel; // Barevné vyznačení vybraného objektu blok.Background = Brushes.Orange; // Zrušení barevného vyznačení předchozího vybraného objektu OznacenyBlok.Background = Controller.BarvaPozadi; // Uložení nově označeného objektu do pomocné proměnné pro možnost následného zrušení jeho označení při označení jiného objektu OznacenyBlok = blok; // Odstranění prefixu "obr" z názvu bloku string IndexPolozky = blok.Name.Substring(3); // Identifikace položky na základě indexu objektu -> Zjištění o jakou položku se jedná (přiřazení do VybranaPolozka) Controller.VyberPolozku(PolozkyNaJedneStrance[(int)Validace.NactiCislo(IndexPolozky)]); }
/// <summary> /// Načtení číselné hodnoty do interní proměnné. /// <param name="sender">Zvolený objekt</param> /// <param name="e">Vyvolaná událost</param> private void HodnotaMIN_TextBox_TextChanged(object sender, TextChangedEventArgs e) { try { if (HodnotaMIN_TextBox.Text.Length > 0) { Hodnota_MIN = Validace.NactiCislo(HodnotaMIN_TextBox.Text); } else { Hodnota_MIN = 0; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Warning); // Zobrazení hodnoty z interní proměnné (smazání neplatného obsahu) HodnotaMIN_TextBox.Text = Hodnota_MIN.ToString(); } }
/// <summary> /// Načtení číselné hodnoty do interní proměnné. /// </summary> /// <param name="sender">Zvolený objekt</param> /// <param name="e">Vyvolaná událost</param> private void PolozkyMAXTextBox_TextChanged(object sender, TextChangedEventArgs e) { try { if (PolozkyMAXTextBox.Text.Length > 0) { PocetPolozek_MAX = (int)Validace.NactiCislo(PolozkyMAXTextBox.Text); } else { PocetPolozek_MAX = 0; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Warning); // Zobrazení hodnoty z interní proměnné (smazání neplatného obsahu) PolozkyMAXTextBox.Text = PocetPolozek_MAX.ToString(); } }
/// <summary> /// Obsluha události při najetí kurzoru myši na daný blok v seznamu. /// </summary> /// <param name="sender">Vybraný objekt</param> /// <param name="e">Vyvolaná udáost</param> private void GrafZaznam_MouseMove(object sender, MouseEventArgs e) { // Ošetření pro případ že infobulbina není určena k vykreslení if (InfoCanvas == null) { return; } // Vykreslení informační bubliny if (InfoVykresleno == 0) { // Převedení zvoleného objektu zpět na StackPanel StackPanel blok = sender as StackPanel; // Odstranění prefixu "obr" z názvu bloku string IndexZaznamu = blok.Name.Substring(3); // Identifikace záznamu na základě indexu objektu (Zjištění o jaký záznam se jedná) a vytvoření informační buliny daného záznamu VykresliInfoBublinu(ZaznamyNaJedneStrance[(int)Validace.NactiCislo(IndexZaznamu)]); // Nastavení příznakové proměnné pro zamezení opětovného vykreslování InfoVykresleno = 1; } }