00001 /****************************************************************************** 00002 * Název projektu: Aplet pro demonstraci Boyerova-Mooreova algoritmu 00003 * Balíček: boyermooredemo 00004 * Soubor: ZmenaZobrazeni.java 00005 * Datum: 14.4.2008 00006 * Poslední změna: 18.4.2008 00007 * Autor: Jaroslav Dytrych xdytry00 00008 * 00009 * Popis: Třída pro uchování informací o změnách zobrazení při vizualizaci. 00010 * Uchovává i informace pro vrácení každého kroku pro zpětné krokování. 00011 * 00012 ******************************************************************************/ 00013 00014 /** 00015 * @file ZmenaZobrazeni.java 00016 * 00017 * @brief Třída ZmenaZobrazeni - uchování informací o změnách zobrazení při vizualizaci 00018 */ 00019 00020 package boyermooredemo; 00021 00022 import java.awt.Color; 00023 00024 /** 00025 * Třída pro uchování informací o změnách zobrazení při vizualizaci 00026 * 00027 * Uchovává i informace pro vrácení každého kroku pro zpětné krokování. 00028 * 00029 * @brief Uchování informací o změnách zobrazení při vizualizaci 00030 */ 00031 public class ZmenaZobrazeni { 00032 public int cisloKroku = 0; // číslo kroku, ke kterému změna patří 00033 public int operace = 0; // udává operaci a typ prvku, který se bude měnit 00034 public int tabulka = 0; // číslo tabulky 00035 public int radek = 0; // řádek tabulky nebo počet řádků při změně rozměrů 00036 public int sloupec = 0; // sloupec tabulky nebo počet sloupců při změně rozměrů 00037 public String novyObsah = null; // nový obsah buňky v tabulce nebo políčka s proměnnou 00038 public String puvodniObsah = null; // obsah buňky tabulky nebo políčka s proměnnou před změnou 00039 public Color barvaTextu = null; // nová barva buňky v tabulce 00040 public Color barvaPozadi = null; // nová barva pozadí buňky v tabulce 00041 public Color puvodniBarvaTextu = null; // barva buňky v tabulce před změnou 00042 public Color puvodniBarvaPozadi = null; // barva pozadí buňky v tabulce před změnou 00043 public int smer = 0; // směr posuvu řádku v tabulce 00044 public int pocet = 0; // počet posuvů řádku v tabulce 00045 public int puvodneRadku = 0; // počet řádků v tabulce před změnou velikosti 00046 public int puvodneSloupcu = 0; // počet sloupců v tabulce před změnou velikosti 00047 public int cislo = 0; // dle operace (číslo bloku / řádku / proměnné / textu) 00048 public int puvodniCislo = 0; // číslo před změnou 00049 00050 /** 00051 * Konstruktor pro objekt s informacemi o změně hodnoty v buňce tabulky 00052 * 00053 * @param krok Číslo kroku, ke kterému změna patří 00054 * @param operaceZ Prováděná operace 00055 * @param tabulkaB Tabulka, v níž se buňka nachází 00056 * @param radekB Řádek, v němž se buňka nachází 00057 * @param sloupecB Sloupec, v němž se buňka nachází 00058 * @param novyObsahB Nový obsah buňky 00059 */ 00060 public ZmenaZobrazeni(int krok, int operaceZ, int tabulkaB, 00061 int radekB, int sloupecB, String novyObsahB) 00062 { 00063 // uložení hodnot do proměnných třídy 00064 cisloKroku = krok; 00065 operace = operaceZ; 00066 tabulka = tabulkaB; 00067 radek = radekB; 00068 sloupec = sloupecB; 00069 novyObsah = novyObsahB; 00070 } 00071 00072 /** 00073 * Konstruktor pro objekt s informacemi o změně barvy buňky tabulky 00074 * 00075 * @param krok Číslo kroku, ke kterému změna patří 00076 * @param operaceZ Prováděná operace 00077 * @param tabulkaB Tabulka, v níž se buňka nachází 00078 * @param radekB Řádek, v němž se buňka nachází 00079 * @param sloupecB Sloupec, v němž se buňka nachází 00080 * @param barvaTextuB Nová barva textu v buňce 00081 * @param barvaPozadB Nová barva pozadí buňky 00082 */ 00083 public ZmenaZobrazeni(int krok, int operaceZ, int tabulkaB, 00084 int radekB, int sloupecB, 00085 Color barvaTextuB, Color barvaPozadB) 00086 { 00087 // uložení hodnot do proměnných třídy 00088 cisloKroku = krok; 00089 operace = operaceZ; 00090 tabulka = tabulkaB; 00091 radek = radekB; 00092 sloupec = sloupecB; 00093 barvaTextu = barvaTextuB; 00094 barvaPozadi = barvaPozadB; 00095 } 00096 00097 /** 00098 * Konstruktor pro objekt s informacemi o posuvu řádku tabulky 00099 * 00100 * @param krok Číslo kroku, ke kterému změna patří 00101 * @param operaceZ Prováděná operace 00102 * @param tabulkaP Tabulka, v níž se bude posouvat řádek 00103 * @param radekP Posouvaný řádek 00104 * @param smerP Směr posuvu 00105 * @param pocetP Počet posuvů 00106 */ 00107 public ZmenaZobrazeni(int krok, int operaceZ, int tabulkaP, int radekP, 00108 int smerP, int pocetP) 00109 { 00110 // uložení hodnot do proměnných třídy 00111 cisloKroku = krok; 00112 operace = operaceZ; 00113 tabulka = tabulkaP; 00114 radek = radekP; 00115 smer = smerP; 00116 pocet = pocetP; 00117 } 00118 00119 /** 00120 * Konstruktor pro objekt s informacemi o změně rozměrů tabulky 00121 * 00122 * @param krok Číslo kroku, ke kterému změna patří 00123 * @param operaceZ Prováděná operace 00124 * @param tabulkaZ Tabulka, jejíž rozměry se mají měnit 00125 * @param radku Nový počet řádků tabulky 00126 * @param sloupcu Nový počet sloupců tabulky 00127 */ 00128 public ZmenaZobrazeni(int krok, int operaceZ, int tabulkaZ, int radku, int sloupcu) 00129 { 00130 // uložení hodnot do proměnných třídy 00131 cisloKroku = krok; 00132 operace = operaceZ; 00133 tabulka = tabulkaZ; 00134 radek = radku; 00135 sloupec = sloupcu; 00136 } 00137 00138 /** 00139 * Konstruktor pro objekt pro uchování informací o změně hodnoty proměnné 00140 * nebo popisku 00141 * 00142 * @param krok Číslo kroku, ke kterému změna patří 00143 * @param operaceZ Prováděná operace 00144 * @param cisloP Číslo proměnné nebo popisku 00145 * @param hodnotaP Nová hodnota proměnné nebo popisku v řetězci 00146 */ 00147 public ZmenaZobrazeni(int krok, int operaceZ, int cisloP, String hodnotaP) 00148 { 00149 // uložení hodnot do proměnných třídy 00150 cisloKroku = krok; 00151 operace = operaceZ; 00152 cislo = cisloP; 00153 novyObsah = hodnotaP; 00154 } 00155 00156 /** 00157 * Konstruktor pro objekt pro uchování informací o: 00158 * - výměně bloku v panelu s algoritmem 00159 * - změně zvýrazněného řádku v poli s algoritmem 00160 * - změně obsahu pole s nápovědou 00161 * 00162 * @param krok Číslo kroku, ke kterému změna patří 00163 * @param operaceZ Prováděná operace 00164 * @param noveCislo 00165 */ 00166 public ZmenaZobrazeni(int krok, int operaceZ, int noveCislo) 00167 { 00168 // uložení hodnot do proměnných třídy 00169 cisloKroku = krok; 00170 operace = operaceZ; 00171 cislo = noveCislo; 00172 } 00173 } // public class ZmenaZobrazeni 00174 00175 /*** Konec souboru ZmenaZobrazeni.java ***/