buildtools/autotools/autoprojectpart.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
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
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
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
00131 friend class
AutoProjectWidget;
00132 friend class
AddSubprojectDialog;
00133
00134
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
This file is part of the documentation for KDevelop Version 3.0.4.