Logo Search packages:      
Sourcecode: ktechlab version File versions

projectdlgs.h

/***************************************************************************
 *   Copyright (C) 2005 by David Saxton                                    *
 *   david@bluehaze.org                                                    *
 *                                                                         *
 *   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
*/
00030 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
*/
00072 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
*/
00111 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
*/
00138 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

Generated by  Doxygen 1.6.0   Back to index