1 /**************************************************************************
3 ** This file is part of Qt Creator
5 ** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
7 ** Contact: Nokia Corporation (qt-info@nokia.com)
11 ** This file contains pre-release code and may not be distributed.
12 ** You may use this file in accordance with the terms and conditions
13 ** contained in the Technology Preview License Agreement accompanying
16 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
25 ** In addition, as a special exception, Nokia gives you certain additional
26 ** rights. These rights are described in the Nokia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
29 ** If you have questions regarding the use of this file, please contact
30 ** Nokia at qt-info@nokia.com.
32 **************************************************************************/
34 #ifndef DEBUGGER_DIALOGS_H
35 #define DEBUGGER_DIALOGS_H
37 #include <QtGui/QDialog>
44 class QDialogButtonBox;
47 class AttachCoreDialog;
48 class AttachExternalDialog;
49 class AttachTcfDialog;
50 class StartExternalDialog;
51 class StartRemoteDialog;
52 class StartRemoteEngineDialog;
61 class ProcessListFilterModel;
71 class AttachCoreDialog : public QDialog
76 explicit AttachCoreDialog(QWidget *parent);
79 void setExecutableFile(const QString &executable);
80 void setCoreFile(const QString &core);
82 QString executableFile() const;
83 QString coreFile() const;
86 Ui::AttachCoreDialog *m_ui;
89 class AttachExternalDialog : public QDialog
94 explicit AttachExternalDialog(QWidget *parent);
95 ~AttachExternalDialog();
97 qint64 attachPID() const;
98 QString executable() const;
100 virtual void accept();
103 void rebuildProcessList();
104 void procSelected(const QModelIndex &index);
105 void procClicked(const QModelIndex &index);
106 void pidChanged(const QString &index);
107 void setFilterString(const QString &filter);
110 inline QPushButton *okButton() const;
111 inline QString attachPIDText() const;
113 const QString m_selfPid;
114 Ui::AttachExternalDialog *m_ui;
115 ProcessListFilterModel *m_model;
118 class AttachTcfDialog : public QDialog
123 explicit AttachTcfDialog(QWidget *parent);
126 QString remoteChannel() const;
127 void setRemoteChannel(const QString &host);
129 QString remoteArchitecture() const;
130 void setRemoteArchitecture(const QString &arch);
131 void setRemoteArchitectures(const QStringList &arches);
133 QString serverStartScript() const;
134 bool useServerStartScript() const;
135 void setUseServerStartScript(bool on);
136 void setServerStartScript(const QString &scriptName);
142 Ui::AttachTcfDialog *m_ui;
145 class StartExternalDialog : public QDialog
150 explicit StartExternalDialog(QWidget *parent);
151 ~StartExternalDialog();
153 QString executableFile() const;
154 void setExecutableFile(const QString &executable);
156 QString executableArguments() const;
157 void setExecutableArguments(const QString &args);
159 QString workingDirectory() const;
160 void setWorkingDirectory(const QString &str);
162 bool breakAtMain() const;
165 Ui::StartExternalDialog *m_ui;
168 class StartRemoteDialog : public QDialog
173 explicit StartRemoteDialog(QWidget *parent);
174 ~StartRemoteDialog();
176 QString localExecutable() const;
177 void setLocalExecutable(const QString &executable);
179 QString remoteChannel() const;
180 void setRemoteChannel(const QString &host);
182 QString remoteArchitecture() const;
183 void setRemoteArchitecture(const QString &arch);
184 void setRemoteArchitectures(const QStringList &arches);
186 QString gnuTarget() const;
187 void setGnuTarget(const QString &gnuTarget);
188 void setGnuTargets(const QStringList &gnuTargets);
190 bool useServerStartScript() const;
191 void setUseServerStartScript(bool on);
192 QString serverStartScript() const;
193 void setServerStartScript(const QString &scriptName);
195 QString sysRoot() const;
196 void setSysRoot(const QString &sysRoot);
198 QString debugger() const;
199 void setDebugger(const QString &debugger);
205 Ui::StartRemoteDialog *m_ui;
208 class StartRemoteCdbDialog : public QDialog
213 explicit StartRemoteCdbDialog(QWidget *parent);
214 ~StartRemoteCdbDialog();
216 QString connection() const;
217 void setConnection(const QString &);
219 virtual void accept();
222 void textChanged(const QString &);
225 QPushButton *m_okButton;
226 QLineEdit *m_lineEdit;
229 class AddressDialog : public QDialog {
232 explicit AddressDialog(QWidget *parent = 0);
233 quint64 address() const;
235 virtual void accept();
241 void setOkButtonEnabled(bool v);
242 bool isOkButtonEnabled() const;
244 bool isValid() const;
246 QLineEdit *m_lineEdit;
247 QDialogButtonBox *m_box;
250 class StartRemoteEngineDialog : public QDialog
255 explicit StartRemoteEngineDialog(QWidget *parent);
256 ~StartRemoteEngineDialog();
257 QString username() const;
258 QString host() const;
259 QString password() const;
260 QString enginePath() const;
261 QString inferiorPath() const;
264 Ui::StartRemoteEngineDialog *m_ui;
267 } // namespace Debugger
268 } // namespace Internal
270 #endif // DEBUGGER_DIALOGS_H