/***************************************************************************
                          ProjectEditorWid.h  -  description
                             -------------------
    begin                : lun déc 8 2003
    copyright            : (C) 2003 by Alain Gibaud
    email                : alain.gibaud@univ-valenciennes.fr
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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 PROJECTEDITORWID_H
#define PROJECTEDITORWID_H

#include <qwidget.h>
#include <qmainwindow.h>

#include "Project.h"

class QTextEdit ;
class QLineEdit ;
class QComboBox ;
class QCheckBox ;
class PikMain ;

/**This widget allows to modify all project parameters, except project name and hex file name
  *@author Alain Gibaud
  */

class ProjectEditorWid : public QMainWindow
{
   Q_OBJECT
public: 
	ProjectEditorWid(Project *proj, QWidget *parent, const char *name);
	~ProjectEditorWid();
private:
  Project * project;
  
  QTextEdit *glob_description ;
  QLineEdit *glob_version ;

  QComboBox *asm_device , *asm_warning  , *asm_radix ;
  QLineEdit *asm_other, *asm_include ;
  QCheckBox *asm_list ;

  QComboBox *link_fformat ;
  QCheckBox *link_debug , *link_map;
  QLineEdit *link_include , *link_other ;

  QComboBox *C_compiler ;
  QLineEdit *C_libs, *C_include, *C_other ;
  QCheckBox *C_slb, *C_asm ;

  PikMain *main_widget ;
  
public slots: // Public slots
  /** No descriptions */
  void slotOk();
  /** No descriptions */
  void slotApply();
  /** No descriptions */
  void slotCancel();
  /** No descriptions */
  void slotSelectIncDir();
  /** No descriptions */
  void slotSelectLibDir();
  /** No descriptions */
  void slotSelectCIncDir();
  /** No descriptions */
  void slotSelectCLibDir();
};

#endif
