diff options
Diffstat (limited to 'src/gui/projectdlgs.h')
-rw-r--r-- | src/gui/projectdlgs.h | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/src/gui/projectdlgs.h b/src/gui/projectdlgs.h new file mode 100644 index 0000000..fe50361 --- /dev/null +++ b/src/gui/projectdlgs.h @@ -0,0 +1,159 @@ +/*************************************************************************** + * Copyright (C) 2005 by David Saxton * + * [email protected] * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ + +#ifndef PROJECTDLGS_H +#define PROJECTDLGS_H + +#include <kdialogbase.h> + +class CreateSubprojectWidget; +class LinkerOptions; +class LinkerOptionsWidget; +class KURLRequester; +class NewProjectWidget; +class ProcessingOptions; +class ProcessingOptionsWidget; +class ProjectItem; + +/** +A standard dialog for getting project details from the user for a new project +@short Dialog for new project details +@author David Saxton +*/ +class NewProjectDlg : public KDialogBase +{ + Q_OBJECT + public: + NewProjectDlg( QWidget * parent ); + + /** + * Called when the 'Cancel' button is pressed. + */ + void reject(); + + /** + * Called when the 'OK' button is pressed. + * User entered values are read in + */ + void accept(); + + bool accepted() const { return m_bAccepted; } + QString projectName() const { return m_projectName; } + QString projectLocation() const { return m_projectLocation; } + QString location() const { return m_location; } + + public slots: + /** + * Called when the projectName or projectLocation edit boxes are edited. + * Checks whether the resultant location combination is a valid path - + * if so, enabels the OK button; otherwise disables it. + */ + void locationChanged( const QString & ); + + protected: + NewProjectWidget * m_pWidget; + bool m_bAccepted; + QString m_projectName; + QString m_projectLocation; + QString m_location; +}; + + +/** +@author David Saxton +*/ +class CreateSubprojectDlg : public KDialogBase +{ + Q_OBJECT + public: + CreateSubprojectDlg( QWidget *parent = 0 ); + ~CreateSubprojectDlg(); + + // The following values should agree with the positions in the combo box + enum Type + { + ProgramType = 0, + LibraryType = 1 + }; + + /** + * Called when the 'Cancel' button is pressed. + */ + void reject(); + /** + * Called when the 'OK' button is pressed. User entered values are read + * in. + */ + void accept(); + + bool accepted() const { return m_bAccepted; } + Type type() const { return m_type; } + QString targetFile() const { return m_targetFile; } + + protected: + CreateSubprojectWidget * m_pWidget; + bool m_bAccepted; + Type m_type; + QString m_targetFile; +}; + + +/** +@author David Saxton +*/ +class LinkerOptionsDlg : public KDialogBase +{ + Q_OBJECT + public: + LinkerOptionsDlg( LinkerOptions * linkingOptions, QWidget *parent = 0 ); + virtual ~LinkerOptionsDlg(); + + /** + * Called when the 'Cancel' button is pressed. + */ + void reject(); + /** + * Called when the 'OK' button is pressed. User entered values are read + * in. + */ + void accept(); + + protected: + LinkerOptions * m_pLinkerOptions; + LinkerOptionsWidget * m_pWidget; + KURLRequester * m_pExternalLibraryRequester; +}; + + +/** +@author David Saxton +*/ +class ProcessingOptionsDlg : public KDialogBase +{ + public: + ProcessingOptionsDlg( ProjectItem * projectItem, QWidget *parent = 0 ); + virtual ~ProcessingOptionsDlg(); + + /** + * Called when the 'Cancel' button is pressed. + */ + void reject(); + /** + * Called when the 'OK' button is pressed. User entered values are read + * in. + */ + void accept(); + + protected: + ProjectItem * m_pProjectItem; + ProcessingOptionsWidget * m_pWidget; +}; + +#endif |