|Home | Tutorial | Classes | Functions | QSA Developer | Language | Library | Qt API | QSA Articles | Qt Script for Applications | ![]() |
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-2002 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> class QSProjectPrivate; class QSEditor; class FormWindow; class MainWindow; class Project; class QuickInterpreter; class QSA_EXPORT QSProject : public QObject { friend class QSInterpreter; friend class QSEditor; friend class QSADesignerInterface; friend class QuickCompletion; friend class QuickLanguageInterfaceImpl; friend class QuickProgramInterfaceImpl; friend class QuickEditorInterfaceImpl; friend class QuickEditorToolTip; friend class QuickVariableItem; friend class QuickEditorBrowser; friend class QuickStackView; friend class QuickInterpreterInterfaceImpl; friend class QuickDebuggerFrontend; Q_OBJECT public: enum IDEFlags { GUIBuilder = 1, Debugger = 2, SignalHandlerTab = 4, EditableEditor = 8, FullIDE = GUIBuilder | Debugger | SignalHandlerTab | EditableEditor, OnlyEditor = EditableEditor | SignalHandlerTab, OnlySimpleEditor = EditableEditor, OnlyEditorAndDebugger = EditableEditor | Debugger | SignalHandlerTab }; QStringList forms() const; QStringList scriptFiles() const; QString formSource( const QString &formName ) const; QString formUi( const QString &formName ) const; QString source( const QString &fileName ) const; QByteArray projectData() const; bool isOpened() const; QDateTime lastModified() const; QString projectName() const; void setInterpreter( QSInterpreter *interp ); QSInterpreter *interpreter() const; QSEditor *activeEditor() const; QPtrList<QSEditor> *editors() const; bool eventFilter( QObject *, QEvent * ); public slots: void open( const QString &scriptProject ); void open( const QByteArray &projectData, const QString &projectName ); void addSource( const QString &code, const QString &fileName, bool append = FALSE ); void removeSource( const QString &fileName ); QString objectSource( QObject *object ) const; void setObjectSource( QObject *object, const QString &code, bool append = FALSE ); void addForm( const QString &fileName ); void removeForm( const QString &fileName ); void openIDE( int flags = FullIDE ); void closeIDE(); bool addFunction( const QString &functionName, const QString &functionBody = QString::null, bool openIDE = TRUE ); void reset(); virtual void registerEditor( QSEditor *editor ); virtual void unregisterEditor( QSEditor *editor ); private slots: bool checkProject(); void objectDestroyed( QObject *o ); void formAdded( FormWindow *fw ); private: bool isRunning() const; // ### made private for now, I don't think it makes sense in public API void stopProject( bool force = FALSE ); void setupPluginManagers(); void setupDesigner(); void removeObject( QObject *o ); void closeProject(); void checkAndStopProject(); static bool isIDEOpen(); static QSInterpreter *ideInterpreter(); static QuickInterpreter *ideQuickInterpreter(); private: QSProject(); virtual ~QSProject(); // disabled copy constructor and assignment operator QSProject( const QSProject & ); QSProject& operator=( const QSProject & ); private: MainWindow *designer; Project *project; QSProjectPrivate *d; QDateTime lastmod; QSInterpreter *interp; QString projname; QPtrList<QSEditor> *listEditors; uint running:1; uint opened:1; }; inline QDateTime QSProject::lastModified() const { return lastmod; } inline bool QSProject::isRunning() const { return running; } inline bool QSProject::isOpened() const { return opened; } inline QPtrList<QSEditor> *QSProject::editors() const { return listEditors; } #endif
Copyright © 2001-2003 Trolltech | Trademarks | QSA version 1.0.0-beta2
|