aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativebinding_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/qdeclarativebinding_p.h')
-rw-r--r--src/declarative/qml/qdeclarativebinding_p.h219
1 files changed, 0 insertions, 219 deletions
diff --git a/src/declarative/qml/qdeclarativebinding_p.h b/src/declarative/qml/qdeclarativebinding_p.h
deleted file mode 100644
index 61cf7dd550..0000000000
--- a/src/declarative/qml/qdeclarativebinding_p.h
+++ /dev/null
@@ -1,219 +0,0 @@
-/****************************************************************************
-**
-** 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.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEBINDING_P_H
-#define QDECLARATIVEBINDING_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qdeclarative.h"
-#include "qdeclarativepropertyvaluesource.h"
-#include "qdeclarativeexpression.h"
-#include "qdeclarativeproperty.h"
-#include "qdeclarativeproperty_p.h"
-
-#include <QtCore/QObject>
-#include <QtCore/QMetaProperty>
-
-#include <private/qpointervaluepair_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeAbstractBinding
-{
-public:
- typedef QWeakPointer<QDeclarativeAbstractBinding> Pointer;
-
- QDeclarativeAbstractBinding();
-
- virtual void destroy();
-
- virtual QString expression() const;
-
- enum Type { PropertyBinding, ValueTypeProxy };
- virtual Type bindingType() const { return PropertyBinding; }
-
- // Should return the encoded property index for the binding. Should return this value
- // even if the binding is not enabled or added to an object.
- // Encoding is: coreIndex | (valueTypeIndex << 24)
- virtual int propertyIndex() const = 0;
- // Should return the object for the binding. Should return this object even if the
- // binding is not enabled or added to the object.
- virtual QObject *object() const = 0;
-
- void setEnabled(bool e) { setEnabled(e, QDeclarativePropertyPrivate::DontRemoveBinding); }
- virtual void setEnabled(bool, QDeclarativePropertyPrivate::WriteFlags) = 0;
-
- void update() { update(QDeclarativePropertyPrivate::DontRemoveBinding); }
- virtual void update(QDeclarativePropertyPrivate::WriteFlags) = 0;
-
- void addToObject();
- void removeFromObject();
-
- static inline Pointer getPointer(QDeclarativeAbstractBinding *p);
-
-protected:
- virtual ~QDeclarativeAbstractBinding();
- void clear();
-
- // Called by QDeclarativePropertyPrivate to "move" a binding to a different property.
- // This is only used for alias properties, and only used by QDeclarativeBinding not
- // V8 or V4 bindings. The default implementation qFatal()'s to ensure that the
- // method is never called for V4 or V8 bindings.
- virtual void retargetBinding(QObject *, int);
-private:
- Pointer weakPointer();
-
- friend class QDeclarativeData;
- friend class QDeclarativeComponentPrivate;
- friend class QDeclarativeValueTypeProxyBinding;
- friend class QDeclarativePropertyPrivate;
- friend class QDeclarativeVME;
- friend class QtSharedPointer::ExternalRefCount<QDeclarativeAbstractBinding>;
-
- typedef QSharedPointer<QDeclarativeAbstractBinding> SharedPointer;
- // To save memory, we also store the rarely used weakPointer() instance in here
- QPointerValuePair<QDeclarativeAbstractBinding*, SharedPointer> m_mePtr;
-
- QDeclarativeAbstractBinding **m_prevBinding;
- QDeclarativeAbstractBinding *m_nextBinding;
-};
-
-class QDeclarativeValueTypeProxyBinding : public QDeclarativeAbstractBinding
-{
-public:
- QDeclarativeValueTypeProxyBinding(QObject *o, int coreIndex);
-
- virtual Type bindingType() const { return ValueTypeProxy; }
-
- virtual void setEnabled(bool, QDeclarativePropertyPrivate::WriteFlags);
- virtual void update(QDeclarativePropertyPrivate::WriteFlags);
- virtual int propertyIndex() const;
- virtual QObject *object() const;
-
- QDeclarativeAbstractBinding *binding(int propertyIndex);
-
- void removeBindings(quint32 mask);
-
-protected:
- ~QDeclarativeValueTypeProxyBinding();
-
-private:
- void recursiveEnable(QDeclarativeAbstractBinding *, QDeclarativePropertyPrivate::WriteFlags);
- void recursiveDisable(QDeclarativeAbstractBinding *);
-
- friend class QDeclarativeAbstractBinding;
- QObject *m_object;
- int m_index;
- QDeclarativeAbstractBinding *m_bindings;
-};
-
-class QDeclarativeContext;
-class QDeclarativeBindingPrivate;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeBinding : public QDeclarativeExpression,
- public QDeclarativeAbstractBinding
-{
-Q_OBJECT
-public:
- enum EvaluateFlag { None = 0x00, RequiresThisObject = 0x01 };
- Q_DECLARE_FLAGS(EvaluateFlags, EvaluateFlag)
-
- QDeclarativeBinding(const QString &, QObject *, QDeclarativeContext *, QObject *parent=0);
- QDeclarativeBinding(const QString &, QObject *, QDeclarativeContextData *, QObject *parent=0);
- QDeclarativeBinding(const QString &, bool isRewritten, QObject *, QDeclarativeContextData *,
- const QString &url, int lineNumber, int columnNumber = 0, QObject *parent=0);
- QDeclarativeBinding(void *, QObject *, QDeclarativeContextData *, QObject *parent=0);
-
- void setTarget(const QDeclarativeProperty &);
- void setTarget(QObject *, const QDeclarativePropertyData &, QDeclarativeContextData *);
- QDeclarativeProperty property() const;
-
- void setEvaluateFlags(EvaluateFlags flags);
- EvaluateFlags evaluateFlags() const;
-
- bool enabled() const;
-
- // Inherited from QDeclarativeAbstractBinding
- virtual void setEnabled(bool, QDeclarativePropertyPrivate::WriteFlags flags);
- virtual void update(QDeclarativePropertyPrivate::WriteFlags flags);
- virtual QString expression() const;
- virtual int propertyIndex() const;
- virtual QObject *object() const;
- virtual void retargetBinding(QObject *, int);
-
- typedef int Identifier;
- static Identifier Invalid;
- static QDeclarativeBinding *createBinding(Identifier, QObject *, QDeclarativeContext *,
- const QString &, int, QObject *parent=0);
-
-
-public Q_SLOTS:
- void update() { update(QDeclarativePropertyPrivate::DontRemoveBinding); }
-
-protected:
- ~QDeclarativeBinding();
-
-private:
- Q_DECLARE_PRIVATE(QDeclarativeBinding)
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(QDeclarativeBinding::EvaluateFlags)
-
-QDeclarativeAbstractBinding::Pointer
-QDeclarativeAbstractBinding::getPointer(QDeclarativeAbstractBinding *p)
-{
- return p ? p->weakPointer() : Pointer();
-}
-
-QT_END_NAMESPACE
-
-Q_DECLARE_METATYPE(QDeclarativeBinding*)
-
-#endif // QDECLARATIVEBINDING_P_H