#include <resource_handler.h>
Veřejné typy | |
typedef QList< QString > | ObjectNamesT |
typedef QSet< QString > | BackgroundNamesT |
Veřejné sloty | |
void | loadMapObject () |
Nacte objekt mapy (vybrany uzivatelem). | |
void | loadSetByName (const QString &setName) |
Nacte sadu objektu podle jmena. | |
void | loadAllSets () |
Nacte vsechny sady objektu. | |
Veřejné metody | |
ResourceHandler (QObject *parent=0) | |
Konstruuje ResourceHandler. | |
~ResourceHandler () | |
Destruuje ResourceHandler. | |
BombicMap * | loadMap () |
Nacte mapu (vybranou uzivatelem). | |
BombicMap * | loadEmptyMap () |
Nacte prazdnou mapu s defaultnim pozadim. | |
bool | saveMap (BombicMap *map) |
Ulozi mapu (do puvodniho umisteni). | |
bool | saveMapAs (BombicMap *map) |
Ulozi mapu do noveho umisteni (vybere uzivatel). | |
BombicMapBackground * | loadMapBackground (const QString &name) |
Nacte pozadi mapy podle jmena. | |
void | autoLoadObjects () |
Nacte objekty, ktere maji byt automaticky nacteny. | |
void | loadSetByBackground (const QString &bgName) |
Nacte sadu objektu podle jmena pozadi. | |
BackgroundNamesT | backgroundsInSets () |
Jmena pozadi ulozena v nacitacich sadach. | |
Chráněné metody | |
BombicMap * | loadMap (const QString &name) |
Nacte mapu podle jmena. | |
BombicMapObject * | loadMapObject (const QString &name) |
Nacte objekt mapy podle jmena. | |
bool | loadSourcePixmap (const QDomElement &el, const QString &attrName="src") |
Nacte zdrojovy obrazek. | |
void | parseEditorFile () |
Parsovat data v souboru editoru a ulozit je. | |
void | initAutoLoadObjects (const QDomElement &rootEl) |
Inicializovat automaticky nacitane objekty. | |
void | initLoadSets (const QDomElement &rootEl) |
Inicializovat nacitaci sady. | |
void | xmlObjectNamesToList (const QDomElement &parentEl, ObjectNamesT &objectNames) |
Vlozit jmena objektu z xml do seznamu. | |
void | xmlBackgroundNamesToList (const QDomElement &parentEl, BackgroundNamesT &backgrounds) |
Vlozit jmena pozadi z xml do seznamu. | |
void | loadSet (const LoadSetT &set) |
Nacist sadu objektu. | |
Chráněné atributy | |
QSignalMapper * | loadSetsSignalMapper_ |
Mapovani nacitacich polozek menu na sady. | |
QHash< QString, LoadSetT > | loadSets_ |
Nacitaci sady. | |
ObjectNamesT | autoLoadObjects_ |
Objekty, ktere maji byt nacteny automaticky. | |
QPixmap | sourcePixmap_ |
Zdrojovy obrazek. | |
QString | sourcePixmapName_ |
Jmeno zdrojoveho obrazku v sourcePixmap_. | |
MapResourceHandler * | mapResourceHandler_ |
Resource handler obstaravajici mapu. | |
Friends | |
class | MapResourceHandler |
class | MapObjectResourceHandler |
Třídy | |
struct | LoadSetT |
Mnozina objektu, ktere se nacitaji soucasne. ... |
ResourceHandler obstarava vnejsi prostredky (data) a prevadi je na vnitrne pouzivane objekty. Objekty mapy registruje v palete objektu, jejich konstrukci vsak prenechava specializovanym resource handlerum. Poskytuje hlavnim castem programu takovou miru abstrakce, ze mimo system resource handleru neni treba pracovat s daty na disku. Vyuziva funkce z namespace ResourceHandlerFunctions
. Nacita automaticky objekty a resi nacitani objektu podle loadsetů.
typedef QList<QString> ResourceHandler::ObjectNamesT |
typedef QSet<QString> ResourceHandler::BackgroundNamesT |
ResourceHandler::ResourceHandler | ( | QObject * | parent = 0 |
) |
Konstruuje ResourceHandler.
parent | rodic - predany do QObject::QObject() |
ResourceHandler::~ResourceHandler | ( | ) |
Destruuje ResourceHandler.
BombicMap * ResourceHandler::loadMap | ( | ) |
Nacte mapu (vybranou uzivatelem).
Necha uzivatele vybrat mapu a tu pote nacte. Vlastnictvi nove naalokovane mapy prechazi na volajiciho.
0 | Mapa nebyla nactena. |
BombicMap * ResourceHandler::loadEmptyMap | ( | ) |
Nacte prazdnou mapu s defaultnim pozadim.
Vlastnictvi nove naalokovane mapy prechazi na volajiciho.
bool ResourceHandler::saveMap | ( | BombicMap * | map | ) |
Ulozi mapu (do puvodniho umisteni).
Pokud ma mapa prirazene jmeno souboru, ulozi mapu do tohoto souboru. Jinak necha vybrat uzivatele.
map | mapa, ktera se ma ulozit |
bool ResourceHandler::saveMapAs | ( | BombicMap * | map | ) |
Ulozi mapu do noveho umisteni (vybere uzivatel).
Necha vybrat uzivatele nove jmeno souboru a mapu do nej ulozi.
map | mapa, ktera se ma ulozit |
BombicMapBackground * ResourceHandler::loadMapBackground | ( | const QString & | name | ) |
Nacte pozadi mapy podle jmena.
name | jmeno pozadi (nebo souboru s pozadim) |
0 | nastala chyba, pozadi nevytvoreno |
void ResourceHandler::autoLoadObjects | ( | ) |
Nacte objekty, ktere maji byt automaticky nacteny.
Nacte objekty, ktere jsou vedene jako automaticky nacitane.
void ResourceHandler::loadSetByBackground | ( | const QString & | bgName | ) |
Nacte sadu objektu podle jmena pozadi.
Pokusi se najit sadu podle daneho pozadi. Objekty v sade nacte.
bgName | nazev pozadi |
ResourceHandler::BackgroundNamesT ResourceHandler::backgroundsInSets | ( | ) |
Jmena pozadi ulozena v nacitacich sadach.
Ziska z nacitacich sad jmena pozadi.
void ResourceHandler::loadMapObject | ( | ) | [slot] |
Nacte objekt mapy (vybrany uzivatelem).
Necha uzivatele vybrat soubory s objekty mapy, vsechny vybrane objekty se pokusi nahrat.
void ResourceHandler::loadSetByName | ( | const QString & | setName | ) | [slot] |
Nacte sadu objektu podle jmena.
Nacte objekty, ktere jsou vedene v sade pojmenovane jako setName
.
setName | nazev sady, kterou chceme nacist |
void ResourceHandler::loadAllSets | ( | ) | [slot] |
Nacte vsechny sady objektu.
Nacte postupne vsechny dostupne sady objektu.
BombicMap * ResourceHandler::loadMap | ( | const QString & | name | ) | [protected] |
Nacte mapu podle jmena.
name | jmeno mapy (nebo primo cesta k souboru) |
0 | mapu se nepodarilo vyrobit |
BombicMapObject * ResourceHandler::loadMapObject | ( | const QString & | name | ) | [protected] |
Nacte objekt mapy podle jmena.
Spolupracuje s MapObjectPalette. Pred nahranim noveho objektu se ujisti, ze jeste v palete neni. Pokud objekt v palete jiz je, vraci objekt z palety. Jinak se pokusi objekt nacist pomoci specializovaneho resource handleru. Pokud se podari objekt nacist, novy objekt registruje v palete a zaroven ho vraci. Vlastn�kem objektu je tedy paleta. Pokud chcete objekt vlastnit, z vraceneho objektu si vytvorte kopii.
name | jmeno objektu (nebo primo cesta k souboru) |
0 | objekt se nepodarilo nahrat |
bool ResourceHandler::loadSourcePixmap | ( | const QDomElement & | el, | |
const QString & | attrName = "src" | |||
) | [protected] |
Nacte zdrojovy obrazek.
Zdrojovy obrazek je vcelku velky, a je v nem ulozeno vice objektu. Proto ResourceHandler drzi naposledy nacteny zdrojovy obrazek, kdyby nekdo priste chtel ten samy, uz se nemusi hledat a nacitat. Tato funkce tedy z xml atributu attrName
elementu el
precte nazev zdrojoveho obrazku a pokud tento obrazek jiz ma nacteny, pouze tise uspeje. Pokud je posledni nacteny obrazek jiny, tento obrazek nacte a ulozi ho do sourcePixmap_
. Pokud nastane chyba, sam zobrazuje relevantni informace. Zdrojovemu obrazku vytvori masku pruhlednosti podle pruhledne barvy.
el | element, ze ktereho se ma ziskat hodnota atributu | |
attrName | jmeno atributu, jehoz hodnota urci jmeno obrazku |
true | obrazek byl nacten a ulozen do sourcePixmap_ | |
false | obrazek nenacten |
void ResourceHandler::parseEditorFile | ( | ) | [protected] |
Parsovat data v souboru editoru a ulozit je.
Pokusi se najit souboru, ve kterem jsou systemova data a z nich inicializuje nacitaci sady a seznam automaticky nacitanych objektu.
void ResourceHandler::initAutoLoadObjects | ( | const QDomElement & | rootEl | ) | [protected] |
Inicializovat automaticky nacitane objekty.
Inicializuje seznam automaticky nacitanych objektu.
rootEl | korenovy element definice editoru |
void ResourceHandler::initLoadSets | ( | const QDomElement & | rootEl | ) | [protected] |
Inicializovat nacitaci sady.
Inicializuje seznam sad, ktere se nacitaji spolecne.
rootEl | korenovy element definice editoru |
void ResourceHandler::xmlObjectNamesToList | ( | const QDomElement & | parentEl, | |
ObjectNamesT & | objectNames | |||
) | [protected] |
Vlozit jmena objektu z xml do seznamu.
parentEl | rodicovsky element seznamu objektu | |
objectNames | seznam objektu, do ktereho se maji jmena objektu pridat |
void ResourceHandler::xmlBackgroundNamesToList | ( | const QDomElement & | parentEl, | |
BackgroundNamesT & | backgrounds | |||
) | [protected] |
Vlozit jmena pozadi z xml do seznamu.
parentEl | rodicovsky element seznamu pozadi | |
backgrounds | seznam pozadi, do ktereho se maji jmena pozadi pridat |
void ResourceHandler::loadSet | ( | const LoadSetT & | set | ) | [protected] |
Nacist sadu objektu.
set | sada, jejiz objekty chceme nacist |
friend class MapResourceHandler [friend] |
friend class MapObjectResourceHandler [friend] |
QSignalMapper* ResourceHandler::loadSetsSignalMapper_ [protected] |
Mapovani nacitacich polozek menu na sady.
QHash<QString, LoadSetT> ResourceHandler::loadSets_ [protected] |
Nacitaci sady.
ObjectNamesT ResourceHandler::autoLoadObjects_ [protected] |
Objekty, ktere maji byt nacteny automaticky.
QPixmap ResourceHandler::sourcePixmap_ [protected] |
Zdrojovy obrazek.
QString ResourceHandler::sourcePixmapName_ [protected] |
Jmeno zdrojoveho obrazku v sourcePixmap_.
MapResourceHandler* ResourceHandler::mapResourceHandler_ [protected] |
Resource handler obstaravajici mapu.