userguide/src/HelpDocumentLoader.cpp
changeset 15 c0dfc135a46c
parent 13 1eb8015a8491
child 18 375271912456
equal deleted inserted replaced
13:1eb8015a8491 15:c0dfc135a46c
    22 #include "HelpDocumentLoader.h"
    22 #include "HelpDocumentLoader.h"
    23 
    23 
    24 
    24 
    25 ////////////////////////////////////////////////////////////////////////////////////////////
    25 ////////////////////////////////////////////////////////////////////////////////////////////
    26 
    26 
    27 class HelpDocumentLoader : public HbDocumentLoader
       
    28 {
       
    29 private:
       
    30     virtual QObject* createObject(const QString& type, const QString& name);
       
    31 };
       
    32     
       
    33 QObject* HelpDocumentLoader::createObject(const QString& type, const QString& name)
    27 QObject* HelpDocumentLoader::createObject(const QString& type, const QString& name)
    34 {
    28 {
    35     if(type == HelpCategoryView::staticMetaObject.className())
       
    36     {
       
    37         QObject* object = new HelpCategoryView;
       
    38         object->setObjectName(name);
       
    39         return object;
       
    40     }
       
    41 
       
    42     if(type == HelpContentsView::staticMetaObject.className())
       
    43     {
       
    44         QObject* object = new HelpContentsView;
       
    45         object->setObjectName(name);
       
    46         return object;
       
    47     }
       
    48     
       
    49     if(type == BrowserWrapper::staticMetaObject.className())    
    29     if(type == BrowserWrapper::staticMetaObject.className())    
    50     {
    30     {
    51         QObject* object = new BrowserWrapper;
    31         QObject* object = new BrowserWrapper;
    52         object->setObjectName(name);
    32         object->setObjectName(name);
    53         return object;
    33         return object;
    56     return HbDocumentLoader::createObject(type, name);
    36     return HbDocumentLoader::createObject(type, name);
    57 }
    37 }
    58 
    38 
    59 
    39 
    60 ////////////////////////////////////////////////////////////////////////////////////////////
    40 ////////////////////////////////////////////////////////////////////////////////////////////
    61 
    41 void HelpUIBuilder::setObjectTree(QObjectList roots)
    62 HbDocumentLoader* gHelpUIBuilderInstance = NULL;
       
    63 
       
    64 HbDocumentLoader* HelpUIBuilder::instance()
       
    65 {
    42 {
    66     if(!gHelpUIBuilderInstance)
    43 	mDocLoader.setObjectTree(roots);
    67     {
       
    68         gHelpUIBuilderInstance = new HelpDocumentLoader();
       
    69     }
       
    70 
       
    71     return gHelpUIBuilderInstance;
       
    72 }
       
    73 
       
    74 void HelpUIBuilder::destroyInstance()
       
    75 {
       
    76     delete gHelpUIBuilderInstance;
       
    77     gHelpUIBuilderInstance = NULL;
       
    78 }
    44 }
    79 
    45 
    80 QObjectList HelpUIBuilder::load(const QString& fileName)
    46 QObjectList HelpUIBuilder::load(const QString& fileName)
    81 { 
    47 { 
    82     bool ok = false;
    48     bool ok = false;
    83     QObjectList list = instance()->load(fileName, &ok);
    49     QObjectList list = mDocLoader.load(fileName, &ok);
    84     Q_ASSERT_X(ok, "Help", "HelpUIBuilder load file");
    50     Q_ASSERT_X(ok, "Help", "HelpUIBuilder load file");
    85     return list;
    51     return list;
    86 }
    52 }
    87 
    53 
    88 QObjectList HelpUIBuilder::load(const QString& fileName, const QString& section)
    54 QObjectList HelpUIBuilder::load(const QString& fileName, const QString& section)
    89 {
    55 {
    90     bool ok = false;
    56     bool ok = false;
    91     QObjectList list = instance()->load(fileName, section, &ok);
    57     QObjectList list = mDocLoader.load(fileName, section, &ok);
    92     Q_ASSERT_X(ok, "Help", "HelpUIBuilder load section");
    58     Q_ASSERT_X(ok, "Help", "HelpUIBuilder load section");
    93     return list;
    59     return list;
    94 }
    60 }
    95 
    61 
    96 QGraphicsWidget* HelpUIBuilder::findWidget(const QString& name)
    62 QGraphicsWidget* HelpUIBuilder::findWidget(const QString& name)
    97 {
    63 {
    98     return instance()->findWidget(name);
    64     return mDocLoader.findWidget(name);
    99 }
    65 }
   100 
    66 
   101 QObject* HelpUIBuilder::findObject(const QString& name)
    67 QObject* HelpUIBuilder::findObject(const QString& name)
   102 {
    68 {
   103     return instance()->findObject(name);
    69     return mDocLoader.findObject(name);
   104 }
    70 }
   105 
       
   106 
       
   107 
    71 
   108 // end of file
    72 // end of file
   109 
    73