/// <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;
            }
        }
예제 #3
0
        /// <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();
            }
        }
예제 #4
0
        /// <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)]);
        }
예제 #5
0
        /// <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;
            }
        }