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
, Svet.poslednáVýškaTextu
, Svet.vystreď
a Svet.nebolPrekreslený
(a jej klony),upravText
a ukončenieÚpravyTextu
,aktiváciaOkna
, deaktiváciaOkna
, ť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
, 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ť k 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 tý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 za účelom kreslenia oblasti; v prípade, že je uvoľnený hlavný robot, nastúpi na jeho miesto najbližší jestvujúci robot,upravReťazec
, upravCeléČíslo
, 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. Následne budú metódy prijímajúce objekt robota za účelom 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 prehlá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 tý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 tý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 tý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á, pretože skupina tried grafického robota bola vo vývoji.