Skip to content

Commit

Permalink
Cleaned up line indendation, validated Google Earth on Mac
Browse files Browse the repository at this point in the history
  • Loading branch information
pixhawk-students committed Dec 29, 2010
1 parent 14609cb commit 56ac4e9
Showing 1 changed file with 89 additions and 89 deletions.
178 changes: 89 additions & 89 deletions src/ui/map3D/QGCGoogleEarthView.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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)),
Expand All @@ -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
Expand Down Expand Up @@ -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)));
Expand All @@ -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)
Expand Down Expand Up @@ -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)
Expand All @@ -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
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 56ac4e9

Please sign in to comment.