You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
3.7 KiB

/***************************************************************************
ksobjectfactory.h
-------------------
begin : Tue Oct 16 2001
copyright : (C) 2001 by kamil
email : kamil@localhost.localdomain
***************************************************************************/
/***************************************************************************
* *
* 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. *
* *
***************************************************************************/
#ifndef KSOBJECTFACTORY_H
#define KSOBJECTFACTORY_H
#include"widgets/qsserializable.h"
#include<qcstring.h>
class QSMatrix;
class QSCObject;
class QSCObjectCollection;
class QSPlot;
class QSAxis;
class QSAxes;
class KSSheet;
class KSSheetList;
class KSWorkbook;
/**
*@author kamil
*/
class KSObjectFactory : public QSObjectFactory
{
public:
/**
* Constructor
*/
KSObjectFactory( KSWorkbook *workbook );
/**
* Destructor
*/
virtual ~KSObjectFactory();
/**
* Loads an object from a data stream
*/
virtual QSSerializable *loadObjectFromStream( QDataStream& stream, QObject *parent=NULL );
/**
* Saves object to a datastream.
*/
virtual void saveObjectToStream( QSSerializable *object, QDataStream& stream );
/**
* Creates object of class 'className'
*/
virtual QSSerializable *createObject( const QCString& className, QObject *parent );
/**
* Returns a class name of a given object
*/
virtual QCString className( QSSerializable *object );
/**
* Clone and detach matrix.
*/
static QSMatrix *cloneMatrix( QSMatrix *matrix, bool copyData = false );
/**
* Copies an object to a system clipboard.
*/
void copyToClipboard( QSSerializable *object, const QCString& format );
/**
* Loads object from clipboard
*/
QSSerializable *pasteFromClipboard( const QCString& format, QObject *parent=NULL );
/**
* Copies a canvas object to system clipboard
*/
void copyQSCObjectToClipboard( QSCObject *object );
/**
* Loads a canvas object from clipboard
*/
QSCObject *pasteQSCObjectFromClipboard();
/**
* Copies a canvas object collection to system clipboard
*/
void copyQSCObjectCollectionToClipboard( QSCObjectCollection *objects );
/**
* Loads a canvas object collection from clipboard
*/
QSCObjectCollection *pasteQSCObjectCollectionFromClipboard();
/**
* Copies dataset to clipboard
*/
void copyQSPlotToClipboard( QSPlot *dataset );
/**
* Loads dataset from clipboard
*/
QSPlot *pasteQSPlotFromClipboard( QSAxes *parentAxes );
/**
* Copies the axis to clipboard
*/
void copyQSAxisToClipboard( QSAxis *axis );
/**
* Loads axis from clipboard
*/
QSAxis *pasteQSAxisFromClipboard( QSAxes *parentAxes );
/**
* Copies matrix to clipboard
*/
void copyQSMatrixToClipboard( QSMatrix *matrix );
/**
* Loads matrix from clipboard
*/
QSMatrix *pasteQSMatrixFromClipboard();
/**
* Copies sheet from clipboard
*/
void copyKSSheetToClipboard( KSSheet *sheet );
/**
* Loads sheet from clipboard
*/
KSSheet *pasteKSSheetFromClipboard( KSSheetList *parent );
protected:
QSSerializable *transform_object( QSSerializable *, int flags );
KSWorkbook *m_workbook;
};
#endif