src/hbutils/document/hbdocumentloaderfactory_p.cpp
changeset 1 f7ac710697a9
parent 0 16d8024aca5e
child 2 06ff229162e9
--- a/src/hbutils/document/hbdocumentloaderfactory_p.cpp	Mon Apr 19 14:02:13 2010 +0300
+++ b/src/hbutils/document/hbdocumentloaderfactory_p.cpp	Mon May 03 12:48:33 2010 +0300
@@ -89,15 +89,17 @@
     HbWidgetRoleListViewPrototype,  // deprecated
     HbWidgetRoleGroupBoxContentWidget,
     HbWidgetRoleAbstractViewPrototype,
+    HbWidgetRoleStackedContentWidget,
     HbWidgetRoleAmount // needs to be the last one
 };
 
 enum HbDocumentLoaderFactoryObjectRoles {
     HbObjectRoleUnknown, // needs to be the first one = 0
-    HbObjectRoleDialogPrimaryAction,
-    HbObjectRoleDialogSecondaryAction,
-    HbObjectRoleMenuAction,
-    HbObjectRoleToolBarAction,
+    HbObjectRoleDialogPrimaryAction, // deprecated
+    HbObjectRoleDialogSecondaryAction, // deprecated
+    HbObjectRoleMenuAction, // deprecated
+    HbObjectRoleToolBarAction, // deprecated
+    HbObjectRoleWidgetAction,
     HbObjectRoleAmount // needs to be the last one
 };
 
@@ -117,6 +119,7 @@
     { "HbListView:prototype", HbWidgetRoleListViewPrototype },  // deprecated
     { "HbMenu:menu", HbWidgetRoleMenuSubmenu },
     { "HbScrollArea:contents", HbWidgetRoleScrollAreaContents },
+    { "HbStackedWidget:contentWidget", HbWidgetRoleStackedContentWidget },
     { "HbView:menu", HbWidgetRoleViewMenu },
     { "HbView:toolBar", HbWidgetRoleViewToolBar },
     { "HbView:widget", HbWidgetRoleViewWidget }
@@ -125,10 +128,11 @@
 // Used in binary seacrh, so keep name fields in alphabetical order.
 const HbDocumentLoaderFactoryKnownValue objectRoles[HbObjectRoleAmount - 1] =
 {
-    { "HbDialog:primaryAction", HbObjectRoleDialogPrimaryAction },
-    { "HbDialog:secondaryAction", HbObjectRoleDialogSecondaryAction },
-    { "HbMenu:addAction", HbObjectRoleMenuAction },
-    { "HbToolBar:addAction", HbObjectRoleToolBarAction }
+    { "HbDialog:primaryAction", HbObjectRoleDialogPrimaryAction }, // deprecated
+    { "HbDialog:secondaryAction", HbObjectRoleDialogSecondaryAction }, // deprecated
+    { "HbMenu:addAction", HbObjectRoleMenuAction }, // deprecated
+    { "HbToolBar:addAction", HbObjectRoleToolBarAction }, // deprecated
+    { "HbWidget:addAction", HbObjectRoleWidgetAction }
 };
 
 inline bool operator<(
@@ -372,6 +376,16 @@
         }
         break;
 
+    case HbWidgetRoleStackedContentWidget:
+        {
+            HbStackedWidget *stacked= qobject_cast<HbStackedWidget *>(parent);
+            success = (stacked != 0);
+            if (stacked) {
+                stacked->addWidget(child);
+            }
+        }
+        break;
+
     case HbWidgetRoleUnknown:
     default:
         success = false;
@@ -393,41 +407,15 @@
 
     switch (findKnownValue(role, objectRoles, HbObjectRoleAmount)) {
     case HbObjectRoleDialogPrimaryAction:
-        {
-            HbDialog *popup = qobject_cast<HbDialog *>(parent);
-            success = (popup != 0);
-            if (popup) {
-                popup->setPrimaryAction(qobject_cast<HbAction *>(child));
-            }
-        }
-        break;
-
     case HbObjectRoleDialogSecondaryAction:
+    case HbObjectRoleMenuAction:
+    case HbObjectRoleToolBarAction:
+    case HbObjectRoleWidgetAction:
         {
-            HbDialog *popup = qobject_cast<HbDialog *>(parent);
-            success = (popup != 0);
-            if (popup) {
-                popup->setSecondaryAction(qobject_cast<HbAction *>(child));
-            }
-        }
-        break;
-    
-    case HbObjectRoleMenuAction:
-        {
-            HbMenu *menu = qobject_cast<HbMenu *>(parent);
-            success = (menu != 0);
-            if (menu) {
-                menu->addAction(qobject_cast<QAction *>(child));
-            }
-        }
-        break;
-
-    case HbObjectRoleToolBarAction:
-        {
-            HbToolBar *toolBar = qobject_cast<HbToolBar *>(parent);
-            success = (toolBar != 0);
-            if (toolBar) {
-                toolBar->addAction(qobject_cast<HbAction *>(child));
+            HbWidget *widget = qobject_cast<HbWidget*>(parent);
+            success = (widget != 0);
+            if (widget) {
+                widget->addAction(qobject_cast<HbAction *>(child));
             }
         }
         break;