Extend the widechar test by a structure with wchar_t* members.
[kdbg.git] / kdbg / pgmargs.h
blob3fd2223a221389b3e7e52c29edaa611f7501dc5f
1 // $Id$
3 // Copyright by Johannes Sixt
4 // This file is under GPL, the GNU General Public Licence
6 #ifndef PgmArgs_included
7 #define PgmArgs_included
9 #include <qdialog.h>
10 #include <qlabel.h>
11 #include <qlineedit.h>
12 #include <qpushbutton.h>
13 #include <qlayout.h>
14 #include <qlistview.h>
15 #include <qlistbox.h>
16 #include <qdict.h>
17 #include "envvar.h"
19 class QStringList;
21 class PgmArgs : public QDialog
23 Q_OBJECT
24 public:
25 PgmArgs(QWidget* parent, const QString& pgm, QDict<EnvVar>& envVars,
26 const QStringList& allOptions);
27 virtual ~PgmArgs();
29 void setArgs(const QString& text) { m_programArgs.setText(text); }
30 const char* args() const { return m_programArgs.text(); }
31 void setOptions(const QStringList& selectedOptions);
32 QStringList options() const;
33 void setWd(const QString& wd) { m_wd.setText(wd); }
34 QString wd() const { return m_wd.text(); }
35 QDict<EnvVar>& envVars() { return m_envVars; }
37 protected:
38 QDict<EnvVar> m_envVars;
40 void initEnvList();
41 void parseEnvInput(QString& name, QString& value);
42 void modifyVar(bool resurrect);
44 QLabel m_label;
45 QLineEdit m_programArgs;
46 QPushButton m_fileBrowse;
47 QLabel m_optionsLabel;
48 QListBox m_options;
49 QLabel m_wdLabel;
50 QLineEdit m_wd;
51 QPushButton m_wdBrowse;
52 QLabel m_envLabel;
53 QLineEdit m_envVar;
54 QListView m_envList;
55 QPushButton m_buttonOK;
56 QPushButton m_buttonCancel;
57 QPushButton m_buttonModify;
58 QPushButton m_buttonDelete;
59 QHBoxLayout m_layout;
60 QVBoxLayout m_edits;
61 QVBoxLayout m_buttons;
62 QHBoxLayout m_pgmArgsEdit;
63 QHBoxLayout m_wdEdit;
65 protected slots:
66 void modifyVar();
67 void deleteVar();
68 void envListCurrentChanged(QListViewItem*);
69 void accept();
70 void browseWd();
71 void browseArgs();
74 #endif // PgmArgs_included