/*************************************************************************** qbase.cpp ------------------- begin : 01-January-2001 copyright : (C) 2001 by Kamil Dobkowski email : kamildobk@poczta.onet.pl ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include "qsgraphicaldata.h" #include #include #include #include //-------------------------------------------------------------// QSData::QSData( QObject * parent, QSData *parentObject, const char * name ) :QObject( parent, name ), QSSerializable() { m_parent_object = parentObject; } //-------------------------------------------------------------// QSData::~QSData() { emit sigDeleted(this); } //-------------------------------------------------------------// void QSData::setObjectName( const char *name ) { setName( name ); emit sigNameChanged( name ); nameChanged( this, name ); } //-------------------------------------------------------------// bool QSData::setMatrix( int, QSMatrix * ) { return false; } //-------------------------------------------------------------// QSMatrix *QSData::matrix( int ) const { return NULL; } //-------------------------------------------------------------// QSMatrix *QSData::takeMatrix( int, QSMatrix* ) { return NULL; } //-------------------------------------------------------------// void QSData::deleteMatrix( int ) { } //-------------------------------------------------------------// int QSData::channelCount() const { return 0; } //-------------------------------------------------------------// void QSData::dataChanging( int channel ) { dataChanging( this, channel ); } //-------------------------------------------------------------// void QSData::dataChanged( int channel ) { dataChanged( this, channel ); } //-------------------------------------------------------------// void QSData::dataChanging( QSData *object, int channel ) { if ( m_parent_object ) m_parent_object->dataChanging( object, channel ); } //-------------------------------------------------------------// void QSData::dataChanged( QSData *object, int channel ) { emit sigDataChanged( object, channel ); if ( m_parent_object ) m_parent_object->dataChanged( object, channel ); } //-------------------------------------------------------------// int QSData::childIndex( QSData *searched_child ) const { for( int child_nr=0; child_nrnameChanged( object, newName ); } //-------------------------------------------------------------// void QSData::loadStateFromStream( QDataStream& stream, QSObjectFactory *factory ) { QSSerializable::loadStateFromStream( stream, factory ); // load properties QMetaObject *meta_object = metaObject(); QStrList properties = meta_object->propertyNames( TRUE ); for( unsigned int property_nr=0; property_nr> property_name >> property_value; setProperty(property_name,property_value); } // load matrices for( int i=0; i(factory->loadObjectFromStream(stream)) ); } } //-------------------------------------------------------------// void QSData::saveStateToStream( QDataStream& stream, QSObjectFactory *factory ) { QSSerializable::saveStateToStream( stream, factory ); // save properties QMetaObject *meta_object = metaObject(); QStrList properties = meta_object->propertyNames( TRUE ); for( unsigned int property_nr=0; property_nrsaveObjectToStream(matrix(i),stream); } }