Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
f50b692f
Commit
f50b692f
authored
Jun 25, 2017
by
Gus Grubba
Browse files
Allow plugins to create (native) root window
parent
6dae1e7e
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/QGCApplication.cc
View file @
f50b692f
...
...
@@ -79,6 +79,7 @@
#include
"QGCMapPolygon.h"
#include
"ParameterManager.h"
#include
"SettingsManager.h"
#include
"QGCCorePlugin.h"
#ifndef NO_SERIAL_LINK
#include
"SerialLink.h"
...
...
@@ -395,11 +396,7 @@ bool QGCApplication::_initForNormalAppBoot(void)
connect
(
this
,
&
QGCApplication
::
lastWindowClosed
,
this
,
QGCApplication
::
quit
);
#ifdef __mobile__
_qmlAppEngine
=
new
QQmlApplicationEngine
(
this
);
_qmlAppEngine
->
addImportPath
(
"qrc:/qml"
);
_qmlAppEngine
->
rootContext
()
->
setContextProperty
(
"joystickManager"
,
toolbox
()
->
joystickManager
());
_qmlAppEngine
->
rootContext
()
->
setContextProperty
(
"debugMessageModel"
,
AppMessages
::
getModel
());
_qmlAppEngine
->
load
(
QUrl
(
QStringLiteral
(
"qrc:/qml/MainWindowNative.qml"
)));
_qmlAppEngine
=
toolbox
()
->
corePlugin
()
->
createRootWindow
(
this
);
#else
// Start the user interface
MainWindow
*
mainWindow
=
MainWindow
::
_create
();
...
...
src/api/QGCCorePlugin.cc
View file @
f50b692f
...
...
@@ -7,11 +7,13 @@
*
****************************************************************************/
#include
"QGCApplication.h"
#include
"QGCCorePlugin.h"
#include
"QGCOptions.h"
#include
"QGCSettings.h"
#include
"FactMetaData.h"
#include
"SettingsManager.h"
#include
"AppMessages.h"
#include
<QtQml>
#include
<QQmlEngine>
...
...
@@ -213,3 +215,13 @@ void QGCCorePlugin::valuesWidgetDefaultSettings(QStringList& largeValues, QStrin
Q_UNUSED
(
smallValues
);
largeValues
<<
"Vehicle.altitudeRelative"
<<
"Vehicle.groundSpeed"
<<
"Vehicle.flightTime"
;
}
QQmlApplicationEngine
*
QGCCorePlugin
::
createRootWindow
(
QObject
*
parent
)
{
QQmlApplicationEngine
*
pEngine
=
new
QQmlApplicationEngine
(
parent
);
pEngine
->
addImportPath
(
"qrc:/qml"
);
pEngine
->
rootContext
()
->
setContextProperty
(
"joystickManager"
,
qgcApp
()
->
toolbox
()
->
joystickManager
());
pEngine
->
rootContext
()
->
setContextProperty
(
"debugMessageModel"
,
AppMessages
::
getModel
());
pEngine
->
load
(
QUrl
(
QStringLiteral
(
"qrc:/qml/MainWindowNative.qml"
)));
return
pEngine
;
}
src/api/QGCCorePlugin.h
View file @
f50b692f
...
...
@@ -27,6 +27,7 @@ class QGCSettings;
class
QGCCorePlugin_p
;
class
FactMetaData
;
class
QGeoPositionInfoSource
;
class
QQmlApplicationEngine
;
class
QGCCorePlugin
:
public
QGCTool
{
...
...
@@ -83,9 +84,12 @@ public:
/// Allows a plugin to override the specified color name from the palette
virtual
void
paletteOverride
(
QString
colorName
,
QGCPalette
::
PaletteColorInfo_t
&
colorInfo
);
/// Allows the plugin t
he
override the default settings for the Values Widget large and small values
/// Allows the plugin t
o
override the default settings for the Values Widget large and small values
virtual
void
valuesWidgetDefaultSettings
(
QStringList
&
largeValues
,
QStringList
&
smallValues
);
/// Allows the plugin to override the creation of the root (native) window.
virtual
QQmlApplicationEngine
*
createRootWindow
(
QObject
*
parent
);
bool
showTouchAreas
(
void
)
const
{
return
_showTouchAreas
;
}
bool
showAdvancedUI
(
void
)
const
{
return
_showAdvancedUI
;
}
void
setShowTouchAreas
(
bool
show
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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