KDevelop API Documentation

haskellproject_part.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           haskellproject_part.h  -  description
00003                              -------------------
00004     begin                : Mon Aug 11 2003
00005     copyright            : (C) 2003 Peter Robinson
00006     email                : listener@thaldyron.com
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef HASKELLPROJECT_PART_H
00019 #define HASKELLPROJECT_PART_H
00020 
00021 #include <qwidget.h>
00022 #include <qguardedptr.h>
00023 #include <kaction.h>
00024 
00025 #include "kdevproject.h"
00026 #include "domutil.h"
00027 #include "kdevcore.h"
00028 #include "kdevmainwindow.h"
00029 #include "kdevmakefrontend.h"
00030 #include "kdevappfrontend.h"
00031 #include "kdevpartcontroller.h"
00032 #include "kdevlanguagesupport.h"
00033 #include "kdevcompileroptions.h"
00034 #include "runoptionswidget.h"
00035 
00039 class HaskellProjectWidget;
00040 
00041 
00042 class HaskellProjectPart : public KDevProject
00043 {
00044   Q_OBJECT
00045 
00046 public:
00047 
00048     HaskellProjectPart(QObject *parent, const char *name, const QStringList &);
00049     ~HaskellProjectPart();
00050     virtual void openProject(const QString &dirName, const QString &projectName);
00051     virtual void closeProject();
00052 
00054     virtual QString mainProgram();
00055     virtual QString mainProgram(bool relative = false) const;
00057     virtual QString mainSource() const;
00058     virtual void setMainSource(QString fullPath);
00059 
00060     virtual QString projectDirectory() const;
00061     virtual QString projectName() const;
00062     virtual QString activeDirectory() const;
00064     virtual QString buildDirectory() const;
00065     virtual QString runDirectory() const;
00066     virtual QString runArguments() const;
00067     virtual DomUtil::PairList runEnvironmentVars() const;
00068 
00070     virtual QStringList allFiles() const;
00072     virtual void addFile(const QString &fileName);
00074     virtual void addFiles(const QStringList &fileList);
00076     virtual void removeFile(const QString &fileName);
00078     virtual void removeFiles(const QStringList &fileList);
00079 
00080     virtual void changedFiles( const QStringList & fileList );
00081     virtual void changedFile( const QString & fileName );
00082 
00083     KDevCompilerOptions *createCompilerOptions(const QString &name);
00084 
00085     virtual QString defaultOptions(const QString compiler);
00086     QStringList distFiles() const;
00087 
00088 public slots:
00090     void loadProjectConfig();
00091 
00092 private slots:
00093     void slotBuild();
00094     void slotExecute();
00095     void projectConfigWidget(KDialogBase *dlg);
00096     void configWidget(KDialogBase *dlg);
00097 
00098 private:
00099     KAction *_buildAction, *_runAction;
00100     QGuardedPtr<HaskellProjectWidget> m_widget;
00101 
00102     void listOfFiles(QStringList &result, QString path);
00103     QString createCmdLine( QString srcFile );
00104     QString createPackageString();
00105   
00106     QString _buildDir;
00107     QString _projectDir;
00108     QString _projectName;
00109 
00110     QString _mainProg;
00111     QString _mainSource;
00112     QString _compilerExec;
00113     QString _compilerOpts;
00114 
00115     QStringList _sourceFiles;
00116 };
00117 
00118 
00119 #endif
KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Feb 22 09:22:22 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003