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 QStringList distFiles() const; 00050 00051 00052 protected: 00053 00054 virtual void openProject(const QString &dirName, const QString &projectName); 00055 virtual void closeProject(); 00056 00057 virtual QString projectDirectory() const; 00058 virtual QString projectName() const; 00059 virtual QString mainProgram(bool relative = false) const; 00060 virtual QString activeDirectory() const; 00061 virtual QStringList allFiles() const; 00062 virtual QString buildDirectory() const; 00063 virtual QString runDirectory() const; 00064 virtual QString runArguments() const; 00065 virtual DomUtil::PairList runEnvironmentVars() const; 00066 00067 virtual void addFile(const QString &fileName); 00068 virtual void addFiles ( const QStringList &fileList ); 00069 virtual void removeFile(const QString &fileName); 00070 virtual void removeFiles ( const QStringList& fileList ); 00071 00072 00073 private slots: 00074 00075 void slotBuild(); 00076 void slotTargetMenuActivated(int id); 00077 00078 void projectConfigWidget(KDialogBase *dlg); 00079 void contextMenu(QPopupMenu *popup, const Context *context); 00080 00081 void optionsAccepted(); 00082 00083 void slotAddToProject(); 00084 void slotRemoveFromProject(); 00085 00086 00087 private: 00088 00089 void parseBuildXML(); 00090 void fillMenu(); 00091 void populateProject(); 00092 00093 void ant(const QString &target); 00094 00095 QString m_projectDirectory, m_projectName; 00096 QStringList m_classPath; 00097 00098 QStringList m_sourceFiles; 00099 00100 AntOptions m_antOptions; 00101 00102 KAction *m_buildProjectAction; 00103 00104 QPopupMenu *m_targetMenu; 00105 00106 AntOptionsWidget *m_antOptionsWidget; 00107 ClassPathWidget *m_classPathWidget; 00108 00109 QString m_contextFileName; 00110 00111 }; 00112 00113 00114 #endif