void KBookmarkMenuImporter::connectToImporter(const QObject &importer) { connect(&importer, SIGNAL(newBookmark(QString,QString,QString)), SLOT(newBookmark(QString,QString,QString))); connect(&importer, SIGNAL(newFolder(QString,bool,QString)), SLOT(newFolder(QString,bool,QString))); connect(&importer, SIGNAL(newSeparator()), SLOT(newSeparator())); connect(&importer, SIGNAL(endFolder()), SLOT(endFolder())); }
void KmlGenerator::putIsoContours(const std::string &interpolatorName) { const unsigned int nData = std::min(maxDataProcessed, sensorData.nMeasures); const std::vector<IsoContourList<double,4u,float>> &interpIsocontours = isocontours.at(interpolatorName); putFolder("Isocontours", "Data isocontours (" + interpolatorName + ")", false, false); unsigned int j = 0; for(const auto &temporalIsocontours : interpIsocontours) { unsigned int i = 1; for(auto isocontour = std::next(temporalIsocontours.begin()); isocontour != temporalIsocontours.end(); ++isocontour) { auto prev = std::prev(isocontour); putColorPolygons("Isocontour level " + std::to_string(i++), "Min value: " + std::to_string(isocontour->lowerValue) + " mg/m³\n" "Max value: " + std::to_string(isocontour->upperValue) + " mg/m³", "IsoContour_", ColorMultiLine<double,4u>(isocontour->lines, isocontour->color), ColorMultiLine<double,4u>(prev->lines, prev->color), false, sensorData.getTime(j), sensorData.getTime(j+1, true), ABSOLUTE ); } j++; } endFolder(); skipLine(); }
void KmlGenerator::putIsoLines(const std::string &interpolatorName) { const unsigned int nData = std::min(maxDataProcessed, sensorData.nMeasures); const std::vector<IsoLineList<double,4u,float>> &interpIsolines = isolines.at(interpolatorName); putFolder("Isolines", "Data isolines (" + interpolatorName + ")", false, true); unsigned int j = 0; for(const auto &temporalIsolines : interpIsolines) { unsigned int i = 1; for(const auto &isoline : temporalIsolines) { putColorLineStrings("Isolines level " + std::to_string(i++), "Isovalue: " + std::to_string(isoline.value) + " mg/m³", "IsoLine_", isoline.lines, defaultVisibleInterpolatorId.compare(interpolatorName) == 0, sensorData.getTime(j), sensorData.getTime(j+1, true) ); } j++; } endFolder(); skipLine(); }
bool BookmarkXXPort::exportContacts( const KABC::AddresseeList &list, const QString& ) { QString fileName = locateLocal( "data", "kabc/bookmarks.xml" ); KBookmarkManager *mgr = KBookmarkManager::managerForFile( fileName ); KBookmarkDomBuilder *builder = new KBookmarkDomBuilder( mgr->root(), mgr ); builder->connectImporter( this ); KABC::AddresseeList::ConstIterator it; emit newFolder( i18n( "AddressBook" ), false, "" ); for ( it = list.begin(); it != list.end(); ++it ) { if ( !(*it).url().isEmpty() ) { QString name = (*it).givenName() + " " + (*it).familyName(); emit newBookmark( name, (*it).url().url().latin1(), QString( "" ) ); } } emit endFolder(); delete builder; mgr->save(); KBookmarkMenu::DynMenuInfo menu; menu.name = i18n( "Addressbook Bookmarks" ); menu.location = fileName; menu.type = "xbel"; menu.show = true; KBookmarkMenu::setDynamicBookmarks( "kabc", menu ); return true; }
void KmlGenerator::putStations() { putFolder("Stations", "Station locations", false, true); for (unsigned int i = 0; i < sensorData.nStations; i++) { putPlaceMark(*sensorData.stationNames[i], sensorData.stationDescription(i,getCurrentIndentLevel()+2), "StationStyle", sensorData.x[i], sensorData.y[i], 0.0, CLAMP_TO_GROUND); } endFolder(); skipLine(); }
void KmlGenerator::putInterpolatedDataOverlays(const std::string &interpolatorName) { const unsigned int nData = std::min(maxDataProcessed, sensorData.nMeasures); putFolder("Interpolation results", "Data Overlays ("+interpolatorName+")", false, true); for (unsigned int i = 0; i < nData; i++) { putGroundOverlay("Data"+std::to_string(i), 0u, CLAMP_TO_GROUND, sensorData.bbox, 0.0, groundOverlayFolder+groundOverlayPrefix+interpolatorName+"_"+std::to_string(i)+"."+groundOverlayImgExt, defaultVisibleInterpolatorId.compare(interpolatorName) == 0, sensorData.getTime(i), sensorData.getTime(i+1, true) ); } endFolder(); skipLine(); }
void KmlGenerator::putScreenOverlays(const std::string &interpolatorName) { const unsigned int nData = std::min(maxDataProcessed, sensorData.nMeasures); putFolder("GUI", "Screen Overlays (" + interpolatorName + ")", false, true); for (unsigned int i = 0; i < nData; i++) { putScreenOverlay("Color scale " + std::to_string(i), "", Offset(0.0f, 0.0f), Offset(0.1f, 0.15f), Offset(0.0f, 400, PIXELS), Offset(), 0.0f, 3, screenOverlayFolder+screenOverlayPrefix+interpolatorName+"_"+std::to_string(i)+"."+screenOverlayImgExt, defaultVisibleInterpolatorId.compare(interpolatorName) == 0, sensorData.getTime(i), sensorData.getTime(i+1, true) ); } endFolder(); skipLine(); }
void KmlGenerator::generateKmlFile() { putKmlHeader(); // Styles definition putStationStyle(); putIsoLineStyles(); putIsoContourStyles(); // Initial camera position putInitialView(); // Station placemarks putStations(); unsigned int k = 0; for(const auto &interpolator : interpData) { const std::string &interpolatorName = interpolator.first; putFolder(interpolatorName, "Interpolator "+std::to_string(k)+": "+interpolatorName, false, false); // Ground overlays folder putInterpolatedDataOverlays(interpolatorName); // Ground overlays putScreenOverlays(interpolatorName); // Isolines and contours putIsoLines(interpolatorName); putIsoContours(interpolatorName); endFolder(); k++; } putKmlFooter(); }