Commit 56ac4e92 authored by pixhawk's avatar pixhawk

Cleaned up line indendation, validated Google Earth on Mac

parent 14609cb8
......@@ -34,7 +34,7 @@ QGCGoogleEarthView::QGCGoogleEarthView(QWidget *parent) :
followCamera(true),
trailEnabled(true),
webViewInitialized(false),
jScriptInitialized(false),
jScriptInitialized(false),
gEarthInitialized(false),
#if (defined Q_OS_MAC)
webViewMac(new QWebView(this)),
......@@ -51,16 +51,16 @@ QGCGoogleEarthView::QGCGoogleEarthView(QWidget *parent) :
#ifdef _MSC_VER
// Create layout and attach webViewWin
QFile file("doc.html");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
qDebug() << __FILE__ << __LINE__ << "Could not open log file";
QTextStream out(&file);
out << webViewWin->generateDocumentation();
out.flush();
file.flush();
file.close();
QFile file("doc.html");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
qDebug() << __FILE__ << __LINE__ << "Could not open log file";
QTextStream out(&file);
out << webViewWin->generateDocumentation();
out.flush();
file.flush();
file.close();
#else
......@@ -108,7 +108,7 @@ QGCGoogleEarthView::~QGCGoogleEarthView()
void QGCGoogleEarthView::addUAS(UASInterface* uas)
{
// uasid, type, color (in aarrbbgg format)
//javaScript(QString("createAircraft(%1, %2, %3);").arg(uas->getUASID()).arg(uas->getSystemType()).arg(uas->getColor().name().remove(0, 1).prepend("50")));
//javaScript(QString("createAircraft(%1, %2, %3);").arg(uas->getUASID()).arg(uas->getSystemType()).arg(uas->getColor().name().remove(0, 1).prepend("50")));
javaScript(QString("createAircraft(%1, %2, %3);").arg(uas->getUASID()).arg(uas->getSystemType()).arg("0"));
// Automatically receive further position updates
connect(uas, SIGNAL(globalPositionChanged(UASInterface*,double,double,double,quint64)), this, SLOT(updateGlobalPosition(UASInterface*,double,double,double,quint64)));
......@@ -119,16 +119,16 @@ void QGCGoogleEarthView::setActiveUAS(UASInterface* uas)
if (uas)
{
mav = uas;
javaScript(QString("setCurrAircraft(%1);").arg(uas->getUASID()));
javaScript(QString("setCurrAircraft(%1);").arg(uas->getUASID()));
}
}
void QGCGoogleEarthView::updateGlobalPosition(UASInterface* uas, double lat, double lon, double alt, quint64 usec)
{
Q_UNUSED(usec);
javaScript(QString("addTrailPosition(%1, %2, %3, %4);").arg(uas->getUASID()).arg(lat, 0, 'f', 15).arg(lon, 0, 'f', 15).arg(alt, 0, 'f', 15));
javaScript(QString("addTrailPosition(%1, %2, %3, %4);").arg(uas->getUASID()).arg(lat, 0, 'f', 15).arg(lon, 0, 'f', 15).arg(alt, 0, 'f', 15));
//qDebug() << QString("addTrailPosition(%1, %2, %3, %4);").arg(uas->getUASID()).arg(lat, 0, 'f', 15).arg(lon, 0, 'f', 15).arg(alt, 0, 'f', 15);
//qDebug() << QString("addTrailPosition(%1, %2, %3, %4);").arg(uas->getUASID()).arg(lat, 0, 'f', 15).arg(lon, 0, 'f', 15).arg(alt, 0, 'f', 15);
}
void QGCGoogleEarthView::showTrail(bool state)
......@@ -158,7 +158,7 @@ void QGCGoogleEarthView::goHome()
void QGCGoogleEarthView::setHome(double lat, double lon, double alt)
{
javaScript(QString("setGCSHome(%1,%2,%3);").arg(lat, 0, 'f', 15).arg(lon, 0, 'f', 15).arg(alt, 0, 'f', 15));
javaScript(QString("setGCSHome(%1,%2,%3);").arg(lat, 0, 'f', 15).arg(lon, 0, 'f', 15).arg(alt, 0, 'f', 15));
}
void QGCGoogleEarthView::hideEvent(QHideEvent* event)
......@@ -172,102 +172,102 @@ void QGCGoogleEarthView::showEvent(QShowEvent* event)
// events
Q_UNUSED(event)
{
// Enable widget, initialize on first run
if (!webViewInitialized)
{
// Enable widget, initialize on first run
if (!webViewInitialized)
{
#if (defined Q_OS_MAC)
webViewMac->setPage(new QGCWebPage(webViewMac));
webViewMac->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
webViewMac->load(QUrl("earth.html"));
webViewMac->setPage(new QGCWebPage(webViewMac));
webViewMac->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
webViewMac->load(QUrl("earth.html"));
#endif
#ifdef _MSC_VER
//webViewWin->dynamicCall("GoHome()");
webViewWin->dynamicCall("Navigate(const QString&)", QApplication::applicationDirPath() + "/earth.html");
//webViewWin->dynamicCall("GoHome()");
webViewWin->dynamicCall("Navigate(const QString&)", QApplication::applicationDirPath() + "/earth.html");
#endif
webViewInitialized = true;
// Reloading the webpage, this resets Google Earth
gEarthInitialized = false;
webViewInitialized = true;
// Reloading the webpage, this resets Google Earth
gEarthInitialized = false;
QTimer::singleShot(2000, this, SLOT(initializeGoogleEarth()));
updateTimer->start(refreshRateMs);
}
QTimer::singleShot(2000, this, SLOT(initializeGoogleEarth()));
updateTimer->start(refreshRateMs);
}
}
}
void QGCGoogleEarthView::printWinException(int no, QString str1, QString str2, QString str3)
{
qDebug() << no << str1 << str2 << str3;
qDebug() << no << str1 << str2 << str3;
}
QVariant QGCGoogleEarthView::javaScript(QString javaScript)
{
#ifdef Q_OS_MAC
return webViewMac->page()->currentFrame()->evaluateJavaScript(javaScript);
return webViewMac->page()->currentFrame()->evaluateJavaScript(javaScript);
#endif
#ifdef _MSC_VER
if(!jScriptInitialized)
{
qDebug() << "TOO EARLY JAVASCRIPT CALL, ABORTING";
return QVariant(false);
}
else
{
QVariantList params;
params.append(javaScript);
params.append("JScript");
return jScriptWin->dynamicCall("execScript(QString, QString)", params);
}
if(!jScriptInitialized)
{
qDebug() << "TOO EARLY JAVASCRIPT CALL, ABORTING";
return QVariant(false);
}
else
{
QVariantList params;
params.append(javaScript);
params.append("JScript");
return jScriptWin->dynamicCall("execScript(QString, QString)", params);
}
#endif
}
void QGCGoogleEarthView::initializeGoogleEarth()
{
if (!jScriptInitialized)
{
#ifdef Q_OS_MAC
jScriptInitialized = true;
if (!jScriptInitialized)
{
#ifdef Q_OS_MAC
jScriptInitialized = true;
#endif
#ifdef _MSC_VER
QAxObject* doc = webViewWin->querySubObject("Document()");
IDispatch* Disp;
IDispatch* winDoc = NULL;
//332C4425-26CB-11D0-B483-00C04FD90119 IHTMLDocument2
//25336920-03F9-11CF-8FD0-00AA00686F13 HTMLDocument
doc->queryInterface(QUuid("{332C4425-26CB-11D0-B483-00C04FD90119}"), (void**)(&winDoc));
if (winDoc)
{
// Security:
// CoInternetSetFeatureEnabled
// (FEATURE_LOCALMACHINE_LOCKDOWN, SET_FEATURE_ON_PROCESS, TRUE);
//
IHTMLDocument2* document = NULL;
winDoc->QueryInterface( IID_IHTMLDocument2, (void**)&document );
IHTMLWindow2 *window = NULL;
document->get_parentWindow( &window );
jScriptWin = new QAxObject(window, webViewWin);
connect(jScriptWin, SIGNAL(exception(int,QString,QString,QString)), this, SLOT(printWinException(int,QString,QString,QString)));
jScriptInitialized = true;
}
else
{
qDebug() << "COULD NOT GET DOCUMENT OBJECT! Aborting";
}
#ifdef _MSC_VER
QAxObject* doc = webViewWin->querySubObject("Document()");
IDispatch* Disp;
IDispatch* winDoc = NULL;
//332C4425-26CB-11D0-B483-00C04FD90119 IHTMLDocument2
//25336920-03F9-11CF-8FD0-00AA00686F13 HTMLDocument
doc->queryInterface(QUuid("{332C4425-26CB-11D0-B483-00C04FD90119}"), (void**)(&winDoc));
if (winDoc)
{
// Security:
// CoInternetSetFeatureEnabled
// (FEATURE_LOCALMACHINE_LOCKDOWN, SET_FEATURE_ON_PROCESS, TRUE);
//
IHTMLDocument2* document = NULL;
winDoc->QueryInterface( IID_IHTMLDocument2, (void**)&document );
IHTMLWindow2 *window = NULL;
document->get_parentWindow( &window );
jScriptWin = new QAxObject(window, webViewWin);
connect(jScriptWin, SIGNAL(exception(int,QString,QString,QString)), this, SLOT(printWinException(int,QString,QString,QString)));
jScriptInitialized = true;
}
else
{
qDebug() << "COULD NOT GET DOCUMENT OBJECT! Aborting";
}
#endif
QTimer::singleShot(2500, this, SLOT(initializeGoogleEarth()));
return;
}
QTimer::singleShot(2500, this, SLOT(initializeGoogleEarth()));
return;
}
if (!gEarthInitialized)
{
if (0 == 1)//(!javaScript("isInitialized();").toBool())
{
QTimer::singleShot(500, this, SLOT(initializeGoogleEarth()));
qDebug() << "NOT INITIALIZED, WAITING";
}
if (0 == 1)//(!javaScript("isInitialized();").toBool())
{
QTimer::singleShot(500, this, SLOT(initializeGoogleEarth()));
qDebug() << "NOT INITIALIZED, WAITING";
}
else
{
// Set home location
......@@ -323,13 +323,13 @@ void QGCGoogleEarthView::updateState()
yaw = mav->getYaw();
javaScript(QString("setAircraftPositionAttitude(%1, %2, %3, %4, %6, %7, %8);")
.arg(uasId)
.arg(lat)
.arg(lon)
.arg(alt+500)
.arg(roll)
.arg(pitch)
.arg(yaw));
.arg(uasId)
.arg(lat)
.arg(lon)
.arg(alt+500)
.arg(roll)
.arg(pitch)
.arg(yaw));
}
if (followCamera)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment