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_ACTIONS_H
35 #define DEBUGGER_ACTIONS_H
37 #include <QtCore/QHash>
38 #include <QtCore/QMap>
51 // Global debugger options that are not stored as saved action.
52 class GlobalDebuggerOptions
55 typedef QMap<QString, QString> SourcePathMap;
57 void toSettings(QSettings *) const;
58 void fromSettings(QSettings *);
59 bool equals(const GlobalDebuggerOptions &rhs) const { return sourcePathMap == rhs.sourcePathMap; }
61 SourcePathMap sourcePathMap;
64 inline bool operator==(const GlobalDebuggerOptions &o1, const GlobalDebuggerOptions &o2) { return o1.equals(o2); }
65 inline bool operator!=(const GlobalDebuggerOptions &o1, const GlobalDebuggerOptions &o2) { return !o1.equals(o2); }
67 class DebuggerSettings : public QObject
71 explicit DebuggerSettings(QSettings *setting);
74 void insertItem(int code, Utils::SavedAction *item);
75 Utils::SavedAction *item(int code) const;
80 void writeSettings() const;
83 QHash<int, Utils::SavedAction *> m_items;
84 QSettings *m_settings;
87 ///////////////////////////////////////////////////////////
89 enum DebuggerActionCode
93 UseAlternatingRowColors,
94 UseMessageBoxForSignals,
104 UseCustomDebuggingHelperLocation,
105 CustomDebuggingHelperLocation,
110 UseToolTipsInMainEditor,
111 UseToolTipsInLocalsView,
112 UseToolTipsInBreakpointsView,
113 UseToolTipsInStackView,
114 UseAddressInBreakpointsView,
115 UseAddressInStackView,
117 RegisterForPostMortem,
129 AlwaysAdjustStackColumnWidths,
136 AlwaysAdjustLocalsColumnWidths,
143 EnableReverseDebugging,
146 SynchronizeBreakpoints,
147 AllPluginBreakpoints,
148 SelectedPluginBreakpoints,
149 AdjustBreakpointLocations,
150 AlwaysAdjustBreakpointsColumnWidths,
152 SelectedPluginBreakpointsPattern,
157 AlwaysAdjustRegistersColumnWidths,
160 AlwaysAdjustSnapshotsColumnWidths,
163 AlwaysAdjustThreadsColumnWidths,
166 AlwaysAdjustModulesColumnWidths
169 } // namespace Internal
170 } // namespace Debugger
172 #endif // DEBUGGER_WATCHWINDOW_H