pascalproject_part.h
Go to the documentation of this file.00001 /*************************************************************************** 00002 * Copyright (C) 2003 Alexander Dymo * 00003 * cloudtemple@mksat.net * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU General Public License as published by * 00007 * the Free Software Foundation; either version 2 of the License, or * 00008 * (at your option) any later version. * 00009 * * 00010 ***************************************************************************/ 00011 #ifndef __KDEVPART_PASCALPROJECT_H__ 00012 #define __KDEVPART_PASCALPROJECT_H__ 00013 00014 #include <qguardedptr.h> 00015 00016 #include "kdevproject.h" 00017 00018 class PascalProjectWidget; 00019 class KDialogBase; 00020 class KDevCompilerOptions; 00021 00022 class PascalProjectPart : public KDevProject 00023 { 00024 Q_OBJECT 00025 public: 00026 PascalProjectPart(QObject *parent, const char *name, const QStringList &); 00027 ~PascalProjectPart(); 00028 00029 virtual void openProject(const QString &dirName, const QString &projectName); 00030 virtual void closeProject(); 00031 00034 virtual QString mainProgram(bool relative = false) const; 00036 virtual QString mainSource() const; 00037 virtual void setMainSource(QString fullPath); 00038 00039 virtual QString projectDirectory() const; 00040 virtual QString projectName() const; 00041 virtual QString activeDirectory() const; 00043 virtual QString buildDirectory() const; 00044 virtual QString runDirectory() const; 00045 virtual QString runArguments() const; 00046 virtual DomUtil::PairList runEnvironmentVars() const; 00047 00049 virtual QStringList allFiles() const; 00051 virtual void addFile(const QString &fileName); 00053 virtual void addFiles(const QStringList &fileList); 00055 virtual void removeFile(const QString &fileName); 00057 virtual void removeFiles(const QStringList &fileList); 00058 00059 virtual void changedFiles( const QStringList & fileList ); 00060 virtual void changedFile( const QString & fileName ); 00061 00062 KDevCompilerOptions *createCompilerOptions(const QString &name); 00063 00064 virtual QString defaultOptions(const QString compiler) const; 00065 QStringList distFiles() const; 00066 00067 public slots: 00069 void loadProjectConfig(); 00070 00071 private slots: 00072 void slotBuild(); 00073 void slotExecute(); 00074 void projectConfigWidget(KDialogBase *dlg); 00075 void configWidget(KDialogBase *dlg); 00076 00077 private: 00078 QGuardedPtr<PascalProjectWidget> m_widget; 00079 00080 void listOfFiles(QStringList &result, QString path) const; 00081 00082 QString m_buildDir; 00083 QString m_projectDir; 00084 QString m_projectName; 00085 00086 QString m_mainProg; 00087 QString m_mainSource; 00088 QString m_compilerExec; 00089 QString m_compilerOpts; 00090 00091 QStringList m_sourceFiles; 00092 }; 00093 00094 #endif