KDevelop API Documentation

buildtools/autotools/autoprojectpart.h

Go to the documentation of this file.
00001 /*************************************************************************** 00002 * Copyright (C) 2001-2002 by Bernd Gehrmann * 00003 * bernd@kdevelop.org * 00004 * * 00005 * Copyright (C) 2002 by Victor Röder * 00006 * victor_roeder@gmx.de * 00007 * * 00008 * This program is free software; you can redistribute it and/or modify * 00009 * it under the terms of the GNU General Public License as published by * 00010 * the Free Software Foundation; either version 2 of the License, or * 00011 * (at your option) any later version. * 00012 * * 00013 ***************************************************************************/ 00014 00015 #ifndef _AUTOPROJECTPART_H_ 00016 #define _AUTOPROJECTPART_H_ 00017 00018 #include <qdict.h> 00019 #include <qguardedptr.h> 00020 #include <qmap.h> 00021 #include <qdatetime.h> 00022 #include <kdevgenericfactory.h> 00023 00024 #include "kdevproject.h" 00025 00026 class QDomElement; 00027 class QStringList; 00028 class KDialogBase; 00029 class AutoProjectWidget; 00030 class KSelectAction; 00031 class TargetItem; 00032 class ConfigWidgetProxy; 00033 00034 00035 class AutoProjectPart : public KDevProject 00036 { 00037 Q_OBJECT 00038 00039 public: 00040 AutoProjectPart( QObject *parent, const char *name, const QStringList &args ); 00041 virtual ~AutoProjectPart(); 00042 00046 virtual QString projectDirectory() const; 00047 virtual QString projectName() const; 00048 virtual DomUtil::PairList runEnvironmentVars() const; 00049 virtual QString runDirectory() const; 00050 virtual QString mainProgram(bool relative = false) const; 00051 virtual QString runArguments() const; 00052 virtual QString activeDirectory() const; 00053 virtual QStringList allFiles() const; 00054 virtual void addFile(const QString &fileName); 00055 virtual void addFiles ( const QStringList& fileList ); 00056 virtual void removeFile(const QString &fileName); 00057 virtual void removeFiles ( const QStringList& fileList ); 00058 virtual QString buildDirectory() const; 00059 virtual Options options() const; 00060 00064 virtual void restorePartialProjectSession ( const QDomElement* el ); 00065 virtual void savePartialProjectSession ( QDomElement* el ); 00066 00070 QStringList allBuildConfigs() const; 00071 QString currentBuildConfig() const; 00072 QString topsourceDirectory() const; 00073 void startMakeCommand(const QString &dir, const QString &target, bool withKdesu = false); 00074 void buildTarget(QString relpath, TargetItem* titem); 00075 00076 void needMakefileCvs(); 00077 bool isDirty(); 00078 bool isKDE() const; 00079 00080 protected: 00085 virtual void openProject(const QString &dirName, const QString &projectName); 00086 virtual void closeProject(); 00087 00088 private slots: 00089 // void projectConfigWidget(KDialogBase *dlg); 00090 void slotAddTranslation(); 00091 void slotBuild(); 00092 void slotBuildActiveTarget(); 00093 void slotCompileFile(); 00094 void slotClean(); 00095 void slotDistClean(); 00096 void slotInstall(); 00097 void slotInstallWithKdesu(); 00098 void slotMakefilecvs(); 00099 void slotMakeMessages(); 00100 void slotConfigure(); 00101 void slotExecute(); 00102 void slotExecute2(); 00103 void slotBuildConfigChanged(const QString &config); 00104 void slotBuildConfigAboutToShow(); 00105 void slotCommandFinished( const QString& command ); 00106 void slotCommandFailed( const QString& command ); 00107 //void slotImportExisting(); 00108 void insertConfigWidget( const KDialogBase* dlg, QWidget * page, unsigned int ); 00109 00110 private: 00111 QGuardedPtr<AutoProjectWidget> m_widget; 00112 QString m_projectName; 00113 QString m_projectPath; 00114 KSelectAction *buildConfigAction; 00115 00116 QString makeEnvironment() const; 00117 void setWantautotools(); 00118 QString makefileCvsCommand() const; 00119 QString configureCommand() const; 00120 00121 QMap<QString, QDateTime> m_timestamp; 00122 bool m_executeAfterBuild; 00123 QString m_buildCommand; 00124 bool m_needMakefileCvs; 00125 bool m_lastCompilationFailed; 00126 bool m_isKDE; 00127 00128 ConfigWidgetProxy * _configProxy; 00129 00130 // Enble AutoProjectWidget to emit our signals 00131 friend class AutoProjectWidget; 00132 friend class AddSubprojectDialog; 00133 00134 // For make commands queueing 00135 QString constructMakeCommandLine(const QString &dir, const QString &target) const; 00136 void queueInternalLibDependenciesBuild(TargetItem* titem); 00137 }; 00138 00139 typedef KDevGenericFactory<AutoProjectPart> AutoProjectFactory; 00140 00141 #endif
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 6 17:38:53 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003