Remove "All rights reserved" line from license headers.
[profile/ivi/qtdeclarative.git] / src / qtquick1 / util / qdeclarativestategroup.cpp
index f04a8d4..168d16f 100644 (file)
@@ -1,8 +1,7 @@
 /****************************************************************************
 **
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
@@ -35,6 +34,7 @@
 **
 **
 **
+**
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
@@ -75,6 +75,11 @@ public:
     static QDeclarative1State *at_state(QDeclarativeListProperty<QDeclarative1State> *list, int index);
     static void clear_states(QDeclarativeListProperty<QDeclarative1State> *list);
 
+    static void append_transition(QDeclarativeListProperty<QDeclarative1Transition> *list, QDeclarative1Transition *state);
+    static int count_transitions(QDeclarativeListProperty<QDeclarative1Transition> *list);
+    static QDeclarative1Transition *at_transition(QDeclarativeListProperty<QDeclarative1Transition> *list, int index);
+    static void clear_transitions(QDeclarativeListProperty<QDeclarative1Transition> *list);
+
     QList<QDeclarative1State *> states;
     QList<QDeclarative1Transition *> transitions;
 
@@ -90,8 +95,9 @@ public:
 
 /*!
    \qmlclass StateGroup QDeclarative1StateGroup
+    \inqmlmodule QtQuick 1
    \ingroup qml-state-elements
-   \since 4.7
+   \since QtQuick 1.0
    \brief The StateGroup element provides state support for non-Item elements.
 
    Item (and all derived elements) provides built in support for states and transitions
@@ -137,7 +143,7 @@ QList<QDeclarative1State *> QDeclarative1StateGroup::states() const
 }
 
 /*!
-  \qmlproperty list<State> StateGroup::states
+  \qmlproperty list<State> QtQuick1::StateGroup::states
   This property holds a list of states defined by the state group.
 
   \qml
@@ -198,7 +204,7 @@ void QDeclarative1StateGroupPrivate::clear_states(QDeclarativeListProperty<QDecl
 }
 
 /*!
-  \qmlproperty list<Transition> StateGroup::transitions
+  \qmlproperty list<Transition> QtQuick1::StateGroup::transitions
   This property holds a list of transitions defined by the state group.
 
   \qml
@@ -220,11 +226,39 @@ void QDeclarative1StateGroupPrivate::clear_states(QDeclarativeListProperty<QDecl
 QDeclarativeListProperty<QDeclarative1Transition> QDeclarative1StateGroup::transitionsProperty()
 {
     Q_D(QDeclarative1StateGroup);
-    return QDeclarativeListProperty<QDeclarative1Transition>(this, d->transitions);
+    return QDeclarativeListProperty<QDeclarative1Transition>(this, &d->transitions, &QDeclarative1StateGroupPrivate::append_transition,
+                                                       &QDeclarative1StateGroupPrivate::count_transitions,
+                                                       &QDeclarative1StateGroupPrivate::at_transition,
+                                                       &QDeclarative1StateGroupPrivate::clear_transitions);
+}
+
+void QDeclarative1StateGroupPrivate::append_transition(QDeclarativeListProperty<QDeclarative1Transition> *list, QDeclarative1Transition *trans)
+{
+    QDeclarative1StateGroup *_this = static_cast<QDeclarative1StateGroup *>(list->object);
+    if (trans)
+        _this->d_func()->transitions.append(trans);
+}
+
+int QDeclarative1StateGroupPrivate::count_transitions(QDeclarativeListProperty<QDeclarative1Transition> *list)
+{
+    QDeclarative1StateGroup *_this = static_cast<QDeclarative1StateGroup *>(list->object);
+    return _this->d_func()->transitions.count();
+}
+
+QDeclarative1Transition *QDeclarative1StateGroupPrivate::at_transition(QDeclarativeListProperty<QDeclarative1Transition> *list, int index)
+{
+    QDeclarative1StateGroup *_this = static_cast<QDeclarative1StateGroup *>(list->object);
+    return _this->d_func()->transitions.at(index);
+}
+
+void QDeclarative1StateGroupPrivate::clear_transitions(QDeclarativeListProperty<QDeclarative1Transition> *list)
+{
+    QDeclarative1StateGroup *_this = static_cast<QDeclarative1StateGroup *>(list->object);
+    _this->d_func()->transitions.clear();
 }
 
 /*!
-  \qmlproperty string StateGroup::state
+  \qmlproperty string QtQuick1::StateGroup::state
 
   This property holds the name of the current state of the state group.
 
@@ -351,7 +385,11 @@ QDeclarative1Transition *QDeclarative1StateGroupPrivate::findTransition(const QS
             QStringList toState;
 
             fromState = t->fromState().split(QLatin1Char(','));
+            for (int jj = 0; jj < fromState.count(); ++jj)
+                fromState[jj] = fromState.at(jj).trimmed();
             toState = t->toState().split(QLatin1Char(','));
+            for (int jj = 0; jj < toState.count(); ++jj)
+                toState[jj] = toState.at(jj).trimmed();
             if (ii == 1)
                 qSwap(fromState, toState);
             int tScore = 0;
@@ -407,7 +445,7 @@ void QDeclarative1StateGroupPrivate::setCurrentStateInternal(const QString &stat
 
     applyingState = true;
 
-    QDeclarative1Transition *transition = (ignoreTrans || ignoreTrans) ? 0 : findTransition(currentState, state);
+    QDeclarative1Transition *transition = ignoreTrans ? 0 : findTransition(currentState, state);
     if (stateChangeDebug()) {
         qWarning() << this << "Changing state.  From" << currentState << ". To" << state;
         if (transition)