src/hbutils/document/hbdocumentloaderactions_p.h
changeset 1 f7ac710697a9
parent 0 16d8024aca5e
child 7 923ff622b8b9
--- a/src/hbutils/document/hbdocumentloaderactions_p.h	Mon Apr 19 14:02:13 2010 +0300
+++ b/src/hbutils/document/hbdocumentloaderactions_p.h	Mon May 03 12:48:33 2010 +0300
@@ -37,7 +37,8 @@
 #include "hbdocumentloaderfactory_p.h"
 #include "hbdocumentloader_p.h"
 
-#include <hbxmlloaderabstractactions_p.h>
+#include <hbxmlloaderbaseactions_p.h>
+#include <hbxmlloaderabstractsyntax_p.h>
 
 // Uncomment the following in order to get additional debug prints
 //#define HB_DOCUMENTLOADER_DEBUG
@@ -51,84 +52,93 @@
 
 class HbDocumentLoaderPrivate;
 
-class HbDocumentLoaderActions : public HbXmlLoaderAbstractActions
+class HbDocumentLoaderActions : public HbXmlLoaderBaseActions
 {
     public:    
-    
-        enum PropertyAvailableFlag {
-            propertyMin     = 0x01,
-            propertyMax     = 0x02,
-            propertyPref    = 0x04,
-            propertyFixed   = 0x08,
-            propertySpacing = 0x10
-        };
 
-        HbDocumentLoaderActions( HbDocumentLoaderPrivate *ref );
+        HbDocumentLoaderActions( HbDocumentLoaderPrivate *ref, const HbMainWindow *window );
         virtual ~HbDocumentLoaderActions();
-                
-        
+
         QObject *createObject(const QString &type, const QString &name, const QString &plugin);
         QObject *createObjectWithFactory(const QString& type, const QString &name);
-        
+
         bool pushObject( const QString& type, const QString &name );
         bool pushWidget( const QString& type, const QString &name, const QString &role, const QString &plugin );
         bool pushSpacerItem( const QString &name, const QString &widget );
         bool pushConnect( const QString &srcName, const QString &signalName, const QString &dstName, const QString &slotName );
-        bool pushProperty( const QString &propertyName, const QVariant &value );
+        bool pushProperty( const char *propertyName, const HbXmlVariable &variable );
         bool pushRef( const QString &name, const QString &role );
+        bool pushContainer( const char *propertyName,
+                            HbXmlLoaderAbstractSyntax::DocumentLexems type,
+                            const QList<HbXmlVariable*> &container );
         
-        bool setContentsMargins( qreal left, qreal top, qreal right, qreal bottom );
+        bool setContentsMargins( const HbXmlLengthValue &left,
+                                 const HbXmlLengthValue &top,
+                                 const HbXmlLengthValue &right,
+                                 const HbXmlLengthValue &bottom );
 
-        bool setSizePolicy( const QSizePolicy::Policy *horizontalPolicy, 
-                            const QSizePolicy::Policy *verticalPolicy, 
-                            const int *horizontalStretch,
-                            const int *verticalStretch );
+        bool setSizePolicy( QSizePolicy::Policy *horizontalPolicy, 
+                            QSizePolicy::Policy *verticalPolicy, 
+                            int *horizontalStretch,
+                            int *verticalStretch );
     
-        bool setSizeHint(Qt::SizeHint hint, qreal *hintWidth, qreal *hintHeight, bool fixed);
-        bool setZValue( qreal zValue );
-        bool setToolTip( const QString &tooltip );
+        bool setSizeHint(Qt::SizeHint hint, const HbXmlLengthValue &hintWidth, const HbXmlLengthValue &hintHeight, bool fixed);
+        bool setToolTip( const HbXmlVariable &tooltip );
 
         bool createAnchorLayout( const QString &widget );
-        bool addAnchorLayoutEdge( const QString &src, const QString &srcEdge, 
-                                    const QString &dst, const QString &dstEdge, qreal spacing, const QString &spacer = QString() );
+        bool addAnchorLayoutEdge( const QString &src, Hb::Edge srcEdge, 
+                                  const QString &dst, Hb::Edge dstEdge,
+                                  const HbXmlLengthValue &spacing, const QString &spacer = QString() );
         
-        bool createGridLayout( const QString &widget, qreal *spacing );
-        bool addGridLayoutCell( const QString &src, const QString &row, 
-                                const QString &column, const QString &rowspan, const QString &columnspan,
-                                const QString &alignment );
-        bool setGridLayoutRowProperties( const QString &row, const QString &rowStretchFactor, const QString &alignment );
-        bool setGridLayoutColumnProperties( const QString &column, const QString &columnStretchFactor, const QString &alignment );
-        bool setGridLayoutRowHeights( const QString &row, const qreal minHeight, const qreal maxHeight, 
-                                      const qreal prefHeight, const qreal fixedHeight, 
-                                      const qreal rowSpacing,  const int flagsPropertyAvailable);
-        bool setGridLayoutColumnWidths( const QString &column, const qreal minWidth, const qreal maxWidth, 
-                                        const qreal prefWidth, const qreal fixedWidth,
-                                        const qreal columnSpacing, const int flagsPropertyAvailable);
+        bool createGridLayout( const QString &widget, const HbXmlLengthValue &spacing );
+        bool addGridLayoutCell( const QString &src, int row, int column,
+                                int *rowspan, int *columnspan, Qt::Alignment *alignment );
+        bool setGridLayoutRowProperties( int row, int *rowStretchFactor, Qt::Alignment *alignment );
+        bool setGridLayoutColumnProperties( int column, int *columnStretchFactor, Qt::Alignment *alignment );
+        bool setGridLayoutRowHeights( int row,
+                                      const HbXmlLengthValue &minHeight,
+                                      const HbXmlLengthValue &maxHeight, 
+                                      const HbXmlLengthValue &prefHeight,
+                                      const HbXmlLengthValue &fixedHeight, 
+                                      const HbXmlLengthValue &rowSpacing );
+        bool setGridLayoutColumnWidths( int column,
+                                        const HbXmlLengthValue &minWidth,
+                                        const HbXmlLengthValue &maxWidth,
+                                        const HbXmlLengthValue &prefWidth,
+                                        const HbXmlLengthValue &fixedWidth,
+                                        const HbXmlLengthValue &columnSpacing );
 
-        bool createLinearLayout( const QString &widget, const QString &orientation, qreal *spacing );
-        bool addLinearLayoutItem( const QString &itemname, const QString &index, const QString &stretchfactor, 
-                                  const QString &alignment, qreal *spacing );
-        bool addLinearLayoutStretch( const QString &index, const QString &stretchfactor );
-        bool setLayoutContentsMargins( qreal left, qreal top, qreal right, qreal bottom );
+        bool createLinearLayout( const QString &widget,
+                                 Qt::Orientation *orientation, 
+                                 const HbXmlLengthValue &spacing );
+        bool addLinearLayoutItem( const QString &itemname,
+                                  int *index,
+                                  int *stretchfactor, 
+                                  Qt::Alignment *alignment,
+                                  const HbXmlLengthValue &spacing );
+        bool addLinearLayoutStretch( int *index,
+                                     int *stretchfactor );
+        bool setLayoutContentsMargins( const HbXmlLengthValue &left,
+                                       const HbXmlLengthValue &top,
+                                       const HbXmlLengthValue &right,
+                                       const HbXmlLengthValue &bottom );
 
         bool createStackedLayout( const QString &widget );
-        bool addStackedLayoutItem( const QString &itemname, const QString &index );
+        bool addStackedLayoutItem( const QString &itemname, int *index );
                                 
         bool createNullLayout( const QString &widget );
-
-        bool createContainer();
-        bool appendPropertyToContainer( const QVariant &value );
     
     private:
         Q_DISABLE_COPY(HbDocumentLoaderActions)
         bool setWidgetRole(QGraphicsWidget *parent, QGraphicsWidget *child, const QString &role);
         bool setObjectRole(QObject *parent, QObject *child, const QString &role);
         
+        bool variableToQVariant( const HbXmlVariable &variable, QVariant &variant );
 
     private:
 
         HbDocumentLoaderPrivate *d;
-        HbDocumentLoaderFactory factory;
+        HbDocumentLoaderFactory mFactory;
 };
 
 #endif // HBDOCUMENTLOADERACTIONS_P_H