Public Types |
enum | SaveFlags { kWriteWindowsResourceFile = 1 << 0,
kWriteImagesIntoXMLFile = 1 << 1
} |
Public Member Functions |
| UIDescription (const CResourceDescription &xmlFile, IViewFactory *viewFactory=0) |
| UIDescription (Xml::IContentProvider *xmlContentProvider, IViewFactory *viewFactory=0) |
| ~UIDescription () |
virtual bool | parse () |
virtual bool | save (UTF8StringPtr filename, int32_t flags=kWriteWindowsResourceFile) |
virtual bool | saveWindowsRCFile (UTF8StringPtr filename) |
bool | storeViews (const std::list< CView * > views, OutputStream &stream, UIAttributes *customData=0) const |
bool | restoreViews (InputStream &stream, std::list< SharedPointer< CView > > &views, UIAttributes **customData=0) |
UTF8StringPtr | getXmFileName () const |
CView * | createView (UTF8StringPtr name, IController *controller) |
const UIAttributes * | getViewAttributes (UTF8StringPtr name) |
void | setController (IController *controller) |
CBitmap * | getBitmap (UTF8StringPtr name) |
CFontRef | getFont (UTF8StringPtr name) |
bool | getColor (UTF8StringPtr name, CColor &color) |
int32_t | getTagForName (UTF8StringPtr name) const |
CControlListener * | getControlListener (UTF8StringPtr name) |
IController * | getController () const |
IViewFactory * | getViewFactory () const |
UTF8StringPtr | lookupColorName (const CColor &color) const |
UTF8StringPtr | lookupFontName (const CFontRef font) const |
UTF8StringPtr | lookupBitmapName (const CBitmap *bitmap) const |
UTF8StringPtr | lookupControlTagName (const int32_t tag) const |
void | collectTemplateViewNames (std::list< const std::string * > &names) const |
void | collectColorNames (std::list< const std::string * > &names) const |
void | collectFontNames (std::list< const std::string * > &names) const |
void | collectBitmapNames (std::list< const std::string * > &names) const |
void | collectControlTagNames (std::list< const std::string * > &names) const |
void | changeColorName (UTF8StringPtr oldName, UTF8StringPtr newName) |
void | changeTagName (UTF8StringPtr oldName, UTF8StringPtr newName) |
void | changeFontName (UTF8StringPtr oldName, UTF8StringPtr newName) |
void | changeBitmapName (UTF8StringPtr oldName, UTF8StringPtr newName) |
void | changeColor (UTF8StringPtr name, const CColor &newColor) |
void | changeFont (UTF8StringPtr name, CFontRef newFont) |
void | changeBitmap (UTF8StringPtr name, UTF8StringPtr newName, const CRect *nineparttiledOffset=0) |
void | changeBitmapFilters (UTF8StringPtr bitmapName, const std::list< SharedPointer< UIAttributes > > &filters) |
void | collectBitmapFilters (UTF8StringPtr bitmapName, std::list< SharedPointer< UIAttributes > > &filters) const |
void | removeColor (UTF8StringPtr name) |
void | removeTag (UTF8StringPtr name) |
void | removeFont (UTF8StringPtr name) |
void | removeBitmap (UTF8StringPtr name) |
void | changeAlternativeFontNames (UTF8StringPtr name, UTF8StringPtr alternativeFonts) |
bool | getAlternativeFontNames (UTF8StringPtr name, std::string &alternativeFonts) |
bool | hasColorName (UTF8StringPtr name) |
bool | hasTagName (UTF8StringPtr name) |
bool | hasFontName (UTF8StringPtr name) |
bool | hasBitmapName (UTF8StringPtr name) |
void | updateViewDescription (UTF8StringPtr name, CView *view) |
bool | getTemplateNameFromView (CView *view, std::string &templateName) const |
bool | addNewTemplate (UTF8StringPtr name, UIAttributes *attr) |
bool | removeTemplate (UTF8StringPtr name) |
bool | changeTemplateName (UTF8StringPtr name, UTF8StringPtr newName) |
bool | duplicateTemplate (UTF8StringPtr name, UTF8StringPtr duplicateName) |
bool | setCustomAttributes (UTF8StringPtr name, UIAttributes *attr) |
UIAttributes * | getCustomAttributes (UTF8StringPtr name, bool create=false) |
bool | getControlTagString (UTF8StringPtr tagName, std::string &tagString) const |
bool | changeControlTagString (UTF8StringPtr tagName, const std::string &newTagString, bool create=false) |
bool | getVariable (UTF8StringPtr name, double &value) const |
bool | calculateStringValue (UTF8StringPtr str, double &result) const |
void | setBitmapCreator (IBitmapCreator *bitmapCreator) |
virtual void | addDependency (CBaseObject *obj) |
virtual void | removeDependency (CBaseObject *obj) |
virtual void | changed (IdStringPtr message) |
virtual void | deferChanges (bool state) |
|
|
virtual void | forget () |
| decrease refcount and delete object if refcount == 0
|
virtual void | remember () |
| increase refcount
|
virtual int32_t | getNbReference () const |
| get refcount
|
|
|
virtual CMessageResult | notify (CBaseObject *sender, IdStringPtr message) |
Static Public Member Functions |
static bool | parseColor (const std::string &colorString, CColor &color) |
Static Public Attributes |
static CViewAttributeID | kTemplateNameAttributeID = 'uitl' |
static IdStringPtr | kMessageTagChanged = "kMessageTagChanged" |
static IdStringPtr | kMessageColorChanged = "kMessageColorChanged" |
static IdStringPtr | kMessageFontChanged = "kMessageFontChanged" |
static IdStringPtr | kMessageBitmapChanged = "kMessageBitmapChanged" |
static IdStringPtr | kMessageTemplateChanged = "kMessageTemplateChanged" |
static IdStringPtr | kMessageBeforeSave = "kMessageBeforeSave" |
Protected Types |
typedef std::set< IdStringPtr > | DeferedChangesSet |
typedef std::list< CBaseObject * > | DependentList |
Protected Member Functions |
CView * | createViewFromNode (UINode *node) |
UINode * | getBaseNode (UTF8StringPtr name) const |
UINode * | findChildNodeByNameAttribute (UINode *node, UTF8StringPtr nameAttribute) const |
UINode * | findNodeForView (CView *view) const |
bool | updateAttributesForView (UINode *node, CView *view, bool deep=true) |
void | addDefaultNodes () |
bool | saveToStream (OutputStream &stream, int32_t flags) |
void | startXmlElement (Xml::Parser *parser, IdStringPtr elementName, UTF8StringPtr *elementAttributes) |
void | endXmlElement (Xml::Parser *parser, IdStringPtr name) |
void | xmlCharData (Xml::Parser *parser, const int8_t *data, int32_t length) |
void | xmlComment (Xml::Parser *parser, IdStringPtr comment) |
Static Protected Member Functions |
static void | rememberObject (CBaseObject *obj) |
static void | forgetObject (CBaseObject *obj) |
Protected Attributes |
CResourceDescription | xmlFile |
UINode * | nodes |
IController * | controller |
IViewFactory * | viewFactory |
Xml::IContentProvider * | xmlContentProvider |
IBitmapCreator * | bitmapCreator |
std::deque< IController * > | subControllerStack |
std::deque< UINode * > | nodeStack |
bool | restoreViewsMode |
int32_t | deferChangeCount |
DeferedChangesSet | deferedChanges |
DependentList | dependents |
XML description parser and view creator.