VR-Forces 4.0.4 Class Documentation
include/symbolMapper/modelDataDict.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2002 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: modelDataDict.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtModelDataDict_H_
00013 #define DtModelDataDict_H_
00014 
00015 #include <QtCore/QObject>
00016 #include <QtCore/QHash>
00017 
00018 #include "archiver/archiver.h"
00019 #include "symbolMapper/modelData.h"
00020 #include "symbolMapper/modelKey.h"
00021 
00022 class QTextStream;
00023 
00026 #include "symbolMapper/symbolMapperDefines.h"
00027 class DT_DLL_symbolMapper DtModelDataDict : public DtArchiver, public QHash<DtModelKey, DtModelData*>
00028 {
00029    Q_OBJECT
00030 
00031 public:
00032    DtModelDataDict();   
00033    virtual ~DtModelDataDict();
00034 
00035    virtual void insert(const QString & key, const DtModelData* item);
00036    virtual void replace(const QString & key, const DtModelData* item);
00037    virtual bool remove(const QString & key);
00038    virtual DtModelData * take(const QString & key);
00039 
00042    virtual void setAutoDelete(bool b);
00043 
00047    virtual void removeDataOfType(int);
00048 
00049    DtModelData* find(const QString& key) const
00050    {
00051       DtModelDataDict::const_iterator iter = QHash<DtModelKey, DtModelData*>::find(key);
00052 
00053       if (iter != end())
00054       {
00055          return *iter;
00056       }
00057 
00058       return NULL;
00059    }
00060 
00062    virtual void clear();
00063 
00064 public slots:
00065    virtual void updateModelData(const DtModelData& data, int changedFlags);
00066    virtual void modelDataDestroyed(const QString&);
00067 
00068 signals:
00070    void modelDataAdded(const DtModelKey&);
00071 
00073    void modelDataAboutToBeRemoved(const DtModelKey&);
00074 
00076    void modelDataUpdated(const DtModelData& data, int iChangedFlags);
00077 
00078 protected:
00079 
00080    bool myAutoDelete;
00081 
00082 private:
00083    DtModelDataDict(const DtModelDataDict& orig);
00084    DtModelDataDict& operator=(const DtModelDataDict& orig);
00085 };
00086 
00087 #include "symbolMapper/dictIter.h"
00088 
00089 typedef DtDictIterator<DtModelKey, DtModelData*> DtModelDataIter;
00090 
00091 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)