Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
a77353b4
Commit
a77353b4
authored
Dec 02, 2010
by
hjk
Browse files
debugger: move DebuggerMainWindow to debuggermainwindow.{h,cpp}
parent
05f6151d
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
src/plugins/debugger/debugger.pro
View file @
a77353b4
...
...
@@ -28,12 +28,12 @@ HEADERS += breakhandler.h \
debuggerconstants
.
h
\
debuggerdialogs
.
h
\
debuggerengine
.
h
\
debuggermainwindow
.
h
\
debuggerplugin
.
h
\
debuggerrunner
.
h
\
debuggerstreamops
.
h
\
debuggerstringutils
.
h
\
debuggertooltip
.
h
\
debuggeruiswitcher
.
h
\
disassemblerlines
.
h
\
logwindow
.
h
\
moduleshandler
.
h
\
...
...
@@ -68,11 +68,11 @@ SOURCES += breakhandler.cpp \
debuggeragents
.
cpp
\
debuggerdialogs
.
cpp
\
debuggerengine
.
cpp
\
debuggermainwindow
.
cpp
\
debuggerplugin
.
cpp
\
debuggerrunner
.
cpp
\
debuggerstreamops
.
cpp
\
debuggertooltip
.
cpp
\
debuggeruiswitcher
.
cpp
\
disassemblerlines
.
cpp
\
logwindow
.
cpp
\
moduleshandler
.
cpp
\
...
...
src/plugins/debugger/debuggermainwindow.cpp
View file @
a77353b4
This diff is collapsed.
Click to expand it.
src/plugins/debugger/debuggermainwindow.h
View file @
a77353b4
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** 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
** contact the sales department at http://qt.nokia.com/contact.
**
**************************************************************************/
#ifndef DEBUGGERUISWITCHER_H
#define DEBUGGERUISWITCHER_H
#include "debugger_global.h"
#include "debuggerconstants.h"
#include <utils/fancymainwindow.h>
#include <QtCore/QObject>
QT_BEGIN_NAMESPACE
class
QDockWidget
;
class
QSettings
;
class
QMenu
;
QT_END_NAMESPACE
namespace
Core
{
class
Command
;
class
Context
;
class
IMode
;
}
namespace
ProjectExplorer
{
class
Project
;
class
Target
;
class
RunConfiguration
;
}
namespace
Debugger
{
namespace
Internal
{
class
DebuggerMainWindowPrivate
;
}
class
DEBUGGER_EXPORT
DebuggerMainWindow
:
public
Utils
::
FancyMainWindow
{
Q_OBJECT
public:
DebuggerMainWindow
();
~
DebuggerMainWindow
();
// debuggable languages are registered with this function.
void
addLanguage
(
const
DebuggerLanguage
&
language
,
const
Core
::
Context
&
context
);
// debugger toolbars are registered with this function
void
setToolbar
(
const
DebuggerLanguage
&
language
,
QWidget
*
widget
);
// menu actions are registered with this function
void
addMenuAction
(
Core
::
Command
*
command
,
const
DebuggerLanguage
&
language
,
const
QString
&
group
=
QString
());
// all supported languages
DebuggerLanguages
supportedLanguages
()
const
;
// active languages to be debugged.
DebuggerLanguages
activeDebugLanguages
()
const
;
// called when all dependent plugins have loaded
void
initialize
(
QSettings
*
settings
);
void
onModeChanged
(
Core
::
IMode
*
mode
);
// most common debugger windows
QDockWidget
*
breakWindow
()
const
;
QDockWidget
*
stackWindow
()
const
;
QDockWidget
*
watchWindow
()
const
;
QDockWidget
*
snapshotsWindow
()
const
;
QDockWidget
*
threadsWindow
()
const
;
QDockWidget
*
outputWindow
()
const
;
QDockWidget
*
qmlInspectorWindow
()
const
;
QDockWidget
*
dockWidget
(
const
QString
&
objectName
)
const
;
// dockwidgets are registered to the main window
QDockWidget
*
createDockWidget
(
const
DebuggerLanguage
&
language
,
QWidget
*
widget
,
Qt
::
DockWidgetArea
area
=
Qt
::
TopDockWidgetArea
);
QWidget
*
createContents
(
Core
::
IMode
*
mode
);
QMenu
*
createPopupMenu
();
signals:
// emit when user changes active languages from the menu.
// Both UI and debugger startup are affected.
void
activeLanguagesChanged
(
Debugger
::
DebuggerLanguages
activeLanguages
);
void
dockResetRequested
(
Debugger
::
DebuggerLanguages
activeLanguages
);
void
memoryEditorRequested
();
private
slots
:
void
updateUi
();
void
resetDebuggerLayout
();
void
updateUiForProject
(
ProjectExplorer
::
Project
*
project
);
void
updateUiForTarget
(
ProjectExplorer
::
Target
*
target
);
void
updateUiForRunConfiguration
(
ProjectExplorer
::
RunConfiguration
*
rc
);
void
updateUiForCurrentRunConfiguration
();
void
updateUiOnFileListChange
();
public
slots
:
void
updateActiveLanguages
();
void
updateDockWidgetSettings
();
void
readSettings
();
void
writeSettings
()
const
;
private:
void
activateQmlCppLayout
();
void
activateCppLayout
();
void
hideInactiveWidgets
();
void
createViewsMenuItems
();
bool
isQmlCppActive
()
const
;
bool
isQmlActive
()
const
;
Internal
::
DebuggerMainWindowPrivate
*
d
;
};
}
// namespace Debugger
#endif // DEBUGGERUISWITCHER_H
src/plugins/debugger/debuggerplugin.cpp
View file @
a77353b4
...
...
@@ -35,10 +35,10 @@
#include "debuggercore.h"
#include "debuggerdialogs.h"
#include "debuggerengine.h"
#include "debuggermainwindow.h"
#include "debuggerrunner.h"
#include "debuggerstringutils.h"
#include "debuggertooltip.h"
#include "debuggeruiswitcher.h"
#include "breakpoint.h"
#include "breakhandler.h"
...
...
src/plugins/debugger/debuggerrunner.cpp
View file @
a77353b4
...
...
@@ -32,9 +32,9 @@
#include "debuggeractions.h"
#include "debuggercore.h"
#include "debuggerengine.h"
#include "debuggermainwindow.h"
#include "debuggerplugin.h"
#include "debuggerstringutils.h"
#include "debuggeruiswitcher.h"
#include "gdb/gdbengine.h"
#include "gdb/remotegdbserveradapter.h"
#include "gdb/remoteplaingdbadapter.h"
...
...
src/plugins/debugger/debuggeruiswitcher.cpp
deleted
100644 → 0
View file @
05f6151d
This diff is collapsed.
Click to expand it.
src/plugins/debugger/debuggeruiswitcher.h
deleted
100644 → 0
View file @
05f6151d
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** 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
** contact the sales department at http://qt.nokia.com/contact.
**
**************************************************************************/
#ifndef DEBUGGERUISWITCHER_H
#define DEBUGGERUISWITCHER_H
#include "debugger_global.h"
#include "debuggerconstants.h"
#include <utils/fancymainwindow.h>
#include <QtCore/QObject>
QT_BEGIN_NAMESPACE
class
QDockWidget
;
class
QSettings
;
class
QMenu
;
QT_END_NAMESPACE
namespace
Core
{
class
Command
;
class
Context
;
class
IMode
;
}
namespace
ProjectExplorer
{
class
Project
;
class
Target
;
class
RunConfiguration
;
}
namespace
Debugger
{
namespace
Internal
{
class
DebuggerMainWindowPrivate
;
}
class
DEBUGGER_EXPORT
DebuggerMainWindow
:
public
Utils
::
FancyMainWindow
{
Q_OBJECT
public:
DebuggerMainWindow
();
~
DebuggerMainWindow
();
// debuggable languages are registered with this function.
void
addLanguage
(
const
DebuggerLanguage
&
language
,
const
Core
::
Context
&
context
);
// debugger toolbars are registered with this function
void
setToolbar
(
const
DebuggerLanguage
&
language
,
QWidget
*
widget
);
// menu actions are registered with this function
void
addMenuAction
(
Core
::
Command
*
command
,
const
DebuggerLanguage
&
language
,
const
QString
&
group
=
QString
());
// all supported languages
DebuggerLanguages
supportedLanguages
()
const
;
// active languages to be debugged.
DebuggerLanguages
activeDebugLanguages
()
const
;
// called when all dependent plugins have loaded
void
initialize
(
QSettings
*
settings
);
void
onModeChanged
(
Core
::
IMode
*
mode
);
// most common debugger windows
QDockWidget
*
breakWindow
()
const
;
QDockWidget
*
stackWindow
()
const
;
QDockWidget
*
watchWindow
()
const
;
QDockWidget
*
snapshotsWindow
()
const
;
QDockWidget
*
threadsWindow
()
const
;
QDockWidget
*
outputWindow
()
const
;
QDockWidget
*
qmlInspectorWindow
()
const
;
QDockWidget
*
dockWidget
(
const
QString
&
objectName
)
const
;
// dockwidgets are registered to the main window
QDockWidget
*
createDockWidget
(
const
DebuggerLanguage
&
language
,
QWidget
*
widget
,
Qt
::
DockWidgetArea
area
=
Qt
::
TopDockWidgetArea
);
QWidget
*
createContents
(
Core
::
IMode
*
mode
);
QMenu
*
createPopupMenu
();
signals:
// emit when user changes active languages from the menu.
// Both UI and debugger startup are affected.
void
activeLanguagesChanged
(
Debugger
::
DebuggerLanguages
activeLanguages
);
void
dockResetRequested
(
Debugger
::
DebuggerLanguages
activeLanguages
);
void
memoryEditorRequested
();
private
slots
:
void
updateUi
();
void
resetDebuggerLayout
();
void
updateUiForProject
(
ProjectExplorer
::
Project
*
project
);
void
updateUiForTarget
(
ProjectExplorer
::
Target
*
target
);
void
updateUiForRunConfiguration
(
ProjectExplorer
::
RunConfiguration
*
rc
);
void
updateUiForCurrentRunConfiguration
();
void
updateUiOnFileListChange
();
public
slots
:
void
updateActiveLanguages
();
void
updateDockWidgetSettings
();
void
readSettings
();
void
writeSettings
()
const
;
private:
void
activateQmlCppLayout
();
void
activateCppLayout
();
void
hideInactiveWidgets
();
void
createViewsMenuItems
();
bool
isQmlCppActive
()
const
;
bool
isQmlActive
()
const
;
Internal
::
DebuggerMainWindowPrivate
*
d
;
};
}
// namespace Debugger
#endif // DEBUGGERUISWITCHER_H
src/plugins/debugger/gdb/gdbengine.cpp
View file @
a77353b4
...
...
@@ -32,7 +32,6 @@
#include "gdbengine.h"
#include "gdboptionspage.h"
#include "debuggeruiswitcher.h"
#include "debuggercore.h"
#include "debuggerplugin.h"
#include "debuggerrunner.h"
...
...
@@ -4025,35 +4024,45 @@ bool GdbEngine::startGdb(const QStringList &args, const QString &gdb, const QStr
gdbArgs
<<
_
(
"-i"
);
gdbArgs
<<
_
(
"mi"
);
gdbArgs
+=
args
;
#ifdef Q_OS_WIN
// Set python path. By convention, python is located below gdb executable.
// Extend the environment set on the process in startAdapter().
const
QFileInfo
fi
(
m_gdb
);
bool
foundPython
=
false
;
if
(
fi
.
isAbsolute
())
{
const
QString
winPythonVersion
=
QLatin1String
(
winPythonVersionC
);
const
QDir
dir
=
fi
.
absoluteDir
();
if
(
dir
.
exists
(
winPythonVersion
))
{
QProcessEnvironment
environment
=
gdbProc
()
->
processEnvironment
();
const
QString
pythonPathVariable
=
QLatin1String
(
"PYTHONPATH"
);
// Check for existing values.
if
(
environment
.
contains
(
pythonPathVariable
))
{
const
QString
oldPythonPath
=
environment
.
value
(
pythonPathVariable
);
showMessage
(
_
(
"Using existing python path: %1"
)
.
arg
(
oldPythonPath
),
LogMisc
);
}
else
{
const
QString
pythonPath
=
QDir
::
toNativeSeparators
(
dir
.
absoluteFilePath
(
winPythonVersion
));
environment
.
insert
(
pythonPathVariable
,
pythonPath
);
showMessage
(
_
(
"Python path: %1"
).
arg
(
pythonPath
),
LogMisc
);
gdbProc
()
->
setProcessEnvironment
(
environment
);
}
foundPython
=
true
;
}
if
(
!
fi
.
isAbsolute
())
{
showMessage
(
_
(
"GDB %1 DOES NOT HAVE ABSOLUTE LOCATION."
).
arg
(
m_gdb
));
const
QString
msg
=
tr
(
"The gdb location must be given as an "
"absolute path in the debugger settings."
);
handleAdapterStartFailed
(
msg
,
settingsIdHint
);
return
false
;
}
if
(
!
foundPython
)
{
showMessage
(
_
(
"UNSUPPORTED GDB %1 DOES NOT HAVE PYTHON."
).
arg
(
m_gdb
));
showStatusMessage
(
_
(
"Gdb at %1 does not have python"
).
arg
(
m_gdb
));
const
QString
winPythonVersion
=
QLatin1String
(
winPythonVersionC
);
const
QDir
dir
=
fi
.
absoluteDir
();
if
(
!
dir
.
exists
(
winPythonVersion
))
{
showMessage
(
_
(
"GDB %1 CANNOT FIND PYTHON INSTALLATION."
).
arg
(
m_gdb
));
showStatusMessage
(
_
(
"Gdb at %1 cannot find python"
).
arg
(
m_gdb
));
const
QString
msg
=
tr
(
"The gdb installed at %1 cannot "
"find a valid python installation in its %2 subdirectory.
\n
"
"You may set the PYTHONPATH to your installation."
)
.
arg
(
m_gdb
).
arg
(
winPythonVersion
);
handleAdapterStartFailed
(
msg
,
settingsIdHint
);
return
false
;
}
QProcessEnvironment
environment
=
gdbProc
()
->
processEnvironment
();
const
QString
pythonPathVariable
=
QLatin1String
(
"PYTHONPATH"
);
// Check for existing values.
if
(
environment
.
contains
(
pythonPathVariable
))
{
const
QString
oldPythonPath
=
environment
.
value
(
pythonPathVariable
);
showMessage
(
_
(
"Using existing python path: %1"
)
.
arg
(
oldPythonPath
),
LogMisc
);
}
else
{
const
QString
pythonPath
=
QDir
::
toNativeSeparators
(
dir
.
absoluteFilePath
(
winPythonVersion
));
environment
.
insert
(
pythonPathVariable
,
pythonPath
);
showMessage
(
_
(
"Python path: %1"
).
arg
(
pythonPath
),
LogMisc
);
gdbProc
()
->
setProcessEnvironment
(
environment
);
}
#endif
...
...
src/plugins/debugger/qml/qmlcppengine.cpp
View file @
a77353b4
#include "qmlcppengine.h"
#include "qmlengine.h"
#include "debugger
uiswitcher
.h"
#include "debugger
mainwindow
.h"
#include "debuggercore.h"
#include <qmljseditor/qmljseditorconstants.h>
...
...
src/plugins/debugger/qml/qmlengine.cpp
View file @
a77353b4
...
...
@@ -34,10 +34,10 @@
#include "debuggerconstants.h"
#include "debuggercore.h"
#include "debuggerdialogs.h"
#include "debuggermainwindow.h"
#include "debuggerrunner.h"
#include "debuggerstringutils.h"
#include "debuggertooltip.h"
#include "debuggeruiswitcher.h"
#include "breakhandler.h"
#include "moduleshandler.h"
...
...
src/plugins/qmljsinspector/qmljsinspector.cpp
View file @
a77353b4
...
...
@@ -26,6 +26,7 @@
** contact the sales department at http://qt.nokia.com/contact.
**
**************************************************************************/
#include "qmljsinspectorconstants.h"
#include "qmljsinspector.h"
#include "qmlinspectortoolbar.h"
...
...
@@ -41,19 +42,15 @@
#include <qmljs/parser/qmljsast_p.h>
#include <qmljseditor/qmljseditorconstants.h>
#include <qmljseditor/qmljseditor.h>
#include <debugger/debuggerrunner.h>
#include <debugger/debuggerconstants.h>
#include <debugger/debuggerengine.h>
#include <debugger/debuggermainwindow.h>
#include <debugger/debuggerplugin.h>
#include <debugger/debuggerrunner.h>
#include <debugger/debuggeruiswitcher.h>
#include <debugger/debuggerconstants.h>
#include <debugger/qml/qmlengine.h>
#include <utils/qtcassert.h>
#include <utils/styledbar.h>
#include <utils/fancymainwindow.h>
#include <coreplugin/icontext.h>
#include <coreplugin/basemode.h>
...
...
src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
View file @
a77353b4
...
...
@@ -42,7 +42,6 @@
#include <debugger/debuggerrunner.h>
#include <debugger/debuggerplugin.h>
#include <debugger/debuggerconstants.h>
#include <debugger/debuggeruiswitcher.h>
#include <debugger/debuggerengine.h>
#include <qmljsinspector/qmljsinspectorconstants.h>
#include <qt4projectmanager/qtversionmanager.h>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment