birthdayparty.h Example File
declarative/extending/binding/birthdayparty.h
#ifndef BIRTHDAYPARTY_H
#define BIRTHDAYPARTY_H
#include <QObject>
#include <QDate>
#include <QDebug>
#include <qdeclarative.h>
#include "person.h"
class BirthdayPartyAttached : public QObject
{
Q_OBJECT
Q_PROPERTY(QDate rsvp READ rsvp WRITE setRsvp NOTIFY rsvpChanged)
public:
BirthdayPartyAttached(QObject *object);
QDate rsvp() const;
void setRsvp(const QDate &);
signals:
void rsvpChanged();
private:
QDate m_rsvp;
};
QML_DECLARE_TYPE(BirthdayPartyAttached)
class BirthdayParty : public QObject
{
Q_OBJECT
![0]
Q_PROPERTY(Person *celebrant READ celebrant WRITE setCelebrant NOTIFY celebrantChanged)
![0]
Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
Q_PROPERTY(QString speaker READ speaker WRITE setSpeaker)
Q_CLASSINFO("DefaultProperty", "guests")
public:
BirthdayParty(QObject *parent = 0);
Person *celebrant() const;
void setCelebrant(Person *);
QDeclarativeListProperty<Person> guests();
int guestCount() const;
Person *guest(int) const;
QString speaker() const;
void setSpeaker(const QString &);
static BirthdayPartyAttached *qmlAttachedProperties(QObject *);
void startParty();
signals:
void partyStarted(const QTime &time);
void celebrantChanged();
private:
Person *m_celebrant;
QList<Person *> m_guests;
};
QML_DECLARE_TYPEINFO(BirthdayParty, QML_HAS_ATTACHED_PROPERTIES)
QML_DECLARE_TYPE(BirthdayParty)
#endif
Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies) |
Trademarks |
Qt 4.7.0 |