diff options
| author | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
|---|---|---|
| committer | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
| commit | 7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch) | |
| tree | 4430b556abac0ad660a0aacf1887d77f85d8be02 /scribus/pageitempointer.cpp | |
| download | scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip | |
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/pageitempointer.cpp')
| -rw-r--r-- | scribus/pageitempointer.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/scribus/pageitempointer.cpp b/scribus/pageitempointer.cpp new file mode 100644 index 0000000..69e8f90 --- /dev/null +++ b/scribus/pageitempointer.cpp @@ -0,0 +1,71 @@ +// +// C++ Implementation: pageitempointer +// +// Description: +// +// +// Author: Pierre Marchand <pierremarc@oep-h.com>, (C) 2008 +// +// Copyright: See COPYING file that comes with this distribution +// +// + +#include "pageitempointer.h" + +#include "pageitem.h" + +void PageItemPointerDB::addToDB(const QString & key, PageItem * value) +{ + insert(key,value); + connect ( value,SIGNAL( destroyed ( QObject* ) ),this,SLOT( removeFromDB ( QObject* ) ) ); +} + +void PageItemPointerDB::removeFromDB ( QObject * obj ) +{ + if ( obj ) + { + QString k ( obj->objectName() ); + remove ( k ); + } +} + +/// PageItemPointer +PageItemPointerDB PageItemPointer::PIdb; +PageItemPointer::PageItemPointer ( PageItem * pi ) :QPointer<PageItem> ( pi ) +{ + if ( !isNull() ) + { + PIdb.addToDB( pi->objectName(), pi); + + } +} + +PageItemPointer::PageItemPointer ( const PageItemPointer & pip ) :QPointer<PageItem> (PIdb[ pip->objectName() ]) +{ +} + +PageItemPointer::PageItemPointer(const QString & objname):QPointer<PageItem>(PIdb[objname]) +{ +} + +PageItemPointer::~PageItemPointer() +{ + +} + +QDataStream &operator << ( QDataStream & out , const PageItemPointer& pip ) +{ + out << pip->objectName(); + return out; +} + +QDataStream &operator >> ( QDataStream & in , PageItemPointer& pip ) +{ + QString piName; + in >> piName; + pip = PageItemPointer(piName); + return in; +} + + + |
