#include <map_object_resource_handler.h>
Veřejné metody | |
virtual BombicMapObject * | createMapObject (const QDomElement &rootEl)=0 |
Vytvorit novy objekt mapy. | |
virtual BombicMapObject::Type | type ()=0 |
Typ resource handleru. | |
virtual bool | canHandle (const QDomElement &rootEl)=0 |
Zda umi nacist objekt reprezentovany takovym XML elementem. | |
Statické veřejné metody | |
static MapObjectResourceHandler * | resourceHandler (const QDomElement &rootEl) |
Specializovany resource handler podle XML elementu. | |
static void | initResourceHandlers () |
Inicializace dostupnych (registrovanych) handleru. | |
Statické chráněné metody | |
static bool | getSubElement (const QDomElement &el, QDomElement &subEl, const QString &subElTagName="img") |
Najde podelement podle jmena. | |
static bool | getIntAttr (const QDomElement &el, int &attr, const QString &attrName, bool successIfMissing=false) |
Precte integer hodnotu atributu. | |
static bool | getAttrsXY (const QDomElement &el, int &x, int &y) |
Precte hodnotu atributu x,y. | |
static const QPixmap & | sourcePixmap () |
Zdrojovy obrazek. | |
Privátní typy | |
typedef QLinkedList < MapObjectResourceHandler * > | RHListT |
Typ seznamu handleru. | |
Statické privátní atributy | |
static RHListT | resourceHandlers_ |
Seznam dostupnych (registrovanych) handleru. |
Definuje API, kterym lze vytvaret objekt mapy. Sam drzi instance vsech handleru specializovanych na jednotlive typy objektu a pomoci sofistikovaneho mechanismu vybere podle korenoveho elementu dokumentu, ktery specifikuje nejaky objekt mapy, resource handler, ktery umi tento dokument zpracovat a vytvorit odpovidajici objekt.
typedef QLinkedList<MapObjectResourceHandler *> MapObjectResourceHandler::RHListT [private] |
Typ seznamu handleru.
virtual BombicMapObject* MapObjectResourceHandler::createMapObject | ( | const QDomElement & | rootEl | ) | [pure virtual] |
Vytvorit novy objekt mapy.
Implementováno v BonusResourceHandler, BoxResourceHandler, CreatureResourceHandler, FloorobjectResourceHandler, PlayerResourceHandler a WallResourceHandler.
virtual BombicMapObject::Type MapObjectResourceHandler::type | ( | ) | [pure virtual] |
Typ resource handleru.
Implementováno v BonusResourceHandler, BoxResourceHandler, CreatureResourceHandler, FloorobjectResourceHandler, PlayerResourceHandler a WallResourceHandler.
virtual bool MapObjectResourceHandler::canHandle | ( | const QDomElement & | rootEl | ) | [pure virtual] |
Zda umi nacist objekt reprezentovany takovym XML elementem.
Implementováno v BonusResourceHandler, BoxResourceHandler, CreatureResourceHandler, FloorobjectResourceHandler, PlayerResourceHandler a WallResourceHandler.
MapObjectResourceHandler * MapObjectResourceHandler::resourceHandler | ( | const QDomElement & | rootEl | ) | [static] |
Specializovany resource handler podle XML elementu.
Podle dat zadanych korenovym elementem rootEl
najde specializovany resource handler, ktery umi data zpracovat. Pokud nema informace o handleru, ktery by umel zpracovat zadana data, tise vraci nulu (0). Vraceny pointer zustava ve vlastnictvi MapObjectResouceHandler
a nebude nikdy dealokovan (jeho platnost zustava do konce aplikace).
rootEl | korenovy element dokumentu definujici nejaky objekt mapy |
0 | Neznamy druh objektu, ktery neni podporovan (nebo registrovan). |
void MapObjectResourceHandler::initResourceHandlers | ( | ) | [static] |
Inicializace dostupnych (registrovanych) handleru.
Vytvori instance vsech registrovanych specialnich resource handleru a ulozi si je pro pozdejsi vydavani. Handlery jsou registrovany primo v teto fci a nikde jinde. Inicializace muze byt vyvolana vicekrat, dalsi volani nemaji zadny efekt.
static bool MapObjectResourceHandler::getSubElement | ( | const QDomElement & | el, | |
QDomElement & | subEl, | |||
const QString & | subElTagName = "img" | |||
) | [inline, static, protected] |
Najde podelement podle jmena.
static bool MapObjectResourceHandler::getIntAttr | ( | const QDomElement & | el, | |
int & | attr, | |||
const QString & | attrName, | |||
bool | successIfMissing = false | |||
) | [inline, static, protected] |
Precte integer hodnotu atributu.
static bool MapObjectResourceHandler::getAttrsXY | ( | const QDomElement & | el, | |
int & | x, | |||
int & | y | |||
) | [inline, static, protected] |
Precte hodnotu atributu x,y.
static const QPixmap& MapObjectResourceHandler::sourcePixmap | ( | ) | [inline, static, protected] |
Zdrojovy obrazek.
MapObjectResourceHandler::RHListT MapObjectResourceHandler::resourceHandlers_ [static, private] |
Seznam dostupnych (registrovanych) handleru.