buildtools/ant/antprojectpart.h
Go to the documentation of this file.00001 #ifndef _ANTPROJECTPART_H_ 00002 #define _ANTPROJECTPART_H_ 00003 00004 00005 #include <qstring.h> 00006 #include <qstringlist.h> 00007 #include <qmap.h> 00008 00009 00010 class QPopupMenu; 00011 00012 00013 class KAction; 00014 class KDialogBase; 00015 00016 00017 #include "kdevproject.h" 00018 00019 00020 class AntOptionsWidget; 00021 00022 00023 class AntOptions 00024 { 00025 public: 00026 00027 AntOptions(); 00028 00029 enum Verbosity { Quiet, Verbose, Debug }; 00030 00031 QString m_buildXML; 00032 QString m_defaultTarget; 00033 QStringList m_targets; 00034 QMap<QString,QString> m_properties; 00035 QMap<QString,bool> m_defineProperties; 00036 Verbosity m_verbosity; 00037 00038 }; 00039 00040 00041 class AntProjectPart : public KDevProject 00042 { 00043 Q_OBJECT 00044 00045 public: 00046 00047 AntProjectPart(QObject *parent, const char *name, const QStringList &args); 00048 ~AntProjectPart(); 00049 00050 00051 protected: 00052 00053 virtual void openProject(const QString &dirName, const QString &projectName); 00054 virtual void closeProject(); 00055 00056 virtual QString projectDirectory() const; 00057 virtual QString projectName() const; 00058 virtual QString mainProgram(bool relative = false) const; 00059 virtual QString activeDirectory() const; 00060 virtual QStringList allFiles() const; 00061 virtual QString buildDirectory() const; 00062 virtual QString runDirectory() const; 00063 virtual QString runArguments() const; 00064 virtual DomUtil::PairList runEnvironmentVars() const; 00065 00066 virtual void addFile(const QString &fileName); 00067 virtual void addFiles ( const QStringList &fileList ); 00068 virtual void removeFile(const QString &fileName); 00069 virtual void removeFiles ( const QStringList& fileList ); 00070 00071 00072 private slots: 00073 00074 void slotBuild(); 00075 void slotTargetMenuActivated(int id); 00076 00077 void projectConfigWidget(KDialogBase *dlg); 00078 void contextMenu(QPopupMenu *popup, const Context *context); 00079 00080 void optionsAccepted(); 00081 00082 void slotAddToProject(); 00083 void slotRemoveFromProject(); 00084 00085 00086 private: 00087 00088 void parseBuildXML(); 00089 void fillMenu(); 00090 void populateProject(); 00091 00092 void ant(const QString &target); 00093 00094 QString m_projectDirectory, m_projectName; 00095 QStringList m_classPath; 00096 00097 QStringList m_sourceFiles; 00098 00099 AntOptions m_antOptions; 00100 00101 KAction *m_buildProjectAction; 00102 00103 QPopupMenu *m_targetMenu; 00104 00105 AntOptionsWidget *m_antOptionsWidget; 00106 ClassPathWidget *m_classPathWidget; 00107 00108 QString m_contextFileName; 00109 00110 }; 00111 00112 00113 #endif