Display multi-line values as arrays of lines.
[kdbg.git] / kdbg / pgmargs.h
blob044558e74764516f1e3e7c21902332b6453dc2b7
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);
43 QLabel m_label;
44 QLineEdit m_programArgs;
45 QPushButton m_fileBrowse;
46 QLabel m_optionsLabel;
47 QListBox m_options;
48 QLabel m_wdLabel;
49 QLineEdit m_wd;
50 QPushButton m_wdBrowse;
51 QLabel m_envLabel;
52 QLineEdit m_envVar;
53 QListView m_envList;
54 QPushButton m_buttonOK;
55 QPushButton m_buttonCancel;
56 QPushButton m_buttonModify;
57 QPushButton m_buttonDelete;
58 QHBoxLayout m_layout;
59 QVBoxLayout m_edits;
60 QVBoxLayout m_buttons;
61 QHBoxLayout m_pgmArgsEdit;
62 QHBoxLayout m_wdEdit;
64 protected slots:
65 void modifyVar();
66 void deleteVar();
67 void envListCurrentChanged(QListViewItem*);
68 void accept();
69 void browseWd();
70 void browseArgs();
73 #endif // PgmArgs_included