/* dtkComposerNodeLeafData.h --- * * Author: tkloczko * Copyright (C) 2011 - Thibaud Kloczko, Inria. * Created: Thu Jun 28 09:56:37 2012 (+0200) * Version: $Id: 2605823ac31a87707713adb5704cba44e4d15eeb $ * Last-Updated: 2012 Fri Nov 16 15:49:52 (+0100) * By: Thibaud Kloczko, Inria. * Update #: 41 */ /* Commentary: * */ /* Change log: * */ #ifndef DTKCOMPOSERNODELEAFDATA_H #define DTKCOMPOSERNODELEAFDATA_H #include #include "dtkComposerNodeLeaf.h" #include class dtkAbstractData; class dtkComposerNodeLeafDataPrivate; // ///////////////////////////////////////////////////////////////// // dtkComposerNodeLeafData interface // ///////////////////////////////////////////////////////////////// class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeLeafData : public dtkComposerNodeLeaf { public: dtkComposerNodeLeafData(void); virtual ~dtkComposerNodeLeafData(void); public: virtual bool enableDefaultImplementation(void) const; virtual bool isAbstractData(void) const = 0; virtual QString abstractDataType(void) const = 0; public: bool implementationHasChanged(void) const; QString currentImplementation(void); QStringList implementations(void); public: dtkAbstractData *createData(const QString& implementation); dtkAbstractData *data(void); private: dtkComposerNodeLeafDataPrivate *d; }; #endif