(pracuje sa)
Opravená chyba pri zmene farieb výpisov textov vnútornej konzoly v rámci skôr pridanej funkčnosti nevypisovania farieb.
Skorigované správanie triedy Okno
– klávesová skratka Ctrl + W
teraz okno skrýva, aby to bolo konzistentné so systémovou skratkou Alt + F4 (vo Windows – v macOS by to bolo treba ešte dodatočne otestovať).
Opravená chyba v triede SVGPodpora
, metóde SVGPodpora.vymaž()
– metóda nemazala zoznam štýlov.
Metóda nHviezda
bola skorigovaná tak, aby pri nastavení "predvolenýTyp"
pre n < 5 počítala pomer s hodnotou p = 5.
Metóda dialóg
bola zásadne prepracovaná. S využitím novej konštanty strana
sa dajú komponenty rozmiestňovať do viacerých stĺpcov v rámci jedného dialógu. Táto naoko jednoduchá funkcia si vyžadovala úplné prepracovanie mechanizmu tvorby dialógov, ale v mnohom to uľahčí tvorbu takých dialógov, ktoré musia obsahovať väčšie množstvo komponentov.
Definícia novej konštanty strana
.
Pridanie nových metód nHviezda
a pomerHviezdy
Viaceré opravy bugov v triede Svet
(spomínam si len na metódy upravCeléČíslo
a dialóg
).
Nová metóda v triede Svet
: použiInteraktívnyRežim
.
Nová metóda v triede Plátno
: nevypisujFarby
.
Opravená chyba v triede Spojenie
, ktorá spôsobovala zlyhanie dokončenia sťahovania položiek (údaje boli prevzaté ale súbor nebol premenovaný z tvaru *.*-part na jeho skutočné meno – príčina však bola „zaujímavá“: spôsobovala to jedna zo súčastí nedávno pridanej možnosti ladenia činnosti triedy Spojenie
).
Pridané metódy okna na prenos komponentov. Pozri napríklad: Okno.prenes(tlačidlo, sem)
a Okno.jeTu(tlačidlo)
. Spolu s nimi boli pridané ekvivalentné metódy aj do prislúchajúcich komponentov. Pozri napríklad: Tlačidlo.jeV(okno)
.
Metódy prevodu celéNaRímske
a rímskeNaCelé
odteraz pracujú s písmenom N ako nulou (pričom metóda rímskeNaCelé
stále rozpoznáva aj písmeno O ako nulu – z dôvodu spätnej kompatibility – podrobnosti sú v jej opise). Pri prevode smerom na rímske je toto možné konfigurovať metódou: rímskaNula
.
Opravený bug v metódach KontextováPonuka
.zobraz()
a KontextováPonuka
.zobraz(x, y)
(mám dojem, že toto sa opravovalo už viackrát, ale možno ma pamäť klame).
Jeden regulárny výraz pomohol nájsť množstvo nezrovnalostí v dokumentácii. Popri tom bolo urobených niekoľko ďalších revízií.
Vznikla nová reakcia: zmenaFokusu
, zmenaFokusu
.
Oprava viacerých múch v triede SVGPodpora
.
V triede Plátno
pribudla nová metóda: jestvujeOznačenie
(a k nej príbuzné).
Boli pridané ďalšie možnosti komunikačného dialógu sveta; s tým súvisí pridanie metód mojeOdpovede
a odpoveďDialógu
a definícia novej konštanty návrat
.
Pridanie metódy sveta: panelVstupnéhoRiadka
, ktorá dopĺňa možnosti ovplyvňovania vstupného riadka – metóda vstupnýRiadok
bola v programovacom rámci prítomná už dlhší čas.
Pridanie novej metódy sveta: naRiadkyBezZmien
.
Oprava viacerých chýb v dokumentácii. (Preklepy, bohemizmy, preformulovanie opisu metódy novýKurzorMyši
(bol naozaj veľmi nezrozumiteľný) atď.)
Pridanie novej metódy sveta: ťahajSúbory
a s tým súvisiacej udalosti ťahanieUkončené
.
Revízia dávkového spracovania robotov s cieľom eliminácie vzniku výnimiek pri paralelnej úprave zoznamov („concurrent modification“).
Pridaná nová trieda Okno
. (V súčasnosti nie je (zďaleka) považovaná za dokončenú…)
Pridanie novej metódy lupene
Oprava chyby pri uvoľňovaní robotov – teraz sú skutočne vymazané zo všetkých vnútorných zoznamov. (Toto ostávalo nepovšimnuté prakticky od okamihu, kedy boli metódy uvoľni
implementované…)
Akutualizácia dokumentácie. Ďalšie nezaznamenané zmeny…
Bolo opravených viacero chýb (napríklad v re-inicializácii spojníc).
Boli pridané dva veľmi osožné atribúty: GRobot.svgExport
a Svet.svgExport
. Proces, ktorý majú pokrývať ešte nie je v tejto fáze doprogramovaný – chýba automatické vkladanie rastrových textúr kodovaných algoritmom Base64 (pokus o ich vloženie spôsobí výnimku), ale inak by mal byť proces relatívne úplný.
Nová metóda triedy Spojenie
: pridajObsah
.)
Pridané zapisovanie a čítanie obrázkov do/z archívu. (Pozri napr.: obrázok
.)
Oprava chyby v kreslení vlastného tvaru – počas zavádzania rozhrania Rozmer
bola pridaná nová os zmeny mierky kreslenia (čím zároveň vznikla možnosť neproporcionálnej zmeny rozmerov obrázkov); v celej triede GRobot
bola nová mierka implementovaná správne, akurát v kreslení vlastného tvaru boli osi x a y obrátené (doteraz nebol čas to otestovať – čakalo to v zozname úloh zaradených do plánu; problém bol odstránený ihneď po odhalení).
Boli pridané nové možnosti komunikačného dialógu sveta; s tým súvisí pridanie metódy textTlačidla
.
Pridané hľadanie priesečníka priamky a úsečky: priesečníkPriamkyAÚsečky
(iné priesečníky boli pridané už dosť dávno – nenašiel som to tu zaznamenané).
Pridané metódy: prenes
, resetujRaster
… číselnýKoreň
.
Boli pridané tri podporné triedy podpora.BinomialDistribution
, podpora.CERNMersenneTwister
a podpora.RandomGenerator
(ku ktorým nie je priamo vyhotovená dokumentácia) a ich služby boli zapracované do zvyšku rámca.
Bola opravená chyba kreslenia vlastného tvaru robota súvisiaca s nesprávnym určovaním jeho poslednej polohy pri pokuse o kreslenie úsečiek. Chyba vznikla niekde popri implementácii metód SVGPodpora.pridajÚsečku(tvorca, atribúty)
a/alebo GRobot.poslednáPoloha()
a dlhší čas zostala nepovšimnutá.
Svet
a Súbor
pribudla séria metód, ktoré pracujú s tzv. tabuľkou, čo je v jazyku Java dvojrozmerné pole a v súborovom formáte „oddeľovačmi oddelené hodnoty“ (SSV – separator separated values), napríklad formát CSV: orež
, orež
, čítajTabuľku
, reťazecNaTabuľku
, zapíšTabuľku
a tabuľkaNaReťazec
.SVGPodpora
bol pridaný štýl: štýl
.kresliZáznamCesty
.vajce
a nUholník
.Svet
: dajPrvočíslo
, rozložNaPrvočísla
.SVGPodpora
– pridávanie tvarov s tvorcom nastavuje správnu hrúbku čiary, aj keď nebola nastavená metódami z rodiny hrúbkaPera
a príkaz hrúbkaPera
nastavuje posledný typ tvaru len ak prebieha záznam cesty (podrobnosti v komentári v tele dotknutej metódy).null
, čo indikuje, že majú byť k adrese pridané v tzv. „bezhodnotovom tvare.“Spojenie
pribudli dve metódy: hlavičkyPoslané
a pridajHlavičky
.Svet
implementujúca vlastnosť skratiek podlahy: skratkyPodlahy
– doteraz sa dali zapínať/vypínať len skratky stropu, ale vznikla potreba ich používania aj pre podlahu.zmenaPolohy
, zmenaUhla
Svet
súvisiaca s „režimom spánku“ časovača: uspiČasovač
, prebuďČasovač
, zobuďČasovač
.
Svet
: zistiZariadenieOkna
, overujPočiatočnúPolohuOkna
.Súbor
: kontrolnýSúčet
, súčtySúZhodné
.prekladajVlastnosti(prekladyNázvov, prekladyHodnôt)
.skoč(Poloha poloha)
a choď(Poloha poloha)
. Ich potreba bola čoraz dôraznejšia…premenujPoložkuHlavnejPonuky
.vzorČiary(začiatokVzoru, pokračovanieVzoru)
.SVGPodpora
.pridajÚsečku(tvorca, atribúty)
.Svet
: násobTiky
, čísloTiku
, tik
.GRobot
: vypniOhraničenie
, zapniOhraničenie
a jedna „špeciálna“ („vyčnievajúca“) metóda vajce
.Novinky:
SVGPodpora
boli pridané tzv. definície: definície
.PoznámkovýBlok
a Tlačidlo
teraz implementujú rozhranie Rozmer
.Svet
: reťazecNaCeléČíslo
, reťazecNaReálneČíslo
. Teraz sú schopné prijať aj prázdny reťazec alebo reťazec s hodnotou null
.PoznámkovýBlok
: zarovnať
, režimZobrazeniaRolovacíchLíšt
, rolovanie
boli buď pridané alebo opravené (revízia zoznamu zmien bola vykonaná až s ročným oneskorením).…
PoznámkovýBlok
: zakážTabulátor
, zakážEnter
bolo sprísnené – už nie sú zakázané len klávesy, ale aj celkové vkladanie týchto znakov.zrušDekor
,
skry
,
dajAtribúty
,
kresba
,
mierkaPomeru
,
pomerPodľaMierky
,
náhodnýPomer
,
náhodnýRozmer
,
náhodnýRozmer
,
spojniceZ
,
spojniceDo
,
súSpojniceZ
,
súSpojniceDo
,
parameter
,
parameter
.Opravy:
pridajVnorenúPonuku
, nespi
.Tlač
.grafika
,
obrázok
,
začniKreslenie
,
skončiKreslenie
,
zavrieť
(systém zatvárania aplikácie bol revidovaný),
vypíšAktívneSlovo
(niečo v rámci celého mechanizmu bolo opravené – nemusí ísť priamo o túto metódu; revízia zoznamu zmien bola vykonaná až s ročným oneskorením),
zakážTabulátor
,
zakážEnter
.Plány začaté alebo navrhnuté pri tejto verzii:
Rozmer
(bude zahŕňať množstvo modifikácií) – rozpracovanéZoznam
na rozšírenie triedy Stack
– zvažuje sa.Opravy:
pridajText
odteraz rieši základné entity pre znaky: &, <, >, ', ".V roku 2019 bol začatý proces konverzie knižnice (skupiny tried) na programovací rámec dodávaný v samostatnom balíčku (package
) Javy a tiež v kompilovanom stave (v .jar
súbore). Počas tohto procesu sa podarilo odhaliť viacero skrytých chýb súvisiacich napríklad s tým, že parametre niektorých funkcií mali rovnaké pomenovanie ako vnútorné atribúty pôvodnej skupiny tried. Kód bol preložiteľný, ale chybný.
Korene vývoja programovacieho rámca siahajú do roku 2010. Vývoj rámca a jeho predchodcov sa prekrýva s písaním podrobnej dokumentácie. V rozmedzí rokov som ako autor rámca lepšie porozumel niektorým termínom používaným v oblasti matematiky a programovania. Zaujímavým zistením bol pre mňa rozdiel medzi parametrom a argumentom. (Pamätám si, že kedysi na počiatku mojej osobnej histórie programovania som bol zvedavý, či je medzi týmito termínmi rozdiel, ale vtedy som sa k tejto informácii nedopátral a tak som ich oba používal zámenne – ako sa mi ktorý kedy hodil.) Rozdiel (ktorý som sa dozvedel až po roku 2010) je drobný, ale zásadný. Ak sa na nich pozrieme z pohľadu programovania, tak parameter je špeciálny druh premennej, ktorej hodnota je inicializovaná „zvonka“ metódy (mimo nej; v čase volania metódy) a ktorú používame v tele metódy (čiže, v skratke, parameter je identifikátor používaný v tele metódy; jeho hodnota je inicializovaná v čase volania metódy; ak chceme vedieť čím, musíme poznať termín argument – lebo je inicializovaná presne jeho výslednou hodnotou) a argument je výraz (literál, konštanta, premenná, výpočet…), ktorý zadávame na mieste volania metódy. Čiže argument je presne ten výraz, ktorého hodnota (t. j. výsledok) inicializuje parameter (v skratke, argument je výraz uvedený v zozname argumentov na mieste volania metódy; výsledná hodnota argumentu inicializuje prislúchajúci parameter – jeho hodnota je uložená do parametra). Dal by sa na to napísať nasledujúci príkaz pseudokódu: «parameter» =
«argument»;
Odkedy som sa dozvedel skutočný význam týchto termínov, vynaložil som veľké úsilie, aby som v tejto dokumentácii vyhľadal a opravil všetky nepresnosti pri ich použití. Napriek tom som ešte teraz (v roku 2019) našiel formulácie, ktoré neboli celkom v poriadku. Jednoducho ušli mojej pozornosti. Mám dojem, že z takto rozsiahlej dokumentácie sa nikdy nepodarí takéto nepresnosti úplne odstrániť. Ak by ste náhodou nejakú našli, prosím, aby ste ma upozornili a ak to bude možné, ja nepresnosť rád skorigujem.
Zoznam úprav (síce obsiahly, ale určite nie úplný):
SVGPodpora
.vymaž(index)
.Plátno
na prácu s virtuálnym tabulátorom textov vnútornej konzoly: virtuálnyTabulátor()
, virtuálnyTabulátor(odsadenie)
.jePrvočíslo
, skratkyStropu
(a príbuzné).Svet.dialóg(popisy, údaje, titulok)
(a jej klony) teraz prijíma nový údajový typ Enum
, na základe ktorého vytvára skupiny rádiových tlačidiel.oknoCelejObrazovky
.hrajTón
. Generátor je príliš komplexný a pri generovaní tónov nie je výsledok vždy rovnaký.GRobot.poslednáPoloha
, GRobot.poslednýUhol
a príbuzné).Rad
.ÚdajeUdalostí.poslednáPolohaMyši
a príbuzné) a metódy súvisiace s novou funkciou zachytenia kurzora myši do okna sveta (Svet.zachyťMyš()
a príbuzné).otočO(uhol, najviacO)
. Pribudli statické metódy operácií s bodmi: Bod.súčet(bod1, bod2)
a Bod.rozdiel(bod1, bod2)
.Svet.S(argumenty)
a S(argumenty)
.ExpressionProcessor
. Korekcia vyrovnala prioritu týchto operátorov. Predtým malo násobenie vyššiu prioritu (vykonávalo sa skôr), než delenie.Archív
, čo vyžadovalo jemné rozšírenie priloženej archivovacej knižnice Apache AntnáhodnáVeľkosť
, veľkosťPodľaMierky
(a príbuzných).Poloha
pribudli predpisy metód jeNa
a jeNa
, to znamená, že tieto metódy teraz implementujú všetky triedy, ktoré sú implementáciou tohto rozhrania.Skript
(ktorej vznik história opomenula) pribudli metódy globálnePremenné
, objemPriestorov
, priestorNaVrchu
, vnorPriestor
a vynorPriestor
.bodV
, bodV
(podobne ako bol kedysi pridaný alias: myšV
).Bod
: mierka
, otoč
a rotuj
(a ich klony).čiara(Stroke)
odteraz môže prijímať aj hodnotu null
, ktorej význam je resetovanie čiary podľa aktuálnej hrúbky pera.svetlo
.PoložkaPonuky
: klávesováSkratka
(metóda nebrala do úvahy druhý parameter), triedy Bod
: posuň
a posuň
(metódy omylom nastavovali absolútne súradnice bodu).choďPoOblúku
a skočPoOblúku
sa počnúc touto verziou predvolene otáčajú doľava (predvolený smer otáčania je predsa ľavotočivý – proti smeru hodinových ručičiek). Boli pridané ďalšie metódy na pohyb po oblúku:
choďPoOblúku
,
choďPoOblúku
,
choďPoOblúku
,
choďPoOblúku
,
skočPoOblúku
,
skočPoOblúku
,
skočPoOblúku
,
skočPoOblúku
.pomer
, zaoblenieX
, zaoblenieY
a novú metódu pasívny
.Bod
: posuň
, posuňVSmere
.Plátno
pribudli metódy: prepíšBod
a prepíšBodNaMyši
deaktivuj
a zastav
boli zároveň pridané dve samostatné metódy trvaniePasivity()
a trvaniePasivity(čas)
.maximalizovanie
,minimalizovanie
,obnovenie
,otvorenie
, zavretie
, a zatvorenie
.priečinokObrázkov
,
priečinokZvukov
,
aktuálny
,
tento
…zobrazenie
, skrytie
.smerNaCieľ
,
uholNaCieľ
,
choďNaCieľ
,
skočNaCieľ
,
otočNaCieľ
.Svet
má ďalšie nové schopnosti. Odteraz dokáže permanentne poskytovať svoj hlavný panel (v minulých verziách bola táto schopnosť poskytovaná len dočasne na testovacie účely) a dokáže lepšie pracovať s oknom: hlavnýPanel
, maximalizovaný
, maximalizuj
, minimalizovaný
, minimalizuj
, normálny
, obnov
, titulok
, titulok
, premiestniNaZariadenie
, (premiestniNaObrazovku
).
Okrem toho pribudlo niekoľko metód na prácu so skriptami a režimom ladenia vymažPremennú
, nahrajSkript
, vyrobSkript
, registrujSkript
, dajSkript
, volajSkript
, riadokPoslednejChyby
a textChyby
(tá bola síce plánovaná od začiatku, ale akosi sa na ňu „pozabudlo“).
Metódy na prevod medzi celými číslami a rímskymi číslicami: celéNaRímske
, rímskeNaCelé
.
Metóda na zaokrúhľovanie hodnôt: zaokrúhli
.
Metódy na pozastavenie činnosti aplikácie s čakaním na niektorú z udalostí vstupu: čakajNaKláves
, čakajNaKlik
, čakajNaKlávesAleboKlik
…
Široký súbor metód na prácu s geometriou:
smer
,
uhol
,
kvadratickáAproximácia
,
kvadratickáInterpolácia
,
(poznámka: kubickáInterpolácia
bola z dôvodu nesprávne použitej terminológie premenovaná na kubickáAproximácia
a vznikla nová verzia metódy kubickáInterpolácia
),
priesečníkÚsečiek
,
priesečníkPriamok
,
priesečníkyKružníc
,
priesečníkyPriamkyAKružnice
,
priesečníkyÚsečkyAKružnice
,
najbližšíBodNaPriamke
,
najbližšíBodNaÚsečke
,
najbližšíBodNaKružnici
,
vzdialenosťBoduOdPriamky
,
vzdialenosťBoduOdÚsečky
,
vzdialenosťBoduOdKružnice
,
vzdialenosťKružníc
,
vzdialenosťÚsečiek
,
vzdialenosťPriamkyOdKružnice
,
vzdialenosťÚsečkyOdKružnice
,
Do sveta tiež pribudla možnosť aktivácie štandardného vstupu (konzolového/textového režimu), ktorý je presmerovateľný, takže aplikácie teraz dokážu komunikovať aj s konzolou:
aktivujŠtandardnýVstup
,
štandardnýVstupAktívny
,
čakajNaVstup
. K nim pribudli prislúchajúce reakcie obsluhy udalostí:
spracujRiadokVstupu
,
koniecVstupu
.
Rôzne doplnkové metódy k vyššie spomínaným, ale aj samostatné, napríklad: názovKonfiguračnéhoSúboru
, spracujPríkaz
, príkazovýRiadok
…Súbor.zoznamSekcií
, Súbor.zoznamVlastností
, Bod.vyberPolohu
(a jej klony) Zoznam.odober
, Zoznam.odoberOdKonca
, ObsluhaUdalostí.zastavenieAnimácie
…Táto verzia sa v skutočnosti vývojovo prelínala s verziami 1.82 až 1.84, ale v dostatočne pokročilej fáze vývoja autor zhodnotil, že úprav už bolo toľko, aby číslo verzie stúplo.
Zoznam úprav:
Svet
: reťazecNaCeléČíslo
a reťazecNaReálneČíslo
.na
«menovka».Svet
má ďalšie metódy súvisiace s analytickým riešením geometrie: priesečníkÚsečiek
, priesečníkPriamok
. Tiež pribudli ďalšie metódy na zobrazovanie informačných dialógov používateľovi: varovanie
, chyba
(a ich klony).čiernobiely
do triedy Obrázok
a všetky metódy efektov (napr. farebnýFilter
, monochromatický
, tmavší
, bledší
) odteraz rešpektujú pôvodnú priehľadnosť bodov obrázka.režimLadenia
bola omylom naprogramovaná nesprávne. Metóda mala umožniť zapnúť alebo vypnúť režim ladenia, no namiesto toho ho vždy iba zapínala… (Chyba vznikla pravdepodobne po zmene rozhodnutia o správaní tejto metódy, pričom opis metódy bol upravený, ale telo zostalo nezmenené.) Chyba bola opravená a pribudla ďalšia verzia tejto metódy: režimLadenia(zapniLadenie, vypíšChybovéHlásenia)
.null
znamená, že cieľová farba nemá byť po prechode domov ovplyvnená, ale jej zrušenie po každom prechode domov sa dá stále vynútiť volaním metódy zrušCieľovúFarbuDoma
. K tejto metóde pribudla ďalšia alternatíva, ktorá dovoľuje toto vynucovanie odvolať a tiež pribudla komplementárna metóda zrušíCieľovúFarbuDoma
, ktorá overuje aktuálny stav tohto nastavenia.Zoznam.presuň
.Súbor.čítajVlastnosť(String názov, Integer predvolenáHodnota)
a Súbor.čítajVlastnosť(String názov, Float predvolenáHodnota)
.(Prípadne ďalšie nezaznamenané zmeny…)
Táto verzia sa v skutočnosti vývojovo prelínala s verziou 1.82, ale v určitej fáze autor zhodnotil, že úprav už bolo toľko, aby číslo verzie dodatočne stúplo. (Podobne to mohlo byť aj s niektorými predchádzajúcimi verziami, ale tieto míľniky autor nezaznamenal.)
Zoznam úprav:
farbaNaReťazec
triedy Farba
. Metóda dovoľuje prijať inštanciu typu Color
, ktorá však nie je implementáciou rozhrania Comparable
, takže prevod by zlyhal. Preto je odteraz každá inštancia triedy Color
automaticky prevedená na inštanciu triedy Farba
. Tiež bola zmenená definícia metód dialógov výberu farby – odteraz prijímajú parameter typu Color
namiesto Farba
.Súbor
: vnorMennýPriestorVlastností
a vynorMennýPriestorVlastností
.predvolenýTvar()
. Podrobnosti sú v poznámke v jej opise. Pribudla nová metóda jePredvolenýTvarVyplnený()
.Svet
má niekoľko nových funkcií. Stručne:systémováIkona
, systémováIkonaZobrazená
, zobrazSystémovúIkonu
, správaSystémovejIkony
, informáciaSystémovejIkony
, varovanieSystémovejIkony
, chybaSystémovejIkony
a pod.otvorWebovýOdkaz
.farbaPlochy
, predvolenáFarbaPlochy
.ÚdajeUdalostí
poskytuje údaje pre nové udalosti: udalosťSystémovejIkony
, položkaSystémovejPonuky
.ObsluhaUdalostí
má nové udalosti: voľbaSystémovejIkony
, voľbaSystémovejPoložky
, zobrazenieOkna
, skrytieOkna
.mimoHraníc
.Obrázok
aj Plátno
majú novú metódu: zrušPriehľadnosť
.SVGPodpora
.pridajText(text, tvorca[, atribúty…])
, bol zároveň odhalený „nedostatok“ (z môjho pohľadu nepresnosť pri nasledovaní štandardu), že ani prehliadač, ani Inkscape v transformáciách vôbec „neakceptujú“ jednotky (uhlové deg
, ani rozmerové px
), presnejšie – transformáciu, ktorá ich používa vyhodnotia ako chybnú a ignorujú ju. Takže aj knižnica prestala pri prevode transformácií na text používať jednotky.Obrázok
: upravJasKontrast
, a gamaKorekcia
, a ekvivalentné aj do triedy Farba
– jasKontrast
, gamaKorekcia
.stredKresby
, dajSVG
…) a rozšírila sa jej vnútorná funkcionalita.ohranič
, hraniceOhraničenia
a spôsobOhraničenia
.PoznámkovýBlok
a s ňou pribudla ďalšia funkcionalita knižnice. Z úzko súvisiacich záležitostí vyberáme (1) reakciu
aktiváciaOdkazu
a (2) s ňou súvisiace údaje udalostí
poslednýPoznámkovýBlok
a poslednýOdkaz
.Roj
(a jej vnorená trieda Bod
) bola rozšírená o export tvarov do SVG prostredníctvom metód: spojDoSVG
, telesoDoSVG
a pridajDoSVG
.Plátno
pribudli ďalšie metódy do skupiny metód na prácu s onzačovaním textov vnútornej konzoly. Zo zoznamu vyberáme: farbaPozadiaOznačeniaVýpisu
, farbaTextuOznačeniaVýpisu
, predvolenáFarbaPozadiaOznačenia
, predvolenáFarbaTextuOznačenia
, výpisNaBode
, výpisNaMyši
, výpisPriBode
, výpisPriMyši
, výpisJeOznačený
, textyDoSchránky
(posledná z nich pribudla aj do sveta)…(Prípadne ďalšie nezaznamenané zmeny…)
Zoznam úprav:
RolovaciaLišta
.Plátno
pribudla skupina metód na prácu s okrajmi a lištami vnútornej konzoly. Zo zoznamu vyberáme: nastavOkrajeKonzoly
, zistiOkrajeKonzoly
, automatickéZobrazovanieLíšt
, automatickéZobrazovanieLíšt
, zobrazLištyKonzoly
, zistiZobrazenieLíštKonzoly
, dajLištyKonzoly
, dajRohLíštKonzoly
…Plátno
pribudla skupina metód na prácu s textami vnútornej konzoly. Zo zoznamu vyberáme: označRiadok
, označVýpis
, označRiadky
, označVýpisy
, označVšetkyTexty
, rozsahOblastiOznačenia
, zrušOznačenieRiadka
, zrušOznačenieVýpisu
, zrušOznačenieRiadkov
, zrušOznačenieVýpisov
, zrušOznačenieTextov
, vymažOznačenéTexty
, textKonzoly
(s alternatívou textKonzoly(lenOznačený)
), početRiadkov
, textRiadka
, vymažRiadok
, vložRiadok
, zálohujChvost
, vymažChvost
, početVýpisov
, textVýpisu
, poslednáŠírkaTextu
(niektoré s podobnou alternatívou ako textKonzoly
)…Súbor
pribudla skupina metód na prácu so sekciami konfiguračných direktív. Zo zoznamu vyberáme: aktívnaSekcia()
, aktivujSekciu(názov)
, premenujSekciu(názov)
, vymažSekciu(názov)
, prekladajVlastnosti(zdroje, ciele)
… V tejto súvislosti pribudli v triede Svet
nové metódy: konfiguračnýSúbor()
, predvolenáSekciaKonfigurácie(názov)
.Roj
.Svet
pribudla séria metód na generovanie tónov: hrajTón
, zastavTón
, frekvenciaNoty
…(Prípadne ďalšie nezaznamenané zmeny…)
Zoznam úprav:
GRobot
má nové skupiny metód, z ktorých reprezentatívne vyberáme: cieľováFarba
, náter
a zrušNáter
.Spojnica
má novú skupinu metód: .farbaKonca
.Zoznam úprav:
Súbor.zapíšVlastnosť(String názov, Object hodnota)
a boli pridané metódy Súbor.čítajVlastnosť(String názov, Poloha predvolenáHodnota)
, Súbor.čítajVlastnosť(String názov, Point2D predvolenáHodnota)
, Súbor.čítajVlastnosť(String názov, Farebnosť predvolenáHodnota)
a Súbor.čítajVlastnosť(String názov, Color predvolenáHodnota)
,GRobot.tvarPodľaČiary(Shape tvar)
,spustiČasomieru
a zastavČasomieru
) stúpla z milisekúnd na nanosekundy (čo síce je iba teoreticky dosahovaná presnosť, no pri tejto zmene nešlo v prvom rade o zvýšenie presnosti – táto zmena bola vykonaná zmenou použitých metód na základe odporúčaní uvedených v dokumentácii Javy),Svet.vykonaťNeskôr(vykonať)
, Svet.prvéSpustenie()
a Svet.dialóg(popisy, údaje, titulok)
(a ich klony),trvanieAktivity()
a trvanieAktivity(čas)
(doteraz bola táto vlastnosť prístupná len na zápis a len prostredníctvom metód ako spusti
, aktivuj
a všetkými ich klonmi),preskočVSmere
, preskočVľavo
, skoč
, odskoč
atď.Svet
pribudla ďalšia metóda ikona()
, ktorá vytvorí z ikony okna inštanciu triedy Obrazok
,Spojnica
, ktorá slúži na uchovávanie vlastností o spojniciach; metódy pôvodne slúžiace na vytváranie a upravovanie vlastností spojníc (napr. spojnica(cieľ)
, spojnica(cieľ, hrúbka)
, spojnica(cieľ, farba)
…) teraz navyše vracajú inštanciu triedy spojnica (ktorá nemá verejný konštruktor) a táto inštancia môže byť použitá na ďalšiu prácu so spojnicou; pribudla nová vlastnosť spojníc – orezanie začiatku a konca čiary spojnice, ku ktorej boli definované prislúchajúce nové verzie metódy spojnica
a pribudla nová metóda dajSpojnicu(cieľ)
; farba (farebnosť) a čiara (alebo hrúbka čiary) spojnice teraz môžu mať hodnotu null
(resp. zápornú hodnotu), ktorá značí automatickú farbu a čiaru kreslenú podľa zdrojového robota,Zvuk
a pribudla podpora formátu MP3 v rámci tejto triedy,ObsluhaUdalostí
) uvedená poznámka, že „táto metóda je predvolene prázdna a je určená na prekrytie hlavným robotom…“; teraz sú udalosti dostupné pre všetky roboty,animujeSa()
, opakovaniaAnimácie()
, početOpakovaní()
, početSnímok()
, pridajSnímku()
, rýchlosť()
, spustiAnimáciu()
, trvanie()
, vložSnímku(index)
, vymažSnímku()
, zastavAnimáciu()
a tak ďalej) a trieda je odteraz schopná ukladať animované sekvencie ako série PNG súborov a animované GIFy – v súvislosti so sekvenciami pribudla nová udalosť sekvencia
,registrujVKonfigurácii()
a registrujVKonfigurácii(novéMeno)
,predvolenáCestaDialógov()
, predvolenáCestaDialógov(cesta)
, dialógOtvoriť(titulok, predvolenýNázovSúboru[, filtre…])
, dialógUložiť(titulok, predvolenýNázovSúboru[, filtre…])
,zálohuj
, obnov
, kresli
, zastarali a boli nahradené metódami s výstižnejšími pomenovaniami: zálohujGrafiku
, obnovGrafiku
, pridajGrafiku
(zároveň bolo odhalených niekoľko preklepov v názvoch aliasov metód rôznych tried, ktoré si autor dovolil odstrániť bez zachovania pôvodného nesprávneho tvaru vo forme zastaranej verzie metódy),Písmo
: Písmo(atribúty…)
, ktorý je schopný spracovať variabilný počet parametrov určujúcich atribúty písma,skočPoOblúku
a choďNaPoOblúku
– ak bola poloha robota zhodná so zadanými súradnicami tak obidve metódy nakreslili bod bez ohľadu na polohu pera, teraz kreslí bod len metóda choď…
a i to len ak je pero položené,Svet.obrázok()
,náhodnáPoloha
bolo upravené tak, aby sa vygenerované súradnice automaticky prispôsobili veľkosti obrázka, do ktorého má robot presmerované kreslenie (ak ho má presmerované) a pribudla metóda kreslímNaObrázok
vracajúca aktívnu inštanciu obrázka ako cieľa kreslenia,ÚdajeUdalostí
: vymazanéPlátno()
a vymazanéPlátno(plátno)
,Obrázok
: statická porovnaj(obrázok1, obrázok2)
a dynamická porovnaj(inýObrázok)
,Vlnenie
, ktorá bola zároveň masívne využitá v rámci knižnice; trieda definuje množstvo metód dovoľujúcich prácu s deformačným obrazovým efektom simulujúcim vlnenie kvapaliny nad obrázkom; výsledný efekt je realistický a nie je ani taký výpočtovo náročný ako je napríklad vyššia úroveň rozmazania; za pomoc pri jeho implementácii vďačím viacerým informačným zdrojom na internete, najviac však Neilovi Wallisovi a jeho článku „Simulate ripples on water“ z decembra 2004,BufferedImage
a to napriek tomu, že knižnica tento typ vyžaduje; dokáže si totiž automaticky požadovaný typ previesť alebo vyrobiť aj z objektov typu Image
,posunutieVýplne
, mierkaVýplne(mierka)
/mierkaVýplne(mx, my)
, otočenieVýplne(uhol)
/otočenieVýplne(uhol, sx, sy)
a stredOtáčaniaVýplne
; v tejto súvislosti sa mierne zmenilo predvolené správanie všetkých príkazov vypĺňania dlaždicovými obrázkami (textúrami) a to tak, že predvolený bod začiatku vypĺňania dlaždicami sa presunul do stredu plátna, prípadne do stredu vypĺňaného obrázka,SVGPodpora
a v súvislosti s ňou boli pridané nové metódy, napríklad kresliTvar
, vyplňTvar
, statická metóda triedy Bod
: polohaTvaru
a podobne,dopredu
, vzad
, vpravo
, vľavo
, posuňVpravo
, posuňVľavo
a s nimi pribudla nová súvisiaca vlastnosť uholOtáčania
(tá bola zároveň pridaná do konfigurácie),trojzubec
schopné nakresliť predvolený tvar (staršiu aj novšiu verziu) alebo ho vygenerovať v objekte Javy Shape
, v súvislosti s tým boli korigované niektoré obrázky v dokumentácii (ktoré obsahovali tvar robota) a podobne,použiKonfiguráciu
odteraz kontrolujú príponu a ak sa názov súboru nekončí príponou .cfg
, tak ju automaticky pridajú,myšVHviezde
a bodVHviezde
, vznikli nové metódy pracujúce s novým stavom – spôsobom kreslenia útvarov: vypĺňajTvary
, vypĺňaTvary
, v tej súvislosti bola upravená činnosť metód elipsa(a, b)
, štvorec(polomer)
, obdĺžnik(a, b)
, hviezda(polomer)
, a vznikli nové metódy krúžok(polomer)
, kresliElipsu(a, b)
, kresliŠtvorec(polomer)
, kresliObdĺžnik(a, b)
, kresliHviezdu(polomer)
, táto úprava zmenila predvolený tvar robota na dutý a do konfigurácie, ktorá bola zároveň mierne poopravená, bol pridaný nový stav,Svet
slúžiace na presné meranie časových intervalov: spustiČasomieru
a zastavČasomieru
,KontextováPoložka
, jej definícia bola zjednotená s definíciou triedy PoložkaPonuky
(boli pridané niektoré chýbajúce metódy), bola do nej pridaná skupina metód slúžiaca na prácu s aktuálnou farbou textu
, pozadia
a typom písma
tohto ovládacieho prvku, bolo pridaných množstvo nových metód, napríklad na manipuláciu s textom a ikonami rôznych stavov položiek,PoložkaPonuky
, bola do nej pridaná skupina metód slúžiaca na prácu s aktuálnou farbou textu
, pozadia
a typom písma
tohto ovládacieho prvku, bolo pridaných množstvo nových metód, napríklad na manipuláciu s textom a ikonami rôznych stavov položiek,Tlačidlo
, bola do nej pridaná skupina metód slúžiaca na prácu s aktuálnou farbou textu
, pozadia
a typom písma
, typy mnohých parametrov metód (vrátane konštruktorov) boli zovšeobecnené (napr. z typu Obrázok
na Image
), návratové typy aliasov niektorých metód boli tiež pozmenené, trieda odteraz používa vnútorný mechanizmus čítania obrázkov, preto mohli byť pridané ďalšie verzie metód nastavujúcich obrázky tlačidiel, ktoré prijímajú názov súboru (konštruktory museli zostať „z obliga“, pretože pri nich nie je možné jednoznačne rozhodnúť, či má údajový typ String
označovať názov súboru alebo text tlačidla), bola odstránená chyba v metóde obrázokDeaktivovanéhoOznačeného
, ktorá omylom nastavovala obrázok iba označeného tlačidla,upravCeléČíslo
, (z int
na long
); bola opravená dostupnosť metód Tlačidlo.text()
a Tlačidlo.text(text)
(pôvodne bol omylom garantovaný prístup «bez modifikátora», čiže súkromný na úrovni balíčka – (package private)
, teraz je verejný – public
),rolujTexty
, ktorý prevzal úlohu zapnutia alebo vypnutia automatického rolovania textov vnútornej konzoly plátna kolieskom myši (predtým bola táto schopnosť viazaná na obsluhu udalostí, čo sa neosvedčilo),formát
, ktorá má vplyv na spôsob formátovania čísiel metódami F
, vypíš
a všetkými ich klonmi, zároveň boli pridané súvisiace metódy: oddeľovačPrvkovPoľa
, oddeľovačDesatinnejČasti
a oddeľovačTisícov
,Svet.načítajZvuk(súbor, unikátny)
(ktorá bola neskôr vyhlásená za zastaranú),Svet.žiadajPrekreslenie()
,textTlačidla
, zmeňRozmeryPlátien
a uvoľni(obrázok)
,čiara()
a čiara(Stroke)
a súvisiace metódy na prácu so spojnicami,predošlý
boli vymazané (pozri verziu 1.50),Bod
(konkrétne pribudol predvolený konštruktor, čo odstránilo problém s inštanciou stred
, a pribudli všetky verzie metód zisťujúcich vzdialenosť od iného bodu/objektu alebo stredu),pôsobisko()
, pôsobisko(tvar)
a kresliPôsobisko(ánoNie)
,Plátno.šírkaReťazca(reťazec)
a Plátno.najväčšiaŠírkaZnaku()
, pribudla séria metód Plátno.kresli(tvar)
, Plátno.vyplň(tvar)
a ich ekvivalenty v triede Svet
,Svet.pridajKlávesovúSkratkuVstupnéhoRiadka(príkaz, kódKlávesu, modifikátor)
,knižnica
; v rámci tejto akcie muselo byť vykonaných niekoľko úprav, napríklad metódy Svet.vykonajSkript
, Svet.spustiSkript
, Súbor.porovnaj
, Súbor.kopíruj
, Súbor.pripoj
, Súbor.otvorNaČítanie
a ich klony teraz hľadajú súbory aj v rámci aktuálnej cesty classpath
; vznikla nová metóda Súbor.kdeJeSúbor
, ktorá dokáže určiť umiestnenie súboru na čítanie; knižnica už nie je tvorená jediným gigantickým súborom – viaceré súčasti boli umiestnené do samostaných zdrojových súborov a stali sa verejnými, čím sa zlepšila ich použiteľnosť,GRobotException
– takmer všetky výnimky sú teraz generované s použitím tejto triedy,Súbor
(vnútorná revízia súvisiaca so spôsobom čítania údajov), pridané metódy Súbor.čítajZnak
, Súbor.koniecSúboru
, Súbor.koniecRiadka
a Súbor.dočítajRiadok
, metóda Súbor.čítaj
má odteraz návratovú hodnotu typu int
, ktorá vypovedá o počte prečítaných údajových jednotiek (blokov) a spracúva pole typu char
[]
rovnakým spôsobom ako ostatné polia (doteraz to tak nerobila),Zoznam úprav:
Plátno.výškaRiadka()
a Plátno.šírkaMedzery()
,odsadeniePrvéhoRiadka
, zmeňOdsadenieZľava
, zmeňOdsadenieSprava
, zamrazOdsadenie
a tak ďalej…vypíšAktívneSlovo
, bodVAktívnomSlove
, myšVAktívnomSlove
(a im ekvivalentných) a pridanie jednej novej reakcie: farbaAktívnehoSlova
,zálohujTexty
, obnovTexty
, pridajTexty
a upravený tvar metód zálohuj
, obnov
, kresli
tak, aby bol jednotný (v súlade) s novými metódami,Farba.správnyFormát(text)
a Bod.správnyFormát(text)
,Comparable
do triedy Farba
– pozri compareTo
,PoložkaPonuky.príkaz(príkaz)
a KontextováPoložka.príkaz(príkaz)
,žiadna
, táto inštancia uľahčuje detekciu kliknutia myšou mimo viditeľnú časť obrázka, pretože odteraz v prípade, že sú súradnice vyšetrovaného bodu mimo rozmerov obrázka, všetky metódy zisťujúce farbu bodu (farbaBodu
, farbaNaMyši
…) vrátia neviditeľnú farbu,obrázok(súbor, Δx, Δy, mierka)
, obrázok(obrázok, Δx, Δy, mierka)
…), pridaná metóda vymažPôsobisko
(resp. iba zverejnená, pretože táto metóda bola definovaná už od úplne prvých verzií robota, ibaže jej definícia bola súkromná), pridané všetky verzie metód choďNaPootočený
, skočNaPootočený
, choďPootočený
, skočPootočený
, pridané metódy na úpravu mierky kreslenia obrázkov,Kláves.SKRATKA_PONUKY
,Zoznam.odzadu()
alebo Zoznam.naopak()
, metódy zoznamu obsahujúce slovo predošlý
sú odteraz zastarané (časom budú vymazané) a sú nahradené metódami obsahujúcimi slovo predchádzajúci,Svet.spustiSkript
(a jej klony), Svet.premennáJestvuje
, Svet.čítajPremennú
, Svet.zapíšPremennú
, Svet.rotovanéX
, Svet.rotovanéY
, Svet.kreslenie
, Plátno.poslednáVýškaTextu
, Svet.vystreď
a Svet.nebolPrekreslený
(a jej klony),upravText
a ukončenieÚpravyTextu
,ťahanieSúborov
a pustenieSúboru
,pootočenieTvaru
, pootočenieTvaruDoma
, zachovajPootočenieTvaruDoma
, otáčajTvar
, otáčanieTvaru
, gyroskop
, vypniGyroskop
atď.Skupina tried sa odteraz spolieha na funkcionalitu Java 8.
Zoznam úprav:
Svet.početZariadení()
…), pridaných niekoľko metód súvisiacich so zisťovaním aktuálnych rozmerov okna sveta (Svet.šírkaOkna()
, Svet.výškaOkna()
…), plátna (Svet.šírka()
, Svet.výška()
, Plátno.šírka()
…) a viditeľnej časti plátna (Svet.viditeľnáŠírka()
, Svet.viditeľnáVýška()
, Plátno.viditeľnáŠírka()
…), pridané reakcie aktivácie a deaktivácie okna,hlavnýRobot.tik()
),vytvorDráhu(tvar, zrnitosť)
, vytvorMapuSmerov(tvar, zrnitosť)
, kráčajPoDráhe()
… a ďalšie s tým súvisiace metódy, napríklad: lineárnaInterpolácia
, kubickáInterpolácia
…,domov(poloha)
) tak, aby žiadna z metód už neprijíma parameter typu Point2D.Double
(výnimku tvoria niektoré metódy triedy Bod
), v súlade s tým boli odstránené nadbytočné definície metód (napríklad poloha(Point2D poloha)
, smerNa(Point2D poloha)
, otočNa(Point2D poloha)
, choďNa(Point2D poloha)
, bodVKruhu(Point2D bod)
…), pridané viaceré verzie niektorých metód (napríklad domov(častica)
),GRobot.farbaBodu(r, g, b)
(a všetky podobné, ktoré zisťujú farbu bodu plátna/obrázka pomocou farebných zložiek, vrátane tých, ktoré prijímajú úroveň priehľadnosti), Farba.farbaNaReťazec
, Farba.reťazecNaFarbu
, náhodnáFarba
, obrázok(súbor, mierka)
(a všetky podobné, ktoré prijímajú mierku), vlastnýTvar(súbor, upravVeľkosťRobota)
(a jej podobné – súvisí s pridaním možnosti meniť mierku obrázkov), prepíšBod(bod, farba)
(a s ňou súvisiace), meno
, farbaDoma
, hrúbkaPeraDoma
, veľkosťDoma
, priehľadnosťDoma
, písmoDoma
, skočPoOblúku
, choďNaPoOblúku
, skočNaPoOblúku
, hviezda
(a všetky príbuzné metódy)…,registrujRobota
, GRobot.uložDoSúboru
, GRobot.načítajZoSúboru
, načítajKonfiguráciuSveta
, Písmo.načítajZoSúboru
(posledné tri boli neskôr vyhlásené za zastarané), Písmo.uložDoSúboru
, ďalšie verzie metód použiKonfiguráciu
…, upravené priority spúšťania udalostí ObsluhaUdalostí.ukončenie()
a hlavnýRobot.ukončenie()
, pridaná nová reakcia ObsluhaUdalostí.klávesováSkratka()
/hlavnýRobot.klávesováSkratka()
a všetky súvisiace metódy (napr. Svet.pridajKlávesovúSkratku(príkaz, kódKlávesu, modifikátor)
, ÚdajeUdalostí.príkazSkratky()
…),vykonajPríkaz
…), pridané ďalšie súvisiace metódy vykonajSkript
, režimLadenia
, interaktívnaInštancia
, zrušInteraktívnuInštanciu
…, kódPoslednejChyby
, textPoslednejChyby
…,koliduje
– fungoval len predvolený spôsob detekcie kolízí (kružnicami), kolízna oblasť bola nefunkčná,vyplňOblasť
, obkresliOblasť
, bodVOblasti
, myšVOblasti
atď. z Oblasť
na Area
, aby boli robustnejšie,kolíznaOblasť(Shape podľaTvaru)
, tak aby prijímala argument typu Shape
namiesto Oblasť
, pridaná metóda zrušKolíznuOblasť()
,poloha(Poloha poloha)
, uhol(Smer objekt)
a smer(Smer objekt)
(na ktorých implementáciu sa zrejme zabudlo),Bod
, ktorou boli nahradené všetky výskyty triedy java.awt.Point2D.Double
, čím bola zlepšená kompatibilita objektov skupiny tried,Oblasť.alternatíva(tvar)
, Oblasť.šírka()
a Oblasť.výška()
,Oblasť.prienik(tvar)
– metóda omylom vytvárala rozdiel oblastí,myšVOblasti(Area)
, bodVOblasti(double, double, Area)
(v čase opravy prijímali argument typu Oblasť
– v tom nebola chyba, až neskôr bola vykonaná zmena a metódy teraz prijímajú argument typu Area
– pozri vyššie)…,Súbor.porovnaj
, Súbor.vlastnosťJestvuje
, Súbor.vymažVlastnosť
a Súbor.vytvorPriečinok(názov, ajRodičov)
(t. j. ďalšia verzia metódy); pridaná zvláštne zaobchádzanie s hodnotou null
pri čítaní a zápise vlastností; opravené viaceré chyby v triede Súbor
,Zoznam úprav:
Plátno.vymažKresbu(obrázok)
a Obrázok.vymažKresbu(obrázok)
,Obrázok.kresli(súbor)
– metóda nie vždy nakreslila obrázok do stredu ako je to deklarované v jej opise,ÚdajeUdalostí.polohaMyši
,Zoznam úprav:
Tlacidlo
tak, aby ho bolo možné používať,Svet.F(číslo, šírka, desatinné)
,
Svet.F(číslo, desatinné)
, F(číslo, šírka, desatinné)
a F(číslo, šírka, desatinné)
,Obrázok.zmeňVeľkosť(mierka)
,
Obrázok.zmeňVeľkosť(nováŠírka, nováVýška)
,predvolenýDutýTvar()
(tá sa neskôr stala v súvislosti s pôvodným účelom zbytočnou, no v knižnici bola ponechaná).Zoznam úprav:
Častica
,Svet.ikona(obrázok)
, PoložkaPonuky.ikona(obrázok)
, KontextováPoložka.ikona(súbor)
a KontextováPoložka.ikona(obrázok)
,vyplň()
, Obrázok.vyplň(súbor)
a Obrázok.vyplň(obrázok)
– metóda vyplň()
nefungovala len pri presmerovaní kreslenia robota do obrázka, ostatné dve metódy nefungovali vôbec,Súbor.zapíš(objekty…)
bola opravená tak, aby nepridávala nový riadok za objekty typu String
a StringBuffer
,Súbor.zapíšRiadok()
(metóda fungujúca bez argumentov na zápis nového riadka),pečiatka()
,GRobot
bolo zmenených na parametre typu Poloha
a pod.,Svet.popisVstupnéhoRiadka
– metóda omylom vracala text vstupného riadka,Svet.koniec
,choďPoOblúku
) a pod.Poznámka: niektoré drobné zmeny mohli uniknúť záznamu.
Pôvodný úmysel vydania novej verzie skupiny tried s novým spôsobom organizovania dokumentácie nevyšiel. Naprogramovanie vlastného docletu pre systém Javadoc pre Javu 7 bolo zdržané nepredvídanými problémami s Javou 7 na vývojárskom počítači s MacOS X. Nasledovalo riešenie problémov v súčinnosti s Alexandrom Zuevom z Oracle (touto cestou mu ďakujem za spoluprácu) a downgrade na verziu Java 6. Všetky zmeny vykonané v skupine tried grafického robota vo verzii 1.39 museli byť spätne trasované, pri čom mohlo dôjsť ku skresleniu niektorých informácií (veríme, že väčšina zmien bola úspešne zaznamenaná a zdokumentovaná).
Zoznam úprav:
SpracovanieUdalostí
: konfiguráciaZmenená
, zapíšKonfiguráciu
a čítajKonfiguráciu
,vrstiev
, ktorý významne ovplyvnil všetky metódy upravujúce poradie robotov (vyššie
, nižšie
, pred
…),Svet.prevezmiZrušenéÚdaje
a bol opravený nedostatok súvisiaci so zrušením vstupného riadka,GRobot
bola v rámci celej skupiny tried grafického robota nahradená iným ekvivalentným typom, napríklad Poloha
alebo Smer
; keďže robot implementuje tieto rozhrania, bola zachovaná úplná spätná kompatibilita,kresli()
robota bola premenovaná na kresliTvar()
.Zoznam úprav:
Smer
, pridané konštanty smeru – VÝCHOD
, ZÁPAD
… a použitie (implementácia) rozhrania vo viacerých vnorených triedach skupiny tried a v hlavnej triede (GRobot
),Zvuk.pozastav
, Zvuk.pokračuj
,Zoznam úprav:
Zvuk.prehrávaSa
, Zvuk.poloha
, Zvuk.poloha
a Zvuk.trvanie
,Svet.overKódovanie(kódovanie)
bola zrušená,GRobot.text
bola upravená; teraz sú texty kreslené o niečo nižšie (hodnota posunu je vypočítaná z údajov získaných z rozmerov aktuálneho písma); dôvod zmeny: texty sú teraz umiestnené presnejšie voči stredu robota, ktorý ich kreslí,Tlačidlo.setVisible
bola prekrytá na zabezpečenie hladšej činnosti aplikácie v súvislosti s obsluhou udalostí klávesnice – po skrytí tlačidiel by mohol vstup klávesnice uviaznuť niekde medzi skrytým tlačidlom a hlavným panelom a tým by sa prerušila plynulá činnosť obsluha udalostí klávesnice (používateľ by ju musel obnoviť kliknutím na plátno).Zoznam úprav:
GRobot.začniCestu
; zároveň pribudla metóda GRobot.uzavriCestu
; metódy slúžiace na kreslenie a vypĺňanie cesty už nevrhajú výnimku; volanie metódy GRobot.obkresliCestu
s cieľom súčasného uzavretia a nakreslenia cesty má odteraz význam len v prípade, že práve prebieha záznam cesty,GRobot.choďPoOblúku
; metóda oteraz využíva natívnu metódu Javy Arc2D.Double
; vďaka tomu dáva metóda lepší a presnejší výsledok; zároveň bol opravený (obrátený) význam zadania záporných hodnôt argumentov; záporný polomer teraz znamená zrkadlové obrátenie smeru kreslenia oblúka podľa osi súmernosti robota a záporný uhol otáčania spôsobí cúvanie robota pri kreslení oblúka,GRobot.zrusSpojnicu
, GRobot.farbaNaMysi()
a GRobot.farbaNaMysi(farba)
,GRobot.kopírujSpojnice
a GRobot.zrušSpojnice
.Zoznam úprav:
Táto verzia sa vo veľkej miere dotýkala zmien v dokumentácii. Poďakovanie: pribudlo šesť príkladov (rôzne druhy písma, indikátor farby na myši, vymyslená mapa sveta, obláčiky na oblohe, prechod obrázkov a vypĺňanie čmáranice), jadro ktorých vytvoril Pavol Kusý. Touto cestou mu ďakujem.
Zoznam úprav:
GRobot.jeSpojnica
,GRobot.smerujeDoCieľa
,Súbor.čítajVlastnosť
(všetky reťazcové, číselné verzie a booleovská verzia), všetky teraz dokážu akceptovať null
ako predvolenú hodnotu (samozrejme patrične pretypovanú) a všetky sú schopné vrátiť null
, ak textová hodnota vlastnosti v čítanom súbore je „null“,Súbor.zachovajNepoužitéVlastnosti
, odstraňujNepoužitéVlastnosti
; trieda Súbor
je teraz prepnuteľná do režimu filtrovania nepoužitých vlastností,Svet.uvoľni(ktorý)
) sú teraz dôslednejšie – zaoberajú sa aj rušením jestvujúcich spojníc a uvoľnením robota zo služby s cieľom kreslenia oblasti; v prípade, že je uvoľnený hlavný robot, nastúpi na jeho miesto najbližší jestvujúci robot,upravReťazec
, upravCeléČíslo
(v tejto verzii bol implementovaný chybný vstupný údajový typ – int
namiesto long
– oprava nastala až vo verzii 1.75), upravReálneČíslo
, a pod.,kolieskoMyši
, rolovanieKolieskomMyšiX
, rolovanieKolieskomMyšiY
, rolovanieKolieskomMyši
,KontextováPonuka
a KontextováPoložka
,Dokumentácia je priebežne masívne zlepšovaná. Na niektorých miestach je to otázka mierneho spresnenia formulácie, niekde ide o zlepšenie vzájomnej previazanosti skupiny metód pomocou odkazov v sekciách „pozri tiež“, inde o doplnenie príkladov použitia alebo iných doplňujúcich a spresňujúcich poznámok…
Zoznam úprav:
Robot
bolo zmenené na terajšie GRobot
, zároveň do definície tejto triedy pribudli implementácie (predbežne prázdnych) rozhraní Poloha
a Smer
(pozri vysvetlenie nižšie),Zoznam.vymeň
, pri príležitosti revízie triedy Zoznam
boli z jej deklaračnej časti odstránené všetky výskyty všeobecného typu Object
, nahradil ich typový parameter Typ
,Tlačidlo
pribudol nový konštruktor Tlačidlo(Obrázok, Obrázok)
, ktorému sa prispôsobilo aj správanie konštruktora Tlačidlo(Obrázok)
(oba konštruktory teraz vytvárajú nedekorované tlačidlo) a boli pridané metódy Tlačidlo.zrušDekor
a Tlačidlo.obnovDekor
,Obrázok.svetlejší
.Premenovanie hlavnej triedy skupiny tried grafického robota nastalo z dôvodu existencie triedy Robot
v balíčku java.awt
. V súlade s dlhodobým plánom zvyšovania robustnosti a vnútornej objektovej previazanosti skupiny tried grafického robota sa ústredná trieda stala implementáciou rozhraní Poloha
a Smer
(ktoré sú v tejto verzii predbežne prázdne). Rozhrania budú implementované aj ďalšími triedami skupiny tried grafického robota. Postupne budú metódy prijímajúce objekt robota s cieľom získana polohy alebo smeru, napríklad: skočNa(iný)
, otoč(iný)
, transformované tak, aby prijímali príslušné rozhranie (t. j. ich definícia bude zovšeobecnená). Stanú sa tak robustnejšími. Pozitívnym vedľajším efektom je zachovanie spätnej kompatibility (čo sa nie vždy úspešne darí).
Zoznam úprav:
Tlačidlo.aktivované
/Tlačidlo.zvolené
spolu s upozorneniami na rozdielnosť oproti metódam Tlačidlo.aktívne
a Tlačidlo.označené
do dokumentácie.Zoznam úprav:
riadok
, majorVersion
, minorVersion
, mainDeveloper
a years
boli vyhlásené za zastarané a boli namiesto nich vytvorené nové konštanty dodržujúce pravidlá zápisu identifikátorov konštánt jazyka Java,myšV
, otoč
, smerNa
, vzdialenosť
a iné…) prešli optimalizáciou, pričom ich funkcionalita sa navonok nijako nezmenila.(Viacero úprav sa dotýkalo dokumentácie.)
Zoznam úprav:
Svet.povoľViacnásobnúObsluhuUdalostí
a Svet.presmerujObsluhuUdalostí(ObsluhaUdalostí)
,Tlačidlo.viditeľné
, Tlačidlo.zobrazené
, Tlačidlo.zobraz
, Tlačidlo.skry
,Farba.bledšia
na Farba.svetlejšia
a na zachovanie kompatibility pridaný alias Farba.bledšia
,GRobot.zobraz
bol konvertovaný na alternatívnu verziu metódy GRobot.ukáž
(t. j. na rovnocennú metódu),Svet.zobrazený
, ktorá je alternatívou metódy Svet.viditeľný
.(Mnohé úpravy sa dotýkali aj dokumentácie.)
Zoznam úprav:
protected
boli zmenené na public
(pri viacerých išlo o omyl, pri niektorých išlo o predchádzajúce zvažovanie toho, či budú prvky súkromné alebo verejné, preto boli predbežne označené za chránené; dnes je jasné, že musia byť verejné, takže bol príznak „chránené“ zmenený na „verejné“),Zvuk.slučka
sa stala zastaranou (v niektorej z nasledujúcich verzií bude odstránená).Zoznam úprav:
Tlačidlo.mnemonickáSkratka
,Tlačidlo
,(Mnohé úpravy sa dotýkali aj dokumentácie.)
Významné zmeny:
myšV
,Tlačidlo
,ÚdajeUdalostí.tlačidlo
,ObsluhaUdalostí.voľbaTlačidla
.(Dokumentácia bola tiež značne rozšírená. Okrem opisov novej funkcionality boli revidované niektoré staršie opisy, boli pridané nové príklady použitia a pod.)
Zoznam úprav:
spojnica
– ak spojnica jestvovala, jej parametre sa síce aktualizovali, no nebolo vykonané automatické prekreslenie,GRobot.rozbehniSa
(odteraz sa robot po volaní tejto verzie metódy bude rozbiehať vždy dopredu) a zároveň bola pridaná metóda GRobot.začniCúvať
,Svet.použiKonfiguráciu
,Súbor.pripoj
.História zmien pred touto verziou nebola uchovávaná.