This is the verbatim text of the qsproject.h include file. It is provided only for illustration; the copyright remains with Trolltech.
/****************************************************************************
** $Id$
**
** Definition of the QSProject class.
**
** Copyright (C) 2001-2003 Trolltech AS. All rights reserved.
**
** This file is part of the Qt Script for Applications framework (QSA).
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** Licensees holding a valid QSA Beta Evaluation Version license may use
** this file in accordance with the QSA Beta Evaluation Version License
** Agreement provided with the Software.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
** information about QSA Commercial License Agreements.
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
*****************************************************************************/
#ifndef QSPROJECT_H
#define QSPROJECT_H
#include "qsaglobal.h"
#include <qobject.h>
#include <qobjectlist.h>
#include <qdatetime.h>
#include <qptrlist.h>
#include <qstringlist.h>
#include <qsscript.h>
class QSEditor;
class QSProjectPrivate;
class QSA_EXPORT QSProject : public QObject
{
friend class QSInterpreter;
friend class QSInterfaceFactory;
friend class QSEditor;
Q_OBJECT
public:
QSProject( QObject *parent = 0, const char *name = 0 );
virtual ~QSProject();
bool editorsModified() const;
bool scriptsModified() const;
QSInterpreter *interpreter() const;
QStringList scriptNames() const;
QPtrList<QSScript> scripts() const;
QSScript *script( const QString &name ) const;
QSScript *script( QObject *context ) const;
QObject *object( const QString &name ) const;
QObjectList objects() const;
QSScript *createScript( QObject *context, const QString &code = QString::null );
QSScript *createScript( const QString &name, const QString &code = QString::null );
void addSignalHandler( QObject *sender, const char *signal,
QObject *receiver, const char *qtscriptFunction );
void addSignalHandler( QObject *sender, const char *signal,
const char *qtscriptFunction );
void removeSignalHandler( QObject *sender, const char *signal,
QObject *receiver, const char *qtscriptFunction );
void removeSignalHandler( QObject *sender, const char *signal,
const char *qtscriptFunction );
QSEditor *activeEditor() const;
QPtrList<QSEditor> editors() const;
QSEditor *editor( QSScript *script ) const;
QSEditor *createEditor( QSScript *script, QWidget *parent=0, const char *name = 0 );
public slots:
bool load( const QString &fileName );
bool save( const QString &fileName = QString::null );
bool loadFromData( QByteArray data );
bool saveToData( QByteArray data );
void clearObjects();
void addObject( QObject *object );
void removeObject( const QObject *object );
void commitEditorContents();
void revertEditorContents();
signals:
void editorTextChanged();
void projectChanged();
void projectEvaluated();
private slots:
void objectDestroyed();
void invalidateProject();
void scriptChanged();
private:
// disabled copy constructor and assignment operator
QSProject( const QSProject & );
QSProject& operator=( const QSProject & );
void evaluate();
void initObjects();
void initEventHandlers();
QSScript *createScriptInternal( const QString &name,
const QString &code,
QObject *context );
bool saveInternal( QDataStream *strm );
bool loadInternal( QDataStream *strm );
void registerEditor( QSEditor *editor );
void unregisterEditor( QSEditor *editor );
private:
QSProjectPrivate *d;
};
#endif