Skip to content
Snippets Groups Projects
debuggeractions.h 3.96 KiB
Newer Older
hjk's avatar
hjk committed
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
hjk's avatar
hjk committed
**
** Commercial Usage
**
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** GNU Lesser General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** If you are unsure which license is appropriate for your use, please
hjk's avatar
hjk committed
** contact the sales department at http://qt.nokia.com/contact.
hjk's avatar
hjk committed
**
**************************************************************************/

#ifndef DEBUGGER_ACTIONS_H
#define DEBUGGER_ACTIONS_H

#include <QtCore/QHash>
#include <utils/savedaction.h>
QT_BEGIN_NAMESPACE
class QActionGroup;
QT_END_NAMESPACE
namespace Debugger {
namespace Internal {
class DebuggerSettings : public QObject
    DebuggerSettings(QObject *parent = 0);
    ~DebuggerSettings();
    void insertItem(int code, Utils::SavedAction *item);
    Utils::SavedAction *item(int code) const;
    QString dump() const;
    static DebuggerSettings *instance();

public slots:
    void readSettings(QSettings *settings);
    void writeSettings(QSettings *settings) const;
    QHash<int, Utils::SavedAction *> m_items; 
};


///////////////////////////////////////////////////////////

enum DebuggerActionCode
hjk's avatar
hjk committed
{
    // General
    SettingsDialog,
    AdjustColumnWidths,
    AlwaysAdjustColumnWidths,
    UseAlternatingRowColors,
hjk's avatar
hjk committed
    AutoQuit,
hjk's avatar
hjk committed
    LockView,
    LogTimeStamps,
    OperateByInstruction,
hjk's avatar
hjk committed

    RecheckDebuggingHelpers,
    UseDebuggingHelpers,
    UseCustomDebuggingHelperLocation,
    CustomDebuggingHelperLocation,
    DebugDebuggingHelpers,
    UseToolTipsInMainEditor,
    UseToolTipsInLocalsView,
    UseToolTipsInBreakpointsView,
    UseToolTipsInStackView,
    UseAddressInBreakpointsView,
    UseAddressInStackView,

hjk's avatar
hjk committed
    // Gdb
    GdbLocation,
    GdbEnvironment,
    GdbScriptFile,
    ExecuteCommand,
    GdbWatchdogTimeout,
hjk's avatar
hjk committed

    // Stack
    MaximalStackDepth,
hjk's avatar
hjk committed
    // Watchers & Locals
    WatchExpression,
    WatchExpressionInWindow,
hjk's avatar
hjk committed
    RemoveWatchExpression,
hjk's avatar
hjk committed
    AssignValue,
    AssignType,
    ShowStdNamespace,
    ShowQtNamespace,
hjk's avatar
hjk committed

hjk's avatar
hjk committed
    // Source List
    ListSourceFiles,

    // Running
    EnableReverseDebugging,
hjk's avatar
hjk committed

    // Breakpoints
    SynchronizeBreakpoints,
    AllPluginBreakpoints,
    SelectedPluginBreakpoints,
    NoPluginBreakpoints,
    SelectedPluginBreakpointsPattern,
    UsePreciseBreakpoints
hjk's avatar
hjk committed

// singleton access
Utils::SavedAction *theDebuggerAction(int code);
// convenience
hjk's avatar
hjk committed
bool theDebuggerBoolSetting(int code);
QString theDebuggerStringSetting(int code);
hjk's avatar
hjk committed

struct DebuggerManagerActions
{
    QAction *continueAction;
    QAction *stopAction;
    QAction *resetAction; // FIXME: Should not be needed in a stable release
    QAction *stepAction;
    QAction *stepOutAction;
    QAction *runToLineAction;
    QAction *runToFunctionAction;
    QAction *jumpToLineAction;
    QAction *nextAction;
    QAction *watchAction1; // in the Debug menu
    QAction *watchAction2; // in the text editor context menu
    QAction *breakAction;
    QAction *sepAction;
    QAction *reverseDirectionAction;
};

hjk's avatar
hjk committed
} // namespace Internal
} // namespace Debugger

#endif // DEBUGGER_WATCHWINDOW_H