119 lines
3.4 KiB
JavaScript
119 lines
3.4 KiB
JavaScript
/*
|
|
* [Česky]
|
|
* Projekt: Robot Karel
|
|
* Copyright: Viz KOPIROVANI v kořenovém adresáři projektu
|
|
*
|
|
* [English]
|
|
* Project: Karel, the Robot
|
|
* Copyright: See COPYING in the top level directory
|
|
*/
|
|
|
|
// JavaScript - základní funkce pro panel nástrojů
|
|
|
|
// ===========================================================================
|
|
// =~ Globální proměnné ~=====================================================
|
|
|
|
// Informace o nástrojích
|
|
nastroje = new Object();
|
|
|
|
// Panel nástrojů
|
|
nastroje.nastroje = new Array(
|
|
[ "karel", "tip-karel", "Robot Karel",
|
|
"Přemísti Karla (jeden klik), otoč Karla vlevo (dvojklik)" ],
|
|
[ "domov", "tip-domov", "Domov", "Přemísti Karlův domov" ],
|
|
[ "zed", "tip-zed", "Zeď", "Postav, nebo zbourej zeď" ],
|
|
[ "znacka-plus", "tip-znacka-plus", "Polož značku",
|
|
"Polož jednu značku, nejvíce však 8 značek na jedno políčko" ],
|
|
[ "znacka-minus", "tip-znacka-minus", "Zvedni značku",
|
|
"Zvedni jednu značku, pokud je alespoň jedna na políčku" ],
|
|
null,
|
|
[ "smaz-vse", "tip-smaz-vse", "Vyčisti město",
|
|
"Vyčisti celé město, umísti Karla a domov do levého dolního rohu" ],
|
|
[ "smaz", "tip-smaz", "Posbírej značky",
|
|
"Posbírej všechny značky ze všech políček města" ],
|
|
null,
|
|
[ "nacist", "tip-nacist", "Načti město", "Načti uložené město (i slovník)" ],
|
|
[ "ulozit", "tip-ulozit", "Ulož město", "Ulož město pro budoucí použití" ],
|
|
[ "exportovat-k99", "tip-exportovat-k99", "Exportuj město",
|
|
"Ulož město do formátu Visual Karel 99" ]
|
|
);
|
|
nastroje.nastroje.id_prefix = "nastroje-";
|
|
nastroje.nastroje.mys = "nastroje.mys";
|
|
|
|
// Objekt pro práci s myší
|
|
nastroje.mys = new Mys(new Tooltip());
|
|
|
|
// ===========================================================================
|
|
// =~ Základní funkce pro práci s nástroji ~==================================
|
|
|
|
nastroje.zobraz_pozici = function (vyber)
|
|
{
|
|
if ( vyber ) {
|
|
document.getElementById("pozice-x").firstChild.firstChild.data = vyber.x+1;
|
|
document.getElementById("pozice-y").firstChild.firstChild.data = vyber.y+1;
|
|
} else {
|
|
document.getElementById("pozice-x").firstChild.firstChild.data = "\u2022";
|
|
document.getElementById("pozice-y").firstChild.firstChild.data = "\u2022";
|
|
}
|
|
}
|
|
|
|
nastroje.mys.prekresli_stav = function(nastroj, detail, zvyraznen, stisknut,
|
|
vybran)
|
|
{
|
|
tvoric.zvyraznovac(
|
|
nastroje.nastroje.id_prefix+nastroj, zvyraznen, stisknut, vybran);
|
|
}
|
|
|
|
nastroje.mys.proved_zvyrazneni = function(nastroj, detail)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
nastroje.mys.proved_vyber = function(nastroj, detail)
|
|
{
|
|
switch ( nastroj )
|
|
{
|
|
case "smaz-vse": {
|
|
ladici_vypis(LADENI, "nastroje.mys.proved_vyber", "výmaz města");
|
|
mesto.vymaz_mesto();
|
|
return false;
|
|
}
|
|
case "smaz": {
|
|
ladici_vypis(LADENI, "nastroje.mys.proved_vyber", "výmaz značek");
|
|
mesto.vymaz_znacky();
|
|
return false;
|
|
}
|
|
case "nacist": {
|
|
data.nacitani.nacti();
|
|
return false;
|
|
}
|
|
case "ulozit": {
|
|
data.ukladani.uloz_mesto();
|
|
return false;
|
|
}
|
|
case "exportovat-k99": {
|
|
data.ukladani.export_mesto_k99();
|
|
return false;
|
|
}
|
|
default: {
|
|
ladici_vypis(LADENI, "nastroje.mys.proved_vyber", "změna nástroje na '"+nastroj+"'");
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
nastroje.vybrany = function ()
|
|
{
|
|
return nastroje.mys.vybran.info;
|
|
}
|
|
|
|
nastroje.vyber = function (nastroj)
|
|
{
|
|
nastroje.mys.vyber(nastroj);
|
|
}
|
|
|
|
nastroje.mys.tooltip.obnov = function (tooltip, info, detail)
|
|
{
|
|
tvoric.obnov_tooltip( tooltip, detail.ikona, detail.nadpis, detail.popis );
|
|
}
|