/* dtkComposerNodeInteger.cpp --- * * Author: Julien Wintz * Copyright (C) 2008-2011 - Julien Wintz, Inria. * Created: Mon Feb 27 12:38:46 2012 (+0100) * Version: $Id: 416eb23690d0998c05f60de5bdd19190c3de4928 $ * Last-Updated: Tue Sep 18 13:14:47 2012 (+0200) * By: tkloczko * Update #: 65 */ /* Commentary: * */ /* Change log: * */ #include "dtkComposerMetatype.h" #include "dtkComposerNodeInteger.h" #include "dtkComposerTransmitterEmitter.h" #include "dtkComposerTransmitterReceiver.h" // ///////////////////////////////////////////////////////////////// // dtkComposerNodeIntegerPrivate interface // ///////////////////////////////////////////////////////////////// class dtkComposerNodeIntegerPrivate { public: dtkComposerTransmitterVariant receiver; public: dtkComposerTransmitterEmitter emitter; public: qlonglong value; }; // ///////////////////////////////////////////////////////////////// // dtkComposerNodeInteger implementation // ///////////////////////////////////////////////////////////////// dtkComposerNodeInteger::dtkComposerNodeInteger(void) : dtkComposerNodeLeaf(), d(new dtkComposerNodeIntegerPrivate) { QList variant_list; variant_list << QMetaType::Int << QMetaType::UInt << QMetaType::LongLong << QMetaType::ULongLong << QMetaType::Double << QMetaType::Bool << QMetaType::QString; d->receiver.setDataTypes(variant_list); this->appendReceiver(&(d->receiver)); d->value = 0; d->emitter.setData(&d->value); this->appendEmitter(&(d->emitter)); } dtkComposerNodeInteger::~dtkComposerNodeInteger(void) { delete d; d = NULL; } void dtkComposerNodeInteger::run(void) { if (!d->receiver.isEmpty()) d->value = *(d->receiver.data()); } qlonglong dtkComposerNodeInteger::value(void) { return d->value; } void dtkComposerNodeInteger::setValue(qlonglong value) { d->value = value; }