src/hbcore/cssparser/hbcssparser_p.h
changeset 28 b7da29130b0e
parent 23 e6ad4ef83b23
child 30 80e4d18b72f5
--- a/src/hbcore/cssparser/hbcssparser_p.h	Thu Sep 02 20:44:51 2010 +0300
+++ b/src/hbcore/cssparser/hbcssparser_p.h	Fri Sep 17 08:32:10 2010 +0300
@@ -457,14 +457,15 @@
 struct HB_CORE_PRIVATE_EXPORT ValueExtractor //krazy:exclude=multiclasses
 {
     ValueExtractor(const HbVector<Declaration> &declarations, const HbDeviceProfile &profile);
-    ValueExtractor(const HbVector<Declaration> &declarations, const HbLayoutParameters &layoutParameters,
-                   const HbDeviceProfile &profile);
-    ValueExtractor(const HbVector<Declaration> &varDeclarations, bool isVariable, const HbDeviceProfile &profile = HbDeviceProfile());
-    ValueExtractor(const HbLayoutParameters &layoutParameters, bool isVariable, const HbDeviceProfile &profile = HbDeviceProfile());
-    void setVariableDeclarationHash(const QHash<QString, HbCss::Declaration> &varDeclarations) { variableDeclarationsHash = varDeclarations; }
+    ValueExtractor(const HbDeviceProfile &profile = HbDeviceProfile());
+
+    void setLayoutParameters(const HbLayoutParameters &layoutParams) { layoutParameters = &layoutParams; }
+    void setVariables(const QHash<quint32, HbCss::Declaration> &vars) { variables = &vars; }
 
-    bool extractVariableValue(const QString &variableName, qreal& value);
+    bool extractVariableValue(quint32 hashValue, HbCss::Value &value) const;
+    bool extractVariableValue(quint32 hashValue, qreal &value);
     bool extractVariableValue(const QString &variableName, HbCss::Value &value) const;
+    bool extractVariableValue(const QString &variableName, qreal &value);
     bool extractExpressionValue(QString &expression, qreal &value);
 
     bool extractKnownProperties(KnownProperties &prop);
@@ -498,9 +499,10 @@
     };
 
     HbVector<Declaration> declarations;
-    HbVector<Declaration> variableDeclarations; //for variables
+
     const HbLayoutParameters *layoutParameters;
-    QHash<QString, HbCss::Declaration> variableDeclarationsHash;
+    const QHash<quint32, HbCss::Declaration> *variables;
+
     HbDeviceProfile currentProfile;
     QList<ExpressionValue> expressionValues; // for parsed expression string
 };
@@ -723,7 +725,7 @@
     QVector<WeightedDeclaration> weightedDeclarationsForNode(NodePtr node, const Qt::Orientation orientation, const char *extraPseudo = 0) const;
     HbVector<StyleRule> styleRulesForNode(NodePtr node, const Qt::Orientation orientation) const;
     HbVector<Declaration> declarationsForNode(NodePtr node, const Qt::Orientation orientation, const char *extraPseudo = 0) const;
-    void variableRuleSets(QHash<QString, HbCss::Declaration> *variables) const;
+    void variableRuleSets(QHash<quint32, HbCss::Declaration> *variables) const;
 
     virtual int nodeNameEquals(NodePtr node, const HbString& nodeName) const = 0;
     virtual bool attributeMatches(NodePtr node, const AttributeSelector &attr) const = 0;