OSDN Git Service

85ffe8bc5c153fe5f77a2639f0ce020bec3dadc9
[qt-creator-jp/qt-creator-jp.git] / src / plugins / debugger / debuggeractions.h
1 /**************************************************************************
2 **
3 ** This file is part of Qt Creator
4 **
5 ** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
6 **
7 ** Contact: Nokia Corporation (qt-info@nokia.com)
8 **
9 ** No Commercial Usage
10 **
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
14 ** this package.
15 **
16 ** GNU Lesser General Public License Usage
17 **
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.
24 **
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.
28 **
29 ** If you have questions regarding the use of this file, please contact
30 ** Nokia at qt-info@nokia.com.
31 **
32 **************************************************************************/
33
34 #ifndef DEBUGGER_ACTIONS_H
35 #define DEBUGGER_ACTIONS_H
36
37 #include <QtCore/QHash>
38 #include <QtCore/QMap>
39
40 QT_BEGIN_NAMESPACE
41 class QSettings;
42 QT_END_NAMESPACE
43
44 namespace Utils {
45 class SavedAction;
46 }
47
48 namespace Debugger {
49 namespace Internal {
50
51 // Global debugger options that are not stored as saved action.
52 class GlobalDebuggerOptions
53 {
54 public:
55     typedef QMap<QString, QString> SourcePathMap;
56
57     void toSettings(QSettings *) const;
58     void fromSettings(QSettings *);
59     bool equals(const GlobalDebuggerOptions &rhs) const { return sourcePathMap == rhs.sourcePathMap; }
60
61     SourcePathMap sourcePathMap;
62 };
63
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); }
66
67 class DebuggerSettings : public QObject
68 {
69     Q_OBJECT // For tr().
70 public:
71     explicit DebuggerSettings(QSettings *setting);
72     ~DebuggerSettings();
73
74     void insertItem(int code, Utils::SavedAction *item);
75     Utils::SavedAction *item(int code) const;
76
77     QString dump() const;
78
79     void readSettings();
80     void writeSettings() const;
81
82 private:
83     QHash<int, Utils::SavedAction *> m_items;
84     QSettings *m_settings;
85 };
86
87 ///////////////////////////////////////////////////////////
88
89 enum DebuggerActionCode
90 {
91     // General
92     SettingsDialog,
93     UseAlternatingRowColors,
94     UseMessageBoxForSignals,
95     AutoQuit,
96     LockView,
97     LogTimeStamps,
98     VerboseLog,
99     OperateByInstruction,
100     CloseBuffersOnExit,
101     SwitchModeOnExit,
102
103     UseDebuggingHelpers,
104     UseCustomDebuggingHelperLocation,
105     CustomDebuggingHelperLocation,
106
107     UseCodeModel,
108     ShowThreadNames,
109
110     UseToolTipsInMainEditor,
111     UseToolTipsInLocalsView,
112     UseToolTipsInBreakpointsView,
113     UseToolTipsInStackView,
114     UseAddressInBreakpointsView,
115     UseAddressInStackView,
116
117     RegisterForPostMortem,
118
119     // Gdb
120     LoadGdbInit,
121     GdbScriptFile,
122     GdbWatchdogTimeout,
123     TargetAsync,
124
125     // Stack
126     MaximalStackDepth,
127     ExpandStack,
128     CreateFullBacktrace,
129     AlwaysAdjustStackColumnWidths,
130
131     // Watchers & Locals
132     ShowStdNamespace,
133     ShowQtNamespace,
134     SortStructMembers,
135     AutoDerefPointers,
136     AlwaysAdjustLocalsColumnWidths,
137
138     // Source List
139     ListSourceFiles,
140
141     // Running
142     SkipKnownFrames,
143     EnableReverseDebugging,
144
145     // Breakpoints
146     SynchronizeBreakpoints,
147     AllPluginBreakpoints,
148     SelectedPluginBreakpoints,
149     AdjustBreakpointLocations,
150     AlwaysAdjustBreakpointsColumnWidths,
151     NoPluginBreakpoints,
152     SelectedPluginBreakpointsPattern,
153     BreakOnThrow,
154     BreakOnCatch,
155
156     // Registers
157     AlwaysAdjustRegistersColumnWidths,
158
159     // Snapshots
160     AlwaysAdjustSnapshotsColumnWidths,
161
162     // Threads
163     AlwaysAdjustThreadsColumnWidths,
164
165     // Modules
166     AlwaysAdjustModulesColumnWidths
167 };
168
169 } // namespace Internal
170 } // namespace Debugger
171
172 #endif // DEBUGGER_WATCHWINDOW_H