diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 79de1ab25..068215389 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -26,8 +26,8 @@ env: QML_DIR_WIN: "assets\\qml" PUBLISHER: "Alex Spataru" REPO_DIR: "/home/runner/work/Serial-Studio" - QT_VERSION: 6.5.3 - QT_MODULES: qtserialport qtconnectivity qt5compat + QT_VERSION: 6.6.2 + QT_MODULES: qtserialport qtconnectivity qt5compat qtpositioning qtlocation QMAKE: qmake6 CORES: 16 @@ -45,24 +45,17 @@ jobs: steps: - name: '🧰 Checkout' - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: submodules: recursive - - name: '⚙️ Cache Qt' - id: cache-qt - uses: actions/cache@v1 - with: - path: ../Qt - key: ${{runner.os}}-qtcachedir-${{env.QT_VERSION}} - - name: '⚙️ Install Qt' - uses: jurplel/install-qt-action@v2 + uses: jurplel/install-qt-action@v3 with: version: ${{env.QT_VERSION}} modules: ${{env.QT_MODULES}} - aqtversion: '==2.0.0' - cached: ${{steps.cache-qt.outputs.cache-hit}} + cache: true + install-deps: 'true' - name: '⚙️ Install dependencies' run: | @@ -101,29 +94,22 @@ jobs: # macOS build # build-mac: - runs-on: macos-12 - name: '🍎 macOS Monterey' + runs-on: macos-latest + name: '🍎 macOS' steps: - name: '🧰 Checkout' - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: submodules: recursive - - name: '⚙️ Cache Qt' - id: cache-qt - uses: actions/cache@v1 - with: - path: ../Qt - key: ${{runner.os}}-qtcachedir-${{env.QT_VERSION}} - - name: '⚙️ Install Qt' - uses: jurplel/install-qt-action@v2 + uses: jurplel/install-qt-action@v3 with: version: ${{env.QT_VERSION}} modules: ${{env.QT_MODULES}} - aqtversion: '==2.0.0' - cached: ${{steps.cache-qt.outputs.cache-hit}} + cache: true + install-deps: 'true' - name: '🚧 Compile application' run: | @@ -146,12 +132,12 @@ jobs: # Windows build # build-windows: - runs-on: windows-2022 - name: '🧊 Windows Server 2022' + runs-on: windows-latest + name: '🧊 Windows' steps: - name: '🧰 Checkout' - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: submodules: recursive @@ -161,20 +147,13 @@ jobs: arch: x64 spectre: true - - name: '⚙️ Cache Qt' - id: cache-qt - uses: actions/cache@v1 - with: - path: ../Qt - key: ${{runner.os}}-qtcachedir-${{env.QT_VERSION}} - - name: '⚙️ Install Qt' - uses: jurplel/install-qt-action@v2 + uses: jurplel/install-qt-action@v3 with: version: ${{env.QT_VERSION}} modules: ${{env.QT_MODULES}} - aqtversion: '==2.0.0' - cached: ${{steps.cache-qt.outputs.cache-hit}} + cache: true + install-deps: 'true' - name: '🚧 Compile application' run: | diff --git a/Serial-Studio.pro b/Serial-Studio.pro index 3b7a712fc..0f987a350 100644 --- a/Serial-Studio.pro +++ b/Serial-Studio.pro @@ -48,9 +48,12 @@ QT += svg QT += core QT += quick QT += widgets +QT += location QT += bluetooth QT += serialport +QT += positioning QT += printsupport + QT += quickcontrols2 equals(QT_MAJOR_VERSION, 6) { diff --git a/assets/Resources.qrc b/assets/Resources.qrc index fa530d853..6df2b1ccf 100644 --- a/assets/Resources.qrc +++ b/assets/Resources.qrc @@ -180,5 +180,6 @@ window-border/unmaximize.svg icons/paste.svg scripts/frame-parser.js + qml/Widgets/GpsMap.qml diff --git a/assets/qml/Dashboard/DashboardTitle.qml b/assets/qml/Dashboard/DashboardTitle.qml index df8ef3e99..101e700b2 100644 --- a/assets/qml/Dashboard/DashboardTitle.qml +++ b/assets/qml/Dashboard/DashboardTitle.qml @@ -20,10 +20,10 @@ * THE SOFTWARE. */ +import QtCore import QtQuick import QtQuick.Layouts import QtQuick.Controls -import Qt.labs.settings import "../Widgets" as Widgets diff --git a/assets/qml/Dashboard/ViewOptions.qml b/assets/qml/Dashboard/ViewOptions.qml index da31ee610..7b89925bb 100644 --- a/assets/qml/Dashboard/ViewOptions.qml +++ b/assets/qml/Dashboard/ViewOptions.qml @@ -20,10 +20,10 @@ * THE SOFTWARE. */ +import QtCore import QtQuick import QtQuick.Layouts import QtQuick.Controls -import Qt.labs.settings import "../Widgets" as Widgets diff --git a/assets/qml/Dashboard/WidgetDelegate.qml b/assets/qml/Dashboard/WidgetDelegate.qml index 03ffa2d69..5742adf76 100644 --- a/assets/qml/Dashboard/WidgetDelegate.qml +++ b/assets/qml/Dashboard/WidgetDelegate.qml @@ -58,6 +58,21 @@ Item { rightMargin: window.borderWidth bottomMargin: window.borderWidth } + + // + // Hack: render a GPS map using QML code instead of QtWidgets + // + Loader { + anchors.fill: parent + asynchronous: true + active: widget.isGpsMap + visible: widget.isGpsMap && status == Loader.Ready + sourceComponent: Widgets.GpsMap { + altitude: widget.gpsAltitude + latitude: widget.gpsLatitude + longitude: widget.gpsLongitude + } + } } } @@ -114,6 +129,18 @@ Item { widgetIndex: root.widgetIndex widgetVisible: _window.visible anchors.margins: _window.radius + + Loader { + anchors.fill: parent + asynchronous: true + active: externalWidget.isGpsMap + visible: externalWidget.isGpsMap && status == Loader.Ready + sourceComponent: Widgets.GpsMap { + altitude: externalWidget.gpsAltitude + latitude: externalWidget.gpsLatitude + longitude: externalWidget.gpsLongitude + } + } } } diff --git a/assets/qml/Panes/Setup.qml b/assets/qml/Panes/Setup.qml index fbb35471c..f91552f53 100644 --- a/assets/qml/Panes/Setup.qml +++ b/assets/qml/Panes/Setup.qml @@ -20,10 +20,10 @@ * THE SOFTWARE. */ +import QtCore import QtQuick import QtQuick.Layouts import QtQuick.Controls -import Qt.labs.settings import "../Widgets" as Widgets import "SetupPanes" as SetupPanes diff --git a/assets/qml/Panes/SetupPanes/Hardware.qml b/assets/qml/Panes/SetupPanes/Hardware.qml index 42fdd0d3c..e48a8d226 100644 --- a/assets/qml/Panes/SetupPanes/Hardware.qml +++ b/assets/qml/Panes/SetupPanes/Hardware.qml @@ -23,7 +23,7 @@ import QtQuick import QtQuick.Layouts import QtQuick.Controls -import Qt.labs.settings as QtSettings +import QtCore as QtSettings import "Devices" as Devices import "../../Windows" as Windows diff --git a/assets/qml/Widgets/GpsMap.qml b/assets/qml/Widgets/GpsMap.qml new file mode 100644 index 000000000..f15a99d20 --- /dev/null +++ b/assets/qml/Widgets/GpsMap.qml @@ -0,0 +1,249 @@ +/* + * Copyright (c) 2020-2024 Alex Spataru + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +import QtCore +import QtQuick +import QtLocation +import QtPositioning +import QtQuick.Layouts +import QtQuick.Controls + +Item { + id: root + + // + // Custom properties to control the map from other QML files + // + property real latitude: 0 + property real longitude: 0 + property real altitude: 0 // Not used yet :( + onLatitudeChanged: { + if (autoCenter.checked) + centerMap() + } + + onLongitudeChanged: { + if (autoCenter.checked) + centerMap() + } + + // + // Centers the map to the current coordinates + // + function centerMap() { + map.center = QtPositioning.coordinate(root.latitude, root.longitude) + } + + // + // Save settings accross runs + // + Settings { + property alias mapTilt: tiltSlider.value + property alias mapZoom: zoomSlider.value + property alias mapCenter: autoCenter.checked + property alias mapVariant: mapType.currentIndex + } + + // + // UI controls + // + ColumnLayout { + spacing: app.spacing + anchors.fill: parent + anchors.margins: app.spacing + + RowLayout { + spacing: app.spacing + + Label { + text: qsTr("Map Type:") + Layout.alignment: Qt.AlignVCenter + } + + ComboBox { + id: mapType + Layout.fillWidth: true + textRole: "description" + model: map.supportedMapTypes + Layout.alignment: Qt.AlignVCenter + onCurrentIndexChanged: map.activeMapType = map.supportedMapTypes[currentIndex] + } + } + + // + // Center map + zoom slider + // + RowLayout { + CheckBox { + id: autoCenter + checked: true + checkable: true + Layout.leftMargin: -6 + Layout.alignment: Qt.AlignHCenter + text: qsTr("Center on coordinate") + onCheckedChanged: { + if (checked) + root.centerMap() + } + } + + Slider { + id: zoomSlider + value: map.zoomLevel + Layout.fillWidth: true + to: map.maximumZoomLevel + from: map.minimumZoomLevel + Layout.alignment: Qt.AlignHCenter + onValueChanged: { + if (map.zoomLevel !== value) + map.zoomLevel = value + } + } + } + + // + // Map + // + RowLayout { + // + // Tilt slider + // + Slider { + id: tiltSlider + orientation: Qt.Vertical + Layout.fillHeight: true + from: map.minimumTilt + to: map.maximumTilt + value: map.tilt + onValueChanged: { + if (map.tilt != value) + map.tilt = value + } + } + + // + // Map + // + Rectangle { + id: mapRect + clip: true + Layout.fillWidth: true + Layout.fillHeight: true + + border { + width: 2 + color: Cpp_ThemeManager.border + } + + gradient: Gradient { + GradientStop { + color: "#6ba9d1" + position: Math.max(0.4, + (map.maximumTilt - map.tilt) / + map.maximumTilt) + } + + GradientStop { + position: 0 + color: "#283e51" + } + } + + Map { + id: map + smooth: true + antialiasing: true + color: "transparent" + anchors.fill: parent + copyrightsVisible: false + anchors.margins: parent.border.width + + tilt: 27 + zoomLevel: 16 + + MapQuickItem { + anchorPoint: Qt.point(sourceItem.width / 2, + sourceItem.height/ 2) + coordinate: QtPositioning.coordinate(root.latitude, + root.longitude) + + sourceItem: Rectangle { + id: dot + width: 20 + height: 20 + opacity: 0.8 + border.width: 2 + radius: width / 2 + color: "#ff0000" + border.color: "#ffffff" + } + } + + plugin: Plugin { + preferred: "osm" + + PluginParameter { + name: "osm.mapping.highdpi_tiles" + value: true + } + } + } + + Rectangle { + id: smog + height: 32 + opacity: 0.5 + + Connections { + target: map + function onTiltChanged() { + var x = map.tilt / map.maximumTilt + smog.y = (1.666 * x - 1.416) * mapRect.height + } + } + + gradient: Gradient { + GradientStop { + position: 0 + color: "transparent" + } + + GradientStop { + position: 0.5 + color: "#dedede" + } + + GradientStop { + position: 1 + color: "transparent" + } + } + + anchors { + left: parent.left + right: parent.right + } + } + } + } + } +} diff --git a/assets/qml/Widgets/Terminal.qml b/assets/qml/Widgets/Terminal.qml index 3476dc6fd..00cb1373c 100644 --- a/assets/qml/Widgets/Terminal.qml +++ b/assets/qml/Widgets/Terminal.qml @@ -20,10 +20,10 @@ * THE SOFTWARE. */ +import QtCore import QtQuick import QtQuick.Layouts import QtQuick.Controls -import Qt.labs.settings import SerialStudio as SerialStudio Item { diff --git a/assets/qml/Windows/Donate.qml b/assets/qml/Windows/Donate.qml index 7f5d9c350..26dbe00e9 100644 --- a/assets/qml/Windows/Donate.qml +++ b/assets/qml/Windows/Donate.qml @@ -20,11 +20,11 @@ * THE SOFTWARE. */ +import QtCore import QtQuick import QtQuick.Window import QtQuick.Layouts import QtQuick.Controls -import Qt.labs.settings import "../FramelessWindow" as FramelessWindow diff --git a/assets/qml/Windows/MQTTConfiguration.qml b/assets/qml/Windows/MQTTConfiguration.qml index eca813c33..7ee1c261d 100644 --- a/assets/qml/Windows/MQTTConfiguration.qml +++ b/assets/qml/Windows/MQTTConfiguration.qml @@ -20,11 +20,11 @@ * THE SOFTWARE. */ +import QtCore import QtQuick import QtQuick.Window import QtQuick.Layouts import QtQuick.Controls -import Qt.labs.settings import "../FramelessWindow" as FramelessWindow diff --git a/assets/qml/Windows/MainWindow.qml b/assets/qml/Windows/MainWindow.qml index 47ac1dc49..db8522e5d 100644 --- a/assets/qml/Windows/MainWindow.qml +++ b/assets/qml/Windows/MainWindow.qml @@ -20,11 +20,11 @@ * THE SOFTWARE. */ +import QtCore import QtQuick import QtQuick.Window import QtQuick.Layouts import QtQuick.Controls -import Qt.labs.settings import "../Panes" import "../Windows" diff --git a/assets/qml/Windows/ProjectEditor.qml b/assets/qml/Windows/ProjectEditor.qml index b22f807fa..206437b15 100644 --- a/assets/qml/Windows/ProjectEditor.qml +++ b/assets/qml/Windows/ProjectEditor.qml @@ -20,11 +20,11 @@ * THE SOFTWARE. */ +import QtCore import QtQuick import QtQuick.Window import QtQuick.Layouts import QtQuick.Controls -import Qt.labs.settings import "../ProjectEditor" import "../Widgets" as Widgets diff --git a/assets/translations/de.ts b/assets/translations/de.ts index 2ec715771..82c235a16 100644 --- a/assets/translations/de.ts +++ b/assets/translations/de.ts @@ -4,14 +4,17 @@ About + About Über + Version %1 Version %1 + The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Das Programm wird OHNE JEGLICHE GEWÄHRLEISTUNG geliefert, EINSCHLIESSLICH DER GEWÄHRLEISTUNG FÜR DESIGN, MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. @@ -20,6 +23,7 @@ Autor kontaktieren + Report bug Fehler melden @@ -28,14 +32,17 @@ Nach Updates suchen + Documentation Dokumentation + Close Schließen + Copyright © 2020-%1 %2, released under the MIT License. Copyright © 2020-%1 %2, veröffentlicht unter der MIT-Lizenz. @@ -44,14 +51,17 @@ Logdatei öffnen + Website Webseite + Acknowledgements Danksagung + Make a donation Spenden @@ -70,10 +80,12 @@ Acknowledgements + Acknowledgements Danksagung + Close Schließen @@ -93,21 +105,48 @@ JSON und CSV Dateien hierher Ziehen + + BluetoothLE + + + Device + + + + + Service + + + + + Scanning.... + + + + + Sorry, this version of %1 is not supported yet. We'll update Serial Studio to work with this operating system as soon as Qt officially supports it. + + + CSV::Export + CSV file not open CSV Datei nicht geöffnet + Cannot find CSV export file! Konnte CSV exportierte Datei nicht finden! + CSV File Error CSV Datei Fehler + Cannot open CSV file for writing! Konnte nicht in CSV schreiben! @@ -115,10 +154,12 @@ CSV::Player + Select CSV file CSV Datei auswählen + CSV files CSV Dateien @@ -131,10 +172,12 @@ Sie müssen eine JSON-Modelldatei auswählen, um diese Funktion nutzen zu können + Serial port open, do you want to continue? Serielle Schnittstelle offen, wollen Sie fortfahren? + In order to use this feature, its necessary to disconnect from the serial port Um diese Funktion zu nutzen, ist es notwendig, die Verbindung zur seriellen Schnittstelle zu trennen @@ -147,10 +190,12 @@ Überprüfen Sie ob die CSV mit Serial Studio erstellt ist + Cannot read CSV file CSV-Datei kann nicht gelesen werden + Please check file permissions & location Prüfen Sie die Dateiberechtigungen und Dateipfade @@ -214,6 +259,7 @@ Menüleiste anzeigen + Console Konsole @@ -221,6 +267,7 @@ CsvPlayer + CSV Player @@ -272,6 +319,7 @@ Dashboard + Console Konsole @@ -279,6 +327,7 @@ DashboardTitle + Console Konsole @@ -344,30 +393,38 @@ Donate + + Donate Spende + Later Später + Close Schließen + Support the development of %1! Unterstützen Sie die Entwicklung von %1! + Serial Studio is free & open-source software supported by volunteers. Consider donating to support development efforts :) Serial Studio ist eine freie & Open-Source-Software, die von Freiwilligen unterstützt wird. Ziehen Sie eine Spende zur Unterstützung der Entwicklung in Betracht :) + You can also support this project by sharing it, reporting bugs and proposing new features! Sie können dieses Projekt auch unterstützen, indem Sie es teilen, Fehler melden und neue Funktionen vorschlagen! + Don't annoy me again! Ärgern Sie mich nicht mehr! @@ -375,126 +432,165 @@ Downloader + + Updater + + + Downloading updates Herunterladen der Updates + Time remaining: 0 minutes Verbleibende Zeit: 0 Minuten + Open Öffnen + + Stop + + Time remaining Zeit übrig + unknown unbekant + Error Fehler + Cannot find downloaded update! Heruntergeladenes Update konnte nicht gefunden werden! + Close Schließen + Download complete! Download abgeschlossen! + The installer will open separately Der Installationsprogramm öffnet sich in einem neuen Fenster + Click "OK" to begin installing the update Klicken Sie auf "OK", um die Installation des Updates zu starten + In order to install the update, you may need to quit the application. Um das Update zu installieren, müssen Sie eventuell die Anwendung beenden. + In order to install the update, you may need to quit the application. This is a mandatory update, exiting now will close the application Um das Update zu installieren, müssen Sie eventuell die Anwendung beenden. Dieses update is ein obligatorisches Update, die Anwedung wird jetzt geschlossen + Click the "Open" button to apply the update Klicken Sie auf die Schaltfläche "Öffnen", um das Update anzuwenden + Are you sure you want to cancel the download? Sind Sie sicher, dass Sie den Download abbrechen möchten? + Are you sure you want to cancel the download? This is a mandatory update, exiting now will close the application Sind Sie sicher, dass Sie den Download abbrechen möchten? Dies ist ein obligatorisches Update. Wenn Sie jetzt abbrechen, wird die Anwendung geschlossen + + %1 bytes + + %1 KB + + %1 MB + of von + Downloading Updates Herunterladen von Updates + Time Remaining Verbleibende Zeit + Unknown Unbekannt + about %1 hours etwa %1 Stunden + about one hour etwa 1 Stunde + %1 minutes %1 Minuten + 1 minute 1 Minute + %1 seconds %1 Sekunden + 1 second 1 Sekunde @@ -521,30 +617,49 @@ Footer + Close Schließen + Add group Gruppe hinzufügen + + Customize frame parser + + + + Open existing project... Vorhandenes Projekt öffnen... + Create new project Neues Projekt erstellen + Apply Bewerbung + Save Speichern + + GpsMap + + + Center on coordinate + Koordinate zentrieren + + Group @@ -552,6 +667,14 @@ Ungültig + + GroupEditor + + + Group %1 + + + GyroDelegate @@ -567,68 +690,99 @@ %1° Neigachse + + Hardware + + + Data source + + + Header + Project title (required) Projekttitel (erforderlich) + Data separator (default is ',') Datentrennzeichen (Standard ist ',') + + + Frame start sequence (default is '/*') + + + + + Frame end sequence (default is '*/') + + Frame start sequence (default is '%1') - Startsequenz des Rahmens (Standard ist '%1') + Startsequenz des Rahmens (Standard ist '%1') Frame end sequence (default is '%1') - Rahmenendsequenz (Standard ist '%1') + Rahmenendsequenz (Standard ist '%1') IO::Console + ASCII ASCII + HEX HEX + No line ending Kein Zeilenende + New line Neue zeile + Carriage return Zeilenumbruch (CR) + NL + CR Sowohl NL als auch CR + Plain text Klartext + Hexadecimal Hexadezimal + Export console data Konsolendaten exportieren + Text files Textdateien + File save error Fehler beim Speichern der Datei @@ -645,46 +799,38 @@ Network socket error - Netzwerk-Socket-Fehler + Netzwerk-Socket-Fehler IO::DataSources::Serial None - Keine + Keine No Device - Kein Gerät + Kein Gerät Even - Gerade + Gerade Odd - Ungerade - - - Space - - - - Mark - + Ungerade Baud rate registered successfully - Baudrate erfolgreich registriert + Baudrate erfolgreich registriert Rate "%1" has been added to baud rate list - Rate "%1" wurde zur Baudratenliste hinzugefügt + Rate "%1" wurde zur Baudratenliste hinzugefügt Select Port - Port auswählen + Port auswählen Critical serial port error @@ -695,30 +841,174 @@ Fehler an der seriellen Schnittstelle + + IO::Drivers::BluetoothLE + + + The BLE device has been disconnected + + + + + Select device + + + + + Select service + + + + + Error while configuring BLE service + + + + + Operation error + Betriebsfehler + + + + Characteristic write error + + + + + Descriptor write error + + + + + Unknown error + Unbekannter Fehler + + + + Characteristic read error + + + + + Descriptor read error + + + + + Bluetooth adapter is off! + + + + + Invalid Bluetooth adapter! + + + + + Unsuported platform or operating system + + + + + Unsupported discovery method + + + + + General I/O error + + + + + IO::Drivers::Network + + + Network socket error + Netzwerk-Socket-Fehler + + + + IO::Drivers::Serial + + + + + + None + Keine + + + + No Device + Kein Gerät + + + + Even + Gerade + + + + Odd + Ungerade + + + + Space + + + + + Mark + + + + + Baud rate registered successfully + Baudrate erfolgreich registriert + + + + Rate "%1" has been added to baud rate list + Rate "%1" wurde zur Baudratenliste hinzugefügt + + + + Select port + + + IO::Manager + Serial port Serielle Schnittstelle + Network port Netzwerk Schnittstelle + + + Bluetooth LE device + + JSON::Editor Dataset widgets - Widgets für Datensätze + Widgets für Datensätze Accelerometer - Beschleunigungsmesser + Beschleunigungsmesser Gyroscope - Gyroskop + Gyroskop Map @@ -726,148 +1016,151 @@ None - Keine + Keine Gauge - Messgerät + Messgerät Bar/level - Bar/Niveau + Bar/Niveau Compass - Kompass + Kompass New Project - Neues Projekt + Neues Projekt Do you want to save your changes? - Möchten Sie Ihre Änderungen speichern? + Möchten Sie Ihre Änderungen speichern? You have unsaved modifications in this project! - Sie haben nicht gespeicherte Änderungen in diesem Projekt! + Sie haben nicht gespeicherte Änderungen in diesem Projekt! Project error - Projektfehler + Projektfehler Project title cannot be empty! - Der Projekttitel darf nicht leer sein! + Der Projekttitel darf nicht leer sein! Project error - Group %1 - Projektfehler - Gruppe %1 + Projektfehler - Gruppe %1 Group title cannot be empty! - Der Gruppentitel darf nicht leer sein! + Der Gruppentitel darf nicht leer sein! Project error - Group %1, Dataset %2 - Projektfehler - Gruppe %1, Datensatz %2 + Projektfehler - Gruppe %1, Datensatz %2 Dataset title cannot be empty! - Der Titel des Datensatzes darf nicht leer sein! + Der Titel des Datensatzes darf nicht leer sein! Warning - Group %1, Dataset %2 - Warnung - Gruppe %1, Datensatz %2 + Warnung - Gruppe %1, Datensatz %2 Dataset contains duplicate frame index position! Continue? - Der Datensatz enthält eine doppelte Frame-Indexposition! Weiter? + Der Datensatz enthält eine doppelte Frame-Indexposition! Weiter? Save JSON project - JSON-Projekt speichern + JSON-Projekt speichern File open error - Fehler beim Öffnen einer Datei + Fehler beim Öffnen einer Datei Select JSON file - JSON Modelldatei auswählen + JSON Modelldatei auswählen New Group - Neue Gruppe + Neue Gruppe Delete group "%1" - Gruppe "%1" löschen + Gruppe "%1" löschen Are you sure you want to delete this group? - Sind Sie sicher, dass Sie diese Gruppe löschen wollen? + Sind Sie sicher, dass Sie diese Gruppe löschen wollen? Are you sure you want to change the group-level widget? - Sind Sie sicher, dass Sie das Widget auf Gruppenebene ändern möchten? + Sind Sie sicher, dass Sie das Widget auf Gruppenebene ändern möchten? Existing datasets for this group will be deleted - Vorhandene Datensätze für diese Gruppe werden gelöscht + Vorhandene Datensätze für diese Gruppe werden gelöscht Accelerometer %1 - Beschleunigungsmesser %1 + Beschleunigungsmesser %1 Gyro %1 - Kreisel %1 + Kreisel %1 Latitude - Breitengrad + Breitengrad Longitude - Längengrad + Längengrad New dataset - Neuer Datensatz + Neuer Datensatz Delete dataset "%1" - Datensatz "%1" löschen + Datensatz "%1" löschen Are you sure you want to delete this dataset? - Sind Sie sicher, dass Sie diesen Datensatz löschen wollen? + Sind Sie sicher, dass Sie diesen Datensatz löschen wollen? GPS - GPS + GPS Multiple data plot - Mehrfache Datenplot + Mehrfache Datenplot Altitude - Höhenlage + Höhenlage JSON::Generator + Select JSON map file JSON Modelldatei auswählen + JSON files JSON Dateien + JSON parse error JSON-Parsing-Fehler @@ -880,10 +1173,12 @@ Datei %1 geladen + Cannot read JSON file JSON-Datei kann nicht gelesen werden + Please check file permissions & location Prüfen Sie die Dateiberechtigungen und Dateipfade @@ -899,6 +1194,7 @@ JSONDropArea + Drop JSON and CSV files here JSON und CSV Dateien hierher Ziehen @@ -906,26 +1202,33 @@ JsonDatasetDelegate + + Dataset %1 - %2 Datensatz %1 - %2 + Title: Titel: + Sensor reading, uptime, etc... Sensormesswerte, Betriebszeit usw... + Units: Einheiten: + Volts, meters, seconds, etc... Volt, Meter, Sekunden, usw... + Frame index: Frame-Index: @@ -934,46 +1237,57 @@ Erzeugen Sie ein Diagramm: + Widget: Widget: + Min value: Minimaler Wert: + Max value: Maximaler Wert: + Generate plot: Grafik generieren: + Logarithmic plot: Logarithmische Grafik: + FFT plot: FFT-Grafik: + FFT Samples: FFT-Proben: + Alarm level: Alarmstufe: + Note: Anmerkung: + The compass widget expects values from 0° to 360°. Das Kompass-Widget erwartet Werte von 0° bis 360°. + Display LED: LED anzeigen: @@ -982,7 +1296,7 @@ JsonEditor JSON Editor - %1 - JSON-Editor - %1 + JSON-Editor - %1 Project title (required) @@ -1002,7 +1316,7 @@ Start something awesome - Starten Sie etwas Großartiges + Starten Sie etwas Großartiges Click on the "%1" button to begin @@ -1034,7 +1348,7 @@ Click on the "Add group" button to begin - Klicken Sie auf die Schaltfläche "Gruppe hinzufügen", um zu beginnen + Klicken Sie auf die Schaltfläche "Gruppe hinzufügen", um zu beginnen @@ -1079,26 +1393,49 @@ JsonGroupDelegate + Group %1 - %2 Gruppe %1 - %2 + + Title Titel + + Group widget + + + + + Empty group + + + + + Set group title and click on the "Add dataset" button to begin + + + + Add dataset Datensatz hinzufügen + + Note: Anmerkung: + The accelerometer widget expects values in m/s². Das Beschleunigungsmesser-Widget erwartet Werte in m/s². + The gyroscope widget expects values in degrees (0° to 360°). Das Gyroskop-Widget erwartet Werte in Grad (0° bis 360°). @@ -1106,11 +1443,13 @@ KLed + LED on Accessible name of a Led whose state is on LED an + LED off Accessible name of a Led whose state is off LED aus @@ -1119,42 +1458,52 @@ MQTT + Version Ausführung + Mode Modus + Host Server + Port Port + Topic Thema + MQTT topic MQTT-Thema + User Nutzer + MQTT username MQTT-Benutzername + Password Kennwort + MQTT password MQTT-Kennwort @@ -1167,6 +1516,7 @@ Adresse eingeben (z. B. google.com) + Disconnect Trennen @@ -1175,10 +1525,12 @@ Verbinden + Advanced setup Erweiterte Einstellungen + Connect to broker Verbindung zum Broker @@ -1186,166 +1538,208 @@ MQTT::Client + Publisher Publisher + Subscriber + IP address lookup error IP-Adressensuchfehler + Unknown error Unbekannter Fehler + Connection refused Verbindung abgelehnt + Remote host closed the connection Verbindung abgelehnt + Host not found Host nicht gefunden + Socket access error Socket-Zugriffsfehler + Socket resource error Socket-Ressourcenfehler + Socket timeout Socket-Timeout + Socket datagram too large Socket-Datagramm zu groß + Network error Netzwerkfehler + Address in use Verwendete Adresse + Address not available Adresse nicht verfügbar + Unsupported socket operation Nicht unterstützter Socket-Betrieb + Unfinished socket operation Unfertiger Sockelbetrieb + Proxy authentication required Proxy-Authentifizierung erforderlich + SSL handshake failed SSL-Handshake fehlgeschlagen + Proxy connection refused Proxy-Verbindung abgelehnt + Proxy connection closed Proxy-Verbindung geschlossen + Proxy connection timeout Zeitlimit für Proxy-Verbindung + Proxy not found Proxy nicht gefunden + Proxy protocol error Proxy-Protokollfehler + Operation error Betriebsfehler + SSL internal error Interner SSL-Fehler + Invalid SSL user data Ungültige SSL-Benutzerdaten + Socket temprary error Socket temporärer Fehler + Unacceptable MQTT protocol Inakzeptables MQTT-Protokoll + MQTT identifier rejected MQTT-Kennung abgelehnt + MQTT server unavailable MQTT-Server nicht verfügbar + Bad MQTT username or password Ungültiger MQTT-Benutzername oder Passwort + MQTT authorization error MQTT-Autorisierungsfehler + MQTT no ping response MQTT keine Ping-Antwort + MQTT client error MQTT-Clientfehler + 0: At most once 0: Höchstens einmal + 1: At least once 1: Mindestens einmal + 2: Exactly once 2: Genau einmal + + System default System-Standard + Select CA file CA-Datei auswählen + Cannot open CA file! CA-Datei kann nicht geöffnet werden! + MQTT client SSL/TLS error, ignore? MQTT-Client SSL/TLS-Fehler, ignorieren? @@ -1353,98 +1747,122 @@ MQTTConfiguration + MQTT Configuration MQTT-Konfiguration + Version Ausführung + Mode Modus + QOS level QOS-Niveau + Keep alive (s) Überlebenszeit (s) + Host Server + Port Port + Topic Thema + Retain Behalten + MQTT topic MQTT-Thema + Add retain flag Behalten-Flag hinzufügen + User Nutzer + Password Kennwort + MQTT username MQTT-Benutzername + MQTT password MQTT-Kennwort + Enable SSL/TLS: SSL/TLS aktivieren: + Certificate: Zertifikat: + Use system database Systemdatenbank verwenden + Custom CA file CA-Datei auswählen + Protocol: Protokoll: + CA file: CA-datei: + Disconnect Trennen + Connect Verbinden + Apply Bewerbung @@ -1459,78 +1877,98 @@ Menubar + File Datei + Select JSON file JSON Modelldatei auswählen + CSV export CSV Export + Enable CSV export Aktivieren den CSV-Export + Show CSV in explorer CSV im Explorer anzeigen + Replay CSV CSV-Wiedergabe + Export console output Konsolendaten exportieren + Quit Beenden + Edit Bearbeiten + Copy Kopieren + Select all Alles auswählen + Clear console output Konsolenausgabe löschen + Communication mode Komunikations modus + Device sends JSON Gerät sendet JSON + Load JSON from computer Laden JSON vom Computer + View Ansicht + + Console Konsole + Dashboard Dashboard + Show setup pane Setup-Bereich anzeigen @@ -1543,66 +1981,83 @@ Menüleiste anzeigen + Exit full screen Vollbildmodus verlassen + Enter full screen Vollbildmodus einschalten + Autoscroll Auto Scroll + Show timestamp Zeitstempel anzeigen + VT-100 emulation VT-100 emulation + Echo user commands Echo Benutzerbefehle + Display mode Visualisierung + Normal (plain text) Normal (Klartext) + Binary (hexadecimal) Binär (hexadezimal) + Line ending character Zeilenendezeichen + Help Hilfe + + About %1 Über %1 + Auto-updater Auto-updater + Check for updates Auf Updates prüfen + Project website Projekt webseite + Documentation/wiki Dokumentation/wiki @@ -1611,10 +2066,12 @@ Logdatei anzeigen + Report bug Fehler melden + Print Drucken @@ -1622,142 +2079,179 @@ MenubarMacOS + File Datei + Select JSON file JSON Modelldatei auswählen + CSV export CSV Export + Enable CSV export Aktivieren den CSV-Export + Show CSV in explorer CSV im Explorer anzeigen + Replay CSV CSV-Wiedergabe + Export console output Konsolendaten exportieren + Quit Beenden + Edit Bearbeiten + Copy Kopieren + Select all Alles auswählen + Clear console output Konsolenausgabe löschen + Communication mode Komunikations Modus + Device sends JSON Gerät sendet JSON + Load JSON from computer Laden JSON vom Computer + View Ansicht + + Console Konsole + Dashboard Dashboard + Show setup pane Setup-Bereich anzeigen + Exit full screen Vollbildmodus verlassen + Enter full screen Vollbildmodus einschalten + Autoscroll Auto Scroll + Show timestamp Zeitstempel anzeigen + VT-100 emulation VT-100 emulation + Echo user commands Echo Benutzerbefehle + Display mode Visualisierung + Normal (plain text) Normal (Klartext) + Binary (hexadecimal) Binär (hexadezimal) + Line ending character Zeilenendezeichen + Help Hilfe + + About %1 Über %1 + Auto-updater Auto-updater + Check for updates Auf Updates prüfen + Project website Projekt webseite + Documentation/wiki Dokumentation/wiki @@ -1766,10 +2260,12 @@ Logdatei anzeigen + Report bug Fehler melden + Print Drucken @@ -1777,10 +2273,12 @@ Misc::MacExtras + Setup Einstellungen + Console Konsole @@ -1789,6 +2287,7 @@ Widgets + Dashboard Dashboard @@ -1816,17 +2315,30 @@ Die Änderung der Rendering-Engine wird nach dem Neustart wirksam + + Unknown OS + + + + + The change will take effect after restart + + + + Do you want to restart %1 now? - Möchten Sie %1 jetzt neu starten? + Möchten Sie %1 jetzt neu starten? Misc::ThemeManager + The theme change will take effect after restart Die Änderung des Themas wird nach dem Neustart wirksam + Do you want to restart %1 now? Möchten Sie %1 jetzt neu starten? @@ -1834,82 +2346,102 @@ Misc::Utilities + Check for updates automatically? Automatish auf Updates prüfen? + Should %1 automatically check for updates? You can always check for updates manually from the "Help" menu Soll %1 Automatish auf Updates prüfen? Sie können jederzeit manuell über das Menü "Hilfe" nach Updates suchen + Ok Ok + Save Speichern + Save all Alle speichern + Open Öffnen + Yes Ja + Yes to all Ja zu allen + No Nein + No to all Nein zu alle + Abort Abbrechen + Retry Wiederholung + Ignore Ignorieren + Close Schließen + Cancel Abbrechen + Discard Ablegen + Help Hilfe + Apply Bewerbung + Reset Zurücksetzen + Restore defaults Standardwerte wiederherstellen @@ -1948,6 +2480,7 @@ Network + Socket type Steckdosentyp @@ -1956,6 +2489,7 @@ IP Adresse + Port Port-Nummer @@ -1972,26 +2506,32 @@ Server + Multicast Multicast + Remote address Entfernte Adresse + Local port Lokaler Port + Type 0 for automatic port Geben Sie 0 ein, um den Port automatisch zuzuweisen + Remote port Entfernter Port + Ignore data delimiters Datenbegrenzer ignorieren @@ -2014,21 +2554,384 @@ Plugins::Server + Unable to start plugin TCP server Plugin-TCP-Server kann nicht gestartet werden + Plugin server Plugin Server + Invalid pending connection Ungültige ausstehende Verbindung + + Project::CodeEditor + + + New + + + + + Open + Öffnen + + + + Save + Speichern + + + + Undo + + + + + Redo + + + + + Cut + + + + + Copy + Kopieren + + + + Paste + + + + + Help + Hilfe + + + + Customize frame parser + + + + + + + The document has been modified! + + + + + + Are you sure you want to continue? + + + + + Select Javascript file to import + + + + + Frame parser code updated successfully! + + + + + No errors have been detected in the code. + + + + + Frame parser error! + + + + + No parse() function has been declared! + + + + + Frame parser syntax error! + + + + + Error on line %1. + + + + + Generic error + + + + + Evaluation error + + + + + Range error + + + + + Reference error + + + + + Syntax error + + + + + Type error + + + + + URI error + + + + + Unknown error + Unbekannter Fehler + + + + Frame parser error detected! + + + + + Do you want to save the changes? + + + + + Project::Model + + + Dataset widgets + Widgets für Datensätze + + + + + Accelerometer + Beschleunigungsmesser + + + + + Gyroscope + Gyroskop + + + + + GPS + GPS + + + + Multiple data plot + Mehrfache Datenplot + + + + None + Keine + + + + Gauge + Messgerät + + + + Bar/level + Bar/Niveau + + + + Compass + Kompass + + + + New Project + Neues Projekt + + + + Do you want to save your changes? + Möchten Sie Ihre Änderungen speichern? + + + + You have unsaved modifications in this project! + Sie haben nicht gespeicherte Änderungen in diesem Projekt! + + + + Project error + Projektfehler + + + + Project title cannot be empty! + Der Projekttitel darf nicht leer sein! + + + + Project error - Group %1 + Projektfehler - Gruppe %1 + + + + Group title cannot be empty! + Der Gruppentitel darf nicht leer sein! + + + + Project error - Group %1, Dataset %2 + Projektfehler - Gruppe %1, Datensatz %2 + + + + Dataset title cannot be empty! + Der Titel des Datensatzes darf nicht leer sein! + + + + Warning - Group %1, Dataset %2 + Warnung - Gruppe %1, Datensatz %2 + + + + Dataset contains duplicate frame index position! Continue? + Der Datensatz enthält eine doppelte Frame-Indexposition! Weiter? + + + + Save JSON project + JSON-Projekt speichern + + + + File open error + Fehler beim Öffnen einer Datei + + + + Select JSON file + JSON Modelldatei auswählen + + + + New Group + Neue Gruppe + + + + Delete group "%1" + Gruppe "%1" löschen + + + + Are you sure you want to delete this group? + Sind Sie sicher, dass Sie diese Gruppe löschen wollen? + + + + Are you sure you want to change the group-level widget? + Sind Sie sicher, dass Sie das Widget auf Gruppenebene ändern möchten? + + + + Existing datasets for this group will be deleted + Vorhandene Datensätze für diese Gruppe werden gelöscht + + + + + + Accelerometer %1 + Beschleunigungsmesser %1 + + + + + + Gyro %1 + Kreisel %1 + + + + Latitude + Breitengrad + + + + Longitude + Längengrad + + + + Altitude + Höhenlage + + + + New dataset + Neuer Datensatz + + + + Delete dataset "%1" + Datensatz "%1" löschen + + + + Are you sure you want to delete this dataset? + Sind Sie sicher, dass Sie diesen Datensatz löschen wollen? + + + + ProjectEditor + + + Project Editor - %1 + + + + + Start something awesome + Starten Sie etwas Großartiges + + + + Click on the "Add group" button to begin + Klicken Sie auf die Schaltfläche "Gruppe hinzufügen", um zu beginnen + + QObject + Failed to load welcome text :( Begrüßungstext konnte nicht geladen werden :( @@ -2036,14 +2939,19 @@ QwtPlotRenderer + + + Documents Dokumente + Images Bilder + Export File Name Name der Exportdatei @@ -2051,14 +2959,19 @@ QwtPolarRenderer + + + Documents Dokumente + Images Bilder + Export File Name Name der Exportdatei @@ -2066,30 +2979,37 @@ Serial + COM Port COM Schnittstelle + Baud Rate Baud rate + Data Bits Data bits + Parity Parität + Stop Bits Stop bits + Flow Control Fluss-Kontrolle + Auto-reconnect Auto-Wiederverbindung @@ -2160,18 +3080,25 @@ Settings + Language Sprache + + + Software rendering + + Start sequence - Startsequenz + Startsequenz End sequence - Kündigungssequenz + Kündigungssequenz + Plugin system Plugin-System @@ -2180,16 +3107,18 @@ Anwendungen / Plugins können mit %1 interagieren, indem sie eine TCP-Verbindung an Port 7777 herstellen + Applications/plugins can interact with %1 by establishing a TCP connection on port 7777. Anwendungen/Plugins können mit %1 interagieren, indem sie eine TCP-Verbindung an Port 7777 herstellen. + Theme Thema Data separator - Daten-Trennzeichen + Daten-Trennzeichen UI refresh rate @@ -2208,6 +3137,7 @@ Analyse von Multithreading-Rahmen + Custom window decorations Fensterdekorationen @@ -2215,6 +3145,7 @@ Setup + Communication Mode Komunikations Modus @@ -2291,6 +3222,7 @@ CSV Player + Create CSV file CSV-Datei erstellen @@ -2304,40 +3236,52 @@ Serial - Serielle + Serielle Network - Netzwerk + Netzwerk + Settings Einstellungen + MQTT MQTT + Setup Einstellungen + No parsing (device sends JSON data) Kein Parsing (Gerät sendet JSON-Daten) + Parse via JSON project file Parsen über JSON-Projektdatei + Change project file (%1) Projektdatei ändern (%1) + Select project file Projektdatei auswählen + + + Device + + Sidebar @@ -2349,22 +3293,27 @@ Terminal + Copy Kopieren + Select all Alles auswählen + Clear Löschen + Print Drucken + Save as Speichern als @@ -2377,22 +3326,27 @@ Menüleiste anzeigen + No data received so far Noch keine Daten verfügbar + Send data to device Daten an das Gerät senden + Echo Echo + Autoscroll Auto Scroll + Show timestamp Zeitstempel anzeigen @@ -2400,6 +3354,7 @@ Toolbar + Console Konsole @@ -2408,33 +3363,44 @@ Über + Dashboard + Open CSV CSV Öffnen + Setup Einstellungen + + Project Editor + + + + Disconnect Trennen + Connect Verbinden JSON Editor - JSON-Editor + JSON-Editor TreeView + JSON Project Tree JSON-Projektbaum @@ -2442,6 +3408,7 @@ UI::Dashboard + Status Panel Status-Panel @@ -2449,6 +3416,7 @@ UI::DashboardWidget + Invalid Ungültig @@ -2463,22 +3431,27 @@ Updater + Would you like to download the update now? Möchten Sie das Update jetzt herunterladen? + Would you like to download the update now? This is a mandatory update, exiting now will close the application Möchten Sie das Update jetzt herunterladen? Dies ist ein obligatorisches Update, die Anwedung wird jetzt geschlossen + Version %1 of %2 has been released! Die Version %1 von %2 ist verfügbar! + No updates are available for the moment Im Moment sind keine Updates verfügbar + Congratulations! You are running the latest version of %1 Glückwunsch! Sie verwenden die neueste Version von %1 @@ -2486,6 +3459,7 @@ ViewOptions + View Ansicht @@ -2494,46 +3468,57 @@ Abteilungen (%1) + Datasets Datensatz + Multiple data plots Mehrfache Datenplots + FFT plots FFT-Grafiken + Data plots Daten-Grafiken + Bars Barren + Gauges Messgeräte + Compasses Kompasse + Gyroscopes Gyroskope + Accelerometers Beschleunigungsmesser + GPS GPS + LED Panels LED-Paneele @@ -2542,6 +3527,7 @@ Anzeige-Optionen + Points: Punkte: @@ -2550,14 +3536,17 @@ Widgets: + Visualization options Visualisierungsoptionen + Decimal places: Nachkommastellen: + Widget size: Widget-Größe: @@ -2565,6 +3554,7 @@ WidgetGrid + Data Daten @@ -2583,10 +3573,12 @@ Widgets::FFTPlot + Samples Proben + FFT of %1 FFT von %1 @@ -2617,10 +3609,12 @@ Widgets::MultiPlot + Unknown Unbekannt + Samples Proben @@ -2628,6 +3622,7 @@ Widgets::Plot + Samples Proben diff --git a/assets/translations/en.ts b/assets/translations/en.ts index c22d8481a..4886ed055 100644 --- a/assets/translations/en.ts +++ b/assets/translations/en.ts @@ -4,42 +4,52 @@ About + About + Version %1 + The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + Report bug + Documentation + Close + Copyright © 2020-%1 %2, released under the MIT License. + Website + Acknowledgements + Make a donation @@ -47,29 +57,58 @@ Acknowledgements + Acknowledgements + Close + + BluetoothLE + + + Device + + + + + Service + + + + + Scanning.... + + + + + Sorry, this version of %1 is not supported yet. We'll update Serial Studio to work with this operating system as soon as Qt officially supports it. + + + CSV::Export + CSV file not open + Cannot find CSV export file! + CSV File Error CSV file error + Cannot open CSV file for writing! @@ -77,26 +116,32 @@ CSV::Player + Select CSV file + CSV files CSV files + Serial port open, do you want to continue? + In order to use this feature, its necessary to disconnect from the serial port + Cannot read CSV file + Please check file permissions & location @@ -104,6 +149,7 @@ Console + Console @@ -111,6 +157,7 @@ CsvPlayer + CSV Player @@ -122,6 +169,7 @@ Dashboard + Console @@ -129,6 +177,7 @@ DashboardTitle + Console @@ -178,30 +227,38 @@ Donate + + Donate + Later + Close + Support the development of %1! + Serial Studio is free & open-source software supported by volunteers. Consider donating to support development efforts :) + You can also support this project by sharing it, reporting bugs and proposing new features! + Don't annoy me again! @@ -209,126 +266,165 @@ Downloader + + Updater + + + Downloading updates + Time remaining: 0 minutes + Open + + Stop + + Time remaining + unknown + Error + Cannot find downloaded update! + Close + Download complete! + The installer will open separately + Click "OK" to begin installing the update + In order to install the update, you may need to quit the application. + In order to install the update, you may need to quit the application. This is a mandatory update, exiting now will close the application + Click the "Open" button to apply the update + Are you sure you want to cancel the download? + Are you sure you want to cancel the download? This is a mandatory update, exiting now will close the application + + %1 bytes + + %1 KB + + %1 MB + of + Downloading Updates + Time Remaining + Unknown + about %1 hours + about one hour + %1 minutes + 1 minute + %1 seconds + 1 second @@ -343,319 +439,336 @@ Footer + Close + Add group + + Customize frame parser + + + + Open existing project... + Create new project + Apply + Save + + GpsMap + + + Center on coordinate + + + + + GroupEditor + + + Group %1 + + + + + Hardware + + + Data source + + + Header + Project title (required) + Data separator (default is ',') - Frame start sequence (default is '%1') - + + Frame start sequence (default is '/*') + - Frame end sequence (default is '%1') - + + Frame end sequence (default is '*/') + IO::Console + ASCII + HEX + No line ending + New line + Carriage return + NL + CR + Plain text + Hexadecimal + Export console data + Text files + File save error - - IO::DataSources::Network - - Network socket error - - - IO::DataSources::Serial - - None - - No Device - No device - - - Even - - - - Odd - - - - Space - - - - Mark - - - - Baud rate registered successfully - - - - Rate "%1" has been added to baud rate list - + No device Select Port - Select port - - - - IO::Manager - - Serial port - - - - Network port - + Select port - JSON::Editor - - Dataset widgets - - - - Accelerometer - - - - Gyroscope - - - - None - - - - Gauge - - - - Bar/level - - - - Compass - - - - New Project - - + IO::Drivers::BluetoothLE - Do you want to save your changes? - + + The BLE device has been disconnected + - You have unsaved modifications in this project! - + + Select device + - Project error - + + Select service + - Project title cannot be empty! - + + Error while configuring BLE service + - Project error - Group %1 - + + Operation error + - Group title cannot be empty! - + + Characteristic write error + - Project error - Group %1, Dataset %2 - + + Descriptor write error + - Dataset title cannot be empty! - + + Unknown error + - Warning - Group %1, Dataset %2 - + + Characteristic read error + - Dataset contains duplicate frame index position! Continue? - + + Descriptor read error + - Save JSON project - + + Bluetooth adapter is off! + - File open error - + + Invalid Bluetooth adapter! + - Select JSON file - + + Unsuported platform or operating system + - New Group - + + Unsupported discovery method + - Delete group "%1" - + + General I/O error + + + + IO::Drivers::Network - Are you sure you want to delete this group? - + + Network socket error + + + + IO::Drivers::Serial - Are you sure you want to change the group-level widget? - + + + + + None + - Existing datasets for this group will be deleted - + + No Device + No device - Accelerometer %1 - + + Even + - Gyro %1 - + + Odd + - Latitude - + + Space + - Longitude - + + Mark + - New dataset - + + Baud rate registered successfully + - Delete dataset "%1" - + + Rate "%1" has been added to baud rate list + - Are you sure you want to delete this dataset? - + + Select port + + + + IO::Manager - GPS + + Serial port - Multiple data plot + + Network port - Altitude - + + Bluetooth LE device + JSON::Generator + Select JSON map file + JSON files + JSON parse error + Cannot read JSON file + Please check file permissions & location @@ -663,6 +776,7 @@ JSONDropArea + Drop JSON and CSV files here @@ -670,112 +784,138 @@ JsonDatasetDelegate + + Dataset %1 - %2 + Title: + Sensor reading, uptime, etc... + Units: + Volts, meters, seconds, etc... + Frame index: + Widget: + Min value: + Max value: + Generate plot: + Logarithmic plot: + FFT plot: + FFT Samples: + Alarm level: + Note: + The compass widget expects values from 0° to 360°. + Display LED: - JsonEditor + JsonGroupDelegate - JSON Editor - %1 + + Group %1 - %2 - Start something awesome + + + Title - Click on the "Add group" button to begin - + + Group widget + - - - JsonGroupDelegate - Group %1 - %2 - + + Empty group + - Title - + + Set group title and click on the "Add dataset" button to begin + + Add dataset + + Note: + The accelerometer widget expects values in m/s². + The gyroscope widget expects values in degrees (0° to 360°). @@ -783,11 +923,13 @@ KLed + LED on Accessible name of a Led whose state is on + LED off Accessible name of a Led whose state is off @@ -796,54 +938,67 @@ MQTT + Version + Mode + Host + Port + Topic + MQTT topic + User + MQTT username + Password + MQTT password + Disconnect + Advanced setup + Connect to broker @@ -851,166 +1006,208 @@ MQTT::Client + Publisher + Subscriber + IP address lookup error + Unknown error + Connection refused + Remote host closed the connection + Host not found + Socket access error + Socket resource error + Socket timeout + Socket datagram too large + Network error + Address in use + Address not available + Unsupported socket operation + Unfinished socket operation + Proxy authentication required + SSL handshake failed + Proxy connection refused + Proxy connection closed + Proxy connection timeout + Proxy not found + Proxy protocol error + Operation error + SSL internal error + Invalid SSL user data + Socket temprary error + Unacceptable MQTT protocol + MQTT identifier rejected + MQTT server unavailable + Bad MQTT username or password + MQTT authorization error + MQTT no ping response + MQTT client error + 0: At most once + 1: At least once + 2: Exactly once + + System default + Select CA file + Cannot open CA file! + MQTT client SSL/TLS error, ignore? @@ -1018,98 +1215,122 @@ MQTTConfiguration + MQTT Configuration + Version + Mode + QOS level + Keep alive (s) + Host + Port + Topic + Retain + MQTT topic + Add retain flag + User + Password + MQTT username + MQTT password + Enable SSL/TLS: + Certificate: + Use system database + Custom CA file + Protocol: + CA file: + Disconnect + Connect + Apply @@ -1117,150 +1338,189 @@ Menubar + File + Select JSON file + CSV export + Enable CSV export + Show CSV in explorer + Replay CSV + Export console output + Quit + Edit + Copy + Select all + Clear console output + Communication mode + Device sends JSON + Load JSON from computer + View + + Console + Dashboard + Show setup pane + Exit full screen + Enter full screen + Autoscroll + Show timestamp + VT-100 emulation + Echo user commands + Display mode + Normal (plain text) + Binary (hexadecimal) + Line ending character + Help + + About %1 + Auto-updater + Check for updates + Project website + Documentation/wiki + Report bug + Print @@ -1268,150 +1528,189 @@ MenubarMacOS + File + Select JSON file + CSV export + Enable CSV export + Show CSV in explorer + Replay CSV + Export console output + Quit + Edit + Copy + Select all + Clear console output + Communication mode + Device sends JSON + Load JSON from computer + View + + Console + Dashboard + Show setup pane + Exit full screen + Enter full screen + Autoscroll + Show timestamp + VT-100 emulation + Echo user commands + Display mode + Normal (plain text) + Binary (hexadecimal) + Line ending character + Help + + About %1 + Auto-updater + Check for updates + Project website + Documentation/wiki + Report bug + Print @@ -1419,25 +1718,48 @@ Misc::MacExtras + Setup + Console + Dashboard + + Misc::ModuleManager + + + Unknown OS + + + + + The change will take effect after restart + + + + + Do you want to restart %1 now? + + + Misc::ThemeManager + The theme change will take effect after restart + Do you want to restart %1 now? @@ -1445,82 +1767,102 @@ Misc::Utilities + Check for updates automatically? + Should %1 automatically check for updates? You can always check for updates manually from the "Help" menu + Ok + Save + Save all + Open + Yes + Yes to all + No + No to all + Abort + Retry + Ignore + Close + Cancel + Discard + Help + Apply + Reset + Restore defaults @@ -1528,34 +1870,42 @@ Network + Socket type + Port + Multicast + Remote address + Local port + Type 0 for automatic port + Remote port + Ignore data delimiters @@ -1563,21 +1913,384 @@ Plugins::Server + Unable to start plugin TCP server + Plugin server + Invalid pending connection + + Project::CodeEditor + + + New + + + + + Open + + + + + Save + + + + + Undo + + + + + Redo + + + + + Cut + + + + + Copy + + + + + Paste + + + + + Help + + + + + Customize frame parser + + + + + + + The document has been modified! + + + + + + Are you sure you want to continue? + + + + + Select Javascript file to import + + + + + Frame parser code updated successfully! + + + + + No errors have been detected in the code. + + + + + Frame parser error! + + + + + No parse() function has been declared! + + + + + Frame parser syntax error! + + + + + Error on line %1. + + + + + Generic error + + + + + Evaluation error + + + + + Range error + + + + + Reference error + + + + + Syntax error + + + + + Type error + + + + + URI error + + + + + Unknown error + + + + + Frame parser error detected! + + + + + Do you want to save the changes? + + + + + Project::Model + + + Dataset widgets + + + + + + Accelerometer + + + + + + Gyroscope + + + + + + GPS + + + + + Multiple data plot + + + + + None + + + + + Gauge + + + + + Bar/level + + + + + Compass + + + + + New Project + + + + + Do you want to save your changes? + + + + + You have unsaved modifications in this project! + + + + + Project error + + + + + Project title cannot be empty! + + + + + Project error - Group %1 + + + + + Group title cannot be empty! + + + + + Project error - Group %1, Dataset %2 + + + + + Dataset title cannot be empty! + + + + + Warning - Group %1, Dataset %2 + + + + + Dataset contains duplicate frame index position! Continue? + + + + + Save JSON project + + + + + File open error + + + + + Select JSON file + + + + + New Group + + + + + Delete group "%1" + + + + + Are you sure you want to delete this group? + + + + + Are you sure you want to change the group-level widget? + + + + + Existing datasets for this group will be deleted + + + + + + + Accelerometer %1 + + + + + + + Gyro %1 + + + + + Latitude + + + + + Longitude + + + + + Altitude + + + + + New dataset + + + + + Delete dataset "%1" + + + + + Are you sure you want to delete this dataset? + + + + + ProjectEditor + + + Project Editor - %1 + + + + + Start something awesome + + + + + Click on the "Add group" button to begin + + + QObject + Failed to load welcome text :( @@ -1585,14 +2298,19 @@ QwtPlotRenderer + + + Documents + Images + Export File Name @@ -1600,14 +2318,19 @@ QwtPolarRenderer + + + Documents + Images + Export File Name @@ -1615,30 +2338,37 @@ Serial + COM Port COM port + Baud Rate Baud rate + Data Bits Data bits + Parity + Stop Bits Stop bits + Flow Control Flow control + Auto-reconnect @@ -1657,34 +2387,32 @@ Settings + Language - Start sequence + + Plugin system - End sequence - - - - Plugin system - + + Software rendering + + Applications/plugins can interact with %1 by establishing a TCP connection on port 7777. + Theme - Data separator - - - + Custom window decorations @@ -1692,6 +2420,7 @@ Setup + Communication Mode Communication mode @@ -1716,85 +2445,100 @@ Flow control + Create CSV file - Serial - - - - Network - - - + Settings + MQTT + Setup + No parsing (device sends JSON data) + Parse via JSON project file + Change project file (%1) + Select project file + + + Device + + Terminal + Copy + Select all + Clear + Print + Save as + No data received so far + Send data to device + Echo + Autoscroll + Show timestamp @@ -1802,37 +2546,45 @@ Toolbar + Console + Dashboard + + Project Editor + + + + Open CSV + Setup + Disconnect + Connect - - JSON Editor - - TreeView + JSON Project Tree @@ -1840,6 +2592,7 @@ UI::Dashboard + Status Panel @@ -1847,6 +2600,7 @@ UI::DashboardWidget + Invalid @@ -1854,22 +2608,27 @@ Updater + Would you like to download the update now? + Would you like to download the update now? This is a mandatory update, exiting now will close the application + Version %1 of %2 has been released! + No updates are available for the moment + Congratulations! You are running the latest version of %1 @@ -1877,66 +2636,82 @@ ViewOptions + View + Datasets + Multiple data plots + FFT plots + Data plots + Bars + Gauges + Compasses + Gyroscopes + Accelerometers + GPS + LED Panels + Points: + Visualization options + Decimal places: + Widget size: @@ -1944,6 +2719,7 @@ WidgetGrid + Data @@ -1951,10 +2727,12 @@ Widgets::FFTPlot + Samples + FFT of %1 @@ -1962,10 +2740,12 @@ Widgets::MultiPlot + Unknown + Samples @@ -1973,6 +2753,7 @@ Widgets::Plot + Samples diff --git a/assets/translations/es.ts b/assets/translations/es.ts index b11904bfe..40e1c3d5b 100644 --- a/assets/translations/es.ts +++ b/assets/translations/es.ts @@ -4,10 +4,12 @@ About + About Acerca de + Version %1 Versión %1 @@ -16,6 +18,7 @@ Copyright © 2020 %1, distribuido bajo la licencia MIT. + The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. El programa se proporciona TAL CUAL, SIN GARANTÍA DE NINGÚN TIPO, INCLUIDA LA GARANTÍA DE DISEÑO, COMERCIABILIDAD Y APTITUD PARA UN PROPÓSITO EN PARTICULAR. @@ -24,6 +27,7 @@ Contactar al autor + Report bug Reportar un error @@ -32,14 +36,17 @@ Buscar actualizaciones + Documentation Documentación + Close Cerrar + Copyright © 2020-%1 %2, released under the MIT License. Copyright © 2020-%1 %2, distribuido bajo la licencia MIT. @@ -48,14 +55,17 @@ Abrir archivo de log + Website Sitio web + Acknowledgements Agradecimientos + Make a donation Haz una donación @@ -86,10 +96,12 @@ Acknowledgements + Acknowledgements Agradecimientos + Close Cerrar @@ -109,21 +121,48 @@ Arrastre archivos JSON y CSV aquí + + BluetoothLE + + + Device + + + + + Service + + + + + Scanning.... + + + + + Sorry, this version of %1 is not supported yet. We'll update Serial Studio to work with this operating system as soon as Qt officially supports it. + + + CSV::Export + CSV file not open Archivo CSV no abierto + Cannot find CSV export file! ¡No se puede encontrar el archivo de exportación CSV! + CSV File Error Error de archivo CSV + Cannot open CSV file for writing! ¡No se puede abrir el archivo CSV en modo de escritura! @@ -131,10 +170,12 @@ CSV::Player + Select CSV file Seleccionar archivo CSV + CSV files Archivos CSV @@ -147,10 +188,12 @@ Debe seleccionar un archivo de mapa JSON para utilizar esta función + Serial port open, do you want to continue? Puerto serie abierto, ¿quieres continuar? + In order to use this feature, its necessary to disconnect from the serial port Para utilizar esta función, es necesario desconectarse del puerto serie @@ -163,10 +206,12 @@ Verifique que el archivo CSV haya sido creado con Serial Studio + Cannot read CSV file No se puede leer el archivo CSV + Please check file permissions & location Verifique los permisos y la ubicación del archivo @@ -230,6 +275,7 @@ Mostrar la barra de menú + Console Consola @@ -237,6 +283,7 @@ CsvPlayer + CSV Player Reproductor CSV @@ -292,6 +339,7 @@ Dashboard + Console Consola @@ -299,6 +347,7 @@ DashboardTitle + Console Consola @@ -388,30 +437,38 @@ Donate + + Donate Donar + Later Más tarde + Close Cerrar + Support the development of %1! ¡Apoye el desarrollo de %1! + Serial Studio is free & open-source software supported by volunteers. Consider donating to support development efforts :) Serial Studio es un software gratuito y de código abierto apoyado por voluntarios. Considera donar para apoyar nuestros esfuerzos :) + You can also support this project by sharing it, reporting bugs and proposing new features! ¡También puede apoyar compartiéndo, informando errores y proponiendo nuevas funciones! + Don't annoy me again! ¡No mostrar este diálogo de nuevo! @@ -419,126 +476,165 @@ Downloader + + Updater Actualizador + + + Downloading updates Descargando actualizaciones + Time remaining: 0 minutes Tiempo restante: 0 minutos + Open Abrir + + Stop Cancelar + + Time remaining Tiempo restante + unknown desconocido + Error Error + Cannot find downloaded update! No se puede encontrar el archivo descargado! + Close Cerrar + Download complete! Descarga completa! + The installer will open separately El instalador se abrirá por separado + Click "OK" to begin installing the update Haga clic en "Aceptar" para comenzar a instalar la actualización + In order to install the update, you may need to quit the application. Para instalar la actualización, es posible que deba salir de la aplicación. + In order to install the update, you may need to quit the application. This is a mandatory update, exiting now will close the application Para instalar la actualización, es posible que deba salir de la aplicación. Esta es una actualización obligatoria, salir ahora cerrará la aplicación + Click the "Open" button to apply the update Haga clic en el botón "Abrir" para instalar la actualización + Are you sure you want to cancel the download? ¿Estás seguro/a de que deseas cancelar la descarga? + Are you sure you want to cancel the download? This is a mandatory update, exiting now will close the application ¿Estás seguro/a de que deseas cancelar la descarga? Esta es una actualización obligatoria, salir ahora cerrará la aplicación + + %1 bytes + + %1 KB + + %1 MB + of de + Downloading Updates Descargando actualizaciones + Time Remaining Tiempo restante + Unknown Desconocido + about %1 hours alrededor de %1 horas + about one hour alrededor de una hora + %1 minutes %1 minutos + 1 minute 1 minuto + %1 seconds %1 segundos + 1 second 1 segundo @@ -565,30 +661,49 @@ Footer + Close Cerrar + Add group Agregar grupo + + Customize frame parser + + + + Open existing project... Abrir un proyecto existente... + Create new project Crear nuevo proyecto + Apply Aplicar + Save Guardar + + GpsMap + + + Center on coordinate + Centrar en coordenada + + Group @@ -596,68 +711,107 @@ Inválido + + GroupEditor + + + Group %1 + + + + + Hardware + + + Data source + + + Header + Project title (required) Título del proyecto (obligatorio) + Data separator (default is ',') Separador de datos (por defecto es ',') + + + Frame start sequence (default is '/*') + + + + + Frame end sequence (default is '*/') + + Frame start sequence (default is '%1') - Secuencia de inicio de la trama (por defecto es '%1') + Secuencia de inicio de la trama (por defecto es '%1') Frame end sequence (default is '%1') - Secuencia de fin de la trarma (por defecto es '%1') + Secuencia de fin de la trarma (por defecto es '%1') IO::Console + ASCII ASCII + HEX HEX + No line ending Sin ajuste de línea + New line Nueva línea + Carriage return Retorno de carro + NL + CR Ambos NL & CR + Plain text Texto sin formato + Hexadecimal Hexadecimal + Export console data Exportar datos de la consola + Text files Archivos de texto + File save error Error al intentar guardar el archivo @@ -674,46 +828,46 @@ Network socket error - Error de conexión de red + Error de conexión de red IO::DataSources::Serial None - Ninguno + Ninguno No Device - Sin Dispositivo + Sin Dispositivo Even - Par + Par Odd - Impar + Impar Space - Espacio + Espacio Mark - Marca + Marca Baud rate registered successfully - Nueva tasa de baudios registrada correctamente + Nueva tasa de baudios registrada correctamente Rate "%1" has been added to baud rate list - Se ha añadido la velocidad "%1" a la lista de tasa de baudios + Se ha añadido la velocidad "%1" a la lista de tasa de baudios Select Port - Seleccionar Puerto + Seleccionar Puerto Critical serial port error @@ -724,30 +878,174 @@ Error de puerto serie + + IO::Drivers::BluetoothLE + + + The BLE device has been disconnected + + + + + Select device + + + + + Select service + + + + + Error while configuring BLE service + + + + + Operation error + Error de operación + + + + Characteristic write error + + + + + Descriptor write error + + + + + Unknown error + Error desconocido + + + + Characteristic read error + + + + + Descriptor read error + + + + + Bluetooth adapter is off! + + + + + Invalid Bluetooth adapter! + + + + + Unsuported platform or operating system + + + + + Unsupported discovery method + + + + + General I/O error + + + + + IO::Drivers::Network + + + Network socket error + Error de conexión de red + + + + IO::Drivers::Serial + + + + + + None + Ninguno + + + + No Device + Sin Dispositivo + + + + Even + Par + + + + Odd + Impar + + + + Space + Espacio + + + + Mark + Marca + + + + Baud rate registered successfully + Nueva tasa de baudios registrada correctamente + + + + Rate "%1" has been added to baud rate list + Se ha añadido la velocidad "%1" a la lista de tasa de baudios + + + + Select port + + + IO::Manager + Serial port Puerto serial + Network port Puerto de red + + + Bluetooth LE device + + JSON::Editor Dataset widgets - Widgets de conjuntos de datos + Widgets de conjuntos de datos Accelerometer - Acelerómetro + Acelerómetro Gyroscope - Giroscopio + Giroscopio Map @@ -755,148 +1053,147 @@ None - Ninguno + Ninguno Gauge - Calibre + Calibre Bar/level - Barra/nivel + Barra/nivel Compass - Brújula + Brújula New Project - Nuevo proyecto + Nuevo proyecto Do you want to save your changes? - ¿Quieres guardar los cambios? + ¿Quieres guardar los cambios? You have unsaved modifications in this project! - ¡Tienes modificaciones sin guardar en este proyecto! + ¡Tienes modificaciones sin guardar en este proyecto! Project error - Error de proyecto + Error de proyecto Project title cannot be empty! - El título del proyecto no puede estar vacío. + El título del proyecto no puede estar vacío. Project error - Group %1 - Error de proyecto - Grupo %1 + Error de proyecto - Grupo %1 Group title cannot be empty! - El título del grupo no puede estar vacío. + El título del grupo no puede estar vacío. Project error - Group %1, Dataset %2 - Error de proyecto - Grupo %1, Conjunto de datos %2 + Error de proyecto - Grupo %1, Conjunto de datos %2 Dataset title cannot be empty! - El título del conjunto de datos no puede estar vacío. + El título del conjunto de datos no puede estar vacío. Warning - Group %1, Dataset %2 - Advertencia - Grupo %1, conjunto de datos %2 + Advertencia - Grupo %1, conjunto de datos %2 Dataset contains duplicate frame index position! Continue? - El conjunto de datos contiene una posición de índice de trama duplicada. ¿Continuar? + El conjunto de datos contiene una posición de índice de trama duplicada. ¿Continuar? Save JSON project - Guardar proyecto JSON + Guardar proyecto JSON File open error - Error al abrir el archivo + Error al abrir el archivo Select JSON file - Seleccionar archivo JSON + Seleccionar archivo JSON New Group - Nuevo grupo + Nuevo grupo Delete group "%1" - Eliminar el grupo "%1" + Eliminar el grupo "%1" Are you sure you want to delete this group? - ¿Estás seguro/a de que quieres eliminar este grupo? + ¿Estás seguro/a de que quieres eliminar este grupo? Are you sure you want to change the group-level widget? - ¿Estás seguro/a de que quieres cambiar el widget a nivel de grupo? + ¿Estás seguro/a de que quieres cambiar el widget a nivel de grupo? Existing datasets for this group will be deleted - Los conjuntos de datos existentes para este grupo se eliminarán + Los conjuntos de datos existentes para este grupo se eliminarán Accelerometer %1 - Acelerómetro %1 + Acelerómetro %1 Gyro %1 - Giroscopio %1 + Giroscopio %1 Latitude - Latitud + Latitud Longitude - Longitud + Longitud New dataset - Nuevo conjunto de datos + Nuevo conjunto de datos Delete dataset "%1" - Eliminar el conjunto de datos "%1" + Eliminar el conjunto de datos "%1" Are you sure you want to delete this dataset? - ¿Está seguro/a de que quiere eliminar este conjunto de datos? - - - GPS - + ¿Está seguro/a de que quiere eliminar este conjunto de datos? Multiple data plot - Gráfico de datos múltiples + Gráfico de datos múltiples Altitude - Altitud + Altitud JSON::Generator + Select JSON map file Seleccionar mapa JSON + JSON files Archivos JSON + JSON parse error Error de lectura de JSON @@ -909,10 +1206,12 @@ Archivo "%1" cargado en memoria + Cannot read JSON file Error de lectura del archivo JSON + Please check file permissions & location Verifique los permisos y la ubicación del archivo @@ -928,6 +1227,7 @@ JSONDropArea + Drop JSON and CSV files here Arrastre archivos JSON y CSV aquí @@ -935,26 +1235,33 @@ JsonDatasetDelegate + + Dataset %1 - %2 Conjunto de datos %1 - %2 + Title: Título: + Sensor reading, uptime, etc... Lectura del sensor, tiempo de funcionamiento, etc... + Units: Unidades: + Volts, meters, seconds, etc... Voltios, metros, segundos, etc... + Frame index: Índice de la trama: @@ -963,46 +1270,57 @@ Generar gráfico: + Widget: Widget: + Min value: Valor mínimo: + Max value: Valor máximo: + Generate plot: Generar gráfico: + Logarithmic plot: Gráfico logarítmico: + FFT plot: Gráfico FFT: + FFT Samples: Muestras FFT: + Alarm level: Nivel de alarma: + Note: Nota: + The compass widget expects values from 0° to 360°. El widget de la brújula espera valores de 0° a 360°. + Display LED: Mostrar LED: @@ -1011,7 +1329,7 @@ JsonEditor JSON Editor - %1 - Editor JSON - %1 + Editor JSON - %1 Project title (required) @@ -1031,7 +1349,7 @@ Start something awesome - Comienza algo increíble + Comienza algo increíble Click on the "%1" button to begin @@ -1063,7 +1381,7 @@ Click on the "Add group" button to begin - Haga clic en el botón "Añadir grupo" para empezar + Haga clic en el botón "Añadir grupo" para empezar @@ -1112,26 +1430,49 @@ JsonGroupDelegate + Group %1 - %2 Grupo %1 - %2 + + Title Título + + Group widget + + + + + Empty group + + + + + Set group title and click on the "Add dataset" button to begin + + + + Add dataset Agregar conjunto de datos + + Note: Nota: + The accelerometer widget expects values in m/s². El widget del acelerómetro espera valores en m/s². + The gyroscope widget expects values in degrees (0° to 360°). El widget del giroscopio espera valores en grados (de 0° a 360°). @@ -1170,11 +1511,13 @@ KLed + LED on Accessible name of a Led whose state is on LED prendido + LED off Accessible name of a Led whose state is off LED apagado @@ -1183,42 +1526,52 @@ MQTT + Version Versión + Mode Operación + Host Servidor + Port Puerto + Topic Tema + MQTT topic Tema MQTT + User Usuario + MQTT username Usuario MQTT + Password Contraseña + MQTT password Contraseña de MQTT @@ -1231,6 +1584,7 @@ Ingresar dirección (p.ej. google.com) + Disconnect Desconectar @@ -1239,10 +1593,12 @@ Conectar + Advanced setup Configuración avanzada + Connect to broker Conectarse al broker @@ -1250,166 +1606,208 @@ MQTT::Client + Publisher Publidador + Subscriber Suscriptor + IP address lookup error Error de búsqueda de dirección IP + Unknown error Error desconocido + Connection refused Conexión rechazada + Remote host closed the connection El host remoto cerró la conexión + Host not found Host no encontrado + Socket access error Error de acceso de socket + Socket resource error Error de recurso del socket + Socket timeout Tiempo límite excedido + Socket datagram too large Datagrama de socket demasiado grande + Network error Error de red + Address in use Dirección de red en uso + Address not available Dirección de red no disponible + Unsupported socket operation Operación de socket no soportado + Unfinished socket operation No se pudo finalizar la operación de socket + Proxy authentication required Se requiere autenticación proxy + SSL handshake failed El protocolo de enlace SSL falló + Proxy connection refused Conexión de proxy rechazada + Proxy connection closed Conexión de proxy cerrada + Proxy connection timeout Tiempo límite de conexión de proxy excedido + Proxy not found Proxy no encontrado + Proxy protocol error Error de protocolo de proxy + Operation error Error de operación + SSL internal error Error interno de SSL + Invalid SSL user data Datos de usuario SSL inválidos + Socket temprary error Error temporal de socket + Unacceptable MQTT protocol Error de protocolo MQTT crítico + MQTT identifier rejected Identificador de MQTT rechazado + MQTT server unavailable El servidor MQTT no está disponible + Bad MQTT username or password Nombre de usuario o contraseña incorrectos + MQTT authorization error Error de autorización de MQTT + MQTT no ping response El servidor MQTT no da una respuesta de ping + MQTT client error Error del cliente MQTT + 0: At most once 0: a lo mucho una vez + 1: At least once 0: al menos una vez + 2: Exactly once 0: exactamente una vez + + System default Predeterminado del sistema + Select CA file Seleccionar archivo CA + Cannot open CA file! ¡Error al abrir el archivo CA! + MQTT client SSL/TLS error, ignore? Error SSL/TLS del cliente MQTT, ¿ignorar? @@ -1417,98 +1815,122 @@ MQTTConfiguration + MQTT Configuration Configuración del cliente MQTT + Version Versión + Mode Operación + QOS level Nivel QOS + Keep alive (s) Tiempo de permanencia (s) + Host Servidor + Port Puerto + Topic Tema + Retain Retención + MQTT topic Tema MQTT + Add retain flag Agregar bandera de retención + User Usuario + Password Contraseña + MQTT username Usuario MQTT + MQTT password Contraseña de MQTT + Enable SSL/TLS: Habilidar SSL/TLS: + Certificate: Certificado: + Use system database Usar base de datos del sistema + Custom CA file Usar archivo CA + Protocol: Protocolo: + CA file: Archivo CA: + Disconnect Desconectar + Connect Conectar + Apply Aplicar @@ -1523,74 +1945,93 @@ Menubar + File Archivo + Select JSON file Seleccionar archivo JSON + CSV export Exportación CSV + Enable CSV export Habilitar la exportación CSV + Show CSV in explorer Mostar CSV en el explorador + Replay CSV Reproducir CSV + Export console output Exportar datos de la consola + Quit Salir + Edit Editar + Copy Copiar + Select all Seleccionar todo + Clear console output Limpiar salida de la consola + Communication mode Modo de comunicación + Device sends JSON Dispositivo manda JSON + Load JSON from computer Cargar JSON desde la computadora + View Vista + + Console Consola + Dashboard Tablero @@ -1599,6 +2040,7 @@ Widgets + Show setup pane Mostar panel de configuración @@ -1611,66 +2053,83 @@ Mostrar la barra de menú + Exit full screen Salir de pantalla completa + Enter full screen Pantalla completa + Autoscroll Desplazamiento automático + Show timestamp Mostar marca de tiempo + VT-100 emulation Emulación de VT-100 + Echo user commands Mostar comandos del usuario + Display mode Modo de visualización + Normal (plain text) Normal (texto sin formato) + Binary (hexadecimal) Binario (hexadecimal) + Line ending character Carácter de final de línea + Help Ayuda + + About %1 Acerca de %1 + Auto-updater Buscar actualizaciones automaticamente + Check for updates Buscar actualizaciones + Project website Sitio web del proyecto + Documentation/wiki Documentación/wiki @@ -1679,10 +2138,12 @@ Mostar archivo de log + Report bug Reportar un error + Print Imprimir @@ -1690,74 +2151,93 @@ MenubarMacOS + File Archivo + Select JSON file Seleccionar archivo JSON + CSV export Exportación CSV + Enable CSV export Habilitar la exportación CSV + Show CSV in explorer Mostar CSV en el explorador + Replay CSV Reproducir CSV + Export console output Exportar datos de la consola + Quit Salir + Edit Editar + Copy Copiar + Select all Seleccionar todo + Clear console output Limpiar salida de la consola + Communication mode Modo de comunicación + Device sends JSON Dispositivo manda JSON + Load JSON from computer Cargar JSON desde la computadora + View Vista + + Console Consola + Dashboard Tablero @@ -1766,70 +2246,88 @@ Widgets + Show setup pane Mostar panel de configuración + Exit full screen Salir de pantalla completa + Enter full screen Pantalla completa + Autoscroll Desplazamiento automático + Show timestamp Mostar marca de tiempo + VT-100 emulation Emulación de VT-100 + Echo user commands Mostar comandos del usuario + Display mode Modo de visualización + Normal (plain text) Normal (texto sin formato) + Binary (hexadecimal) Binario (hexadecimal) + Line ending character Carácter de final de línea + Help Ayuda + + About %1 Acerca de %1 + Auto-updater Buscar actualizaciones automaticamente + Check for updates Buscar actualizaciones + Project website Sitio web del proyecto + Documentation/wiki Documentación/wiki @@ -1838,10 +2336,12 @@ Mostar archivo de log + Report bug Reportar un error + Print Imprimir @@ -1849,10 +2349,12 @@ Misc::MacExtras + Setup Configuración + Console Consola @@ -1861,6 +2363,7 @@ Widgets + Dashboard Tablero @@ -1888,17 +2391,30 @@ El cambio de motor de renderización tendrá efecto después de reiniciar + + Unknown OS + + + + + The change will take effect after restart + + + + Do you want to restart %1 now? - ¿Quiere reiniciar %1 ahora? + ¿Quiere reiniciar %1 ahora? Misc::ThemeManager + The theme change will take effect after restart El cambio de tema entrará en vigor después de reiniciar la aplicación + Do you want to restart %1 now? ¿Quiere reiniciar %1 ahora? @@ -1906,82 +2422,102 @@ Misc::Utilities + Check for updates automatically? ¿Buscar actualizaciones automaticamente? + Should %1 automatically check for updates? You can always check for updates manually from the "Help" menu ¿Debería %1 buscar actualizaciones automáticamente? También puedes buscar actualizaciones manualmente desde el menu de "Ayuda" + Ok Ok + Save Guardar + Save all Guardar todo + Open Abrir + Yes Si + Yes to all Si a todo + No No + No to all No a todo + Abort Abortar + Retry Intentar de nuevo + Ignore Ignorar + Close Cerrar + Cancel Cancelar + Discard Descartar + Help Ayuda + Apply Aplicar + Reset Restaurar + Restore defaults Restaurar prederminados @@ -2020,6 +2556,7 @@ Network + Socket type Tipo de socket @@ -2028,6 +2565,7 @@ Direccion IP + Port Puerto @@ -2044,22 +2582,27 @@ Servidor + Multicast Multidifusión + Remote address Dirección remota + Local port Puerto local + Type 0 for automatic port Escriba 0 para asignar automáticamente el puerto + Remote port Puerto remoto @@ -2068,6 +2611,7 @@ Ignorar delimitadores de datos + Ignore data delimiters Ignorar delimitadores de datos @@ -2090,21 +2634,384 @@ Plugins::Server + Unable to start plugin TCP server No se puede iniciar el servidor de plugins TCP + Plugin server Servidor de plugins + Invalid pending connection Conexión pendiente no válida + + Project::CodeEditor + + + New + + + + + Open + Abrir + + + + Save + Guardar + + + + Undo + + + + + Redo + + + + + Cut + + + + + Copy + Copiar + + + + Paste + + + + + Help + Ayuda + + + + Customize frame parser + + + + + + + The document has been modified! + + + + + + Are you sure you want to continue? + + + + + Select Javascript file to import + + + + + Frame parser code updated successfully! + + + + + No errors have been detected in the code. + + + + + Frame parser error! + + + + + No parse() function has been declared! + + + + + Frame parser syntax error! + + + + + Error on line %1. + + + + + Generic error + + + + + Evaluation error + + + + + Range error + + + + + Reference error + + + + + Syntax error + + + + + Type error + + + + + URI error + + + + + Unknown error + Error desconocido + + + + Frame parser error detected! + + + + + Do you want to save the changes? + + + + + Project::Model + + + Dataset widgets + Widgets de conjuntos de datos + + + + + Accelerometer + Acelerómetro + + + + + Gyroscope + Giroscopio + + + + + GPS + GPS + + + + Multiple data plot + Gráfico de datos múltiples + + + + None + Ninguno + + + + Gauge + Calibre + + + + Bar/level + Barra/nivel + + + + Compass + Brújula + + + + New Project + Nuevo proyecto + + + + Do you want to save your changes? + ¿Quieres guardar los cambios? + + + + You have unsaved modifications in this project! + ¡Tienes modificaciones sin guardar en este proyecto! + + + + Project error + Error de proyecto + + + + Project title cannot be empty! + El título del proyecto no puede estar vacío. + + + + Project error - Group %1 + Error de proyecto - Grupo %1 + + + + Group title cannot be empty! + El título del grupo no puede estar vacío. + + + + Project error - Group %1, Dataset %2 + Error de proyecto - Grupo %1, Conjunto de datos %2 + + + + Dataset title cannot be empty! + El título del conjunto de datos no puede estar vacío. + + + + Warning - Group %1, Dataset %2 + Advertencia - Grupo %1, conjunto de datos %2 + + + + Dataset contains duplicate frame index position! Continue? + El conjunto de datos contiene una posición de índice de trama duplicada. ¿Continuar? + + + + Save JSON project + Guardar proyecto JSON + + + + File open error + Error al abrir el archivo + + + + Select JSON file + Seleccionar archivo JSON + + + + New Group + Nuevo grupo + + + + Delete group "%1" + Eliminar el grupo "%1" + + + + Are you sure you want to delete this group? + ¿Estás seguro/a de que quieres eliminar este grupo? + + + + Are you sure you want to change the group-level widget? + ¿Estás seguro/a de que quieres cambiar el widget a nivel de grupo? + + + + Existing datasets for this group will be deleted + Los conjuntos de datos existentes para este grupo se eliminarán + + + + + + Accelerometer %1 + Acelerómetro %1 + + + + + + Gyro %1 + Giroscopio %1 + + + + Latitude + Latitud + + + + Longitude + Longitud + + + + Altitude + Altitud + + + + New dataset + Nuevo conjunto de datos + + + + Delete dataset "%1" + Eliminar el conjunto de datos "%1" + + + + Are you sure you want to delete this dataset? + ¿Está seguro/a de que quiere eliminar este conjunto de datos? + + + + ProjectEditor + + + Project Editor - %1 + + + + + Start something awesome + Comienza algo increíble + + + + Click on the "Add group" button to begin + Haga clic en el botón "Añadir grupo" para empezar + + QObject + Failed to load welcome text :( Error al cargar el texto de bienvenida :( @@ -2116,14 +3023,19 @@ QwtPlotRenderer + + + Documents Documentos + Images Imagenes + Export File Name Nombre del archivo de exportación @@ -2131,14 +3043,19 @@ QwtPolarRenderer + + + Documents Documentos + Images Imagenes + Export File Name Nombre del archivo de exportación @@ -2146,30 +3063,37 @@ Serial + COM Port Puerto COM + Baud Rate Baudios + Data Bits Bits de datos + Parity Paridad + Stop Bits Bits de parada + Flow Control Control de flujo + Auto-reconnect Auto reconexión @@ -2292,32 +3216,41 @@ Settings + Language Idioma Start sequence - Secuencia de inicio + Secuencia de inicio End sequence - Secuencia de terminación + Secuencia de terminación + Plugin system Sistema de plugins + + Software rendering + + + + Applications/plugins can interact with %1 by establishing a TCP connection on port 7777. Las aplicaciones/plugins pueden interactuar con %1 estableciendo una conexión TCP en el puerto 7777. + Theme Tema Data separator - Separador de datos + Separador de datos UI refresh rate @@ -2336,6 +3269,7 @@ Análisis multihilo de tramas + Custom window decorations Decorador de ventanas @@ -2343,6 +3277,7 @@ Setup + Communication Mode Modo de comunicación @@ -2419,6 +3354,7 @@ Reproductor CSV + Create CSV file Crear archivo CSV @@ -2432,40 +3368,52 @@ Serial - Puerto serial + Puerto serial Network - Red + Red + Settings Opciones + MQTT MQTT + Setup Configuración + No parsing (device sends JSON data) El dispositivo envía los datos JSON + Parse via JSON project file Utilizar archivo de proyecto JSON + Change project file (%1) Cambiar el archivo del proyecto (%1) + Select project file Seleccionar proyecto + + + Device + + Sidebar @@ -2485,22 +3433,27 @@ Terminal + Copy Copiar + Select all Seleccionar todo + Clear Limpiar + Print Imprimir + Save as Guardar como @@ -2513,22 +3466,27 @@ Mostrar la barra de menú + No data received so far No se han recibido datos hasta ahora + Send data to device Enviar datos al dispositivo + Echo Eco + Autoscroll Desplazamiento automático + Show timestamp Marca de tiempo @@ -2540,6 +3498,7 @@ Dispositivos + Console Consola @@ -2568,6 +3527,7 @@ Abrir CSV actual + Dashboard Tablero @@ -2580,29 +3540,39 @@ Registro + Open CSV Abrir CSV + Setup Configuración + + Project Editor + + + + Disconnect Desconectar + Connect Conectar JSON Editor - Editor JSON + Editor JSON TreeView + JSON Project Tree Árbol de proyecto JSON @@ -2610,6 +3580,7 @@ UI::Dashboard + Status Panel Panel de estado @@ -2617,6 +3588,7 @@ UI::DashboardWidget + Invalid Inválido @@ -2631,22 +3603,27 @@ Updater + Would you like to download the update now? ¿Le gustaría descargar la actualización ahora? + Would you like to download the update now? This is a mandatory update, exiting now will close the application ¿Le gustaría descargar la actualización ahora? Esta es una actualización obligatoria, salir ahora cerrará la aplicación + Version %1 of %2 has been released! ¡Se ha lanzado la versión %1 de %2! + No updates are available for the moment No hay actualizaciones disponibles por el momento + Congratulations! You are running the latest version of %1 ¡Felicidades! Estás ejecutando la última versión de %1 @@ -2654,6 +3631,7 @@ ViewOptions + View Vista @@ -2662,46 +3640,57 @@ Divisiones de gráficos (%1) + Datasets Conjunto de datos + Multiple data plots Gráfico de datos múltiples + FFT plots Gráficos FFT + Data plots Gráficos de datos + Bars Barras + Gauges Calibres + Compasses Brújulas + Gyroscopes Giroscopios + Accelerometers Acelerómetros + GPS GPS + LED Panels Panel de LEDs @@ -2710,6 +3699,7 @@ Opciones de visualización + Points: Puntos: @@ -2718,14 +3708,17 @@ Widgets: + Visualization options Opciones de visualización + Decimal places: Lugares decimales: + Widget size: Tamaño de widgets: @@ -2733,6 +3726,7 @@ WidgetGrid + Data Datos @@ -2751,10 +3745,12 @@ Widgets::FFTPlot + Samples Muestras + FFT of %1 FFT de %1 @@ -2785,10 +3781,12 @@ Widgets::MultiPlot + Unknown Desconocido + Samples Muestras @@ -2796,6 +3794,7 @@ Widgets::Plot + Samples Muestras diff --git a/assets/translations/ru.ts b/assets/translations/ru.ts index ad250965b..4b3bf8351 100644 --- a/assets/translations/ru.ts +++ b/assets/translations/ru.ts @@ -4,42 +4,52 @@ About + About О + Version %1 Версия %1 + The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Программа предоставляется КАК ЕСТЬ без каких-либо гарантий, включая гарантии дизайна, товарного качества и пригодности для конкретной цели. + Report bug Сообщить об ошибке + Documentation Документация + Close Закрыть + Copyright © 2020-%1 %2, released under the MIT License. Авторское право © 2020-%1 %2, выпущено под лицензией MIT. + Website Сайт + Acknowledgements Благодарности + Make a donation Сделать пожертвование @@ -70,10 +80,12 @@ Acknowledgements + Acknowledgements Благодарности + Close Закрыть @@ -93,21 +105,48 @@ Скиньте сюда файлы JSON и CSV + + BluetoothLE + + + Device + + + + + Service + + + + + Scanning.... + + + + + Sorry, this version of %1 is not supported yet. We'll update Serial Studio to work with this operating system as soon as Qt officially supports it. + + + CSV::Export + CSV file not open CSV-файл не открывается + Cannot find CSV export file! Не удается найти файл экспорта CSV! + CSV File Error Ошибка файла CSV + Cannot open CSV file for writing! Невозможно открыть CSV-файл для записи! @@ -115,10 +154,12 @@ CSV::Player + Select CSV file Выберите CSV-файл + CSV files Файлы CSV @@ -131,10 +172,12 @@ Вам необходимо выбрать файл карты JSON, чтобы использовать эту функцию + Serial port open, do you want to continue? Последовательный порт открыт, вы хотите продолжить? + In order to use this feature, its necessary to disconnect from the serial port Чтобы использовать эту функцию, необходимо отключиться от последовательного порта @@ -147,10 +190,12 @@ Убедитесь, что CSV-файл был создан с помощью Serial Studio + Cannot read CSV file Невозможно прочитать CSV-файл + Please check file permissions & location Проверьте разрешения и расположение файла @@ -210,6 +255,7 @@ Показать меню + Console Консоль @@ -217,6 +263,7 @@ CsvPlayer + CSV Player Проигрыватель CSV @@ -228,6 +275,7 @@ Dashboard + Console Консоль @@ -235,6 +283,7 @@ DashboardTitle + Console Консоль @@ -300,30 +349,38 @@ Donate + + Donate Донат + Later Позже + Close Закрыть + Support the development of %1! Поддержите разработку %1! + Serial Studio is free & open-source software supported by volunteers. Consider donating to support development efforts :) Serial Studio - это бесплатное программное обеспечение с открытым исходным кодом, поддерживаемое добровольцами. Рассмотрите возможность пожертвования для поддержки усилий по разработке :) + You can also support this project by sharing it, reporting bugs and proposing new features! Вы также можете поддержать этот проект, поделившись им, сообщив об ошибках и предложив новые возможности! + Don't annoy me again! Не раздражайте меня больше! @@ -331,126 +388,165 @@ Downloader + + Updater Updater + + + Downloading updates Загрузка обновлений + Time remaining: 0 minutes Оставшееся время: 0 минут + Open Открыть + + Stop Остановить + + Time remaining Оставшееся время + unknown неизвестно + Error Ошибка + Cannot find downloaded update! Не удается найти загруженное обновление! + Close Закрыть + Download complete! Загрузка завершена! + The installer will open separately Программа установки откроется отдельно + Click "OK" to begin installing the update Нажмите "OK", чтобы начать установку обновления + In order to install the update, you may need to quit the application. Для установки обновления может потребоваться выйти из приложения. + In order to install the update, you may need to quit the application. This is a mandatory update, exiting now will close the application Для установки обновления может потребоваться выйти из приложения. Это обязательное обновление, выход сейчас приведет к закрытию приложения + Click the "Open" button to apply the update Нажмите кнопку "Открыть", чтобы применить обновление + Are you sure you want to cancel the download? Вы уверены, что хотите отменить загрузку? + Are you sure you want to cancel the download? This is a mandatory update, exiting now will close the application Вы уверены, что хотите отменить загрузку? Это обязательное обновление, выход сейчас приведет к закрытию приложения + + %1 bytes %1 байт + + %1 KB %1 КБ + + %1 MB %1 МБ + of + Downloading Updates Загрузка обновлений + Time Remaining Оставшееся время + Unknown Неизвестно + about %1 hours около %1 часа + about one hour около одного часа + %1 minutes %1 минут + 1 minute 1 минута + %1 seconds %1 секунды + 1 second 1 секунда @@ -465,30 +561,57 @@ Footer + Close Закрыть + Add group Добавить группу + + Customize frame parser + + + + Open existing project... Открыть существующий проект... + Create new project Создать новый проект + Apply Применить + Save Сохранить + + GpsMap + + + Center on coordinate + Центр на координате + + + + GroupEditor + + + Group %1 + + + GyroDelegate @@ -504,68 +627,99 @@ %1° PITCH + + Hardware + + + Data source + + + Header + Project title (required) Название проекта (обязательно) + Data separator (default is ',') Разделитель данных (по умолчанию ',') + + + Frame start sequence (default is '/*') + + + + + Frame end sequence (default is '*/') + + Frame start sequence (default is '%1') - Последовательность начала кадра (по умолчанию '%1') + Последовательность начала кадра (по умолчанию '%1') Frame end sequence (default is '%1') - Последовательность окончания кадра (по умолчанию '%1') + Последовательность окончания кадра (по умолчанию '%1') IO::Console + ASCII ASCII + HEX HEX + No line ending Нет окончания строки + New line Новая строка + Carriage return Возврат каретки + NL + CR NL + CR + Plain text Обычный текст + Hexadecimal Шестнадцатеричный + Export console data Экспорт данных консоли + Text files Текстовые файлы + File save error Ошибка сохранения файла @@ -574,76 +728,220 @@ IO::DataSources::Network Network socket error - Ошибка сетевого сокета + Ошибка сетевого сокета IO::DataSources::Serial None - Нет + Нет No Device - Нет Устройство + Нет Устройство Even - Четный + Четный Odd - Нечетные + Нечетные Space - Пробел + Пробел Mark - Отметка + Отметка Baud rate registered successfully - Скорость передачи данных зарегистрирована успешно + Скорость передачи данных зарегистрирована успешно Rate "%1" has been added to baud rate list - Скорость "%1" была добавлена в список скоростей передачи данных + Скорость "%1" была добавлена в список скоростей передачи данных Select Port - Выберите порт + Выберите порт Serial port error Ошибка последовательного порта + + IO::Drivers::BluetoothLE + + + The BLE device has been disconnected + + + + + Select device + + + + + Select service + + + + + Error while configuring BLE service + + + + + Operation error + Ошибка операции + + + + Characteristic write error + + + + + Descriptor write error + + + + + Unknown error + Неизвестная ошибка + + + + Characteristic read error + + + + + Descriptor read error + + + + + Bluetooth adapter is off! + + + + + Invalid Bluetooth adapter! + + + + + Unsuported platform or operating system + + + + + Unsupported discovery method + + + + + General I/O error + + + + + IO::Drivers::Network + + + Network socket error + Ошибка сетевого сокета + + + + IO::Drivers::Serial + + + + + + None + Нет + + + + No Device + Нет Устройство + + + + Even + Четный + + + + Odd + Нечетные + + + + Space + Пробел + + + + Mark + Отметка + + + + Baud rate registered successfully + Скорость передачи данных зарегистрирована успешно + + + + Rate "%1" has been added to baud rate list + Скорость "%1" была добавлена в список скоростей передачи данных + + + + Select port + + + IO::Manager + Serial port Последовательный порт + Network port Сетевой порт + + + Bluetooth LE device + + JSON::Editor Dataset widgets - Виджеты набора данных + Виджеты набора данных Accelerometer - Акселерометр + Акселерометр Gyroscope - Гироскоп + Гироскоп Map @@ -651,156 +949,161 @@ None - Нет + Нет Gauge - Измеритель + Измеритель Bar/level - Бар/уровень + Бар/уровень Compass - Компас + Компас New Project - Новый проект + Новый проект Do you want to save your changes? - Вы хотите сохранить изменения? + Вы хотите сохранить изменения? You have unsaved modifications in this project! - У вас есть несохраненные изменения в этом проекте! + У вас есть несохраненные изменения в этом проекте! Project error - Ошибка проекта + Ошибка проекта Project title cannot be empty! - Название проекта не может быть пустым! + Название проекта не может быть пустым! Project error - Group %1 - Ошибка проекта - Группа %1 + Ошибка проекта - Группа %1 Group title cannot be empty! - Название группы не может быть пустым! + Название группы не может быть пустым! Project error - Group %1, Dataset %2 - Ошибка проекта - Группа %1, набор данных %2 + Ошибка проекта - Группа %1, набор данных %2 Dataset title cannot be empty! - Название набора данных не может быть пустым! + Название набора данных не может быть пустым! Warning - Group %1, Dataset %2 - Предупреждение - Группа %1, набор данных %2 + Предупреждение - Группа %1, набор данных %2 Dataset contains duplicate frame index position! Continue? - Набор данных содержит дублирующуюся позицию индекса кадра! Продолжить? + Набор данных содержит дублирующуюся позицию индекса кадра! Продолжить? Save JSON project - Сохранить проект JSON + Сохранить проект JSON File open error - Ошибка открытия файла + Ошибка открытия файла Select JSON file - Выберите файл JSON + Выберите файл JSON New Group - Новая группа + Новая группа Delete group "%1" - Удалить группу "%1" + Удалить группу "%1" Are you sure you want to delete this group? - Вы уверены, что хотите удалить эту группу? + Вы уверены, что хотите удалить эту группу? Are you sure you want to change the group-level widget? - Вы уверены, что хотите изменить виджет на уровне группы? + Вы уверены, что хотите изменить виджет на уровне группы? Existing datasets for this group will be deleted - Существующие наборы данных для этой группы будут удалены + Существующие наборы данных для этой группы будут удалены Accelerometer %1 - Акселерометр %1 + Акселерометр %1 Gyro %1 - Гироскоп %1 + Гироскоп %1 Latitude - Широта + Широта Longitude - Долгота + Долгота New dataset - Новый набор данных + Новый набор данных Delete dataset "%1" - Удалить набор данных "%1" + Удалить набор данных "%1" Are you sure you want to delete this dataset? - Вы уверены, что хотите удалить этот набор данных? + Вы уверены, что хотите удалить этот набор данных? GPS - GPS + GPS Multiple data plot - График множественных данных + График множественных данных Altitude - Высота + Высота JSON::Generator + Select JSON map file Выберите файл карты JSON + JSON files Файлы JSON + JSON parse error Ошибка разбора JSON + Cannot read JSON file Невозможно прочитать файл JSON + Please check file permissions & location Проверьте разрешения и расположение файла @@ -808,6 +1111,7 @@ JSONDropArea + Drop JSON and CSV files here Скиньте сюда файлы JSON и CSV @@ -815,26 +1119,33 @@ JsonDatasetDelegate + + Dataset %1 - %2 Набор данных %1 - %2 + Title: Название: + Sensor reading, uptime, etc... Показания датчиков, время работы и т.д.... + Units: Единицы измерения: + Volts, meters, seconds, etc... Вольты, метры, секунды и т.д... + Frame index: Индекс кадра: @@ -843,46 +1154,57 @@ Генерировать график: + Widget: Виджет: + Min value: Минимальное значение: + Max value: Максимальное значение: + Generate plot: Создайте график: + Logarithmic plot: Логарифмический график: + FFT plot: График FFT: + FFT Samples: Образцы FFT: + Alarm level: Уровень тревоги: + Note: Примечание: + The compass widget expects values from 0° to 360°. Виджет компаса принимает значения от 0° до 360°. + Display LED: Показать LED: @@ -891,7 +1213,7 @@ JsonEditor JSON Editor - %1 - Редактор JSON - %1 + Редактор JSON - %1 Project title (required) @@ -911,7 +1233,7 @@ Start something awesome - Начните что-то потрясающее + Начните что-то потрясающее Click on the "%1" button to begin @@ -943,32 +1265,55 @@ Click on the "Add group" button to begin - Нажмите на кнопку "Добавить группу", чтобы начать + Нажмите на кнопку "Добавить группу", чтобы начать JsonGroupDelegate + Group %1 - %2 Группа %1 - %2 + + Title Название + + Group widget + + + + + Empty group + + + + + Set group title and click on the "Add dataset" button to begin + + + + Add dataset Добавить набор данных + + Note: Примечание: + The accelerometer widget expects values in m/s². Виджет акселерометра ожидает значений в м/с². + The gyroscope widget expects values in degrees (0° to 360°). Виджет гироскопа принимает значения в градусах (от 0° до 360°). @@ -976,11 +1321,13 @@ KLed + LED on Accessible name of a Led whose state is on Светодиод включен + LED off Accessible name of a Led whose state is off Светодиод выключен @@ -989,46 +1336,57 @@ MQTT + Version Версия + Mode Режим + Host Хост + Port Порт + Topic Тема + MQTT topic Тема MQTT + User Пользователь + MQTT username Имя пользователя MQTT + Password Пароль + MQTT password Пароль MQTT + Disconnect Отключить @@ -1037,10 +1395,12 @@ Подключиться + Advanced setup Настройка + Connect to broker Подключиться @@ -1048,166 +1408,208 @@ MQTT::Client + Publisher Издатель + Subscriber Подписчик + IP address lookup error Ошибка поиска IP-адреса + Unknown error Неизвестная ошибка + Connection refused Отказ в подключении + Remote host closed the connection Удаленный хост закрыл соединение + Host not found Хост не найден + Socket access error Ошибка доступа к сокету + Socket resource error Ошибка ресурса сокета + Socket timeout Таймаут сокета + Socket datagram too large Слишком большая датаграмма сокета + Network error Ошибка сети + Address in use Используемый адрес + Address not available Адрес недоступен + Unsupported socket operation Неподдерживаемая операция с сокетом + Unfinished socket operation Незавершенная операция с сокетом + Proxy authentication required Требуется аутентификация прокси-сервера + SSL handshake failed SSL квитирование не удалось + Proxy connection refused Прокси-соединение отклонено + Proxy connection closed Прокси-соединение закрыто + Proxy connection timeout Таймаут прокси-соединения + Proxy not found Прокси не найден + Proxy protocol error Ошибка протокола прокси + Operation error Ошибка операции + SSL internal error Внутренняя ошибка SSL + Invalid SSL user data Неверные данные пользователя SSL + Socket temprary error Ошибка шаблона сокета + Unacceptable MQTT protocol Неприемлемый протокол MQTT + MQTT identifier rejected Идентификатор MQTT отклонен + MQTT server unavailable Сервер MQTT недоступен + Bad MQTT username or password Плохое имя пользователя или пароль MQTT + MQTT authorization error Ошибка авторизации MQTT + MQTT no ping response MQTT не отвечает на запрос ping + MQTT client error Ошибка клиента MQTT + 0: At most once 0: Не более одного раза + 1: At least once 1: Хотя бы раз + 2: Exactly once 2: Ровно раз + + System default Система по умолчанию + Select CA file Выберите файл CA + Cannot open CA file! Невозможно открыть файл CA! + MQTT client SSL/TLS error, ignore? Ошибка SSL/TLS клиента MQTT, игнорировать? @@ -1215,98 +1617,122 @@ MQTTConfiguration + MQTT Configuration Конфигурация MQTT + Version Версия + Mode Режим + QOS level Уровень QOS + Keep alive (s) Время жизни (сек) + Host Хост + Port Порт + Topic Тема + Retain Сохранить + MQTT topic Тема MQTT + Add retain flag Добавить флаг удержания + User Пользователь + Password Пароль + MQTT username Имя пользователя MQTT + MQTT password Пароль MQTT + Enable SSL/TLS: Включить SSL/TLS: + Certificate: Сертификат: + Use system database Системная база данных + Custom CA file Выберите файл CA + Protocol: Протокол: + CA file: Файл CA: + Disconnect Отключить + Connect Подключиться + Apply Применить @@ -1321,74 +1747,93 @@ Menubar + File Файл + Select JSON file Выберите файл JSON + CSV export Экспорт CSV + Enable CSV export Включить экспорт CSV + Show CSV in explorer Показать CSV в проводнике + Replay CSV Воспроизвести CSV + Export console output Экспортировать вывод консоли + Quit Выйти из + Edit Редактировать + Copy Копировать + Select all Выбрать все + Clear console output Очистить вывод консоли + Communication mode Режим связи + Device sends JSON Устройство отправляет JSON + Load JSON from computer Загрузить JSON с компьютера + View Просмотр + + Console Консоль + Dashboard Приборная панель @@ -1397,6 +1842,7 @@ Виджеты + Show setup pane Показать панель настроек @@ -1409,66 +1855,83 @@ Показать меню + Exit full screen Выход из полноэкранного режима + Enter full screen Вход в полный экран + Autoscroll Автопрокрутка + Show timestamp Показать метку времени + VT-100 emulation Эмуляция VT-100 + Echo user commands Эхо-команды пользователя + Display mode Режим отображения + Normal (plain text) Обычный (простой текст) + Binary (hexadecimal) Двоичный (шестнадцатеричный) + Line ending character Символ окончания строки + Help Справка + + About %1 О %1 + Auto-updater Автообновление + Check for updates Проверка наличия обновлений + Project website Веб-сайт проекта + Documentation/wiki Документация/вики @@ -1477,10 +1940,12 @@ Показать файл журнала + Report bug Сообщить об ошибке + Print Печать @@ -1488,74 +1953,93 @@ MenubarMacOS + File Файл + Select JSON file Выберите файл JSON + CSV export Экспорт CSV + Enable CSV export Включить экспорт CSV + Show CSV in explorer Показать CSV в проводнике + Replay CSV Воспроизвести CSV + Export console output Экспортировать вывод консоли + Quit Выйти из + Edit Редактировать + Copy Копировать + Select all Выбрать все + Clear console output Очистить вывод консоли + Communication mode Режим связи + Device sends JSON Устройство отправляет JSON + Load JSON from computer Загрузить JSON с компьютера + View Просмотр + + Console Консоль + Dashboard Приборная панель @@ -1564,70 +2048,88 @@ Виджеты + Show setup pane Показать панель настроек + Exit full screen Выход из полноэкранного режима + Enter full screen Вход в полный экран + Autoscroll Автопрокрутка + Show timestamp Показать метку времени + VT-100 emulation Эмуляция VT-100 + Echo user commands Эхо-команды пользователя + Display mode Режим отображения + Normal (plain text) Обычный (простой текст) + Binary (hexadecimal) Двоичный (шестнадцатеричный) + Line ending character Символ окончания строки + Help Справка + + About %1 О %1 + Auto-updater Автообновление + Check for updates Проверка наличия обновлений + Project website Веб-сайт проекта + Documentation/wiki Документация/вики @@ -1636,10 +2138,12 @@ Показать файл журнала + Report bug Сообщить об ошибке + Print Печать @@ -1647,10 +2151,12 @@ Misc::MacExtras + Setup Установка + Console Консоль @@ -1659,6 +2165,7 @@ Виджеты + Dashboard Приборная панель @@ -1686,17 +2193,30 @@ Изменение механизма рендеринга вступит в силу после перезапуска + + Unknown OS + + + + + The change will take effect after restart + + + + Do you want to restart %1 now? - Хотите ли вы перезапустить %1 сейчас? + Хотите ли вы перезапустить %1 сейчас? Misc::ThemeManager + The theme change will take effect after restart Изменение темы вступит в силу после перезапуска + Do you want to restart %1 now? Хотите ли вы перезапустить %1 сейчас? @@ -1704,82 +2224,102 @@ Misc::Utilities + Check for updates automatically? Проверять обновления автоматически? + Should %1 automatically check for updates? You can always check for updates manually from the "Help" menu Должен ли %1 автоматически проверять наличие обновлений? Вы всегда можете проверить наличие обновлений вручную из меню "Помощь" + Ok Ок + Save Сохранить + Save all Сохранить все + Open Открыть + Yes Да + Yes to all Да всем + No Нет + No to all Нет всем + Abort Прервать + Retry Повторная попытка + Ignore Игнорировать + Close Закрыть + Cancel Отмена + Discard Отбросить + Help Справка + Apply Применить + Reset Сбросить + Restore defaults Восстановление по умолчанию @@ -1818,10 +2358,12 @@ Network + Socket type Тип сокета + Port Порт @@ -1830,26 +2372,32 @@ Хост + Multicast Мультикаст + Remote address Удаленный адрес + Local port Локальный порт + Type 0 for automatic port Запишите 0 для автоматического номера порта + Remote port Удаленный порт + Ignore data delimiters Игнорировать разделители @@ -1872,21 +2420,384 @@ Plugins::Server + Unable to start plugin TCP server Невозможно запустить TCP-сервер плагина + Plugin server Сервер плагина + Invalid pending connection Недействительное ожидающее соединение + + Project::CodeEditor + + + New + + + + + Open + Открыть + + + + Save + Сохранить + + + + Undo + + + + + Redo + + + + + Cut + + + + + Copy + Копировать + + + + Paste + + + + + Help + Справка + + + + Customize frame parser + + + + + + + The document has been modified! + + + + + + Are you sure you want to continue? + + + + + Select Javascript file to import + + + + + Frame parser code updated successfully! + + + + + No errors have been detected in the code. + + + + + Frame parser error! + + + + + No parse() function has been declared! + + + + + Frame parser syntax error! + + + + + Error on line %1. + + + + + Generic error + + + + + Evaluation error + + + + + Range error + + + + + Reference error + + + + + Syntax error + + + + + Type error + + + + + URI error + + + + + Unknown error + Неизвестная ошибка + + + + Frame parser error detected! + + + + + Do you want to save the changes? + + + + + Project::Model + + + Dataset widgets + Виджеты набора данных + + + + + Accelerometer + Акселерометр + + + + + Gyroscope + Гироскоп + + + + + GPS + GPS + + + + Multiple data plot + График множественных данных + + + + None + Нет + + + + Gauge + Измеритель + + + + Bar/level + Бар/уровень + + + + Compass + Компас + + + + New Project + Новый проект + + + + Do you want to save your changes? + Вы хотите сохранить изменения? + + + + You have unsaved modifications in this project! + У вас есть несохраненные изменения в этом проекте! + + + + Project error + Ошибка проекта + + + + Project title cannot be empty! + Название проекта не может быть пустым! + + + + Project error - Group %1 + Ошибка проекта - Группа %1 + + + + Group title cannot be empty! + Название группы не может быть пустым! + + + + Project error - Group %1, Dataset %2 + Ошибка проекта - Группа %1, набор данных %2 + + + + Dataset title cannot be empty! + Название набора данных не может быть пустым! + + + + Warning - Group %1, Dataset %2 + Предупреждение - Группа %1, набор данных %2 + + + + Dataset contains duplicate frame index position! Continue? + Набор данных содержит дублирующуюся позицию индекса кадра! Продолжить? + + + + Save JSON project + Сохранить проект JSON + + + + File open error + Ошибка открытия файла + + + + Select JSON file + Выберите файл JSON + + + + New Group + Новая группа + + + + Delete group "%1" + Удалить группу "%1" + + + + Are you sure you want to delete this group? + Вы уверены, что хотите удалить эту группу? + + + + Are you sure you want to change the group-level widget? + Вы уверены, что хотите изменить виджет на уровне группы? + + + + Existing datasets for this group will be deleted + Существующие наборы данных для этой группы будут удалены + + + + + + Accelerometer %1 + Акселерометр %1 + + + + + + Gyro %1 + Гироскоп %1 + + + + Latitude + Широта + + + + Longitude + Долгота + + + + Altitude + Высота + + + + New dataset + Новый набор данных + + + + Delete dataset "%1" + Удалить набор данных "%1" + + + + Are you sure you want to delete this dataset? + Вы уверены, что хотите удалить этот набор данных? + + + + ProjectEditor + + + Project Editor - %1 + + + + + Start something awesome + Начните что-то потрясающее + + + + Click on the "Add group" button to begin + Нажмите на кнопку "Добавить группу", чтобы начать + + QObject + Failed to load welcome text :( Не удалось загрузить приветственный текст :( @@ -1894,14 +2805,19 @@ QwtPlotRenderer + + + Documents Документы + Images Изображения + Export File Name Имя файла экспорта @@ -1909,14 +2825,19 @@ QwtPolarRenderer + + + Documents Документы + Images Изображения + Export File Name Имя файла экспорта @@ -1924,30 +2845,37 @@ Serial + COM Port COM-порт + Baud Rate Скорость передачи + Data Bits Биты данных + Parity Четность + Stop Bits Стоп-биты + Flow Control Управление потоком + Auto-reconnect Автоподключение @@ -1966,32 +2894,41 @@ Settings + Language Язык Start sequence - Код начала кадра + Код начала кадра End sequence - Код конца кадра + Код конца кадра + Plugin system Система плагинов + + Software rendering + + + + Applications/plugins can interact with %1 by establishing a TCP connection on port 7777. Приложения/плагины могут взаимодействовать с %1, устанавливая TCP-соединение на порту 7777. + Theme Тема Data separator - Разделитель данных + Разделитель данных UI refresh rate @@ -2010,6 +2947,7 @@ Многопоточный анализ кадров + Custom window decorations Украшения для окон @@ -2017,6 +2955,7 @@ Setup + Communication Mode Режим связи @@ -2057,65 +2996,83 @@ Управление потоком + Create CSV file Создать CSV-файл Serial - Серийный + Серийный Network - Сеть + Сеть + Settings Настройки + MQTT MQTT + Setup Установка + No parsing (device sends JSON data) Устройство отправляет данные в формате JSON + Parse via JSON project file Используйте JSON файл проекта + Change project file (%1) Изменить файл проекта (%1) + Select project file Выберите файл проекта + + + Device + + Terminal + Copy Копировать + Select all Выбрать все + Clear Очистить + Print Печать + Save as Сохранить как @@ -2128,22 +3085,27 @@ Показать меню + No data received so far Данные пока не получены + Send data to device Отправьте данные на устройство + Echo Эхо + Autoscroll Автопрокрутка + Show timestamp Показать метку времени @@ -2151,6 +3113,7 @@ Toolbar + Console Консоль @@ -2159,33 +3122,44 @@ Виджеты + Dashboard Приборная панель + Open CSV Открыть CSV + Setup Установка + + Project Editor + + + + Disconnect Отключить + Connect Подключиться JSON Editor - Редактор JSON + Редактор JSON TreeView + JSON Project Tree JSON Дерево проекта @@ -2193,6 +3167,7 @@ UI::Dashboard + Status Panel Панель состояния @@ -2200,6 +3175,7 @@ UI::DashboardWidget + Invalid Неверный @@ -2214,22 +3190,27 @@ Updater + Would you like to download the update now? Хотите загрузить обновление сейчас? + Would you like to download the update now? This is a mandatory update, exiting now will close the application Вы хотите загрузить обновление сейчас? Это обязательное обновление, выход сейчас приведет к закрытию приложения + Version %1 of %2 has been released! Выпущена версия %1 от %2! + No updates are available for the moment На данный момент обновления недоступны + Congratulations! You are running the latest version of %1 Поздравляем! Вы используете последнюю версию %1 @@ -2237,6 +3218,7 @@ ViewOptions + View Просмотр @@ -2245,46 +3227,57 @@ Подразделения (%1) + Datasets Датасеты + Multiple data plots Несколько графиков данных + FFT plots Графики FFT + Data plots Графики данных + Bars Бары + Gauges Манометры + Compasses Компасы + Gyroscopes Гироскопы + Accelerometers Акселерометры + GPS GPS + LED Panels LED-панели @@ -2293,6 +3286,7 @@ Опт визуализации + Points: Баллы: @@ -2301,14 +3295,17 @@ Виджеты: + Visualization options Варианты визуализации + Decimal places: Десятичные разряды: + Widget size: Размер виджетов: @@ -2316,6 +3313,7 @@ WidgetGrid + Data Данные @@ -2334,10 +3332,12 @@ Widgets::FFTPlot + Samples Образцы + FFT of %1 FFT для %1 @@ -2368,10 +3368,12 @@ Widgets::MultiPlot + Unknown Неизвестно + Samples Образцы @@ -2379,6 +3381,7 @@ Widgets::Plot + Samples Образцы diff --git a/assets/translations/zh.ts b/assets/translations/zh.ts index 201bb485a..c2988cff7 100644 --- a/assets/translations/zh.ts +++ b/assets/translations/zh.ts @@ -4,18 +4,22 @@ About + About 关于 + Version %1 版本%1 + Copyright © 2020-%1 %2, released under the MIT License. 版权所有©2020-%1 %2,根据MIT许可证发行。 + The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 该程序按原样提供,没有任何形式的保证,包括针对特定目的的设计,适销性和适用性的保证。 @@ -24,6 +28,7 @@ 联系作者 + Report bug 反馈问题 @@ -32,10 +37,12 @@ 检查更新 + Documentation 文献资料 + Close 关闭 @@ -44,14 +51,17 @@ 打开日志文件 + Website 网站 + Acknowledgements 致谢 + Make a donation 进行捐赠 @@ -82,10 +92,12 @@ Acknowledgements + Acknowledgements 致谢 + Close 关闭 @@ -105,21 +117,48 @@ 在此处拖放JSON和CSV文件 + + BluetoothLE + + + Device + + + + + Service + + + + + Scanning.... + + + + + Sorry, this version of %1 is not supported yet. We'll update Serial Studio to work with this operating system as soon as Qt officially supports it. + + + CSV::Export + CSV file not open CSV文件未打开 + Cannot find CSV export file! 找不到CSV导出的文件! + CSV File Error CSV文件错误 + Cannot open CSV file for writing! 无法打开CSV文件进行写入! @@ -127,10 +166,12 @@ CSV::Player + Select CSV file 选择CSV文件 + CSV files CSV文件 @@ -143,10 +184,12 @@ 您需要选择一个JSON映射文件才能使用此功能 + Serial port open, do you want to continue? 串行端口已打开,您要继续吗? + In order to use this feature, its necessary to disconnect from the serial port 为了使用此功能,必须断开与串行端口的连接 @@ -159,10 +202,12 @@ 请确认CSV文件是使用Serial Studio创建的 + Cannot read CSV file 无法读取CSV文件 + Please check file permissions & location 请检查文件的权限和位置 @@ -226,6 +271,7 @@ 显示菜单栏 + Console 控制台 @@ -233,6 +279,7 @@ CsvPlayer + CSV Player CSV 播放器 @@ -288,6 +335,7 @@ Dashboard + Console 控制台 @@ -295,6 +343,7 @@ DashboardTitle + Console 控制台 @@ -384,30 +433,38 @@ Donate + + Donate 捐赠 + Later 稍后再说 + Close 关闭 + Support the development of %1! 支持开发者%1! + Serial Studio is free & open-source software supported by volunteers. Consider donating to support development efforts :) Serial Studio是由志愿者支持的免费和开源软件。请考虑捐赠以支持开发工作 :) + You can also support this project by sharing it, reporting bugs and proposing new features! 你也可以通过分享、报告错误和提出新的功能来支持这个项目! + Don't annoy me again! 不再提醒! @@ -415,126 +472,165 @@ Downloader + + Updater 更新器 + + + Downloading updates 下载更新 + Time remaining: 0 minutes 剩余时间:0分钟 + Open 打开 + + Stop 停止 + + Time remaining 剩余时间 + unknown 未知 + Error 错误 + Cannot find downloaded update! 找不到下载的更新! + Close 关闭 + Download complete! 下载完成! + The installer will open separately 安装程序将单独打开 + Click "OK" to begin installing the update 点击“确定”开始安装更新 + In order to install the update, you may need to quit the application. 为了安装更新,您可能需要退出该应用程序。 + In order to install the update, you may need to quit the application. This is a mandatory update, exiting now will close the application 为了安装更新,您可能需要退出该应用程序。 这是强制性更新,现在退出将关闭应用程序 + Click the "Open" button to apply the update 点击“打开”按钮开始更新 + Are you sure you want to cancel the download? 您确定要取消下载吗? + Are you sure you want to cancel the download? This is a mandatory update, exiting now will close the application 您确定要取消下载吗? 这是强制性更新,现在退出将关闭应用程序 + + %1 bytes %1个字节 + + %1 KB + + %1 MB + of + Downloading Updates 下载更新 + Time Remaining 剩余时间 + Unknown 未知 + about %1 hours 大约%1小时 + about one hour 大约一小时 + %1 minutes %1分钟 + 1 minute 1分钟 + %1 seconds %1秒 + 1 second 一秒 @@ -561,30 +657,49 @@ Footer + Close 关闭 + Add group 添加组别 + + Customize frame parser + + + + Open existing project... 打开现有的项目... + Create new project 创建新项目 + Apply 应用 + Save 保存 + + GpsMap + + + Center on coordinate + 以坐标为中心 + + Group @@ -592,6 +707,14 @@ 无效 + + GroupEditor + + + Group %1 + + + GyroDelegate @@ -607,68 +730,99 @@ %1°俯仰角 + + Hardware + + + Data source + + + Header + Project title (required) 项目名称(必填) + Data separator (default is ',') 数据分隔符(默认为',') + + + Frame start sequence (default is '/*') + + + + + Frame end sequence (default is '*/') + + Frame start sequence (default is '%1') - 帧开始顺序(默认为'%1') + 帧开始顺序(默认为'%1') Frame end sequence (default is '%1') - 帧结束序列(默认为'%1') + 帧结束序列(默认为'%1') IO::Console + ASCII ASCII + HEX HEX + No line ending 无行结尾 + New line 换行 + Carriage return 回车 + NL + CR 换行和回车 + Plain text 纯文本 + Hexadecimal 十六进制 + Export console data 导出控制台数据 + Text files 文本文件 + File save error 文件保存错误 @@ -685,46 +839,46 @@ Network socket error - 网络套接字错误 + 网络套接字错误 IO::DataSources::Serial None - 无(None) + 无(None) No Device - 没有设备 + 没有设备 Even - 偶校验(Even) + 偶校验(Even) Odd - 奇校验(Odd) + 奇校验(Odd) Space - 校验位总为0(Space) + 校验位总为0(Space) Mark - 校验位总为1(Mark) + 校验位总为1(Mark) Baud rate registered successfully - 波特率注册成功 + 波特率注册成功 Rate "%1" has been added to baud rate list - 速率"%1"已添加到波特率列表中 + 速率"%1"已添加到波特率列表中 Select Port - 选择端口 + 选择端口 Critical serial port error @@ -735,30 +889,174 @@ 串口错误 + + IO::Drivers::BluetoothLE + + + The BLE device has been disconnected + + + + + Select device + + + + + Select service + + + + + Error while configuring BLE service + + + + + Operation error + 操作错误 + + + + Characteristic write error + + + + + Descriptor write error + + + + + Unknown error + 未知错误 + + + + Characteristic read error + + + + + Descriptor read error + + + + + Bluetooth adapter is off! + + + + + Invalid Bluetooth adapter! + + + + + Unsuported platform or operating system + + + + + Unsupported discovery method + + + + + General I/O error + + + + + IO::Drivers::Network + + + Network socket error + 网络套接字错误 + + + + IO::Drivers::Serial + + + + + + None + + + + + No Device + 没有设备 + + + + Even + 偶校验(Even) + + + + Odd + 奇校验(Odd) + + + + Space + 校验位总为0(Space) + + + + Mark + 校验位总为1(Mark) + + + + Baud rate registered successfully + 波特率注册成功 + + + + Rate "%1" has been added to baud rate list + 速率"%1"已添加到波特率列表中 + + + + Select port + + + IO::Manager + Serial port 选择端口 + Network port 网络端口 + + + Bluetooth LE device + + JSON::Editor Dataset widgets - 数据项小部件 + 数据项小部件 Accelerometer - 加速度计 + 加速度计 Gyroscope - 陀螺仪 + 陀螺仪 Map @@ -766,148 +1064,151 @@ None - + Gauge - 仪表盘 + 仪表盘 Bar/level - 柱形图/级别 + 柱形图/级别 Compass - 指南针 + 指南针 New Project - 新项目 + 新项目 Do you want to save your changes? - 你想保存你的改动吗? + 你想保存你的改动吗? You have unsaved modifications in this project! - 你在这个项目中有未保存的修改! + 你在这个项目中有未保存的修改! Project error - 项目错误 + 项目错误 Project title cannot be empty! - 项目标题不能是空的! + 项目标题不能是空的! Project error - Group %1 - Project error - Group %1 + Project error - Group %1 Group title cannot be empty! - 组的标题不能是空的! + 组的标题不能是空的! Project error - Group %1, Dataset %2 - 项目错误 - 组%1,数据项%2 + 项目错误 - 组%1,数据项%2 Dataset title cannot be empty! - 数据项的标题不能是空的! + 数据项的标题不能是空的! Warning - Group %1, Dataset %2 - 警告 - 组 %1, 数据项 %2 + 警告 - 组 %1, 数据项 %2 Dataset contains duplicate frame index position! Continue? - 数据项包含重复的位置序号! 继续吗? + 数据项包含重复的位置序号! 继续吗? Save JSON project - 保存JSON项目 + 保存JSON项目 File open error - 文件打开错误 + 文件打开错误 Select JSON file - 选择JSON映射文件 + 选择JSON映射文件 New Group - 新组别 + 新组别 Delete group "%1" - 删除组"%1" + 删除组"%1" Are you sure you want to delete this group? - 你确定要删除这个组吗? + 你确定要删除这个组吗? Are you sure you want to change the group-level widget? - 你确定你要改变组级小部件吗? + 你确定你要改变组级小部件吗? Existing datasets for this group will be deleted - 该组的现有数据项将被删除 + 该组的现有数据项将被删除 Accelerometer %1 - 加速度计%1 + 加速度计%1 Gyro %1 - 陀螺仪 %1 + 陀螺仪 %1 Latitude - 纬度 + 纬度 Longitude - 经度 + 经度 New dataset - 创建数据项 + 创建数据项 Delete dataset "%1" - 删除数据项"%1" + 删除数据项"%1" Are you sure you want to delete this dataset? - 你确定要删除这个数据项吗? + 你确定要删除这个数据项吗? GPS - 全球定位系统 + 全球定位系统 Multiple data plot - 多个数据图表 + 多个数据图表 Altitude - 海拔 + 海拔 JSON::Generator + Select JSON map file 选择JSON映射文件 + JSON files JSON文件 + JSON parse error JSON解析错误 @@ -920,10 +1221,12 @@ 文件“%1”已加载到内存中 + Cannot read JSON file 无法读取JSON文件 + Please check file permissions & location 请检查文件的权限和位置 @@ -939,6 +1242,7 @@ JSONDropArea + Drop JSON and CSV files here 拖放JSON和CSV文件 @@ -946,26 +1250,33 @@ JsonDatasetDelegate + + Dataset %1 - %2 数据项 %1 - %2 + Title: 标题: + Sensor reading, uptime, etc... 传感器读数、正常运行时间等... + Units: 单位: + Volts, meters, seconds, etc... 伏特,米,秒,等等... + Frame index: 部件序号: @@ -974,109 +1285,61 @@ 生成图形: + Widget: 小工具: + Min value: 最小值: + Max value: 最大值: + Generate plot: 生成图形: + Logarithmic plot: 对数图: + FFT plot: FFT图: + FFT Samples: FFT采样点数: + Alarm level: 报警水平: + Note: 注: + The compass widget expects values from 0° to 360°. 指南针组件输入的数值需为0°到360°。 + Display LED: 显示LED: - - ProjectEditor - - JSON Editor - %1 - JSON编辑器 - %1 - - - Project title (required) - 项目名称(必填) - - - Data separator (default is ',') - 数据分隔符(默认为',') - - - Frame start sequence (default is '%1') - 帧开始顺序(默认为'%1') - - - Frame end sequence (default is '%1') - 帧结束序列(默认为'%1') - - - Start something awesome - 开始做一些了不起的事情 - - - Click on the "%1" button to begin - 点击"%1 "按钮,开始 - - - Close - 关闭 - - - Add group - 添加组别 - - - Open existing project... - 打开现有的项目... - - - Create new project - 创建新项目 - - - Apply - 应用 - - - Save - 保存 - - - Click on the "Add group" button to begin - 点击 "添加组 "按钮,开始 - - JsonGenerator @@ -1123,26 +1386,49 @@ JsonGroupDelegate + Group %1 - %2 组别 %1 - %2 + + Title 标题 + + Group widget + + + + + Empty group + + + + + Set group title and click on the "Add dataset" button to begin + + + + Add dataset 添加数据项 + + Note: 注: + The accelerometer widget expects values in m/s². 加速度计部件需得到以m/s²为单位的值。 + The gyroscope widget expects values in degrees (0° to 360°). 陀螺仪组件输入的数值需为0°到360°(以度为单位)。 @@ -1150,11 +1436,13 @@ KLed + LED on Accessible name of a Led whose state is on LED灯亮起 + LED off Accessible name of a Led whose state is off LED关闭 @@ -1163,42 +1451,52 @@ MQTT + Version 版本 + Mode 模式 + Host 服务器 + Port 端口 + Topic 主题 + MQTT topic MQTT主题 + User 用户 + MQTT username MQTT用户名 + Password 密码 + MQTT password MQTT密码 @@ -1211,6 +1509,7 @@ 输入地址(例如baidu.com) + Disconnect 断开 @@ -1219,10 +1518,12 @@ 连接 + Advanced setup 高级设置 + Connect to broker 连接 @@ -1230,166 +1531,208 @@ MQTT::Client + Publisher 发布者 + Subscriber 订阅者 + IP address lookup error IP地址查询错误 + Unknown error 未知错误 + Connection refused 拒绝连接 + Remote host closed the connection 远程主机关闭连接 + Host not found 未找到主机 + Socket access error 套接字访问错误 + Socket resource error 套接字资源错误 + Socket timeout 套接字超时 + Socket datagram too large 套接字数据包太大 + Network error 网络错误 + Address in use 地址已被使用 + Address not available 找不到地址 + Unsupported socket operation 不支持的套接字操作 + Unfinished socket operation 未完成的套接字操作 + Proxy authentication required 需要代理认证 + SSL handshake failed SSL握手失败 + Proxy connection refused 拒绝代理连接 + Proxy connection closed 代理连接关闭 + Proxy connection timeout 代理连接超时 + Proxy not found 未找到代理 + Proxy protocol error 代理协议错误 + Operation error 操作错误 + SSL internal error SSL内部错误 + Invalid SSL user data 无效的SSL用户数据 + Socket temprary error 套接字临时错误 + Unacceptable MQTT protocol 不可接受的MQTT协议 + MQTT identifier rejected MQTT标识符被拒绝 + MQTT server unavailable MQTT服务器不可用 + Bad MQTT username or password 错误的MQTT用户名或密码 + MQTT authorization error MQTT鉴权错误 + MQTT no ping response MQTT没有PING响应 + MQTT client error MQTT客户端错误 + 0: At most once 0: 最多一次 + 1: At least once 1: 至少一次 + 2: Exactly once 2:正好一次 + + System default 系统默认 + Select CA file 选择CA文件 + Cannot open CA file! 无法打开CA文件! + MQTT client SSL/TLS error, ignore? MQTT客户端SSL/TLS错误,忽略? @@ -1397,98 +1740,122 @@ MQTTConfiguration + MQTT Configuration MQTT配置 + Version 版本 + Mode 模式 + QOS level QOS水平 + Keep alive (s) keep-alive超时(s) + Host 服务器 + Port 端口 + Topic 主题 + Retain 保留 + MQTT topic MQTT主题 + Add retain flag 添加保留标志 + User 用户 + Password 密码 + MQTT username MQTT用户名 + MQTT password MQTT密码 + Enable SSL/TLS: 启用SSL/TLS: + Certificate: 证书: + Use system database 使用系统数据库 + Custom CA file 选择自定义CA文件 + Protocol: 协议: + CA file: CA文件: + Disconnect 断开 + Connect 连接 + Apply 应用 @@ -1503,74 +1870,93 @@ Menubar + File 文件 + Select JSON file 选择JSON映射文件 + CSV export 导出CSV + Enable CSV export 启用CSV导出 + Show CSV in explorer 在资源管理器中显示CSV + Replay CSV 重播CSV + Export console output 导出控制台数据 + Quit 退出 + Edit 编辑 + Copy 复制 + Select all 全选 + Clear console output 清除控制台输出 + Communication mode 通讯方式 + Device sends JSON 设备发送JSON + Load JSON from computer 从计算机加载JSON + View 视图 + + Console 控制台 + Dashboard 仪表盘 @@ -1579,6 +1965,7 @@ 小部件 + Show setup pane 显示设置窗格 @@ -1591,66 +1978,83 @@ 显示菜单栏 + Exit full screen 退出全屏 + Enter full screen 进入全屏 + Autoscroll 自动滚屏 + Show timestamp 显示时间戳 + VT-100 emulation VT-100仿真 + Echo user commands 回显用户命令 + Display mode 可视化模式 + Normal (plain text) 普通(纯文本) + Binary (hexadecimal) 二进制(十六进制) + Line ending character 行尾字符 + Help 帮助 + + About %1 关于%1 + Auto-updater 自动更新 + Check for updates 检查更新 + Project website 项目网站 + Documentation/wiki 文档/维基 @@ -1659,10 +2063,12 @@ 打开日志文件 + Report bug 反馈问题 + Print 打印 @@ -1670,74 +2076,93 @@ MenubarMacOS + File 文件 + Select JSON file 选择JSON映射文件 + CSV export 导出CSV + Enable CSV export 启用CSV导出 + Show CSV in explorer 在资源管理器中显示CSV + Replay CSV 重播CSV + Export console output 导出控制台数据 + Quit 退出 + Edit 编辑 + Copy 复制 + Select all 全选 + Clear console output 清除控制台输出 + Communication mode VT-100仿真 + Device sends JSON 设备发送JSON + Load JSON from computer 从计算机加载JSON + View 视图 + + Console 控制台 + Dashboard 仪表盘 @@ -1746,70 +2171,88 @@ 小部件 + Show setup pane 显示设置窗格 + Exit full screen 退出全屏 + Enter full screen 进入全屏 + Autoscroll 自动滚屏 + Show timestamp 显示时间戳 + VT-100 emulation VT-100仿真 + Echo user commands 回显用户命令 + Display mode 可视化模式 + Normal (plain text) 普通(纯文本) + Binary (hexadecimal) 二进制(十六进制) + Line ending character 行尾字符 + Help 帮助 + + About %1 关于%1 + Auto-updater 自动更新 + Check for updates 检查更新 + Project website 项目网站 + Documentation/wiki 文档/维基 @@ -1818,10 +2261,12 @@ 打开日志文件 + Report bug 反馈问题 + Print 打印 @@ -1829,10 +2274,12 @@ Misc::MacExtras + Setup 设置 + Console 控制台 @@ -1841,6 +2288,7 @@ 小部件 + Dashboard 仪表盘 @@ -1868,17 +2316,30 @@ 渲染引擎的改变将在重新启动后生效 + + Unknown OS + + + + + The change will take effect after restart + + + + Do you want to restart %1 now? - 你现在想重新启动%1吗? + 你现在想重新启动%1吗? Misc::ThemeManager + The theme change will take effect after restart 主题变更将在重启后生效 + Do you want to restart %1 now? 你现在想重新启动%1吗? @@ -1886,82 +2347,102 @@ Misc::Utilities + Check for updates automatically? 自动检查更新? + Should %1 automatically check for updates? You can always check for updates manually from the "Help" menu %1是否应该自动检查更新? 您始终可以从“关于”对话框中手动检查更新 + Ok 好的 + Save 保存 + Save all 保存所有 + Open 打开 + Yes + Yes to all 全部选是 + No 没有 + No to all 全部选否 + Abort 中止 + Retry 重试 + Ignore 忽略 + Close 关闭 + Cancel 取消 + Discard 丢弃 + Help 帮助 + Apply 应用 + Reset 重置 + Restore defaults 恢复默认值 @@ -2000,6 +2481,7 @@ Network + Socket type 套接字类型 @@ -2008,6 +2490,7 @@ IP地址 + Port 端口 @@ -2024,26 +2507,32 @@ 服务器 + Multicast 组播 + Remote address 远程地址 + Local port 本地端口 + Type 0 for automatic port 写0,用于自动分配端口 + Remote port 远程端口 + Ignore data delimiters 忽略数据定界符 @@ -2066,21 +2555,432 @@ Plugins::Server + Unable to start plugin TCP server 无法启动插件TCP服务器 + Plugin server 插件服务器 + Invalid pending connection 无效的挂起连接 + + Project::CodeEditor + + + New + + + + + Open + 打开 + + + + Save + 保存 + + + + Undo + + + + + Redo + + + + + Cut + + + + + Copy + 复制 + + + + Paste + + + + + Help + 帮助 + + + + Customize frame parser + + + + + + + The document has been modified! + + + + + + Are you sure you want to continue? + + + + + Select Javascript file to import + + + + + Frame parser code updated successfully! + + + + + No errors have been detected in the code. + + + + + Frame parser error! + + + + + No parse() function has been declared! + + + + + Frame parser syntax error! + + + + + Error on line %1. + + + + + Generic error + + + + + Evaluation error + + + + + Range error + + + + + Reference error + + + + + Syntax error + + + + + Type error + + + + + URI error + + + + + Unknown error + 未知错误 + + + + Frame parser error detected! + + + + + Do you want to save the changes? + + + + + Project::Model + + + Dataset widgets + 数据项小部件 + + + + + Accelerometer + 加速度计 + + + + + Gyroscope + 陀螺仪 + + + + + GPS + 全球定位系统 + + + + Multiple data plot + 多个数据图表 + + + + None + + + + + Gauge + 仪表盘 + + + + Bar/level + 柱形图/级别 + + + + Compass + 指南针 + + + + New Project + 新项目 + + + + Do you want to save your changes? + 你想保存你的改动吗? + + + + You have unsaved modifications in this project! + 你在这个项目中有未保存的修改! + + + + Project error + 项目错误 + + + + Project title cannot be empty! + 项目标题不能是空的! + + + + Project error - Group %1 + Project error - Group %1 + + + + Group title cannot be empty! + 组的标题不能是空的! + + + + Project error - Group %1, Dataset %2 + 项目错误 - 组%1,数据项%2 + + + + Dataset title cannot be empty! + 数据项的标题不能是空的! + + + + Warning - Group %1, Dataset %2 + 警告 - 组 %1, 数据项 %2 + + + + Dataset contains duplicate frame index position! Continue? + 数据项包含重复的位置序号! 继续吗? + + + + Save JSON project + 保存JSON项目 + + + + File open error + 文件打开错误 + + + + Select JSON file + 选择JSON映射文件 + + + + New Group + 新组别 + + + + Delete group "%1" + 删除组"%1" + + + + Are you sure you want to delete this group? + 你确定要删除这个组吗? + + + + Are you sure you want to change the group-level widget? + 你确定你要改变组级小部件吗? + + + + Existing datasets for this group will be deleted + 该组的现有数据项将被删除 + + + + + + Accelerometer %1 + 加速度计%1 + + + + + + Gyro %1 + 陀螺仪 %1 + + + + Latitude + 纬度 + + + + Longitude + 经度 + + + + Altitude + 海拔 + + + + New dataset + 创建数据项 + + + + Delete dataset "%1" + 删除数据项"%1" + + + + Are you sure you want to delete this dataset? + 你确定要删除这个数据项吗? + + + + ProjectEditor + + JSON Editor - %1 + JSON编辑器 - %1 + + + Project title (required) + 项目名称(必填) + + + Data separator (default is ',') + 数据分隔符(默认为',') + + + Frame start sequence (default is '%1') + 帧开始顺序(默认为'%1') + + + Frame end sequence (default is '%1') + 帧结束序列(默认为'%1') + + + + Project Editor - %1 + + + + + Start something awesome + 开始做一些了不起的事情 + + + Click on the "%1" button to begin + 点击"%1 "按钮,开始 + + + Close + 关闭 + + + Add group + 添加组别 + + + Open existing project... + 打开现有的项目... + + + Create new project + 创建新项目 + + + Apply + 应用 + + + Save + 保存 + + + + Click on the "Add group" button to begin + 点击 "添加组 "按钮,开始 + + QObject + Failed to load welcome text :( 无法加载欢迎文本 @@ -2088,14 +2988,19 @@ QwtPlotRenderer + + + Documents 文档 + Images 图片 + Export File Name 输出文件名 @@ -2103,14 +3008,19 @@ QwtPolarRenderer + + + Documents 文档 + Images 图片 + Export File Name 输出文件名 @@ -2118,30 +3028,37 @@ Serial + COM Port COM端口 + Baud Rate 波特率 + Data Bits 数据位 + Parity 校验位 + Stop Bits 停止位 + Flow Control 流控位 + Auto-reconnect 自动重新连接 @@ -2220,32 +3137,41 @@ Settings + Language 语言 Start sequence - 启动顺序 + 启动顺序 End sequence - 完成顺序 + 完成顺序 + Plugin system 插件系统 + + Software rendering + + + + Applications/plugins can interact with %1 by establishing a TCP connection on port 7777. 通过在端口7777上建立TCP连接,应用程序/插件可以与%1进行交互。 + Theme 主题 Data separator - 数据分隔符 + 数据分隔符 UI refresh rate @@ -2264,6 +3190,7 @@ 多线程框架分析 + Custom window decorations 定制窗口装饰 @@ -2271,6 +3198,7 @@ Setup + Communication Mode 通信模式 @@ -2347,6 +3275,7 @@ CSV 播放器 + Create CSV file 创建CSV文件 @@ -2360,40 +3289,52 @@ Serial - 串行端口 + 串行端口 Network - 网络 + 网络 + Settings 设定值 + MQTT MQTT + Setup 设置 + No parsing (device sends JSON data) 不进行解析(设备发送JSON数据) + Parse via JSON project file 通过JSON项目文件进行解析 + Change project file (%1) 更改项目文件 (%1) + Select project file 选择项目文件 + + + Device + + Sidebar @@ -2413,22 +3354,27 @@ Terminal + Copy 复制 + Select all 全选 + Clear 删除 + Print 打印 + Save as 另存为 @@ -2441,22 +3387,27 @@ 显示菜单栏 + No data received so far 目前未收到任何数据 + Send data to device 发送数据到设备 + Echo 回声 + Autoscroll 自动滚屏 + Show timestamp 显示时间戳 @@ -2468,10 +3419,12 @@ 设备 + Console 控制台 + Dashboard 仪表盘 @@ -2496,29 +3449,39 @@ CSV 播放器 + Open CSV 打开CSV + Setup 设置 + + Project Editor + + + + Disconnect 断开 + Connect 连接 JSON Editor - JSON编辑器 + JSON编辑器 TreeView + JSON Project Tree JSON项目树 @@ -2526,6 +3489,7 @@ UI::Dashboard + Status Panel 状态面板 @@ -2533,6 +3497,7 @@ UI::DashboardWidget + Invalid 无效 @@ -2547,22 +3512,27 @@ Updater + Would you like to download the update now? 您要立即下载更新吗? + Would you like to download the update now? This is a mandatory update, exiting now will close the application 您要立即下载更新吗? 这是强制性更新,现在退出将关闭应用程序 + Version %1 of %2 has been released! %2的版本%1已发布! + No updates are available for the moment 目前没有可用的更新 + Congratulations! You are running the latest version of %1 恭喜你! 您正在运行最新版本的%1 @@ -2570,6 +3540,7 @@ ViewOptions + View 视图 @@ -2578,46 +3549,57 @@ 图形划分 (%1) + Datasets 数据项 + Multiple data plots 多种数据图表 + FFT plots FFT图 + Data plots 数据图表 + Bars 柱形图 + Gauges 角度计 + Compasses 指南针 + Gyroscopes 陀螺仪 + Accelerometers 加速度计 + GPS 全球定位系统 + LED Panels LED面板 @@ -2626,6 +3608,7 @@ 可视化选项 + Points: 点数: @@ -2634,14 +3617,17 @@ 小工具: + Visualization options 可视化选项 + Decimal places: 小数位: + Widget size: 部件大小: @@ -2649,6 +3635,7 @@ WidgetGrid + Data 数据 @@ -2667,10 +3654,12 @@ Widgets::FFTPlot + Samples 采样点 + FFT of %1 %1的FFT @@ -2701,10 +3690,12 @@ Widgets::MultiPlot + Unknown 未知 + Samples 采样点 @@ -2712,6 +3703,7 @@ Widgets::Plot + Samples 采样点 diff --git a/libs/Libraries.pri b/libs/Libraries.pri index 3246a9481..d27067556 100644 --- a/libs/Libraries.pri +++ b/libs/Libraries.pri @@ -46,7 +46,6 @@ include($$PWD/qwt/qwt.pri) include($$PWD/qtcsv/qtcsv.pri) include($$PWD/qmqtt/qmqtt.pri) include($$PWD/OpenSSL/OpenSSL.pri) -include($$PWD/QMapControl/QMapControl.pri) include($$PWD/QRealFourier/QRealFourier.pri) include($$PWD/QSimpleUpdater/QSimpleUpdater.pri) include($$PWD/QSourceHighlite/QSourceHighlite.pri) diff --git a/libs/QMapControl/COPYING b/libs/QMapControl/COPYING deleted file mode 100644 index 5b6e7c66c..000000000 --- a/libs/QMapControl/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/libs/QMapControl/COPYING.LESSER b/libs/QMapControl/COPYING.LESSER deleted file mode 100644 index 853047cf8..000000000 --- a/libs/QMapControl/COPYING.LESSER +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/libs/QMapControl/Doxyfile b/libs/QMapControl/Doxyfile deleted file mode 100644 index 9266916dd..000000000 --- a/libs/QMapControl/Doxyfile +++ /dev/null @@ -1,1528 +0,0 @@ -# Doxyfile 1.5.9 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = QMapControl - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = 0.9.7.4 - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = YES - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = . - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set -# FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = YES - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = YES - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = YES - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 26 - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = NO - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = NO - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = . - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.cpp \ - *.h - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = ./src/layermanager.cpp \ - ./src/layermanager.h \ - ./src/imagemanager.h \ - ./Samples/Mapviewer/src/mapviewer.h \ - ./Samples/Multidemo/src/gps_modul.cpp \ - ./Samples/Multidemo/src/gps_modul.h \ - ./Samples/Multidemo/src/multidemo.h \ - ./Samples/GPS/src/gps_neo.cpp \ - ./Samples/GPS/src/gps_neo.h \ - ./Samples/Citymap/src/citymap.h \ - ./Samples/Citymap/src/dialogs.h \ - ./Samples/Citymap/src/dialogs.cpp \ - ./Samples/Phonebook/src/phonebook.h \ - ./Samples/LinesAndPoints/src/linesandpoints.h - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = QDumper \ - GPS_Position - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = ./Samples - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = YES - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = ./images - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = QMapControl.tag - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = NO - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = NO - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 1000 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = YES - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = NO - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Options related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/libs/QMapControl/QMapControl.pri b/libs/QMapControl/QMapControl.pri deleted file mode 100644 index 8c5f38210..000000000 --- a/libs/QMapControl/QMapControl.pri +++ /dev/null @@ -1,63 +0,0 @@ -QT += gui -QT += network -QT += widgets - -VERSION = 0.9.7.9 - -INCLUDEPATH += $$PWD/src -DEFINES += QMAPCONTROL_PROJECT_INCLUDE_SRC - -HEADERS += $$PWD/src/curve.h \ - $$PWD/src/geometry.h \ - $$PWD/src/imagemanager.h \ - $$PWD/src/layer.h \ - $$PWD/src/layermanager.h \ - $$PWD/src/linestring.h \ - $$PWD/src/mapadapter.h \ - $$PWD/src/mapcontrol.h \ - $$PWD/src/mapnetwork.h \ - $$PWD/src/point.h \ - $$PWD/src/tilemapadapter.h \ - $$PWD/src/wmsmapadapter.h \ - $$PWD/src/circlepoint.h \ - $$PWD/src/imagepoint.h \ - $$PWD/src/gps_position.h \ - $$PWD/src/osmmapadapter.h \ - $$PWD/src/maplayer.h \ - $$PWD/src/geometrylayer.h \ - $$PWD/src/googlemapadapter.h \ - $$PWD/src/openaerialmapadapter.h \ - $$PWD/src/fixedimageoverlay.h \ - $$PWD/src/emptymapadapter.h \ - $$PWD/src/arrowpoint.h \ - $$PWD/src/invisiblepoint.h \ - $$PWD/src/qmapcontrol_global.h \ - $$PWD/src/bingapimapadapter.h \ - $$PWD/src/googleapimapadapter.h - -SOURCES += $$PWD/src/curve.cpp \ - $$PWD/src/geometry.cpp \ - $$PWD/src/imagemanager.cpp \ - $$PWD/src/layer.cpp \ - $$PWD/src/layermanager.cpp \ - $$PWD/src/linestring.cpp \ - $$PWD/src/mapadapter.cpp \ - $$PWD/src/mapcontrol.cpp \ - $$PWD/src/mapnetwork.cpp \ - $$PWD/src/point.cpp \ - $$PWD/src/tilemapadapter.cpp \ - $$PWD/src/wmsmapadapter.cpp \ - $$PWD/src/circlepoint.cpp \ - $$PWD/src/imagepoint.cpp \ - $$PWD/src/gps_position.cpp \ - $$PWD/src/osmmapadapter.cpp \ - $$PWD/src/maplayer.cpp \ - $$PWD/src/geometrylayer.cpp \ - $$PWD/src/googlemapadapter.cpp \ - $$PWD/src/openaerialmapadapter.cpp \ - $$PWD/src/fixedimageoverlay.cpp \ - $$PWD/src/arrowpoint.cpp \ - $$PWD/src/invisiblepoint.cpp \ - $$PWD/src/emptymapadapter.cpp \ - $$PWD/src/bingapimapadapter.cpp \ - $$PWD/src/googleapimapadapter.cpp diff --git a/libs/QMapControl/QMapControl.tag b/libs/QMapControl/QMapControl.tag deleted file mode 100644 index ba0a2638e..000000000 --- a/libs/QMapControl/QMapControl.tag +++ /dev/null @@ -1,1265 +0,0 @@ - - - - QObject - classQObject.html - - - QWidget - classQWidget.html - - - qmapcontrol - namespaceqmapcontrol.html - qmapcontrol::ArrowPoint - qmapcontrol::CirclePoint - qmapcontrol::Curve - qmapcontrol::EmptyMapAdapter - qmapcontrol::FixedImageOverlay - qmapcontrol::Geometry - qmapcontrol::GeometryLayer - qmapcontrol::GoogleMapAdapter - qmapcontrol::GPS_Position - qmapcontrol::ImagePoint - qmapcontrol::InvisiblePoint - qmapcontrol::Layer - qmapcontrol::LineString - qmapcontrol::MapAdapter - qmapcontrol::MapControl - qmapcontrol::MapLayer - qmapcontrol::MapNetwork - qmapcontrol::OpenAerialMapAdapter - qmapcontrol::OSMMapAdapter - qmapcontrol::Point - qmapcontrol::TileMapAdapter - qmapcontrol::WMSMapAdapter - qmapcontrol::YahooMapAdapter - - - qmapcontrol::ArrowPoint - classqmapcontrol_1_1ArrowPoint.html - qmapcontrol::Point - - - Alignment - classqmapcontrol_1_1Point.html - acdfaca60ec19c0265bac2692d7982726 - - - - @ - TopLeft - classqmapcontrol_1_1Point.html - acdfaca60ec19c0265bac2692d7982726a61f66ddc6702462a94d3e231f02b9017 - - - - @ - TopRight - classqmapcontrol_1_1Point.html - acdfaca60ec19c0265bac2692d7982726a7e42a96f07eab63a8c9fa8a0526f34f4 - - - - @ - TopMiddle - classqmapcontrol_1_1Point.html - acdfaca60ec19c0265bac2692d7982726aaf2dc2d869f46c11d4c97c6649b2087a - - - - @ - BottomLeft - classqmapcontrol_1_1Point.html - acdfaca60ec19c0265bac2692d7982726ae61b9b6ea2fa75ca500d5bb1eaf6f6fc - - - - @ - BottomRight - classqmapcontrol_1_1Point.html - acdfaca60ec19c0265bac2692d7982726a1640f649d644701a2f4633e6bd88b20c - - - - @ - BottomMiddle - classqmapcontrol_1_1Point.html - acdfaca60ec19c0265bac2692d7982726a6165fc7e37a746212ab2911513d3781f - - - - @ - Middle - classqmapcontrol_1_1Point.html - acdfaca60ec19c0265bac2692d7982726a673e6efef9aafe98078c5552e99c923c - - - - void - geometryClicked - classqmapcontrol_1_1Geometry.html - a685dcab83356e5cc449475f177bb487d - (Geometry *geometry, QPoint point) - - - void - positionChanged - classqmapcontrol_1_1Geometry.html - a807f9cfb1b9d680ca76cf825cc9cf46a - (Geometry *geom) - - - - ArrowPoint - classqmapcontrol_1_1ArrowPoint.html - a841a287c3d99b6e796442168cbc96cc8 - (qreal x, qreal y, int sideLength, qreal heading, QString name=QString(), Alignment alignment=Middle, QPen *pen=0) - - - virtual QRectF - boundingBox - classqmapcontrol_1_1Point.html - acbb256b5f9f888e9cd3bb475108ece24 - () - - - QPointF - coordinate - classqmapcontrol_1_1Point.html - a2fbb44b2ed047287d715484d2fda7299 - () const - - - bool - Equals - classqmapcontrol_1_1Geometry.html - a029a8b50c439c719aac173bffe4cfb71 - (Geometry *geom) - - - qreal - getHeading - classqmapcontrol_1_1ArrowPoint.html - a5c08ef7caea74bc61c2fee079f45be43 - () const - - - bool - isVisible - classqmapcontrol_1_1Geometry.html - a08422ee75ab02691943c1ca87e2bc563 - () const - - - qreal - latitude - classqmapcontrol_1_1Point.html - a6311aabecac471455760aae4790cff91 - () const - - - qreal - longitude - classqmapcontrol_1_1Point.html - a2b0f7ec9068af09bcf151af61a785845 - () const - - - QString - name - classqmapcontrol_1_1Geometry.html - a2b0a198f837184bf6fff555cee3ce770 - () const - - - Geometry * - parentGeometry - classqmapcontrol_1_1Geometry.html - a771cc513dc079219d5da2c4b81019d7c - () const - - - QPen * - pen - classqmapcontrol_1_1Geometry.html - aed7be2fcd2c1d7bccb55f5ac73d7a662 - () const - - - QPixmap - pixmap - classqmapcontrol_1_1Point.html - ae781b15ef7d46695b2a7d2855b3f670f - () - - - void - setBaselevel - classqmapcontrol_1_1Point.html - a91f1496833bfda9f7a7ec5fcb02a1895 - (int zoomlevel) - - - void - setHeading - classqmapcontrol_1_1ArrowPoint.html - a553a63cdc0e822aaf3f324d23b86cec7 - (qreal heading) - - - void - setMaxsize - classqmapcontrol_1_1Point.html - adc2724c4e195727b823ff55c940283de - (QSize maxsize) - - - void - setMinsize - classqmapcontrol_1_1Point.html - ac40b3e44f54fab1330b9309ac7bd84d2 - (QSize minsize) - - - void - setName - classqmapcontrol_1_1Geometry.html - a6220fae15759fd0fa7d75e415df34e83 - (QString name) - - - virtual void - setPen - classqmapcontrol_1_1ArrowPoint.html - aa92f0f1b5d2fd424196a33012ffe8ea1 - (QPen *pen) - - - QString - toString - classqmapcontrol_1_1Geometry.html - a3a013a6edb6d10a71297978bc31a796b - () - - - QWidget * - widget - classqmapcontrol_1_1Point.html - ad1eaabeb2b227cd055ccf4b4e2818480 - () - - - virtual bool - Touches - classqmapcontrol_1_1Point.html - a7dee2100a2d2056511aca25c9390d253 - (Point *click, const MapAdapter *mapadapter) - - - - qmapcontrol::CirclePoint - classqmapcontrol_1_1CirclePoint.html - qmapcontrol::Point - - - CirclePoint - classqmapcontrol_1_1CirclePoint.html - aa0dd3496708e507c8185d5ae5f5e79ad - (qreal x, qreal y, QString name=QString(), Alignment alignment=Middle, QPen *pen=0) - - - - CirclePoint - classqmapcontrol_1_1CirclePoint.html - a13300765d52da11cc8cbb4384e8e9e23 - (qreal x, qreal y, int radius=10, QString name=QString(), Alignment alignment=Middle, QPen *pen=0) - - - virtual void - setPen - classqmapcontrol_1_1CirclePoint.html - aa92f0f1b5d2fd424196a33012ffe8ea1 - (QPen *pen) - - - - qmapcontrol::Curve - classqmapcontrol_1_1Curve.html - qmapcontrol::Geometry - - virtual void - setVisible - classqmapcontrol_1_1Geometry.html - a18e44e30b31525a243960ca3928125aa - (bool visible) - - - virtual QRectF - boundingBox - classqmapcontrol_1_1Geometry.html - af92c4fa46f711bea92efe5ab80f9084d - ()=0 - - - - qmapcontrol::EmptyMapAdapter - classqmapcontrol_1_1EmptyMapAdapter.html - qmapcontrol::MapAdapter - - virtual void - changeHostAddress - classqmapcontrol_1_1MapAdapter.html - a7807022d8586d6d050541d2344eb12cb - (const QString qHost, const QString qServerPath=QString()) - - - virtual QPoint - coordinateToDisplay - classqmapcontrol_1_1EmptyMapAdapter.html - a94134b06e350d302f5b3a63f0016aa60 - (const QPointF &) const - - - int - currentZoom - classqmapcontrol_1_1MapAdapter.html - a8c7b803b9faa35db237e40c361e1c036 - () const - - - virtual QPointF - displayToCoordinate - classqmapcontrol_1_1EmptyMapAdapter.html - a601b4631d9d891eabffb063c510cc088 - (const QPoint &) const - - - - EmptyMapAdapter - classqmapcontrol_1_1EmptyMapAdapter.html - a9208e1a9da209564f85a50318cda7310 - (int tileSize=256, int minZoom=0, int maxZoom=17) - - - QString - host - classqmapcontrol_1_1MapAdapter.html - a7ee8388c7880d8a3466967464f5034b6 - () const - - - int - maxZoom - classqmapcontrol_1_1MapAdapter.html - a3a33e897bc474405772d17a7c81f8747 - () const - - - int - minZoom - classqmapcontrol_1_1MapAdapter.html - a7457f51db57914a85bbefcc8c9fa97b4 - () const - - - virtual QString - serverPath - classqmapcontrol_1_1MapAdapter.html - a12436fe3d5d3cac5930f5b50fb508d36 - () const - - - int - tilesize - classqmapcontrol_1_1MapAdapter.html - af105c5a0cf588a3f60d67744bd353391 - () const - - - - qmapcontrol::FixedImageOverlay - classqmapcontrol_1_1FixedImageOverlay.html - qmapcontrol::ImagePoint - - - FixedImageOverlay - classqmapcontrol_1_1FixedImageOverlay.html - a621806ec022f1b35a2383b64787a5827 - (qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QString filename, QString name=QString()) - - - - FixedImageOverlay - classqmapcontrol_1_1FixedImageOverlay.html - aa5c420b6584232328fc12d8bc699129c - (qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QPixmap pixmap, QString name=QString()) - - - - qmapcontrol::Geometry - classqmapcontrol_1_1Geometry.html - QObject - - - qmapcontrol::GeometryLayer - classqmapcontrol_1_1GeometryLayer.html - qmapcontrol::Layer - - - LayerType - classqmapcontrol_1_1Layer.html - a56943a0946e5f15e5e58054b8e7a04a4 - - - - @ - MapLayer - classqmapcontrol_1_1Layer.html - a56943a0946e5f15e5e58054b8e7a04a4afe7df421203e4175d260b8dabcbe3002 - - - - @ - GeometryLayer - classqmapcontrol_1_1Layer.html - a56943a0946e5f15e5e58054b8e7a04a4a6c04bd58c42df8a7539aba782503fee0 - - - - void - setVisible - classqmapcontrol_1_1Layer.html - a18e44e30b31525a243960ca3928125aa - (bool visible) - - - void - geometryClicked - classqmapcontrol_1_1Layer.html - a685dcab83356e5cc449475f177bb487d - (Geometry *geometry, QPoint point) - - - void - addGeometry - classqmapcontrol_1_1Layer.html - ab692d7d08414ed2b744946b88872827f - (Geometry *geometry) - - - void - clearGeometries - classqmapcontrol_1_1Layer.html - acb2413f25e560a0cfadb7128d5af99b0 - (bool qDeleteObject=false) - - - bool - containsGeometry - classqmapcontrol_1_1Layer.html - a0b0b1de1c0e21dbec196d11b336628f4 - (Geometry *geometry) - - - - GeometryLayer - classqmapcontrol_1_1GeometryLayer.html - a64e2ab047db14f0d86424bee947c94af - (QString layername, MapAdapter *mapadapter, bool takeevents=true) - - - QList< Geometry * > & - getGeometries - classqmapcontrol_1_1Layer.html - ae5f0dce6ce743e714b314f95a6305908 - () - - - bool - isVisible - classqmapcontrol_1_1Layer.html - a08422ee75ab02691943c1ca87e2bc563 - () const - - - QString - layername - classqmapcontrol_1_1Layer.html - a414e94fdd70490d75ddccb6923ae3410 - () const - - - Layer::LayerType - layertype - classqmapcontrol_1_1Layer.html - a1cfbd8a5c27cf9cb400fa458a1f70ba5 - () const - - - MapAdapter * - mapadapter - classqmapcontrol_1_1Layer.html - a732b5e9de3b67ed69aa7dd165c9778d6 - () - - - void - removeGeometry - classqmapcontrol_1_1Layer.html - af2a2f7fec3f6e5fbf623f466a961bfb7 - (Geometry *geometry, bool qDeleteObject=false) - - - void - sendGeometryToBack - classqmapcontrol_1_1Layer.html - a4a6d2f001e34be8d424ccfb45b8d7622 - (Geometry *geometry) - - - void - sendGeometryToFront - classqmapcontrol_1_1Layer.html - a42afc531c673c3adc2e38fae58f87d52 - (Geometry *geometry) - - - - qmapcontrol::GoogleMapAdapter - classqmapcontrol_1_1GoogleMapAdapter.html - qmapcontrol::TileMapAdapter - - virtual QPoint - coordinateToDisplay - classqmapcontrol_1_1TileMapAdapter.html - a94134b06e350d302f5b3a63f0016aa60 - (const QPointF &) const - - - virtual QPointF - displayToCoordinate - classqmapcontrol_1_1TileMapAdapter.html - a601b4631d9d891eabffb063c510cc088 - (const QPoint &) const - - - - GoogleMapAdapter - classqmapcontrol_1_1GoogleMapAdapter.html - a95b487b1cc18726c8adcba0450209a31 - (googleLayerType qLayerType=maps) - - - - qmapcontrol::ImagePoint - classqmapcontrol_1_1ImagePoint.html - qmapcontrol::Point - - - ImagePoint - classqmapcontrol_1_1ImagePoint.html - aa5121dbb37cf1b8924a376e4c7edd728 - (qreal x, qreal y, QString filename, QString name=QString(), Alignment alignment=Middle) - - - - ImagePoint - classqmapcontrol_1_1ImagePoint.html - a5859a1a7467f65a24ef7009acb927446 - (qreal x, qreal y, QPixmap pixmap, QString name=QString(), Alignment alignment=Middle) - - - - qmapcontrol::InvisiblePoint - classqmapcontrol_1_1InvisiblePoint.html - qmapcontrol::Point - - - InvisiblePoint - classqmapcontrol_1_1InvisiblePoint.html - a85a9b75f7ffc4fdf3552632ac093bac4 - (qreal x, qreal y, QString name=QString()) - - - - InvisiblePoint - classqmapcontrol_1_1InvisiblePoint.html - a87487e17524b00f90d27ac2b097f057a - (qreal x, qreal y, int width=10, int height=10, QString name=QString()) - - - - InvisiblePoint - classqmapcontrol_1_1InvisiblePoint.html - a7285bca61d6639979ee51aae1584c286 - (qreal x, qreal y, int sideLength=10, QString name=QString()) - - - - qmapcontrol::Layer - classqmapcontrol_1_1Layer.html - QObject - - - Layer - classqmapcontrol_1_1Layer.html - a7ffb001076dc500ad13e523836bda23d - (QString layername, MapAdapter *mapadapter, enum LayerType layertype, bool takeevents=true) - - - - qmapcontrol::LineString - classqmapcontrol_1_1LineString.html - qmapcontrol::Curve - - void - addPoint - classqmapcontrol_1_1LineString.html - a8694ab9a03b0ed4986c98ad727755f8a - (Point *point) - - - virtual QRectF - boundingBox - classqmapcontrol_1_1LineString.html - acbb256b5f9f888e9cd3bb475108ece24 - () - - - virtual QList< Geometry * > & - clickedPoints - classqmapcontrol_1_1LineString.html - a3dc2e4e852bf89971b5e2660720745f4 - () - - - virtual bool - hasClickedPoints - classqmapcontrol_1_1LineString.html - a3f7357f0362b6bee75f8c8c623fb528e - () const - - - virtual bool - hasPoints - classqmapcontrol_1_1LineString.html - ac3fc4ac8c80b5bf64c0bf095d7fde94b - () const - - - - LineString - classqmapcontrol_1_1LineString.html - ad8efdad1cc0ff6c63357cb72180c3a0a - (QList< Point * > const points, QString name=QString(), QPen *pen=0) - - - int - numberOfPoints - classqmapcontrol_1_1LineString.html - a06b5ac0b597b8d1cb7e8817f7e66c2eb - () const - - - QList< Point * > - points - classqmapcontrol_1_1LineString.html - a18d4d26904bca7c54fb9d2a1b054c2fb - () - - - void - setPoints - classqmapcontrol_1_1LineString.html - a6af8f478f54e6704e87dcf184a258a8c - (QList< Point * > points) - - - - qmapcontrol::MapAdapter - classqmapcontrol_1_1MapAdapter.html - QObject - - virtual QPoint - coordinateToDisplay - classqmapcontrol_1_1MapAdapter.html - a0a7f30d12395e615eec9440070795349 - (const QPointF &coordinate) const =0 - - - virtual QPointF - displayToCoordinate - classqmapcontrol_1_1MapAdapter.html - aa26c33260233907672b1b23f4b1fd033 - (const QPoint &point) const =0 - - - - qmapcontrol::MapControl - classqmapcontrol_1_1MapControl.html - QWidget - - - MouseMode - classqmapcontrol_1_1MapControl.html - a034ae8169a2202325de4ef39ffd3e431 - - - - @ - Panning - classqmapcontrol_1_1MapControl.html - a034ae8169a2202325de4ef39ffd3e431ae105bcd8daf776fd01704a7186c49608 - - - - @ - Dragging - classqmapcontrol_1_1MapControl.html - a034ae8169a2202325de4ef39ffd3e431aea74c0c82481d6d724a43536424e3977 - - - - @ - None - classqmapcontrol_1_1MapControl.html - a034ae8169a2202325de4ef39ffd3e431ac9d3e887722f2bc482bcca9d41c512af - - - - void - resize - classqmapcontrol_1_1MapControl.html - a148f8aec7ea97e2e465cf2bd979846ab - (const QSize newSize) - - - void - scroll - classqmapcontrol_1_1MapControl.html - a527394cb8e8aa2d77f7a50a07b9e9f3e - (const QPoint scroll) - - - void - scrollDown - classqmapcontrol_1_1MapControl.html - a51db121d79cb0a651a7441b98bb7d7a9 - (int pixel=10) - - - void - scrollLeft - classqmapcontrol_1_1MapControl.html - a02f3bf431288e7ed34ecc59f7b8de996 - (int pixel=10) - - - void - scrollRight - classqmapcontrol_1_1MapControl.html - a216e70011cb465e61e2992d761f568df - (int pixel=10) - - - void - scrollUp - classqmapcontrol_1_1MapControl.html - aed27d1373fd9e05fb86fa319df4fe375 - (int pixel=10) - - - void - setZoom - classqmapcontrol_1_1MapControl.html - abb4bd8d8137d16816838c97d32407f39 - (int zoomlevel) - - - void - updateRequest - classqmapcontrol_1_1MapControl.html - a5cb68a198a28000fec8b7de1064d0a41 - (QRect rect) - - - void - updateRequestNew - classqmapcontrol_1_1MapControl.html - acf37bc294477796509e00e8f546fbd44 - () - - - void - zoomIn - classqmapcontrol_1_1MapControl.html - a7d7e315e34a66d9a66022d31635e7aca - () - - - void - zoomOut - classqmapcontrol_1_1MapControl.html - a72d29d38d8dd2c091cdd7078e1364f25 - () - - - void - boxDragged - classqmapcontrol_1_1MapControl.html - a1fd82da86a16f8932d45f4a0cadb60d1 - (const QRectF) - - - void - geometryClicked - classqmapcontrol_1_1MapControl.html - acc9ddd8e1721682682f85e73dae5f768 - (Geometry *geometry, QPoint coord_px) - - - void - mouseEventCoordinate - classqmapcontrol_1_1MapControl.html - aa463d9dfa43fa385b48aab115d374637 - (const QMouseEvent *evnt, const QPointF coordinate) - - - void - viewChanged - classqmapcontrol_1_1MapControl.html - a2c7862f1cb1b73192e3f4922eaac248d - (const QPointF &coordinate, int zoom) const - - - void - addLayer - classqmapcontrol_1_1MapControl.html - a87c6ef3c45ee9c21e173db2aa16cf567 - (Layer *layer) - - - QPointF - currentCoordinate - classqmapcontrol_1_1MapControl.html - a010c83996ab94a3db104aecf0550d480 - () const - - - int - currentZoom - classqmapcontrol_1_1MapControl.html - a8c7b803b9faa35db237e40c361e1c036 - () const - - - void - enableMouseWheelEvents - classqmapcontrol_1_1MapControl.html - a0020f498f44618941e35c9cd7368dcd7 - (bool enabled=true) - - - void - enablePersistentCache - classqmapcontrol_1_1MapControl.html - a47398dba0f1da60f1e80bcdd4286765a - (int tileExpiry=-1, const QDir &path=QDir::homePath()+"/QMapControl.cache") - - - void - followGeometry - classqmapcontrol_1_1MapControl.html - a6f7a69381097c74928af4ab3aa970386 - (const Geometry *geometry) const - - - QRectF - getBoundingBox - classqmapcontrol_1_1MapControl.html - ab06601b3a0eddcb0bf4d56deb74d8a3d - () - - - QRectF - getViewport - classqmapcontrol_1_1MapControl.html - ac8185831c1b2df6c0db6b19897be0450 - () - - - bool - isBoundingBoxEnabled - classqmapcontrol_1_1MapControl.html - a74f59e58143713bc1776b111f3bf9baa - () - - - bool - isGeometryVisible - classqmapcontrol_1_1MapControl.html - a81804b97ecc3e2fff3a64314ff866587 - (Geometry *geometry) - - - Layer * - layer - classqmapcontrol_1_1MapControl.html - a8e22ad201cb035fda7d7fefd8f348b11 - (const QString &layername) const - - - QList< QString > - layers - classqmapcontrol_1_1MapControl.html - aee9467ec4674af32aed2fbeb1175e0b5 - () const - - - int - loadingQueueSize - classqmapcontrol_1_1MapControl.html - a719be06d19c5beef2f271438e40b2651 - () - - - - MapControl - classqmapcontrol_1_1MapControl.html - a7850f3ec2dfcc0f8e436c8253e479222 - (QWidget *parent=0, Qt::WindowFlags windowFlags=0) - - - - MapControl - classqmapcontrol_1_1MapControl.html - a1a23dc4a4eb95a63ba65e3b4a79b410d - (QSize size, MouseMode mousemode=Panning, bool showScale=false, bool showCrosshairs=true, QWidget *parent=0, Qt::WindowFlags windowFlags=0) - - - MapControl::MouseMode - mouseMode - classqmapcontrol_1_1MapControl.html - a9106ab9dcac042b57fc4e797c94d84dc - () - - - bool - mouseWheelEventsEnabled - classqmapcontrol_1_1MapControl.html - a39f5b4d70b45b5e61167f7554598b41d - () - - - void - moveTo - classqmapcontrol_1_1MapControl.html - af7e3575f01f98a4096ccf48ac6bd4a50 - (QPointF coordinate) - - - int - numberOfLayers - classqmapcontrol_1_1MapControl.html - af3950823abbdf717124c279a386ca280 - () const - - - void - removeLayer - classqmapcontrol_1_1MapControl.html - ae329061c3d6e1a3ae29d047f0ddc68de - (Layer *layer) - - - void - setBoundingBox - classqmapcontrol_1_1MapControl.html - a852552cdefde98119bd73178df0abd64 - (QRectF &rect) - - - void - setMouseMode - classqmapcontrol_1_1MapControl.html - a346037e336da8525fe41ec30bf216d82 - (MouseMode mousemode) - - - void - setProxy - classqmapcontrol_1_1MapControl.html - a85482ec99b8367726541cfdb51994e98 - (QString host, int port, const QString username=QString(), const QString password=QString()) - - - void - setUseBoundingBox - classqmapcontrol_1_1MapControl.html - adce5194636e5ffd37ddc2ce5cd8e6e5d - (bool usebounds) - - - void - setView - classqmapcontrol_1_1MapControl.html - ab10ff3e8fed3a535de2a435ab1db48fb - (const QPointF &coordinate) const - - - void - setView - classqmapcontrol_1_1MapControl.html - ac837e5df11959daca31bd1d01d12b94c - (const QList< QPointF > coordinates) const - - - void - setView - classqmapcontrol_1_1MapControl.html - a4ea85421ec8df905fba209510c909e2c - (const Point *point) const - - - void - setViewAndZoomIn - classqmapcontrol_1_1MapControl.html - ae8c52337a968729d53c1ba57bfd65ea4 - (const QList< QPointF > coordinates) const - - - void - showScale - classqmapcontrol_1_1MapControl.html - aed8a66d91a8f5fe5e6d02c4e4327eaa8 - (bool visible) - - - void - stopFollowing - classqmapcontrol_1_1MapControl.html - ab95e8ed0a669d1669000786f880d16a3 - (const Geometry *geometry) const - - - void - updateView - classqmapcontrol_1_1MapControl.html - ab43fe107b5cec09d559630d5a6a789e2 - () const - - - - qmapcontrol::MapLayer - classqmapcontrol_1_1MapLayer.html - qmapcontrol::Layer - - - MapLayer - classqmapcontrol_1_1MapLayer.html - ac50a4fcff04c6859ce5601543b8ac821 - (QString layername, MapAdapter *mapadapter, bool takeevents=true) - - - - qmapcontrol::MapNetwork - classqmapcontrol_1_1MapNetwork.html - QObject - - void - abortLoading - classqmapcontrol_1_1MapNetwork.html - a882eed9a0b1403a74d494d0a50c0ea61 - () - - - bool - imageIsLoading - classqmapcontrol_1_1MapNetwork.html - a8a715c8ceb27e448bd81606ab33e4bb4 - (QString url) - - - int - loadQueueSize - classqmapcontrol_1_1MapNetwork.html - ae759808f4d89e825b69945dc72130058 - () const - - - QNetworkAccessManager * - nextFreeHttp - classqmapcontrol_1_1MapNetwork.html - a5dae61e2e5fabf9e40d933768101da18 - () - - - - qmapcontrol::OpenAerialMapAdapter - classqmapcontrol_1_1OpenAerialMapAdapter.html - qmapcontrol::TileMapAdapter - - - OpenAerialMapAdapter - classqmapcontrol_1_1OpenAerialMapAdapter.html - a8b9f8f912aa1bf34e1b4d11e7dfec394 - () - - - - qmapcontrol::OSMMapAdapter - classqmapcontrol_1_1OSMMapAdapter.html - qmapcontrol::TileMapAdapter - - - OSMMapAdapter - classqmapcontrol_1_1OSMMapAdapter.html - ab6f5dd078b96030385b14d2a5d777092 - () - - - - qmapcontrol::Point - classqmapcontrol_1_1Point.html - qmapcontrol::Geometry - - - Point - classqmapcontrol_1_1Point.html - a47257eee92b14e7c7f9b778c67bcb9a5 - (qreal x, qreal y, QString name=QString(), enum Alignment alignment=Middle) - - - - Point - classqmapcontrol_1_1Point.html - aa1767675df0bc3c13c75b3a48241125e - (qreal x, qreal y, QWidget *widget, QString name=QString(), enum Alignment alignment=Middle) - - - - Point - classqmapcontrol_1_1Point.html - a2a5d75301b8d2fd2ed406bddd0835740 - (qreal x, qreal y, QPixmap pixmap, QString name=QString(), enum Alignment alignment=Middle) - - - - qmapcontrol::TileMapAdapter - classqmapcontrol_1_1TileMapAdapter.html - qmapcontrol::MapAdapter - - - TileMapAdapter - classqmapcontrol_1_1TileMapAdapter.html - a1233007f4393d3ae476a5284f9294e8c - (const QString &host, const QString &serverPath, int tilesize, int minZoom=0, int maxZoom=17) - - - - qmapcontrol::WMSMapAdapter - classqmapcontrol_1_1WMSMapAdapter.html - qmapcontrol::MapAdapter - - virtual void - changeHostAddress - classqmapcontrol_1_1WMSMapAdapter.html - a7807022d8586d6d050541d2344eb12cb - (const QString qHost, const QString qServerPath=QString()) - - - virtual QPoint - coordinateToDisplay - classqmapcontrol_1_1WMSMapAdapter.html - a94134b06e350d302f5b3a63f0016aa60 - (const QPointF &) const - - - virtual QPointF - displayToCoordinate - classqmapcontrol_1_1WMSMapAdapter.html - a601b4631d9d891eabffb063c510cc088 - (const QPoint &) const - - - virtual QString - serverPath - classqmapcontrol_1_1WMSMapAdapter.html - a12436fe3d5d3cac5930f5b50fb508d36 - () const - - - - WMSMapAdapter - classqmapcontrol_1_1WMSMapAdapter.html - a0bfce681fddbae34a9fae6fc8c2f0a38 - (QString host, QString serverPath, int tilesize=256) - - - - qmapcontrol::YahooMapAdapter - classqmapcontrol_1_1YahooMapAdapter.html - qmapcontrol::TileMapAdapter - - - YahooMapAdapter - classqmapcontrol_1_1YahooMapAdapter.html - a9755050f27b44221d3e473b1cebd70cf - () - - - - src - D:/Dev/QMapControl/QMapControl/src/ - dir_68267d1309a1af8e8297ef4c3efbcdba.html - arrowpoint.cpp - arrowpoint.h - circlepoint.cpp - circlepoint.h - curve.cpp - curve.h - emptymapadapter.cpp - emptymapadapter.h - fixedimageoverlay.cpp - fixedimageoverlay.h - geometry.cpp - geometry.h - geometrylayer.cpp - geometrylayer.h - googlemapadapter.cpp - googlemapadapter.h - gps_position.cpp - gps_position.h - imagemanager.cpp - imagepoint.cpp - imagepoint.h - invisiblepoint.cpp - invisiblepoint.h - layer.cpp - layer.h - linestring.cpp - linestring.h - mapadapter.cpp - mapadapter.h - mapcontrol.cpp - mapcontrol.h - maplayer.cpp - maplayer.h - mapnetwork.cpp - mapnetwork.h - openaerialmapadapter.cpp - openaerialmapadapter.h - osmmapadapter.cpp - osmmapadapter.h - point.cpp - point.h - qmapcontrol_global.h - tilemapadapter.cpp - tilemapadapter.h - wmsmapadapter.cpp - wmsmapadapter.h - yahoomapadapter.cpp - yahoomapadapter.h - - diff --git a/libs/QMapControl/Samples/Citymap/Citymap.pro b/libs/QMapControl/Samples/Citymap/Citymap.pro deleted file mode 100644 index 23356ace0..000000000 --- a/libs/QMapControl/Samples/Citymap/Citymap.pro +++ /dev/null @@ -1,19 +0,0 @@ -include(../../QMapControl.pri) -DEPENDPATH += src -MOC_DIR = tmp -OBJECTS_DIR = obj -DESTDIR = ../bin -TARGET = Citymap - -QT+=network -QT+=gui - -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -greaterThan(QT_MAJOR_VERSION, 4): cache() - -# Input -SOURCES += src/citymap.cpp \ - src/main.cpp \ - src/dialogs.cpp -HEADERS += src/citymap.h \ - src/dialogs.h diff --git a/libs/QMapControl/Samples/Citymap/Readme b/libs/QMapControl/Samples/Citymap/Readme deleted file mode 100644 index 5103e98f8..000000000 --- a/libs/QMapControl/Samples/Citymap/Readme +++ /dev/null @@ -1,5 +0,0 @@ -This demo appclication shows more features of the QMapControl. It shows images, which changes its size when changing the zoomlevel. You can display/hide layers and choose different map providers. Also it demonstrates more possibilities for user interaction: - -- notes can be added to any coordinate (a QTextEdit is used for editing the note) -- the user can measure distances between two points - diff --git a/libs/QMapControl/Samples/Citymap/citymap.kdevelop b/libs/QMapControl/Samples/Citymap/citymap.kdevelop deleted file mode 100644 index b9802ef21..000000000 --- a/libs/QMapControl/Samples/Citymap/citymap.kdevelop +++ /dev/null @@ -1,219 +0,0 @@ - - - - Kai Winter - kaiwinter@gmx.de - 0.9.3 - KDevTrollProject - C++ - - Qt - - - Citymap - . - false - - - - - - - - - - - false - false - - - false - *.o,*.lo,CVS - - - - - true - 4 - 4 - ExternalDesigner - /usr/lib/qt4/bin/qmake - /usr/lib/qt4/bin - /usr/lib/qt4 - - - - false - true - true - 250 - 400 - 250 - false - 0 - true - true - false - std=_GLIBCXX_STD;__gnu_cxx=std - true - false - false - false - false - true - true - false - .; - - - - set - m_,_ - theValue - true - true - - - false - true - Vertical - - - QMapControl - Qt4 - - - - - bash - bash_bugs - clanlib - fortran_bugs_gcc - gnome1 - gnustep - gtk - gtk_bugs - haskell - haskell_bugs_ghc - java_bugs_gcc - java_bugs_sun - kde2book - opengl - pascal_bugs_fp - php - php_bugs - perl - perl_bugs - python - python_bugs - qt-kdev3 - ruby - ruby_bugs - sdl - stl - sw - w3c-dom-level2-html - w3c-svg - w3c-uaag10 - wxwidgets_bugs - - - KDE Libraries (Doxygen) - - - - - - - - /usr/bin/gdb - true - false - false - - - - false - - - false - true - 10 - - - - - - ./bin/Citymap - - executable - - ./bin/ - true - false - false - false - false - - - - - - - true - false - 1 - false - - 0 - - - - 2 - false - true - false - - - - - - - - - - - - - - - - - - Doxygen Documentation Collection - citymap.tag - - - - - Citymap - citymap - Citymap - CITYMAP - Kai Winter - /usr/lib/qt4/bin - kaiwinter@gmx.de - GPL - COPYING - /usr/lib/qt4/bin - 0.9.3 - 2008 - . - - - - .h - .cpp - - - diff --git a/libs/QMapControl/Samples/Citymap/src/citymap.cpp b/libs/QMapControl/Samples/Citymap/src/citymap.cpp deleted file mode 100644 index 188a14b12..000000000 --- a/libs/QMapControl/Samples/Citymap/src/citymap.cpp +++ /dev/null @@ -1,647 +0,0 @@ -/*! - * \example citymap.cpp - * This demo appclication shows more features of the QMapControl. - * It shows images, which changes its size when changing the zoomlevel. - * You can display/hide layers and choose different map providers. - * Also it demonstrates more possibilities for user interaction:
- * - notes can be added to any coordinate (a QTextEdit is used for editing the note)
- * - the user can measure distances between two points - * - * \image html sample_citymap.png "screenshot" - */ - -#include "citymap.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -Citymap::Citymap(QWidget *) -{ - // create MapControl - mc = new MapControl(QSize(380, 540)); - mc->showScale(true); - // display the MapControl in the application - QVBoxLayout *layout = new QVBoxLayout; - layout->addWidget(mc); - layout->setContentsMargins(0, 0, 0, 0); - - QWidget *w = new QWidget(); - w->setLayout(layout); - setCentralWidget(w); - - notepixmap = new QPixmap(QApplication::applicationDirPath() + "/images/note.png"); - - coord1 = QPointF(); - coord2 = QPointF(); - mapadapter = new OSMMapAdapter(); - - // create a layer with the mapadapter and type MapLayer - l = new MapLayer("Custom Layer", mapadapter); - - mc->addLayer(l); - - notes = new GeometryLayer("Notes", mapadapter); - - createTours(); - addSights(); - addPubs(); - addMuseums(); - - addZoomButtons(); - createActions(); - createMenus(); - - connect(mc, SIGNAL(viewChanged(QPointF, int)), this, - SLOT(mapControlZoomChanged(QPointF, int)), Qt::QueuedConnection); - - mc->addLayer(notes); - connect(notes, SIGNAL(geometryClicked(Geometry *, QPoint)), this, - SLOT(editNote(Geometry *, QPoint))); - - mc->setView(QPointF(8.26, 50)); - mc->setZoom(13); - - ignoreClicks = false; - addingNote = false; - noteID = 0; - - notetextedit = new QTextEdit(mc); - notetextedit->setGeometry(0, 0, 200, 100); - notepoint = new Point(0, 0, notetextedit, ".", Point::TopLeft); - notepoint->setVisible(false); - notes->addGeometry(notepoint); - - statusBar = new QStatusBar(this); - setStatusBar(statusBar); - - loadingProgress = new QLabel(""); - statusBar->addWidget(loadingProgress); - loadingProgressTimer = new QTimer(this); - connect(loadingProgressTimer, SIGNAL(timeout()), this, SLOT(updateProgress()), - Qt::QueuedConnection); - loadingProgressTimer->start(500); // update every 500ms - - cacheTiles(true); -} - -void Citymap::updateProgress() -{ - QString progressText = QString(" %1 tiles remaining").arg(mc->loadingQueueSize()); - - loadingProgress->setText(progressText); -} - -void Citymap::cacheTiles(bool qEnabled) -{ - if (qEnabled) - { - mc->enablePersistentCache(); - } - else - { - mc->enablePersistentCache(QDir()); - } -} - -void Citymap::createTours() -{ - QPen *pen = new QPen(QColor(0, 0, 255, 100)); - pen->setWidth(5); - - QList points; - points << new Point(8.2606, 50.0051); - points << new Point(8.2602, 50.0050); - points << new Point(8.2598, 50.0044); - points << new Point(8.2569, 50.0057); - points << new Point(8.2595, 50.0083); - points << new Point(8.2587, 50.0086); - points << new Point(8.2589, 50.0100); - points << new Point(8.2590, 50.0105); - pub_tour = new LineString(points, "", pen); - notes->addGeometry(pub_tour); - - points.clear(); - points << new Point(8.25987, 50.0018); - points << new Point(8.26192, 50.0019); - points << new Point(8.26301, 50.0031); - points << new Point(8.26459, 50.0026); - points << new Point(8.26601, 50.004); - points << new Point(8.26781, 50.0033); - points << new Point(8.27052, 50.0054); - points << new Point(8.2697, 50.0059); - museum_tour = new LineString(points, "", pen); - notes->addGeometry(museum_tour); - - points.clear(); - points << new Point(8.26015, 50.0015); - points << new Point(8.2617, 50.0012); - points << new Point(8.26423, 50.0002); - points << new Point(8.26698, 50.0024); - points << new Point(8.27065, 50.0012); - points << new Point(8.27152, 50.0016); - points << new Point(8.27225, 50.0004); - points << new Point(8.27333, 49.9994); - points << new Point(8.26946, 49.9983); - points << new Point(8.27105, 49.9973); - points << new Point(8.27024, 49.9972); - points << new Point(8.26833, 49.9958); - sights_tour = new LineString(points, "", pen); - notes->addGeometry(sights_tour); -} - -void Citymap::addSights() -{ - sights = new GeometryLayer("Sehenswürdigkeiten", mapadapter); - mc->addLayer(sights); - Point *dom = new ImagePoint( - 8.274167, 49.998889, - QCoreApplication::applicationDirPath() + "/images/180-dom.jpg", "Mainzer Dom"); - dom->setBaselevel(17); - sights->addGeometry(dom); - - Point *stephan = new ImagePoint(8.268611, 49.995556, - QCoreApplication::applicationDirPath() - + "/images/180-stephan.jpg", - "St. Stephan"); - stephan->setBaselevel(17); - sights->addGeometry(stephan); - - Point *quitin = new ImagePoint(8.272222, 50.000833, - QCoreApplication::applicationDirPath() - + "/images/180-quintin.jpg", - "St. Quintin"); - quitin->setBaselevel(17); - sights->addGeometry(quitin); - connect(sights, SIGNAL(geometryClicked(Geometry *, QPoint)), this, - SLOT(geometryClicked(Geometry *, QPoint))); -} -void Citymap::addPubs() -{ - pubs = new GeometryLayer("Kneipe", mapadapter); - mc->addLayer(pubs); - - Point *bagatelle = new Point( - 8.2606, 50.0052, - QPixmap(QCoreApplication::applicationDirPath() + "/images/pub.png"), "Bagatelle"); - pubs->addGeometry(bagatelle); - - Point *nirgendwo = new Point( - 8.2595, 50.0048, - QPixmap(QCoreApplication::applicationDirPath() + "/images/pub.png"), "Nirgendwo"); - pubs->addGeometry(nirgendwo); - - Point *krokodil = new Point( - 8.2594, 50.0106, - QPixmap(QCoreApplication::applicationDirPath() + "/images/pub.png"), "Krokodil"); - pubs->addGeometry(krokodil); - - connect(pubs, SIGNAL(geometryClicked(Geometry *, QPoint)), this, - SLOT(geometryClickEventKneipe(Geometry *, QPoint))); -} -void Citymap::addMuseums() -{ - museum = new GeometryLayer("Museen", mapadapter); - mc->addLayer(museum); - Point *rgzm = new ImagePoint( - 8.269722, 50.006111, - QCoreApplication::applicationDirPath() + "/images/180-rgzm.jpg", "rgzm"); - rgzm->setBaselevel(17); - museum->addGeometry(rgzm); - - Point *lm = new ImagePoint( - 8.26778, 50.00385, QCoreApplication::applicationDirPath() + "/images/180-lm.jpg", - "lm"); - lm->setBaselevel(17); - museum->addGeometry(lm); - - connect(museum, SIGNAL(geometryClicked(Geometry *, QPoint)), this, - SLOT(geometryClicked(Geometry *, QPoint))); -} - -void Citymap::geometryClicked(Geometry *geometry, QPoint) -{ - if (ignoreClicks || addingNote) - return; - - InfoDialog *infodialog = new InfoDialog(this); - infodialog->setWindowTitle(geometry->name()); - - if (geometry->name() == "Mainzer Dom") - { - infodialog->setInfotext( - "

Mainzer Dom

Der " - "Hohe Dom zu Mainz ist die Bischofskirche der Diözese Mainz und steht unter " - "dem Patrozinium des heiligen Martin von Tours. Der Ostchor ist dem Hl. " - "Stephan geweiht. Der zu den Kaiserdomen zählende Bau ist in seiner heutigen " - "Form eine dreischiffige romanische Säulenbasilika, die in ihren Anbauten " - "sowohl gotische als auch barocke Elemente aufweist.

"); - } - else if (geometry->name() == "St. Stephan") - { - infodialog->setInfotext( - "

St. Stephan

Die katholische Pfarrkirche Sankt Stephan in Mainz wurde " - "990 von Erzbischof Willigis auf der höchsten Erhebung der Stadt gegründet. " - "Auftraggeberin war höchstwahrscheinlich die Kaiserwitwe Theophanu. Willigis " - "wollte mit ihr die Gebetsstätte des Reiches schaffen. In der Kirche war " - "ursprünglich ein Stift untergebracht. Der Propst des Stiftes verwaltete " - "eines der Archidiakonate (mittelalterliche Organisationseinheit, ähnlich " - "den heutigen Dekanaten) des Erzbistums.

"); - } - else if (geometry->name() == "St. Quintin") - { - infodialog->setInfotext( - "

St. Quintin

Die Kirche St. Quintin in Mainz ist die Pfarrkirche der " - "ältesten nachgewiesenen Pfarrei der Stadt."); - } - else if (geometry->name() == "rgzm") - { - infodialog->setInfotext( - "

Römisch-Germanisches Zentralmuseum

Das Römisch-Germanische " - "Zentralmuseum (RGZM) in Mainz ist ein Forschungsinstitut für Vor- und " - "Frühgeschichte, das von Bund und Ländern getragen wird und zur " - "Leibniz-Gemeinschaft deutscher Forschungseinrichtungen gehört. Gegliedert " - "in mehrere Abteilungen, arbeitet das Institut im Bereich der Alten Welt " - "sowie seiner Kontaktzonen von der Altsteinzeit bis ins Mittelalter."); - } - else if (geometry->name() == "lm") - { - infodialog->setInfotext( - "

Landesmuseum Mainz

Das Landesmuseum Mainz ist eines der ältesten Museen in " - "Deutschland. Eine seiner Vorgängerinstitutionen, die Städtische " - "Gemäldesammlung, wurde bereits 1803 von Jean-Antoine Chaptal auf " - "Veranlassung Napoléon Bonapartes durch eine Schenkung von 36 Gemälden " - "gegründet. Das Museum, welches sich heute im ehemaligen kurfürstlichen " - "Marstall befindet, gehört zusammen mit dem Römisch-Germanischen " - "Zentralmuseum und dem Gutenbergmuseum zu den bedeutenden Museen in Mainz. " - "Seine kunst- und kulturgeschichtliche Sammlung erstreckt sich von der " - "Vorgeschichte über die römische Zeit, dem Mittelalter und Barock bis hin " - "zur Jugendstilzeit und der Kunst des 20. Jahrhunderts."); - } - if (geometry->name() != "") - infodialog->showMaximized(); -} - -void Citymap::geometryClickEventKneipe(Geometry *geometry, QPoint) -{ - if (ignoreClicks || addingNote) - return; - InfoDialog *infodialog = new InfoDialog(this); - infodialog->setWindowTitle(geometry->name()); - infodialog->setInfotext("

" + geometry->name() + "

"); - infodialog->showNormal(); -} - -void Citymap::addZoomButtons() -{ - // create buttons as controls for zoom - QPushButton *zoomin = new QPushButton("+"); - QPushButton *zoomout = new QPushButton("-"); - zoomin->setMaximumWidth(50); - zoomout->setMaximumWidth(50); - - connect(zoomin, SIGNAL(clicked(bool)), mc, SLOT(zoomIn())); - connect(zoomout, SIGNAL(clicked(bool)), mc, SLOT(zoomOut())); - - // add zoom buttons to the layout of the MapControl - QVBoxLayout *innerlayout = new QVBoxLayout; - innerlayout->addWidget(zoomin); - innerlayout->addWidget(zoomout); - mc->setLayout(innerlayout); -} - -void Citymap::createActions() -{ - toggleSights = new QAction(tr("Show Sights"), this); - toggleSights->setCheckable(true); - toggleSights->setChecked(true); - connect(toggleSights, SIGNAL(triggered(bool)), sights, SLOT(setVisible(bool))); - - togglePub = new QAction(tr("Show Pubs"), this); - togglePub->setCheckable(true); - togglePub->setChecked(true); - connect(togglePub, SIGNAL(triggered(bool)), pubs, SLOT(setVisible(bool))); - - toggleMuseum = new QAction(tr("Show Museums"), this); - toggleMuseum->setCheckable(true); - toggleMuseum->setChecked(true); - connect(toggleMuseum, SIGNAL(triggered(bool)), museum, SLOT(setVisible(bool))); - - toggleSightTour = new QAction(tr("Show Sight Tour"), this); - toggleSightTour->setCheckable(true); - toggleSightTour->setChecked(true); - connect(toggleSightTour, SIGNAL(triggered(bool)), sights_tour, - SLOT(setVisible(bool))); - - togglePubTour = new QAction(tr("Show Pub Tour"), this); - togglePubTour->setCheckable(true); - togglePubTour->setChecked(true); - connect(togglePubTour, SIGNAL(triggered(bool)), pub_tour, SLOT(setVisible(bool))); - - toggleMuseumTour = new QAction(tr("Show Museum Tour"), this); - toggleMuseumTour->setCheckable(true); - toggleMuseumTour->setChecked(true); - connect(toggleMuseumTour, SIGNAL(triggered(bool)), museum_tour, - SLOT(setVisible(bool))); - - addNoteAction = new QAction(tr("Add Note"), this); - connect(addNoteAction, SIGNAL(triggered(bool)), this, SLOT(addNote())); - - toolsDistance = new QAction(tr("Calculate Distance"), this); - connect(toolsDistance, SIGNAL(triggered(bool)), this, SLOT(calcDistance())); - - toolsLocalDiskCache = new QAction(tr("Cache Tiles Locally"), this); - toolsLocalDiskCache->setCheckable(true); - toolsLocalDiskCache->setChecked(true); - connect(toolsLocalDiskCache, SIGNAL(triggered(bool)), this, SLOT(cacheTiles(bool))); - - QActionGroup *mapproviderGroup = new QActionGroup(this); - osmAction = new QAction(tr("OpenStreetMap"), mapproviderGroup); - googleActionMap = new QAction(tr("Google: Roadmap (default)"), mapproviderGroup); - googleActionSatellite = new QAction(tr("Google: Satellite"), mapproviderGroup); - - googleActionSatellite = new QAction(tr("Google: Satellite"), mapproviderGroup); - googleActionTerrain = new QAction(tr("Google: Terrain"), mapproviderGroup); - googleActionHybrid = new QAction(tr("Google: Hybrid"), mapproviderGroup); - - osmAction->setCheckable(true); - googleActionMap->setCheckable(true); - googleActionSatellite->setCheckable(true); - googleActionTerrain->setCheckable(true); - googleActionHybrid->setCheckable(true); - osmAction->setChecked(true); - connect(mapproviderGroup, SIGNAL(triggered(QAction *)), this, - SLOT(mapproviderSelected(QAction *))); - - QActionGroup *mapZoomGroup = new QActionGroup(this); - - for (int i = 0; i <= 17; ++i) - { - QString title = QString("Zoom %1").arg(i); - QAction *action = new QAction(title, mapZoomGroup); - action->setCheckable(true); - zoomActions << action; - } - connect(mapZoomGroup, SIGNAL(triggered(QAction *)), this, - SLOT(mapZoomSelected(QAction *))); -} - -void Citymap::createMenus() -{ - layerMenu = menuBar()->addMenu(tr("&Layer")); - layerMenu->addAction(toggleSights); - layerMenu->addAction(togglePub); - layerMenu->addAction(toggleMuseum); - - tourMenu = menuBar()->addMenu(tr("T&ours")); - tourMenu->addAction(toggleSightTour); - tourMenu->addAction(togglePubTour); - tourMenu->addAction(toggleMuseumTour); - - toolsMenu = menuBar()->addMenu(tr("&Tools")); - toolsMenu->addAction(addNoteAction); - toolsMenu->addAction(toolsDistance); - toolsMenu->addAction(toolsLocalDiskCache); - - mapMenu = menuBar()->addMenu(tr("&Map Provider")); - mapMenu->addAction(osmAction); - mapMenu->addAction(googleActionMap); - mapMenu->addAction(googleActionSatellite); - mapMenu->addAction(googleActionTerrain); - mapMenu->addAction(googleActionHybrid); - - zoomMenu = menuBar()->addMenu(tr("&Zoom Level")); - foreach (QAction *action, zoomActions) - { - zoomMenu->addAction(action); - } -} - -void Citymap::addNote() -{ - addingNote = true; - connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), this, - SLOT(writeNote(const QMouseEvent *, const QPointF))); -} - -void Citymap::writeNote(const QMouseEvent *, const QPointF coord) -{ - Point *p = new Point(coord.x(), coord.y(), *notepixmap, QString::number(++noteID), - Point::BottomLeft); - currentnoteID = noteID; - p->setBaselevel(16); - p->setMinsize(QSize(12, 10)); - p->setMaxsize(QSize(47, 40)); - notes->addGeometry(p); - - notetextedit->clear(); - - notepoint->setCoordinate(coord); - notepoint->setVisible(true); - - mc->updateRequestNew(); - - disconnect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), this, - SLOT(writeNote(const QMouseEvent *, const QPointF))); - - connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), this, - SLOT(hideNote(const QMouseEvent *, const QPointF))); -} - -void Citymap::hideNote(const QMouseEvent *evnt, const QPointF) -{ - if (addingNote && evnt->type() == QEvent::MouseButtonDblClick) - { - addingNote = false; - notepoint->setVisible(false); - - mc->updateRequestNew(); - - // save text - notestext[currentnoteID] = notetextedit->toPlainText(); - - disconnect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), - this, SLOT(hideNote(const QMouseEvent *, const QPointF))); - } -} - -void Citymap::editNote(Geometry *geom, QPoint) -{ - addingNote = true; - currentnoteID = QVariant(geom->name()).toInt(); - notetextedit->setPlainText(notestext[currentnoteID]); - notepoint->setCoordinate(geom->points().at(0)->coordinate()); - notepoint->setVisible(true); - - mc->updateRequestNew(); - connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), this, - SLOT(hideNote(const QMouseEvent *, const QPointF))); -} - -void Citymap::resizeEvent(QResizeEvent *qEvent) -{ - Q_UNUSED(qEvent); - if (mc) - { - mc->resize(size()); - } -} - -void Citymap::calcDistance() -{ - ignoreClicks = true; - connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), this, - SLOT(calcDistanceClick(const QMouseEvent *, const QPointF))); -} -void Citymap::calcDistanceClick(const QMouseEvent *evnt, const QPointF coord) -{ - if (coord1 == QPointF() && evnt->type() == QEvent::MouseButtonPress) - { - coord1 = coord; - l->addGeometry( - new ImagePoint(coord1.x(), coord1.y(), - QCoreApplication::applicationDirPath() + "/images/flag.png", - "", Point::BottomRight)); - mc->updateRequestNew(); - } - else if (coord2 == QPointF() && evnt->type() == QEvent::MouseButtonPress) - { - coord2 = coord; - double PI = acos(-1.0); - double a1 = coord1.x() * (PI / 180.0); - ; - double b1 = coord1.y() * (PI / 180.0); - ; - double a2 = coord2.x() * (PI / 180.0); - ; - double b2 = coord2.y() * (PI / 180.0); - ; - double r = 6378; - - double km = acos(cos(a1) * cos(b1) * cos(a2) * cos(b2) - + cos(a1) * sin(b1) * cos(a2) * sin(b2) + sin(a1) * sin(a2)) - * r; - - QList points; - points.append(new Point(coord1.x(), coord1.y())); - QPixmap *pixm = new QPixmap(100, 20); - pixm->fill(Qt::transparent); - QPainter pain(pixm); - pain.setFont(QFont("Helvetiva", 6)); - pain.drawText(pixm->rect(), QString().setNum(km, 'f', 3) + " km"); - pain.end(); - points.append(new Point(coord2.x(), coord2.y(), *pixm, "", Point::BottomLeft)); - l->addGeometry(new LineString(points)); - mc->updateRequestNew(); - coord1 = QPointF(); - coord2 = QPointF(); - ignoreClicks = false; - disconnect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), - this, SLOT(calcDistanceClick(const QMouseEvent *, const QPointF))); - } -} - -void Citymap::mapControlZoomChanged(const QPointF &coordinate, int zoom) const -{ - Q_UNUSED(coordinate); - if (zoomActions.at(zoom)) - { - zoomActions.at(zoom)->setChecked(true); - } -} - -void Citymap::mapZoomSelected(QAction *action) -{ - mc->setZoom(zoomActions.indexOf(action)); -} - -void Citymap::mapproviderSelected(QAction *action) -{ - if (action == osmAction) - { - int zoom = mapadapter->adaptedZoom(); - mc->setZoom(0); - - mapadapter = new OSMMapAdapter(); - l->setMapAdapter(mapadapter); - sights->setMapAdapter(mapadapter); - museum->setMapAdapter(mapadapter); - pubs->setMapAdapter(mapadapter); - notes->setMapAdapter(mapadapter); - mc->updateRequestNew(); - mc->setZoom(zoom); - } - else if (action == googleActionMap) - { - int zoom = mapadapter->adaptedZoom(); - mc->setZoom(0); - mapadapter = new GoogleMapAdapter(); - l->setMapAdapter(mapadapter); - sights->setMapAdapter(mapadapter); - museum->setMapAdapter(mapadapter); - pubs->setMapAdapter(mapadapter); - notes->setMapAdapter(mapadapter); - mc->updateRequestNew(); - mc->setZoom(zoom); - } - else if (action == googleActionSatellite) - { - int zoom = mapadapter->adaptedZoom(); - mc->setZoom(0); - mapadapter = new GoogleMapAdapter(GoogleMapAdapter::satellite); - l->setMapAdapter(mapadapter); - sights->setMapAdapter(mapadapter); - museum->setMapAdapter(mapadapter); - pubs->setMapAdapter(mapadapter); - notes->setMapAdapter(mapadapter); - mc->updateRequestNew(); - mc->setZoom(zoom); - } - else if (action == googleActionTerrain) - { - int zoom = mapadapter->adaptedZoom(); - mc->setZoom(0); - mapadapter = new GoogleMapAdapter(GoogleMapAdapter::terrain); - l->setMapAdapter(mapadapter); - sights->setMapAdapter(mapadapter); - museum->setMapAdapter(mapadapter); - pubs->setMapAdapter(mapadapter); - notes->setMapAdapter(mapadapter); - mc->updateRequestNew(); - mc->setZoom(zoom); - } - else if (action == googleActionHybrid) - { - int zoom = mapadapter->adaptedZoom(); - mc->setZoom(0); - mapadapter = new GoogleMapAdapter(GoogleMapAdapter::hybrid); - l->setMapAdapter(mapadapter); - sights->setMapAdapter(mapadapter); - museum->setMapAdapter(mapadapter); - pubs->setMapAdapter(mapadapter); - notes->setMapAdapter(mapadapter); - mc->updateRequestNew(); - mc->setZoom(zoom); - } -} - -Citymap::~Citymap() -{ - delete mc; - delete mapadapter; - delete notepixmap; - delete sights; - delete notes; - delete pubs; - delete museum; -} diff --git a/libs/QMapControl/Samples/Citymap/src/citymap.h b/libs/QMapControl/Samples/Citymap/src/citymap.h deleted file mode 100644 index 111474cda..000000000 --- a/libs/QMapControl/Samples/Citymap/src/citymap.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef CITYMAP_H -#define CITYMAP_H - -#include -#include -#include -#include -#include -#include -#include -#include "dialogs.h" -#include - -class QLabel; - -using namespace qmapcontrol; -class Citymap : public QMainWindow -{ - Q_OBJECT -public: - Citymap(QWidget *parent = 0); - - ~Citymap(); - -private: - MapControl *mc; - MapAdapter *mapadapter; - - QPixmap *notepixmap; - - Layer *sights; - Layer *museum; - Layer *pubs; - Layer *notes; - - void addZoomButtons(); - - void createTours(); - void createActions(); - void createMenus(); - - QMenu *layerMenu; - QMenu *tourMenu; - QMenu *toolsMenu; - QMenu *mapMenu; - QMenu *zoomMenu; - - QAction *toggleSights; - QAction *togglePub; - QAction *toggleMuseum; - - QAction *togglePubTour; - QAction *toggleMuseumTour; - QAction *toggleSightTour; - - QAction *addNoteAction; - QAction *toolsDistance; - QAction *toolsLocalDiskCache; - - QAction *osmAction; - QAction *googleActionMap; - QAction *googleActionSatellite; - QAction *googleActionTerrain; - QAction *googleActionHybrid; - - QList zoomActions; - - QStatusBar *statusBar; - - bool ignoreClicks; - bool addingNote; - - void addSights(); - void addPubs(); - void addMuseums(); - - QPointF coord1; - QPointF coord2; - - Layer *l; - - LineString *pub_tour; - LineString *museum_tour; - LineString *sights_tour; - - QTextEdit *notetextedit; - Point *notepoint; - int noteID; - int currentnoteID; - QHash notestext; - QLabel *loadingProgress; - QTimer *loadingProgressTimer; - -public slots: - void hideNote(const QMouseEvent *evnt, const QPointF coordinate); - void geometryClicked(Geometry *geometry, QPoint point); - void geometryClickEventKneipe(Geometry *geometry, QPoint point); - void addNote(); - void writeNote(const QMouseEvent *, const QPointF); - void calcDistance(); - void calcDistanceClick(const QMouseEvent *, const QPointF); - void mapControlZoomChanged(const QPointF &coordinate, int zoom) const; - - void mapproviderSelected(QAction *); - void mapZoomSelected(QAction *); - void editNote(Geometry *geom, QPoint point); - void resizeEvent(QResizeEvent *qEvent); - void updateProgress(); - void cacheTiles(bool qEnabled); -}; - -#endif diff --git a/libs/QMapControl/Samples/Citymap/src/dialogs.cpp b/libs/QMapControl/Samples/Citymap/src/dialogs.cpp deleted file mode 100644 index b62700ce2..000000000 --- a/libs/QMapControl/Samples/Citymap/src/dialogs.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include "dialogs.h" -#include - -InfoDialog::InfoDialog(QWidget *parent) - : QDialog(parent) -{ - setWindowFlags(Qt::Dialog | Qt::WindowStaysOnTopHint); - infotext = new QTextEdit(); - infotext->setReadOnly(true); - - QHBoxLayout *layout = new QHBoxLayout(); - setLayout(layout); - - layout->addWidget(infotext); -} - -void InfoDialog::setInfotext(QString text) -{ - infotext->setHtml(text); -} diff --git a/libs/QMapControl/Samples/Citymap/src/dialogs.h b/libs/QMapControl/Samples/Citymap/src/dialogs.h deleted file mode 100644 index 78e6b84fd..000000000 --- a/libs/QMapControl/Samples/Citymap/src/dialogs.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef DIALOGS_H -#define DIALOGS_H - -#include -#include - -/** - @author Kai Winter -*/ -class InfoDialog : public QDialog -{ - Q_OBJECT -public: - InfoDialog(QWidget *parent = 0); - void setInfotext(QString text); - -private: - QTextEdit *infotext; -}; - -#endif diff --git a/libs/QMapControl/Samples/Citymap/src/main.cpp b/libs/QMapControl/Samples/Citymap/src/main.cpp deleted file mode 100644 index 2b95f0f31..000000000 --- a/libs/QMapControl/Samples/Citymap/src/main.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include "citymap.h" - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - Citymap *mw = new Citymap(); - - mw->resize(400, 590); - mw->setWindowTitle("City Map Mainz"); - mw->show(); - return app.exec(); -} diff --git a/libs/QMapControl/Samples/GPS/GPS.kdevelop b/libs/QMapControl/Samples/GPS/GPS.kdevelop deleted file mode 100644 index a33c65218..000000000 --- a/libs/QMapControl/Samples/GPS/GPS.kdevelop +++ /dev/null @@ -1,188 +0,0 @@ - - - - Kai Winter - kaiwinter@gmx.de - 1 - KDevTrollProject - C++ - - Qt - - GPS - - . - false - - - - - - - - - - false - false - - - *.o,*.lo,CVS - false - - - - - bash - bash_bugs - clanlib - w3c-dom-level2-html - fortran_bugs_gcc - gnome1 - gnustep - gtk - gtk_bugs - haskell - haskell_bugs_ghc - java_bugs_gcc - java_bugs_sun - kde2book - opengl - pascal_bugs_fp - php - php_bugs - perl - perl_bugs - python - python_bugs - qt-kdev3 - ruby - ruby_bugs - sdl - stl - w3c-svg - sw - w3c-uaag10 - wxwidgets_bugs - - - KDE Libraries (Doxygen) - - - - - - - - - - true - false - false - false - - - false - true - 10 - - - - - 4 - true - 4 - ExternalDesigner - /usr/lib/qt4 - /usr/lib/qt4/bin/qmake-qt4 - /usr/lib/qt4/bin/designer-qt4 - - - - false - true - true - 250 - 400 - 250 - false - 0 - true - true - false - std=_GLIBCXX_STD;__gnu_cxx=std - true - false - false - false - false - true - true - false - .; - - - - set - m_,_ - theValue - true - true - - - false - true - Vertical - - - QMapControl - Qt4 - - - - - - - - - - - - - - - - executable - ./bin/GPS - - - ./bin/ - false - false - false - false - false - - - - true - false - 1 - false - - 0 - - - - 2 - false - true - false - - - - - .h - .cpp - - - diff --git a/libs/QMapControl/Samples/GPS/GPS.pro b/libs/QMapControl/Samples/GPS/GPS.pro deleted file mode 100644 index c55e36c3f..000000000 --- a/libs/QMapControl/Samples/GPS/GPS.pro +++ /dev/null @@ -1,20 +0,0 @@ -include(../../QMapControl.pri) -DEPENDPATH += src -MOC_DIR = tmp -OBJECTS_DIR = obj -DESTDIR = ../bin -TARGET = GPS - -QT+=network -QT+=gui -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -greaterThan(QT_MAJOR_VERSION, 4): cache() - -# Input -SOURCES += src/gps.cpp \ -src/main.cpp \ -src/gps_neo.cpp \ - src/gps_simulation.cpp -HEADERS += src/gps.h \ -src/gps_neo.h \ - src/gps_simulation.h diff --git a/libs/QMapControl/Samples/GPS/Readme b/libs/QMapControl/Samples/GPS/Readme deleted file mode 100644 index e0f60286d..000000000 --- a/libs/QMapControl/Samples/GPS/Readme +++ /dev/null @@ -1,12 +0,0 @@ -/*! - * \example gps.cpp - * This sample application uses GPS data from the gllin service, which you have to start manually before using this application. - * The file /tmp/nmeaNP is read in for the posiitons. - * - * The application receives positions from the GPS_Neo class and writes it into a label. - * You can toggle a button to set the view to the received coordinate. - * - * You can find this example here: MapAPI/Samples/GPS - * \image html sample_gps.png "screenshot" - * @see http://3rdparty.downloads.openmoko.org - */ \ No newline at end of file diff --git a/libs/QMapControl/Samples/GPS/src/gps.cpp b/libs/QMapControl/Samples/GPS/src/gps.cpp deleted file mode 100644 index cbe677d5f..000000000 --- a/libs/QMapControl/Samples/GPS/src/gps.cpp +++ /dev/null @@ -1,122 +0,0 @@ -#include "gps.h" - -/*! - * \example gps.cpp - * This sample application uses GPS data from the gllin service, which you have to start - * manually before using this application. The file /tmp/nmeaNP is read in for the - * posiitons. - * - * The application receives positions from the GPS_Neo class and writes it into a label. - * You can toggle a button to set the view to the received coordinate. - * - * You can find this example here: MapAPI/Samples/GPS - * \image html sample_gps.png "screenshot" - * @see http://3rdparty.downloads.openmoko.org - */ - -#include -#include -#include - -GPS::GPS() -{ - // create MapControl - mc = new MapControl(QSize(480, 640)); - // ImageManager::instance()->setProxy("www-cache", 8080); - - // create MapAdapter to get maps from - TileMapAdapter *mapadapter - = new TileMapAdapter("tile.openstreetmap.org", "/%1/%2/%3.png", 256, 0, 17); - - // create a layer with the mapadapter and type MapLayer - Layer *l = new Layer("Custom Layer", mapadapter, Layer::MapLayer); - - // current GPS Location - gpsDot = new CirclePoint(0, 0, "GPS", CirclePoint::Middle, new QPen(Qt::darkBlue)); - l->addGeometry(gpsDot); - - // add Layer to the MapControl - mc->addLayer(l); - - // display the MapControl in the application - QHBoxLayout *layout = new QHBoxLayout; - layout->addWidget(mc); - setLayout(layout); - - // create buttons as controls for zoom - QPushButton *zoomin = new QPushButton("+"); - QPushButton *zoomout = new QPushButton("-"); - - followgps = new QPushButton("Follow"); - followgps->setCheckable(true); - simulategps = new QPushButton("Simulate"); - simulategps->setCheckable(true); - gpsposition = new QLabel(); - zoomin->setMaximumWidth(50); - zoomout->setMaximumWidth(50); - followgps->setMaximumWidth(50); - simulategps->setMaximumWidth(50); - gpsposition->setFont(QFont("Arial", 10)); - - connect(zoomin, SIGNAL(clicked(bool)), mc, SLOT(zoomIn())); - connect(zoomout, SIGNAL(clicked(bool)), mc, SLOT(zoomOut())); - - connect(simulategps, SIGNAL(clicked(bool)), this, SLOT(simulategps_checked())); - - // add zoom buttons to the layout of the MapControl - QVBoxLayout *innerlayout = new QVBoxLayout; - innerlayout->addWidget(zoomin); - innerlayout->addWidget(zoomout); - innerlayout->addWidget(followgps); - innerlayout->addWidget(simulategps); - innerlayout->addWidget(gpsposition); - mc->setLayout(innerlayout); - - GPS_Neo *gm = new GPS_Neo(); - connect(gm, SIGNAL(new_position(float, QPointF)), this, - SLOT(updatePosition(float, QPointF))); - - gpsSim = new GPS_Simulation(this); - connect(gpsSim, SIGNAL(newPosition(float, QPointF)), this, - SLOT(updatePosition(float, QPointF))); - - mc->setView(QPointF(0, 0)); - - gm->start(); -} - -GPS::~GPS() { } - -void GPS::updatePosition(float time, QPointF coordinate) -{ - gpsposition->setText(QString::number(time) + " / " + QString::number(coordinate.x()) - + " / " + QString::number(coordinate.y())); - if (followgps->isChecked()) - { - mc->setView(coordinate); - } - - // update the gps dot location on map - gpsDot->setCoordinate(coordinate); -} - -void GPS::resizeEvent(QResizeEvent *qEvent) -{ - Q_UNUSED(qEvent); - if (mc) - { - mc->resize(size()); - } -} - -void GPS::simulategps_checked() -{ - if (simulategps->isChecked()) - { - gpsSim->start(); - } - else - { - gpsSim->stop(); - } -} diff --git a/libs/QMapControl/Samples/GPS/src/gps.h b/libs/QMapControl/Samples/GPS/src/gps.h deleted file mode 100644 index 5b98b4d53..000000000 --- a/libs/QMapControl/Samples/GPS/src/gps.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef GPS_H -#define GPS_H - -#include -#include -#include -#include "gps_neo.h" -#include "gps_simulation.h" -#include "circlepoint.h" - -using namespace qmapcontrol; -class GPS : public QWidget -{ - Q_OBJECT -public: - GPS(); - ~GPS(); - -private: - QPushButton *followgps; - QPushButton *simulategps; - QLabel *gpsposition; - MapControl *mc; - GPS_Simulation *gpsSim; - CirclePoint *gpsDot; - -public slots: - void updatePosition(float time, QPointF coordinate); - void resizeEvent(QResizeEvent *qEvent); - void simulategps_checked(); -}; - -#endif diff --git a/libs/QMapControl/Samples/GPS/src/gps_neo.cpp b/libs/QMapControl/Samples/GPS/src/gps_neo.cpp deleted file mode 100644 index 09e619324..000000000 --- a/libs/QMapControl/Samples/GPS/src/gps_neo.cpp +++ /dev/null @@ -1,67 +0,0 @@ -#include "gps_neo.h" - -GPS_Neo::GPS_Neo(QObject *parent) - : QObject(parent) -{ - running = false; -} - -GPS_Neo::~GPS_Neo() { } - -void GPS_Neo::start() -{ - if (!running) - { - running = true; - QTimer::singleShot(1000, this, SLOT(tick())); - } -} -void GPS_Neo::stop() -{ - running = false; -} - -void GPS_Neo::tick() -{ - QFile file("/tmp/nmeaNP"); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - { - // qDebug() << file.error(); - return; - } - - QByteArray line; - while (!file.atEnd()) - { - line = file.readLine(); - if (line.contains("GPRMC")) - { - break; - } - } - file.close(); - - GPS_Position pos = process_line(line); - - emit(new_position(pos.time, QPointF(pos.longitude, pos.latitude))); - - if (running) - { - QTimer::singleShot(1000, this, SLOT(tick())); - } -} - -GPS_Position GPS_Neo::process_line(QByteArray line) -{ - line.chop(1); - - QList elems = line.split(','); - - float time = QString(elems.at(1)).toFloat(); - float latitude = elems.at(3).toFloat() / 100; - QString latitude_dir = elems.at(4); - float longitude = elems.at(5).toFloat() / 100; - QString longitude_dir = elems.at(6); - - return GPS_Position(time, longitude, longitude_dir, latitude, latitude_dir); -} diff --git a/libs/QMapControl/Samples/GPS/src/gps_neo.h b/libs/QMapControl/Samples/GPS/src/gps_neo.h deleted file mode 100644 index c252156a6..000000000 --- a/libs/QMapControl/Samples/GPS/src/gps_neo.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef GPS_NEO_H -#define GPS_NEO_H - -#include -#include -#include -//! A parser for the NMEA data format -/*! - * This class parses gps data from the Neo´s gllin service, which you have to start - *manually It reads the device file every seconds and emits a signal which contains a - *GPS_Position. - * @see http://3rdparty.downloads.openmoko.org - * @author Kai Winter - */ -using namespace qmapcontrol; -class GPS_Neo : public QObject -{ - Q_OBJECT -public: - GPS_Neo(QObject *parent = 0); - ~GPS_Neo(); - void start(); - void stop(); - -private: - QList positions; - GPS_Position process_line(QByteArray line); - bool running; - -signals: - void new_position(float, QPointF); - -public slots: - void tick(); -}; - -#endif diff --git a/libs/QMapControl/Samples/GPS/src/gps_simulation.cpp b/libs/QMapControl/Samples/GPS/src/gps_simulation.cpp deleted file mode 100644 index 8fd652fb5..000000000 --- a/libs/QMapControl/Samples/GPS/src/gps_simulation.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "gps_simulation.h" -#include -#include -#include - -GPS_Simulation::GPS_Simulation(QObject *parent) - : QObject(parent) - , timer(new QTimer(this)) - , mLat(40.748817f) - , // new york lat - mLong(-73.985428f) // new york lat -{ - bool connected - = connect(timer, SIGNAL(timeout()), this, SLOT(tick()), Qt::QueuedConnection); - Q_ASSERT(connected); -} - -GPS_Simulation::~GPS_Simulation() { } - -void GPS_Simulation::start() -{ - timer->start(1000); // 1 sec updates -} - -void GPS_Simulation::stop() -{ - timer->stop(); -} - -void GPS_Simulation::tick() -{ - static float faketime = qrand() % 5000; - - float lTempLat = qrand() % 2 - 1; // gives a number between -1 and 1 - float lTempLong = qrand() % 2 - 1; // gives a number between -1 and 1 - - mLat = qBound(float(-90), (mLat + (lTempLat / 10)), float(90)); - mLong = qBound(float(-180), (mLat + (lTempLong / 10)), float(180)); - - emit newPosition(++faketime, QPointF(mLong, mLat)); -} diff --git a/libs/QMapControl/Samples/GPS/src/gps_simulation.h b/libs/QMapControl/Samples/GPS/src/gps_simulation.h deleted file mode 100644 index c971232b8..000000000 --- a/libs/QMapControl/Samples/GPS/src/gps_simulation.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef GPS_SIMULATION_H -#define GPS_SIMULATION_H - -#include -#include -#include - -class GPS_Simulation : public QObject -{ - Q_OBJECT -public: - explicit GPS_Simulation(QObject *parent = 0); - ~GPS_Simulation(); - - void start(); - void stop(); - -signals: - void newPosition(float time, QPointF coordinate); - -public slots: - void tick(); - -private: - QTimer *timer; - float mLat; - float mLong; -}; - -#endif // GPS_SIMULATION_H diff --git a/libs/QMapControl/Samples/GPS/src/main.cpp b/libs/QMapControl/Samples/GPS/src/main.cpp deleted file mode 100644 index e148272d9..000000000 --- a/libs/QMapControl/Samples/GPS/src/main.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include "gps.h" -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - - GPS ta; - ta.resize(480, 640); - - ta.setWindowTitle("GPS Demo"); - ta.show(); - return app.exec(); -} diff --git a/libs/QMapControl/Samples/LinesAndPoints/LinesAndPoints.kdevelop b/libs/QMapControl/Samples/LinesAndPoints/LinesAndPoints.kdevelop deleted file mode 100644 index 59140c74c..000000000 --- a/libs/QMapControl/Samples/LinesAndPoints/LinesAndPoints.kdevelop +++ /dev/null @@ -1,195 +0,0 @@ - - - - Kai Winter - kaiwinter@gmx.de - 1 - KDevTrollProject - C++ - - Qt - - LinesAndPoints - - . - false - - - - - - - - - - - false - false - - - *.o,*.lo,CVS - false - - - - - bash - bash_bugs - clanlib - w3c-dom-level2-html - fortran_bugs_gcc - gnome1 - gnustep - gtk - gtk_bugs - haskell - haskell_bugs_ghc - java_bugs_gcc - java_bugs_sun - kde2book - opengl - pascal_bugs_fp - php - php_bugs - perl - perl_bugs - python - python_bugs - qt-kdev3 - ruby - ruby_bugs - sdl - stl - w3c-svg - sw - w3c-uaag10 - wxwidgets_bugs - - - KDE Libraries (Doxygen) - - - - - - - - - - true - false - false - false - - - false - true - 10 - - - - - 4 - true - 4 - ExternalDesigner - /usr/lib/qt4 - /usr/lib/qt4/bin/qmake-qt4 - /usr/lib/qt4/bin/designer-qt4 - - - - false - true - true - 250 - 400 - 250 - false - 0 - true - true - false - std=_GLIBCXX_STD;__gnu_cxx=std - true - false - true - false - false - true - true - false - .; - - - - set - m_,_ - theValue - true - true - - - false - true - Vertical - - - Qt4 - - - - - - - - - - - - - - - - executable - ./bin/Linesandpoints - - - ./bin/ - true - false - false - false - false - - - - true - false - 1 - false - - 0 - - - - 2 - false - true - false - - - - - .h - .cpp - - - - - - - - - - diff --git a/libs/QMapControl/Samples/LinesAndPoints/LinesAndPoints.kdevses b/libs/QMapControl/Samples/LinesAndPoints/LinesAndPoints.kdevses deleted file mode 100644 index 0368b2035..000000000 --- a/libs/QMapControl/Samples/LinesAndPoints/LinesAndPoints.kdevses +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libs/QMapControl/Samples/LinesAndPoints/LinesAndPoints.pro b/libs/QMapControl/Samples/LinesAndPoints/LinesAndPoints.pro deleted file mode 100644 index 337cb53a0..000000000 --- a/libs/QMapControl/Samples/LinesAndPoints/LinesAndPoints.pro +++ /dev/null @@ -1,15 +0,0 @@ -include(../../QMapControl.pri) -QT+=network -QT+=gui -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -greaterThan(QT_MAJOR_VERSION, 4): cache() -DEPENDPATH += src -MOC_DIR = tmp -OBJECTS_DIR = obj -DESTDIR = ../bin -TARGET = Linesandpoints - -# Input -HEADERS += src/linesandpoints.h -SOURCES += src/linesandpoints.cpp src/main.cpp - diff --git a/libs/QMapControl/Samples/LinesAndPoints/Readme b/libs/QMapControl/Samples/LinesAndPoints/Readme deleted file mode 100644 index 79a2e1286..000000000 --- a/libs/QMapControl/Samples/LinesAndPoints/Readme +++ /dev/null @@ -1,16 +0,0 @@ -/*! - * \example linesandpoints.cpp - * This application demonstrates how to use Geometry objects and how to add them to a layer. - * - * Here are used three different point types: - * - One which displays a image - * - One which draws a plain circle - * - One which uses a QPen to draw a circle - * - One which has no markers - * Then these Points were added to a LineString - * - * Also there is a keylistener. - * - * You can find this example here: MapAPI/Samples/LinesAndPoints - * \image html sample_linesandpoints.png "screenshot" - */ \ No newline at end of file diff --git a/libs/QMapControl/Samples/LinesAndPoints/src/linesandpoints.cpp b/libs/QMapControl/Samples/LinesAndPoints/src/linesandpoints.cpp deleted file mode 100644 index acf8bf726..000000000 --- a/libs/QMapControl/Samples/LinesAndPoints/src/linesandpoints.cpp +++ /dev/null @@ -1,186 +0,0 @@ -#include "linesandpoints.h" -/*! - * \example linesandpoints.cpp - * This application demonstrates how to use Geometry objects and how to add them to a - * layer. - * - * Here are used three different point types: - * - One which displays a image - * - One which draws a plain circle - * - One which uses a QPen to draw a circle - * - One which has no markers - * Then these Points were added to a LineString - * - * Also there is a keylistener. - * - * You can find this example here: MapAPI/Samples/LinesAndPoints - * \image html sample_linesandpoints.png "screenshot" - */ - -#include -#include -#include -#include - -LinesAndPoints::LinesAndPoints(QWidget *parent) - : QWidget(parent) -{ - // the size which the QMapControl should fill - QSize size = QSize(480, 640); - - mc = new MapControl(size); - // create layout - QHBoxLayout *layout = new QHBoxLayout; - layout->addWidget(mc); - setLayout(layout); - - // create layer - MapAdapter *mapadapter = new OSMMapAdapter(); - Layer *l = new MapLayer("Custom Layer", mapadapter); - - mc->addLayer(l); - - // create a LineString - QList points; - // Points with image - points.append(new ImagePoint(8.259959, 50.001781, "images/bus_stop.png", - "Mainz, Hauptbahnhof", Point::BottomLeft)); - points.append(new ImagePoint(8.263758, 49.998917, "images/bus_stop.png", - "Mainz, Münsterplatz", Point::BottomLeft)); - points.append(new ImagePoint(8.265812, 50.001952, "images/bus_stop.png", - "Mainz, Neubrunnenplatz", Point::BottomLeft)); - // Points with a circle - points.append( - new CirclePoint(8.2688, 50.004015, "Mainz, Bauhofstraße LRP", Point::Middle)); - points.append(new CirclePoint(8.272845, 50.00495, "Mainz, Landtag", Point::Middle)); - points.append( - new CirclePoint(8.280349, 50.008173, "Mainz, Brückenkopf", Point::Middle)); - // A QPen can be used to customize the - QPen *pointpen = new QPen(QColor(0, 255, 0)); - pointpen->setWidth(3); - points.append(new CirclePoint(8.273573, 50.016315, 15, - "Wiesbaden-Mainz-Kastel, Eleonorenstraße", - Point::Middle, pointpen)); - points.append(new CirclePoint(8.275145, 50.016992, 15, - "Wiesbaden-Mainz-Kastel, Johannes-Goßner-Straße", - Point::Middle, pointpen)); - points.append(new CirclePoint(8.270476, 50.021426, 15, - "Wiesbaden-Mainz-Kastel, Ruthof", Point::Middle, - pointpen)); - // "Blind" Points - points.append( - new Point(8.266445, 50.025913, "Wiesbaden-Mainz-Kastel, Mudra Kaserne")); - points.append( - new Point(8.260378, 50.030345, "Wiesbaden-Mainz-Amoneburg, Dyckerhoffstraße")); - - // A QPen also can use transparency - QPen *linepen = new QPen(QColor(0, 0, 255, 100)); - linepen->setWidth(5); - // Add the Points and the QPen to a LineString - LineString *ls = new LineString(points, "Busline 54", linepen); - - // Add the LineString to the layer - l->addGeometry(ls); - - // Connect click events of the layer to this object - connect(l, SIGNAL(geometryClicked(Geometry *, QPoint)), this, - SLOT(geometryClicked(Geometry *, QPoint))); - - // Sets the view to the interesting area - mc->setView(QPointF(8.259959, 50.001781)); - mc->setZoom(11); - - addZoomButtons(); -} - -void LinesAndPoints::addZoomButtons() -{ - // create buttons as controls for zoom - QPushButton *zoomin = new QPushButton("+"); - QPushButton *zoomout = new QPushButton("-"); - zoomin->setMaximumWidth(50); - zoomout->setMaximumWidth(50); - - connect(zoomin, SIGNAL(clicked(bool)), mc, SLOT(zoomIn())); - connect(zoomout, SIGNAL(clicked(bool)), mc, SLOT(zoomOut())); - - // add zoom buttons to the layout of the MapControl - QVBoxLayout *innerlayout = new QVBoxLayout; - innerlayout->addWidget(zoomin); - innerlayout->addWidget(zoomout); - mc->setLayout(innerlayout); -} - -void LinesAndPoints::geometryClicked(Geometry *geom, QPoint) -{ - qDebug() << "parent: " << geom->parentGeometry(); - qDebug() << "Element clicked: " << geom->name(); - if (geom->hasClickedPoints()) - { - QList pp = geom->clickedPoints(); - qDebug() << "number of child elements: " << pp.size(); - for (int i = 0; i < pp.size(); ++i) - { - QMessageBox::information(this, geom->name(), pp.at(i)->name()); - } - } - else if (geom->GeometryType == "Point") - { - QMessageBox::information(this, geom->name(), "just a point"); - } -} - -LinesAndPoints::~LinesAndPoints() { } - -void LinesAndPoints::resizeEvent(QResizeEvent *qEvent) -{ - Q_UNUSED(qEvent); - if (mc) - { - mc->resize(size()); - } -} - -void LinesAndPoints::keyPressEvent(QKeyEvent *evnt) -{ - if (evnt->key() == 49 || evnt->key() == 17825792) // tastatur '1' - { - mc->zoomIn(); - } - else if (evnt->key() == 50) - { - mc->moveTo(QPointF(8.25, 60)); - } - else if (evnt->key() == 51 || evnt->key() == 16777313) // tastatur '3' - { - mc->zoomOut(); - } - else if (evnt->key() == 54) // 6 - { - mc->setView(QPointF(8, 50)); - } - else if (evnt->key() == 16777234) // left - { - mc->scrollLeft(); - } - else if (evnt->key() == 16777236) // right - { - mc->scrollRight(); - } - else if (evnt->key() == 16777235) // up - { - mc->scrollUp(); - } - else if (evnt->key() == 16777237) // down - { - mc->scrollDown(); - } - else if (evnt->key() == 48 || evnt->key() == 17825797) // 0 - { - emit(close()); - } - else - { - qDebug() << evnt->key() << endl; - } -} diff --git a/libs/QMapControl/Samples/LinesAndPoints/src/linesandpoints.h b/libs/QMapControl/Samples/LinesAndPoints/src/linesandpoints.h deleted file mode 100644 index 91a32b0da..000000000 --- a/libs/QMapControl/Samples/LinesAndPoints/src/linesandpoints.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef LINESANDPOINTS_H -#define LINESANDPOINTS_H - -#include -#include -#include -#include -#include -#include -using namespace qmapcontrol; -class LinesAndPoints : public QWidget -{ - Q_OBJECT -public: - LinesAndPoints(QWidget *parent = 0); - ~LinesAndPoints(); - -private: - MapControl *mc; - void addZoomButtons(); - -public slots: - void geometryClicked(Geometry *geom, QPoint coord_px); - void resizeEvent(QResizeEvent *qEvent); - -protected: - void keyPressEvent(QKeyEvent *evnt); -}; - -#endif diff --git a/libs/QMapControl/Samples/LinesAndPoints/src/main.cpp b/libs/QMapControl/Samples/LinesAndPoints/src/main.cpp deleted file mode 100644 index 78043cfee..000000000 --- a/libs/QMapControl/Samples/LinesAndPoints/src/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include "linesandpoints.h" -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - - LinesAndPoints ta; - ta.resize(480, 640); - ta.setWindowTitle("QMapControl Demo"); - ta.show(); - return app.exec(); -} diff --git a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/Mapviewer.kdevelop b/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/Mapviewer.kdevelop deleted file mode 100644 index 4f8a36eef..000000000 --- a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/Mapviewer.kdevelop +++ /dev/null @@ -1,195 +0,0 @@ - - - - Kai Winter - kaiwinter@gmx.de - 1 - KDevTrollProject - C++ - - Qt - - Mapviewer - - . - false - - - - - - - - - - - false - false - - - *.o,*.lo,CVS - false - - - - - bash - bash_bugs - clanlib - w3c-dom-level2-html - fortran_bugs_gcc - gnome1 - gnustep - gtk - gtk_bugs - haskell - haskell_bugs_ghc - java_bugs_gcc - java_bugs_sun - kde2book - opengl - pascal_bugs_fp - php - php_bugs - perl - perl_bugs - python - python_bugs - qt-kdev3 - ruby - ruby_bugs - sdl - stl - w3c-svg - sw - w3c-uaag10 - wxwidgets_bugs - - - KDE Libraries (Doxygen) - - - - - - - - - - true - false - false - false - - - false - true - 10 - - - - - 4 - true - 4 - ExternalDesigner - /usr/lib/qt4 - /usr/lib/qt4/bin/qmake-qt4 - /usr/lib/qt4/bin/designer-qt4 - - - - false - true - true - 250 - 400 - 250 - false - 0 - true - true - false - std=_GLIBCXX_STD;__gnu_cxx=std - true - false - false - false - false - true - true - false - .; - - - - set - m_,_ - theValue - true - true - - - false - true - Vertical - - - Qt4 - - - - - - - - - - - - - - - - executable - ./bin/Mapviewer - - - ./bin - true - false - false - false - false - - - - true - false - 1 - false - - 0 - - - - 2 - false - true - false - - - - - .h - .cpp - - - - - - - - - - diff --git a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/Mapviewer.pro b/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/Mapviewer.pro deleted file mode 100644 index ce9d0f7b1..000000000 --- a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/Mapviewer.pro +++ /dev/null @@ -1,13 +0,0 @@ -include(../../QMapControl.pri) -MOC_DIR = tmp -OBJECTS_DIR = obj -DESTDIR = bin -TARGET = Mapviewer -DEPENDPATH += . ../../src -INCLUDEPATH += . ../../src - -# Input -HEADERS += src/mapviewer.h -SOURCES += src/main.cpp src/mapviewer.cpp - -QT+=network diff --git a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/bin/sample.png b/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/bin/sample.png deleted file mode 100644 index 70c336ddd..000000000 Binary files a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/bin/sample.png and /dev/null differ diff --git a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/src/main.cpp b/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/src/main.cpp deleted file mode 100644 index a7dcfb8d7..000000000 --- a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/src/main.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include "mapviewer.h" -int main(int argc, char *argv[]) -{ - - QApplication app(argc, argv); - - Mapviewer ta; - ta.resize(380, 565); - ta.setWindowTitle("Mapviewer"); - ta.show(); - return app.exec(); -} diff --git a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/src/mapviewer.cpp b/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/src/mapviewer.cpp deleted file mode 100644 index 635c4f59a..000000000 --- a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/src/mapviewer.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include "mapviewer.h" -Mapviewer::Mapviewer(QWidget *parent) - : QMainWindow(parent) -{ - // create MapControl - mc = new MapControl(QSize(380, 540)); - mc->showScale(true); - - // create mapadapter, for mainlayer and overlay - mapadapter = new EmptyMapAdapter(512); - - // create a layer with the mapadapter and type MapLayer - mainlayer = new MapLayer("", mapadapter); - - // add Layer to the MapControl - mc->addLayer(mainlayer); - - addZoomButtons(); - - // show mapcontrol in mainwindow - setCentralWidget(mc); - - FixedImageOverlay *fip = new FixedImageOverlay( - -36, 66, 37, 23, QCoreApplication::applicationDirPath() + "/sample.png"); - - mc->setView(QPointF(10, 50)); - mc->zoomIn(); - - mainlayer->addGeometry(fip); - - connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), this, - SLOT(coordinateClicked(const QMouseEvent *, const QPointF))); -} -void Mapviewer::addZoomButtons() -{ - // create buttons as controls for zoom - QPushButton *zoomin = new QPushButton("+"); - QPushButton *zoomout = new QPushButton("-"); - zoomin->setMaximumWidth(50); - zoomout->setMaximumWidth(50); - - connect(zoomin, SIGNAL(clicked(bool)), mc, SLOT(zoomIn())); - connect(zoomout, SIGNAL(clicked(bool)), mc, SLOT(zoomOut())); - - // add zoom buttons to the layout of the MapControl - QVBoxLayout *innerlayout = new QVBoxLayout; - innerlayout->addWidget(zoomin); - innerlayout->addWidget(zoomout); - mc->setLayout(innerlayout); -} - -Mapviewer::~Mapviewer() { } - -// resize the widget -void Mapviewer::resizeEvent(QResizeEvent *event) -{ - mc->resize(event->size()); -} - -void Mapviewer::coordinateClicked(const QMouseEvent *evnt, const QPointF coordinate) -{ - if (evnt->type() == QEvent::MouseButtonPress) - { - qDebug() << coordinate << ": " << evnt->x() << " / " << evnt->y(); - } -} diff --git a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/src/mapviewer.h b/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/src/mapviewer.h deleted file mode 100644 index 4ec2fee11..000000000 --- a/libs/QMapControl/Samples/Mapview_FixedOverlayOnEmptyMap/src/mapviewer.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef MAPVIEWER_H -#define MAPVIEWER_H - -#include -#include "../../../qmapcontrol.h" -using namespace qmapcontrol; -class Mapviewer : public QMainWindow -{ - Q_OBJECT - -public: - Mapviewer(QWidget *parent = 0); - - ~Mapviewer(); - -private: - MapControl *mc; - MapAdapter *mapadapter; - Layer *mainlayer; - - void addZoomButtons(); - -public slots: - void coordinateClicked(const QMouseEvent *evnt, const QPointF coordinate); - -protected: - virtual void resizeEvent(QResizeEvent *event); -}; - -#endif diff --git a/libs/QMapControl/Samples/Mapviewer/Mapviewer.kdevelop b/libs/QMapControl/Samples/Mapviewer/Mapviewer.kdevelop deleted file mode 100644 index 4f8a36eef..000000000 --- a/libs/QMapControl/Samples/Mapviewer/Mapviewer.kdevelop +++ /dev/null @@ -1,195 +0,0 @@ - - - - Kai Winter - kaiwinter@gmx.de - 1 - KDevTrollProject - C++ - - Qt - - Mapviewer - - . - false - - - - - - - - - - - false - false - - - *.o,*.lo,CVS - false - - - - - bash - bash_bugs - clanlib - w3c-dom-level2-html - fortran_bugs_gcc - gnome1 - gnustep - gtk - gtk_bugs - haskell - haskell_bugs_ghc - java_bugs_gcc - java_bugs_sun - kde2book - opengl - pascal_bugs_fp - php - php_bugs - perl - perl_bugs - python - python_bugs - qt-kdev3 - ruby - ruby_bugs - sdl - stl - w3c-svg - sw - w3c-uaag10 - wxwidgets_bugs - - - KDE Libraries (Doxygen) - - - - - - - - - - true - false - false - false - - - false - true - 10 - - - - - 4 - true - 4 - ExternalDesigner - /usr/lib/qt4 - /usr/lib/qt4/bin/qmake-qt4 - /usr/lib/qt4/bin/designer-qt4 - - - - false - true - true - 250 - 400 - 250 - false - 0 - true - true - false - std=_GLIBCXX_STD;__gnu_cxx=std - true - false - false - false - false - true - true - false - .; - - - - set - m_,_ - theValue - true - true - - - false - true - Vertical - - - Qt4 - - - - - - - - - - - - - - - - executable - ./bin/Mapviewer - - - ./bin - true - false - false - false - false - - - - true - false - 1 - false - - 0 - - - - 2 - false - true - false - - - - - .h - .cpp - - - - - - - - - - diff --git a/libs/QMapControl/Samples/Mapviewer/Mapviewer.pro b/libs/QMapControl/Samples/Mapviewer/Mapviewer.pro deleted file mode 100644 index b29807619..000000000 --- a/libs/QMapControl/Samples/Mapviewer/Mapviewer.pro +++ /dev/null @@ -1,16 +0,0 @@ -include(../../QMapControl.pri) -QT+=network -QT+=gui -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -greaterThan(QT_MAJOR_VERSION, 4): cache() - -DEPENDPATH += src -MOC_DIR = tmp -OBJECTS_DIR = obj -DESTDIR = ../bin -TARGET = Mapviewer - -# Input -HEADERS += src/mapviewer.h -SOURCES += src/main.cpp src/mapviewer.cpp - diff --git a/libs/QMapControl/Samples/Mapviewer/Readme b/libs/QMapControl/Samples/Mapviewer/Readme deleted file mode 100644 index 240ea16a0..000000000 --- a/libs/QMapControl/Samples/Mapviewer/Readme +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * \example mapviewer.cpp - * This application is just a simple map viewer. A Mapadapter is created (OpenStreetmaps) - * and added to a layer. The layer is given to the MapControl. - * Two Buttons are available to adjust the zoom level. - * - * You can find this example here: MapAPI/Samples/Mapviewer - * \image html sample_mapviewer.png "screenshot" - */ \ No newline at end of file diff --git a/libs/QMapControl/Samples/Mapviewer/src/main.cpp b/libs/QMapControl/Samples/Mapviewer/src/main.cpp deleted file mode 100644 index a483181d9..000000000 --- a/libs/QMapControl/Samples/Mapviewer/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include -#include - -#include "mapviewer.h" - -int main(int argc, char *argv[]) -{ - - QApplication app(argc, argv); - - Mapviewer ta; - ta.resize(380, 565); - ta.setWindowTitle("Mapviewer"); - ta.show(); - return app.exec(); -} diff --git a/libs/QMapControl/Samples/Mapviewer/src/mapviewer.cpp b/libs/QMapControl/Samples/Mapviewer/src/mapviewer.cpp deleted file mode 100644 index 45ec43a25..000000000 --- a/libs/QMapControl/Samples/Mapviewer/src/mapviewer.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "mapviewer.h" - -#include -#include - -/*! - * \example mapviewer.cpp - * This application is just a simple map viewer. A Mapadapter is created (OpenStreetmaps) - * and added to a layer. The layer is given to the MapControl. - * Two Buttons are available to adjust the zoom level. If the window is - * resized the map widget will adjust its size. - * - * You can find this example here: QMapControl/Samples/Mapviewer - * \image html sample_mapviewer.png "screenshot" - */ -Mapviewer::Mapviewer(QWidget *parent) - : QMainWindow(parent) -{ - // create MapControl - mc = new MapControl(QSize(380, 540)); - mc->showScale(true); - - // create mapadapter, for mainlayer and overlay - mapadapter = new OSMMapAdapter(); - - // create a layer with the mapadapter and type MapLayer - mainlayer = new MapLayer("OpenStreetMap-Layer", mapadapter); - - // add Layer to the MapControl - mc->addLayer(mainlayer); - - addZoomButtons(); - - mc->setView(QPointF(0, 0)); - mc->setZoom(2); - // show mapcontrol in mainwindow - setCentralWidget(mc); -} - -void Mapviewer::addZoomButtons() -{ - // create buttons as controls for zoom - QPushButton *zoomin = new QPushButton("+"); - QPushButton *zoomout = new QPushButton("-"); - zoomin->setMaximumWidth(50); - zoomout->setMaximumWidth(50); - - connect(zoomin, SIGNAL(clicked(bool)), mc, SLOT(zoomIn())); - connect(zoomout, SIGNAL(clicked(bool)), mc, SLOT(zoomOut())); - - // add zoom buttons to the layout of the MapControl - QVBoxLayout *innerlayout = new QVBoxLayout; - innerlayout->addWidget(zoomin); - innerlayout->addWidget(zoomout); - mc->setLayout(innerlayout); -} - -Mapviewer::~Mapviewer() { } - -// resize the widget -void Mapviewer::resizeEvent(QResizeEvent *event) -{ - mc->resize(event->size()); -} diff --git a/libs/QMapControl/Samples/Mapviewer/src/mapviewer.h b/libs/QMapControl/Samples/Mapviewer/src/mapviewer.h deleted file mode 100644 index ca528d02b..000000000 --- a/libs/QMapControl/Samples/Mapviewer/src/mapviewer.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef MAPVIEWER_H -#define MAPVIEWER_H -#include -#include -#include -#include -#include -using namespace qmapcontrol; -class Mapviewer : public QMainWindow -{ - Q_OBJECT - -public: - Mapviewer(QWidget *parent = 0); - - ~Mapviewer(); - -private: - MapControl *mc; - MapAdapter *mapadapter; - Layer *mainlayer; - - void addZoomButtons(); - -protected: - virtual void resizeEvent(QResizeEvent *event); -}; - -#endif diff --git a/libs/QMapControl/Samples/Multidemo/Multidemo.kdevelop b/libs/QMapControl/Samples/Multidemo/Multidemo.kdevelop deleted file mode 100644 index d15ab5f6f..000000000 --- a/libs/QMapControl/Samples/Multidemo/Multidemo.kdevelop +++ /dev/null @@ -1,197 +0,0 @@ - - - - Kai Winter - kaiwinter@gmx.de - 1 - KDevTrollProject - C++ - - Qt - - Multidemo - - . - false - - - - - - - - - - - false - false - - - *.o,*.lo,CVS - false - - - - - bash - bash_bugs - clanlib - w3c-dom-level2-html - fortran_bugs_gcc - gnome1 - gnustep - gtk - gtk_bugs - haskell - haskell_bugs_ghc - java_bugs_gcc - java_bugs_sun - kde2book - opengl - pascal_bugs_fp - php - php_bugs - perl - perl_bugs - python - python_bugs - qt-kdev3 - ruby - ruby_bugs - sdl - stl - w3c-svg - sw - w3c-uaag10 - wxwidgets_bugs - - - KDE Libraries (Doxygen) - - - - - - - - - - true - false - false - false - - - false - true - 10 - - - - - 4 - true - 4 - ExternalDesigner - /usr/lib/qt4 - /usr/lib/qt4/bin/qmake-qt4 - /usr/lib/qt4/bin/designer-qt4 - - - - false - true - true - 250 - 400 - 250 - false - 0 - true - true - false - std=_GLIBCXX_STD;__gnu_cxx=std - true - false - false - false - false - true - true - false - .; - - - - set - m_,_ - theValue - true - true - - - false - true - Vertical - - - QMapControl - Qt4 - - - - - - - - - - - - - - - - - executable - ./bin/Multidemo - - - ./bin - true - false - false - false - false - - - - true - false - 1 - false - - 0 - - - - 2 - false - true - false - - - - - .h - .cpp - - - - - - - - - - diff --git a/libs/QMapControl/Samples/Multidemo/Multidemo.pro b/libs/QMapControl/Samples/Multidemo/Multidemo.pro deleted file mode 100644 index 14d61f11b..000000000 --- a/libs/QMapControl/Samples/Multidemo/Multidemo.pro +++ /dev/null @@ -1,16 +0,0 @@ -include(../../QMapControl.pri) -QT+=network -DEPENDPATH += src -MOC_DIR = tmp -OBJECTS_DIR = obj -DESTDIR = ../bin -TARGET = Multidemo - -QT+=network -QT+=gui -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -greaterThan(QT_MAJOR_VERSION, 4): cache() - -# Input -HEADERS += src/multidemo.h src/gps_modul.h -SOURCES += src/multidemo.cpp src/main.cpp src/gps_modul.cpp diff --git a/libs/QMapControl/Samples/Multidemo/Readme b/libs/QMapControl/Samples/Multidemo/Readme deleted file mode 100644 index 86e120a3a..000000000 --- a/libs/QMapControl/Samples/Multidemo/Readme +++ /dev/null @@ -1,15 +0,0 @@ -/*! - * \example multidemo.cpp - * This is a bit complexer application, which lets you play around. - * There are the following buttons configured: - * - Add Point: adds a Point to the coordinate you click (this point will be clickable) - * - Drag Rect: lets to drag a rectangular into which will be zoomed in - * - Move To Click: moves the view middle to the clicked coordinate - * - GPS: starts a "pseudo" GPS receiver which emits new positions, these are connected to the ImagePoint - * - Follow Geom: Follows the ImagePoint, when it moves because of new GPS positions - * - * A overview map lefts you see where you are. You can even click on it to change your position. - * - * You can find this example here: MapAPI/Samples/Multimap - * \image html sample_multidemo.png "screenshot" - */ \ No newline at end of file diff --git a/libs/QMapControl/Samples/Multidemo/src/gps_modul.cpp b/libs/QMapControl/Samples/Multidemo/src/gps_modul.cpp deleted file mode 100644 index c87b2e2e8..000000000 --- a/libs/QMapControl/Samples/Multidemo/src/gps_modul.cpp +++ /dev/null @@ -1,86 +0,0 @@ -#include "gps_modul.h" - -double x = 1.0; -double y = 1.0; -GPS_Modul::GPS_Modul(QObject *parent) - : QObject(parent) -{ - // qDebug() << "GPS_Modul()"; - loadFile(); - - running = false; -} - -GPS_Modul::~GPS_Modul() { } - -void GPS_Modul::start() -{ - - if (!running) - { - running = true; - QTimer::singleShot(1000 / 25, this, SLOT(tick())); - } -} -void GPS_Modul::stop() -{ - running = false; -} - -void GPS_Modul::tick() -{ - // qDebug() << "GPS_Modul::tick()"; - - // GPS_Position pos = positions.takeFirst(); - // x = pos.longitude; - // y = pos.latitude; - - // qDebug() << pos.latitude << ", " << pos.longitude; - x += .1; - y += .1; - emit(new_position(QPointF(x, y))); - // emit(changed()); - - // if (running && !positions.isEmpty()) - if (running) - QTimer::singleShot(1000 / 25, this, SLOT(tick())); -} - -void GPS_Modul::loadFile() -{ - QFile file("/home/kai/kwint001/trunk/code/MapAPI/src/mainz_gps.nme"); - // qDebug() << file.exists(); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - { - qDebug() << file.error(); - return; - } - while (!file.atEnd()) - { - QByteArray line = file.readLine(); - process_line(line); - } -} - -void GPS_Modul::process_line(QByteArray line) -{ - if (!line.contains("GPRMC")) - return; - - line.chop(1); - // qDebug() << line; - - // get time - QList elems = line.split(','); - - float time = QString(elems.at(1)).toFloat(); - float latitude = elems.at(3).toFloat() / 100; - QString latitude_dir = elems.at(4); - float longitude = elems.at(5).toFloat() / 100; - QString longitude_dir = elems.at(6); - - positions.append( - GPS_Position(time, longitude, longitude_dir, latitude, latitude_dir)); - - // qDebug() << elems.at(6) << " | " << latitude; -} diff --git a/libs/QMapControl/Samples/Multidemo/src/gps_modul.h b/libs/QMapControl/Samples/Multidemo/src/gps_modul.h deleted file mode 100644 index c23493783..000000000 --- a/libs/QMapControl/Samples/Multidemo/src/gps_modul.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef GPS_MODUL_H -#define GPS_MODUL_H - -#include -#include -#include - -/** - @author Kai Winter -*/ -using namespace qmapcontrol; -class GPS_Modul : public QObject -{ - Q_OBJECT -public: - GPS_Modul(QObject *parent = 0); - ~GPS_Modul(); - void start(); - void stop(); - -private: - QList positions; - void loadFile(); - void process_line(QByteArray line); - bool running; - -signals: - void new_position(QPointF); - void changed(); - -public slots: - void tick(); -}; - -#endif diff --git a/libs/QMapControl/Samples/Multidemo/src/main.cpp b/libs/QMapControl/Samples/Multidemo/src/main.cpp deleted file mode 100644 index 23a3c9678..000000000 --- a/libs/QMapControl/Samples/Multidemo/src/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include "multidemo.h" -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - - Multidemo ta; - ta.resize(480, 640); - ta.setWindowTitle("QMapControl Demo"); - ta.show(); - return app.exec(); -} diff --git a/libs/QMapControl/Samples/Multidemo/src/multidemo.cpp b/libs/QMapControl/Samples/Multidemo/src/multidemo.cpp deleted file mode 100644 index 5b6aa8bd4..000000000 --- a/libs/QMapControl/Samples/Multidemo/src/multidemo.cpp +++ /dev/null @@ -1,320 +0,0 @@ -#include "multidemo.h" - -#include -#include -#include - -/*! - * \example multidemo.cpp - * This is a bit complexer application, which lets you play around. - * There are the following buttons configured: - * - Add Point: adds a Point to the coordinate you click (this point will be clickable) - * - Drag Rect: lets to drag a rectangular into which will be zoomed in - * - Move To Click: moves the view middle to the clicked coordinate - * - GPS: starts a "pseudo" GPS receiver which emits new positions, these are connected - * to the ImagePoint - * - Follow Geom: Follows the ImagePoint, when it moves because of new GPS positions - * - * A overview map lefts you see where you are. You can even click on it to change your - * position. - * - * You can find this example here: MapAPI/Samples/Multimap - * \image html sample_multidemo.png "screenshot" - */ -Multidemo::Multidemo(QWidget *parent) - : QWidget(parent) -{ - setupMaps(); - createLayout(); - - gm = new GPS_Modul(); - connect(gm, SIGNAL(new_position(QPointF)), ip, SLOT(setCoordinate(QPointF))); -} - -void Multidemo::setupMaps() -{ - QSize size = QSize(480, 640); - - // main map control - mc = new MapControl(size); - MapAdapter *mapadapter = new WMSMapAdapter( - "www2.demis.nl", - "/wms/" - "wms.asp?wms=WorldMap&LAYERS=Countries,Borders,Cities,Rivers,Settlements," - "Hillshading,Waterbodies,Railroads,Highways,Roads&FORMAT=image/" - "png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&STYLES=&EXCEPTIONS=application/" - "vnd.ogc.se_inimage&SRS=EPSG:4326&TRANSPARENT=FALSE", - 256); - - // maplayer - Layer *l = new MapLayer("Custom Layer", mapadapter); - mc->addLayer(l); - // Geometry layer - Layer *l2 = new GeometryLayer("Geom Layer", mapadapter); - mc->addLayer(l2); - - // "minimap" control - mc2 = new MapControl(QSize(150, 150), MapControl::None); - MapAdapter *mapadapter_mini = new OSMMapAdapter(); - Layer *layer_mini = new MapLayer("Custom Layer", mapadapter_mini); - mc2->addLayer(layer_mini); - - // create points - QPen *pen = new QPen(QColor(255, 0, 0, 100)); - pen->setWidth(5); - QList points; - points.append( - new CirclePoint(8.259959, 50.001781, "Mainz, Hauptbahnhof", Point::Middle, pen)); - points.append( - new CirclePoint(8.263758, 49.998917, "Mainz, Münsterplatz", Point::Middle, pen)); - points.append(new CirclePoint(8.265812, 50.001952, "Mainz, Neubrunnenplatz", - Point::Middle, pen)); - points.append(new CirclePoint(8.2688, 50.004015, "Mainz, Bauhofstraße LRP", - Point::Middle, pen)); - points.append( - new CirclePoint(8.272845, 50.00495, "Mainz, Landtag", Point::Middle, pen)); - points.append( - new CirclePoint(8.272845, 50.00495, "Mainz, Brückenplatz", Point::Middle, pen)); - points.append( - new CirclePoint(8.280349, 50.008173, "Mainz, Brückenkopf", Point::Middle, pen)); - points.append(new CirclePoint(8.273573, 50.016315, - "Wiesbaden-Mainz-Kastel, Eleonorenstraße", - Point::Middle, pen)); - points.append(new CirclePoint(8.275145, 50.016992, - "Wiesbaden-Mainz-Kastel, Johannes-Goßner-Straße", - Point::Middle, pen)); - points.append(new CirclePoint(8.270476, 50.021426, "Wiesbaden-Mainz-Kastel, Ruthof", - Point::Middle, pen)); - points.append(new CirclePoint(8.266445, 50.025913, - "Wiesbaden-Mainz-Kastel, Mudra Kaserne", Point::Middle, - pen)); - points.append(new CirclePoint(8.260378, 50.030345, - "Wiesbaden-Mainz-Amoneburg, Dyckerhoffstraße", - Point::Middle, pen)); - - // add points to linestring - pen = new QPen(QColor(0, 0, 255, 100)); - pen->setWidth(5); - LineString *ls = new LineString(points, "Busline 54", pen); - // the linestring is added to the MapLayer l, since it doenst change its points - l->addGeometry(ls); - - // this point receives position changes from the "gps modul" - ip = new ImagePoint(0, 0, - QCoreApplication::applicationDirPath() + "/images/marker1.png", - "image point", Point::TopRight); - - // so if have to be added to the GeometryLayer l2 - l2->addGeometry(ip); - QPushButton *pb = new QPushButton("test button", mc); - - // widget example - Point *wpoint = new Point(-20, -20, pb, ".", Point::TopLeft); - wpoint->setBaselevel(3); - l->addGeometry(wpoint); - pb->setGeometry(0, 0, 100, 50); - - connect(l, SIGNAL(geometryClicked(Geometry *, QPoint)), this, - SLOT(geometryClickEvent(Geometry *, QPoint))); - connect(l2, SIGNAL(geometryClicked(Geometry *, QPoint)), this, - SLOT(geometryClickEvent(Geometry *, QPoint))); - connect(mc, SIGNAL(boxDragged(const QRectF)), this, SLOT(draggedRect(QRectF))); - connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), this, - SLOT(mouseEventCoordinate(const QMouseEvent *, const QPointF))); - connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), this, - SLOT(coordinateClicked(const QMouseEvent *, const QPointF))); - connect(mc2, SIGNAL(mouseEventCoordinate(const QMouseEvent *, const QPointF)), this, - SLOT(coordinateClicked_mc2(const QMouseEvent *, const QPointF))); -} - -void Multidemo::createLayout() -{ - btn1 = new QPushButton("Add Point"); - btn1->setCheckable(true); - btn1->setMaximumWidth(80); - btn1->setMaximumHeight(20); - btn1->setFont(QFont("Verdana", 5)); - - btn2 = new QPushButton("Drag Rect"); - btn2->setCheckable(true); - btn2->setMaximumHeight(20); - btn2->setFont(QFont("Verdana", 5)); - btn2->setMaximumWidth(80); - - btn3 = new QPushButton("Move to Click"); - btn3->setCheckable(true); - btn3->setMaximumHeight(20); - btn3->setFont(QFont("Verdana", 5)); - btn3->setMaximumWidth(80); - - btn4 = new QPushButton("Follow Geom"); - btn4->setCheckable(true); - btn4->setMaximumHeight(20); - btn4->setFont(QFont("Verdana", 5)); - btn4->setMaximumWidth(80); - - btn5 = new QPushButton("GPS"); - btn5->setCheckable(true); - btn5->setMaximumHeight(20); - btn5->setFont(QFont("Verdana", 5)); - btn5->setMaximumWidth(80); - btn1->setFocusPolicy(Qt::NoFocus); - btn2->setFocusPolicy(Qt::NoFocus); - btn3->setFocusPolicy(Qt::NoFocus); - btn4->setFocusPolicy(Qt::NoFocus); - btn5->setFocusPolicy(Qt::NoFocus); - - QHBoxLayout *layout = new QHBoxLayout; - QVBoxLayout *layoutinner = new QVBoxLayout; - - layoutinner->addWidget(mc2); - layoutinner->addWidget(btn1); - layoutinner->addWidget(btn2); - layoutinner->addWidget(btn3); - layoutinner->addWidget(btn4); - layoutinner->addWidget(btn5); - layoutinner->addSpacing(70); - layout->addLayout(layoutinner); - - QHBoxLayout *mclayout = new QHBoxLayout; - mclayout->addWidget(mc); - mclayout->setMargin(0); - setLayout(mclayout); - - mc->setLayout(layoutinner); - - connect(btn2, SIGNAL(toggled(bool)), this, SLOT(buttonToggled(bool))); - - connect(btn4, SIGNAL(toggled(bool)), this, SLOT(toggleFollow(bool))); - - connect(btn5, SIGNAL(toggled(bool)), this, SLOT(toggleGPS(bool))); -} - -void Multidemo::coordinateClicked(const QMouseEvent *evnt, const QPointF coord) -{ - if (btn1->isChecked() && evnt->type() == QEvent::MouseButtonPress) - { - mc->layer("Geom Layer") - ->addGeometry(new CirclePoint(coord.x(), coord.y(), 10, "added point")); - mc->updateRequestNew(); - } -} - -void Multidemo::geometryClickEvent(Geometry *geom, QPoint) -{ - if (geom->hasClickedPoints()) - { - QList pp = geom->clickedPoints(); - for (int i = 0; i < pp.size(); ++i) - { - QMessageBox::information(this, geom->name(), pp.at(i)->name()); - } - } - else if (geom->GeometryType == "Point") - { - QMessageBox::information( - this, geom->name(), - QString("Position: ") - .append(QString().setNum(((Point *)geom)->longitude())) - .append(QString("/")) - .append(QString().setNum(((Point *)geom)->latitude()))); - } -} - -Multidemo::~Multidemo() { } - -void Multidemo::keyPressEvent(QKeyEvent *evnt) -{ - if (evnt->key() == 49 || evnt->key() == 17825792) // keyboard '1' - { - mc->zoomIn(); - } - else if (evnt->key() == 50) - { - mc->moveTo(QPointF(8.25, 60)); - } - else if (evnt->key() == 51 || evnt->key() == 16777313) // keyboard '3' - { - mc->zoomOut(); - } - else if (evnt->key() == 52) // 4 - { - mc->updateRequestNew(); - } - else if (evnt->key() == 16777234) // left - { - mc->scrollLeft(); - } - else if (evnt->key() == 16777236) // right - { - mc->scrollRight(); - } - else if (evnt->key() == 16777235) // up - { - mc->scrollUp(); - } - else if (evnt->key() == 16777237) // down - { - mc->scrollDown(); - } - else if (evnt->key() == 48 || evnt->key() == 17825797) // 0 - { - emit(close()); - } -} - -void Multidemo::resizeEvent(QResizeEvent *event) -{ - mc->resize(event->size()); -} - -void Multidemo::buttonToggled(bool active) -{ - if (active) - mc->setMouseMode(MapControl::Dragging); - else - mc->setMouseMode(MapControl::Panning); -} -void Multidemo::toggleFollow(bool follow) -{ - if (follow) - mc->followGeometry(ip); - else - mc->stopFollowing(ip); -} -void Multidemo::toggleGPS(bool gps) -{ - if (gps) - gm->start(); - else - gm->stop(); -} - -void Multidemo::draggedRect(QRectF rect) -{ - QList coords; - coords.append(rect.topLeft()); - coords.append(rect.bottomRight()); - mc->setViewAndZoomIn(coords); -} - -void Multidemo::mouseEventCoordinate(const QMouseEvent *evnt, const QPointF coordinate) -{ - if (evnt->type() == QEvent::MouseButtonPress && btn3->isChecked()) - { - mc->moveTo(coordinate); - } - // update mini-window - else if (evnt->type() == QEvent::MouseButtonRelease) - { - mc2->setView(mc->currentCoordinate()); - } -} -void Multidemo::coordinateClicked_mc2(const QMouseEvent *evnt, const QPointF coordinate) -{ - if (evnt->type() == QEvent::MouseButtonPress) - { - mc2->moveTo(coordinate); - mc->setView(coordinate); - } -} diff --git a/libs/QMapControl/Samples/Multidemo/src/multidemo.h b/libs/QMapControl/Samples/Multidemo/src/multidemo.h deleted file mode 100644 index c32f65b54..000000000 --- a/libs/QMapControl/Samples/Multidemo/src/multidemo.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef MULTIDEMO_H -#define MULTIDEMO_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include "gps_modul.h" -using namespace qmapcontrol; -class Multidemo : public QWidget -{ - Q_OBJECT -public: - Multidemo(QWidget *parent = 0); - - ~Multidemo(); - -private: - MapControl *mc; - MapControl *mc2; - QPushButton *btn1; - QPushButton *btn2; - QPushButton *btn3; - QPushButton *btn4; - QPushButton *btn5; - ImagePoint *ip; - GPS_Modul *gm; - - void setupMaps(); - void createLayout(); - Layer *l; - -public slots: - void geometryClickEvent(Geometry *geom, QPoint coord_px); - void coordinateClicked(const QMouseEvent *, const QPointF); - void coordinateClicked_mc2(const QMouseEvent *, const QPointF); - void buttonToggled(bool); - void toggleFollow(bool); - void toggleGPS(bool); - - void draggedRect(QRectF); - void mouseEventCoordinate(const QMouseEvent *, const QPointF); - -protected: - void keyPressEvent(QKeyEvent *evnt); - virtual void resizeEvent(QResizeEvent *event); - -signals: - void setX(int); - void setY(int); - void zoomIn(); - void zoomOut(); -}; - -#endif diff --git a/libs/QMapControl/Samples/Phonebook/phonebook.kdevelop b/libs/QMapControl/Samples/Phonebook/phonebook.kdevelop deleted file mode 100644 index 6582b8127..000000000 --- a/libs/QMapControl/Samples/Phonebook/phonebook.kdevelop +++ /dev/null @@ -1,216 +0,0 @@ - - - - Kai Winter - kaiwinter@gmx.de - 0.9 - KDevTrollProject - C++ - - Qt - - - Phonebook - . - false - - - - - - - - - - false - false - - - false - *.o,*.lo,CVS - - - - - true - 4 - 4 - ExternalDesigner - /usr/lib/qt4/bin/qmake - /usr/lib/qt4/bin/designer - /usr/lib/qt4 - - - - false - true - true - 250 - 400 - 250 - false - 0 - true - true - false - std=_GLIBCXX_STD;__gnu_cxx=std - true - false - false - false - false - true - true - false - .; - - - - set - m_,_ - theValue - true - true - - - false - true - Vertical - - - QMapControl - Qt4 - - - - - bash - bash_bugs - clanlib - fortran_bugs_gcc - gnome1 - gnustep - gtk - gtk_bugs - haskell - haskell_bugs_ghc - java_bugs_gcc - java_bugs_sun - kde2book - opengl - pascal_bugs_fp - php - php_bugs - perl - perl_bugs - python - python_bugs - qt-kdev3 - ruby - ruby_bugs - sdl - stl - sw - w3c-dom-level2-html - w3c-svg - w3c-uaag10 - wxwidgets_bugs - - - KDE Libraries (Doxygen) - - - - - - - - /usr/bin/gdb - true - false - false - - - - false - - - false - true - 10 - - - - - - ./bin/Phonebook - - executable - - ./bin/ - true - false - false - false - false - - - - - - - true - false - 1 - false - - 0 - - - - 2 - false - true - false - - - - - - - - - - - - - - - - - Doxygen Documentation Collection - phonebook.tag - - - - Phonebook - phonebook - Phonebook - PHONEBOOK - Kai Winter - /usr/lib/qt4/bin/designer - kaiwinter@gmx.de - GPL - COPYING - /usr/lib/qt4/bin/qmake - 0.9 - 2008 - /home/kai/kwint001/trunk/code/MapAPI/Samples/Phonebook - - - - .h - .cpp - - - diff --git a/libs/QMapControl/Samples/Phonebook/phonebook.pro b/libs/QMapControl/Samples/Phonebook/phonebook.pro deleted file mode 100644 index da86aafa8..000000000 --- a/libs/QMapControl/Samples/Phonebook/phonebook.pro +++ /dev/null @@ -1,15 +0,0 @@ -include(../../QMapControl.pri) -MOC_DIR = tmp -OBJECTS_DIR = obj -DESTDIR = bin -TARGET = Phonebook -DEPENDPATH += . ../../src -INCLUDEPATH += . ../../src - -# Input -SOURCES += phonebook.cpp \ - main.cpp -HEADERS += phonebook.h - -QT+=network - diff --git a/libs/QMapControl/Samples/Phonebook/src/main.cpp b/libs/QMapControl/Samples/Phonebook/src/main.cpp deleted file mode 100644 index 1f8d44389..000000000 --- a/libs/QMapControl/Samples/Phonebook/src/main.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include -#include "phonebook.h" - -int main(int argc, char *argv[]) -{ - - QApplication app(argc, argv); - - Phonebook pb; - pb.resize(480, 500); - pb.setWindowTitle("Phonebook Demo"); - pb.show(); - return app.exec(); -} diff --git a/libs/QMapControl/Samples/Phonebook/src/phonebook.cpp b/libs/QMapControl/Samples/Phonebook/src/phonebook.cpp deleted file mode 100644 index 056e374c4..000000000 --- a/libs/QMapControl/Samples/Phonebook/src/phonebook.cpp +++ /dev/null @@ -1,122 +0,0 @@ -#include "phonebook.h" - -Phonebook::Phonebook(QWidget *parent) -{ - mc = new MapControl(QSize(480, 540)); - MapAdapter *mapadapter = new OSMMapAdapter(); - Layer *map = new MapLayer("Karte", mapadapter); - friends = new GeometryLayer("Friends", mapadapter); - - friendpoint = new CirclePoint(0., 0., 10); - friends->addGeometry(friendpoint); - - mc->addLayer(map); - mc->addLayer(friends); - - QListWidget *list = new QListWidget(); - QStringList strlist; - strlist << "Kai" - << "2"; - list->addItems(strlist); - connect(list, SIGNAL(itemClicked(QListWidgetItem *)), this, - SLOT(selectedName(QListWidgetItem *))); - - QSlider *slider = new QSlider(Qt::Horizontal); - slider->setMinimum(0); - slider->setMaximum(17); - connect(slider, SIGNAL(valueChanged(int)), mc, SLOT(setZoom(int))); - - mc->setMinimumWidth(480); - QVBoxLayout *maplayout = new QVBoxLayout; - maplayout->addWidget(mc); - maplayout->addWidget(slider); - - QHBoxLayout *layout = new QHBoxLayout; - layout->addWidget(list); - layout->addLayout(maplayout); - - QWidget *w = new QWidget; - - w->setLayout(layout); - setCentralWidget(w); - - createActions(); - createMenus(); -} - -void Phonebook::selectedName(QListWidgetItem *item) -{ - if (item->text() == "Kai") - { - friendpoint->setCoordinate(QPointF(8.26, 50)); - friendpoint->setName("Kai"); - mc->setView(friendpoint); - } - else if (item->text() == "2") - { - friendpoint->setCoordinate(QPointF(6.43, 40)); - mc->setView(friendpoint); - } -} - -void Phonebook::createActions() -{ - // newAct = new QAction(QIcon(":/filenew.xpm"), tr("&New"), this); - // newAct->setShortcut(tr("Ctrl+N")); - // newAct->setStatusTip(tr("Create a new file")); - // connect(newAct, SIGNAL(triggered()), this, SLOT(newFile())); - // - // openAct = new QAction(QIcon(":/fileopen.xpm"), tr("&Open..."), this); - // openAct->setShortcut(tr("Ctrl+O")); - // openAct->setStatusTip(tr("Open an existing file")); - // connect(openAct, SIGNAL(triggered()), this, SLOT(open())); - // - // saveAct = new QAction(QIcon(":/filesave.xpm"), tr("&Save"), this); - // saveAct->setShortcut(tr("Ctrl+S")); - // saveAct->setStatusTip(tr("Save the document to disk")); - // connect(saveAct, SIGNAL(triggered()), this, SLOT(save())); - // - // saveAsAct = new QAction(tr("Save &As..."), this); - // saveAsAct->setStatusTip(tr("Save the document under a new name")); - // connect(saveAsAct, SIGNAL(triggered()), this, SLOT(saveAs())); - // - // exitAct = new QAction(tr("E&xit"), this); - // exitAct->setShortcut(tr("Ctrl+Q")); - // exitAct->setStatusTip(tr("Exit the application")); - // connect(exitAct, SIGNAL(triggered()), this, SLOT(close())); - // - // aboutAct = new QAction(tr("&About"), this); - // aboutAct->setStatusTip(tr("Show the application's About box")); - // connect(aboutAct, SIGNAL(triggered()), this, SLOT(about())); - // - // aboutQtAct = new QAction(tr("About &Qt"), this); - // aboutQtAct->setStatusTip(tr("Show the Qt library's About box")); - // connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt())); - // - // cutAct->setEnabled(false); - // copyAct->setEnabled(false); -} - -void Phonebook::createMenus() -{ - fileMenu = menuBar()->addMenu(tr("&File")); - // fileMenu->addAction(newAct); - // fileMenu->addAction(openAct); - // fileMenu->addAction(saveAct); - // fileMenu->addAction(saveAsAct); - // fileMenu->addSeparator(); - // fileMenu->addAction(exitAct); - - editMenu = menuBar()->addMenu(tr("&Edit")); - // editMenu->addAction(cutAct); - // editMenu->addAction(copyAct); - // editMenu->addAction(pasteAct); - - menuBar()->addSeparator(); - - helpMenu = menuBar()->addMenu(tr("&Help")); - // helpMenu->addAction(aboutAct); - // helpMenu->addAction(aboutQtAct); -} - -Phonebook::~Phonebook() { } diff --git a/libs/QMapControl/Samples/Phonebook/src/phonebook.h b/libs/QMapControl/Samples/Phonebook/src/phonebook.h deleted file mode 100644 index bd9fd45de..000000000 --- a/libs/QMapControl/Samples/Phonebook/src/phonebook.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef PHONEBOOK_H -#define PHONEBOOK_H - -#include -#include "../../../qmapcontrol.h" -using namespace qmapcontrol; -class Phonebook : public QMainWindow -{ - Q_OBJECT -public: - Phonebook(QWidget *parent = 0); - ~Phonebook(); - -private: - MapControl *mc; - Layer *friends; - Point *friendpoint; - void createActions(); - void createMenus(); - - QMenu *fileMenu; - QMenu *editMenu; - QMenu *helpMenu; - QToolBar *fileToolBar; - QToolBar *editToolBar; - QAction *newAct; - QAction *openAct; - QAction *saveAct; - QAction *saveAsAct; - QAction *exitAct; - QAction *cutAct; - QAction *copyAct; - QAction *pasteAct; - QAction *aboutAct; - QAction *aboutQtAct; - -public slots: - void selectedName(QListWidgetItem *item); -}; - -#endif diff --git a/libs/QMapControl/Samples/Samples.pro b/libs/QMapControl/Samples/Samples.pro deleted file mode 100644 index b92f0401c..000000000 --- a/libs/QMapControl/Samples/Samples.pro +++ /dev/null @@ -1,6 +0,0 @@ -SUBDIRS += Mapviewer \ - LinesAndPoints \ - GPS \ - Multidemo \ - Citymap -TEMPLATE = subdirs diff --git a/libs/QMapControl/Samples/bin/images/180-dom.jpg b/libs/QMapControl/Samples/bin/images/180-dom.jpg deleted file mode 100644 index 3d43e5f6d..000000000 Binary files a/libs/QMapControl/Samples/bin/images/180-dom.jpg and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/180-lm.jpg b/libs/QMapControl/Samples/bin/images/180-lm.jpg deleted file mode 100644 index d92cf2ae3..000000000 Binary files a/libs/QMapControl/Samples/bin/images/180-lm.jpg and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/180-quintin.jpg b/libs/QMapControl/Samples/bin/images/180-quintin.jpg deleted file mode 100644 index ccaaf9987..000000000 Binary files a/libs/QMapControl/Samples/bin/images/180-quintin.jpg and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/180-rgzm.jpg b/libs/QMapControl/Samples/bin/images/180-rgzm.jpg deleted file mode 100644 index 8367c7abb..000000000 Binary files a/libs/QMapControl/Samples/bin/images/180-rgzm.jpg and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/180-stephan.jpg b/libs/QMapControl/Samples/bin/images/180-stephan.jpg deleted file mode 100644 index 546903434..000000000 Binary files a/libs/QMapControl/Samples/bin/images/180-stephan.jpg and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/bus_stop.png b/libs/QMapControl/Samples/bin/images/bus_stop.png deleted file mode 100644 index e028bca69..000000000 Binary files a/libs/QMapControl/Samples/bin/images/bus_stop.png and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/flag.png b/libs/QMapControl/Samples/bin/images/flag.png deleted file mode 100644 index 67ae00fa9..000000000 Binary files a/libs/QMapControl/Samples/bin/images/flag.png and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/marker1.png b/libs/QMapControl/Samples/bin/images/marker1.png deleted file mode 100644 index 60b2f9e3c..000000000 Binary files a/libs/QMapControl/Samples/bin/images/marker1.png and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/marker2.png b/libs/QMapControl/Samples/bin/images/marker2.png deleted file mode 100644 index 7ea3fa10f..000000000 Binary files a/libs/QMapControl/Samples/bin/images/marker2.png and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/marker3.png b/libs/QMapControl/Samples/bin/images/marker3.png deleted file mode 100644 index 2aa281765..000000000 Binary files a/libs/QMapControl/Samples/bin/images/marker3.png and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/note.png b/libs/QMapControl/Samples/bin/images/note.png deleted file mode 100644 index 945f60516..000000000 Binary files a/libs/QMapControl/Samples/bin/images/note.png and /dev/null differ diff --git a/libs/QMapControl/Samples/bin/images/pub.png b/libs/QMapControl/Samples/bin/images/pub.png deleted file mode 100644 index b1dd8f649..000000000 Binary files a/libs/QMapControl/Samples/bin/images/pub.png and /dev/null differ diff --git a/libs/QMapControl/html/annotated.html b/libs/QMapControl/html/annotated.html deleted file mode 100644 index bb0221ddc..000000000 --- a/libs/QMapControl/html/annotated.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - -QMapControl: Class List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
-
[detail level 12]
- - - - - - - - - - - - - - - - - - - - - - - - - -
 NqmapcontrolQMapControl namespace
 CArrowPointDraws a directed arrow (showing orientation) into the map
 CCirclePointDraws a circle into the map
 CCurveA Curve Geometry, implemented to fullfil OGC Spec
 CEmptyMapAdapterMapAdapter which do not load map tiles
 CFixedImageOverlayDraws a fixed image into the map
 CGeometryMain class for objects that should be painted in maps
 CGeometryLayerGeometryLayer class
 CGoogleMapAdapterMapAdapter for Google
 CImagePointDraws an image into the map
 CInvisiblePointDraws an invisible point into the map
 CLayerLayer class
 CLineStringA collection of Point objects to describe a line
 CMapAdapterUsed to fit map servers into QMapControl
 CMapControlThe control element of the widget and also the widget itself
 CMapLayerMapLayer class
 CMapNetwork
 COpenAerialMapAdapterMapAdapter for OpenStreetMap
 COSMMapAdapterMapAdapter for OpenStreetMap
 CPointA geometric point to draw objects into maps
 CTileMapAdapterMapAdapter for servers with image tiles
 CWMSMapAdapterMapAdapter for WMS servers
 CYahooMapAdapterMapAdapter for Yahoo Maps
 CQObject
 CQWidget
-
-
- - - - diff --git a/libs/QMapControl/html/arrowpoint_8h_source.html b/libs/QMapControl/html/arrowpoint_8h_source.html deleted file mode 100644 index f262a25d3..000000000 --- a/libs/QMapControl/html/arrowpoint_8h_source.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -QMapControl: arrowpoint.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
arrowpoint.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2010 Jeffery MacEachern
-
7 * Based on CirclePoint code by Kai Winter
-
8 *
-
9 * This program is free software: you can redistribute it and/or modify
-
10 * it under the terms of the GNU Lesser General Public License as published by
-
11 * the Free Software Foundation, either version 3 of the License, or
-
12 * (at your option) any later version.
-
13 *
-
14 * This program is distributed in the hope that it will be useful,
-
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
17 * GNU Lesser General Public License for more details.
-
18 *
-
19 * You should have received a copy of the GNU Lesser General Public License
-
20 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
21 *
-
22 * Contact e-mail: kaiwinter@gmx.de
-
23 * Program URL : http://qmapcontrol.sourceforge.net/
-
24 *
-
25 */
-
26 
-
27 #ifndef ARROWPOINT_H
-
28 #define ARROWPOINT_H
-
29 
-
30 #include <QBrush>
-
31 
-
32 #include "qmapcontrol_global.h"
-
33 #include "math.h"
-
34 #include "point.h"
-
35 
-
36 namespace qmapcontrol
-
37 {
-
39 
-
45  class QMAPCONTROL_EXPORT ArrowPoint : public Point
-
46  {
-
47  public:
-
49 
-
59  ArrowPoint(qreal x, qreal y, int sideLength, qreal heading, QString name = QString(), Alignment alignment = Middle, QPen* pen=0);
-
60  virtual ~ArrowPoint();
-
61 
-
63 
-
68  virtual void setPen(QPen* pen);
-
69 
-
71 
-
74  void setHeading(qreal heading);
-
75 
-
77  qreal getHeading() const;
-
78  private:
-
79  void drawArrow();
-
80 
-
81  // Heading
-
82  qreal h;
-
83 
-
84  // Brush to fill the arrow with - solid colour, same as pen
-
85  QBrush mybrush;
-
86  };
-
87 }
-
88 #endif
-
Alignment
sets where the point should be aligned
Definition: point.h:75
-
A geometric point to draw objects into maps.
Definition: point.h:66
-
Draws a directed arrow (showing orientation) into the map.
Definition: arrowpoint.h:45
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/bc_s.png b/libs/QMapControl/html/bc_s.png deleted file mode 100644 index 224b29aa9..000000000 Binary files a/libs/QMapControl/html/bc_s.png and /dev/null differ diff --git a/libs/QMapControl/html/bdwn.png b/libs/QMapControl/html/bdwn.png deleted file mode 100644 index 940a0b950..000000000 Binary files a/libs/QMapControl/html/bdwn.png and /dev/null differ diff --git a/libs/QMapControl/html/circlepoint_8h_source.html b/libs/QMapControl/html/circlepoint_8h_source.html deleted file mode 100644 index 77fd986e7..000000000 --- a/libs/QMapControl/html/circlepoint_8h_source.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -QMapControl: circlepoint.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
circlepoint.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef CIRCLEPOINT_H
-
27 #define CIRCLEPOINT_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "point.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
35 
-
41  class QMAPCONTROL_EXPORT CirclePoint : public Point
-
42  {
-
43  public:
-
45 
-
53  CirclePoint(qreal x, qreal y, QString name = QString(), Alignment alignment = Middle, QPen* pen=0);
-
54 
-
56 
-
65  CirclePoint(qreal x, qreal y, int radius = 10, QString name = QString(), Alignment alignment = Middle, QPen* pen=0);
-
66  virtual ~CirclePoint();
-
67 
-
69 
-
74  virtual void setPen(QPen* pen);
-
75 
-
76  private:
-
77  void drawCircle();
-
78  };
-
79 }
-
80 #endif
-
Draws a circle into the map.
Definition: circlepoint.h:41
-
Alignment
sets where the point should be aligned
Definition: point.h:75
-
A geometric point to draw objects into maps.
Definition: point.h:66
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/citymap_8cpp-example.html b/libs/QMapControl/html/citymap_8cpp-example.html deleted file mode 100644 index d4674f89d..000000000 --- a/libs/QMapControl/html/citymap_8cpp-example.html +++ /dev/null @@ -1,536 +0,0 @@ - - -QMapControl: citymap.cpp - - - - - -
-

citymap.cpp

This demo appclication shows more features of the QMapControl. It shows images, which changes its size when changing the zoomlevel. You can display/hide layers and choose different map providers. Also it demonstrates more possibilities for user interaction:
-
    -
  • notes can be added to any coordinate (a QTextEdit is used for editing the note)
    -
  • the user can measure distances between two points
-

-

-sample_citymap.png -

screenshot

-
-#include "citymap.h"
-
-Citymap::Citymap(QWidget*)
-{
-        // create MapControl
-        mc = new MapControl(QSize(380,540));
-    mc->showScale(true);
-        // display the MapControl in the application
-        QVBoxLayout* layout = new QVBoxLayout;
-        layout->addWidget(mc);
-        
-        QWidget* w = new QWidget();
-        w->setLayout(layout);
-        setCentralWidget(w);
-
-        
-        notepixmap = new QPixmap(QCoreApplication::applicationDirPath() + "/images/note.png");
-        
-        coord1 = QPointF();
-        coord2 = QPointF();
-        mapadapter = new OSMMapAdapter();
-        MapAdapter* mapadapter_overlay = new YahooMapAdapter("us.maps3.yimg.com", "/aerial.maps.yimg.com/png?v=2.2&t=h&s=256&x=%2&y=%3&z=%1");
-
-        // create a layer with the mapadapter and type MapLayer
-        l = new MapLayer("Custom Layer", mapadapter);
-        overlay = new MapLayer("Overlay", mapadapter_overlay);
-        overlay->setVisible(false);
-
-        mc->addLayer(l);
-        mc->addLayer(overlay);
-                
-        notes = new GeometryLayer("Notes", mapadapter);
-        
-        
-        createTours();
-        addSights();
-        addPubs();
-        addMuseums();
-        
-        addZoomButtons();
-        createActions();
-        createMenus();
-        
-        mc->addLayer(notes);
-        connect(notes, SIGNAL(geometryClicked(Geometry*, QPoint)),
-                          this, SLOT(editNote(Geometry*, QPoint)));
-
-        
-        mc->setView(QPointF(8.26,50));
-        mc->setZoom(13);
-        
-        ignoreClicks = false;
-        addingNote = false;
-        noteID = 0;
-        
-        notetextedit = new QTextEdit(mc);
-        notetextedit->setGeometry(0,0,200,100);
-        notepoint = new Point(0, 0, notetextedit, ".", Point::TopLeft);
-        notepoint->setVisible(false);
-        notes->addGeometry(notepoint);
-        
-}
-
-void Citymap::createTours()
-{
-        QPen* pen = new QPen(QColor(0,0,255,100));
-        pen->setWidth(5);
-        
-        QList<Point*> points;
-        points << new Point(8.2606, 50.0051);
-        points << new Point(8.2602, 50.0050);
-        points << new Point(8.2598, 50.0044);
-        points << new Point(8.2569, 50.0057);
-        points << new Point(8.2595, 50.0083);
-        points << new Point(8.2587, 50.0086);
-        points << new Point(8.2589, 50.0100);
-        points << new Point(8.2590, 50.0105);
-        pub_tour = new LineString(points, "", pen);
-        notes->addGeometry(pub_tour);
-        
-        points.clear();
-        points << new Point(8.25987, 50.0018);
-        points << new Point(8.26192, 50.0019);
-        points << new Point(8.26301, 50.0031);
-        points << new Point(8.26459, 50.0026);
-        points << new Point(8.26601, 50.004);
-        points << new Point(8.26781, 50.0033);
-        points << new Point(8.27052, 50.0054);
-        points << new Point(8.2697, 50.0059);
-        museum_tour = new LineString(points, "", pen);
-        notes->addGeometry(museum_tour);
-        
-        points.clear();
-        points << new Point(8.26015, 50.0015);
-        points << new Point(8.2617, 50.0012);
-        points << new Point(8.26423, 50.0002);
-        points << new Point(8.26698, 50.0024);
-        points << new Point(8.27065, 50.0012);
-        points << new Point(8.27152, 50.0016);
-        points << new Point(8.27225, 50.0004);
-        points << new Point(8.27333, 49.9994);
-        points << new Point(8.26946, 49.9983);
-        points << new Point(8.27105, 49.9973);
-        points << new Point(8.27024, 49.9972);
-        points << new Point(8.26833, 49.9958);
-        sights_tour = new LineString(points, "", pen);
-        notes->addGeometry(sights_tour);
-}
-
-void Citymap::addSights()
-{
-        sights = new GeometryLayer("Sehenswürdigkeiten", mapadapter);
-        mc->addLayer(sights);
-        Point* dom = new ImagePoint(8.274167, 49.998889, QCoreApplication::applicationDirPath() + "/images/180-dom.jpg", "Mainzer Dom");
-        dom->setBaselevel(17);
-        sights->addGeometry(dom);
-        
-        Point* stephan = new ImagePoint(8.268611, 49.995556, QCoreApplication::applicationDirPath() + "/images/180-stephan.jpg","St. Stephan");
-        stephan->setBaselevel(17);
-        sights->addGeometry(stephan);
-        
-        Point* quitin = new ImagePoint(8.272222, 50.000833, QCoreApplication::applicationDirPath() + "/images/180-quintin.jpg","St. Quintin");
-        quitin->setBaselevel(17);
-        sights->addGeometry(quitin);    
-        connect(sights, SIGNAL(geometryClicked(Geometry*, QPoint)),
-                          this, SLOT(geometryClicked(Geometry*, QPoint)));
-}
-void Citymap::addPubs()
-{
-        pubs = new GeometryLayer("Kneipe", mapadapter);
-        mc->addLayer(pubs);
-        QPixmap* pub = new QPixmap(QCoreApplication::applicationDirPath() + "/images/pub.png");
-        
-        Point* bagatelle = new Point(8.2606, 50.0052, pub, "Bagatelle");
-        pubs->addGeometry(bagatelle);
-        
-        Point* nirgendwo = new Point(8.2595, 50.0048, pub, "Nirgendwo");
-        pubs->addGeometry(nirgendwo);
-        
-        Point* krokodil = new Point(8.2594,50.0106, pub, "Krokodil");
-        pubs->addGeometry(krokodil);
-        
-        connect(pubs, SIGNAL(geometryClicked(Geometry*, QPoint)),
-                          this, SLOT(geometryClickEventKneipe(Geometry*, QPoint)));
-}
-void Citymap::addMuseums()
-{
-        museum = new GeometryLayer("Museen", mapadapter);
-        mc->addLayer(museum);
-        Point* rgzm = new ImagePoint(8.269722, 50.006111, QCoreApplication::applicationDirPath() + "/images/180-rgzm.jpg", "rgzm");
-        rgzm->setBaselevel(17);
-        museum->addGeometry(rgzm);
-        
-        Point* lm= new ImagePoint(8.26778, 50.00385, QCoreApplication::applicationDirPath() + "/images/180-lm.jpg", "lm");
-        lm ->setBaselevel(17);
-        museum->addGeometry(lm);        
-        
-        connect(museum, SIGNAL(geometryClicked(Geometry*, QPoint)),
-                          this, SLOT(geometryClicked(Geometry*, QPoint)));
-}
-
-void Citymap::geometryClicked(Geometry* geometry, QPoint)
-{
-        if (ignoreClicks || addingNote)
-                return;
-        
-        InfoDialog* infodialog = new InfoDialog(this);
-        infodialog->setWindowTitle(geometry->name());
-        
-        if (geometry->name() == "Mainzer Dom")
-        {
-                infodialog->setInfotext("<h1>Mainzer Dom</h1><p><img src=\"images/180-dom.jpg\" align=\"left\"/>Der Hohe Dom zu Mainz ist die Bischofskirche der Diözese Mainz und steht unter dem Patrozinium des heiligen Martin von Tours. Der Ostchor ist dem Hl. Stephan geweiht. Der zu den Kaiserdomen zählende Bau ist in seiner heutigen Form eine dreischiffige romanische Säulenbasilika, die in ihren Anbauten sowohl gotische als auch barocke Elemente aufweist.</p>");
-                
-        } else if (geometry->name() == "St. Stephan")
-        {
-                infodialog->setInfotext("<h1>St. Stephan</h1><p><img src=\"images/180-stephan.jpg\" align=\"left\"/>Die katholische Pfarrkirche Sankt Stephan in Mainz wurde 990 von Erzbischof Willigis auf der höchsten Erhebung der Stadt gegründet. Auftraggeberin war höchstwahrscheinlich die Kaiserwitwe Theophanu. Willigis wollte mit ihr die Gebetsstätte des Reiches schaffen. In der Kirche war ursprünglich ein Stift untergebracht. Der Propst des Stiftes verwaltete eines der Archidiakonate (mittelalterliche Organisationseinheit, ähnlich den heutigen Dekanaten) des Erzbistums.</p>");
-        } else if (geometry->name() == "St. Quintin")
-        {
-                infodialog->setInfotext("<h1>St. Quintin</h1><p><img src=\"images/180-quintin.jpg\" align=\"left\"/>Die Kirche St. Quintin in Mainz ist die Pfarrkirche der ältesten nachgewiesenen Pfarrei der Stadt.");
-        } else if (geometry->name() == "rgzm")
-        {
-                infodialog->setInfotext("<h1>Römisch-Germanisches Zentralmuseum</h1><p><img src=\"images/180-rgzm.jpg\" align=\"left\"/>Das Römisch-Germanische Zentralmuseum (RGZM) in Mainz ist ein Forschungsinstitut für Vor- und Frühgeschichte, das von Bund und Ländern getragen wird und zur Leibniz-Gemeinschaft deutscher Forschungseinrichtungen gehört. Gegliedert in mehrere Abteilungen, arbeitet das Institut im Bereich der Alten Welt sowie seiner Kontaktzonen von der Altsteinzeit bis ins Mittelalter.");
-        } else if (geometry->name() == "lm")
-        {
-                infodialog->setInfotext("<h1>Landesmuseum Mainz</h1><p><img src=\"images/180-lm.jpg\" align=\"left\"/>Das Landesmuseum Mainz ist eines der ältesten Museen in Deutschland. Eine seiner Vorgängerinstitutionen, die Städtische Gemäldesammlung, wurde bereits 1803 von Jean-Antoine Chaptal auf Veranlassung Napoléon Bonapartes durch eine Schenkung von 36 Gemälden gegründet. Das Museum, welches sich heute im ehemaligen kurfürstlichen Marstall befindet, gehört zusammen mit dem Römisch-Germanischen Zentralmuseum und dem Gutenbergmuseum zu den bedeutenden Museen in Mainz. Seine kunst- und kulturgeschichtliche Sammlung erstreckt sich von der Vorgeschichte über die römische Zeit, dem Mittelalter und Barock bis hin zur Jugendstilzeit und der Kunst des 20. Jahrhunderts.");
-        }
-        if (geometry->name() != "")
-                infodialog->showMaximized();
-}
-
-void Citymap::geometryClickEventKneipe(Geometry* geometry, QPoint)
-{
-        if (ignoreClicks || addingNote)
-                return;
-        InfoDialog* infodialog = new InfoDialog(this);
-        infodialog->setWindowTitle(geometry->name());
-        infodialog->setInfotext("<h1>" + geometry->name() + "</h1>");
-        infodialog->showNormal();
-}
-
-void Citymap::addZoomButtons()
-{
-        // create buttons as controls for zoom
-        QPushButton* zoomin = new QPushButton("+");
-        QPushButton* zoomout = new QPushButton("-");
-        zoomin->setMaximumWidth(50);
-        zoomout->setMaximumWidth(50);
-        
-        connect(zoomin, SIGNAL(clicked(bool)),
-                          mc, SLOT(zoomIn()));
-        connect(zoomout, SIGNAL(clicked(bool)),
-                          mc, SLOT(zoomOut()));
-        
-        // add zoom buttons to the layout of the MapControl
-        QVBoxLayout* innerlayout = new QVBoxLayout;
-        innerlayout->addWidget(zoomin);
-        innerlayout->addWidget(zoomout);
-        mc->setLayout(innerlayout);
-}
-
-void Citymap::createActions()
-{
-        toggleSights = new QAction(tr("Show Sights"), this);
-        toggleSights->setCheckable(true);
-        toggleSights->setChecked(true);
-        connect(toggleSights, SIGNAL(triggered(bool)),
-                          sights, SLOT(setVisible(bool)));
-        
-        togglePub = new QAction(tr("Show Pubs"), this);
-        togglePub->setCheckable(true);
-        togglePub->setChecked(true);
-        connect(togglePub, SIGNAL(triggered(bool)),
-                          pubs, SLOT(setVisible(bool)));
-        
-        toggleMuseum = new QAction(tr("Show Museums"), this);
-        toggleMuseum->setCheckable(true);
-        toggleMuseum->setChecked(true);
-        connect(toggleMuseum, SIGNAL(triggered(bool)),
-                          museum, SLOT(setVisible(bool)));
-        
-        
-        toggleSightTour = new QAction(tr("Show Sight Tour"), this);
-        toggleSightTour->setCheckable(true);
-        toggleSightTour->setChecked(true);
-        connect(toggleSightTour, SIGNAL(triggered(bool)),
-                          sights_tour, SLOT(setVisible(bool)));
-        
-        togglePubTour = new QAction(tr("Show Pub Tour"), this);
-        togglePubTour->setCheckable(true);
-        togglePubTour->setChecked(true);
-        connect(togglePubTour, SIGNAL(triggered(bool)),
-                          pub_tour, SLOT(setVisible(bool)));
-        
-        toggleMuseumTour = new QAction(tr("Show Museum Tour"), this);
-        toggleMuseumTour->setCheckable(true);
-        toggleMuseumTour->setChecked(true);
-        connect(toggleMuseumTour, SIGNAL(triggered(bool)),
-                          museum_tour, SLOT(setVisible(bool)));
-        
-        addNoteAction = new QAction(tr("Add Note"), this);
-        connect(addNoteAction, SIGNAL(triggered(bool)),
-                          this, SLOT(addNote()));
-        
-        toolsDistance = new QAction(tr("Calculate Distance"), this);
-        connect(toolsDistance, SIGNAL(triggered(bool)),
-                          this, SLOT(calcDistance()));
-        
-        QActionGroup* mapproviderGroup = new QActionGroup(this);
-        osmAction = new QAction(tr("OpenStreetMap"), mapproviderGroup);
-        yahooActionMap = new QAction(tr("Yahoo: Map"), mapproviderGroup);
-        yahooActionSatellite = new QAction(tr("Yahoo: Satellite"), mapproviderGroup);
-        googleActionMap = new QAction(tr("Google: Map"), mapproviderGroup);
-        osmAction->setCheckable(true);
-        yahooActionMap->setCheckable(true);
-        yahooActionSatellite->setCheckable(true);
-        googleActionMap->setCheckable(true);
-        osmAction->setChecked(true);
-        connect(mapproviderGroup, SIGNAL(triggered(QAction*)),
-                          this, SLOT(mapproviderSelected(QAction*)));
-        
-        yahooActionOverlay = new QAction(tr("Yahoo: street overlay"), this);
-        yahooActionOverlay->setCheckable(true);
-        yahooActionOverlay->setEnabled(false);
-        connect(yahooActionOverlay, SIGNAL(toggled(bool)),
-                          overlay, SLOT(setVisible(bool)));
-}
-
-void Citymap::createMenus()
-{
-        layerMenu = menuBar()->addMenu(tr("&Layer"));
-        layerMenu->addAction(toggleSights);
-        layerMenu->addAction(togglePub);
-        layerMenu->addAction(toggleMuseum);
-
-        tourMenu = menuBar()->addMenu(tr("T&ours"));
-        tourMenu->addAction(toggleSightTour);
-        tourMenu->addAction(togglePubTour);
-        tourMenu->addAction(toggleMuseumTour);
-        
-        toolsMenu = menuBar()->addMenu(tr("&Tools"));
-        toolsMenu->addAction(addNoteAction);
-        toolsMenu->addAction(toolsDistance);
-        
-        mapMenu = menuBar()->addMenu(tr("&Map Provider"));
-        mapMenu->addAction(osmAction);
-        mapMenu->addAction(yahooActionMap);
-        mapMenu->addAction(yahooActionSatellite);
-        mapMenu->addAction(googleActionMap);
-        mapMenu->addSeparator();
-        mapMenu->addAction(yahooActionOverlay);
-        
-}
-
-void Citymap::addNote()
-{
-        addingNote = true;
-        connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent*, const QPointF)),
-                          this, SLOT(writeNote(const QMouseEvent*, const QPointF)));
-}
-
-void Citymap::writeNote(const QMouseEvent*, const QPointF coord)
-{
-        Point* p = new Point(coord.x(), coord.y(), notepixmap, QString::number(++noteID), Point::BottomLeft);
-        currentnoteID = noteID;
-        p->setBaselevel(16);
-        p->setMinsize(QSize(12, 10));
-        p->setMaxsize(QSize(47, 40));
-        notes->addGeometry(p);
-        
-        notetextedit->clear();
-        
-        notepoint->setCoordinate(coord);
-        notepoint->setVisible(true);
-        
-        mc->updateRequestNew();
-        
-        disconnect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent*, const QPointF)),
-                          this, SLOT(writeNote(const QMouseEvent*, const QPointF)));
-        
-        connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent*, const QPointF)),
-                          this, SLOT(hideNote(const QMouseEvent*, const QPointF)));
-}
-
-void Citymap::hideNote(const QMouseEvent* evnt, const QPointF)
-{
-        if (addingNote && evnt->type() == QEvent::MouseButtonDblClick)
-        {
-                addingNote = false;
-                notepoint->setVisible(false);
-
-                mc->updateRequestNew();
-                
-                // save text
-                notestext[currentnoteID] = notetextedit->toPlainText();
-                
-                disconnect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent*, const QPointF)),
-                                  this, SLOT(hideNote(const QMouseEvent*, const QPointF)));
-        }
-}
-
-void Citymap::editNote(Geometry* geom, QPoint)
-{
-        addingNote = true;
-        currentnoteID = QVariant(geom->name()).toInt();
-        notetextedit->setPlainText(notestext[currentnoteID]);
-        notepoint->setCoordinate(geom->points().at(0)->coordinate());
-        notepoint->setVisible(true);
-        
-        mc->updateRequestNew();
-        connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent*, const QPointF)),
-                          this, SLOT(hideNote(const QMouseEvent*, const QPointF)));
-}
-
-void Citymap::calcDistance()
-{
-        ignoreClicks = true;
-        connect(mc, SIGNAL(mouseEventCoordinate( const QMouseEvent*, const QPointF )),
-                          this, SLOT(calcDistanceClick(const QMouseEvent*, const QPointF)));
-}
-void Citymap::calcDistanceClick(const QMouseEvent* evnt, const QPointF coord)
-{
-        if (coord1 == QPointF() && evnt->type() == QEvent::MouseButtonPress)
-        {
-                coord1 = coord;
-                l->addGeometry(new ImagePoint(coord1.x(), coord1.y(), QCoreApplication::applicationDirPath() + "/images/flag.png", "", Point::BottomRight));
-                mc->updateRequestNew();
-        }
-        else if (coord2 == QPointF() && evnt->type() == QEvent::MouseButtonPress)
-        {
-                coord2 = coord;
-                double PI = acos(-1.0);
-                double a1 = coord1.x()* (PI/180.0);;
-                double b1 = coord1.y()* (PI/180.0);;
-                double a2 = coord2.x()* (PI/180.0);;
-                double b2 = coord2.y()* (PI/180.0);;
-                double r = 6378;
-                
-                double km = acos(cos(a1)*cos(b1)*cos(a2)*cos(b2) + cos(a1)*sin(b1)*cos(a2)*sin(b2) + sin(a1)*sin(a2)) * r;
-                
-                
-                QList<Point*> points;
-                points.append(new Point(coord1.x(), coord1.y()));
-                QPixmap* pixm = new QPixmap(100,20);
-                pixm->fill(Qt::transparent);
-                QPainter pain(pixm);
-                pain.setFont(QFont("Helvetiva", 6));
-                pain.drawText(pixm->rect(), QString().setNum(km, 'f', 3) + " km");
-                pain.end();
-                points.append(new Point(coord2.x(), coord2.y(), pixm, "", Point::BottomLeft));
-                l->addGeometry(new LineString(points));
-                mc->updateRequestNew();
-                coord1 = QPointF();
-                coord2 = QPointF();
-                ignoreClicks = false;
-                disconnect(mc, SIGNAL(mouseEventCoordinate( const QMouseEvent*, const QPointF)),
-                                          this, SLOT(calcDistanceClick(const QMouseEvent*, const QPointF)));
-                
-        }
-}
-
-void Citymap::mapproviderSelected(QAction* action)
-{
-        if (action == osmAction)
-        {
-                int zoom = mapadapter->adaptedZoom();
-                mc->setZoom(0);
-                
-                mapadapter = new OSMMapAdapter();
-                l->setMapAdapter(mapadapter);
-                sights->setMapAdapter(mapadapter);
-                museum->setMapAdapter(mapadapter);
-                pubs->setMapAdapter(mapadapter);
-                notes->setMapAdapter(mapadapter);
-                
-                mc->updateRequestNew();
-                mc->setZoom(zoom);
-                yahooActionOverlay->setEnabled(false);
-                overlay->setVisible(false);
-                yahooActionOverlay->setChecked(false);
-                
-        } else if (action == yahooActionMap)
-        {
-                int zoom = mapadapter->adaptedZoom();
-                mc->setZoom(0);
-                
-                mapadapter = new YahooMapAdapter();
-                l->setMapAdapter(mapadapter);
-                sights->setMapAdapter(mapadapter);
-                museum->setMapAdapter(mapadapter);
-                pubs->setMapAdapter(mapadapter);
-                notes->setMapAdapter(mapadapter);
-        
-                mc->updateRequestNew();
-                mc->setZoom(zoom);
-                yahooActionOverlay->setEnabled(false);
-                overlay->setVisible(false);
-                yahooActionOverlay->setChecked(false);
-        } else if (action == yahooActionSatellite)
-        {
-                int zoom = mapadapter->adaptedZoom();
-                QPointF a = mc->currentCoordinate();
-                mc->setZoom(0);
-                
-                mapadapter = new YahooMapAdapter("us.maps3.yimg.com", "/aerial.maps.yimg.com/png?v=1.7&t=a&s=256&x=%2&y=%3&z=%1");
-                l->setMapAdapter(mapadapter);
-                sights->setMapAdapter(mapadapter);
-                museum->setMapAdapter(mapadapter);
-                pubs->setMapAdapter(mapadapter);
-                notes->setMapAdapter(mapadapter);
-                
-                mc->updateRequestNew();
-                mc->setZoom(zoom);
-                yahooActionOverlay->setEnabled(true);
-        } else if (action == googleActionMap)
-        {
-                int zoom = mapadapter->adaptedZoom();
-                mc->setZoom(0);
-                mapadapter = new GoogleMapAdapter();
-                l->setMapAdapter(mapadapter);
-                sights->setMapAdapter(mapadapter);
-                museum->setMapAdapter(mapadapter);
-                pubs->setMapAdapter(mapadapter);
-                notes->setMapAdapter(mapadapter);
-                mc->updateRequestNew();
-                mc->setZoom(zoom);
-                yahooActionOverlay->setEnabled(false);
-                overlay->setVisible(false);
-                yahooActionOverlay->setChecked(false);
-        }
-}
-
-Citymap::~Citymap()
-{
-        delete mc;
-        delete mapadapter;
-        delete notepixmap;
-        delete sights;
-        delete notes;
-        delete pubs;
-        delete museum;
-}
-
-
-
Generated on Wed Jul 29 12:38:09 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/classQObject.html b/libs/QMapControl/html/classQObject.html deleted file mode 100644 index 8f49fe4e9..000000000 --- a/libs/QMapControl/html/classQObject.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - -QMapControl: QObject Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
QObject Class Reference
-
-
-
-Inheritance diagram for QObject:
-
-
- - -Geometry -Layer -MapAdapter -MapNetwork -Curve -Point -GeometryLayer -MapLayer -EmptyMapAdapter -TileMapAdapter -WMSMapAdapter -LineString -ArrowPoint -CirclePoint -ImagePoint -InvisiblePoint -GoogleMapAdapter -OpenAerialMapAdapter -OSMMapAdapter -YahooMapAdapter - -
-
The documentation for this class was generated from the following file: -
- - - - diff --git a/libs/QMapControl/html/classQObject.png b/libs/QMapControl/html/classQObject.png deleted file mode 100644 index 330bfdab3..000000000 Binary files a/libs/QMapControl/html/classQObject.png and /dev/null differ diff --git a/libs/QMapControl/html/classQWidget.html b/libs/QMapControl/html/classQWidget.html deleted file mode 100644 index 85857e65e..000000000 --- a/libs/QMapControl/html/classQWidget.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -QMapControl: QWidget Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
QWidget Class Reference
-
-
-
-Inheritance diagram for QWidget:
-
-
- - -MapControl - -
-
The documentation for this class was generated from the following file: -
- - - - diff --git a/libs/QMapControl/html/classQWidget.png b/libs/QMapControl/html/classQWidget.png deleted file mode 100644 index 573c3fbaa..000000000 Binary files a/libs/QMapControl/html/classQWidget.png and /dev/null differ diff --git a/libs/QMapControl/html/classes.html b/libs/QMapControl/html/classes.html deleted file mode 100644 index d4fdd234e..000000000 --- a/libs/QMapControl/html/classes.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - -QMapControl: Class Index - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
Class Index
-
-
-
A | C | E | F | G | I | L | M | O | P | Q | T | W | Y
- - - - - - - - - - - - - - - -
  A  
-
  G  
-
LineString (qmapcontrol)   
  P  
-
  Y  
-
  M  
-
ArrowPoint (qmapcontrol)   Geometry (qmapcontrol)   Point (qmapcontrol)   YahooMapAdapter (qmapcontrol)   
  C  
-
GeometryLayer (qmapcontrol)   MapAdapter (qmapcontrol)   
  Q  
-
GoogleMapAdapter (qmapcontrol)   MapControl (qmapcontrol)   
CirclePoint (qmapcontrol)   
  I  
-
MapLayer (qmapcontrol)   QObject   
Curve (qmapcontrol)   MapNetwork (qmapcontrol)   QWidget   
  E  
-
ImagePoint (qmapcontrol)   
  O  
-
  T  
-
InvisiblePoint (qmapcontrol)   
EmptyMapAdapter (qmapcontrol)   
  L  
-
OpenAerialMapAdapter (qmapcontrol)   TileMapAdapter (qmapcontrol)   
  F  
-
OSMMapAdapter (qmapcontrol)   
  W  
-
Layer (qmapcontrol)   
FixedImageOverlay (qmapcontrol)   WMSMapAdapter (qmapcontrol)   
-
A | C | E | F | G | I | L | M | O | P | Q | T | W | Y
-
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1ArrowPoint-members.html b/libs/QMapControl/html/classqmapcontrol_1_1ArrowPoint-members.html deleted file mode 100644 index aed03cecd..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1ArrowPoint-members.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
ArrowPoint Member List
-
-
- -

This is the complete list of members for ArrowPoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Alignment enum namePoint
ArrowPoint(qreal x, qreal y, int sideLength, qreal heading, QString name=QString(), Alignment alignment=Middle, QPen *pen=0)ArrowPoint
BottomLeft enum valuePoint
BottomMiddle enum valuePoint
BottomRight enum valuePoint
boundingBox()Pointvirtual
coordinate() const Point
Equals(Geometry *geom)Geometry
geometryClicked(Geometry *geometry, QPoint point)Geometrysignal
getHeading() const ArrowPoint
isVisible() const Geometry
latitude() const Point
longitude() const Point
Middle enum valuePoint
name() const Geometry
parentGeometry() const Geometry
pen() const Geometry
pixmap()Point
Point(qreal x, qreal y, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QWidget *widget, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QPixmap pixmap, QString name=QString(), enum Alignment alignment=Middle)Point
positionChanged(Geometry *geom)Geometrysignal
setBaselevel(int zoomlevel)Point
setHeading(qreal heading)ArrowPoint
setMaxsize(QSize maxsize)Point
setMinsize(QSize minsize)Point
setName(QString name)Geometry
setPen(QPen *pen)ArrowPointvirtual
TopLeft enum valuePoint
TopMiddle enum valuePoint
TopRight enum valuePoint
toString()Geometry
Touches(Point *click, const MapAdapter *mapadapter)Pointprotectedvirtual
widget()Point
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1ArrowPoint.html b/libs/QMapControl/html/classqmapcontrol_1_1ArrowPoint.html deleted file mode 100644 index f1df8f6b5..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1ArrowPoint.html +++ /dev/null @@ -1,958 +0,0 @@ - - - - - - -QMapControl: ArrowPoint Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
- -
- -

Draws a directed arrow (showing orientation) into the map. - More...

- -

#include <arrowpoint.h>

-
-Inheritance diagram for ArrowPoint:
-
-
- - -Point -Geometry -QObject - -
- - - - - -

-Public Types

enum  Alignment {
-  TopLeft, -TopRight, -TopMiddle, -BottomLeft, -
-  BottomRight, -BottomMiddle, -Middle -
- }
 sets where the point should be aligned More...
 
- - - - - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
void positionChanged (Geometry *geom)
 A Geometry emits this signal, when its position gets changed. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 ArrowPoint (qreal x, qreal y, int sideLength, qreal heading, QString name=QString(), Alignment alignment=Middle, QPen *pen=0)
 
virtual QRectF boundingBox ()
 returns the bounding box of the point More...
 
QPointF coordinate () const
 returns the coordinate of the point More...
 
bool Equals (Geometry *geom)
 
-qreal getHeading () const
 gets the current heading of the arrow
 
bool isVisible () const
 returns true if this Geometry is visible More...
 
qreal latitude () const
 returns the latitude of the point More...
 
qreal longitude () const
 returns the longitude of the point More...
 
QString name () const
 returns the name of this Geometry More...
 
GeometryparentGeometry () const
 returns the parent Geometry of this Geometry More...
 
QPen * pen () const
 returns the QPen which is used on drawing More...
 
QPixmap pixmap ()
 returns the pixmap of the point More...
 
void setBaselevel (int zoomlevel)
 Sets the zoom level on which the points pixmap gets displayed on full size. More...
 
void setHeading (qreal heading)
 sets the heading of the arrow and redraws it in the new orientation More...
 
void setMaxsize (QSize maxsize)
 sets a maximal size for the pixmap More...
 
void setMinsize (QSize minsize)
 sets a minimal size for the pixmap More...
 
void setName (QString name)
 sets the name of the geometry More...
 
virtual void setPen (QPen *pen)
 sets the QPen which is used for drawing the arrow More...
 
QString toString ()
 returns a String representation of this Geometry More...
 
QWidgetwidget ()
 returns the widget of the point More...
 
- - - - -

-Protected Member Functions

virtual bool Touches (Point *click, const MapAdapter *mapadapter)
 returns true if the given Point touches this Point More...
 
-

Detailed Description

-

Draws a directed arrow (showing orientation) into the map.

-

This is a convenience class for Point. It configures the pixmap of a Point to draw an arrow in a specific direction. A QPen could be used to change the color or line-width of the arrow

-
Author
Jeffery MacEachern j.mac.nosp@m.each.nosp@m.ern@g.nosp@m.mail.nosp@m..com
-

Member Enumeration Documentation

- -
-
- - - - - -
- - - - -
enum Alignment
-
-inherited
-
- -

sets where the point should be aligned

- - - - - - - - -
Enumerator
TopLeft  -

Align on TopLeft

-
TopRight  -

Align on TopRight

-
TopMiddle  -

Align on TopLeft

-
BottomLeft  -

Align on BottomLeft

-
BottomRight  -

Align on BottomRight

-
BottomMiddle  -

Align on BottomMiddle

-
Middle  -

Align on Middle

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ArrowPoint (qreal x,
qreal y,
int sideLength,
qreal heading,
QString name = QString(),
Alignment alignment = Middle,
QPen * pen = 0 
)
-
-
Parameters
- - - - - - - - -
xlongitude
ylatitude
sideLengthside length of the arrow's bounding box (square)
headingcompass heading determining direction that arrow faces, measured in degrees clockwise from North
namename of the arrow point
alignmentalignment (Middle or TopLeft)
penQPen for drawing
-
-
- -

References Geometry::pen().

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
QRectF boundingBox ()
-
-virtualinherited
-
- -

returns the bounding box of the point

-

The Bounding contains the coordinate of the point and its size. The size is set, if the point contains a pixmap or a widget

Returns
the bounding box of the point
- -

Implements Geometry.

- -

References Point::latitude(), and Point::longitude().

- -
-
- -
-
- - - - - -
- - - - - - - -
QPointF coordinate () const
-
-inherited
-
- -

returns the coordinate of the point

-

The x component of the returned QPointF is the longitude value, the y component the latitude

Returns
the coordinate of a point
- -

Referenced by MapControl::setView(), and Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - - -
bool Equals (Geometrygeom)
-
-inherited
-
-

returns true if the given Geometry is equal to this Geometry not implemented yet!

Parameters
- - -
geomThe Geometry to be tested
-
-
-
Returns
true if the given Geometry is equal to this
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signalinherited
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The objects emits a signal if it gets clicked

Parameters
- - - -
geometryThe clicked Geometry
point-unused-
-
-
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
bool isVisible () const
-
-inherited
-
- -

returns true if this Geometry is visible

-
Returns
true if this Geometry is visible
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
qreal latitude () const
-
-inherited
-
- -

returns the latitude of the point

-
Returns
the latitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
qreal longitude () const
-
-inherited
-
- -

returns the longitude of the point

-
Returns
the longitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString name () const
-
-inherited
-
- -

returns the name of this Geometry

-
Returns
the name of this Geometry
- -

Referenced by Geometry::setName().

- -
-
- -
-
- - - - - -
- - - - - - - -
Geometry * parentGeometry () const
-
-inherited
-
- -

returns the parent Geometry of this Geometry

-

A LineString is a composition of many Points. This methods returns the parent (the LineString) of a Point

Returns
the parent Geometry of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - -
QPen * pen () const
-
-inherited
-
- -

returns the QPen which is used on drawing

-

The pen is set depending on the Geometry. A CirclePoint for example takes one with the constructor.

Returns
the QPen which is used for drawing
- -

Referenced by ArrowPoint::ArrowPoint(), CirclePoint::CirclePoint(), LineString::LineString(), ArrowPoint::setPen(), and CirclePoint::setPen().

- -
-
- -
-
- - - - - -
- - - - - - - -
QPixmap pixmap ()
-
-inherited
-
- -

returns the pixmap of the point

-
Returns
the pixmap of the point
- -

Referenced by FixedImageOverlay::FixedImageOverlay(), and ImagePoint::ImagePoint().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void positionChanged (Geometrygeom)
-
-signalinherited
-
- -

A Geometry emits this signal, when its position gets changed.

-
Parameters
- - -
geomthe Geometry
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setBaselevel (int zoomlevel)
-
-inherited
-
- -

Sets the zoom level on which the points pixmap gets displayed on full size.

-

Use this method to set a zoom level on which the pixmap gets displayed with its real size. On zoomlevels below it will be displayed smaller, and on zoom levels thereover it will be displayed larger

See also
setMinsize, setMaxsize
-
Parameters
- - -
zoomlevelthe zoomlevel on which the point will be displayed on full size
-
-
- -
-
- -
-
- - - - - - - - -
void setHeading (qreal heading)
-
- -

sets the heading of the arrow and redraws it in the new orientation

-
Parameters
- - -
headingnew heading
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setMaxsize (QSize maxsize)
-
-inherited
-
- -

sets a maximal size for the pixmap

-

When the point´s pixmap should change its size on zooming, this method sets the maximal size.

See also
setBaselevel
-
Parameters
- - -
maxsizethe maximal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setMinsize (QSize minsize)
-
-inherited
-
- -

sets a minimal size for the pixmap

-

When the point's pixmap should change its size on zooming, this method sets the minimal size.

See also
setBaselevel
-
Parameters
- - -
minsizethe minimal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setName (QString name)
-
-inherited
-
- -

sets the name of the geometry

-
Parameters
- - -
namethe new name of the geometry
-
-
- -

References Geometry::name().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void setPen (QPen * pen)
-
-virtual
-
- -

sets the QPen which is used for drawing the arrow

-

A QPen can be used to modify the look of the drawn arrow

Parameters
- - -
penthe QPen which should be used for drawing
-
-
-
See also
http://doc.trolltech.com/4.3/qpen.html
- -

Reimplemented from Geometry.

- -

References Geometry::pen().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString toString ()
-
-inherited
-
- -

returns a String representation of this Geometry

-

not implemented yet!

Returns
a String representation of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool Touches (Pointclick,
const MapAdaptermapadapter 
)
-
-protectedvirtualinherited
-
- -

returns true if the given Point touches this Point

-

The collision detection checks for the bounding rectangulars.

Parameters
- - - -
geomthe other point which should be tested on collision
mapadapterthe mapadapter which is used for calculations
-
-
-
Returns
- -

Implements Geometry.

- -

References Point::coordinate(), MapAdapter::coordinateToDisplay(), Geometry::geometryClicked(), and Geometry::isVisible().

- -
-
- -
-
- - - - - -
- - - - - - - -
QWidget * widget ()
-
-inherited
-
- -

returns the widget of the point

-
Returns
the widget of the point
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1ArrowPoint.png b/libs/QMapControl/html/classqmapcontrol_1_1ArrowPoint.png deleted file mode 100644 index 6a4bb0bb3..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1ArrowPoint.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1CirclePoint-members.html b/libs/QMapControl/html/classqmapcontrol_1_1CirclePoint-members.html deleted file mode 100644 index 195bd26ec..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1CirclePoint-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
CirclePoint Member List
-
-
- -

This is the complete list of members for CirclePoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Alignment enum namePoint
BottomLeft enum valuePoint
BottomMiddle enum valuePoint
BottomRight enum valuePoint
boundingBox()Pointvirtual
CirclePoint(qreal x, qreal y, QString name=QString(), Alignment alignment=Middle, QPen *pen=0)CirclePoint
CirclePoint(qreal x, qreal y, int radius=10, QString name=QString(), Alignment alignment=Middle, QPen *pen=0)CirclePoint
coordinate() const Point
Equals(Geometry *geom)Geometry
geometryClicked(Geometry *geometry, QPoint point)Geometrysignal
isVisible() const Geometry
latitude() const Point
longitude() const Point
Middle enum valuePoint
name() const Geometry
parentGeometry() const Geometry
pen() const Geometry
pixmap()Point
Point(qreal x, qreal y, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QWidget *widget, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QPixmap pixmap, QString name=QString(), enum Alignment alignment=Middle)Point
positionChanged(Geometry *geom)Geometrysignal
setBaselevel(int zoomlevel)Point
setMaxsize(QSize maxsize)Point
setMinsize(QSize minsize)Point
setName(QString name)Geometry
setPen(QPen *pen)CirclePointvirtual
TopLeft enum valuePoint
TopMiddle enum valuePoint
TopRight enum valuePoint
toString()Geometry
Touches(Point *click, const MapAdapter *mapadapter)Pointprotectedvirtual
widget()Point
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1CirclePoint.html b/libs/QMapControl/html/classqmapcontrol_1_1CirclePoint.html deleted file mode 100644 index 6f24f63cf..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1CirclePoint.html +++ /dev/null @@ -1,978 +0,0 @@ - - - - - - -QMapControl: CirclePoint Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
- -
- -

Draws a circle into the map. - More...

- -

#include <circlepoint.h>

-
-Inheritance diagram for CirclePoint:
-
-
- - -Point -Geometry -QObject - -
- - - - - -

-Public Types

enum  Alignment {
-  TopLeft, -TopRight, -TopMiddle, -BottomLeft, -
-  BottomRight, -BottomMiddle, -Middle -
- }
 sets where the point should be aligned More...
 
- - - - - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
void positionChanged (Geometry *geom)
 A Geometry emits this signal, when its position gets changed. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual QRectF boundingBox ()
 returns the bounding box of the point More...
 
 CirclePoint (qreal x, qreal y, QString name=QString(), Alignment alignment=Middle, QPen *pen=0)
 
 CirclePoint (qreal x, qreal y, int radius=10, QString name=QString(), Alignment alignment=Middle, QPen *pen=0)
 
QPointF coordinate () const
 returns the coordinate of the point More...
 
bool Equals (Geometry *geom)
 
bool isVisible () const
 returns true if this Geometry is visible More...
 
qreal latitude () const
 returns the latitude of the point More...
 
qreal longitude () const
 returns the longitude of the point More...
 
QString name () const
 returns the name of this Geometry More...
 
GeometryparentGeometry () const
 returns the parent Geometry of this Geometry More...
 
QPen * pen () const
 returns the QPen which is used on drawing More...
 
QPixmap pixmap ()
 returns the pixmap of the point More...
 
void setBaselevel (int zoomlevel)
 Sets the zoom level on which the points pixmap gets displayed on full size. More...
 
void setMaxsize (QSize maxsize)
 sets a maximal size for the pixmap More...
 
void setMinsize (QSize minsize)
 sets a minimal size for the pixmap More...
 
void setName (QString name)
 sets the name of the geometry More...
 
virtual void setPen (QPen *pen)
 sets the QPen which is used for drawing the circle More...
 
QString toString ()
 returns a String representation of this Geometry More...
 
QWidgetwidget ()
 returns the widget of the point More...
 
- - - - -

-Protected Member Functions

virtual bool Touches (Point *click, const MapAdapter *mapadapter)
 returns true if the given Point touches this Point More...
 
-

Detailed Description

-

Draws a circle into the map.

-

This is a conveniece class for Point. It configures the pixmap of a Point to draw a circle. A QPen could be used to change the color or line-width of the circle

-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Member Enumeration Documentation

- -
-
- - - - - -
- - - - -
enum Alignment
-
-inherited
-
- -

sets where the point should be aligned

- - - - - - - - -
Enumerator
TopLeft  -

Align on TopLeft

-
TopRight  -

Align on TopRight

-
TopMiddle  -

Align on TopLeft

-
BottomLeft  -

Align on BottomLeft

-
BottomRight  -

Align on BottomRight

-
BottomMiddle  -

Align on BottomMiddle

-
Middle  -

Align on Middle

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CirclePoint (qreal x,
qreal y,
QString name = QString(),
Alignment alignment = Middle,
QPen * pen = 0 
)
-
-
Parameters
- - - - - - -
xlongitude
ylatitude
namename of the circle point
alignmentalignment (Middle or TopLeft)
penQPen for drawing
-
-
- -

References Geometry::pen().

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CirclePoint (qreal x,
qreal y,
int radius = 10,
QString name = QString(),
Alignment alignment = Middle,
QPen * pen = 0 
)
-
-
Parameters
- - - - - - - -
xlongitude
ylatitude
radiusthe radius of the circle
namename of the circle point
alignmentalignment (Middle or TopLeft)
penQPen for drawing
-
-
- -

References Geometry::pen().

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
QRectF boundingBox ()
-
-virtualinherited
-
- -

returns the bounding box of the point

-

The Bounding contains the coordinate of the point and its size. The size is set, if the point contains a pixmap or a widget

Returns
the bounding box of the point
- -

Implements Geometry.

- -

References Point::latitude(), and Point::longitude().

- -
-
- -
-
- - - - - -
- - - - - - - -
QPointF coordinate () const
-
-inherited
-
- -

returns the coordinate of the point

-

The x component of the returned QPointF is the longitude value, the y component the latitude

Returns
the coordinate of a point
- -

Referenced by MapControl::setView(), and Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - - -
bool Equals (Geometrygeom)
-
-inherited
-
-

returns true if the given Geometry is equal to this Geometry not implemented yet!

Parameters
- - -
geomThe Geometry to be tested
-
-
-
Returns
true if the given Geometry is equal to this
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signalinherited
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The objects emits a signal if it gets clicked

Parameters
- - - -
geometryThe clicked Geometry
point-unused-
-
-
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
bool isVisible () const
-
-inherited
-
- -

returns true if this Geometry is visible

-
Returns
true if this Geometry is visible
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
qreal latitude () const
-
-inherited
-
- -

returns the latitude of the point

-
Returns
the latitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
qreal longitude () const
-
-inherited
-
- -

returns the longitude of the point

-
Returns
the longitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString name () const
-
-inherited
-
- -

returns the name of this Geometry

-
Returns
the name of this Geometry
- -

Referenced by Geometry::setName().

- -
-
- -
-
- - - - - -
- - - - - - - -
Geometry * parentGeometry () const
-
-inherited
-
- -

returns the parent Geometry of this Geometry

-

A LineString is a composition of many Points. This methods returns the parent (the LineString) of a Point

Returns
the parent Geometry of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - -
QPen * pen () const
-
-inherited
-
- -

returns the QPen which is used on drawing

-

The pen is set depending on the Geometry. A CirclePoint for example takes one with the constructor.

Returns
the QPen which is used for drawing
- -

Referenced by ArrowPoint::ArrowPoint(), CirclePoint::CirclePoint(), LineString::LineString(), ArrowPoint::setPen(), and CirclePoint::setPen().

- -
-
- -
-
- - - - - -
- - - - - - - -
QPixmap pixmap ()
-
-inherited
-
- -

returns the pixmap of the point

-
Returns
the pixmap of the point
- -

Referenced by FixedImageOverlay::FixedImageOverlay(), and ImagePoint::ImagePoint().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void positionChanged (Geometrygeom)
-
-signalinherited
-
- -

A Geometry emits this signal, when its position gets changed.

-
Parameters
- - -
geomthe Geometry
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setBaselevel (int zoomlevel)
-
-inherited
-
- -

Sets the zoom level on which the points pixmap gets displayed on full size.

-

Use this method to set a zoom level on which the pixmap gets displayed with its real size. On zoomlevels below it will be displayed smaller, and on zoom levels thereover it will be displayed larger

See also
setMinsize, setMaxsize
-
Parameters
- - -
zoomlevelthe zoomlevel on which the point will be displayed on full size
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setMaxsize (QSize maxsize)
-
-inherited
-
- -

sets a maximal size for the pixmap

-

When the point´s pixmap should change its size on zooming, this method sets the maximal size.

See also
setBaselevel
-
Parameters
- - -
maxsizethe maximal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setMinsize (QSize minsize)
-
-inherited
-
- -

sets a minimal size for the pixmap

-

When the point's pixmap should change its size on zooming, this method sets the minimal size.

See also
setBaselevel
-
Parameters
- - -
minsizethe minimal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setName (QString name)
-
-inherited
-
- -

sets the name of the geometry

-
Parameters
- - -
namethe new name of the geometry
-
-
- -

References Geometry::name().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void setPen (QPen * pen)
-
-virtual
-
- -

sets the QPen which is used for drawing the circle

-

A QPen can be used to modify the look of the drawn circle

Parameters
- - -
penthe QPen which should be used for drawing
-
-
-
See also
http://doc.trolltech.com/4.3/qpen.html
- -

Reimplemented from Geometry.

- -

References Geometry::pen().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString toString ()
-
-inherited
-
- -

returns a String representation of this Geometry

-

not implemented yet!

Returns
a String representation of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool Touches (Pointclick,
const MapAdaptermapadapter 
)
-
-protectedvirtualinherited
-
- -

returns true if the given Point touches this Point

-

The collision detection checks for the bounding rectangulars.

Parameters
- - - -
geomthe other point which should be tested on collision
mapadapterthe mapadapter which is used for calculations
-
-
-
Returns
- -

Implements Geometry.

- -

References Point::coordinate(), MapAdapter::coordinateToDisplay(), Geometry::geometryClicked(), and Geometry::isVisible().

- -
-
- -
-
- - - - - -
- - - - - - - -
QWidget * widget ()
-
-inherited
-
- -

returns the widget of the point

-
Returns
the widget of the point
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1CirclePoint.png b/libs/QMapControl/html/classqmapcontrol_1_1CirclePoint.png deleted file mode 100644 index 8f7a80481..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1CirclePoint.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Curve-members.html b/libs/QMapControl/html/classqmapcontrol_1_1Curve-members.html deleted file mode 100644 index eb94c9670..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1Curve-members.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
Curve Member List
-
-
- -

This is the complete list of members for Curve, including all inherited members.

- - - - - - - - - - - - -
boundingBox()=0Geometrypure virtual
Equals(Geometry *geom)Geometry
geometryClicked(Geometry *geometry, QPoint point)Geometrysignal
isVisible() const Geometry
name() const Geometry
parentGeometry() const Geometry
pen() const Geometry
positionChanged(Geometry *geom)Geometrysignal
setName(QString name)Geometry
setVisible(bool visible)Geometryvirtualslot
toString()Geometry
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Curve.html b/libs/QMapControl/html/classqmapcontrol_1_1Curve.html deleted file mode 100644 index d18179b4f..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1Curve.html +++ /dev/null @@ -1,476 +0,0 @@ - - - - - - -QMapControl: Curve Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
Curve Class Referenceabstract
-
-
- -

A Curve Geometry, implemented to fullfil OGC Spec. - More...

- -

#include <curve.h>

-
-Inheritance diagram for Curve:
-
-
- - -Geometry -QObject -LineString - -
- - - - - -

-Public Slots

virtual void setVisible (bool visible)
 if visible is true, the layer is made visible More...
 
- - - - - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
void positionChanged (Geometry *geom)
 A Geometry emits this signal, when its position gets changed. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual QRectF boundingBox ()=0
 returns the BoundingBox More...
 
bool Equals (Geometry *geom)
 
bool isVisible () const
 returns true if this Geometry is visible More...
 
QString name () const
 returns the name of this Geometry More...
 
GeometryparentGeometry () const
 returns the parent Geometry of this Geometry More...
 
QPen * pen () const
 returns the QPen which is used on drawing More...
 
void setName (QString name)
 sets the name of the geometry More...
 
QString toString ()
 returns a String representation of this Geometry More...
 
-

Detailed Description

-

A Curve Geometry, implemented to fullfil OGC Spec.

-

The Curve class is used by LineString as parent class. This class could not be used directly.

-

From the OGC Candidate Implementation Specification: "A Curve is a 1-dimensional geometric object usually stored as a sequence of Points, with the subtype of Curve specifying the form of the interpolation between Points. This specification defines only one subclass of Curve, LineString, which uses a linear interpolation between Points."

Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
virtual QRectF boundingBox ()
-
-pure virtualinherited
-
- -

returns the BoundingBox

-

The bounding box in world coordinates

Returns
the BoundingBox
- -

Implemented in Point, and LineString.

- -

Referenced by Layer::addGeometry(), MapControl::isGeometryVisible(), Layer::removeGeometry(), and Geometry::setVisible().

- -
-
- -
-
- - - - - -
- - - - - - - - -
bool Equals (Geometrygeom)
-
-inherited
-
-

returns true if the given Geometry is equal to this Geometry not implemented yet!

Parameters
- - -
geomThe Geometry to be tested
-
-
-
Returns
true if the given Geometry is equal to this
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signalinherited
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The objects emits a signal if it gets clicked

Parameters
- - - -
geometryThe clicked Geometry
point-unused-
-
-
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
bool isVisible () const
-
-inherited
-
- -

returns true if this Geometry is visible

-
Returns
true if this Geometry is visible
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString name () const
-
-inherited
-
- -

returns the name of this Geometry

-
Returns
the name of this Geometry
- -

Referenced by Geometry::setName().

- -
-
- -
-
- - - - - -
- - - - - - - -
Geometry * parentGeometry () const
-
-inherited
-
- -

returns the parent Geometry of this Geometry

-

A LineString is a composition of many Points. This methods returns the parent (the LineString) of a Point

Returns
the parent Geometry of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - -
QPen * pen () const
-
-inherited
-
- -

returns the QPen which is used on drawing

-

The pen is set depending on the Geometry. A CirclePoint for example takes one with the constructor.

Returns
the QPen which is used for drawing
- -

Referenced by ArrowPoint::ArrowPoint(), CirclePoint::CirclePoint(), LineString::LineString(), ArrowPoint::setPen(), and CirclePoint::setPen().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void positionChanged (Geometrygeom)
-
-signalinherited
-
- -

A Geometry emits this signal, when its position gets changed.

-
Parameters
- - -
geomthe Geometry
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setName (QString name)
-
-inherited
-
- -

sets the name of the geometry

-
Parameters
- - -
namethe new name of the geometry
-
-
- -

References Geometry::name().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void setVisible (bool visible)
-
-virtualslotinherited
-
- -

if visible is true, the layer is made visible

-
Parameters
- - -
visibleif the layer should be visible
-
-
- -

References Geometry::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString toString ()
-
-inherited
-
- -

returns a String representation of this Geometry

-

not implemented yet!

Returns
a String representation of this Geometry
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Curve.png b/libs/QMapControl/html/classqmapcontrol_1_1Curve.png deleted file mode 100644 index 75fac4ba9..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1Curve.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1EmptyMapAdapter-members.html b/libs/QMapControl/html/classqmapcontrol_1_1EmptyMapAdapter-members.html deleted file mode 100644 index 060c13986..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1EmptyMapAdapter-members.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
EmptyMapAdapter Member List
-
-
- -

This is the complete list of members for EmptyMapAdapter, including all inherited members.

- - - - - - - - - - - -
changeHostAddress(const QString qHost, const QString qServerPath=QString())MapAdaptervirtual
coordinateToDisplay(const QPointF &) const EmptyMapAdaptervirtual
currentZoom() const MapAdapter
displayToCoordinate(const QPoint &) const EmptyMapAdaptervirtual
EmptyMapAdapter(int tileSize=256, int minZoom=0, int maxZoom=17)EmptyMapAdapter
host() const MapAdapter
maxZoom() const MapAdapter
minZoom() const MapAdapter
serverPath() const MapAdaptervirtual
tilesize() const MapAdapter
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1EmptyMapAdapter.html b/libs/QMapControl/html/classqmapcontrol_1_1EmptyMapAdapter.html deleted file mode 100644 index 2675a0070..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1EmptyMapAdapter.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - -QMapControl: EmptyMapAdapter Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
EmptyMapAdapter Class Reference
-
-
- -

MapAdapter which do not load map tiles. - More...

- -

#include <emptymapadapter.h>

-
-Inheritance diagram for EmptyMapAdapter:
-
-
- - -MapAdapter -QObject - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual void changeHostAddress (const QString qHost, const QString qServerPath=QString())
 change or update server host address post init More...
 
virtual QPoint coordinateToDisplay (const QPointF &) const
 translates a world coordinate to display coordinate More...
 
int currentZoom () const
 returns the current zoom More...
 
virtual QPointF displayToCoordinate (const QPoint &) const
 translates display coordinate to world coordinate More...
 
 EmptyMapAdapter (int tileSize=256, int minZoom=0, int maxZoom=17)
 Constructor. More...
 
QString host () const
 returns the host of this MapAdapter More...
 
int maxZoom () const
 returns the max zoom value More...
 
int minZoom () const
 returns the min zoom value More...
 
virtual QString serverPath () const
 returns the server path part of this MapAdapter More...
 
int tilesize () const
 returns the size of the tiles More...
 
-

Detailed Description

-

MapAdapter which do not load map tiles.

-

The EmptyMapAdapter can be used if QMapControl should not load any map tiles. This is useful if you only want to display an image through a FixedImageOverlay e.g.

Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
EmptyMapAdapter (int tileSize = 256,
int minZoom = 0,
int maxZoom = 17 
)
-
- -

Constructor.

-
Parameters
- - - - -
tileSizeThis parameter seems unnecessary for this type of MapAdaper on first sight. But since this parameter defines the size of the offscreen image it could be used for a little performance tuning (larger offscreen-images have to be redrawed less times).
minZoomthe minimum zoom level
maxZoomthe maximum zoom level
-
-
- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void changeHostAddress (const QString qHost,
const QString qServerPath = QString() 
)
-
-virtualinherited
-
- -

change or update server host address post init

-
Parameters
- - - -
hostthe host address
serverPaththe server path
-
-
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
- -
-
- - - - - -
- - - - - - - - -
QPoint coordinateToDisplay (const QPointF & coordinate) const
-
-virtual
-
- -

translates a world coordinate to display coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
coordinatethe world coordinate
-
-
-
Returns
the display coordinate (in widget coordinates)
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
int currentZoom () const
-
-inherited
-
- -

returns the current zoom

-
Returns
the current zoom
- -
-
- -
-
- - - - - -
- - - - - - - - -
QPointF displayToCoordinate (const QPoint & point) const
-
-virtual
-
- -

translates display coordinate to world coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
pointthe display coordinate
-
-
-
Returns
the world coordinate
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
QString host () const
-
-inherited
-
- -

returns the host of this MapAdapter

-
Returns
the host of this MapAdapter
- -
-
- -
-
- - - - - -
- - - - - - - -
int maxZoom () const
-
-inherited
-
- -

returns the max zoom value

-
Returns
the max zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
int minZoom () const
-
-inherited
-
- -

returns the min zoom value

-
Returns
the min zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
QString serverPath () const
-
-virtualinherited
-
- -

returns the server path part of this MapAdapter

-
Returns
the serverpath of this MapAdapter
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::serverPath().

- -
-
- -
-
- - - - - -
- - - - - - - -
int tilesize () const
-
-inherited
-
- -

returns the size of the tiles

-
Returns
the size of the tiles
- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1EmptyMapAdapter.png b/libs/QMapControl/html/classqmapcontrol_1_1EmptyMapAdapter.png deleted file mode 100644 index a4e98de89..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1EmptyMapAdapter.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1FixedImageOverlay-members.html b/libs/QMapControl/html/classqmapcontrol_1_1FixedImageOverlay-members.html deleted file mode 100644 index 914e8504a..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1FixedImageOverlay-members.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
FixedImageOverlay Member List
-
-
- -

This is the complete list of members for FixedImageOverlay, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Alignment enum namePoint
BottomLeft enum valuePoint
BottomMiddle enum valuePoint
BottomRight enum valuePoint
boundingBox()Pointvirtual
coordinate() const Point
Equals(Geometry *geom)Geometry
FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QString filename, QString name=QString())FixedImageOverlay
FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QPixmap pixmap, QString name=QString())FixedImageOverlay
geometryClicked(Geometry *geometry, QPoint point)Geometrysignal
ImagePoint(qreal x, qreal y, QString filename, QString name=QString(), Alignment alignment=Middle)ImagePoint
ImagePoint(qreal x, qreal y, QPixmap pixmap, QString name=QString(), Alignment alignment=Middle)ImagePoint
isVisible() const Geometry
latitude() const Point
longitude() const Point
Middle enum valuePoint
name() const Geometry
parentGeometry() const Geometry
pen() const Geometry
pixmap()Point
Point(qreal x, qreal y, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QWidget *widget, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QPixmap pixmap, QString name=QString(), enum Alignment alignment=Middle)Point
positionChanged(Geometry *geom)Geometrysignal
setBaselevel(int zoomlevel)Point
setMaxsize(QSize maxsize)Point
setMinsize(QSize minsize)Point
setName(QString name)Geometry
TopLeft enum valuePoint
TopMiddle enum valuePoint
TopRight enum valuePoint
toString()Geometry
Touches(Point *click, const MapAdapter *mapadapter)Pointprotectedvirtual
widget()Point
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1FixedImageOverlay.html b/libs/QMapControl/html/classqmapcontrol_1_1FixedImageOverlay.html deleted file mode 100644 index 697158494..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1FixedImageOverlay.html +++ /dev/null @@ -1,950 +0,0 @@ - - - - - - -QMapControl: FixedImageOverlay Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
FixedImageOverlay Class Reference
-
-
- -

Draws a fixed image into the map. - More...

- -

#include <fixedimageoverlay.h>

-
-Inheritance diagram for FixedImageOverlay:
-
-
- - -ImagePoint -Point -Geometry -QObject - -
- - - - - -

-Public Types

enum  Alignment {
-  TopLeft, -TopRight, -TopMiddle, -BottomLeft, -
-  BottomRight, -BottomMiddle, -Middle -
- }
 sets where the point should be aligned More...
 
- - - - - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
void positionChanged (Geometry *geom)
 A Geometry emits this signal, when its position gets changed. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual QRectF boundingBox ()
 returns the bounding box of the point More...
 
QPointF coordinate () const
 returns the coordinate of the point More...
 
bool Equals (Geometry *geom)
 
 FixedImageOverlay (qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QString filename, QString name=QString())
 Creates an image overlay which loads and displays the given image file. More...
 
 FixedImageOverlay (qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QPixmap pixmap, QString name=QString())
 Creates an image overlay which displays the given image. More...
 
bool isVisible () const
 returns true if this Geometry is visible More...
 
qreal latitude () const
 returns the latitude of the point More...
 
qreal longitude () const
 returns the longitude of the point More...
 
QString name () const
 returns the name of this Geometry More...
 
GeometryparentGeometry () const
 returns the parent Geometry of this Geometry More...
 
QPen * pen () const
 returns the QPen which is used on drawing More...
 
QPixmap pixmap ()
 returns the pixmap of the point More...
 
void setBaselevel (int zoomlevel)
 Sets the zoom level on which the points pixmap gets displayed on full size. More...
 
void setMaxsize (QSize maxsize)
 sets a maximal size for the pixmap More...
 
void setMinsize (QSize minsize)
 sets a minimal size for the pixmap More...
 
void setName (QString name)
 sets the name of the geometry More...
 
QString toString ()
 returns a String representation of this Geometry More...
 
QWidgetwidget ()
 returns the widget of the point More...
 
- - - - -

-Protected Member Functions

virtual bool Touches (Point *click, const MapAdapter *mapadapter)
 returns true if the given Point touches this Point More...
 
-

Detailed Description

-

Draws a fixed image into the map.

-

This class draws a image overlay onto a map, whose upper left and lower right corners lay always on the given coordinates. The methods setBaselevel, setMaxsize and setMinsize have no effect for this class.

-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Member Enumeration Documentation

- -
-
- - - - - -
- - - - -
enum Alignment
-
-inherited
-
- -

sets where the point should be aligned

- - - - - - - - -
Enumerator
TopLeft  -

Align on TopLeft

-
TopRight  -

Align on TopRight

-
TopMiddle  -

Align on TopLeft

-
BottomLeft  -

Align on BottomLeft

-
BottomRight  -

Align on BottomRight

-
BottomMiddle  -

Align on BottomMiddle

-
Middle  -

Align on Middle

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FixedImageOverlay (qreal x_upperleft,
qreal y_upperleft,
qreal x_lowerright,
qreal y_lowerright,
QString filename,
QString name = QString() 
)
-
- -

Creates an image overlay which loads and displays the given image file.

-

Use this contructor to load the given image file and let the point display it. When you want multiple points to display the same image, use the other contructor and pass a pointer to that image.

Parameters
- - - - - - - -
x_upperleftthe coordinate of the upper left corner where the image should be aligned
y_upperleftthe coordinate of the upper left corner where the image should be aligned
x_lowerrightthe coordinate of the lower right corner where the image should be aligned
y_lowerrightthe coordinate of the lower right corner where the image should be aligned
filenamethe file which should be loaded and displayed
namethe name of the image point
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FixedImageOverlay (qreal x_upperleft,
qreal y_upperleft,
qreal x_lowerright,
qreal y_lowerright,
QPixmap pixmap,
QString name = QString() 
)
-
- -

Creates an image overlay which displays the given image.

-

Use this contructor to display the given image.

Parameters
- - - - - - - -
x_upperleftthe coordinate of the upper left corner where the image should be aligned
y_upperleftthe coordinate of the upper left corner where the image should be aligned
x_lowerrightthe coordinate of the lower right corner where the image should be aligned
y_lowerrightthe coordinate of the lower right corner where the image should be aligned
pixmappointer to the image pixmap
namethe name of the image point
-
-
- -

References Point::pixmap().

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
QRectF boundingBox ()
-
-virtualinherited
-
- -

returns the bounding box of the point

-

The Bounding contains the coordinate of the point and its size. The size is set, if the point contains a pixmap or a widget

Returns
the bounding box of the point
- -

Implements Geometry.

- -

References Point::latitude(), and Point::longitude().

- -
-
- -
-
- - - - - -
- - - - - - - -
QPointF coordinate () const
-
-inherited
-
- -

returns the coordinate of the point

-

The x component of the returned QPointF is the longitude value, the y component the latitude

Returns
the coordinate of a point
- -

Referenced by MapControl::setView(), and Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - - -
bool Equals (Geometrygeom)
-
-inherited
-
-

returns true if the given Geometry is equal to this Geometry not implemented yet!

Parameters
- - -
geomThe Geometry to be tested
-
-
-
Returns
true if the given Geometry is equal to this
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signalinherited
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The objects emits a signal if it gets clicked

Parameters
- - - -
geometryThe clicked Geometry
point-unused-
-
-
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
bool isVisible () const
-
-inherited
-
- -

returns true if this Geometry is visible

-
Returns
true if this Geometry is visible
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
qreal latitude () const
-
-inherited
-
- -

returns the latitude of the point

-
Returns
the latitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
qreal longitude () const
-
-inherited
-
- -

returns the longitude of the point

-
Returns
the longitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString name () const
-
-inherited
-
- -

returns the name of this Geometry

-
Returns
the name of this Geometry
- -

Referenced by Geometry::setName().

- -
-
- -
-
- - - - - -
- - - - - - - -
Geometry * parentGeometry () const
-
-inherited
-
- -

returns the parent Geometry of this Geometry

-

A LineString is a composition of many Points. This methods returns the parent (the LineString) of a Point

Returns
the parent Geometry of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - -
QPen * pen () const
-
-inherited
-
- -

returns the QPen which is used on drawing

-

The pen is set depending on the Geometry. A CirclePoint for example takes one with the constructor.

Returns
the QPen which is used for drawing
- -

Referenced by ArrowPoint::ArrowPoint(), CirclePoint::CirclePoint(), LineString::LineString(), ArrowPoint::setPen(), and CirclePoint::setPen().

- -
-
- -
-
- - - - - -
- - - - - - - -
QPixmap pixmap ()
-
-inherited
-
- -

returns the pixmap of the point

-
Returns
the pixmap of the point
- -

Referenced by FixedImageOverlay::FixedImageOverlay(), and ImagePoint::ImagePoint().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void positionChanged (Geometrygeom)
-
-signalinherited
-
- -

A Geometry emits this signal, when its position gets changed.

-
Parameters
- - -
geomthe Geometry
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setBaselevel (int zoomlevel)
-
-inherited
-
- -

Sets the zoom level on which the points pixmap gets displayed on full size.

-

Use this method to set a zoom level on which the pixmap gets displayed with its real size. On zoomlevels below it will be displayed smaller, and on zoom levels thereover it will be displayed larger

See also
setMinsize, setMaxsize
-
Parameters
- - -
zoomlevelthe zoomlevel on which the point will be displayed on full size
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setMaxsize (QSize maxsize)
-
-inherited
-
- -

sets a maximal size for the pixmap

-

When the point´s pixmap should change its size on zooming, this method sets the maximal size.

See also
setBaselevel
-
Parameters
- - -
maxsizethe maximal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setMinsize (QSize minsize)
-
-inherited
-
- -

sets a minimal size for the pixmap

-

When the point's pixmap should change its size on zooming, this method sets the minimal size.

See also
setBaselevel
-
Parameters
- - -
minsizethe minimal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setName (QString name)
-
-inherited
-
- -

sets the name of the geometry

-
Parameters
- - -
namethe new name of the geometry
-
-
- -

References Geometry::name().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString toString ()
-
-inherited
-
- -

returns a String representation of this Geometry

-

not implemented yet!

Returns
a String representation of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool Touches (Pointclick,
const MapAdaptermapadapter 
)
-
-protectedvirtualinherited
-
- -

returns true if the given Point touches this Point

-

The collision detection checks for the bounding rectangulars.

Parameters
- - - -
geomthe other point which should be tested on collision
mapadapterthe mapadapter which is used for calculations
-
-
-
Returns
- -

Implements Geometry.

- -

References Point::coordinate(), MapAdapter::coordinateToDisplay(), Geometry::geometryClicked(), and Geometry::isVisible().

- -
-
- -
-
- - - - - -
- - - - - - - -
QWidget * widget ()
-
-inherited
-
- -

returns the widget of the point

-
Returns
the widget of the point
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1FixedImageOverlay.png b/libs/QMapControl/html/classqmapcontrol_1_1FixedImageOverlay.png deleted file mode 100644 index 3662b4429..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1FixedImageOverlay.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Geometry-members.html b/libs/QMapControl/html/classqmapcontrol_1_1Geometry-members.html deleted file mode 100644 index b71f45aba..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1Geometry-members.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
Geometry Member List
-
-
- -

This is the complete list of members for Geometry, including all inherited members.

- - - - - - - - - - - - -
boundingBox()=0Geometrypure virtual
Equals(Geometry *geom)Geometry
geometryClicked(Geometry *geometry, QPoint point)Geometrysignal
isVisible() const Geometry
name() const Geometry
parentGeometry() const Geometry
pen() const Geometry
positionChanged(Geometry *geom)Geometrysignal
setName(QString name)Geometry
setVisible(bool visible)Geometryvirtualslot
toString()Geometry
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Geometry.html b/libs/QMapControl/html/classqmapcontrol_1_1Geometry.html deleted file mode 100644 index be1c7de1c..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1Geometry.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - - - -QMapControl: Geometry Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
Geometry Class Referenceabstract
-
-
- -

Main class for objects that should be painted in maps. - More...

- -

#include <geometry.h>

-
-Inheritance diagram for Geometry:
-
-
- - -QObject -Curve -Point -LineString -ArrowPoint -CirclePoint -ImagePoint -InvisiblePoint -FixedImageOverlay - -
- - - - - -

-Public Slots

virtual void setVisible (bool visible)
 if visible is true, the layer is made visible More...
 
- - - - - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
void positionChanged (Geometry *geom)
 A Geometry emits this signal, when its position gets changed. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual QRectF boundingBox ()=0
 returns the BoundingBox More...
 
bool Equals (Geometry *geom)
 
bool isVisible () const
 returns true if this Geometry is visible More...
 
QString name () const
 returns the name of this Geometry More...
 
GeometryparentGeometry () const
 returns the parent Geometry of this Geometry More...
 
QPen * pen () const
 returns the QPen which is used on drawing More...
 
void setName (QString name)
 sets the name of the geometry More...
 
QString toString ()
 returns a String representation of this Geometry More...
 
-

Detailed Description

-

Main class for objects that should be painted in maps.

-

Geometry is the root class of the hierarchy. Geometry is an abstract (non-instantiable) class.

-

This class and the derived classes Point, Curve and LineString are leant on the Simple Feature Specification of the Open Geospatial Consortium.

See also
www.opengeospatial.com
-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
virtual QRectF boundingBox ()
-
-pure virtual
-
- -

returns the BoundingBox

-

The bounding box in world coordinates

Returns
the BoundingBox
- -

Implemented in Point, and LineString.

- -

Referenced by Layer::addGeometry(), MapControl::isGeometryVisible(), Layer::removeGeometry(), and Geometry::setVisible().

- -
-
- -
-
- - - - - - - - -
bool Equals (Geometrygeom)
-
-

returns true if the given Geometry is equal to this Geometry not implemented yet!

Parameters
- - -
geomThe Geometry to be tested
-
-
-
Returns
true if the given Geometry is equal to this
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signal
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The objects emits a signal if it gets clicked

Parameters
- - - -
geometryThe clicked Geometry
point-unused-
-
-
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - - - -
bool isVisible () const
-
- -

returns true if this Geometry is visible

-
Returns
true if this Geometry is visible
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - - - -
QString name () const
-
- -

returns the name of this Geometry

-
Returns
the name of this Geometry
- -

Referenced by Geometry::setName().

- -
-
- -
-
- - - - - - - -
Geometry * parentGeometry () const
-
- -

returns the parent Geometry of this Geometry

-

A LineString is a composition of many Points. This methods returns the parent (the LineString) of a Point

Returns
the parent Geometry of this Geometry
- -
-
- -
-
- - - - - - - -
QPen * pen () const
-
- -

returns the QPen which is used on drawing

-

The pen is set depending on the Geometry. A CirclePoint for example takes one with the constructor.

Returns
the QPen which is used for drawing
- -

Referenced by ArrowPoint::ArrowPoint(), CirclePoint::CirclePoint(), LineString::LineString(), ArrowPoint::setPen(), and CirclePoint::setPen().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void positionChanged (Geometrygeom)
-
-signal
-
- -

A Geometry emits this signal, when its position gets changed.

-
Parameters
- - -
geomthe Geometry
-
-
- -
-
- -
-
- - - - - - - - -
void setName (QString name)
-
- -

sets the name of the geometry

-
Parameters
- - -
namethe new name of the geometry
-
-
- -

References Geometry::name().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void setVisible (bool visible)
-
-virtualslot
-
- -

if visible is true, the layer is made visible

-
Parameters
- - -
visibleif the layer should be visible
-
-
- -

References Geometry::boundingBox().

- -
-
- -
-
- - - - - - - -
QString toString ()
-
- -

returns a String representation of this Geometry

-

not implemented yet!

Returns
a String representation of this Geometry
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Geometry.png b/libs/QMapControl/html/classqmapcontrol_1_1Geometry.png deleted file mode 100644 index 19cdd2ae0..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1Geometry.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1GeometryLayer-members.html b/libs/QMapControl/html/classqmapcontrol_1_1GeometryLayer-members.html deleted file mode 100644 index 7f0adb3b4..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1GeometryLayer-members.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
GeometryLayer Member List
-
-
- -

This is the complete list of members for GeometryLayer, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
addGeometry(Geometry *geometry)Layer
clearGeometries(bool qDeleteObject=false)Layer
containsGeometry(Geometry *geometry)Layer
geometryClicked(Geometry *geometry, QPoint point)Layersignal
GeometryLayer(QString layername, MapAdapter *mapadapter, bool takeevents=true)GeometryLayer
qmapcontrol::Layer::GeometryLayer enum valueLayer
getGeometries()Layer
isVisible() const Layer
Layer(QString layername, MapAdapter *mapadapter, enum LayerType layertype, bool takeevents=true)Layer
layername() const Layer
layertype() const Layer
LayerType enum nameLayer
mapadapter()Layer
MapLayer enum valueLayer
removeGeometry(Geometry *geometry, bool qDeleteObject=false)Layer
sendGeometryToBack(Geometry *geometry)Layer
sendGeometryToFront(Geometry *geometry)Layer
setVisible(bool visible)Layerslot
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1GeometryLayer.html b/libs/QMapControl/html/classqmapcontrol_1_1GeometryLayer.html deleted file mode 100644 index f94b3e9d8..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1GeometryLayer.html +++ /dev/null @@ -1,627 +0,0 @@ - - - - - - -QMapControl: GeometryLayer Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
GeometryLayer Class Reference
-
-
- -

GeometryLayer class. - More...

- -

#include <geometrylayer.h>

-
-Inheritance diagram for GeometryLayer:
-
-
- - -Layer -QObject - -
- - - - - -

-Public Types

enum  LayerType { MapLayer, -GeometryLayer - }
 sets the type of a layer, see Layer class doc for further information More...
 
- - - - -

-Public Slots

void setVisible (bool visible)
 if visible is true, the layer is made visible More...
 
- - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

void addGeometry (Geometry *geometry)
 adds a Geometry object to this Layer More...
 
void clearGeometries (bool qDeleteObject=false)
 removes all Geometry objects from this Layer More...
 
bool containsGeometry (Geometry *geometry)
 returns true if Layer contains geometry More...
 
 GeometryLayer (QString layername, MapAdapter *mapadapter, bool takeevents=true)
 GeometryLayer constructor. More...
 
QList< Geometry * > & getGeometries ()
 returns all Geometry objects from this Layer More...
 
bool isVisible () const
 return true if the layer is visible More...
 
QString layername () const
 returns the layer's name More...
 
Layer::LayerType layertype () const
 returns the LayerType of the Layer More...
 
MapAdaptermapadapter ()
 returns the layer´s MapAdapter More...
 
void removeGeometry (Geometry *geometry, bool qDeleteObject=false)
 removes the Geometry object from this Layer More...
 
void sendGeometryToBack (Geometry *geometry)
 allow moving a geometry to the top of the list (drawing last) More...
 
void sendGeometryToFront (Geometry *geometry)
 allow moving a geometry to the top of the list (drawing last) More...
 
-

Detailed Description

-

GeometryLayer class.

-

There are two different layer types:

-

MapLayers also can display Geometry objects. The difference to the GeometryLayer is the repainting. Objects that are added to a MapLayer are "baken" on the map. This means, when you change it´s position for example the changes are not visible until a new offscreen image has been drawn. If you have "static" Geometries which won´t change their position this is fine. But if you want to change the objects position or pen you should use a GeometryLayer. Those are repainted immediately on changes.

 @author Kai Winter <kaiwinter@gmx.de>

Member Enumeration Documentation

- -
-
- - - - - -
- - - - -
enum LayerType
-
-inherited
-
- -

sets the type of a layer, see Layer class doc for further information

- - - -
Enumerator
MapLayer  -

uses the MapAdapter to display maps, only gets refreshed when a new offscreen image is needed

-
GeometryLayer  -

gets refreshed everytime when a geometry changes

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GeometryLayer (QString layername,
MapAdaptermapadapter,
bool takeevents = true 
)
-
- -

GeometryLayer constructor.

-

This is used to construct a map layer.

-
Parameters
- - - - -
layernameThe name of the Layer
mapadapterThe MapAdapter which does coordinate translation and Query-String-Forming
takeeventsShould the Layer receive MouseEvents? This is set to true by default. Setting it to false could be something like a "speed up hint"
-
-
- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - -
void addGeometry (Geometrygeometry)
-
-inherited
-
- -

adds a Geometry object to this Layer

-

Please notice the different LayerTypes (MapLayer and GeometryLayer) and the differences

Parameters
- - -
geometrythe new Geometry
-
-
- -

References Geometry::boundingBox(), and Layer::containsGeometry().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void clearGeometries (bool qDeleteObject = false)
-
-inherited
-
- -

removes all Geometry objects from this Layer

-

This method removes all Geometry objects from this Layer. NOTE: this method does not delete the object unless qDeleteObject is set

Parameters
- - -
qDeleteObjectcleans up memory of object after removal
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
bool containsGeometry (Geometrygeometry)
-
-inherited
-
- -

returns true if Layer contains geometry

-

This method returns if a Geometry objects is on this Layer.

- -

Referenced by Layer::addGeometry().

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signalinherited
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The layer emits a signal for every clicked geometry

Parameters
- - - -
geometryThe clicked Geometry
pointThe coordinate (in widget coordinates) of the click
-
-
- -
-
- -
-
- - - - - -
- - - - - - - -
QList< Geometry * > & getGeometries ()
-
-inherited
-
- -

returns all Geometry objects from this Layer

-

This method removes all Geometry objects from this Layer.

Returns
a list of geometries that are on this Layer
- -
-
- -
-
- - - - - -
- - - - - - - -
bool isVisible () const
-
-inherited
-
- -

return true if the layer is visible

-
Returns
if the layer is visible
- -
-
- -
-
- - - - - -
- - - - - - - -
QString layername () const
-
-inherited
-
- -

returns the layer's name

-
Returns
the name of this layer
- -
-
- -
-
- - - - - -
- - - - - - - -
Layer::LayerType layertype () const
-
-inherited
-
- -

returns the LayerType of the Layer

-

There are two LayerTypes: MapLayer and GeometryLayer

Returns
the LayerType of this Layer
- -
-
- -
-
- - - - - -
- - - - - - - -
MapAdapter * mapadapter ()
-
-inherited
-
- -

returns the layer´s MapAdapter

-

This method returns the MapAdapter of this Layer, which can be useful to do coordinate transformations.

Returns
the MapAdapter which us used by this Layer
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void removeGeometry (Geometrygeometry,
bool qDeleteObject = false 
)
-
-inherited
-
- -

removes the Geometry object from this Layer

-

This method removes a Geometry object from this Layer. NOTE: this method does not delete the object unless qDeleteObject is set

Parameters
- - -
qDeleteObjectcleans up memory of object after removal
-
-
- -

References Geometry::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void sendGeometryToBack (Geometrygeometry)
-
-inherited
-
- -

allow moving a geometry to the top of the list (drawing last)

-

This method re-order the Geometry objects so the desired geometry is drawn first and under all other geometries

- -
-
- -
-
- - - - - -
- - - - - - - - -
void sendGeometryToFront (Geometrygeometry)
-
-inherited
-
- -

allow moving a geometry to the top of the list (drawing last)

-

This method re-order the Geometry objects so the desired geometry is drawn last and visible above all geometries

- -
-
- -
-
- - - - - -
- - - - - - - - -
void setVisible (bool visible)
-
-slotinherited
-
- -

if visible is true, the layer is made visible

-
Parameters
- - -
visibleif the layer should be visible
-
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1GeometryLayer.png b/libs/QMapControl/html/classqmapcontrol_1_1GeometryLayer.png deleted file mode 100644 index 96754fa1e..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1GeometryLayer.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1GoogleMapAdapter-members.html b/libs/QMapControl/html/classqmapcontrol_1_1GoogleMapAdapter-members.html deleted file mode 100644 index db73a287e..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1GoogleMapAdapter-members.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
GoogleMapAdapter Member List
-
-
- -

This is the complete list of members for GoogleMapAdapter, including all inherited members.

- - - - - - - - - - - - -
changeHostAddress(const QString qHost, const QString qServerPath=QString())MapAdaptervirtual
coordinateToDisplay(const QPointF &) const TileMapAdaptervirtual
currentZoom() const MapAdapter
displayToCoordinate(const QPoint &) const TileMapAdaptervirtual
GoogleMapAdapter(googleLayerType qLayerType=maps)GoogleMapAdapter
host() const MapAdapter
maxZoom() const MapAdapter
minZoom() const MapAdapter
serverPath() const MapAdaptervirtual
TileMapAdapter(const QString &host, const QString &serverPath, int tilesize, int minZoom=0, int maxZoom=17)TileMapAdapter
tilesize() const MapAdapter
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1GoogleMapAdapter.html b/libs/QMapControl/html/classqmapcontrol_1_1GoogleMapAdapter.html deleted file mode 100644 index f0f053617..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1GoogleMapAdapter.html +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - -QMapControl: GoogleMapAdapter Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
GoogleMapAdapter Class Reference
-
-
- -

MapAdapter for Google. - More...

- -

#include <googlemapadapter.h>

-
-Inheritance diagram for GoogleMapAdapter:
-
-
- - -TileMapAdapter -MapAdapter -QObject - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual void changeHostAddress (const QString qHost, const QString qServerPath=QString())
 change or update server host address post init More...
 
virtual QPoint coordinateToDisplay (const QPointF &) const
 translates a world coordinate to display coordinate More...
 
int currentZoom () const
 returns the current zoom More...
 
virtual QPointF displayToCoordinate (const QPoint &) const
 translates display coordinate to world coordinate More...
 
 GoogleMapAdapter (googleLayerType qLayerType=maps)
 constructor More...
 
QString host () const
 returns the host of this MapAdapter More...
 
int maxZoom () const
 returns the max zoom value More...
 
int minZoom () const
 returns the min zoom value More...
 
virtual QString serverPath () const
 returns the server path part of this MapAdapter More...
 
int tilesize () const
 returns the size of the tiles More...
 
-

Detailed Description

-

MapAdapter for Google.

-

This is a conveniece class, which extends and configures a TileMapAdapter

Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - -
GoogleMapAdapter (googleLayerType qLayerType = maps)
-
- -

constructor

-

This construct a Google Adapter

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void changeHostAddress (const QString qHost,
const QString qServerPath = QString() 
)
-
-virtualinherited
-
- -

change or update server host address post init

-
Parameters
- - - -
hostthe host address
serverPaththe server path
-
-
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
- -
-
- - - - - -
- - - - - - - - -
QPoint coordinateToDisplay (const QPointF & coordinate) const
-
-virtualinherited
-
- -

translates a world coordinate to display coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
coordinatethe world coordinate
-
-
-
Returns
the display coordinate (in widget coordinates)
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
int currentZoom () const
-
-inherited
-
- -

returns the current zoom

-
Returns
the current zoom
- -
-
- -
-
- - - - - -
- - - - - - - - -
QPointF displayToCoordinate (const QPoint & point) const
-
-virtualinherited
-
- -

translates display coordinate to world coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
pointthe display coordinate
-
-
-
Returns
the world coordinate
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
QString host () const
-
-inherited
-
- -

returns the host of this MapAdapter

-
Returns
the host of this MapAdapter
- -
-
- -
-
- - - - - -
- - - - - - - -
int maxZoom () const
-
-inherited
-
- -

returns the max zoom value

-
Returns
the max zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
int minZoom () const
-
-inherited
-
- -

returns the min zoom value

-
Returns
the min zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
QString serverPath () const
-
-virtualinherited
-
- -

returns the server path part of this MapAdapter

-
Returns
the serverpath of this MapAdapter
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::serverPath().

- -
-
- -
-
- - - - - -
- - - - - - - -
int tilesize () const
-
-inherited
-
- -

returns the size of the tiles

-
Returns
the size of the tiles
- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1GoogleMapAdapter.png b/libs/QMapControl/html/classqmapcontrol_1_1GoogleMapAdapter.png deleted file mode 100644 index deb3ebed6..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1GoogleMapAdapter.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1GoogleSatMapAdapter-members.html b/libs/QMapControl/html/classqmapcontrol_1_1GoogleSatMapAdapter-members.html deleted file mode 100644 index ec879fc7c..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1GoogleSatMapAdapter-members.html +++ /dev/null @@ -1,43 +0,0 @@ - - -QMapControl: Member List - - - - - -
-

GoogleSatMapAdapter Member List

This is the complete list of members for GoogleSatMapAdapter, including all inherited members.

- - - - - - - - - - -
coordinateToDisplay(const QPointF &) const GoogleSatMapAdapter [virtual]
currentZoom() const MapAdapter
displayToCoordinate(const QPoint &) const GoogleSatMapAdapter [virtual]
getHost() const GoogleSatMapAdapter
GoogleSatMapAdapter()GoogleSatMapAdapter
host() const MapAdapter
maxZoom() const MapAdapter
minZoom() const MapAdapter
TileMapAdapter(const QString &host, const QString &serverPath, int tilesize, int minZoom=0, int maxZoom=17)TileMapAdapter
tilesize() const MapAdapter

-
Generated on Wed Jul 29 12:38:10 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1GoogleSatMapAdapter.html b/libs/QMapControl/html/classqmapcontrol_1_1GoogleSatMapAdapter.html deleted file mode 100644 index 32682b597..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1GoogleSatMapAdapter.html +++ /dev/null @@ -1,303 +0,0 @@ - - -QMapControl: GoogleSatMapAdapter Class Reference - - - - - -
-

GoogleSatMapAdapter Class Reference

MapAdapter for Google. -More... -

-#include <googlesatmapadapter.h> -

-

-Inheritance diagram for GoogleSatMapAdapter:
-
- -

- -TileMapAdapter -MapAdapter - -
- -

-List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

virtual QPoint coordinateToDisplay (const QPointF &) const
 translates a world coordinate to display coordinate
int currentZoom () const
 returns the current zoom
virtual QPointF displayToCoordinate (const QPoint &) const
 translates display coordinate to world coordinate
QString getHost () const
 returns the host of this MapAdapter
 GoogleSatMapAdapter ()
 constructor
QString host () const
 returns the host of this MapAdapter
int maxZoom () const
 returns the max zoom value
int minZoom () const
 returns the min zoom value
int tilesize () const
 returns the size of the tiles
-


Detailed Description

-MapAdapter for Google. -

-This is a conveniece class, which extends and configures a TileMapAdapter

Author:
Kai Winter <kaiwinter@gmx.de>
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - -
GoogleSatMapAdapter (  ) 
-
-
- -

-constructor -

-This construct a Google Adapter -

-

-


Member Function Documentation

- -
-
- - - - - - - - - -
QPoint coordinateToDisplay (const QPointF &  coordinate  )  const [virtual]
-
-
- -

-translates a world coordinate to display coordinate -

-The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters:
- - -
coordinate the world coordinate
-
-
Returns:
the display coordinate (in widget coordinates)
- -

Reimplemented from TileMapAdapter.

- -
-

- -

-
- - - - - - - - -
int currentZoom (  )  const [inherited]
-
-
- -

-returns the current zoom -

-

Returns:
the current zoom
- -
-

- -

-
- - - - - - - - - -
QPointF displayToCoordinate (const QPoint &  point  )  const [virtual]
-
-
- -

-translates display coordinate to world coordinate -

-The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters:
- - -
point the display coordinate
-
-
Returns:
the world coordinate
- -

Reimplemented from TileMapAdapter.

- -
-

- -

-
- - - - - - - - -
QString getHost (  )  const
-
-
- -

-returns the host of this MapAdapter -

-

Returns:
the host of this MapAdapter
- -
-

- -

-
- - - - - - - - -
QString host (  )  const [inherited]
-
-
- -

-returns the host of this MapAdapter -

-

Returns:
the host of this MapAdapter
- -
-

- -

-
- - - - - - - - -
int maxZoom (  )  const [inherited]
-
-
- -

-returns the max zoom value -

-

Returns:
the max zoom value
- -
-

- -

-
- - - - - - - - -
int minZoom (  )  const [inherited]
-
-
- -

-returns the min zoom value -

-

Returns:
the min zoom value
- -
-

- -

-
- - - - - - - - -
int tilesize (  )  const [inherited]
-
-
- -

-returns the size of the tiles -

-

Returns:
the size of the tiles
- -
-

-


The documentation for this class was generated from the following files: -
-
Generated on Wed Jul 29 12:38:10 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1GoogleSatMapAdapter.png b/libs/QMapControl/html/classqmapcontrol_1_1GoogleSatMapAdapter.png deleted file mode 100644 index 9858a06f4..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1GoogleSatMapAdapter.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1ImagePoint-members.html b/libs/QMapControl/html/classqmapcontrol_1_1ImagePoint-members.html deleted file mode 100644 index 81bcb2579..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1ImagePoint-members.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
ImagePoint Member List
-
-
- -

This is the complete list of members for ImagePoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Alignment enum namePoint
BottomLeft enum valuePoint
BottomMiddle enum valuePoint
BottomRight enum valuePoint
boundingBox()Pointvirtual
coordinate() const Point
Equals(Geometry *geom)Geometry
geometryClicked(Geometry *geometry, QPoint point)Geometrysignal
ImagePoint(qreal x, qreal y, QString filename, QString name=QString(), Alignment alignment=Middle)ImagePoint
ImagePoint(qreal x, qreal y, QPixmap pixmap, QString name=QString(), Alignment alignment=Middle)ImagePoint
isVisible() const Geometry
latitude() const Point
longitude() const Point
Middle enum valuePoint
name() const Geometry
parentGeometry() const Geometry
pen() const Geometry
pixmap()Point
Point(qreal x, qreal y, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QWidget *widget, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QPixmap pixmap, QString name=QString(), enum Alignment alignment=Middle)Point
positionChanged(Geometry *geom)Geometrysignal
setBaselevel(int zoomlevel)Point
setMaxsize(QSize maxsize)Point
setMinsize(QSize minsize)Point
setName(QString name)Geometry
TopLeft enum valuePoint
TopMiddle enum valuePoint
TopRight enum valuePoint
toString()Geometry
Touches(Point *click, const MapAdapter *mapadapter)Pointprotectedvirtual
widget()Point
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1ImagePoint.html b/libs/QMapControl/html/classqmapcontrol_1_1ImagePoint.html deleted file mode 100644 index 5c3f7c47a..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1ImagePoint.html +++ /dev/null @@ -1,936 +0,0 @@ - - - - - - -QMapControl: ImagePoint Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
- -
- -

Draws an image into the map. - More...

- -

#include <imagepoint.h>

-
-Inheritance diagram for ImagePoint:
-
-
- - -Point -Geometry -QObject -FixedImageOverlay - -
- - - - - -

-Public Types

enum  Alignment {
-  TopLeft, -TopRight, -TopMiddle, -BottomLeft, -
-  BottomRight, -BottomMiddle, -Middle -
- }
 sets where the point should be aligned More...
 
- - - - - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
void positionChanged (Geometry *geom)
 A Geometry emits this signal, when its position gets changed. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual QRectF boundingBox ()
 returns the bounding box of the point More...
 
QPointF coordinate () const
 returns the coordinate of the point More...
 
bool Equals (Geometry *geom)
 
 ImagePoint (qreal x, qreal y, QString filename, QString name=QString(), Alignment alignment=Middle)
 Creates a point which loads and displays the given image file. More...
 
 ImagePoint (qreal x, qreal y, QPixmap pixmap, QString name=QString(), Alignment alignment=Middle)
 Creates a point which displays the given image. More...
 
bool isVisible () const
 returns true if this Geometry is visible More...
 
qreal latitude () const
 returns the latitude of the point More...
 
qreal longitude () const
 returns the longitude of the point More...
 
QString name () const
 returns the name of this Geometry More...
 
GeometryparentGeometry () const
 returns the parent Geometry of this Geometry More...
 
QPen * pen () const
 returns the QPen which is used on drawing More...
 
QPixmap pixmap ()
 returns the pixmap of the point More...
 
void setBaselevel (int zoomlevel)
 Sets the zoom level on which the points pixmap gets displayed on full size. More...
 
void setMaxsize (QSize maxsize)
 sets a maximal size for the pixmap More...
 
void setMinsize (QSize minsize)
 sets a minimal size for the pixmap More...
 
void setName (QString name)
 sets the name of the geometry More...
 
QString toString ()
 returns a String representation of this Geometry More...
 
QWidgetwidget ()
 returns the widget of the point More...
 
- - - - -

-Protected Member Functions

virtual bool Touches (Point *click, const MapAdapter *mapadapter)
 returns true if the given Point touches this Point More...
 
-

Detailed Description

-

Draws an image into the map.

-

This is a convenience class for Point. It configures the pixmap of a Point to draw the given image. The image will be loaded from the given path and written in the points pixmap.

-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Member Enumeration Documentation

- -
-
- - - - - -
- - - - -
enum Alignment
-
-inherited
-
- -

sets where the point should be aligned

- - - - - - - - -
Enumerator
TopLeft  -

Align on TopLeft

-
TopRight  -

Align on TopRight

-
TopMiddle  -

Align on TopLeft

-
BottomLeft  -

Align on BottomLeft

-
BottomRight  -

Align on BottomRight

-
BottomMiddle  -

Align on BottomMiddle

-
Middle  -

Align on Middle

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ImagePoint (qreal x,
qreal y,
QString filename,
QString name = QString(),
Alignment alignment = Middle 
)
-
- -

Creates a point which loads and displays the given image file.

-

Use this contructor to load the given image file and let the point display it. When you want multiple points to display the same image, use the other contructor and pass a pointer to that image.

Parameters
- - - - - - -
xlongitude
ylatitude
filenamethe file which should be loaded and displayed
namethe name of the image point
alignmentalignment (Middle or TopLeft)
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ImagePoint (qreal x,
qreal y,
QPixmap pixmap,
QString name = QString(),
Alignment alignment = Middle 
)
-
- -

Creates a point which displays the given image.

-

Use this contructor to display the given image. You have to load that image yourself, but can use it for multiple points.

Parameters
- - - - - - -
xlongitude
ylatitude
pixmappointer to the image pixmap
namethe name of the image point
alignmentalignment (Middle or TopLeft)
-
-
- -

References Point::pixmap().

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
QRectF boundingBox ()
-
-virtualinherited
-
- -

returns the bounding box of the point

-

The Bounding contains the coordinate of the point and its size. The size is set, if the point contains a pixmap or a widget

Returns
the bounding box of the point
- -

Implements Geometry.

- -

References Point::latitude(), and Point::longitude().

- -
-
- -
-
- - - - - -
- - - - - - - -
QPointF coordinate () const
-
-inherited
-
- -

returns the coordinate of the point

-

The x component of the returned QPointF is the longitude value, the y component the latitude

Returns
the coordinate of a point
- -

Referenced by MapControl::setView(), and Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - - -
bool Equals (Geometrygeom)
-
-inherited
-
-

returns true if the given Geometry is equal to this Geometry not implemented yet!

Parameters
- - -
geomThe Geometry to be tested
-
-
-
Returns
true if the given Geometry is equal to this
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signalinherited
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The objects emits a signal if it gets clicked

Parameters
- - - -
geometryThe clicked Geometry
point-unused-
-
-
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
bool isVisible () const
-
-inherited
-
- -

returns true if this Geometry is visible

-
Returns
true if this Geometry is visible
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
qreal latitude () const
-
-inherited
-
- -

returns the latitude of the point

-
Returns
the latitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
qreal longitude () const
-
-inherited
-
- -

returns the longitude of the point

-
Returns
the longitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString name () const
-
-inherited
-
- -

returns the name of this Geometry

-
Returns
the name of this Geometry
- -

Referenced by Geometry::setName().

- -
-
- -
-
- - - - - -
- - - - - - - -
Geometry * parentGeometry () const
-
-inherited
-
- -

returns the parent Geometry of this Geometry

-

A LineString is a composition of many Points. This methods returns the parent (the LineString) of a Point

Returns
the parent Geometry of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - -
QPen * pen () const
-
-inherited
-
- -

returns the QPen which is used on drawing

-

The pen is set depending on the Geometry. A CirclePoint for example takes one with the constructor.

Returns
the QPen which is used for drawing
- -

Referenced by ArrowPoint::ArrowPoint(), CirclePoint::CirclePoint(), LineString::LineString(), ArrowPoint::setPen(), and CirclePoint::setPen().

- -
-
- -
-
- - - - - -
- - - - - - - -
QPixmap pixmap ()
-
-inherited
-
- -

returns the pixmap of the point

-
Returns
the pixmap of the point
- -

Referenced by FixedImageOverlay::FixedImageOverlay(), and ImagePoint::ImagePoint().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void positionChanged (Geometrygeom)
-
-signalinherited
-
- -

A Geometry emits this signal, when its position gets changed.

-
Parameters
- - -
geomthe Geometry
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setBaselevel (int zoomlevel)
-
-inherited
-
- -

Sets the zoom level on which the points pixmap gets displayed on full size.

-

Use this method to set a zoom level on which the pixmap gets displayed with its real size. On zoomlevels below it will be displayed smaller, and on zoom levels thereover it will be displayed larger

See also
setMinsize, setMaxsize
-
Parameters
- - -
zoomlevelthe zoomlevel on which the point will be displayed on full size
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setMaxsize (QSize maxsize)
-
-inherited
-
- -

sets a maximal size for the pixmap

-

When the point´s pixmap should change its size on zooming, this method sets the maximal size.

See also
setBaselevel
-
Parameters
- - -
maxsizethe maximal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setMinsize (QSize minsize)
-
-inherited
-
- -

sets a minimal size for the pixmap

-

When the point's pixmap should change its size on zooming, this method sets the minimal size.

See also
setBaselevel
-
Parameters
- - -
minsizethe minimal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setName (QString name)
-
-inherited
-
- -

sets the name of the geometry

-
Parameters
- - -
namethe new name of the geometry
-
-
- -

References Geometry::name().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString toString ()
-
-inherited
-
- -

returns a String representation of this Geometry

-

not implemented yet!

Returns
a String representation of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool Touches (Pointclick,
const MapAdaptermapadapter 
)
-
-protectedvirtualinherited
-
- -

returns true if the given Point touches this Point

-

The collision detection checks for the bounding rectangulars.

Parameters
- - - -
geomthe other point which should be tested on collision
mapadapterthe mapadapter which is used for calculations
-
-
-
Returns
- -

Implements Geometry.

- -

References Point::coordinate(), MapAdapter::coordinateToDisplay(), Geometry::geometryClicked(), and Geometry::isVisible().

- -
-
- -
-
- - - - - -
- - - - - - - -
QWidget * widget ()
-
-inherited
-
- -

returns the widget of the point

-
Returns
the widget of the point
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1ImagePoint.png b/libs/QMapControl/html/classqmapcontrol_1_1ImagePoint.png deleted file mode 100644 index 87caec70c..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1ImagePoint.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1InvisiblePoint-members.html b/libs/QMapControl/html/classqmapcontrol_1_1InvisiblePoint-members.html deleted file mode 100644 index fa4b33d90..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1InvisiblePoint-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
InvisiblePoint Member List
-
-
- -

This is the complete list of members for InvisiblePoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Alignment enum namePoint
BottomLeft enum valuePoint
BottomMiddle enum valuePoint
BottomRight enum valuePoint
boundingBox()Pointvirtual
coordinate() const Point
Equals(Geometry *geom)Geometry
geometryClicked(Geometry *geometry, QPoint point)Geometrysignal
InvisiblePoint(qreal x, qreal y, QString name=QString())InvisiblePoint
InvisiblePoint(qreal x, qreal y, int width=10, int height=10, QString name=QString())InvisiblePoint
InvisiblePoint(qreal x, qreal y, int sideLength=10, QString name=QString())InvisiblePoint
isVisible() const Geometry
latitude() const Point
longitude() const Point
Middle enum valuePoint
name() const Geometry
parentGeometry() const Geometry
pen() const Geometry
pixmap()Point
Point(qreal x, qreal y, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QWidget *widget, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QPixmap pixmap, QString name=QString(), enum Alignment alignment=Middle)Point
positionChanged(Geometry *geom)Geometrysignal
setBaselevel(int zoomlevel)Point
setMaxsize(QSize maxsize)Point
setMinsize(QSize minsize)Point
setName(QString name)Geometry
TopLeft enum valuePoint
TopMiddle enum valuePoint
TopRight enum valuePoint
toString()Geometry
Touches(Point *click, const MapAdapter *mapadapter)Pointprotectedvirtual
widget()Point
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1InvisiblePoint.html b/libs/QMapControl/html/classqmapcontrol_1_1InvisiblePoint.html deleted file mode 100644 index ad758b96c..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1InvisiblePoint.html +++ /dev/null @@ -1,962 +0,0 @@ - - - - - - -QMapControl: InvisiblePoint Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
- -
- -

Draws an invisible point into the map. - More...

- -

#include <invisiblepoint.h>

-
-Inheritance diagram for InvisiblePoint:
-
-
- - -Point -Geometry -QObject - -
- - - - - -

-Public Types

enum  Alignment {
-  TopLeft, -TopRight, -TopMiddle, -BottomLeft, -
-  BottomRight, -BottomMiddle, -Middle -
- }
 sets where the point should be aligned More...
 
- - - - - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
void positionChanged (Geometry *geom)
 A Geometry emits this signal, when its position gets changed. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual QRectF boundingBox ()
 returns the bounding box of the point More...
 
QPointF coordinate () const
 returns the coordinate of the point More...
 
bool Equals (Geometry *geom)
 
 InvisiblePoint (qreal x, qreal y, QString name=QString())
 
 InvisiblePoint (qreal x, qreal y, int width=10, int height=10, QString name=QString())
 
 InvisiblePoint (qreal x, qreal y, int sideLength=10, QString name=QString())
 
bool isVisible () const
 returns true if this Geometry is visible More...
 
qreal latitude () const
 returns the latitude of the point More...
 
qreal longitude () const
 returns the longitude of the point More...
 
QString name () const
 returns the name of this Geometry More...
 
GeometryparentGeometry () const
 returns the parent Geometry of this Geometry More...
 
QPen * pen () const
 returns the QPen which is used on drawing More...
 
QPixmap pixmap ()
 returns the pixmap of the point More...
 
void setBaselevel (int zoomlevel)
 Sets the zoom level on which the points pixmap gets displayed on full size. More...
 
void setMaxsize (QSize maxsize)
 sets a maximal size for the pixmap More...
 
void setMinsize (QSize minsize)
 sets a minimal size for the pixmap More...
 
void setName (QString name)
 sets the name of the geometry More...
 
QString toString ()
 returns a String representation of this Geometry More...
 
QWidgetwidget ()
 returns the widget of the point More...
 
- - - - -

-Protected Member Functions

virtual bool Touches (Point *click, const MapAdapter *mapadapter)
 returns true if the given Point touches this Point More...
 
-

Detailed Description

-

Draws an invisible point into the map.

-

This is a convenience class for point. It configures the pixmap of a point to draw nothing, still being a clickable point.

-
Author
Frederic Bourgeois bourg.nosp@m.eois.nosp@m.lab@g.nosp@m.mail.nosp@m..com
-

Member Enumeration Documentation

- -
-
- - - - - -
- - - - -
enum Alignment
-
-inherited
-
- -

sets where the point should be aligned

- - - - - - - - -
Enumerator
TopLeft  -

Align on TopLeft

-
TopRight  -

Align on TopRight

-
TopMiddle  -

Align on TopLeft

-
BottomLeft  -

Align on BottomLeft

-
BottomRight  -

Align on BottomRight

-
BottomMiddle  -

Align on BottomMiddle

-
Middle  -

Align on Middle

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
InvisiblePoint (qreal x,
qreal y,
QString name = QString() 
)
-
-
Parameters
- - - - -
xlongitude
ylatitude
namename of the invisible point
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
InvisiblePoint (qreal x,
qreal y,
int width = 10,
int height = 10,
QString name = QString() 
)
-
-
Parameters
- - - - - - -
xlongitude
ylatitude
widthwidth
heightheight
namename of the invisible point
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
InvisiblePoint (qreal x,
qreal y,
int sideLength = 10,
QString name = QString() 
)
-
-
Parameters
- - - - - -
xlongitude
ylatitude
sideLengthside length of the bounding box (square)
namename of the invisible point
-
-
- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
QRectF boundingBox ()
-
-virtualinherited
-
- -

returns the bounding box of the point

-

The Bounding contains the coordinate of the point and its size. The size is set, if the point contains a pixmap or a widget

Returns
the bounding box of the point
- -

Implements Geometry.

- -

References Point::latitude(), and Point::longitude().

- -
-
- -
-
- - - - - -
- - - - - - - -
QPointF coordinate () const
-
-inherited
-
- -

returns the coordinate of the point

-

The x component of the returned QPointF is the longitude value, the y component the latitude

Returns
the coordinate of a point
- -

Referenced by MapControl::setView(), and Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - - -
bool Equals (Geometrygeom)
-
-inherited
-
-

returns true if the given Geometry is equal to this Geometry not implemented yet!

Parameters
- - -
geomThe Geometry to be tested
-
-
-
Returns
true if the given Geometry is equal to this
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signalinherited
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The objects emits a signal if it gets clicked

Parameters
- - - -
geometryThe clicked Geometry
point-unused-
-
-
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
bool isVisible () const
-
-inherited
-
- -

returns true if this Geometry is visible

-
Returns
true if this Geometry is visible
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
qreal latitude () const
-
-inherited
-
- -

returns the latitude of the point

-
Returns
the latitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
qreal longitude () const
-
-inherited
-
- -

returns the longitude of the point

-
Returns
the longitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString name () const
-
-inherited
-
- -

returns the name of this Geometry

-
Returns
the name of this Geometry
- -

Referenced by Geometry::setName().

- -
-
- -
-
- - - - - -
- - - - - - - -
Geometry * parentGeometry () const
-
-inherited
-
- -

returns the parent Geometry of this Geometry

-

A LineString is a composition of many Points. This methods returns the parent (the LineString) of a Point

Returns
the parent Geometry of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - -
QPen * pen () const
-
-inherited
-
- -

returns the QPen which is used on drawing

-

The pen is set depending on the Geometry. A CirclePoint for example takes one with the constructor.

Returns
the QPen which is used for drawing
- -

Referenced by ArrowPoint::ArrowPoint(), CirclePoint::CirclePoint(), LineString::LineString(), ArrowPoint::setPen(), and CirclePoint::setPen().

- -
-
- -
-
- - - - - -
- - - - - - - -
QPixmap pixmap ()
-
-inherited
-
- -

returns the pixmap of the point

-
Returns
the pixmap of the point
- -

Referenced by FixedImageOverlay::FixedImageOverlay(), and ImagePoint::ImagePoint().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void positionChanged (Geometrygeom)
-
-signalinherited
-
- -

A Geometry emits this signal, when its position gets changed.

-
Parameters
- - -
geomthe Geometry
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setBaselevel (int zoomlevel)
-
-inherited
-
- -

Sets the zoom level on which the points pixmap gets displayed on full size.

-

Use this method to set a zoom level on which the pixmap gets displayed with its real size. On zoomlevels below it will be displayed smaller, and on zoom levels thereover it will be displayed larger

See also
setMinsize, setMaxsize
-
Parameters
- - -
zoomlevelthe zoomlevel on which the point will be displayed on full size
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setMaxsize (QSize maxsize)
-
-inherited
-
- -

sets a maximal size for the pixmap

-

When the point´s pixmap should change its size on zooming, this method sets the maximal size.

See also
setBaselevel
-
Parameters
- - -
maxsizethe maximal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setMinsize (QSize minsize)
-
-inherited
-
- -

sets a minimal size for the pixmap

-

When the point's pixmap should change its size on zooming, this method sets the minimal size.

See also
setBaselevel
-
Parameters
- - -
minsizethe minimal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setName (QString name)
-
-inherited
-
- -

sets the name of the geometry

-
Parameters
- - -
namethe new name of the geometry
-
-
- -

References Geometry::name().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString toString ()
-
-inherited
-
- -

returns a String representation of this Geometry

-

not implemented yet!

Returns
a String representation of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool Touches (Pointclick,
const MapAdaptermapadapter 
)
-
-protectedvirtualinherited
-
- -

returns true if the given Point touches this Point

-

The collision detection checks for the bounding rectangulars.

Parameters
- - - -
geomthe other point which should be tested on collision
mapadapterthe mapadapter which is used for calculations
-
-
-
Returns
- -

Implements Geometry.

- -

References Point::coordinate(), MapAdapter::coordinateToDisplay(), Geometry::geometryClicked(), and Geometry::isVisible().

- -
-
- -
-
- - - - - -
- - - - - - - -
QWidget * widget ()
-
-inherited
-
- -

returns the widget of the point

-
Returns
the widget of the point
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1InvisiblePoint.png b/libs/QMapControl/html/classqmapcontrol_1_1InvisiblePoint.png deleted file mode 100644 index cf22fb3a6..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1InvisiblePoint.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Layer-members.html b/libs/QMapControl/html/classqmapcontrol_1_1Layer-members.html deleted file mode 100644 index ea370cc16..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1Layer-members.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
Layer Member List
-
-
- -

This is the complete list of members for Layer, including all inherited members.

- - - - - - - - - - - - - - - - - - -
addGeometry(Geometry *geometry)Layer
clearGeometries(bool qDeleteObject=false)Layer
containsGeometry(Geometry *geometry)Layer
geometryClicked(Geometry *geometry, QPoint point)Layersignal
GeometryLayer enum valueLayer
getGeometries()Layer
isVisible() const Layer
Layer(QString layername, MapAdapter *mapadapter, enum LayerType layertype, bool takeevents=true)Layer
layername() const Layer
layertype() const Layer
LayerType enum nameLayer
mapadapter()Layer
MapLayer enum valueLayer
removeGeometry(Geometry *geometry, bool qDeleteObject=false)Layer
sendGeometryToBack(Geometry *geometry)Layer
sendGeometryToFront(Geometry *geometry)Layer
setVisible(bool visible)Layerslot
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Layer.html b/libs/QMapControl/html/classqmapcontrol_1_1Layer.html deleted file mode 100644 index d7799b4d9..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1Layer.html +++ /dev/null @@ -1,541 +0,0 @@ - - - - - - -QMapControl: Layer Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
- -
- -

Layer class. - More...

- -

#include <layer.h>

-
-Inheritance diagram for Layer:
-
-
- - -QObject -GeometryLayer -MapLayer - -
- - - - - -

-Public Types

enum  LayerType { MapLayer, -GeometryLayer - }
 sets the type of a layer, see Layer class doc for further information More...
 
- - - - -

-Public Slots

void setVisible (bool visible)
 if visible is true, the layer is made visible More...
 
- - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

void addGeometry (Geometry *geometry)
 adds a Geometry object to this Layer More...
 
void clearGeometries (bool qDeleteObject=false)
 removes all Geometry objects from this Layer More...
 
bool containsGeometry (Geometry *geometry)
 returns true if Layer contains geometry More...
 
QList< Geometry * > & getGeometries ()
 returns all Geometry objects from this Layer More...
 
bool isVisible () const
 return true if the layer is visible More...
 
 Layer (QString layername, MapAdapter *mapadapter, enum LayerType layertype, bool takeevents=true)
 Layer constructor. More...
 
QString layername () const
 returns the layer's name More...
 
Layer::LayerType layertype () const
 returns the LayerType of the Layer More...
 
MapAdaptermapadapter ()
 returns the layer´s MapAdapter More...
 
void removeGeometry (Geometry *geometry, bool qDeleteObject=false)
 removes the Geometry object from this Layer More...
 
void sendGeometryToBack (Geometry *geometry)
 allow moving a geometry to the top of the list (drawing last) More...
 
void sendGeometryToFront (Geometry *geometry)
 allow moving a geometry to the top of the list (drawing last) More...
 
-

Detailed Description

-

Layer class.

-

There are two different layer types:

-

MapLayers also can display Geometry objects. The difference to the GeometryLayer is the repainting. Objects that are added to a MapLayer are "baken" on the map. This means, when you change it´s position for example the changes are not visible until a new offscreen image has been drawn. If you have "static" Geometries which won´t change their position this is fine. But if you want to change the objects position or pen you should use a GeometryLayer. Those are repainted immediately on changes. You can either use this class and give a layertype on creation or you can use the classes MapLayer and GeometryLayer.

-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Member Enumeration Documentation

- -
-
- - - - -
enum LayerType
-
- -

sets the type of a layer, see Layer class doc for further information

- - - -
Enumerator
MapLayer  -

uses the MapAdapter to display maps, only gets refreshed when a new offscreen image is needed

-
GeometryLayer  -

gets refreshed everytime when a geometry changes

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Layer (QString layername,
MapAdaptermapadapter,
enum LayerType layertype,
bool takeevents = true 
)
-
- -

Layer constructor.

-

This is used to construct a layer.

-
Parameters
- - - - - -
layernameThe name of the Layer
mapadapterThe MapAdapter which does coordinate translation and Query-String-Forming
layertypeThe above explained LayerType
takeeventsShould the Layer receive MouseEvents? This is set to true by default. Setting it to false could be something like a "speed up hint"
-
-
- -
-
-

Member Function Documentation

- -
-
- - - - - - - - -
void addGeometry (Geometrygeometry)
-
- -

adds a Geometry object to this Layer

-

Please notice the different LayerTypes (MapLayer and GeometryLayer) and the differences

Parameters
- - -
geometrythe new Geometry
-
-
- -

References Geometry::boundingBox(), and Layer::containsGeometry().

- -
-
- -
-
- - - - - - - - -
void clearGeometries (bool qDeleteObject = false)
-
- -

removes all Geometry objects from this Layer

-

This method removes all Geometry objects from this Layer. NOTE: this method does not delete the object unless qDeleteObject is set

Parameters
- - -
qDeleteObjectcleans up memory of object after removal
-
-
- -
-
- -
-
- - - - - - - - -
bool containsGeometry (Geometrygeometry)
-
- -

returns true if Layer contains geometry

-

This method returns if a Geometry objects is on this Layer.

- -

Referenced by Layer::addGeometry().

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signal
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The layer emits a signal for every clicked geometry

Parameters
- - - -
geometryThe clicked Geometry
pointThe coordinate (in widget coordinates) of the click
-
-
- -
-
- -
-
- - - - - - - -
QList< Geometry * > & getGeometries ()
-
- -

returns all Geometry objects from this Layer

-

This method removes all Geometry objects from this Layer.

Returns
a list of geometries that are on this Layer
- -
-
- -
-
- - - - - - - -
bool isVisible () const
-
- -

return true if the layer is visible

-
Returns
if the layer is visible
- -
-
- -
-
- - - - - - - -
QString layername () const
-
- -

returns the layer's name

-
Returns
the name of this layer
- -
-
- -
-
- - - - - - - -
Layer::LayerType layertype () const
-
- -

returns the LayerType of the Layer

-

There are two LayerTypes: MapLayer and GeometryLayer

Returns
the LayerType of this Layer
- -
-
- -
-
- - - - - - - -
MapAdapter * mapadapter ()
-
- -

returns the layer´s MapAdapter

-

This method returns the MapAdapter of this Layer, which can be useful to do coordinate transformations.

Returns
the MapAdapter which us used by this Layer
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void removeGeometry (Geometrygeometry,
bool qDeleteObject = false 
)
-
- -

removes the Geometry object from this Layer

-

This method removes a Geometry object from this Layer. NOTE: this method does not delete the object unless qDeleteObject is set

Parameters
- - -
qDeleteObjectcleans up memory of object after removal
-
-
- -

References Geometry::boundingBox().

- -
-
- -
-
- - - - - - - - -
void sendGeometryToBack (Geometrygeometry)
-
- -

allow moving a geometry to the top of the list (drawing last)

-

This method re-order the Geometry objects so the desired geometry is drawn first and under all other geometries

- -
-
- -
-
- - - - - - - - -
void sendGeometryToFront (Geometrygeometry)
-
- -

allow moving a geometry to the top of the list (drawing last)

-

This method re-order the Geometry objects so the desired geometry is drawn last and visible above all geometries

- -
-
- -
-
- - - - - -
- - - - - - - - -
void setVisible (bool visible)
-
-slot
-
- -

if visible is true, the layer is made visible

-
Parameters
- - -
visibleif the layer should be visible
-
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Layer.png b/libs/QMapControl/html/classqmapcontrol_1_1Layer.png deleted file mode 100644 index d7c94e99a..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1Layer.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1LineString-members.html b/libs/QMapControl/html/classqmapcontrol_1_1LineString-members.html deleted file mode 100644 index 41692cc63..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1LineString-members.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
LineString Member List
-
-
- -

This is the complete list of members for LineString, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
addPoint(Point *point)LineString
boundingBox()LineStringvirtual
clickedPoints()LineStringvirtual
Equals(Geometry *geom)Geometry
geometryClicked(Geometry *geometry, QPoint point)Geometrysignal
hasClickedPoints() const LineStringvirtual
hasPoints() const LineStringvirtual
isVisible() const Geometry
LineString(QList< Point * > const points, QString name=QString(), QPen *pen=0)LineString
name() const Geometry
numberOfPoints() const LineString
parentGeometry() const Geometry
pen() const Geometry
points()LineStringvirtual
positionChanged(Geometry *geom)Geometrysignal
setName(QString name)Geometry
setPoints(QList< Point * > points)LineString
setVisible(bool visible)Geometryvirtualslot
toString()Geometry
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1LineString.html b/libs/QMapControl/html/classqmapcontrol_1_1LineString.html deleted file mode 100644 index 3be2afb67..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1LineString.html +++ /dev/null @@ -1,729 +0,0 @@ - - - - - - -QMapControl: LineString Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
LineString Class Reference
-
-
- -

A collection of Point objects to describe a line. - More...

- -

#include <linestring.h>

-
-Inheritance diagram for LineString:
-
-
- - -Curve -Geometry -QObject - -
- - - - - -

-Public Slots

virtual void setVisible (bool visible)
 if visible is true, the layer is made visible More...
 
- - - - - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
void positionChanged (Geometry *geom)
 A Geometry emits this signal, when its position gets changed. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

void addPoint (Point *point)
 adds a point at the end of the LineString More...
 
virtual QRectF boundingBox ()
 returns the bounding box (rect) that contains all points More...
 
virtual QList< Geometry * > & clickedPoints ()
 returns the clicked Points More...
 
bool Equals (Geometry *geom)
 
virtual bool hasClickedPoints () const
 returns true if the LineString has clicked Points More...
 
virtual bool hasPoints () const
 returns true if the LineString has Childs More...
 
bool isVisible () const
 returns true if this Geometry is visible More...
 
 LineString (QList< Point * > const points, QString name=QString(), QPen *pen=0)
 constructor More...
 
QString name () const
 returns the name of this Geometry More...
 
int numberOfPoints () const
 returns the number of Points the LineString consists of More...
 
GeometryparentGeometry () const
 returns the parent Geometry of this Geometry More...
 
QPen * pen () const
 returns the QPen which is used on drawing More...
 
QList< Point * > points ()
 returns the points of the LineString More...
 
void setName (QString name)
 sets the name of the geometry More...
 
void setPoints (QList< Point * > points)
 
QString toString ()
 returns a String representation of this Geometry More...
 
-

Detailed Description

-

A collection of Point objects to describe a line.

-

A LineString is a Curve with linear interpolation between Points. Each consecutive pair of Points defines a Line segment.

Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
LineString (QList< Point * > const points,
QString name = QString(),
QPen * pen = 0 
)
-
- -

constructor

-

The constructor of a LineString takes a list of Points to form a line.

Parameters
- - - - -
pointsa list of points
namethe name of the LineString
pena QPen can be used to modify the look of the line.
-
-
-
See also
http://doc.trolltech.com/4.3/qpen.html
- -

References Geometry::pen(), and LineString::setPoints().

- -
-
-

Member Function Documentation

- -
-
- - - - - - - - -
void addPoint (Pointpoint)
-
- -

adds a point at the end of the LineString

-
Parameters
- - -
pointthe point which should be added to the LineString
-
-
- -
-
- -
-
- - - - - -
- - - - - - - -
QRectF boundingBox ()
-
-virtual
-
- -

returns the bounding box (rect) that contains all points

-
Returns
the rect that contains all points
- -

Implements Geometry.

- -

References Point::latitude(), and Point::longitude().

- -
-
- -
-
- - - - - -
- - - - - - - -
QList< Geometry * > & clickedPoints ()
-
-virtual
-
- -

returns the clicked Points

-

If a LineString was clicked it could be neccessary to figure out which of its points where clicked. Do do so the methods hasPoints() and clickedPoints() can be used. When a point is added to a LineString the Point becomes its child. It is possible (depending on the zoomfactor) to click more than one Point of a LineString, so this method returns a list.

Returns
the clicked Points of the LineString
- -

Reimplemented from Geometry.

- -
-
- -
-
- - - - - -
- - - - - - - - -
bool Equals (Geometrygeom)
-
-inherited
-
-

returns true if the given Geometry is equal to this Geometry not implemented yet!

Parameters
- - -
geomThe Geometry to be tested
-
-
-
Returns
true if the given Geometry is equal to this
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signalinherited
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The objects emits a signal if it gets clicked

Parameters
- - - -
geometryThe clicked Geometry
point-unused-
-
-
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
bool hasClickedPoints () const
-
-virtual
-
- -

returns true if the LineString has clicked Points

-
Returns
true if childs of a LineString were clicked
-
See also
clickedPoints()
- -

Reimplemented from Geometry.

- -
-
- -
-
- - - - - -
- - - - - - - -
bool hasPoints () const
-
-virtual
-
- -

returns true if the LineString has Childs

-

This is equal to: numberOfPoints() > 0

Returns
true it the LineString has Childs (=Points)
-
See also
clickedPoints()
- -

Reimplemented from Geometry.

- -
-
- -
-
- - - - - -
- - - - - - - -
bool isVisible () const
-
-inherited
-
- -

returns true if this Geometry is visible

-
Returns
true if this Geometry is visible
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString name () const
-
-inherited
-
- -

returns the name of this Geometry

-
Returns
the name of this Geometry
- -

Referenced by Geometry::setName().

- -
-
- -
-
- - - - - - - -
int numberOfPoints () const
-
- -

returns the number of Points the LineString consists of

-
Returns
the number of the LineString´s Points
- -
-
- -
-
- - - - - -
- - - - - - - -
Geometry * parentGeometry () const
-
-inherited
-
- -

returns the parent Geometry of this Geometry

-

A LineString is a composition of many Points. This methods returns the parent (the LineString) of a Point

Returns
the parent Geometry of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - -
QPen * pen () const
-
-inherited
-
- -

returns the QPen which is used on drawing

-

The pen is set depending on the Geometry. A CirclePoint for example takes one with the constructor.

Returns
the QPen which is used for drawing
- -

Referenced by ArrowPoint::ArrowPoint(), CirclePoint::CirclePoint(), LineString::LineString(), ArrowPoint::setPen(), and CirclePoint::setPen().

- -
-
- -
-
- - - - - -
- - - - - - - -
QList< Point * > points ()
-
-virtual
-
- -

returns the points of the LineString

-
Returns
a list with the points of the LineString
- -

Implements Geometry.

- -

Referenced by LineString::setPoints().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void positionChanged (Geometrygeom)
-
-signalinherited
-
- -

A Geometry emits this signal, when its position gets changed.

-
Parameters
- - -
geomthe Geometry
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setName (QString name)
-
-inherited
-
- -

sets the name of the geometry

-
Parameters
- - -
namethe new name of the geometry
-
-
- -

References Geometry::name().

- -
-
- -
-
- - - - - - - - -
void setPoints (QList< Point * > points)
-
-

sets the given list as points of the LineString NOTE: these points will get reparented and cleaned up automatically

-
Parameters
- - -
pointsthe points which should be set for the LineString
-
-
- -

References LineString::points().

- -

Referenced by LineString::LineString().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void setVisible (bool visible)
-
-virtualslotinherited
-
- -

if visible is true, the layer is made visible

-
Parameters
- - -
visibleif the layer should be visible
-
-
- -

References Geometry::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString toString ()
-
-inherited
-
- -

returns a String representation of this Geometry

-

not implemented yet!

Returns
a String representation of this Geometry
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1LineString.png b/libs/QMapControl/html/classqmapcontrol_1_1LineString.png deleted file mode 100644 index 7150bfad8..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1LineString.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapAdapter-members.html b/libs/QMapControl/html/classqmapcontrol_1_1MapAdapter-members.html deleted file mode 100644 index 1b2e98ab3..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1MapAdapter-members.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
MapAdapter Member List
-
-
- -

This is the complete list of members for MapAdapter, including all inherited members.

- - - - - - - - - - -
changeHostAddress(const QString qHost, const QString qServerPath=QString())MapAdaptervirtual
coordinateToDisplay(const QPointF &coordinate) const =0MapAdapterpure virtual
currentZoom() const MapAdapter
displayToCoordinate(const QPoint &point) const =0MapAdapterpure virtual
host() const MapAdapter
maxZoom() const MapAdapter
minZoom() const MapAdapter
serverPath() const MapAdaptervirtual
tilesize() const MapAdapter
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapAdapter.html b/libs/QMapControl/html/classqmapcontrol_1_1MapAdapter.html deleted file mode 100644 index 81f75b72a..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1MapAdapter.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - - -QMapControl: MapAdapter Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
MapAdapter Class Referenceabstract
-
-
- -

Used to fit map servers into QMapControl. - More...

- -

#include <mapadapter.h>

-
-Inheritance diagram for MapAdapter:
-
-
- - -QObject -EmptyMapAdapter -TileMapAdapter -WMSMapAdapter -GoogleMapAdapter -OpenAerialMapAdapter -OSMMapAdapter -YahooMapAdapter - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual void changeHostAddress (const QString qHost, const QString qServerPath=QString())
 change or update server host address post init More...
 
virtual QPoint coordinateToDisplay (const QPointF &coordinate) const =0
 translates a world coordinate to display coordinate More...
 
int currentZoom () const
 returns the current zoom More...
 
virtual QPointF displayToCoordinate (const QPoint &point) const =0
 translates display coordinate to world coordinate More...
 
QString host () const
 returns the host of this MapAdapter More...
 
int maxZoom () const
 returns the max zoom value More...
 
int minZoom () const
 returns the min zoom value More...
 
virtual QString serverPath () const
 returns the server path part of this MapAdapter More...
 
int tilesize () const
 returns the size of the tiles More...
 
-

Detailed Description

-

Used to fit map servers into QMapControl.

-

MapAdapters are needed to convert between world- and display coordinates. This calculations depend on the used map projection. There are two ready-made MapAdapters:

    -
  • TileMapAdapter, which is ready to use for OpenStreetMap or Google (Mercator projection)
  • -
  • WMSMapAdapter, which could be used for the most WMS-Server (some servers show errors, because of image ratio)
  • -
-

MapAdapters are also needed to form the HTTP-Queries to load the map tiles. The maps from WMS Servers are also divided into tiles, because those can be better cached.

-
See also
TileMapAdapter,
-
-WMSMapAdapter
-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void changeHostAddress (const QString qHost,
const QString qServerPath = QString() 
)
-
-virtual
-
- -

change or update server host address post init

-
Parameters
- - - -
hostthe host address
serverPaththe server path
-
-
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
- -
-
- - - - - -
- - - - - - - - -
virtual QPoint coordinateToDisplay (const QPointF & coordinate) const
-
-pure virtual
-
- -

translates a world coordinate to display coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
coordinatethe world coordinate
-
-
-
Returns
the display coordinate (in widget coordinates)
- -

Implemented in TileMapAdapter, EmptyMapAdapter, and WMSMapAdapter.

- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - - - -
int currentZoom () const
-
- -

returns the current zoom

-
Returns
the current zoom
- -
-
- -
-
- - - - - -
- - - - - - - - -
virtual QPointF displayToCoordinate (const QPoint & point) const
-
-pure virtual
-
- -

translates display coordinate to world coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
pointthe display coordinate
-
-
-
Returns
the world coordinate
- -

Implemented in TileMapAdapter, EmptyMapAdapter, and WMSMapAdapter.

- -
-
- -
-
- - - - - - - -
QString host () const
-
- -

returns the host of this MapAdapter

-
Returns
the host of this MapAdapter
- -
-
- -
-
- - - - - - - -
int maxZoom () const
-
- -

returns the max zoom value

-
Returns
the max zoom value
- -
-
- -
-
- - - - - - - -
int minZoom () const
-
- -

returns the min zoom value

-
Returns
the min zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
QString serverPath () const
-
-virtual
-
- -

returns the server path part of this MapAdapter

-
Returns
the serverpath of this MapAdapter
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::serverPath().

- -
-
- -
-
- - - - - - - -
int tilesize () const
-
- -

returns the size of the tiles

-
Returns
the size of the tiles
- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapAdapter.png b/libs/QMapControl/html/classqmapcontrol_1_1MapAdapter.png deleted file mode 100644 index f106a4164..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1MapAdapter.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapControl-members.html b/libs/QMapControl/html/classqmapcontrol_1_1MapControl-members.html deleted file mode 100644 index 34e3ef4b8..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1MapControl-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
MapControl Member List
-
-
- -

This is the complete list of members for MapControl, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addLayer(Layer *layer)MapControl
boxDragged(const QRectF)MapControlsignal
currentCoordinate() const MapControl
currentZoom() const MapControl
Dragging enum valueMapControl
enableMouseWheelEvents(bool enabled=true)MapControl
enablePersistentCache(int tileExpiry=-1, const QDir &path=QDir::homePath()+"/QMapControl.cache")MapControl
followGeometry(const Geometry *geometry) const MapControl
geometryClicked(Geometry *geometry, QPoint coord_px)MapControlsignal
getBoundingBox()MapControl
getViewport()MapControl
isBoundingBoxEnabled()MapControl
isGeometryVisible(Geometry *geometry)MapControl
layer(const QString &layername) const MapControl
layers() const MapControl
loadingQueueSize()MapControl
MapControl(QWidget *parent=0, Qt::WindowFlags windowFlags=0)MapControl
MapControl(QSize size, MouseMode mousemode=Panning, bool showScale=false, bool showCrosshairs=true, QWidget *parent=0, Qt::WindowFlags windowFlags=0)MapControl
mouseEventCoordinate(const QMouseEvent *evnt, const QPointF coordinate)MapControlsignal
mouseMode()MapControl
MouseMode enum nameMapControl
mouseWheelEventsEnabled()MapControl
moveTo(QPointF coordinate)MapControl
None enum valueMapControl
numberOfLayers() const MapControl
Panning enum valueMapControl
removeLayer(Layer *layer)MapControl
resize(const QSize newSize)MapControlslot
scroll(const QPoint scroll)MapControlslot
scrollDown(int pixel=10)MapControlslot
scrollLeft(int pixel=10)MapControlslot
scrollRight(int pixel=10)MapControlslot
scrollUp(int pixel=10)MapControlslot
setBoundingBox(QRectF &rect)MapControl
setMouseMode(MouseMode mousemode)MapControl
setProxy(QString host, int port, const QString username=QString(), const QString password=QString())MapControl
setUseBoundingBox(bool usebounds)MapControl
setView(const QPointF &coordinate) const MapControl
setView(const QList< QPointF > coordinates) const MapControl
setView(const Point *point) const MapControl
setViewAndZoomIn(const QList< QPointF > coordinates) const MapControl
setZoom(int zoomlevel)MapControlslot
showScale(bool visible)MapControl
stopFollowing(const Geometry *geometry) const MapControl
updateRequest(QRect rect)MapControlslot
updateRequestNew()MapControlslot
updateView() const MapControl
viewChanged(const QPointF &coordinate, int zoom) const MapControlsignal
zoomIn()MapControlslot
zoomOut()MapControlslot
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapControl.html b/libs/QMapControl/html/classqmapcontrol_1_1MapControl.html deleted file mode 100644 index c07bc18e1..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1MapControl.html +++ /dev/null @@ -1,1315 +0,0 @@ - - - - - - -QMapControl: MapControl Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
MapControl Class Reference
-
-
- -

The control element of the widget and also the widget itself. - More...

- -

#include <mapcontrol.h>

-
-Inheritance diagram for MapControl:
-
-
- - -QWidget - -
- - - - - -

-Public Types

enum  MouseMode { Panning, -Dragging, -None - }
 Declares what actions mouse movements have on the map. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Slots

void resize (const QSize newSize)
 Resizes the map to the given size. More...
 
-void scroll (const QPoint scroll)
 scrolls the view by the given point
 
-void scrollDown (int pixel=10)
 scrolls the view down
 
-void scrollLeft (int pixel=10)
 scrolls the view to the left
 
-void scrollRight (int pixel=10)
 scrolls the view to the right
 
-void scrollUp (int pixel=10)
 scrolls the view up
 
void setZoom (int zoomlevel)
 sets the given zoomlevel More...
 
void updateRequest (QRect rect)
 updates the map for the given rect More...
 
-void updateRequestNew ()
 updates the hole map by creating a new offscreen image
 
-void zoomIn ()
 zooms in one step
 
-void zoomOut ()
 zooms out one step
 
- - - - - - - - - - - - - -

-Signals

void boxDragged (const QRectF)
 Emitted, after a Rectangular is dragged. More...
 
void geometryClicked (Geometry *geometry, QPoint coord_px)
 This signal is emitted, when a Geometry is clicked. More...
 
void mouseEventCoordinate (const QMouseEvent *evnt, const QPointF coordinate)
 Emitted AFTER a MouseEvent occured. More...
 
void viewChanged (const QPointF &coordinate, int zoom) const
 This signal is emitted, after the view have changed. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

void addLayer (Layer *layer)
 adds a layer More...
 
QPointF currentCoordinate () const
 returns the coordinate of the center of the map More...
 
int currentZoom () const
 returns the current zoom level More...
 
void enableMouseWheelEvents (bool enabled=true)
 enable mouse wheel events More...
 
void enablePersistentCache (int tileExpiry=-1, const QDir &path=QDir::homePath()+"/QMapControl.cache")
 Enable persistent caching of map tiles. More...
 
void followGeometry (const Geometry *geometry) const
 Keeps the center of the map on the Geometry, even when it moves. More...
 
QRectF getBoundingBox ()
 Get current bounding box. More...
 
QRectF getViewport ()
 Get viewport rect. More...
 
bool isBoundingBoxEnabled ()
 Check if bounding box is being used. More...
 
bool isGeometryVisible (Geometry *geometry)
 returns if a geometry is visible on viewport More...
 
Layerlayer (const QString &layername) const
 returns the layer with the given name More...
 
QList< QString > layers () const
 returns the names of all layers More...
 
int loadingQueueSize ()
 returns loading images queue size More...
 
 MapControl (QWidget *parent=0, Qt::WindowFlags windowFlags=0)
 The QWidget constructor of MapControl for use with QtDesigner. More...
 
 MapControl (QSize size, MouseMode mousemode=Panning, bool showScale=false, bool showCrosshairs=true, QWidget *parent=0, Qt::WindowFlags windowFlags=0)
 The constructor of MapControl. More...
 
MapControl::MouseMode mouseMode ()
 returns the current MouseMode More...
 
bool mouseWheelEventsEnabled ()
 returns mouse wheel allowed More...
 
void moveTo (QPointF coordinate)
 Smoothly moves the center of the view to the given Coordinate. More...
 
int numberOfLayers () const
 returns the number of existing layers More...
 
void removeLayer (Layer *layer)
 removes a layer More...
 
void setBoundingBox (QRectF &rect)
 Set constraints for bounding box. More...
 
void setMouseMode (MouseMode mousemode)
 sets the Mouse Mode of the MapControl More...
 
void setProxy (QString host, int port, const QString username=QString(), const QString password=QString())
 Sets the proxy for HTTP connections. More...
 
void setUseBoundingBox (bool usebounds)
 Set whether to enable a view bounding box. More...
 
void setView (const QPointF &coordinate) const
 sets the middle of the map to the given coordinate More...
 
void setView (const QList< QPointF > coordinates) const
 sets the view, so all coordinates are visible More...
 
void setView (const Point *point) const
 sets the view to the given Point More...
 
void setViewAndZoomIn (const QList< QPointF > coordinates) const
 sets the view and zooms in, so all coordinates are visible More...
 
void showScale (bool visible)
 Displays the scale within the widget. More...
 
void stopFollowing (const Geometry *geometry) const
 Stops the following of a Geometry. More...
 
-void updateView () const
 update screen
 
-

Detailed Description

-

The control element of the widget and also the widget itself.

-

This is the main widget. To this control layers can be added. A MapControl has to be instantiated with a QSize which sets the size the widget takes in a layout. The given size is also the size which is assured to be filled with map images.

-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Member Enumeration Documentation

- -
-
- - - - -
enum MouseMode
-
- -

Declares what actions mouse movements have on the map.

- - - - -
Enumerator
Panning  -

The map is moved

-
Dragging  -

A rectangular can be drawn

-
None  -

Mouse move events have no efect to the map

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
MapControl (QWidgetparent = 0,
Qt::WindowFlags windowFlags = 0 
)
-
- -

The QWidget constructor of MapControl for use with QtDesigner.

-
Parameters
- - - -
qParentQWidget parent
windowFlagsQWidget Window flags
-
-
- -

References MapControl::Panning.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MapControl (QSize size,
MouseMode mousemode = Panning,
bool showScale = false,
bool showCrosshairs = true,
QWidgetparent = 0,
Qt::WindowFlags windowFlags = 0 
)
-
- -

The constructor of MapControl.

-

The MapControl is the widget which displays the maps. The size describes the area which gets filled with map data When you give no MouseMode, the mouse moves the map. You can change the MouseMode at runtime, e.g. to Dragging, which lets the user drag a rectangular box. After the dragging a signal with the size of the box is emitted. The MouseMode ´None´ can be used, to completely define the control of the map yourself.

Parameters
- - - - - - - -
sizethe size which the widget should fill with map data
mousemodethe way mouse events are handled
showScaletrue if the scale should be displayed
showCrossHairstrue if crosshairs should be shown at the centre of the map
parentQWidget parent
windowFlagsQWidget Window flags
-
-
- -

References MapControl::updateRequestNew().

- -
-
-

Member Function Documentation

- -
-
- - - - - - - - -
void addLayer (Layerlayer)
-
- -

adds a layer

-

If multiple layers are added, they are painted in the added order.

Parameters
- - -
layerthe layer which should be added
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void boxDragged (const QRectF )
-
-signal
-
- -

Emitted, after a Rectangular is dragged.

-

It is possible to select a rectangular area in the map, if the MouseMode is set to Dragging. The coordinates are in world coordinates

Parameters
- - -
QRectFthe dragged Rect
-
-
- -
-
- -
-
- - - - - - - -
QPointF currentCoordinate () const
-
- -

returns the coordinate of the center of the map

-
Returns
returns the coordinate of the middle of the screen
- -

Referenced by MapControl::resize(), MapControl::setView(), MapControl::setViewAndZoomIn(), MapControl::setZoom(), MapControl::updateView(), MapControl::zoomIn(), and MapControl::zoomOut().

- -
-
- -
-
- - - - - - - -
int currentZoom () const
-
- -

returns the current zoom level

-
Returns
returns the current zoom level
- -

Referenced by MapControl::resize(), MapControl::setView(), MapControl::setViewAndZoomIn(), MapControl::setZoom(), MapControl::updateView(), MapControl::zoomIn(), and MapControl::zoomOut().

- -
-
- -
-
- - - - - - - - -
void enableMouseWheelEvents (bool enabled = true)
-
- -

enable mouse wheel events

-

enable mouse event

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void enablePersistentCache (int tileExpiry = -1,
const QDir & path = QDir::homePath() + "/QMapControl.cache" 
)
-
- -

Enable persistent caching of map tiles.

-

Call this method to allow the QMapControl widget to save map tiles persistent (also over application restarts). Tiles are stored in the subdirectory "QMapControl.cache" within the user's home directory. This can be changed by giving a path.

Parameters
- - - -
tileExpiryhow long to keep in cache before requesting a new image. 0 or -1 to disable and keep forever
paththe path to the cache directory
-
-
- -
-
- -
-
- - - - - - - - -
void followGeometry (const Geometrygeometry) const
-
- -

Keeps the center of the map on the Geometry, even when it moves.

-

To stop the following the method stopFollowing() have to be called

Parameters
- - -
geometrythe Geometry which should stay centered.
-
-
- -

References MapControl::stopFollowing().

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint coord_px 
)
-
-signal
-
- -

This signal is emitted, when a Geometry is clicked.

-
Parameters
- - - -
geometryThe clicked Geometry object
coord_pxThe coordinate in pixel coordinates
-
-
- -
-
- -
-
- - - - - - - -
QRectF getBoundingBox ()
-
- -

Get current bounding box.

-
Returns
bounding box
- -
-
- -
-
- - - - - - - -
QRectF getViewport ()
-
- -

Get viewport rect.

-
Returns
view port rect
- -

Referenced by MapControl::isGeometryVisible().

- -
-
- -
-
- - - - - - - -
bool isBoundingBoxEnabled ()
-
- -

Check if bounding box is being used.

-
Returns
if bounding box is being used
- -
-
- -
-
- - - - - - - - -
bool isGeometryVisible (Geometrygeometry)
-
- -

returns if a geometry is visible on viewport

-
Parameters
- - -
geometrythe Geometry object to check
-
-
-
Returns
true if geometry is visible
- -

References Geometry::boundingBox(), and MapControl::getViewport().

- -
-
- -
-
- - - - - - - - -
Layer * layer (const QString & layername) const
-
- -

returns the layer with the given name

-
Parameters
- - -
layernamename of the wanted layer
-
-
-
Returns
the layer with the given name
- -
-
- -
-
- - - - - - - -
QList< QString > layers () const
-
- -

returns the names of all layers

-
Returns
returns a QList with the names of all layers
- -
-
- -
-
- - - - - - - -
int loadingQueueSize ()
-
- -

returns loading images queue size

-
Returns
int pending loading images (queue size)
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void mouseEventCoordinate (const QMouseEvent * evnt,
const QPointF coordinate 
)
-
-signal
-
- -

Emitted AFTER a MouseEvent occured.

-

This signals allows to receive click events within the MapWidget together with the world coordinate. It is emitted on MousePressEvents and MouseReleaseEvents. The kind of the event can be obtained by checking the events type.

Parameters
- - - -
evntthe QMouseEvent that occured
coordinatethe corresponding world coordinate
-
-
- -
-
- -
-
- - - - - - - -
MapControl::MouseMode mouseMode ()
-
- -

returns the current MouseMode

-

For a explanation for the MouseModes see setMouseMode()

Returns
the current MouseMode
- -
-
- -
-
- - - - - - - -
bool mouseWheelEventsEnabled ()
-
- -

returns mouse wheel allowed

-
Returns
mouse wheel events enabled
- -
-
- -
-
- - - - - - - - -
void moveTo (QPointF coordinate)
-
- -

Smoothly moves the center of the view to the given Coordinate.

-
Parameters
- - -
coordinatethe Coordinate which the center of the view should moved to
-
-
- -
-
- -
-
- - - - - - - -
int numberOfLayers () const
-
- -

returns the number of existing layers

-
Returns
returns the number of existing layers
- -
-
- -
-
- - - - - - - - -
void removeLayer (Layerlayer)
-
- -

removes a layer

-

Removes a layer and redraws existing layers

Parameters
- - -
layerthe layer which should be removed
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void resize (const QSize newSize)
-
-slot
-
- -

Resizes the map to the given size.

-
Parameters
- - -
newSizeThe new size
-
-
- -

References MapControl::currentCoordinate(), MapControl::currentZoom(), and MapControl::viewChanged().

- -
-
- -
-
- - - - - - - - -
void setBoundingBox (QRectF & rect)
-
- -

Set constraints for bounding box.

-
Parameters
- - -
rectspecified bounds for view to stay within
-
-
- -
-
- -
-
- - - - - - - - -
void setMouseMode (MouseMode mousemode)
-
- -

sets the Mouse Mode of the MapControl

-

There are three MouseModes declard by an enum. The MouesMode Dragging draws an rectangular in the map while the MouseButton is pressed. When the Button is released a boxDragged() signal is emitted.

-

The second MouseMode (the default) is Panning, which allows to drag the map around.

Parameters
- - -
mousemodethe MouseMode
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void setProxy (QString host,
int port,
const QString username = QString(),
const QString password = QString() 
)
-
- -

Sets the proxy for HTTP connections.

-

This method sets the proxy for HTTP connections. This is not provided by the current Qtopia version!

Parameters
- - - - - -
hostthe proxy´s hostname or ip
portthe proxy´s port
usernamethe proxy´s username
passwordthe proxy´s password
-
-
- -
-
- -
-
- - - - - - - - -
void setUseBoundingBox (bool usebounds)
-
- -

Set whether to enable a view bounding box.

-
Parameters
- - -
useboundsenable/disable use of bounding box
-
-
- -
-
- -
-
- - - - - - - - -
void setView (const QPointF & coordinate) const
-
- -

sets the middle of the map to the given coordinate

-
Parameters
- - -
coordinatethe coordinate which the view´s middle should be set to
-
-
- -

References MapControl::currentCoordinate(), MapControl::currentZoom(), and MapControl::viewChanged().

- -
-
- -
-
- - - - - - - - -
void setView (const QList< QPointF > coordinates) const
-
- -

sets the view, so all coordinates are visible

-
Parameters
- - -
coordinatesthe Coorinates which should be visible
-
-
- -

References MapControl::currentCoordinate(), MapControl::currentZoom(), and MapControl::viewChanged().

- -
-
- -
-
- - - - - - - - -
void setView (const Pointpoint) const
-
- -

sets the view to the given Point

-
Parameters
- - -
pointthe geometric point the view should be set to
-
-
- -

References Point::coordinate().

- -
-
- -
-
- - - - - - - - -
void setViewAndZoomIn (const QList< QPointF > coordinates) const
-
- -

sets the view and zooms in, so all coordinates are visible

-

The code of setting the view to multiple coordinates is "brute force" and pretty slow. Have to be reworked.

Parameters
- - -
coordinatesthe Coorinates which should be visible
-
-
- -

References MapControl::currentCoordinate(), MapControl::currentZoom(), and MapControl::viewChanged().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void setZoom (int zoomlevel)
-
-slot
-
- -

sets the given zoomlevel

-
Parameters
- - -
zoomlevelthe zoomlevel
-
-
- -

References MapControl::currentCoordinate(), MapControl::currentZoom(), MapControl::updateView(), and MapControl::viewChanged().

- -
-
- -
-
- - - - - - - - -
void showScale (bool visible)
-
- -

Displays the scale within the widget.

-
Parameters
- - -
showtrue if the scale should be displayed
-
-
- -
-
- -
-
- - - - - - - - -
void stopFollowing (const Geometrygeometry) const
-
- -

Stops the following of a Geometry.

-

if the view is set to follow a Geometry this method stops the trace. See followGeometry().

Parameters
- - -
geometrythe Geometry which should not followed anymore
-
-
- -

Referenced by MapControl::followGeometry().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void updateRequest (QRect rect)
-
-slot
-
- -

updates the map for the given rect

-
Parameters
- - -
rectthe area which should be repainted
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void viewChanged (const QPointF & coordinate,
int zoom 
) const
-
-signal
-
- -

This signal is emitted, after the view have changed.

-
Parameters
- - - -
coordinateThe current coordinate
zoomThe current zoom
-
-
- -

Referenced by MapControl::resize(), MapControl::setView(), MapControl::setViewAndZoomIn(), MapControl::setZoom(), MapControl::updateView(), MapControl::zoomIn(), and MapControl::zoomOut().

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapControl.png b/libs/QMapControl/html/classqmapcontrol_1_1MapControl.png deleted file mode 100644 index 92adaeaf8..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1MapControl.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapLayer-members.html b/libs/QMapControl/html/classqmapcontrol_1_1MapLayer-members.html deleted file mode 100644 index 29a52fa64..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1MapLayer-members.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
MapLayer Member List
-
-
- -

This is the complete list of members for MapLayer, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
addGeometry(Geometry *geometry)Layer
clearGeometries(bool qDeleteObject=false)Layer
containsGeometry(Geometry *geometry)Layer
geometryClicked(Geometry *geometry, QPoint point)Layersignal
GeometryLayer enum valueLayer
getGeometries()Layer
isVisible() const Layer
Layer(QString layername, MapAdapter *mapadapter, enum LayerType layertype, bool takeevents=true)Layer
layername() const Layer
LayerType enum nameLayer
layertype() const Layer
mapadapter()Layer
MapLayer(QString layername, MapAdapter *mapadapter, bool takeevents=true)MapLayer
qmapcontrol::Layer::MapLayer enum valueLayer
removeGeometry(Geometry *geometry, bool qDeleteObject=false)Layer
sendGeometryToBack(Geometry *geometry)Layer
sendGeometryToFront(Geometry *geometry)Layer
setVisible(bool visible)Layerslot
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapLayer.html b/libs/QMapControl/html/classqmapcontrol_1_1MapLayer.html deleted file mode 100644 index 31d587587..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1MapLayer.html +++ /dev/null @@ -1,629 +0,0 @@ - - - - - - -QMapControl: MapLayer Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
MapLayer Class Reference
-
-
- -

MapLayer class. - More...

- -

#include <maplayer.h>

-
-Inheritance diagram for MapLayer:
-
-
- - -Layer -QObject - -
- - - - - -

-Public Types

enum  LayerType { MapLayer, -GeometryLayer - }
 sets the type of a layer, see Layer class doc for further information More...
 
- - - - -

-Public Slots

void setVisible (bool visible)
 if visible is true, the layer is made visible More...
 
- - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

void addGeometry (Geometry *geometry)
 adds a Geometry object to this Layer More...
 
void clearGeometries (bool qDeleteObject=false)
 removes all Geometry objects from this Layer More...
 
bool containsGeometry (Geometry *geometry)
 returns true if Layer contains geometry More...
 
QList< Geometry * > & getGeometries ()
 returns all Geometry objects from this Layer More...
 
bool isVisible () const
 return true if the layer is visible More...
 
QString layername () const
 returns the layer's name More...
 
Layer::LayerType layertype () const
 returns the LayerType of the Layer More...
 
MapAdaptermapadapter ()
 returns the layer´s MapAdapter More...
 
 MapLayer (QString layername, MapAdapter *mapadapter, bool takeevents=true)
 MapLayer constructor. More...
 
void removeGeometry (Geometry *geometry, bool qDeleteObject=false)
 removes the Geometry object from this Layer More...
 
void sendGeometryToBack (Geometry *geometry)
 allow moving a geometry to the top of the list (drawing last) More...
 
void sendGeometryToFront (Geometry *geometry)
 allow moving a geometry to the top of the list (drawing last) More...
 
-

Detailed Description

-

MapLayer class.

-

There are two different layer types:

-

MapLayers also can display Geometry objects. The difference to the GeometryLayer is the repainting. Objects that are added to a MapLayer are "baken" on the map. This means, when you change it´s position for example the changes are not visible until a new offscreen image has been drawn. If you have "static" Geometries which won´t change their position this is fine. But if you want to change the objects position or pen you should use a GeometryLayer. Those are repainted immediately on changes.

-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Member Enumeration Documentation

- -
-
- - - - - -
- - - - -
enum LayerType
-
-inherited
-
- -

sets the type of a layer, see Layer class doc for further information

- - - -
Enumerator
MapLayer  -

uses the MapAdapter to display maps, only gets refreshed when a new offscreen image is needed

-
GeometryLayer  -

gets refreshed everytime when a geometry changes

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
MapLayer (QString layername,
MapAdaptermapadapter,
bool takeevents = true 
)
-
- -

MapLayer constructor.

-

This is used to construct a map layer.

-
Parameters
- - - - -
layernameThe name of the Layer
mapadapterThe MapAdapter which does coordinate translation and Query-String-Forming
takeeventsShould the Layer receive MouseEvents? This is set to true by default. Setting it to false could be something like a "speed up hint"
-
-
- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - -
void addGeometry (Geometrygeometry)
-
-inherited
-
- -

adds a Geometry object to this Layer

-

Please notice the different LayerTypes (MapLayer and GeometryLayer) and the differences

Parameters
- - -
geometrythe new Geometry
-
-
- -

References Geometry::boundingBox(), and Layer::containsGeometry().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void clearGeometries (bool qDeleteObject = false)
-
-inherited
-
- -

removes all Geometry objects from this Layer

-

This method removes all Geometry objects from this Layer. NOTE: this method does not delete the object unless qDeleteObject is set

Parameters
- - -
qDeleteObjectcleans up memory of object after removal
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
bool containsGeometry (Geometrygeometry)
-
-inherited
-
- -

returns true if Layer contains geometry

-

This method returns if a Geometry objects is on this Layer.

- -

Referenced by Layer::addGeometry().

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signalinherited
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The layer emits a signal for every clicked geometry

Parameters
- - - -
geometryThe clicked Geometry
pointThe coordinate (in widget coordinates) of the click
-
-
- -
-
- -
-
- - - - - -
- - - - - - - -
QList< Geometry * > & getGeometries ()
-
-inherited
-
- -

returns all Geometry objects from this Layer

-

This method removes all Geometry objects from this Layer.

Returns
a list of geometries that are on this Layer
- -
-
- -
-
- - - - - -
- - - - - - - -
bool isVisible () const
-
-inherited
-
- -

return true if the layer is visible

-
Returns
if the layer is visible
- -
-
- -
-
- - - - - -
- - - - - - - -
QString layername () const
-
-inherited
-
- -

returns the layer's name

-
Returns
the name of this layer
- -
-
- -
-
- - - - - -
- - - - - - - -
Layer::LayerType layertype () const
-
-inherited
-
- -

returns the LayerType of the Layer

-

There are two LayerTypes: MapLayer and GeometryLayer

Returns
the LayerType of this Layer
- -
-
- -
-
- - - - - -
- - - - - - - -
MapAdapter * mapadapter ()
-
-inherited
-
- -

returns the layer´s MapAdapter

-

This method returns the MapAdapter of this Layer, which can be useful to do coordinate transformations.

Returns
the MapAdapter which us used by this Layer
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void removeGeometry (Geometrygeometry,
bool qDeleteObject = false 
)
-
-inherited
-
- -

removes the Geometry object from this Layer

-

This method removes a Geometry object from this Layer. NOTE: this method does not delete the object unless qDeleteObject is set

Parameters
- - -
qDeleteObjectcleans up memory of object after removal
-
-
- -

References Geometry::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void sendGeometryToBack (Geometrygeometry)
-
-inherited
-
- -

allow moving a geometry to the top of the list (drawing last)

-

This method re-order the Geometry objects so the desired geometry is drawn first and under all other geometries

- -
-
- -
-
- - - - - -
- - - - - - - - -
void sendGeometryToFront (Geometrygeometry)
-
-inherited
-
- -

allow moving a geometry to the top of the list (drawing last)

-

This method re-order the Geometry objects so the desired geometry is drawn last and visible above all geometries

- -
-
- -
-
- - - - - -
- - - - - - - - -
void setVisible (bool visible)
-
-slotinherited
-
- -

if visible is true, the layer is made visible

-
Parameters
- - -
visibleif the layer should be visible
-
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapLayer.png b/libs/QMapControl/html/classqmapcontrol_1_1MapLayer.png deleted file mode 100644 index 400c95ad3..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1MapLayer.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapNetwork-members.html b/libs/QMapControl/html/classqmapcontrol_1_1MapNetwork-members.html deleted file mode 100644 index 56aa72a0a..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1MapNetwork-members.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
MapNetwork Member List
-
-
- -

This is the complete list of members for MapNetwork, including all inherited members.

- - - - - -
abortLoading()MapNetwork
imageIsLoading(QString url)MapNetwork
loadQueueSize() const MapNetwork
nextFreeHttp()MapNetwork
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapNetwork.html b/libs/QMapControl/html/classqmapcontrol_1_1MapNetwork.html deleted file mode 100644 index 085781498..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1MapNetwork.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - -QMapControl: MapNetwork Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
MapNetwork Class Reference
-
-
-
-Inheritance diagram for MapNetwork:
-
-
- - -QObject - -
- - - - - - - - - - -

-Public Member Functions

void abortLoading ()
 
bool imageIsLoading (QString url)
 
int loadQueueSize () const
 
QNetworkAccessManager * nextFreeHttp ()
 
-

Member Function Documentation

- -
-
- - - - - - - -
void abortLoading ()
-
-

Aborts all current loading threads. This is useful when changing the zoom-factor, though newly needed images loads faster

- -
-
- -
-
- - - - - - - - -
bool imageIsLoading (QString url)
-
-

checks if the given url is already loading

Parameters
- - -
urlthe url of the image
-
-
-
Returns
boolean, if the image is already loading
- -
-
- -
-
- - - - - - - -
int loadQueueSize () const
-
-
Returns
number of elements in the load queue
- -
-
- -
-
- - - - - - - -
QNetworkAccessManager * nextFreeHttp ()
-
-
Returns
next free http downloader thread
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1MapNetwork.png b/libs/QMapControl/html/classqmapcontrol_1_1MapNetwork.png deleted file mode 100644 index efecd01df..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1MapNetwork.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1OSMMapAdapter-members.html b/libs/QMapControl/html/classqmapcontrol_1_1OSMMapAdapter-members.html deleted file mode 100644 index f59895174..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1OSMMapAdapter-members.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
OSMMapAdapter Member List
-
-
- -

This is the complete list of members for OSMMapAdapter, including all inherited members.

- - - - - - - - - - - - -
changeHostAddress(const QString qHost, const QString qServerPath=QString())MapAdaptervirtual
coordinateToDisplay(const QPointF &) const TileMapAdaptervirtual
currentZoom() const MapAdapter
displayToCoordinate(const QPoint &) const TileMapAdaptervirtual
host() const MapAdapter
maxZoom() const MapAdapter
minZoom() const MapAdapter
OSMMapAdapter()OSMMapAdapter
serverPath() const MapAdaptervirtual
TileMapAdapter(const QString &host, const QString &serverPath, int tilesize, int minZoom=0, int maxZoom=17)TileMapAdapter
tilesize() const MapAdapter
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1OSMMapAdapter.html b/libs/QMapControl/html/classqmapcontrol_1_1OSMMapAdapter.html deleted file mode 100644 index a0c0e857d..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1OSMMapAdapter.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - -QMapControl: OSMMapAdapter Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
OSMMapAdapter Class Reference
-
-
- -

MapAdapter for OpenStreetMap. - More...

- -

#include <osmmapadapter.h>

-
-Inheritance diagram for OSMMapAdapter:
-
-
- - -TileMapAdapter -MapAdapter -QObject - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual void changeHostAddress (const QString qHost, const QString qServerPath=QString())
 change or update server host address post init More...
 
virtual QPoint coordinateToDisplay (const QPointF &) const
 translates a world coordinate to display coordinate More...
 
int currentZoom () const
 returns the current zoom More...
 
virtual QPointF displayToCoordinate (const QPoint &) const
 translates display coordinate to world coordinate More...
 
QString host () const
 returns the host of this MapAdapter More...
 
int maxZoom () const
 returns the max zoom value More...
 
int minZoom () const
 returns the min zoom value More...
 
 OSMMapAdapter ()
 constructor More...
 
virtual QString serverPath () const
 returns the server path part of this MapAdapter More...
 
int tilesize () const
 returns the size of the tiles More...
 
-

Detailed Description

-

MapAdapter for OpenStreetMap.

-

This is a conveniece class, which extends and configures a TileMapAdapter

Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Constructor & Destructor Documentation

- -
-
- - - - - - - -
OSMMapAdapter ()
-
- -

constructor

-

This construct a OpenStreetmap Adapter

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void changeHostAddress (const QString qHost,
const QString qServerPath = QString() 
)
-
-virtualinherited
-
- -

change or update server host address post init

-
Parameters
- - - -
hostthe host address
serverPaththe server path
-
-
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
- -
-
- - - - - -
- - - - - - - - -
QPoint coordinateToDisplay (const QPointF & coordinate) const
-
-virtualinherited
-
- -

translates a world coordinate to display coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
coordinatethe world coordinate
-
-
-
Returns
the display coordinate (in widget coordinates)
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
int currentZoom () const
-
-inherited
-
- -

returns the current zoom

-
Returns
the current zoom
- -
-
- -
-
- - - - - -
- - - - - - - - -
QPointF displayToCoordinate (const QPoint & point) const
-
-virtualinherited
-
- -

translates display coordinate to world coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
pointthe display coordinate
-
-
-
Returns
the world coordinate
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
QString host () const
-
-inherited
-
- -

returns the host of this MapAdapter

-
Returns
the host of this MapAdapter
- -
-
- -
-
- - - - - -
- - - - - - - -
int maxZoom () const
-
-inherited
-
- -

returns the max zoom value

-
Returns
the max zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
int minZoom () const
-
-inherited
-
- -

returns the min zoom value

-
Returns
the min zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
QString serverPath () const
-
-virtualinherited
-
- -

returns the server path part of this MapAdapter

-
Returns
the serverpath of this MapAdapter
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::serverPath().

- -
-
- -
-
- - - - - -
- - - - - - - -
int tilesize () const
-
-inherited
-
- -

returns the size of the tiles

-
Returns
the size of the tiles
- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1OSMMapAdapter.png b/libs/QMapControl/html/classqmapcontrol_1_1OSMMapAdapter.png deleted file mode 100644 index be67e8d81..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1OSMMapAdapter.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1OpenAerialMapAdapter-members.html b/libs/QMapControl/html/classqmapcontrol_1_1OpenAerialMapAdapter-members.html deleted file mode 100644 index 081df3d34..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1OpenAerialMapAdapter-members.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
OpenAerialMapAdapter Member List
-
-
- -

This is the complete list of members for OpenAerialMapAdapter, including all inherited members.

- - - - - - - - - - - - -
changeHostAddress(const QString qHost, const QString qServerPath=QString())MapAdaptervirtual
coordinateToDisplay(const QPointF &) const TileMapAdaptervirtual
currentZoom() const MapAdapter
displayToCoordinate(const QPoint &) const TileMapAdaptervirtual
host() const MapAdapter
maxZoom() const MapAdapter
minZoom() const MapAdapter
OpenAerialMapAdapter()OpenAerialMapAdapter
serverPath() const MapAdaptervirtual
TileMapAdapter(const QString &host, const QString &serverPath, int tilesize, int minZoom=0, int maxZoom=17)TileMapAdapter
tilesize() const MapAdapter
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1OpenAerialMapAdapter.html b/libs/QMapControl/html/classqmapcontrol_1_1OpenAerialMapAdapter.html deleted file mode 100644 index c66e4107d..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1OpenAerialMapAdapter.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - -QMapControl: OpenAerialMapAdapter Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
OpenAerialMapAdapter Class Reference
-
-
- -

MapAdapter for OpenStreetMap. - More...

- -

#include <openaerialmapadapter.h>

-
-Inheritance diagram for OpenAerialMapAdapter:
-
-
- - -TileMapAdapter -MapAdapter -QObject - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual void changeHostAddress (const QString qHost, const QString qServerPath=QString())
 change or update server host address post init More...
 
virtual QPoint coordinateToDisplay (const QPointF &) const
 translates a world coordinate to display coordinate More...
 
int currentZoom () const
 returns the current zoom More...
 
virtual QPointF displayToCoordinate (const QPoint &) const
 translates display coordinate to world coordinate More...
 
QString host () const
 returns the host of this MapAdapter More...
 
int maxZoom () const
 returns the max zoom value More...
 
int minZoom () const
 returns the min zoom value More...
 
 OpenAerialMapAdapter ()
 constructor More...
 
virtual QString serverPath () const
 returns the server path part of this MapAdapter More...
 
int tilesize () const
 returns the size of the tiles More...
 
-

Detailed Description

-

MapAdapter for OpenStreetMap.

-

This is a conveniece class, which extends and configures a TileMapAdapter. Source of maps is http://www.openaerialmap.org/

Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Constructor & Destructor Documentation

- -
-
- - - - - - - -
OpenAerialMapAdapter ()
-
- -

constructor

-

This construct a OpenAerialMap Adapter

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void changeHostAddress (const QString qHost,
const QString qServerPath = QString() 
)
-
-virtualinherited
-
- -

change or update server host address post init

-
Parameters
- - - -
hostthe host address
serverPaththe server path
-
-
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
- -
-
- - - - - -
- - - - - - - - -
QPoint coordinateToDisplay (const QPointF & coordinate) const
-
-virtualinherited
-
- -

translates a world coordinate to display coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
coordinatethe world coordinate
-
-
-
Returns
the display coordinate (in widget coordinates)
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
int currentZoom () const
-
-inherited
-
- -

returns the current zoom

-
Returns
the current zoom
- -
-
- -
-
- - - - - -
- - - - - - - - -
QPointF displayToCoordinate (const QPoint & point) const
-
-virtualinherited
-
- -

translates display coordinate to world coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
pointthe display coordinate
-
-
-
Returns
the world coordinate
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
QString host () const
-
-inherited
-
- -

returns the host of this MapAdapter

-
Returns
the host of this MapAdapter
- -
-
- -
-
- - - - - -
- - - - - - - -
int maxZoom () const
-
-inherited
-
- -

returns the max zoom value

-
Returns
the max zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
int minZoom () const
-
-inherited
-
- -

returns the min zoom value

-
Returns
the min zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
QString serverPath () const
-
-virtualinherited
-
- -

returns the server path part of this MapAdapter

-
Returns
the serverpath of this MapAdapter
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::serverPath().

- -
-
- -
-
- - - - - -
- - - - - - - -
int tilesize () const
-
-inherited
-
- -

returns the size of the tiles

-
Returns
the size of the tiles
- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1OpenAerialMapAdapter.png b/libs/QMapControl/html/classqmapcontrol_1_1OpenAerialMapAdapter.png deleted file mode 100644 index 32d0ab794..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1OpenAerialMapAdapter.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Point-members.html b/libs/QMapControl/html/classqmapcontrol_1_1Point-members.html deleted file mode 100644 index 41e504e80..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1Point-members.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
Point Member List
-
-
- -

This is the complete list of members for Point, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Alignment enum namePoint
BottomLeft enum valuePoint
BottomMiddle enum valuePoint
BottomRight enum valuePoint
boundingBox()Pointvirtual
coordinate() const Point
Equals(Geometry *geom)Geometry
geometryClicked(Geometry *geometry, QPoint point)Geometrysignal
isVisible() const Geometry
latitude() const Point
longitude() const Point
Middle enum valuePoint
name() const Geometry
parentGeometry() const Geometry
pen() const Geometry
pixmap()Point
Point(qreal x, qreal y, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QWidget *widget, QString name=QString(), enum Alignment alignment=Middle)Point
Point(qreal x, qreal y, QPixmap pixmap, QString name=QString(), enum Alignment alignment=Middle)Point
positionChanged(Geometry *geom)Geometrysignal
setBaselevel(int zoomlevel)Point
setMaxsize(QSize maxsize)Point
setMinsize(QSize minsize)Point
setName(QString name)Geometry
TopLeft enum valuePoint
TopMiddle enum valuePoint
TopRight enum valuePoint
toString()Geometry
Touches(Point *click, const MapAdapter *mapadapter)Pointprotectedvirtual
widget()Point
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Point.html b/libs/QMapControl/html/classqmapcontrol_1_1Point.html deleted file mode 100644 index 9df7a7e2b..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1Point.html +++ /dev/null @@ -1,921 +0,0 @@ - - - - - - -QMapControl: Point Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
- -
- -

A geometric point to draw objects into maps. - More...

- -

#include <point.h>

-
-Inheritance diagram for Point:
-
-
- - -Geometry -QObject -ArrowPoint -CirclePoint -ImagePoint -InvisiblePoint -FixedImageOverlay - -
- - - - - -

-Public Types

enum  Alignment {
-  TopLeft, -TopRight, -TopMiddle, -BottomLeft, -
-  BottomRight, -BottomMiddle, -Middle -
- }
 sets where the point should be aligned More...
 
- - - - - - - -

-Signals

void geometryClicked (Geometry *geometry, QPoint point)
 This signal is emitted when a Geometry is clicked. More...
 
void positionChanged (Geometry *geom)
 A Geometry emits this signal, when its position gets changed. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual QRectF boundingBox ()
 returns the bounding box of the point More...
 
QPointF coordinate () const
 returns the coordinate of the point More...
 
bool Equals (Geometry *geom)
 
bool isVisible () const
 returns true if this Geometry is visible More...
 
qreal latitude () const
 returns the latitude of the point More...
 
qreal longitude () const
 returns the longitude of the point More...
 
QString name () const
 returns the name of this Geometry More...
 
GeometryparentGeometry () const
 returns the parent Geometry of this Geometry More...
 
QPen * pen () const
 returns the QPen which is used on drawing More...
 
QPixmap pixmap ()
 returns the pixmap of the point More...
 
 Point (qreal x, qreal y, QString name=QString(), enum Alignment alignment=Middle)
 Copy Constructor. More...
 
 Point (qreal x, qreal y, QWidget *widget, QString name=QString(), enum Alignment alignment=Middle)
 Constructor. More...
 
 Point (qreal x, qreal y, QPixmap pixmap, QString name=QString(), enum Alignment alignment=Middle)
 Constructor. More...
 
void setBaselevel (int zoomlevel)
 Sets the zoom level on which the points pixmap gets displayed on full size. More...
 
void setMaxsize (QSize maxsize)
 sets a maximal size for the pixmap More...
 
void setMinsize (QSize minsize)
 sets a minimal size for the pixmap More...
 
void setName (QString name)
 sets the name of the geometry More...
 
QString toString ()
 returns a String representation of this Geometry More...
 
QWidgetwidget ()
 returns the widget of the point More...
 
- - - - -

-Protected Member Functions

virtual bool Touches (Point *click, const MapAdapter *mapadapter)
 returns true if the given Point touches this Point More...
 
-

Detailed Description

-

A geometric point to draw objects into maps.

-

This class can be used to draw your custom QPixmap or other QWidgets into maps. You can instantiate a Point with any Pixmap you want. The objects cares about collision detection (for clickable objects)

-

When drawing a pixmap, take care you are adding the point to a GeometryLayer. You can also add a point to a MapLayer, but this should only be done, if the point is not changing its position or color etc. (GeometryLayers are assured to be repainted on any changes at the point. MapLayers only gets repainted, if a new offscreenImage is painter. This is a performance issue.)

-

Points emit click events, if the containing layer receives clickevents (the default)

-

You can also add a widget into maps. But keep in mind, that widgets always are drawn on top of all layers. You also have to handle click events yourself.

-

To create "zoomable objects" (objects that increases size on zooming), a base level have to be set. The base level is the zoom level on which the point´s pixmap gets displayed on full size. On lower zoom levels it gets displayed smaller and on higher zoom levels larger. A minimal size can be set as well as a maximum size.

See also
setBaselevel, setMinsize, setMaxsize
-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Member Enumeration Documentation

- -
-
- - - - -
enum Alignment
-
- -

sets where the point should be aligned

- - - - - - - - -
Enumerator
TopLeft  -

Align on TopLeft

-
TopRight  -

Align on TopRight

-
TopMiddle  -

Align on TopLeft

-
BottomLeft  -

Align on BottomLeft

-
BottomRight  -

Align on BottomRight

-
BottomMiddle  -

Align on BottomMiddle

-
Middle  -

Align on Middle

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Point (qreal x,
qreal y,
QString name = QString(),
enum Alignment alignment = Middle 
)
-
- -

Copy Constructor.

-

This constructor creates a Point with no image or widget.

Parameters
- - - - - -
xlongitude
ylatitude
namename of the point
alignmentalignment of the point (Middle or TopLeft)
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Point (qreal x,
qreal y,
QWidgetwidget,
QString name = QString(),
enum Alignment alignment = Middle 
)
-
- -

Constructor.

-

This constructor creates a point which will display the given widget. You can set an alignment on which corner the widget should be aligned to the coordinate. You have to set the size of the widget, before adding it to IMPORTANT: You have to set the QMapControl as parent for the widget!

Parameters
- - - - - - -
xlongitude
ylatitude
widgetthe widget which should be displayed by this point
namename of the point
alignmentallignment of the point (Middle or TopLeft)
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Point (qreal x,
qreal y,
QPixmap pixmap,
QString name = QString(),
enum Alignment alignment = Middle 
)
-
- -

Constructor.

-

This constructor creates a point which will display the give pixmap. You can set an alignment on which corner the pixmap should be aligned to the coordinate.

Parameters
- - - - - - -
xlongitude
ylatitude
pixmapthe pixmap which should be displayed by this point
namename of the point
alignmentallignment of the point (Middle or TopLeft)
-
-
- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
QRectF boundingBox ()
-
-virtual
-
- -

returns the bounding box of the point

-

The Bounding contains the coordinate of the point and its size. The size is set, if the point contains a pixmap or a widget

Returns
the bounding box of the point
- -

Implements Geometry.

- -

References Point::latitude(), and Point::longitude().

- -
-
- -
-
- - - - - - - -
QPointF coordinate () const
-
- -

returns the coordinate of the point

-

The x component of the returned QPointF is the longitude value, the y component the latitude

Returns
the coordinate of a point
- -

Referenced by MapControl::setView(), and Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - - -
bool Equals (Geometrygeom)
-
-inherited
-
-

returns true if the given Geometry is equal to this Geometry not implemented yet!

Parameters
- - -
geomThe Geometry to be tested
-
-
-
Returns
true if the given Geometry is equal to this
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void geometryClicked (Geometrygeometry,
QPoint point 
)
-
-signalinherited
-
- -

This signal is emitted when a Geometry is clicked.

-

A Geometry is clickable, if the containing layer is clickable. The objects emits a signal if it gets clicked

Parameters
- - - -
geometryThe clicked Geometry
point-unused-
-
-
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - -
- - - - - - - -
bool isVisible () const
-
-inherited
-
- -

returns true if this Geometry is visible

-
Returns
true if this Geometry is visible
- -

Referenced by Point::Touches().

- -
-
- -
-
- - - - - - - -
qreal latitude () const
-
- -

returns the latitude of the point

-
Returns
the latitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - - - -
qreal longitude () const
-
- -

returns the longitude of the point

-
Returns
the longitude of the point
- -

Referenced by LineString::boundingBox(), and Point::boundingBox().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString name () const
-
-inherited
-
- -

returns the name of this Geometry

-
Returns
the name of this Geometry
- -

Referenced by Geometry::setName().

- -
-
- -
-
- - - - - -
- - - - - - - -
Geometry * parentGeometry () const
-
-inherited
-
- -

returns the parent Geometry of this Geometry

-

A LineString is a composition of many Points. This methods returns the parent (the LineString) of a Point

Returns
the parent Geometry of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - -
QPen * pen () const
-
-inherited
-
- -

returns the QPen which is used on drawing

-

The pen is set depending on the Geometry. A CirclePoint for example takes one with the constructor.

Returns
the QPen which is used for drawing
- -

Referenced by ArrowPoint::ArrowPoint(), CirclePoint::CirclePoint(), LineString::LineString(), ArrowPoint::setPen(), and CirclePoint::setPen().

- -
-
- -
-
- - - - - - - -
QPixmap pixmap ()
-
- -

returns the pixmap of the point

-
Returns
the pixmap of the point
- -

Referenced by FixedImageOverlay::FixedImageOverlay(), and ImagePoint::ImagePoint().

- -
-
- -
-
- - - - - -
- - - - - - - - -
void positionChanged (Geometrygeom)
-
-signalinherited
-
- -

A Geometry emits this signal, when its position gets changed.

-
Parameters
- - -
geomthe Geometry
-
-
- -
-
- -
-
- - - - - - - - -
void setBaselevel (int zoomlevel)
-
- -

Sets the zoom level on which the points pixmap gets displayed on full size.

-

Use this method to set a zoom level on which the pixmap gets displayed with its real size. On zoomlevels below it will be displayed smaller, and on zoom levels thereover it will be displayed larger

See also
setMinsize, setMaxsize
-
Parameters
- - -
zoomlevelthe zoomlevel on which the point will be displayed on full size
-
-
- -
-
- -
-
- - - - - - - - -
void setMaxsize (QSize maxsize)
-
- -

sets a maximal size for the pixmap

-

When the point´s pixmap should change its size on zooming, this method sets the maximal size.

See also
setBaselevel
-
Parameters
- - -
maxsizethe maximal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - - - - -
void setMinsize (QSize minsize)
-
- -

sets a minimal size for the pixmap

-

When the point's pixmap should change its size on zooming, this method sets the minimal size.

See also
setBaselevel
-
Parameters
- - -
minsizethe minimal size which the pixmap should have
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void setName (QString name)
-
-inherited
-
- -

sets the name of the geometry

-
Parameters
- - -
namethe new name of the geometry
-
-
- -

References Geometry::name().

- -
-
- -
-
- - - - - -
- - - - - - - -
QString toString ()
-
-inherited
-
- -

returns a String representation of this Geometry

-

not implemented yet!

Returns
a String representation of this Geometry
- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool Touches (Pointclick,
const MapAdaptermapadapter 
)
-
-protectedvirtual
-
- -

returns true if the given Point touches this Point

-

The collision detection checks for the bounding rectangulars.

Parameters
- - - -
geomthe other point which should be tested on collision
mapadapterthe mapadapter which is used for calculations
-
-
-
Returns
- -

Implements Geometry.

- -

References Point::coordinate(), MapAdapter::coordinateToDisplay(), Geometry::geometryClicked(), and Geometry::isVisible().

- -
-
- -
-
- - - - - - - -
QWidget * widget ()
-
- -

returns the widget of the point

-
Returns
the widget of the point
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1Point.png b/libs/QMapControl/html/classqmapcontrol_1_1Point.png deleted file mode 100644 index 688f8b735..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1Point.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1TileMapAdapter-members.html b/libs/QMapControl/html/classqmapcontrol_1_1TileMapAdapter-members.html deleted file mode 100644 index 9d6b82cf9..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1TileMapAdapter-members.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
TileMapAdapter Member List
-
-
- -

This is the complete list of members for TileMapAdapter, including all inherited members.

- - - - - - - - - - - -
changeHostAddress(const QString qHost, const QString qServerPath=QString())MapAdaptervirtual
coordinateToDisplay(const QPointF &) const TileMapAdaptervirtual
currentZoom() const MapAdapter
displayToCoordinate(const QPoint &) const TileMapAdaptervirtual
host() const MapAdapter
maxZoom() const MapAdapter
minZoom() const MapAdapter
serverPath() const MapAdaptervirtual
TileMapAdapter(const QString &host, const QString &serverPath, int tilesize, int minZoom=0, int maxZoom=17)TileMapAdapter
tilesize() const MapAdapter
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1TileMapAdapter.html b/libs/QMapControl/html/classqmapcontrol_1_1TileMapAdapter.html deleted file mode 100644 index fccc328fa..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1TileMapAdapter.html +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - -QMapControl: TileMapAdapter Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
TileMapAdapter Class Reference
-
-
- -

MapAdapter for servers with image tiles. - More...

- -

#include <tilemapadapter.h>

-
-Inheritance diagram for TileMapAdapter:
-
-
- - -MapAdapter -QObject -GoogleMapAdapter -OpenAerialMapAdapter -OSMMapAdapter -YahooMapAdapter - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual void changeHostAddress (const QString qHost, const QString qServerPath=QString())
 change or update server host address post init More...
 
virtual QPoint coordinateToDisplay (const QPointF &) const
 translates a world coordinate to display coordinate More...
 
int currentZoom () const
 returns the current zoom More...
 
virtual QPointF displayToCoordinate (const QPoint &) const
 translates display coordinate to world coordinate More...
 
QString host () const
 returns the host of this MapAdapter More...
 
int maxZoom () const
 returns the max zoom value More...
 
int minZoom () const
 returns the min zoom value More...
 
virtual QString serverPath () const
 returns the server path part of this MapAdapter More...
 
 TileMapAdapter (const QString &host, const QString &serverPath, int tilesize, int minZoom=0, int maxZoom=17)
 constructor More...
 
int tilesize () const
 returns the size of the tiles More...
 
-

Detailed Description

-

MapAdapter for servers with image tiles.

-

Use this derived MapAdapter to display maps from OpenStreetMap

Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TileMapAdapter (const QString & host,
const QString & serverPath,
int tilesize,
int minZoom = 0,
int maxZoom = 17 
)
-
- -

constructor

-

Sample of a correct initialization of a MapAdapter:
- TileMapAdapter* ta = new TileMapAdapter("192.168.8.1", "/img/img_cache.php/%1/%2/%3.png", 256, 0,17);
- The placeholders %1, %2, %3 stands for x, y, z
- The minZoom is 0 (means the whole world is visible). The maxZoom is 17 (means it is zoomed in to the max)

Parameters
- - - - - - -
hostThe servers URL
serverPathThe path to the tiles with placeholders
tilesizethe size of the tiles
minZoomthe minimum zoom level
maxZoomthe maximum zoom level
-
-
- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void changeHostAddress (const QString qHost,
const QString qServerPath = QString() 
)
-
-virtualinherited
-
- -

change or update server host address post init

-
Parameters
- - - -
hostthe host address
serverPaththe server path
-
-
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
- -
-
- - - - - -
- - - - - - - - -
QPoint coordinateToDisplay (const QPointF & coordinate) const
-
-virtual
-
- -

translates a world coordinate to display coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
coordinatethe world coordinate
-
-
-
Returns
the display coordinate (in widget coordinates)
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
int currentZoom () const
-
-inherited
-
- -

returns the current zoom

-
Returns
the current zoom
- -
-
- -
-
- - - - - -
- - - - - - - - -
QPointF displayToCoordinate (const QPoint & point) const
-
-virtual
-
- -

translates display coordinate to world coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
pointthe display coordinate
-
-
-
Returns
the world coordinate
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
QString host () const
-
-inherited
-
- -

returns the host of this MapAdapter

-
Returns
the host of this MapAdapter
- -
-
- -
-
- - - - - -
- - - - - - - -
int maxZoom () const
-
-inherited
-
- -

returns the max zoom value

-
Returns
the max zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
int minZoom () const
-
-inherited
-
- -

returns the min zoom value

-
Returns
the min zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
QString serverPath () const
-
-virtualinherited
-
- -

returns the server path part of this MapAdapter

-
Returns
the serverpath of this MapAdapter
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::serverPath().

- -
-
- -
-
- - - - - -
- - - - - - - -
int tilesize () const
-
-inherited
-
- -

returns the size of the tiles

-
Returns
the size of the tiles
- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1TileMapAdapter.png b/libs/QMapControl/html/classqmapcontrol_1_1TileMapAdapter.png deleted file mode 100644 index 8a3503f5e..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1TileMapAdapter.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1WMSMapAdapter-members.html b/libs/QMapControl/html/classqmapcontrol_1_1WMSMapAdapter-members.html deleted file mode 100644 index f8eec5246..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1WMSMapAdapter-members.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
WMSMapAdapter Member List
-
-
- -

This is the complete list of members for WMSMapAdapter, including all inherited members.

- - - - - - - - - - - -
changeHostAddress(const QString qHost, const QString qServerPath=QString())WMSMapAdaptervirtual
coordinateToDisplay(const QPointF &) const WMSMapAdaptervirtual
currentZoom() const MapAdapter
displayToCoordinate(const QPoint &) const WMSMapAdaptervirtual
host() const MapAdapter
maxZoom() const MapAdapter
minZoom() const MapAdapter
serverPath() const WMSMapAdaptervirtual
tilesize() const MapAdapter
WMSMapAdapter(QString host, QString serverPath, int tilesize=256)WMSMapAdapter
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1WMSMapAdapter.html b/libs/QMapControl/html/classqmapcontrol_1_1WMSMapAdapter.html deleted file mode 100644 index bddd0daf6..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1WMSMapAdapter.html +++ /dev/null @@ -1,450 +0,0 @@ - - - - - - -QMapControl: WMSMapAdapter Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
WMSMapAdapter Class Reference
-
-
- -

MapAdapter for WMS servers. - More...

- -

#include <wmsmapadapter.h>

-
-Inheritance diagram for WMSMapAdapter:
-
-
- - -MapAdapter -QObject - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual void changeHostAddress (const QString qHost, const QString qServerPath=QString())
 change or update server host address post init More...
 
virtual QPoint coordinateToDisplay (const QPointF &) const
 translates a world coordinate to display coordinate More...
 
int currentZoom () const
 returns the current zoom More...
 
virtual QPointF displayToCoordinate (const QPoint &) const
 translates display coordinate to world coordinate More...
 
QString host () const
 returns the host of this MapAdapter More...
 
int maxZoom () const
 returns the max zoom value More...
 
int minZoom () const
 returns the min zoom value More...
 
virtual QString serverPath () const
 returns the server path part of this MapAdapter More...
 
int tilesize () const
 returns the size of the tiles More...
 
 WMSMapAdapter (QString host, QString serverPath, int tilesize=256)
 constructor More...
 
-

Detailed Description

-

MapAdapter for WMS servers.

-

Use this derived MapAdapter to display maps from WMS servers

Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
WMSMapAdapter (QString host,
QString serverPath,
int tilesize = 256 
)
-
- -

constructor

-

Sample of a correct initialization of a MapAdapter:
- MapAdapter* mapadapter = new WMSMapAdapter("www2.demis.nl", "/wms/wms.asp?wms=WorldMap[...]&BBOX=%1,%2,%3,%4&WIDTH=%5&HEIGHT=%5&TRANSPARENT=TRUE", 256);
- The placeholders %1, %2, %3, %4 creates the bounding box, %5 is for the tilesize The minZoom is 0 (means the whole world is visible). The maxZoom is 17 (means it is zoomed in to the max)

Parameters
- - - - -
hostThe servers URL
serverPathThe path to the tiles with placeholders
tilesizethe size of the tiles
-
-
- -

References WMSMapAdapter::changeHostAddress().

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void changeHostAddress (const QString qHost,
const QString qServerPath = QString() 
)
-
-virtual
-
- -

change or update server host address post init

-
Parameters
- - - -
hostthe host address
serverPaththe server path
-
-
- -

Reimplemented from MapAdapter.

- -

References MapAdapter::changeHostAddress(), and MapAdapter::tilesize().

- -

Referenced by WMSMapAdapter::WMSMapAdapter().

- -
-
- -
-
- - - - - -
- - - - - - - - -
QPoint coordinateToDisplay (const QPointF & coordinate) const
-
-virtual
-
- -

translates a world coordinate to display coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
coordinatethe world coordinate
-
-
-
Returns
the display coordinate (in widget coordinates)
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
int currentZoom () const
-
-inherited
-
- -

returns the current zoom

-
Returns
the current zoom
- -
-
- -
-
- - - - - -
- - - - - - - - -
QPointF displayToCoordinate (const QPoint & point) const
-
-virtual
-
- -

translates display coordinate to world coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
pointthe display coordinate
-
-
-
Returns
the world coordinate
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
QString host () const
-
-inherited
-
- -

returns the host of this MapAdapter

-
Returns
the host of this MapAdapter
- -
-
- -
-
- - - - - -
- - - - - - - -
int maxZoom () const
-
-inherited
-
- -

returns the max zoom value

-
Returns
the max zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
int minZoom () const
-
-inherited
-
- -

returns the min zoom value

-
Returns
the min zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
QString serverPath () const
-
-virtual
-
- -

returns the server path part of this MapAdapter

-
Returns
the serverpath of this MapAdapter
- -

Reimplemented from MapAdapter.

- -

References MapAdapter::serverPath().

- -
-
- -
-
- - - - - -
- - - - - - - -
int tilesize () const
-
-inherited
-
- -

returns the size of the tiles

-
Returns
the size of the tiles
- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1WMSMapAdapter.png b/libs/QMapControl/html/classqmapcontrol_1_1WMSMapAdapter.png deleted file mode 100644 index e2a6b7c50..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1WMSMapAdapter.png and /dev/null differ diff --git a/libs/QMapControl/html/classqmapcontrol_1_1YahooMapAdapter-members.html b/libs/QMapControl/html/classqmapcontrol_1_1YahooMapAdapter-members.html deleted file mode 100644 index a81f0aca0..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1YahooMapAdapter-members.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -QMapControl: Member List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
-
YahooMapAdapter Member List
-
-
- -

This is the complete list of members for YahooMapAdapter, including all inherited members.

- - - - - - - - - - - - -
changeHostAddress(const QString qHost, const QString qServerPath=QString())MapAdaptervirtual
coordinateToDisplay(const QPointF &) const TileMapAdaptervirtual
currentZoom() const MapAdapter
displayToCoordinate(const QPoint &) const TileMapAdaptervirtual
host() const MapAdapter
maxZoom() const MapAdapter
minZoom() const MapAdapter
serverPath() const MapAdaptervirtual
TileMapAdapter(const QString &host, const QString &serverPath, int tilesize, int minZoom=0, int maxZoom=17)TileMapAdapter
tilesize() const MapAdapter
YahooMapAdapter()YahooMapAdapter
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1YahooMapAdapter.html b/libs/QMapControl/html/classqmapcontrol_1_1YahooMapAdapter.html deleted file mode 100644 index d16b13472..000000000 --- a/libs/QMapControl/html/classqmapcontrol_1_1YahooMapAdapter.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - -QMapControl: YahooMapAdapter Class Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
- -
-
YahooMapAdapter Class Reference
-
-
- -

MapAdapter for Yahoo Maps. - More...

- -

#include <yahoomapadapter.h>

-
-Inheritance diagram for YahooMapAdapter:
-
-
- - -TileMapAdapter -MapAdapter -QObject - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual void changeHostAddress (const QString qHost, const QString qServerPath=QString())
 change or update server host address post init More...
 
virtual QPoint coordinateToDisplay (const QPointF &) const
 translates a world coordinate to display coordinate More...
 
int currentZoom () const
 returns the current zoom More...
 
virtual QPointF displayToCoordinate (const QPoint &) const
 translates display coordinate to world coordinate More...
 
QString host () const
 returns the host of this MapAdapter More...
 
int maxZoom () const
 returns the max zoom value More...
 
int minZoom () const
 returns the min zoom value More...
 
virtual QString serverPath () const
 returns the server path part of this MapAdapter More...
 
int tilesize () const
 returns the size of the tiles More...
 
 YahooMapAdapter ()
 constructor More...
 
-

Detailed Description

-

MapAdapter for Yahoo Maps.

-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-

Constructor & Destructor Documentation

- -
-
- - - - - - - -
YahooMapAdapter ()
-
- -

constructor

-

This construct a Yahoo Adapter

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void changeHostAddress (const QString qHost,
const QString qServerPath = QString() 
)
-
-virtualinherited
-
- -

change or update server host address post init

-
Parameters
- - - -
hostthe host address
serverPaththe server path
-
-
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
- -
-
- - - - - -
- - - - - - - - -
QPoint coordinateToDisplay (const QPointF & coordinate) const
-
-virtualinherited
-
- -

translates a world coordinate to display coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
coordinatethe world coordinate
-
-
-
Returns
the display coordinate (in widget coordinates)
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
int currentZoom () const
-
-inherited
-
- -

returns the current zoom

-
Returns
the current zoom
- -
-
- -
-
- - - - - -
- - - - - - - - -
QPointF displayToCoordinate (const QPoint & point) const
-
-virtualinherited
-
- -

translates display coordinate to world coordinate

-

The calculations also needs the current zoom. The current zoom is managed by the MapAdapter, so this is no problem. To divide model from view the current zoom should be moved to the layers.

Parameters
- - -
pointthe display coordinate
-
-
-
Returns
the world coordinate
- -

Implements MapAdapter.

- -
-
- -
-
- - - - - -
- - - - - - - -
QString host () const
-
-inherited
-
- -

returns the host of this MapAdapter

-
Returns
the host of this MapAdapter
- -
-
- -
-
- - - - - -
- - - - - - - -
int maxZoom () const
-
-inherited
-
- -

returns the max zoom value

-
Returns
the max zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
int minZoom () const
-
-inherited
-
- -

returns the min zoom value

-
Returns
the min zoom value
- -
-
- -
-
- - - - - -
- - - - - - - -
QString serverPath () const
-
-virtualinherited
-
- -

returns the server path part of this MapAdapter

-
Returns
the serverpath of this MapAdapter
- -

Reimplemented in WMSMapAdapter.

- -

Referenced by WMSMapAdapter::serverPath().

- -
-
- -
-
- - - - - -
- - - - - - - -
int tilesize () const
-
-inherited
-
- -

returns the size of the tiles

-
Returns
the size of the tiles
- -

Referenced by WMSMapAdapter::changeHostAddress().

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/libs/QMapControl/html/classqmapcontrol_1_1YahooMapAdapter.png b/libs/QMapControl/html/classqmapcontrol_1_1YahooMapAdapter.png deleted file mode 100644 index 754721360..000000000 Binary files a/libs/QMapControl/html/classqmapcontrol_1_1YahooMapAdapter.png and /dev/null differ diff --git a/libs/QMapControl/html/closed.png b/libs/QMapControl/html/closed.png deleted file mode 100644 index 98cc2c909..000000000 Binary files a/libs/QMapControl/html/closed.png and /dev/null differ diff --git a/libs/QMapControl/html/curve_8h_source.html b/libs/QMapControl/html/curve_8h_source.html deleted file mode 100644 index 5e53510cd..000000000 --- a/libs/QMapControl/html/curve_8h_source.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - -QMapControl: curve.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
curve.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef CURVE_H
-
27 #define CURVE_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "geometry.h"
-
31 #include "point.h"
-
32 
-
33 namespace qmapcontrol
-
34 {
-
36 
-
46  class QMAPCONTROL_EXPORT Curve : public Geometry
-
47  {
-
48  Q_OBJECT
-
49  public:
-
50  virtual ~Curve();
-
51 
-
52  double Length;
-
53 
-
54  // virtual Geometry Clone();
-
55  // virtual QRectF GetBoundingBox();
-
56 
-
57  // virtual Point EndPoint() = 0;
-
58  // virtual Point StartPoint() = 0;
-
59  // virtual Point Value() = 0;
-
60 
-
61  protected:
-
62  Curve(QString name = QString());
-
63  virtual void draw(QPainter* painter, const MapAdapter* mapadapter, const QRect &screensize, const QPoint offset) = 0;
-
64  };
-
65 }
-
66 #endif
-
Main class for objects that should be painted in maps.
Definition: geometry.h:48
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
-
A Curve Geometry, implemented to fullfil OGC Spec.
Definition: curve.h:46
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/libs/QMapControl/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html deleted file mode 100644 index 7e4787e22..000000000 --- a/libs/QMapControl/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - -QMapControl: src Directory Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
src Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  arrowpoint.cpp
 
file  arrowpoint.h [code]
 
file  circlepoint.cpp
 
file  circlepoint.h [code]
 
file  curve.cpp
 
file  curve.h [code]
 
file  emptymapadapter.cpp
 
file  emptymapadapter.h [code]
 
file  fixedimageoverlay.cpp
 
file  fixedimageoverlay.h [code]
 
file  geometry.cpp
 
file  geometry.h [code]
 
file  geometrylayer.cpp
 
file  geometrylayer.h [code]
 
file  googlemapadapter.cpp
 
file  googlemapadapter.h [code]
 
file  gps_position.cpp
 
file  gps_position.h [code]
 
file  imagemanager.cpp
 
file  imagepoint.cpp
 
file  imagepoint.h [code]
 
file  invisiblepoint.cpp
 
file  invisiblepoint.h [code]
 
file  layer.cpp
 
file  layer.h [code]
 
file  linestring.cpp
 
file  linestring.h [code]
 
file  mapadapter.cpp
 
file  mapadapter.h [code]
 
file  mapcontrol.cpp
 
file  mapcontrol.h [code]
 
file  maplayer.cpp
 
file  maplayer.h [code]
 
file  mapnetwork.cpp
 
file  mapnetwork.h [code]
 
file  openaerialmapadapter.cpp
 
file  openaerialmapadapter.h [code]
 
file  osmmapadapter.cpp
 
file  osmmapadapter.h [code]
 
file  point.cpp
 
file  point.h [code]
 
file  qmapcontrol_global.h [code]
 
file  tilemapadapter.cpp
 
file  tilemapadapter.h [code]
 
file  wmsmapadapter.cpp
 
file  wmsmapadapter.h [code]
 
file  yahoomapadapter.cpp
 
file  yahoomapadapter.h [code]
 
-
- - - - diff --git a/libs/QMapControl/html/doxygen.css b/libs/QMapControl/html/doxygen.css deleted file mode 100644 index 02e8b0152..000000000 --- a/libs/QMapControl/html/doxygen.css +++ /dev/null @@ -1,1440 +0,0 @@ -/* The standard CSS for doxygen 1.8.8 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font: 400 14px/28px Roboto,sans-serif; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; -} - -div.fragment { - padding: 4px 6px; - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -div.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: bold; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - border-top-left-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - -moz-border-radius-topleft: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - -webkit-border-top-left-radius: 4px; - -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; -} - -.arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #728DC1; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('ftv2folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('ftv2folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('ftv2doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -table.directory { - font: 400 14px Roboto,sans-serif; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -dl -{ - padding: 0 0 0 10px; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ - margin-left: 0px; - padding-left: 0px; -} - -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; -} - -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; -} - -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; -} - -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; -} - -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 20px 10px 10px; - width: 200px; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - diff --git a/libs/QMapControl/html/doxygen.png b/libs/QMapControl/html/doxygen.png deleted file mode 100644 index 3ff17d807..000000000 Binary files a/libs/QMapControl/html/doxygen.png and /dev/null differ diff --git a/libs/QMapControl/html/dynsections.js b/libs/QMapControl/html/dynsections.js deleted file mode 100644 index 85e183690..000000000 --- a/libs/QMapControl/html/dynsections.js +++ /dev/null @@ -1,97 +0,0 @@ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l - - - - - -QMapControl: emptymapadapter.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
emptymapadapter.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef EMPTYMAPADAPTER_H
-
27 #define EMPTYMAPADAPTER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "mapadapter.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
35 
-
40  class QMAPCONTROL_EXPORT EmptyMapAdapter : public MapAdapter
-
41  {
-
42  Q_OBJECT
-
43  public:
-
45 
-
52  EmptyMapAdapter(int tileSize = 256, int minZoom = 0, int maxZoom = 17);
-
53 
-
54  virtual ~EmptyMapAdapter();
-
55 
-
56  virtual QPoint coordinateToDisplay(const QPointF&) const;
-
57  virtual QPointF displayToCoordinate(const QPoint&) const;
-
58 
-
59  qreal PI;
-
60 
-
61  protected:
-
62  qreal rad_deg(qreal) const;
-
63  qreal deg_rad(qreal) const;
-
64 
-
65  virtual bool isValid(int x, int y, int z) const;
-
66  virtual void zoom_in();
-
67  virtual void zoom_out();
-
68  virtual QString query(int x, int y, int z) const;
-
69  virtual int tilesonzoomlevel(int zoomlevel) const;
-
70  virtual int xoffset(int x) const;
-
71  virtual int yoffset(int y) const;
-
72  };
-
73 }
-
74 #endif
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
-
MapAdapter which do not load map tiles.
Definition: emptymapadapter.h:40
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/examples.html b/libs/QMapControl/html/examples.html deleted file mode 100644 index 4a67cbf39..000000000 --- a/libs/QMapControl/html/examples.html +++ /dev/null @@ -1,32 +0,0 @@ - - -QMapControl: Examples - - - - - -
-

Examples

Here is a list of all examples: -
-
Generated on Wed Jul 29 12:38:10 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/files.html b/libs/QMapControl/html/files.html deleted file mode 100644 index 22255926a..000000000 --- a/libs/QMapControl/html/files.html +++ /dev/null @@ -1,57 +0,0 @@ - - -QMapControl: File Index - - - - - -
-

File List

Here is a list of all documented files with brief descriptions: - - - - - - - - - - - - - - - - - - - - - - - - - -
circlepoint.h [code]
curve.h [code]
emptymapadapter.h [code]
fixedimageoverlay.h [code]
geometry.h [code]
geometrylayer.h [code]
googlemapadapter.h [code]
googlesatmapadapter.h [code]
gps.h [code]
gps_position.h [code]
imagepoint.h [code]
layer.h [code]
linestring.h [code]
mapadapter.h [code]
mapcontrol.h [code]
maplayer.h [code]
mapnetwork.h [code]
mapviewer.h [code]
openaerialmapadapter.h [code]
osmmapadapter.h [code]
point.h [code]
qmapcontrol.h [code]
tilemapadapter.h [code]
wmsmapadapter.h [code]
yahoomapadapter.h [code]
-
-
Generated on Wed Jul 29 12:38:10 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/fixedimageoverlay_8h_source.html b/libs/QMapControl/html/fixedimageoverlay_8h_source.html deleted file mode 100644 index ac7e2b054..000000000 --- a/libs/QMapControl/html/fixedimageoverlay_8h_source.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -QMapControl: fixedimageoverlay.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
fixedimageoverlay.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2009 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef FIXEDIMAGEOVERLAY_H
-
27 #define FIXEDIMAGEOVERLAY_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "imagepoint.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
34 
-
36 
-
43  class QMAPCONTROL_EXPORT FixedImageOverlay : public ImagePoint
-
44  {
-
45  public:
-
47 
-
59  FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QString filename, QString name = QString());
-
60 
-
62 
-
71  FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QPixmap pixmap, QString name = QString());
-
72 
-
73  virtual void draw(QPainter* painter, const MapAdapter* mapadapter, const QRect &viewport, const QPoint offset);
-
74  virtual ~FixedImageOverlay();
-
75 
-
76  private:
-
77  qreal x_lowerright;
-
78  qreal y_lowerright;
-
79  };
-
80 }
-
81 #endif
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
-
Draws an image into the map.
Definition: imagepoint.h:42
-
Draws a fixed image into the map.
Definition: fixedimageoverlay.h:43
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/ftv2blank.png b/libs/QMapControl/html/ftv2blank.png deleted file mode 100644 index 63c605bb4..000000000 Binary files a/libs/QMapControl/html/ftv2blank.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2doc.png b/libs/QMapControl/html/ftv2doc.png deleted file mode 100644 index 17edabff9..000000000 Binary files a/libs/QMapControl/html/ftv2doc.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2folderclosed.png b/libs/QMapControl/html/ftv2folderclosed.png deleted file mode 100644 index bb8ab35ed..000000000 Binary files a/libs/QMapControl/html/ftv2folderclosed.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2folderopen.png b/libs/QMapControl/html/ftv2folderopen.png deleted file mode 100644 index d6c7f676a..000000000 Binary files a/libs/QMapControl/html/ftv2folderopen.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2lastnode.png b/libs/QMapControl/html/ftv2lastnode.png deleted file mode 100644 index 63c605bb4..000000000 Binary files a/libs/QMapControl/html/ftv2lastnode.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2link.png b/libs/QMapControl/html/ftv2link.png deleted file mode 100644 index 17edabff9..000000000 Binary files a/libs/QMapControl/html/ftv2link.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2mlastnode.png b/libs/QMapControl/html/ftv2mlastnode.png deleted file mode 100644 index 0b63f6d38..000000000 Binary files a/libs/QMapControl/html/ftv2mlastnode.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2mnode.png b/libs/QMapControl/html/ftv2mnode.png deleted file mode 100644 index 0b63f6d38..000000000 Binary files a/libs/QMapControl/html/ftv2mnode.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2node.png b/libs/QMapControl/html/ftv2node.png deleted file mode 100644 index 63c605bb4..000000000 Binary files a/libs/QMapControl/html/ftv2node.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2plastnode.png b/libs/QMapControl/html/ftv2plastnode.png deleted file mode 100644 index c6ee22f93..000000000 Binary files a/libs/QMapControl/html/ftv2plastnode.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2pnode.png b/libs/QMapControl/html/ftv2pnode.png deleted file mode 100644 index c6ee22f93..000000000 Binary files a/libs/QMapControl/html/ftv2pnode.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2splitbar.png b/libs/QMapControl/html/ftv2splitbar.png deleted file mode 100644 index fe895f2c5..000000000 Binary files a/libs/QMapControl/html/ftv2splitbar.png and /dev/null differ diff --git a/libs/QMapControl/html/ftv2vertline.png b/libs/QMapControl/html/ftv2vertline.png deleted file mode 100644 index 63c605bb4..000000000 Binary files a/libs/QMapControl/html/ftv2vertline.png and /dev/null differ diff --git a/libs/QMapControl/html/functions.html b/libs/QMapControl/html/functions.html deleted file mode 100644 index 57be7a8e7..000000000 --- a/libs/QMapControl/html/functions.html +++ /dev/null @@ -1,566 +0,0 @@ - - - - - - -QMapControl: Class Members - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - - -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- a -

- - -

- b -

- - -

- c -

- - -

- d -

- - -

- e -

- - -

- f -

- - -

- g -

- - -

- h -

- - -

- i -

- - -

- l -

- - -

- m -

- - -

- n -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- v -

- - -

- w -

- - -

- y -

- - -

- z -

-
- - - - diff --git a/libs/QMapControl/html/functions_enum.html b/libs/QMapControl/html/functions_enum.html deleted file mode 100644 index 604442eab..000000000 --- a/libs/QMapControl/html/functions_enum.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - -QMapControl: Class Members - Enumerations - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
- - - - diff --git a/libs/QMapControl/html/functions_eval.html b/libs/QMapControl/html/functions_eval.html deleted file mode 100644 index 92e8cf77e..000000000 --- a/libs/QMapControl/html/functions_eval.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - -QMapControl: Class Members - Enumerator - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - -
-
-
- - - - diff --git a/libs/QMapControl/html/functions_func.html b/libs/QMapControl/html/functions_func.html deleted file mode 100644 index d86b246ac..000000000 --- a/libs/QMapControl/html/functions_func.html +++ /dev/null @@ -1,525 +0,0 @@ - - - - - - -QMapControl: Class Members - Functions - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - - - -
-
-  - -

- a -

- - -

- b -

- - -

- c -

- - -

- d -

- - -

- e -

- - -

- f -

- - -

- g -

- - -

- h -

- - -

- i -

- - -

- l -

- - -

- m -

- - -

- n -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- v -

- - -

- w -

- - -

- y -

- - -

- z -

-
- - - - diff --git a/libs/QMapControl/html/geometry_8h_source.html b/libs/QMapControl/html/geometry_8h_source.html deleted file mode 100644 index 285856a06..000000000 --- a/libs/QMapControl/html/geometry_8h_source.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - -QMapControl: geometry.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
geometry.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef GEOMETRY_H
-
27 #define GEOMETRY_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include <QObject>
-
31 #include <QPainter>
-
32 #include <QDebug>
-
33 #include "mapadapter.h"
-
34 
-
35 namespace qmapcontrol
-
36 {
-
37  class Point;
-
39 
-
48  class QMAPCONTROL_EXPORT Geometry : public QObject
-
49  {
-
50  friend class LineString;
-
51  Q_OBJECT
-
52  public:
-
53  explicit Geometry(QString name = QString());
-
54  virtual ~Geometry();
-
55 
-
56  QString GeometryType;
-
57 
-
59 
-
64  bool Equals(Geometry* geom);
-
65 
-
67 
-
71  QString toString();
-
72 
-
74 
-
77  QString name() const;
-
78 
-
80 
-
84  Geometry* parentGeometry() const;
-
85 
-
87 
-
90  bool isVisible() const;
-
91 
-
93 
-
96  void setName(QString name);
-
97 
-
99 
-
103  QPen* pen() const;
-
104 
-
106 
-
110  virtual QRectF boundingBox()=0;
-
111  virtual bool Touches(Point* geom, const MapAdapter* mapadapter)=0;
-
112  virtual void draw(QPainter* painter, const MapAdapter* mapadapter, const QRect &viewport, const QPoint offset)=0;
-
113  virtual bool hasPoints() const;
-
114  virtual bool hasClickedPoints() const;
-
115  virtual void setPen(QPen* pen);
-
116  virtual QList<Geometry*>& clickedPoints();
-
117  virtual QList<Point*> points()=0;
-
118 
-
119  private:
-
120  Q_DISABLE_COPY( Geometry )
-
121 
-
122  Geometry* myparentGeometry;
-
123  QList<Geometry*> touchedPoints;
-
124 
-
125  protected:
-
126  QPen* mypen;
-
127  bool visible;
-
128  QString myname;
-
129  void setParentGeometry(Geometry* geom);
-
130 
-
131  signals:
-
132  void updateRequest(Geometry* geom);
-
133  void updateRequest(QRectF rect);
-
135 
-
141  void geometryClicked(Geometry* geometry, QPoint point);
-
142 
-
144 
-
147  void positionChanged(Geometry* geom);
-
148 
-
149  public slots:
-
151 
-
154  virtual void setVisible(bool visible);
-
155  };
-
156 }
-
157 #endif
-
Main class for objects that should be painted in maps.
Definition: geometry.h:48
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
- -
A geometric point to draw objects into maps.
Definition: point.h:66
-
A collection of Point objects to describe a line.
Definition: linestring.h:39
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/geometrylayer_8h_source.html b/libs/QMapControl/html/geometrylayer_8h_source.html deleted file mode 100644 index ee3b220c2..000000000 --- a/libs/QMapControl/html/geometrylayer_8h_source.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -QMapControl: geometrylayer.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
geometrylayer.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef GEOMETRYLAYER_H
-
27 #define GEOMETRYLAYER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "layer.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
35 
-
48  class QMAPCONTROL_EXPORT GeometryLayer : public Layer
-
49  {
-
50  Q_OBJECT
-
51 
-
52  public:
-
54 
-
62  GeometryLayer(QString layername, MapAdapter* mapadapter, bool takeevents=true);
-
63  virtual ~GeometryLayer();
-
64  };
-
65 }
-
66 #endif
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
-
GeometryLayer class.
Definition: geometrylayer.h:48
-
Layer class.
Definition: layer.h:60
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/googlemapadapter_8h_source.html b/libs/QMapControl/html/googlemapadapter_8h_source.html deleted file mode 100644 index 5b390babd..000000000 --- a/libs/QMapControl/html/googlemapadapter_8h_source.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -QMapControl: googlemapadapter.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
googlemapadapter.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef GOOGLEMAPADAPTER_H
-
27 #define GOOGLEMAPADAPTER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "tilemapadapter.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
35 
-
39  class QMAPCONTROL_EXPORT GoogleMapAdapter : public TileMapAdapter
-
40  {
-
41  Q_OBJECT
-
42 
-
43  public:
-
44  enum googleLayerType
-
45  {
-
46  maps = 0,
-
47  satellite,
-
48  terrain,
-
49  hybrid,
-
50  raster,
-
51  };
-
53 
-
56  GoogleMapAdapter( googleLayerType qLayerType = maps );
-
57  virtual ~GoogleMapAdapter();
-
58  private:
-
59  QString typeToString( googleLayerType qLayerType );
-
60  };
-
61 }
-
62 #endif
-
MapAdapter for servers with image tiles.
Definition: tilemapadapter.h:39
-
MapAdapter for Google.
Definition: googlemapadapter.h:39
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/googlesatmapadapter_8h_source.html b/libs/QMapControl/html/googlesatmapadapter_8h_source.html deleted file mode 100644 index 79f89a4e7..000000000 --- a/libs/QMapControl/html/googlesatmapadapter_8h_source.html +++ /dev/null @@ -1,92 +0,0 @@ - - -QMapControl: googlesatmapadapter.h Source File - - - - - -
Generated on Wed Jul 29 12:38:10 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/gps_8cpp-example.html b/libs/QMapControl/html/gps_8cpp-example.html deleted file mode 100644 index 047ebff7c..000000000 --- a/libs/QMapControl/html/gps_8cpp-example.html +++ /dev/null @@ -1,95 +0,0 @@ - - -QMapControl: gps.cpp - - - - - -
-

gps.cpp

This sample application uses GPS data from the gllin service, which you have to start manually before using this application. The file /tmp/nmeaNP is read in for the posiitons.

-The application receives positions from the GPS_Neo class and writes it into a label. You can toggle a button to set the view to the received coordinate.

-You can find this example here: MapAPI/Samples/GPS

-sample_gps.png -

screenshot

-
See also:
http://3rdparty.downloads.openmoko.org
-
#include "gps.h"
-
-GPS::GPS()
-{
-        // create MapControl
-        mc = new MapControl(QSize(480,640));
-//      ImageManager::instance()->setProxy("www-cache", 8080);
-        
-        // create MapAdapter to get maps from
-        TileMapAdapter* mapadapter = new TileMapAdapter("tile.openstreetmap.org", "/%1/%2/%3.png", 256, 0, 17);
-        
-        // create a layer with the mapadapter and type MapLayer
-        Layer* l = new Layer("Custom Layer", mapadapter, Layer::MapLayer);
-        
-        // add Layer to the MapControl
-        mc->addLayer(l);
-        
-        // display the MapControl in the application
-        QHBoxLayout* layout = new QHBoxLayout;
-        layout->addWidget(mc);
-        setLayout(layout);
-        
-        // create buttons as controls for zoom
-        QPushButton* zoomin = new QPushButton("+");
-        QPushButton* zoomout = new QPushButton("-");
-        followgps = new QPushButton("F");
-        followgps->setCheckable(true);
-        gpsposition = new QLabel();
-        zoomin->setMaximumWidth(50);
-        zoomout->setMaximumWidth(50);
-        followgps->setMaximumWidth(50);
-        gpsposition->setFont(QFont("Arial", 10));
-        
-        connect(zoomin, SIGNAL(clicked(bool)),
-                          mc, SLOT(zoomIn()));
-        connect(zoomout, SIGNAL(clicked(bool)),
-                          mc, SLOT(zoomOut()));
-        
-        // add zoom buttons to the layout of the MapControl
-        QVBoxLayout* innerlayout = new QVBoxLayout;
-        innerlayout->addWidget(zoomin);
-        innerlayout->addWidget(zoomout);
-        innerlayout->addWidget(followgps);
-        innerlayout->addWidget(gpsposition);
-        mc->setLayout(innerlayout);
-        
-        GPS_Neo* gm = new GPS_Neo();
-        connect(gm, SIGNAL(new_position(float, QPointF)),
-                          this, SLOT(updatePosition(float, QPointF)));
-        gm->start();
-}
-
-GPS::~GPS()
-{
-}
-
-void GPS::updatePosition(float time, QPointF coordinate)
-{
-        gpsposition->setText(QString::number(time) + " / " + QString::number(coordinate.x()) + " / " + QString::number(coordinate.y()));
-        if (followgps->isChecked())
-        {
-                mc->setView(coordinate);
-        }
-}
-
-
Generated on Wed Jul 29 12:38:09 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/gps_8h_source.html b/libs/QMapControl/html/gps_8h_source.html deleted file mode 100644 index 51fedf018..000000000 --- a/libs/QMapControl/html/gps_8h_source.html +++ /dev/null @@ -1,54 +0,0 @@ - - -QMapControl: gps.h Source File - - - - - -
Generated on Wed Jul 29 12:38:10 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/gps__position_8h_source.html b/libs/QMapControl/html/gps__position_8h_source.html deleted file mode 100644 index 3f32b04e7..000000000 --- a/libs/QMapControl/html/gps__position_8h_source.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -QMapControl: gps_position.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
gps_position.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef GPS_POSITION_H
-
27 #define GPS_POSITION_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include <QString>
-
31 
-
32 namespace qmapcontrol
-
33 {
-
35 
-
40  class QMAPCONTROL_EXPORT GPS_Position
-
41  {
-
42  public:
-
43  GPS_Position(float time, float longitude, QString longitude_dir, float latitude, QString latitude_dir);
-
44  float time;
-
45  float longitude;
-
46  float latitude;
-
48  private:
-
49  QString longitude_dir;
-
50  QString latitude_dir;
-
51  };
-
52 }
-
53 #endif
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/hierarchy.html b/libs/QMapControl/html/hierarchy.html deleted file mode 100644 index bdc814b7e..000000000 --- a/libs/QMapControl/html/hierarchy.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - -QMapControl: Class Hierarchy - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
Class Hierarchy
-
-
-
This inheritance list is sorted roughly, but not completely, alphabetically:
-
[detail level 12345]
- - - - - - - - - - - - - - - - - - - - - - - - -
 CQObject
 CGeometryMain class for objects that should be painted in maps
 CCurveA Curve Geometry, implemented to fullfil OGC Spec
 CLineStringA collection of Point objects to describe a line
 CPointA geometric point to draw objects into maps
 CArrowPointDraws a directed arrow (showing orientation) into the map
 CCirclePointDraws a circle into the map
 CImagePointDraws an image into the map
 CFixedImageOverlayDraws a fixed image into the map
 CInvisiblePointDraws an invisible point into the map
 CLayerLayer class
 CGeometryLayerGeometryLayer class
 CMapLayerMapLayer class
 CMapAdapterUsed to fit map servers into QMapControl
 CEmptyMapAdapterMapAdapter which do not load map tiles
 CTileMapAdapterMapAdapter for servers with image tiles
 CGoogleMapAdapterMapAdapter for Google
 COpenAerialMapAdapterMapAdapter for OpenStreetMap
 COSMMapAdapterMapAdapter for OpenStreetMap
 CYahooMapAdapterMapAdapter for Yahoo Maps
 CWMSMapAdapterMapAdapter for WMS servers
 CMapNetwork
 CQWidget
 CMapControlThe control element of the widget and also the widget itself
-
-
- - - - diff --git a/libs/QMapControl/html/imagepoint_8h_source.html b/libs/QMapControl/html/imagepoint_8h_source.html deleted file mode 100644 index 16d82965e..000000000 --- a/libs/QMapControl/html/imagepoint_8h_source.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - -QMapControl: imagepoint.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
imagepoint.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef IMAGEPOINT_H
-
27 #define IMAGEPOINT_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "point.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
34 
-
36 
-
42  class QMAPCONTROL_EXPORT ImagePoint : public Point
-
43  {
-
44  public:
-
46 
-
55  ImagePoint(qreal x, qreal y, QString filename, QString name = QString(), Alignment alignment = Middle);
-
56 
-
58 
-
67  ImagePoint(qreal x, qreal y, QPixmap pixmap, QString name = QString(), Alignment alignment = Middle);
-
68  virtual ~ImagePoint();
-
69  };
-
70 }
-
71 #endif
-
Alignment
sets where the point should be aligned
Definition: point.h:75
-
A geometric point to draw objects into maps.
Definition: point.h:66
-
Draws an image into the map.
Definition: imagepoint.h:42
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/index.html b/libs/QMapControl/html/index.html deleted file mode 100644 index 60d174154..000000000 --- a/libs/QMapControl/html/index.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - -QMapControl: Main Page - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - -
-
-
-
QMapControl Documentation
-
-
-
- - - - diff --git a/libs/QMapControl/html/invisiblepoint_8h_source.html b/libs/QMapControl/html/invisiblepoint_8h_source.html deleted file mode 100644 index 98dd87a0d..000000000 --- a/libs/QMapControl/html/invisiblepoint_8h_source.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - -QMapControl: invisiblepoint.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
invisiblepoint.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2014 Frederic Bourgeois
-
7 * Based on CirclePoint code by Kai Winter
-
8 *
-
9 * This program is free software: you can redistribute it and/or modify
-
10 * it under the terms of the GNU Lesser General Public License as published by
-
11 * the Free Software Foundation, either version 3 of the License, or
-
12 * (at your option) any later version.
-
13 *
-
14 * This program is distributed in the hope that it will be useful,
-
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
17 * GNU Lesser General Public License for more details.
-
18 *
-
19 * You should have received a copy of the GNU Lesser General Public License
-
20 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
21 *
-
22 * Contact e-mail: kaiwinter@gmx.de
-
23 * Program URL : http://qmapcontrol.sourceforge.net/
-
24 *
-
25 */
-
26 
-
27 #ifndef INVISIBLEPOINT_H
-
28 #define INVISIBLEPOINT_H
-
29 
-
30 #include "qmapcontrol_global.h"
-
31 #include "point.h"
-
32 
-
33 namespace qmapcontrol
-
34 {
-
36 
-
42  class QMAPCONTROL_EXPORT InvisiblePoint : public Point
-
43  {
-
44  public:
-
46 
-
52  InvisiblePoint(qreal x, qreal y, QString name = QString());
-
53 
-
55 
-
63  InvisiblePoint(qreal x, qreal y, int width = 10, int height = 10, QString name = QString());
-
64 
-
66 
-
73  InvisiblePoint(qreal x, qreal y, int sideLength = 10, QString name = QString());
-
74  virtual ~InvisiblePoint();
-
75  };
-
76 }
-
77 #endif
-
Draws an invisible point into the map.
Definition: invisiblepoint.h:42
-
A geometric point to draw objects into maps.
Definition: point.h:66
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/jquery.js b/libs/QMapControl/html/jquery.js deleted file mode 100644 index c197801c5..000000000 --- a/libs/QMapControl/html/jquery.js +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * jQuery JavaScript Library v1.7.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Mon Nov 21 21:11:03 2011 -0500 - */ -(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; -if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 -},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); -ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; -if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b -})}})(window); diff --git a/libs/QMapControl/html/layer_8h_source.html b/libs/QMapControl/html/layer_8h_source.html deleted file mode 100644 index 60414d3aa..000000000 --- a/libs/QMapControl/html/layer_8h_source.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - -QMapControl: layer.h Source File - - - - - - -
-
-
- - - - - -
-
QMapControl -  0.9.7.4 -
-
- - - - - - -
-
-
layer.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef LAYER_H
-
27 #define LAYER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include <QObject>
-
31 #include <QDebug>
-
32 #include <QPainter>
-
33 #include <QMouseEvent>
-
34 
-
35 #include "mapadapter.h"
-
36 #include "layermanager.h"
-
37 #include "geometry.h"
-
38 #include "point.h"
-
39 
-
40 #include "wmsmapadapter.h"
-
41 #include "tilemapadapter.h"
-
42 
-
43 namespace qmapcontrol
-
44 {
-
46 
-
60  class QMAPCONTROL_EXPORT Layer : public QObject
-
61  {
-
62  Q_OBJECT
-
63 
-
64  public:
-
65  friend class LayerManager;
-
66 
-
68  enum LayerType
-
69  {
- - -
72  };
-
73 
-
75 
-
84  Layer(QString layername, MapAdapter* mapadapter, enum LayerType layertype, bool takeevents=true);
-
85  virtual ~Layer();
-
86 
-
88 
-
91  QString layername() const;
-
92 
-
94 
-
99  MapAdapter* mapadapter();
-
100 
-
102 
-
106  void addGeometry(Geometry* geometry);
-
107 
-
109 
-
114  void removeGeometry(Geometry* geometry, bool qDeleteObject = false);
-
115 
-
117 
-
122  void clearGeometries( bool qDeleteObject = false);
-
123 
-
125 
-
129  QList<Geometry*>& getGeometries();
-
130 
-
132 
-
135  bool containsGeometry( Geometry* geometry );
-
136 
-
138 
-
142  void sendGeometryToFront( Geometry* geometry );
-
143 
-
145 
-
149  void sendGeometryToBack( Geometry* geometry );
-
150 
-
152 
-
155  bool isVisible() const;
-
156 
-
158 
-
162  Layer::LayerType layertype() const;
-
163 
-
164  void setMapAdapter(MapAdapter* mapadapter);
-
165 
-
166  private:
-
167  void moveWidgets(const QPoint mapmiddle_px) const;
-
168  void drawYourImage(QPainter* painter, const QPoint mapmiddle_px) const;
-
169  void drawYourGeometries(QPainter* painter, const QPoint mapmiddle_px, QRect viewport) const;
-
170  void setSize(QSize size);
-
171  QRect offscreenViewport() const;
-
172  bool takesMouseEvents() const;
-
173  void mouseEvent(const QMouseEvent*, const QPoint mapmiddle_px);
-
174  void zoomIn() const;
-
175  void zoomOut() const;
-
176  void _draw(QPainter* painter, const QPoint mapmiddle_px) const;
-
177 
-
178  bool visible;
-
179  QString mylayername;
-
180  LayerType mylayertype;
-
181  QSize size;
-
182  QPoint screenmiddle;
-
183 
-
184  QList<Geometry*> geometries;
-
185  MapAdapter* mapAdapter;
-
186  bool takeevents;
-
187  mutable QRect myoffscreenViewport;
-
188 
-
189  signals:
-
191 
-
197  void geometryClicked(Geometry* geometry, QPoint point);
-
198 
-
199  void updateRequest(QRectF rect);
-
200  void updateRequest();
-
201 
-
202  public slots:
-
204 
-
207  void setVisible(bool visible);
-
208 
-
209  };
-
210 }
-
211 #endif
-
Main class for objects that should be painted in maps.
Definition: geometry.h:48
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
- -
LayerType
sets the type of a layer, see Layer class doc for further information
Definition: layer.h:68
-
GeometryLayer class.
Definition: geometrylayer.h:48
-
Layer class.
Definition: layer.h:60
-
Definition: layer.h:70
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/linesandpoints_8cpp-example.html b/libs/QMapControl/html/linesandpoints_8cpp-example.html deleted file mode 100644 index 5ddd8db57..000000000 --- a/libs/QMapControl/html/linesandpoints_8cpp-example.html +++ /dev/null @@ -1,180 +0,0 @@ - - -QMapControl: linesandpoints.cpp - - - - - -
-

linesandpoints.cpp

This application demonstrates how to use Geometry objects and how to add them to a layer.

-Here are used three different point types:

    -
  • One which displays a image
  • One which draws a plain circle
  • One which uses a QPen to draw a circle
  • One which has no markers Then these Points were added to a LineString
-

-Also there is a keylistener.

-You can find this example here: MapAPI/Samples/LinesAndPoints

-sample_linesandpoints.png -

screenshot

-
#include "linesandpoints.h"
-LinesAndPoints::LinesAndPoints(QWidget *parent)
-        : QWidget(parent)
-{
-        // the size which the QMapControl should fill
-        QSize size = QSize(480,640);
-        
-        mc = new MapControl(size);
-        // create layout
-        QHBoxLayout* layout = new QHBoxLayout;
-        layout->addWidget(mc);
-        setLayout(layout);
-        
-        // create layer
-        MapAdapter* mapadapter = new OSMMapAdapter();
-        Layer* l = new MapLayer("Custom Layer", mapadapter);
-        
-        mc->addLayer(l);
-        
-        // create a LineString
-        QList<Point*> points;
-        // Points with image
-        points.append(new ImagePoint(8.259959, 50.001781, "images/bus_stop.png", "Mainz, Hauptbahnhof", Point::BottomLeft));
-        points.append(new ImagePoint(8.263758, 49.998917, "images/bus_stop.png", "Mainz, Münsterplatz", Point::BottomLeft));
-        points.append(new ImagePoint(8.265812, 50.001952, "images/bus_stop.png","Mainz, Neubrunnenplatz", Point::BottomLeft));
-        // Points with a circle
-        points.append(new CirclePoint(8.2688, 50.004015, "Mainz, Bauhofstraße LRP", Point::Middle));
-        points.append(new CirclePoint(8.272845, 50.00495, "Mainz, Landtag", Point::Middle));
-        points.append(new CirclePoint(8.280349, 50.008173, "Mainz, Brückenkopf", Point::Middle));
-        // A QPen can be used to customize the 
-        QPen* pointpen = new QPen(QColor(0,255,0));
-        pointpen->setWidth(3);
-        points.append(new CirclePoint(8.273573, 50.016315, 15, "Wiesbaden-Mainz-Kastel, Eleonorenstraße", Point::Middle, pointpen));
-        points.append(new CirclePoint(8.275145, 50.016992, 15, "Wiesbaden-Mainz-Kastel, Johannes-Goßner-Straße", Point::Middle, pointpen));
-        points.append(new CirclePoint(8.270476, 50.021426, 15, "Wiesbaden-Mainz-Kastel, Ruthof", Point::Middle, pointpen));
-        // "Blind" Points
-        points.append(new Point(8.266445, 50.025913, "Wiesbaden-Mainz-Kastel, Mudra Kaserne"));
-        points.append(new Point(8.260378, 50.030345, "Wiesbaden-Mainz-Amoneburg, Dyckerhoffstraße"));
-
-        // A QPen also can use transparency
-        QPen* linepen = new QPen(QColor(0, 0, 255, 100));
-        linepen->setWidth(5);
-        // Add the Points and the QPen to a LineString 
-        LineString* ls = new LineString(points, "Busline 54", linepen);
-        
-        // Add the LineString to the layer
-        l->addGeometry(ls);
-        
-        // Connect click events of the layer to this object
-        connect(l, SIGNAL(geometryClicked(Geometry*, QPoint)),
-                          this, SLOT(geometryClicked(Geometry*, QPoint)));
-        
-        // Sets the view to the interesting area
-        QList<QPointF> view;
-        view.append(QPointF(8.24764, 50.0319));
-        view.append(QPointF(8.28412, 49.9998));
-        mc->setView(view);
-        
-        addZoomButtons();
-}
-
-void LinesAndPoints::addZoomButtons()
-{
-        // create buttons as controls for zoom
-        QPushButton* zoomin = new QPushButton("+");
-        QPushButton* zoomout = new QPushButton("-");
-        zoomin->setMaximumWidth(50);
-        zoomout->setMaximumWidth(50);
-        
-        connect(zoomin, SIGNAL(clicked(bool)),
-                          mc, SLOT(zoomIn()));
-        connect(zoomout, SIGNAL(clicked(bool)),
-                          mc, SLOT(zoomOut()));
-        
-        // add zoom buttons to the layout of the MapControl
-        QVBoxLayout* innerlayout = new QVBoxLayout;
-        innerlayout->addWidget(zoomin);
-        innerlayout->addWidget(zoomout);
-        mc->setLayout(innerlayout);
-}
-
-void LinesAndPoints::geometryClicked(Geometry* geom, QPoint)
-{
-        qDebug() << "parent: " << geom->parentGeometry();
-        qDebug() << "Element clicked: " << geom->name();
-        if (geom->hasClickedPoints())
-        {
-                QList<Geometry*> pp = geom->clickedPoints();
-                qDebug() << "number of child elements: " << pp.size();
-                for (int i=0; i<pp.size(); i++)
-                {
-                        QMessageBox::information(this, geom->name(), pp.at(i)->name());
-                }
-        }
-        else if (geom->GeometryType == "Point")
-        {
-                QMessageBox::information(this, geom->name(), "just a point");
-        }
-}
-
-LinesAndPoints::~LinesAndPoints()
-{
-}
-
-void LinesAndPoints::keyPressEvent(QKeyEvent* evnt)
-{
-        if (evnt->key() == 49 || evnt->key() == 17825792)  // tastatur '1'
-        {
-                mc->zoomIn();
-        }
-        else if (evnt->key() == 50)
-        {
-                mc->moveTo(QPointF(8.25, 60));
-        }
-        else if (evnt->key() == 51 || evnt->key() == 16777313)     // tastatur '3'
-        {
-                mc->zoomOut();
-        }
-        else if (evnt->key() == 54) // 6
-        {
-                mc->setView(QPointF(8,50));
-        }
-        else if (evnt->key() == 16777234) // left
-        {
-                mc->scrollLeft();
-        }
-        else if (evnt->key() == 16777236) // right
-        {
-                mc->scrollRight();
-        }
-        else if (evnt->key() == 16777235 ) // up
-        {
-                mc->scrollUp();
-        }
-        else if (evnt->key() == 16777237) // down
-        {
-                mc->scrollDown();
-        }
-        else if (evnt->key() == 48 || evnt->key() == 17825797) // 0
-        {
-                emit(close());
-        }
-        else
-        {
-                qDebug() << evnt->key() << endl;
-        }
-}
-
-
Generated on Wed Jul 29 12:38:09 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/linestring_8h_source.html b/libs/QMapControl/html/linestring_8h_source.html deleted file mode 100644 index 5751b0e14..000000000 --- a/libs/QMapControl/html/linestring_8h_source.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - -QMapControl: linestring.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
linestring.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef LINESTRING_H
-
27 #define LINESTRING_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "curve.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
35 
-
39  class QMAPCONTROL_EXPORT LineString : public Curve
-
40  {
-
41  Q_OBJECT
-
42 
-
43  public:
-
44  LineString();
-
46 
-
53  LineString ( QList<Point*> const points, QString name = QString(), QPen* pen = 0 );
-
54  virtual ~LineString();
-
55 
-
57 
-
60  QList<Point*> points();
-
61 
-
63 
-
66  void addPoint ( Point* point );
-
67 
-
70 
-
73  void setPoints ( QList<Point*> points);
-
74 
-
76 
-
79  int numberOfPoints() const;
-
80 
-
82 
-
85  virtual QRectF boundingBox();
-
86 
-
88 
-
93  virtual bool hasPoints() const;
-
94 
-
96 
-
100  virtual bool hasClickedPoints() const;
-
101 
-
103 
-
110  virtual QList<Geometry*> & clickedPoints();
-
111 
-
112  protected:
-
113  virtual bool Touches ( Geometry* geom, const MapAdapter* mapadapter );
-
114  virtual bool Touches ( Point* geom, const MapAdapter* mapadapter );
-
115  virtual void draw ( QPainter* painter, const MapAdapter* mapadapter, const QRect &screensize, const QPoint offset );
-
116 
-
117  private:
-
119 
-
122  void removePoints();
-
123 
-
124  QList<Point*> childPoints;
-
125  };
-
126 }
-
127 #endif
-
Main class for objects that should be painted in maps.
Definition: geometry.h:48
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
-
A geometric point to draw objects into maps.
Definition: point.h:66
-
A Curve Geometry, implemented to fullfil OGC Spec.
Definition: curve.h:46
-
A collection of Point objects to describe a line.
Definition: linestring.h:39
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/mapadapter_8h_source.html b/libs/QMapControl/html/mapadapter_8h_source.html deleted file mode 100644 index efc7af8d9..000000000 --- a/libs/QMapControl/html/mapadapter_8h_source.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - -QMapControl: mapadapter.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
mapadapter.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef MAPADAPTER_H
-
27 #define MAPADAPTER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include <QObject>
-
31 #include <QSize>
-
32 #include <QPoint>
-
33 #include <QPointF>
-
34 #include <QRectF>
-
35 #include <QLocale>
-
36 #include <QDebug>
-
37 #include <cmath>
-
38 
-
39 namespace qmapcontrol
-
40 {
-
42 
-
56  class QMAPCONTROL_EXPORT MapAdapter : public QObject
-
57  {
-
58  friend class Layer;
-
59 
-
60  Q_OBJECT
-
61 
-
62  public:
-
63  virtual ~MapAdapter();
-
64 
-
66 
-
69  QString host() const;
-
70 
-
72 
-
75  virtual QString serverPath() const;
-
76 
-
78 
-
82  virtual void changeHostAddress( const QString qHost, const QString qServerPath = QString() );
-
83 
-
85 
-
88  int tilesize() const;
-
89 
-
91 
-
94  int minZoom() const;
-
95 
-
97 
-
100  int maxZoom() const;
-
101 
-
103 
-
106  int currentZoom() const;
-
107 
-
108  virtual int adaptedZoom()const;
-
109 
-
111 
-
117  virtual QPoint coordinateToDisplay(const QPointF& coordinate) const = 0;
-
118 
-
120 
-
126  virtual QPointF displayToCoordinate(const QPoint& point) const = 0;
-
127 
-
128  QRectF getBoundingbox() const { return mBoundingBox; }
-
129  void setBoundingBox(qreal qMinX, qreal qMinY, qreal qMaxX, qreal qMaxY );
-
130 
-
131  protected:
-
132  MapAdapter(const QString& qHost, const QString& qServerPath, int qTilesize, int qMinZoom = 0, int qMaxZoom = 0);
-
133  virtual void zoom_in() = 0;
-
134  virtual void zoom_out() = 0;
-
135  virtual bool isValid(int x, int y, int z) const = 0;
-
136  virtual QString query(int x, int y, int z) const = 0;
-
137 
-
138  QSize mSize;
-
139  QString mServerHost;
-
140  QString mServerPath;
-
141 
-
142  int mTileSize;
-
143  int mMin_zoom;
-
144  int mMax_zoom;
-
145  int mCurrent_zoom;
-
146 
-
147  int param1;
-
148  int param2;
-
149  int param3;
-
150  int param4;
-
151  int param5;
-
152  int param6;
-
153 
-
154  QString sub1;
-
155  QString sub2;
-
156  QString sub3;
-
157  QString sub4;
-
158  QString sub5;
-
159  QString sub6;
-
160 
-
161  int order[3][2];
-
162 
-
163  int mMiddle_x;
-
164  int mMiddle_y;
-
165 
-
166  qreal mNumberOfTiles;
-
167  QLocale loc;
-
168  QRectF mBoundingBox;
-
169  };
-
170 }
-
171 #endif
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
- -
Layer class.
Definition: layer.h:60
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/mapcontrol_8h_source.html b/libs/QMapControl/html/mapcontrol_8h_source.html deleted file mode 100644 index 3ff58f9d1..000000000 --- a/libs/QMapControl/html/mapcontrol_8h_source.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - -QMapControl: mapcontrol.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
mapcontrol.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef MAPCONTROL_H
-
27 #define MAPCONTROL_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "layermanager.h"
-
31 #include "layer.h"
-
32 #include "mapadapter.h"
-
33 #include "geometry.h"
-
34 #include "imagemanager.h"
-
35 
-
36 #include <QWidget>
-
37 
-
39 namespace qmapcontrol
-
40 {
-
41  class LayerManager;
-
42  class MapAdapter;
-
43  class Layer;
-
44 
-
46 
-
54  class QMAPCONTROL_EXPORT MapControl : public QWidget
-
55  {
-
56  Q_OBJECT
-
57 
-
58  public:
-
60  enum MouseMode
-
61  {
- - -
64  None
-
65  };
-
66 
-
68 
-
72  MapControl (QWidget * parent = 0, Qt::WindowFlags windowFlags = 0);
-
73 
-
75 
-
89  MapControl ( QSize size, MouseMode mousemode = Panning, bool showScale = false, bool showCrosshairs = true, QWidget * parent = 0, Qt::WindowFlags windowFlags = 0);
-
90 
-
91  ~MapControl();
-
92 
-
94 
-
98  void addLayer ( Layer* layer );
-
99 
-
101 
-
105  void removeLayer ( Layer* layer );
-
106 
-
108 
-
112  Layer* layer ( const QString& layername ) const;
-
113 
-
115 
-
118  QList<QString> layers() const;
-
119 
-
121 
-
124  int numberOfLayers() const;
-
125 
-
127 
-
130  QPointF currentCoordinate() const;
-
131 
-
133 
-
136  int currentZoom() const;
-
137 
-
139  void updateView() const;
-
140 
-
142 
-
145  void enableMouseWheelEvents( bool enabled = true );
-
146 
-
148 
-
151  bool mouseWheelEventsEnabled();
-
152 
-
154 
-
157  void setView ( const QPointF& coordinate ) const;
-
158 
-
160 
-
163  void setView ( const QList<QPointF> coordinates ) const;
-
164 
-
166 
-
171  void setViewAndZoomIn ( const QList<QPointF> coordinates ) const;
-
172 
-
174 
-
178  void setView ( const Point* point ) const;
-
179 
-
181 
-
185  void followGeometry ( const Geometry* geometry ) const;
-
186 
-
187  //TODO:
-
188  // void followGeometry(const QList<Geometry*>) const;
-
189 
-
191 
-
196  void stopFollowing ( const Geometry* geometry ) const;
-
197 
-
199 
-
202  void moveTo ( QPointF coordinate );
-
203 
-
205 
-
213  void setMouseMode ( MouseMode mousemode );
-
214 
-
216 
-
220  MapControl::MouseMode mouseMode();
-
221 
-
222  //int rotation;
-
223 
-
225 
-
233  void enablePersistentCache ( int tileExpiry = -1, const QDir& path= QDir::homePath() + "/QMapControl.cache" );
-
234 
-
236 
-
244  void setProxy(QString host, int port, const QString username = QString(), const QString password = QString());
-
245 
-
247 
-
251  void showScale ( bool visible );
-
252 
-
253  void showCrosshairs ( bool visible );
-
254 
-
256 
-
260  void setUseBoundingBox( bool usebounds );
-
261 
-
263 
-
267  bool isBoundingBoxEnabled();
-
268 
-
270 
-
274  void setBoundingBox( QRectF &rect );
-
275 
-
277 
-
281  QRectF getBoundingBox();
-
282 
-
284 
-
288  QRectF getViewport();
-
289 
-
291 
-
296  bool isGeometryVisible( Geometry * geometry);
-
297 
-
299 
-
303  int loadingQueueSize();
-
304 
-
305  private:
-
306  LayerManager* layermanager;
-
307  QPoint screen_middle; // middle of the widget (half size)
-
308 
-
309  QPoint pre_click_px; // used for scrolling (MouseMode Panning)
-
310  QPoint current_mouse_pos; // used for scrolling and dragging (MouseMode Panning/Dragging)
-
311 
-
312  QSize size; // size of the widget
-
313 
-
314  bool mouse_wheel_events;
-
315  bool mousepressed;
-
316  MouseMode mymousemode;
-
317  bool scaleVisible;
-
318  bool crosshairsVisible;
-
319 
-
320  bool m_loadingFlag;
-
321 
-
322  QMutex moveMutex; // used for method moveTo()
-
323  QPointF target; // used for method moveTo()
-
324  int steps; // used for method moveTo()
-
325 
-
326  QPointF clickToWorldCoordinate ( QPoint click );
-
327 
-
328  Q_DISABLE_COPY( MapControl )
-
329 
-
330  protected:
-
331  void paintEvent ( QPaintEvent* evnt );
-
332  void mousePressEvent ( QMouseEvent* evnt );
-
333  void mouseReleaseEvent ( QMouseEvent* evnt );
-
334  void mouseMoveEvent ( QMouseEvent* evnt );
-
335  void wheelEvent( QWheelEvent* evnt );
-
336 
-
337  signals:
-
338  // void mouseEvent(const QMouseEvent* evnt);
-
339 
-
341 
-
348  void mouseEventCoordinate ( const QMouseEvent* evnt, const QPointF coordinate );
-
349 
-
351 
-
356  void boxDragged ( const QRectF );
-
357 
-
359 
-
363  void geometryClicked ( Geometry* geometry, QPoint coord_px );
-
364 
-
366 
-
370  void viewChanged ( const QPointF &coordinate, int zoom ) const;
-
371 
-
372  public slots:
-
374  void zoomIn();
-
375 
-
377  void zoomOut();
-
378 
-
380 
-
383  void setZoom ( int zoomlevel );
-
384 
-
386  void scrollLeft ( int pixel=10 );
-
387 
-
389  void scrollRight ( int pixel=10 );
-
390 
-
392  void scrollUp ( int pixel=10 );
-
393 
-
395  void scrollDown ( int pixel=10 );
-
396 
-
398  void scroll ( const QPoint scroll );
-
399 
-
401 
-
404  void updateRequest ( QRect rect );
-
405 
-
407 
-
410  void updateRequestNew();
-
411 
-
413 
-
416  void resize(const QSize newSize);
-
417 
-
418  private slots:
-
419  void tick();
-
420  void loadingFinished();
-
421  void positionChanged ( Geometry* geom );
-
422 
-
423  };
-
424 }
-
425 #endif
-
Main class for objects that should be painted in maps.
Definition: geometry.h:48
- -
MouseMode
Declares what actions mouse movements have on the map.
Definition: mapcontrol.h:60
-
Definition: mapcontrol.h:63
-
The control element of the widget and also the widget itself.
Definition: mapcontrol.h:54
-
A geometric point to draw objects into maps.
Definition: point.h:66
-
Layer class.
Definition: layer.h:60
-
Definition: mapcontrol.h:62
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/maplayer_8h_source.html b/libs/QMapControl/html/maplayer_8h_source.html deleted file mode 100644 index d9c0647f4..000000000 --- a/libs/QMapControl/html/maplayer_8h_source.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -QMapControl: maplayer.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
maplayer.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef MAPLAYER_H
-
27 #define MAPLAYER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "layer.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
35 
-
48  class QMAPCONTROL_EXPORT MapLayer : public Layer
-
49  {
-
50  Q_OBJECT
-
51 
-
52  public:
-
54 
-
62  MapLayer(QString layername, MapAdapter* mapadapter, bool takeevents=true);
-
63  virtual ~MapLayer();
-
64  };
-
65 }
-
66 #endif
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
-
MapLayer class.
Definition: maplayer.h:48
-
Layer class.
Definition: layer.h:60
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/mapnetwork_8h_source.html b/libs/QMapControl/html/mapnetwork_8h_source.html deleted file mode 100644 index b07cc48cd..000000000 --- a/libs/QMapControl/html/mapnetwork_8h_source.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -QMapControl: mapnetwork.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
mapnetwork.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef MAPNETWORK_H
-
27 #define MAPNETWORK_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include <QObject>
-
31 #include <QDebug>
-
32 #include <QNetworkAccessManager>
-
33 #include <QNetworkReply>
-
34 #include <QNetworkProxy>
-
35 #include <QAuthenticator>
-
36 #include <QVector>
-
37 #include <QPixmap>
-
38 #include <QMutex>
-
39 #include "imagemanager.h"
-
40 
-
44 namespace qmapcontrol
-
45 {
-
46  class ImageManager;
-
47  class QMAPCONTROL_EXPORT MapNetwork : QObject
-
48  {
-
49  Q_OBJECT
-
50 
-
51  public:
-
52  MapNetwork(ImageManager* parent);
-
53  ~MapNetwork();
-
54 
-
55  void loadImage(const QString& host, const QString& url);
-
56 
-
62  bool imageIsLoading(QString url);
-
63 
-
68  void abortLoading();
-
69  void setProxy(QString host, int port, const QString username = QString(), const QString password = QString());
-
70 
-
75  int loadQueueSize() const;
-
76 
-
81  QNetworkAccessManager* nextFreeHttp();
-
82 
-
83  private:
-
84  Q_DISABLE_COPY (MapNetwork)
-
85 
-
86  ImageManager* parent;
-
87  QList<QNetworkAccessManager*> httpThreads;
-
88  QList<QNetworkReply*> replyList;
-
89  QMap<QString, QString> loadingMap;
-
90  qreal loaded;
-
91  mutable QMutex vectorMutex;
-
92  bool networkActive;
-
93  int nextThreadIndex;
-
94 
-
95  static const int kMAX_HTTP_THREADS;
-
96 
-
97  private slots:
-
98  void requestFinished(QNetworkReply *reply);
-
99  };
-
100 }
-
101 #endif
- -
Definition: mapnetwork.h:47
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/mapviewer_8cpp-example.html b/libs/QMapControl/html/mapviewer_8cpp-example.html deleted file mode 100644 index 53c0d5630..000000000 --- a/libs/QMapControl/html/mapviewer_8cpp-example.html +++ /dev/null @@ -1,97 +0,0 @@ - - -QMapControl: mapviewer.cpp - - - - - -
-

mapviewer.cpp

This application is just a simple map viewer. A Mapadapter is created (OpenStreetmaps) and added to a layer. The layer is given to the MapControl. Two Buttons are available to adjust the zoom level. If the window is resized the map widget will adjust its size.

-You can find this example here: QMapControl/Samples/Mapviewer

-sample_mapviewer.png -

screenshot

-
#include "mapviewer.h"
-Mapviewer::Mapviewer(QWidget *parent)
-    : QMainWindow(parent)
-{
-    // create MapControl
-    mc = new MapControl(QSize(380, 540));
-    mc->showScale(true);
-
-    // create mapadapter, for mainlayer and overlay
-    mapadapter = new EmptyMapAdapter();
-
-    // create a layer with the mapadapter and type MapLayer
-    mainlayer = new MapLayer("OpenStreetMap-Layer", mapadapter);
-
-    // add Layer to the MapControl
-    mc->addLayer(mainlayer);
-
-    addZoomButtons();
-
-    // show mapcontrol in mainwindow
-    setCentralWidget(mc);
-
-    FixedImageOverlay* fip = new FixedImageOverlay(-102, 77, 0,0, QCoreApplication::applicationDirPath() + "/bild.png");
-
-    mainlayer->addGeometry(fip);
-
-    connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent*, const QPointF)),
-                          this, SLOT(coordinateClicked(const QMouseEvent*, const QPointF)));
-
-}
-void Mapviewer::addZoomButtons()
-{
-    // create buttons as controls for zoom
-    QPushButton* zoomin = new QPushButton("+");
-    QPushButton* zoomout = new QPushButton("-");
-    zoomin->setMaximumWidth(50);
-    zoomout->setMaximumWidth(50);
-
-    connect(zoomin, SIGNAL(clicked(bool)),
-            mc, SLOT(zoomIn()));
-    connect(zoomout, SIGNAL(clicked(bool)),
-            mc, SLOT(zoomOut()));
-
-    // add zoom buttons to the layout of the MapControl
-    QVBoxLayout* innerlayout = new QVBoxLayout;
-    innerlayout->addWidget(zoomin);
-    innerlayout->addWidget(zoomout);
-    mc->setLayout(innerlayout);
-}
-
-
-Mapviewer::~Mapviewer()
-{
-}
-
-// resize the widget
-void Mapviewer::resizeEvent ( QResizeEvent * event )
-{
-    mc->resize(event->size());
-}
-
-void Mapviewer::coordinateClicked(const QMouseEvent * evnt, const QPointF coordinate)
-{
-    if (evnt->type()==QEvent::MouseButtonPress)
-    {
-        qDebug() << coordinate << ": " << evnt->x() << " / " << evnt->y();
-    }
-}
-
-
Generated on Wed Jul 29 12:38:09 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/mapviewer_8h_source.html b/libs/QMapControl/html/mapviewer_8h_source.html deleted file mode 100644 index 235521e9b..000000000 --- a/libs/QMapControl/html/mapviewer_8h_source.html +++ /dev/null @@ -1,58 +0,0 @@ - - -QMapControl: mapviewer.h Source File - - - - - -
Generated on Wed Jul 29 12:38:10 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/multidemo_8cpp-example.html b/libs/QMapControl/html/multidemo_8cpp-example.html deleted file mode 100644 index a19390f80..000000000 --- a/libs/QMapControl/html/multidemo_8cpp-example.html +++ /dev/null @@ -1,305 +0,0 @@ - - -QMapControl: multidemo.cpp - - - - - -
-

multidemo.cpp

This is a bit complexer application, which lets you play around. There are the following buttons configured:
    -
  • Add Point: adds a Point to the coordinate you click (this point will be clickable)
  • Drag Rect: lets to drag a rectangular into which will be zoomed in
  • Move To Click: moves the view middle to the clicked coordinate
  • GPS: starts a "pseudo" GPS receiver which emits new positions, these are connected to the ImagePoint
  • Follow Geom: Follows the ImagePoint, when it moves because of new GPS positions
-

-A overview map lefts you see where you are. You can even click on it to change your position.

-You can find this example here: MapAPI/Samples/Multimap

-sample_multidemo.png -

screenshot

-
#include "multidemo.h"
-Multidemo::Multidemo(QWidget *parent)
-        : QWidget(parent)
-{
-        setupMaps();
-        createLayout();
-
-        gm = new GPS_Modul();
-        connect(gm, SIGNAL(new_position(QPointF)),
-                          ip, SLOT(setCoordinate(QPointF)));
-
-}
-
-void Multidemo::setupMaps()
-{
-        QSize size = QSize(480,640);
-
-        // main map control
-        mc = new MapControl(size);
-        MapAdapter* mapadapter = new WMSMapAdapter("www2.demis.nl", "/wms/wms.asp?wms=WorldMap&LAYERS=Countries,Borders,Cities,Rivers,Settlements,Hillshading,Waterbodies,Railroads,Highways,Roads&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&STYLES=&EXCEPTIONS=application/vnd.ogc.se_inimage&SRS=EPSG:4326&TRANSPARENT=FALSE", 256);
-
-        // maplayer
-        Layer* l = new MapLayer("Custom Layer", mapadapter);
-        mc->addLayer(l);
-        // Geometry layer
-        Layer* l2 = new GeometryLayer("Geom Layer", mapadapter);
-        mc->addLayer(l2);
-
-
-        // "minimap" control
-        mc2 = new MapControl(QSize(150,150), MapControl::None);
-        MapAdapter* mapadapter_mini = new OSMMapAdapter();
-        Layer* layer_mini = new MapLayer("Custom Layer", mapadapter_mini);
-        mc2->addLayer(layer_mini);
-
-        // create points
-        QPen* pen = new QPen(QColor(255, 0, 0, 100));
-        pen->setWidth(5);
-        QList<Point*> points;
-        points.append(new CirclePoint(8.259959, 50.001781,      "Mainz, Hauptbahnhof", Point::Middle, pen));
-        points.append(new CirclePoint(8.263758, 49.998917,      "Mainz, Münsterplatz", Point::Middle, pen));
-        points.append(new CirclePoint(8.265812, 50.001952,      "Mainz, Neubrunnenplatz", Point::Middle, pen));
-        points.append(new CirclePoint(8.2688, 50.004015,        "Mainz, Bauhofstraße LRP", Point::Middle, pen));
-        points.append(new CirclePoint(8.272845, 50.00495,       "Mainz, Landtag", Point::Middle, pen));
-        points.append(new CirclePoint(8.272845, 50.00495,       "Mainz, Brückenplatz", Point::Middle, pen));
-        points.append(new CirclePoint(8.280349, 50.008173,      "Mainz, Brückenkopf", Point::Middle, pen));
-        points.append(new CirclePoint(8.273573, 50.016315,      "Wiesbaden-Mainz-Kastel, Eleonorenstraße", Point::Middle, pen));
-        points.append(new CirclePoint(8.275145, 50.016992,      "Wiesbaden-Mainz-Kastel, Johannes-Goßner-Straße", Point::Middle, pen));
-        points.append(new CirclePoint(8.270476, 50.021426,      "Wiesbaden-Mainz-Kastel, Ruthof", Point::Middle, pen));
-        points.append(new CirclePoint(8.266445, 50.025913,      "Wiesbaden-Mainz-Kastel, Mudra Kaserne", Point::Middle, pen));
-        points.append(new CirclePoint(8.260378, 50.030345,      "Wiesbaden-Mainz-Amoneburg, Dyckerhoffstraße", Point::Middle, pen));
-
-        // add points to linestring
-        pen = new QPen(QColor(0, 0, 255, 100));
-        pen->setWidth(5);
-        LineString* ls = new LineString(points, "Busline 54", pen);
-        // the linestring is added to the MapLayer l, since it doenst change its points
-        l->addGeometry(ls);
-
-        // this point receives position changes from the "gps modul"
-        ip = new ImagePoint(0,0, QCoreApplication::applicationDirPath() + "/images/marker1.png", "image point", Point::TopRight);
-
-        // so if have to be added to the GeometryLayer l2
-        l2->addGeometry(ip);
-        QPushButton* pb = new QPushButton("test button", mc);
-
-        // widget example
-        Point* wpoint = new  Point(-20,-20, pb, ".", Point::TopLeft);
-        wpoint->setBaselevel(3);
-        l->addGeometry(wpoint);
-        pb->setGeometry(0,0,100,50);
-
-        connect(l, SIGNAL(geometryClicked(Geometry*, QPoint)),
-                          this, SLOT(geometryClickEvent(Geometry*, QPoint)));
-        connect(l2, SIGNAL(geometryClicked(Geometry*, QPoint)),
-                          this, SLOT(geometryClickEvent(Geometry*, QPoint)));
-        connect(mc, SIGNAL(boxDragged(const QRectF)),
-                          this, SLOT(draggedRect(QRectF)));
-        connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent*, const QPointF)),
-                          this, SLOT(mouseEventCoordinate(const QMouseEvent*, const QPointF)));
-        connect(mc, SIGNAL(mouseEventCoordinate(const QMouseEvent*, const QPointF)),
-                          this, SLOT(coordinateClicked(const QMouseEvent*, const QPointF)));
-        connect(mc2, SIGNAL(mouseEventCoordinate(const QMouseEvent*, const QPointF)),
-                          this, SLOT(coordinateClicked_mc2(const QMouseEvent*, const QPointF)));
-}
-
-void Multidemo::createLayout()
-{
-        btn1 = new QPushButton("Add Point");
-        btn1->setCheckable(true);
-        btn1->setMaximumWidth(80);
-        btn1->setMaximumHeight(20);
-        btn1->setFont(QFont("Verdana", 5));
-
-        btn2 = new QPushButton("Drag Rect");
-        btn2->setCheckable(true);
-        btn2->setMaximumHeight(20);
-        btn2->setFont(QFont("Verdana", 5));
-        btn2->setMaximumWidth(80);
-
-        btn3 = new QPushButton("Move to Click");
-        btn3->setCheckable(true);
-        btn3->setMaximumHeight(20);
-        btn3->setFont(QFont("Verdana", 5));
-        btn3->setMaximumWidth(80);
-
-        btn4 = new QPushButton("Follow Geom");
-        btn4->setCheckable(true);
-        btn4->setMaximumHeight(20);
-        btn4->setFont(QFont("Verdana", 5));
-        btn4->setMaximumWidth(80);
-
-        btn5 = new QPushButton("GPS");
-        btn5->setCheckable(true);
-        btn5->setMaximumHeight(20);
-        btn5->setFont(QFont("Verdana", 5));
-        btn5->setMaximumWidth(80);
-        btn1->setFocusPolicy(Qt::NoFocus);
-        btn2->setFocusPolicy(Qt::NoFocus);
-        btn3->setFocusPolicy(Qt::NoFocus);
-        btn4->setFocusPolicy(Qt::NoFocus);
-        btn5->setFocusPolicy(Qt::NoFocus);
-
-        QHBoxLayout* layout = new QHBoxLayout;
-        QVBoxLayout* layoutinner = new QVBoxLayout;
-
-        layoutinner->addWidget(mc2);
-        layoutinner->addWidget(btn1);
-        layoutinner->addWidget(btn2);
-        layoutinner->addWidget(btn3);
-        layoutinner->addWidget(btn4);
-        layoutinner->addWidget(btn5);
-        layoutinner->addSpacing(70);
-        layout->addLayout(layoutinner);
-
-        QHBoxLayout* mclayout = new QHBoxLayout;
-        mclayout->addWidget(mc);
-        mclayout->setMargin(0);
-        setLayout(mclayout);
-
-        mc->setLayout(layoutinner);
-
-        connect(btn2, SIGNAL(toggled( bool )),
-                          this, SLOT(buttonToggled(bool)));
-
-        connect(btn4, SIGNAL(toggled( bool )),
-                          this, SLOT(toggleFollow(bool)));
-
-        connect(btn5, SIGNAL(toggled( bool )),
-                          this, SLOT(toggleGPS(bool)));
-}
-
-void Multidemo::coordinateClicked(const QMouseEvent* evnt, const QPointF coord)
-{
-        if (btn1->isChecked() && evnt->type()==QEvent::MouseButtonPress)
-        {
-                mc->layer("Geom Layer")->addGeometry(new CirclePoint(coord.x(), coord.y(), 10, "added point"));
-                mc->updateRequestNew();
-        }
-}
-
-void Multidemo::geometryClickEvent(Geometry* geom, QPoint)
-{
-        if (geom->hasClickedPoints())
-        {
-                QList<Geometry*> pp = geom->clickedPoints();
-                for (int i=0; i<pp.size(); i++)
-                {
-                        QMessageBox::information(this, geom->name(), pp.at(i)->name());
-                }
-        }
-        else if (geom->GeometryType == "Point")
-        {
-                QMessageBox::information(this, geom->name(), QString("Position: ").append(QString().setNum(((Point*)geom)->longitude())).append(QString("/")).append(QString().setNum(((Point*)geom)->latitude())));
-        }
-
-}
-
-Multidemo::~Multidemo()
-{
-}
-
-void Multidemo::keyPressEvent(QKeyEvent* evnt)
-{
-        if (evnt->key() == 49 || evnt->key() == 17825792)  // keyboard '1'
-        {
-                mc->zoomIn();
-        }
-        else if (evnt->key() == 50)
-        {
-                mc->moveTo(QPointF(8.25, 60));
-        }
-        else if (evnt->key() == 51 || evnt->key() == 16777313)     // keyboard '3'
-        {
-                mc->zoomOut();
-        }
-        else if (evnt->key() == 52)     //4
-        {
-                mc->updateRequestNew();
-        }
-        else if (evnt->key() == 16777234) // left
-        {
-                mc->scrollLeft();
-        }
-        else if (evnt->key() == 16777236) // right
-        {
-                mc->scrollRight();
-        }
-        else if (evnt->key() == 16777235 ) // up
-        {
-                mc->scrollUp();
-        }
-        else if (evnt->key() == 16777237) // down
-        {
-                mc->scrollDown();
-        }
-        else if (evnt->key() == 48 || evnt->key() == 17825797) // 0
-        {
-                emit(close());
-        }
-}
-
-void Multidemo::buttonToggled(bool active)
-{
-        if (active)
-                mc->setMouseMode(MapControl::Dragging);
-        else
-                mc->setMouseMode(MapControl::Panning);
-}
-void Multidemo::toggleFollow(bool follow)
-{
-        if (follow)
-                mc->followGeometry(ip);
-        else
-                mc->stopFollowing(ip);
-}
-void Multidemo::toggleGPS(bool gps)
-{
-        if (gps)
-                gm->start();
-        else
-                gm->stop();
-
-}
-
-void Multidemo::draggedRect(QRectF rect)
-{
-        QList<QPointF> coords;
-        coords.append(rect.topLeft());
-        coords.append(rect.bottomRight());
-        mc->setViewAndZoomIn(coords);
-}
-
-void Multidemo::mouseEventCoordinate(const QMouseEvent* evnt, const QPointF coordinate)
-{
-        if (evnt->type() == QEvent::MouseButtonPress && btn3->isChecked())
-        {
-                mc->moveTo(coordinate);
-        }
-        //update mini-window
-        else if(evnt->type() == QEvent::MouseButtonRelease)
-        {
-                mc2->setView(mc->currentCoordinate());
-        }
-}
-void Multidemo::coordinateClicked_mc2(const QMouseEvent* evnt, const QPointF coordinate)
-{
-        if (evnt->type() == QEvent::MouseButtonPress)
-        {
-                mc2->moveTo(coordinate);
-                mc->setView(coordinate);
-        }
-}
-
-
Generated on Wed Jul 29 12:38:09 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/namespaceqmapcontrol.html b/libs/QMapControl/html/namespaceqmapcontrol.html deleted file mode 100644 index a4d2d19a9..000000000 --- a/libs/QMapControl/html/namespaceqmapcontrol.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -QMapControl: qmapcontrol Namespace Reference - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
- -
-
qmapcontrol Namespace Reference
-
-
- -

QMapControl namespace. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

class  ArrowPoint
 Draws a directed arrow (showing orientation) into the map. More...
 
class  CirclePoint
 Draws a circle into the map. More...
 
class  Curve
 A Curve Geometry, implemented to fullfil OGC Spec. More...
 
class  EmptyMapAdapter
 MapAdapter which do not load map tiles. More...
 
class  FixedImageOverlay
 Draws a fixed image into the map. More...
 
class  Geometry
 Main class for objects that should be painted in maps. More...
 
class  GeometryLayer
 GeometryLayer class. More...
 
class  GoogleMapAdapter
 MapAdapter for Google. More...
 
class  GPS_Position
 Represents a coordinate from a GPS receiver.
 
class  ImagePoint
 Draws an image into the map. More...
 
class  InvisiblePoint
 Draws an invisible point into the map. More...
 
class  Layer
 Layer class. More...
 
class  LineString
 A collection of Point objects to describe a line. More...
 
class  MapAdapter
 Used to fit map servers into QMapControl. More...
 
class  MapControl
 The control element of the widget and also the widget itself. More...
 
class  MapLayer
 MapLayer class. More...
 
class  MapNetwork
 
class  OpenAerialMapAdapter
 MapAdapter for OpenStreetMap. More...
 
class  OSMMapAdapter
 MapAdapter for OpenStreetMap. More...
 
class  Point
 A geometric point to draw objects into maps. More...
 
class  TileMapAdapter
 MapAdapter for servers with image tiles. More...
 
class  WMSMapAdapter
 MapAdapter for WMS servers. More...
 
class  YahooMapAdapter
 MapAdapter for Yahoo Maps. More...
 
-

Detailed Description

-

QMapControl namespace.

-
Author
Kai Winter kaiwi.nosp@m.nter.nosp@m.@gmx..nosp@m.de
-
- - - - diff --git a/libs/QMapControl/html/namespaces.html b/libs/QMapControl/html/namespaces.html deleted file mode 100644 index 592139292..000000000 --- a/libs/QMapControl/html/namespaces.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - -QMapControl: Namespace List - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
Namespace List
-
-
-
Here is a list of all documented namespaces with brief descriptions:
- - -
 NqmapcontrolQMapControl namespace
-
-
- - - - diff --git a/libs/QMapControl/html/nav_f.png b/libs/QMapControl/html/nav_f.png deleted file mode 100644 index 72a58a529..000000000 Binary files a/libs/QMapControl/html/nav_f.png and /dev/null differ diff --git a/libs/QMapControl/html/nav_g.png b/libs/QMapControl/html/nav_g.png deleted file mode 100644 index 2093a237a..000000000 Binary files a/libs/QMapControl/html/nav_g.png and /dev/null differ diff --git a/libs/QMapControl/html/nav_h.png b/libs/QMapControl/html/nav_h.png deleted file mode 100644 index 33389b101..000000000 Binary files a/libs/QMapControl/html/nav_h.png and /dev/null differ diff --git a/libs/QMapControl/html/open.png b/libs/QMapControl/html/open.png deleted file mode 100644 index 30f75c7ef..000000000 Binary files a/libs/QMapControl/html/open.png and /dev/null differ diff --git a/libs/QMapControl/html/openaerialmapadapter_8h_source.html b/libs/QMapControl/html/openaerialmapadapter_8h_source.html deleted file mode 100644 index 3ae3a313c..000000000 --- a/libs/QMapControl/html/openaerialmapadapter_8h_source.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -QMapControl: openaerialmapadapter.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
openaerialmapadapter.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2009 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef OPENAERIALMAPADAPTER_H
-
27 #define OPENAERIALMAPADAPTER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "tilemapadapter.h"
-
31 namespace qmapcontrol
-
32 {
-
34 
-
38  class QMAPCONTROL_EXPORT OpenAerialMapAdapter : public TileMapAdapter
-
39  {
-
40  Q_OBJECT
-
41  public:
-
43 
- -
47  virtual ~OpenAerialMapAdapter();
-
48  };
-
49 }
-
50 #endif
-
MapAdapter for servers with image tiles.
Definition: tilemapadapter.h:39
-
MapAdapter for OpenStreetMap.
Definition: openaerialmapadapter.h:38
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/osmmapadapter_8h_source.html b/libs/QMapControl/html/osmmapadapter_8h_source.html deleted file mode 100644 index 504c40904..000000000 --- a/libs/QMapControl/html/osmmapadapter_8h_source.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -QMapControl: osmmapadapter.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
osmmapadapter.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef OSMMAPADAPTER_H
-
27 #define OSMMAPADAPTER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "tilemapadapter.h"
-
31 namespace qmapcontrol
-
32 {
-
34 
-
38  class QMAPCONTROL_EXPORT OSMMapAdapter : public TileMapAdapter
-
39  {
-
40  Q_OBJECT
-
41  public:
-
43 
-
46  OSMMapAdapter();
-
47  virtual ~OSMMapAdapter();
-
48  };
-
49 }
-
50 #endif
-
MapAdapter for servers with image tiles.
Definition: tilemapadapter.h:39
-
MapAdapter for OpenStreetMap.
Definition: osmmapadapter.h:38
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/point_8h_source.html b/libs/QMapControl/html/point_8h_source.html deleted file mode 100644 index dd35141ee..000000000 --- a/libs/QMapControl/html/point_8h_source.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - -QMapControl: point.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
point.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef POINT_H
-
27 #define POINT_H
-
28 
-
29 //#include "qglobal.h"
-
30 #if QT_VERSION >= 0x050000
-
31  // Qt5 code
-
32  //#include <QtWidgets>
-
33 #else
-
34  // Qt4 code
-
35  #include <QWidget>
-
36 #endif
-
37 
-
38 #include "qmapcontrol_global.h"
-
39 #include "geometry.h"
-
40 
-
41 namespace qmapcontrol
-
42 {
-
44 
-
66  class QMAPCONTROL_EXPORT Point : public Geometry
-
67  {
-
68  Q_OBJECT
-
69 
-
70  public:
-
71  friend class Layer;
-
72  friend class LineString;
-
73 
-
75  enum Alignment
-
76  {
- - - - - - -
83  Middle
-
84  };
-
85 
-
86  Point();
-
87  explicit Point(const Point&);
-
89 
-
96  Point(qreal x, qreal y, QString name = QString(), enum Alignment alignment=Middle);
-
97 
-
99 
-
110  Point(qreal x, qreal y, QWidget* widget, QString name = QString(), enum Alignment alignment = Middle);
-
111 
-
113 
-
122  Point(qreal x, qreal y, QPixmap pixmap, QString name = QString(), enum Alignment alignment = Middle);
-
123  virtual ~Point();
-
124 
-
126 
-
131  virtual QRectF boundingBox();
-
132 
-
134 
-
137  qreal longitude() const;
-
138 
-
140 
-
143  qreal latitude() const;
-
144 
-
146 
-
151  QPointF coordinate() const;
-
152 
-
153  virtual QList<Point*> points();
-
154 
-
158  QWidget* widget();
-
159 
-
161 
-
164  QPixmap pixmap();
-
165 
-
167 
-
173  void setBaselevel(int zoomlevel);
-
174 
-
176 
-
181  void setMinsize(QSize minsize);
-
182 
-
184 
-
189  void setMaxsize(QSize maxsize);
-
190 
-
191  Point::Alignment alignment() const;
-
192 
-
193  virtual void setPixmap( QPixmap qPixmap );
-
194 
-
195  protected:
-
196  qreal X;
-
197  qreal Y;
-
198  QSize size;
-
199 
-
200  QWidget* mywidget;
-
201  QPixmap mypixmap;
-
202  Alignment myalignment;
-
203  int homelevel;
-
204  QSize displaysize;
-
205  QSize minsize;
-
206  QSize maxsize;
-
207 
-
208 
-
209  void drawWidget(const MapAdapter* mapadapter, const QPoint offset);
-
210  // void drawPixmap(QPainter* painter, const MapAdapter* mapadapter, const QRect &viewport, const QPoint versch);
-
211  virtual void draw(QPainter* painter, const MapAdapter* mapadapter, const QRect &viewport, const QPoint offset);
-
212  QPoint alignedPoint(const QPoint point) const;
-
213 
-
215 
-
221  virtual bool Touches(Point* click, const MapAdapter* mapadapter);
-
222 
-
223  public slots:
-
224  void setCoordinate(QPointF point);
-
225  virtual void setVisible(bool visible);
-
226  };
-
227 }
-
228 #endif
-
Definition: point.h:81
-
Main class for objects that should be painted in maps.
Definition: geometry.h:48
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
- -
Definition: point.h:79
-
Definition: point.h:77
-
Definition: point.h:78
-
Definition: point.h:82
-
Alignment
sets where the point should be aligned
Definition: point.h:75
-
A geometric point to draw objects into maps.
Definition: point.h:66
-
Layer class.
Definition: layer.h:60
-
A collection of Point objects to describe a line.
Definition: linestring.h:39
-
Definition: point.h:80
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/qmapcontrol_8h_source.html b/libs/QMapControl/html/qmapcontrol_8h_source.html deleted file mode 100644 index 7e8d62cad..000000000 --- a/libs/QMapControl/html/qmapcontrol_8h_source.html +++ /dev/null @@ -1,46 +0,0 @@ - - -QMapControl: qmapcontrol.h Source File - - - - - -
Generated on Wed Jul 29 12:38:10 2009 for QMapControl by  - -doxygen 1.5.9
- - diff --git a/libs/QMapControl/html/qmapcontrol__global_8h_source.html b/libs/QMapControl/html/qmapcontrol__global_8h_source.html deleted file mode 100644 index 3facbbd79..000000000 --- a/libs/QMapControl/html/qmapcontrol__global_8h_source.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - -QMapControl: qmapcontrol_global.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
qmapcontrol_global.h
-
-
-
1 #include <QtGlobal>
-
2 
-
3 #ifdef QMAPCONTROL_LIBRARY
-
4 # define QMAPCONTROL_EXPORT Q_DECL_EXPORT
-
5 #else
-
6 # define QMAPCONTROL_EXPORT Q_DECL_IMPORT
-
7 #endif
-
- - - - diff --git a/libs/QMapControl/html/sample_citymap.png b/libs/QMapControl/html/sample_citymap.png deleted file mode 100644 index 126b3465b..000000000 Binary files a/libs/QMapControl/html/sample_citymap.png and /dev/null differ diff --git a/libs/QMapControl/html/sample_gps.png b/libs/QMapControl/html/sample_gps.png deleted file mode 100644 index 62a3d4bdf..000000000 Binary files a/libs/QMapControl/html/sample_gps.png and /dev/null differ diff --git a/libs/QMapControl/html/sample_linesandpoints.png b/libs/QMapControl/html/sample_linesandpoints.png deleted file mode 100644 index 5bb7d3d14..000000000 Binary files a/libs/QMapControl/html/sample_linesandpoints.png and /dev/null differ diff --git a/libs/QMapControl/html/sample_mapviewer.png b/libs/QMapControl/html/sample_mapviewer.png deleted file mode 100644 index b02a78051..000000000 Binary files a/libs/QMapControl/html/sample_mapviewer.png and /dev/null differ diff --git a/libs/QMapControl/html/sample_multidemo.png b/libs/QMapControl/html/sample_multidemo.png deleted file mode 100644 index 0cf2d03ec..000000000 Binary files a/libs/QMapControl/html/sample_multidemo.png and /dev/null differ diff --git a/libs/QMapControl/html/sync_off.png b/libs/QMapControl/html/sync_off.png deleted file mode 100644 index 3b443fc62..000000000 Binary files a/libs/QMapControl/html/sync_off.png and /dev/null differ diff --git a/libs/QMapControl/html/sync_on.png b/libs/QMapControl/html/sync_on.png deleted file mode 100644 index e08320fb6..000000000 Binary files a/libs/QMapControl/html/sync_on.png and /dev/null differ diff --git a/libs/QMapControl/html/tab_a.png b/libs/QMapControl/html/tab_a.png deleted file mode 100644 index 3b725c41c..000000000 Binary files a/libs/QMapControl/html/tab_a.png and /dev/null differ diff --git a/libs/QMapControl/html/tab_b.gif b/libs/QMapControl/html/tab_b.gif deleted file mode 100644 index 0d623483f..000000000 Binary files a/libs/QMapControl/html/tab_b.gif and /dev/null differ diff --git a/libs/QMapControl/html/tab_b.png b/libs/QMapControl/html/tab_b.png deleted file mode 100644 index e2b4a8638..000000000 Binary files a/libs/QMapControl/html/tab_b.png and /dev/null differ diff --git a/libs/QMapControl/html/tab_h.png b/libs/QMapControl/html/tab_h.png deleted file mode 100644 index fd5cb7054..000000000 Binary files a/libs/QMapControl/html/tab_h.png and /dev/null differ diff --git a/libs/QMapControl/html/tab_l.gif b/libs/QMapControl/html/tab_l.gif deleted file mode 100644 index 9b1e6337c..000000000 Binary files a/libs/QMapControl/html/tab_l.gif and /dev/null differ diff --git a/libs/QMapControl/html/tab_r.gif b/libs/QMapControl/html/tab_r.gif deleted file mode 100644 index ce9dd9f53..000000000 Binary files a/libs/QMapControl/html/tab_r.gif and /dev/null differ diff --git a/libs/QMapControl/html/tab_s.png b/libs/QMapControl/html/tab_s.png deleted file mode 100644 index ab478c95b..000000000 Binary files a/libs/QMapControl/html/tab_s.png and /dev/null differ diff --git a/libs/QMapControl/html/tabs.css b/libs/QMapControl/html/tabs.css deleted file mode 100644 index 9cf578f23..000000000 --- a/libs/QMapControl/html/tabs.css +++ /dev/null @@ -1,60 +0,0 @@ -.tabs, .tabs2, .tabs3 { - background-image: url('tab_b.png'); - width: 100%; - z-index: 101; - font-size: 13px; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; -} - -.tabs2 { - font-size: 10px; -} -.tabs3 { - font-size: 9px; -} - -.tablist { - margin: 0; - padding: 0; - display: table; -} - -.tablist li { - float: left; - display: table-cell; - background-image: url('tab_b.png'); - line-height: 36px; - list-style: none; -} - -.tablist a { - display: block; - padding: 0 20px; - font-weight: bold; - background-image:url('tab_s.png'); - background-repeat:no-repeat; - background-position:right; - color: #283A5D; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; - outline: none; -} - -.tabs3 .tablist a { - padding: 0 10px; -} - -.tablist a:hover { - background-image: url('tab_h.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); - text-decoration: none; -} - -.tablist li.current a { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); -} diff --git a/libs/QMapControl/html/tilemapadapter_8h_source.html b/libs/QMapControl/html/tilemapadapter_8h_source.html deleted file mode 100644 index 8b29ed520..000000000 --- a/libs/QMapControl/html/tilemapadapter_8h_source.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -QMapControl: tilemapadapter.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
tilemapadapter.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef TILEMAPADAPTER_H
-
27 #define TILEMAPADAPTER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "mapadapter.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
35 
-
39  class QMAPCONTROL_EXPORT TileMapAdapter : public MapAdapter
-
40  {
-
41  Q_OBJECT
-
42  public:
-
44 
-
55  TileMapAdapter(const QString& host, const QString& serverPath, int tilesize, int minZoom = 0, int maxZoom = 17);
-
56 
-
57  virtual ~TileMapAdapter();
-
58 
-
59  virtual QPoint coordinateToDisplay(const QPointF&) const;
-
60  virtual QPointF displayToCoordinate(const QPoint&) const;
-
61 
-
62  qreal PI;
-
63 
-
64  protected:
-
65  qreal rad_deg(qreal) const;
-
66  qreal deg_rad(qreal) const;
-
67 
-
68  virtual bool isValid(int x, int y, int z) const;
-
69  virtual void zoom_in();
-
70  virtual void zoom_out();
-
71  virtual QString query(int x, int y, int z) const;
-
72  virtual int tilesonzoomlevel(int zoomlevel) const;
-
73  virtual int xoffset(int x) const;
-
74  virtual int yoffset(int y) const;
-
75  };
-
76 }
-
77 #endif
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
-
MapAdapter for servers with image tiles.
Definition: tilemapadapter.h:39
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/wmsmapadapter_8h_source.html b/libs/QMapControl/html/wmsmapadapter_8h_source.html deleted file mode 100644 index 3cee47922..000000000 --- a/libs/QMapControl/html/wmsmapadapter_8h_source.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - -QMapControl: wmsmapadapter.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
wmsmapadapter.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef WMSMAPADAPTER_H
-
27 #define WMSMAPADAPTER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "mapadapter.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
35 
-
39  class QMAPCONTROL_EXPORT WMSMapAdapter : public MapAdapter
-
40  {
-
41  public:
-
43 
-
52  WMSMapAdapter(QString host, QString serverPath, int tilesize = 256);
-
53  virtual ~WMSMapAdapter();
-
54 
-
55  virtual QString serverPath() const;
-
56  virtual QPoint coordinateToDisplay(const QPointF&) const;
-
57  virtual QPointF displayToCoordinate(const QPoint&) const;
-
58  virtual void changeHostAddress( const QString qHost, const QString qServerPath = QString() );
-
59 
-
60  protected:
-
61  virtual void zoom_in();
-
62  virtual void zoom_out();
-
63  virtual QString query(int x, int y, int z) const;
-
64  virtual bool isValid(int x, int y, int z) const;
-
65 
-
66  private:
-
67  virtual QString getQ(qreal ux, qreal uy, qreal ox, qreal oy) const;
-
68 
-
69  qreal coord_per_x_tile;
-
70  qreal coord_per_y_tile;
-
71 
-
72  QHash<QString,QString> mServerOptions;
-
73  QHash<int,qreal> mResolutions;
-
74  };
-
75 }
-
76 #endif
-
Used to fit map servers into QMapControl.
Definition: mapadapter.h:56
-
MapAdapter for WMS servers.
Definition: wmsmapadapter.h:39
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/html/yahoomapadapter_8h_source.html b/libs/QMapControl/html/yahoomapadapter_8h_source.html deleted file mode 100644 index 83682210a..000000000 --- a/libs/QMapControl/html/yahoomapadapter_8h_source.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - -QMapControl: yahoomapadapter.h Source File - - - - - - -
-
- - - - - - -
-
QMapControl -  0.9.7.4 -
-
-
- - - - -
-
-
-
yahoomapadapter.h
-
-
-
1 /*
-
2 *
-
3 * This file is part of QMapControl,
-
4 * an open-source cross-platform map widget
-
5 *
-
6 * Copyright (C) 2007 - 2008 Kai Winter
-
7 *
-
8 * This program is free software: you can redistribute it and/or modify
-
9 * it under the terms of the GNU Lesser General Public License as published by
-
10 * the Free Software Foundation, either version 3 of the License, or
-
11 * (at your option) any later version.
-
12 *
-
13 * This program is distributed in the hope that it will be useful,
-
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
-
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-
16 * GNU Lesser General Public License for more details.
-
17 *
-
18 * You should have received a copy of the GNU Lesser General Public License
-
19 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>.
-
20 *
-
21 * Contact e-mail: kaiwinter@gmx.de
-
22 * Program URL : http://qmapcontrol.sourceforge.net/
-
23 *
-
24 */
-
25 
-
26 #ifndef YAHOOMAPADAPTER_H
-
27 #define YAHOOMAPADAPTER_H
-
28 
-
29 #include "qmapcontrol_global.h"
-
30 #include "tilemapadapter.h"
-
31 
-
32 namespace qmapcontrol
-
33 {
-
35 
-
38  class QMAPCONTROL_EXPORT YahooMapAdapter : public TileMapAdapter
-
39  {
-
40  Q_OBJECT
-
41 
-
42  public:
-
44 
- -
48  YahooMapAdapter(QString host, QString url);
-
49  virtual ~YahooMapAdapter();
-
50  bool isValid(int x, int y, int z) const;
-
51 
-
52  protected:
-
53  virtual int tilesonzoomlevel(int zoomlevel) const;
-
54  virtual int yoffset(int y) const;
-
55  };
-
56 }
-
57 #endif
-
MapAdapter for servers with image tiles.
Definition: tilemapadapter.h:39
-
MapAdapter for Yahoo Maps.
Definition: yahoomapadapter.h:38
-
QMapControl namespace.
Definition: arrowpoint.cpp:28
-
- - - - diff --git a/libs/QMapControl/images/sample_citymap.png b/libs/QMapControl/images/sample_citymap.png deleted file mode 100644 index 126b3465b..000000000 Binary files a/libs/QMapControl/images/sample_citymap.png and /dev/null differ diff --git a/libs/QMapControl/images/sample_gps.png b/libs/QMapControl/images/sample_gps.png deleted file mode 100644 index 62a3d4bdf..000000000 Binary files a/libs/QMapControl/images/sample_gps.png and /dev/null differ diff --git a/libs/QMapControl/images/sample_linesandpoints.png b/libs/QMapControl/images/sample_linesandpoints.png deleted file mode 100644 index 5bb7d3d14..000000000 Binary files a/libs/QMapControl/images/sample_linesandpoints.png and /dev/null differ diff --git a/libs/QMapControl/images/sample_mapviewer.png b/libs/QMapControl/images/sample_mapviewer.png deleted file mode 100644 index b02a78051..000000000 Binary files a/libs/QMapControl/images/sample_mapviewer.png and /dev/null differ diff --git a/libs/QMapControl/images/sample_multidemo.png b/libs/QMapControl/images/sample_multidemo.png deleted file mode 100644 index 0cf2d03ec..000000000 Binary files a/libs/QMapControl/images/sample_multidemo.png and /dev/null differ diff --git a/libs/QMapControl/src/arrowpoint.cpp b/libs/QMapControl/src/arrowpoint.cpp deleted file mode 100644 index fb1e7ac57..000000000 --- a/libs/QMapControl/src/arrowpoint.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2010 Jeffery MacEachern - * Based on CirclePoint code by Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will `be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "arrowpoint.h" -namespace qmapcontrol -{ -ArrowPoint::ArrowPoint(qreal x, qreal y, int sideLength, qreal heading, QString name, - qmapcontrol::Point::Alignment alignment, QPen *pen) - : Point(x, y, name, alignment) -{ - size = QSize(sideLength, sideLength); - h = heading; - mypen = pen; - mypixmap = QPixmap(sideLength, sideLength); - drawArrow(); -} - -ArrowPoint::~ArrowPoint() { } - -void ArrowPoint::setHeading(qreal heading) -{ - h = heading; - drawArrow(); -} - -qreal ArrowPoint::getHeading() const -{ - return h; -} - -void ArrowPoint::setPen(QPen *pen) -{ - mypen = pen; - drawArrow(); -} - -void ArrowPoint::drawArrow() -{ - mypixmap = QPixmap(size); - mypixmap.fill(Qt::transparent); - QPainter painter(&mypixmap); - //#if !defined Q_WS_MAEMO_5 //FIXME Maemo has a bug - it will antialias our point out - //of existence - painter.setRenderHints(QPainter::Antialiasing); - //#endif - - if (mypen) - { - painter.setPen(*mypen); - painter.setBrush(QBrush(mypen->color())); - } - else - { - painter.setBrush(QBrush(painter.pen().color())); - } - - painter.setWindow(-(size.width() / 2), -(size.height() / 2), size.width(), - size.height()); - QTransform transform; - transform.rotate(-h); - transform.scale(0.4, 0.75); - painter.setWorldTransform(transform); - - QPolygon arrow; - arrow << QPoint(0, -(size.height() / 2)); - arrow << QPoint(-(size.width() / 2), +(size.height() / 2)); - arrow << QPoint(0, 0); - arrow << QPoint(+(size.width() / 2), +(size.height() / 2)); - - painter.drawPolygon(arrow); -} - -} diff --git a/libs/QMapControl/src/arrowpoint.h b/libs/QMapControl/src/arrowpoint.h deleted file mode 100644 index d1f4a1632..000000000 --- a/libs/QMapControl/src/arrowpoint.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2010 Jeffery MacEachern - * Based on CirclePoint code by Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef ARROWPOINT_H -#define ARROWPOINT_H - -#include - -#include "qmapcontrol_global.h" -#include "math.h" -#include "point.h" - -namespace qmapcontrol -{ -//! Draws a directed arrow (showing orientation) into the map -/*! This is a convenience class for Point. - * It configures the pixmap of a Point to draw an arrow in a specific direction. - * A QPen could be used to change the color or line-width of the arrow - * - * @author Jeffery MacEachern - */ -class QMAPCONTROL_EXPORT ArrowPoint : public Point -{ -public: - //! - /*! - * - * @param x longitude - * @param y latitude - * @param sideLength side length of the arrow's bounding box (square) - * @param heading compass heading determining direction that arrow faces, measured in - * degrees clockwise from North - * @param name name of the arrow point - * @param alignment alignment (Middle or TopLeft) - * @param pen QPen for drawing - */ - ArrowPoint(qreal x, qreal y, int sideLength, qreal heading, QString name = QString(), - Alignment alignment = Middle, QPen *pen = 0); - virtual ~ArrowPoint(); - - //! sets the QPen which is used for drawing the arrow - /*! - * A QPen can be used to modify the look of the drawn arrow - * @param pen the QPen which should be used for drawing - * @see http://doc.trolltech.com/4.3/qpen.html - */ - virtual void setPen(QPen *pen); - - //! sets the heading of the arrow and redraws it in the new orientation - /*! - * @param heading new heading - */ - void setHeading(qreal heading); - - //! gets the current heading of the arrow - qreal getHeading() const; - -private: - void drawArrow(); - - // Heading - qreal h; - - // Brush to fill the arrow with - solid colour, same as pen - QBrush mybrush; -}; -} -#endif diff --git a/libs/QMapControl/src/bingapimapadapter.cpp b/libs/QMapControl/src/bingapimapadapter.cpp deleted file mode 100644 index 8e84d1e59..000000000 --- a/libs/QMapControl/src/bingapimapadapter.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * Copyright (C) 2014 Mattes Jaehne - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * original software by Kai Winter - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - * modified to use Google Static Maps API V2 by - * Mattes Jaehne - * for - * NGOS - The Next Generation multicopter OS - * http://ng.uavp.ch - * - */ - -#include "bingapimapadapter.h" - -#ifndef _USE_MATH_DEFINES -#define _USE_MATH_DEFINES -#endif -#include - -namespace qmapcontrol -{ -bingApiMapadapter::bingApiMapadapter(QString mapType, QString apiKey) - : TileMapAdapter("dev.virtualearth.net", "/REST/v1/Imagery/Map/", 256, 0, 21) - , myKey(apiKey) - , myMapType(mapType) -{ - mNumberOfTiles = pow(2., mCurrent_zoom + 0.0); - coord_per_x_tile = 360. / mNumberOfTiles; - coord_per_y_tile = 180. / mNumberOfTiles; - - if (!myKey.isEmpty()) - myKey.prepend("&key="); - if (myMapType.isEmpty()) - myMapType.append("Road"); -} - -bingApiMapadapter::~bingApiMapadapter() { } - -QPoint bingApiMapadapter::coordinateToDisplay(const QPointF &coordinate) const -{ - qreal x = (coordinate.x() + 180.) * (mNumberOfTiles * mTileSize) - / 360.; // coord to pixel! - qreal y = (1. - - log(tan(coordinate.y() * M_PI / 180.) - + 1. / cos(coordinate.y() * M_PI / 180.)) - / M_PI) - / 2. * (mNumberOfTiles * mTileSize); - x += mTileSize / 2; - y += mTileSize / 2; - - return QPoint(int(x), int(y)); -} - -QPointF bingApiMapadapter::displayToCoordinate(const QPoint &point) const -{ - qreal lon = (point.x() - mTileSize / 2) / (mNumberOfTiles * mTileSize) * 360. - 180.; - qreal lat - = M_PI - 2. * M_PI * (point.y() - mTileSize / 2) / (mNumberOfTiles * mTileSize); - lat = 180. / M_PI * atan(0.5 * (exp(lat) - exp(-lat))); - - return QPointF(lon, lat); -} - -qreal bingApiMapadapter::getMercatorLatitude(qreal YCoord) const -{ - if (YCoord > M_PI) - return 9999.; - if (YCoord < -M_PI) - return -9999.; - - qreal t = atan(exp(YCoord)); - qreal res = (2. * t) - (M_PI / 2.); - - return res; -} - -qreal bingApiMapadapter::getMercatorYCoord(qreal lati) const -{ - qreal phi = M_PI * lati / 180.; - qreal res = 0.5 * log((1. + sin(phi)) / (1. - sin(phi))); - - return res; -} - -void bingApiMapadapter::zoom_in() -{ - if (mCurrent_zoom >= maxZoom()) - return; - - mCurrent_zoom += 1; - mNumberOfTiles = pow(2, mCurrent_zoom + 0.0); - coord_per_x_tile = 360. / mNumberOfTiles; - coord_per_y_tile = 180. / mNumberOfTiles; -} - -void bingApiMapadapter::zoom_out() -{ - if (mCurrent_zoom <= minZoom()) - return; - - mCurrent_zoom -= 1; - mNumberOfTiles = pow(2, mCurrent_zoom + 0.0); - coord_per_x_tile = 360. / mNumberOfTiles; - coord_per_y_tile = 180. / mNumberOfTiles; -} - -QString bingApiMapadapter::getQ(qreal longitude, qreal latitude, int zoom) const -{ - QString location = "/REST/v1/Imagery/Map/"; - if (!myMapType.isEmpty()) - location.append(myMapType + "/"); - else - location.append("Road/"); - location.append(QVariant(latitude).toString() + ","); - location.append(QVariant(longitude).toString() + "/"); - location.append(QString::number(zoom) + "?"); - location.append("&mapSize=" + QString::number(mTileSize) + "," - + QString::number(mTileSize)); - - if (!myKey.isEmpty()) - location.append(myKey); - else - fprintf(stderr, - "You are useing Bing Maps API without a (valid) key. This is not " - "possible...\r\n"); - - return location; -} - -void bingApiMapadapter::setKey(QString apiKey) -{ - if (apiKey.isEmpty()) - return; - - myKey.clear(); - myKey.append("&key=" + apiKey); -} - -void bingApiMapadapter::setMapType(QString mapType) /* Aerial, AerialWithLabels, Road */ -{ - if (mapType.isEmpty()) - return; - - myMapType.clear(); - myMapType.append(mapType); -} -} diff --git a/libs/QMapControl/src/bingapimapadapter.h b/libs/QMapControl/src/bingapimapadapter.h deleted file mode 100644 index 20e11babf..000000000 --- a/libs/QMapControl/src/bingapimapadapter.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * Copyright (C) 2014 Mattes Jaehne - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * original software by Kai Winter - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - * modified to use Bing Maps by - * Mattes Jaehne - * for - * NGOS - The Next Generation multicopter OS - * http://ng.uavp.ch - * - */ - -#ifndef BINGAPIMAPADAPTER_H -#define BINGAPIMAPADAPTER_H - -#include "qmapcontrol_global.h" -#include "tilemapadapter.h" - -namespace qmapcontrol -{ -class QMAPCONTROL_EXPORT bingApiMapadapter : public TileMapAdapter -{ - Q_OBJECT -public: - bingApiMapadapter(QString mapType = "Road", QString apiKey = ""); - virtual ~bingApiMapadapter(); - - virtual QPoint coordinateToDisplay(const QPointF &) const; - virtual QPointF displayToCoordinate(const QPoint &) const; - - void setKey(QString apiKey); - void setMapType(QString mapType); /* Aerial, AerialWithLabels, Road */ - -protected: - virtual void zoom_in(); - virtual void zoom_out(); - -private: - virtual QString getQ(qreal longitude, qreal latitude, int zoom) const; - qreal getMercatorLatitude(qreal YCoord) const; - qreal getMercatorYCoord(qreal lati) const; - - qreal coord_per_x_tile; - qreal coord_per_y_tile; - int srvNum; - QString myKey; - QString myMapType; -}; -} - -#endif // BINGAPIMAPADAPTER_H diff --git a/libs/QMapControl/src/circlepoint.cpp b/libs/QMapControl/src/circlepoint.cpp deleted file mode 100644 index 2738bc235..000000000 --- a/libs/QMapControl/src/circlepoint.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "circlepoint.h" -namespace qmapcontrol -{ -CirclePoint::CirclePoint(qreal x, qreal y, int radius, QString name, Alignment alignment, - QPen *pen) - : Point(x, y, name, alignment) -{ - size = QSize(radius, radius); - mypen = pen; - mypixmap = QPixmap(radius + 1, radius + 1); - drawCircle(); -} - -CirclePoint::CirclePoint(qreal x, qreal y, QString name, Alignment alignment, QPen *pen) - : Point(x, y, name, alignment) -{ - int radius = 10; - size = QSize(radius, radius); - mypen = pen; - mypixmap = QPixmap(radius + 1, radius + 1); - drawCircle(); -} - -CirclePoint::~CirclePoint() { } - -void CirclePoint::setPen(QPen *pen) -{ - mypen = pen; - drawCircle(); -} - -void CirclePoint::drawCircle() -{ - mypixmap.fill(Qt::transparent); - QPainter painter(&mypixmap); - //#if !defined Q_WS_MAEMO_5 //FIXME Maemo has a bug - it will antialias our point out - //of existence - painter.setRenderHints(QPainter::Antialiasing); - //#endif - if (mypen != 0) - { - painter.setPen(*mypen); - } - painter.drawEllipse(0, 0, size.width(), size.height()); -} -} diff --git a/libs/QMapControl/src/circlepoint.h b/libs/QMapControl/src/circlepoint.h deleted file mode 100644 index 7bc863b3c..000000000 --- a/libs/QMapControl/src/circlepoint.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef CIRCLEPOINT_H -#define CIRCLEPOINT_H - -#include "qmapcontrol_global.h" -#include "point.h" - -namespace qmapcontrol -{ -//! Draws a circle into the map -/*! This is a conveniece class for Point. - * It configures the pixmap of a Point to draw a circle. - * A QPen could be used to change the color or line-width of the circle - * - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT CirclePoint : public Point -{ -public: - //! - /*! - * - * @param x longitude - * @param y latitude - * @param name name of the circle point - * @param alignment alignment (Middle or TopLeft) - * @param pen QPen for drawing - */ - CirclePoint(qreal x, qreal y, QString name = QString(), Alignment alignment = Middle, - QPen *pen = 0); - - //! - /*! - * - * @param x longitude - * @param y latitude - * @param radius the radius of the circle - * @param name name of the circle point - * @param alignment alignment (Middle or TopLeft) - * @param pen QPen for drawing - */ - CirclePoint(qreal x, qreal y, int radius = 10, QString name = QString(), - Alignment alignment = Middle, QPen *pen = 0); - virtual ~CirclePoint(); - - //! sets the QPen which is used for drawing the circle - /*! - * A QPen can be used to modify the look of the drawn circle - * @param pen the QPen which should be used for drawing - * @see http://doc.trolltech.com/4.3/qpen.html - */ - virtual void setPen(QPen *pen); - -private: - void drawCircle(); -}; -} -#endif diff --git a/libs/QMapControl/src/curve.cpp b/libs/QMapControl/src/curve.cpp deleted file mode 100644 index ba262bfec..000000000 --- a/libs/QMapControl/src/curve.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "curve.h" -namespace qmapcontrol -{ -Curve::Curve(QString name) - : Geometry(name) -{ -} - -Curve::~Curve() { } -} -// Geometry Curve::Clone(){} - -// QRectF Curve::GetBoundingBox(){} diff --git a/libs/QMapControl/src/curve.h b/libs/QMapControl/src/curve.h deleted file mode 100644 index 8639d47db..000000000 --- a/libs/QMapControl/src/curve.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef CURVE_H -#define CURVE_H - -#include "qmapcontrol_global.h" -#include "geometry.h" -#include "point.h" - -namespace qmapcontrol -{ -//! A Curve Geometry, implemented to fullfil OGC Spec -/*! - * The Curve class is used by LineString as parent class. - * This class could not be used directly. - * - * From the OGC Candidate Implementation Specification: - * "A Curve is a 1-dimensional geometric object usually stored as a sequence of Points, - *with the subtype of Curve specifying the form of the interpolation between Points. This - *specification defines only one subclass of Curve, LineString, which uses a linear - *interpolation between Points." - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT Curve : public Geometry -{ - Q_OBJECT -public: - virtual ~Curve(); - - double Length; - - // virtual Geometry Clone(); - // virtual QRectF GetBoundingBox(); - - // virtual Point EndPoint() = 0; - // virtual Point StartPoint() = 0; - // virtual Point Value() = 0; - -protected: - Curve(QString name = QString()); - virtual void draw(QPainter *painter, const MapAdapter *mapadapter, - const QRect &screensize, const QPoint offset) - = 0; -}; -} -#endif diff --git a/libs/QMapControl/src/emptymapadapter.cpp b/libs/QMapControl/src/emptymapadapter.cpp deleted file mode 100644 index 5606e554c..000000000 --- a/libs/QMapControl/src/emptymapadapter.cpp +++ /dev/null @@ -1,124 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "emptymapadapter.h" -namespace qmapcontrol -{ -EmptyMapAdapter::EmptyMapAdapter(int tileSize, int minZoom, int maxZoom) - : MapAdapter("", "", 256, minZoom, maxZoom) -{ - Q_UNUSED(tileSize) - PI = acos(-1.0); - - mNumberOfTiles = tilesonzoomlevel(minZoom); -} - -EmptyMapAdapter::~EmptyMapAdapter() { } - -void EmptyMapAdapter::zoom_in() -{ - if (mCurrent_zoom < mMax_zoom) - { - mCurrent_zoom = mCurrent_zoom + 1; - } - mNumberOfTiles = tilesonzoomlevel(mCurrent_zoom); -} - -void EmptyMapAdapter::zoom_out() -{ - if (mCurrent_zoom > mMin_zoom) - { - mCurrent_zoom = mCurrent_zoom - 1; - } - mNumberOfTiles = tilesonzoomlevel(mCurrent_zoom); -} - -qreal EmptyMapAdapter::deg_rad(qreal x) const -{ - return x * (PI / 180.0); -} - -qreal EmptyMapAdapter::rad_deg(qreal x) const -{ - return x * (180 / PI); -} - -QString EmptyMapAdapter::query(int x, int y, int z) const -{ - Q_UNUSED(x) - Q_UNUSED(y) - Q_UNUSED(z) - return QString(); -} - -QPoint EmptyMapAdapter::coordinateToDisplay(const QPointF &coordinate) const -{ - qreal x - = (coordinate.x() + 180) * (mNumberOfTiles * mTileSize) / 360.; // coord to pixel! - qreal y = (1 - (log(tan(PI / 4 + deg_rad(coordinate.y()) / 2)) / PI)) / 2 - * (mNumberOfTiles * mTileSize); - - return QPoint(int(x), int(y)); -} - -QPointF EmptyMapAdapter::displayToCoordinate(const QPoint &point) const -{ - qreal longitude = (point.x() * (360 / (mNumberOfTiles * mTileSize))) - 180; - qreal latitude - = rad_deg(atan(sinh((1 - point.y() * (2 / (mNumberOfTiles * mTileSize))) * PI))); - - return QPointF(longitude, latitude); -} - -bool EmptyMapAdapter::isTileValid(int x, int y, int z) const -{ - if (mMax_zoom < mMin_zoom) - { - z = mMin_zoom - z; - } - - bool result = true; - if (x < 0 || x > pow(2.0, z) - 1 || y < 0 || y > pow(2.0, z) - 1) - { - result = false; - } - return result; -} - -int EmptyMapAdapter::tilesonzoomlevel(int zoomlevel) const -{ - return int(pow(2.0, zoomlevel)); -} - -int EmptyMapAdapter::xoffset(int x) const -{ - return x; -} - -int EmptyMapAdapter::yoffset(int y) const -{ - return y; -} -} diff --git a/libs/QMapControl/src/emptymapadapter.h b/libs/QMapControl/src/emptymapadapter.h deleted file mode 100644 index 885b0f821..000000000 --- a/libs/QMapControl/src/emptymapadapter.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef EMPTYMAPADAPTER_H -#define EMPTYMAPADAPTER_H - -#include "qmapcontrol_global.h" -#include "mapadapter.h" - -namespace qmapcontrol -{ -//! MapAdapter which do not load map tiles. -/*! - * The EmptyMapAdapter can be used if QMapControl should not load any map tiles. This is - *useful if you only want to display an image through a FixedImageOverlay e.g. - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT EmptyMapAdapter : public MapAdapter -{ - Q_OBJECT -public: - //! Constructor. - /*! - * @param tileSize This parameter seems unnecessary for this type of MapAdaper on - * first sight. But since this parameter defines the size of the offscreen image it - * could be used for a little performance tuning (larger offscreen-images have to be - * redrawed less times). - * @param minZoom the minimum zoom level - * @param maxZoom the maximum zoom level - */ - EmptyMapAdapter(int tileSize = 256, int minZoom = 0, int maxZoom = 17); - - virtual ~EmptyMapAdapter(); - - virtual QPoint coordinateToDisplay(const QPointF &) const; - virtual QPointF displayToCoordinate(const QPoint &) const; - - qreal PI; - -protected: - qreal rad_deg(qreal) const; - qreal deg_rad(qreal) const; - - virtual bool isTileValid(int x, int y, int z) const; - virtual void zoom_in(); - virtual void zoom_out(); - virtual QString query(int x, int y, int z) const; - virtual int tilesonzoomlevel(int zoomlevel) const; - virtual int xoffset(int x) const; - virtual int yoffset(int y) const; -}; -} -#endif diff --git a/libs/QMapControl/src/fixedimageoverlay.cpp b/libs/QMapControl/src/fixedimageoverlay.cpp deleted file mode 100644 index 1c4e5a955..000000000 --- a/libs/QMapControl/src/fixedimageoverlay.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2009 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "fixedimageoverlay.h" -namespace qmapcontrol -{ -FixedImageOverlay::FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, - qreal x_lowerright, qreal y_lowerright, - QString filename, QString name) - : ImagePoint(x_upperleft, y_upperleft, filename, name, TopLeft) - , x_lowerright(x_lowerright) - , y_lowerright(y_lowerright) -{ - // qDebug() << "loading image: " << filename; - mypixmap = QPixmap(filename); - size = mypixmap.size(); - // qDebug() << "image size: " << size; -} - -FixedImageOverlay::FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, - qreal x_lowerright, qreal y_lowerright, - QPixmap pixmap, QString name) - : ImagePoint(x_upperleft, y_upperleft, pixmap, name, TopLeft) - , x_lowerright(x_lowerright) - , y_lowerright(y_lowerright) -{ - mypixmap = pixmap; - size = mypixmap.size(); -} - -void FixedImageOverlay::draw(QPainter *painter, const MapAdapter *mapadapter, - const QRect &, const QPoint) -{ - if (!visible) - return; - - const QPointF c = QPointF(X, Y); - QPoint topleft = mapadapter->coordinateToDisplay(c); - - const QPointF c2 = QPointF(x_lowerright, y_lowerright); - QPoint lowerright = mapadapter->coordinateToDisplay(c2); - - painter->drawPixmap(topleft.x(), topleft.y(), lowerright.x() - topleft.x(), - lowerright.y() - topleft.y(), mypixmap); -} - -FixedImageOverlay::~FixedImageOverlay() { } -} diff --git a/libs/QMapControl/src/fixedimageoverlay.h b/libs/QMapControl/src/fixedimageoverlay.h deleted file mode 100644 index a5fba6c69..000000000 --- a/libs/QMapControl/src/fixedimageoverlay.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2009 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef FIXEDIMAGEOVERLAY_H -#define FIXEDIMAGEOVERLAY_H - -#include "qmapcontrol_global.h" -#include "imagepoint.h" - -namespace qmapcontrol -{ - -//! Draws a fixed image into the map. -/*! - * This class draws a image overlay onto a map, whose upper left and lower - * right corners lay always on the given coordinates. The methods - * setBaselevel, setMaxsize and setMinsize have no effect for this class. - * - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT FixedImageOverlay : public ImagePoint -{ -public: - //! Creates an image overlay which loads and displays the given image file - /*! - * Use this contructor to load the given image file and let the point - * display it. - * When you want multiple points to display the same image, use the - * other contructor and pass a pointer to that image. - * @param x_upperleft the coordinate of the upper left corner where the image should - * be aligned - * @param y_upperleft the coordinate of the upper left corner where the image should - * be aligned - * @param x_lowerright the coordinate of the lower right corner where the image should - * be aligned - * @param y_lowerright the coordinate of the lower right corner where the image should - * be aligned - * @param filename the file which should be loaded and displayed - * @param name the name of the image point - */ - FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, - qreal y_lowerright, QString filename, QString name = QString()); - - //! Creates an image overlay which displays the given image - /*! - * Use this contructor to display the given image. - * @param x_upperleft the coordinate of the upper left corner where the image should - * be aligned - * @param y_upperleft the coordinate of the upper left corner where the image should - * be aligned - * @param x_lowerright the coordinate of the lower right corner where the image should - * be aligned - * @param y_lowerright the coordinate of the lower right corner where the image should - * be aligned - * @param pixmap pointer to the image pixmap - * @param name the name of the image point - */ - FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, - qreal y_lowerright, QPixmap pixmap, QString name = QString()); - - virtual void draw(QPainter *painter, const MapAdapter *mapadapter, - const QRect &viewport, const QPoint offset); - virtual ~FixedImageOverlay(); - -private: - qreal x_lowerright; - qreal y_lowerright; -}; -} -#endif diff --git a/libs/QMapControl/src/geometry.cpp b/libs/QMapControl/src/geometry.cpp deleted file mode 100644 index 5c2f0fc57..000000000 --- a/libs/QMapControl/src/geometry.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "geometry.h" -namespace qmapcontrol -{ -Geometry::Geometry(QString name) - : GeometryType("Geometry") - , myparentGeometry(0) - , mypen(0) - , visible(true) - , myname(name) -{ -} - -Geometry::~Geometry() { } - -QString Geometry::name() const -{ - return myname; -} -Geometry *Geometry::parentGeometry() const -{ - return myparentGeometry; -} -void Geometry::setParentGeometry(Geometry *geom) -{ - myparentGeometry = geom; -} -bool Geometry::hasPoints() const -{ - return false; -} -bool Geometry::hasClickedPoints() const -{ - return false; -} - -QList &Geometry::clickedPoints() -{ - return touchedPoints; -} - -bool Geometry::isVisible() const -{ - return visible; -} -void Geometry::setVisible(bool visible) -{ - this->visible = visible; - emit(updateRequest(boundingBox())); -} - -void Geometry::setName(QString name) -{ - myname = name; -} - -void Geometry::setPen(QPen *pen) -{ - mypen = pen; -} -QPen *Geometry::pen() const -{ - return mypen; -} -} diff --git a/libs/QMapControl/src/geometry.h b/libs/QMapControl/src/geometry.h deleted file mode 100644 index 96ecbe146..000000000 --- a/libs/QMapControl/src/geometry.h +++ /dev/null @@ -1,162 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef GEOMETRY_H -#define GEOMETRY_H - -#include "qmapcontrol_global.h" -#include -#include -#include -#include "mapadapter.h" - -namespace qmapcontrol -{ -class Point; -//! Main class for objects that should be painted in maps -/*! - * Geometry is the root class of the hierarchy. Geometry is an abstract (non-instantiable) - *class. - * - * This class and the derived classes Point, Curve and LineString are leant on the Simple - * Feature Specification of the Open Geospatial Consortium. - * @see www.opengeospatial.com - * - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT Geometry : public QObject -{ - friend class LineString; - Q_OBJECT -public: - explicit Geometry(QString name = QString()); - virtual ~Geometry(); - - QString GeometryType; - - //! - /*! returns true if the given Geometry is equal to this Geometry - * not implemented yet! - * @param geom The Geometry to be tested - * @return true if the given Geometry is equal to this - */ - bool Equals(Geometry *geom); - - //! returns a String representation of this Geometry - /*! - * not implemented yet! - * @return a String representation of this Geometry - */ - QString toString(); - - //! returns the name of this Geometry - /*! - * @return the name of this Geometry - */ - QString name() const; - - //! returns the parent Geometry of this Geometry - /*! - * A LineString is a composition of many Points. This methods returns the parent (the - * LineString) of a Point - * @return the parent Geometry of this Geometry - */ - Geometry *parentGeometry() const; - - //! returns true if this Geometry is visible - /*! - * @return true if this Geometry is visible - */ - bool isVisible() const; - - //! sets the name of the geometry - /*! - * @param name the new name of the geometry - */ - void setName(QString name); - - //! returns the QPen which is used on drawing - /*! - * The pen is set depending on the Geometry. A CirclePoint for example takes one with - * the constructor. - * @return the QPen which is used for drawing - */ - QPen *pen() const; - - //! returns the BoundingBox - /*! - * The bounding box in world coordinates - * @return the BoundingBox - */ - virtual QRectF boundingBox() = 0; - virtual bool Touches(Point *geom, const MapAdapter *mapadapter) = 0; - virtual void draw(QPainter *painter, const MapAdapter *mapadapter, - const QRect &viewport, const QPoint offset) - = 0; - virtual bool hasPoints() const; - virtual bool hasClickedPoints() const; - virtual void setPen(QPen *pen); - virtual QList &clickedPoints(); - virtual QList points() = 0; - -private: - Q_DISABLE_COPY(Geometry) - - Geometry *myparentGeometry; - QList touchedPoints; - -protected: - QPen *mypen; - bool visible; - QString myname; - void setParentGeometry(Geometry *geom); - -signals: - void updateRequest(qmapcontrol::Geometry *geom); - void updateRequest(QRectF rect); - //! This signal is emitted when a Geometry is clicked - /*! - * A Geometry is clickable, if the containing layer is clickable. - * The objects emits a signal if it gets clicked - * @param geometry The clicked Geometry - * @param point -unused- - */ - void geometryClicked(qmapcontrol::Geometry *geometry, QPoint point); - - //! A Geometry emits this signal, when its position gets changed - /*! - * @param geom the Geometry - */ - void positionChanged(qmapcontrol::Geometry *geom); - -public slots: - //! if visible is true, the layer is made visible - /*! - * @param visible if the layer should be visible - */ - virtual void setVisible(bool visible); -}; -} -#endif diff --git a/libs/QMapControl/src/geometrylayer.cpp b/libs/QMapControl/src/geometrylayer.cpp deleted file mode 100644 index 5a7107773..000000000 --- a/libs/QMapControl/src/geometrylayer.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "geometrylayer.h" -namespace qmapcontrol -{ -GeometryLayer::GeometryLayer(QString layername, MapAdapter *mapadapter, bool takeevents) - : Layer(layername, mapadapter, Layer::GeometryLayer, takeevents) -{ -} - -GeometryLayer::~GeometryLayer() { } -} diff --git a/libs/QMapControl/src/geometrylayer.h b/libs/QMapControl/src/geometrylayer.h deleted file mode 100644 index f530a93a6..000000000 --- a/libs/QMapControl/src/geometrylayer.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef GEOMETRYLAYER_H -#define GEOMETRYLAYER_H - -#include "qmapcontrol_global.h" -#include "layer.h" - -namespace qmapcontrol -{ -//! GeometryLayer class -/*! - * There are two different layer types: - * - MapLayer: Displays Maps, but also Geometries. The configuration for displaying maps - *have to be done in the MapAdapter - * - GeometryLayer: Only displays Geometry objects. - * - * MapLayers also can display Geometry objects. The difference to the GeometryLayer is the - *repainting. Objects that are added to a MapLayer are "baken" on the map. This means, - *when you change it´s position for example the changes are not visible until a new - *offscreen image has been drawn. If you have "static" Geometries which won´t change their - * position this is fine. But if you want to change the objects position or pen you should - *use a GeometryLayer. Those are repainted immediately on changes. - * - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT GeometryLayer : public Layer -{ - Q_OBJECT - -public: - //! GeometryLayer constructor - /*! - * This is used to construct a map layer. - * - * @param layername The name of the Layer - * @param mapadapter The MapAdapter which does coordinate translation and - * Query-String-Forming - * @param takeevents Should the Layer receive MouseEvents? This is set to true by - * default. Setting it to false could be something like a "speed up hint" - */ - GeometryLayer(QString layername, MapAdapter *mapadapter, bool takeevents = true); - virtual ~GeometryLayer(); -}; -} -#endif diff --git a/libs/QMapControl/src/googleapimapadapter.cpp b/libs/QMapControl/src/googleapimapadapter.cpp deleted file mode 100644 index 94dd2f987..000000000 --- a/libs/QMapControl/src/googleapimapadapter.cpp +++ /dev/null @@ -1,288 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * Copyright (C) 2014 Mattes Jaehne - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * original software by Kai Winter - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - * modified to use Google Static Maps API V2 by - * Mattes Jaehne - * for - * NGOS - The Next Generation multicopter OS - * http://ng.uavp.ch - * - */ - -#include "googleapimapadapter.h" -#include - -#ifndef _USE_MATH_DEFINES -#define _USE_MATH_DEFINES -#endif -#include - -namespace qmapcontrol -{ -googleApiMapadapter::googleApiMapadapter(layerType qMapType, apiType qApiType, - QString qApiKey, QString qApiClientID, - QString qServerAddress) - : TileMapAdapter(qServerAddress, "/maps/api/staticmap?", 256, 1, 22) - , mApiKey(qApiKey) - , mApiClientID(qApiClientID) - , mApiType(qApiType) -{ - mMapLayerType = typeToString(qMapType); - mNumberOfTiles = pow(2., mCurrent_zoom + 0.0); - mCoord_per_x_tile = 360. / mNumberOfTiles; - mCoord_per_y_tile = 180. / mNumberOfTiles; - - bool usingBusinessAPI = (mApiType == GoogleMapsForBusinessesAPI); - - if (!mApiKey.isEmpty() && !usingBusinessAPI) - { - mApiKey.prepend("&key="); - } - - if (!mApiClientID.isEmpty() && usingBusinessAPI) - { - mApiClientID.prepend("&client="); - } - - if (!mMapLayerType.isEmpty()) - { - mMapLayerType.prepend("&maptype="); - } -} - -googleApiMapadapter::~googleApiMapadapter() { } - -QString googleApiMapadapter::getHost() const -{ - return QString("maps.googleapis.com"); -} - -QPoint googleApiMapadapter::coordinateToDisplay(const QPointF &coordinate) const -{ - qreal x = (coordinate.x() + 180.) * (mNumberOfTiles * mTileSize) - / 360.; // coord to pixel! - qreal y - = (1. - - log(tan(coordinate.y() * PI / 180.) + 1. / cos(coordinate.y() * PI / 180.)) - / PI) - / 2. * (mNumberOfTiles * mTileSize); - x += mTileSize / 2; - y += mTileSize / 2; - - return QPoint(int(x), int(y)); -} - -QPointF googleApiMapadapter::displayToCoordinate(const QPoint &point) const -{ - qreal lon = (point.x() - mTileSize / 2) / (mNumberOfTiles * mTileSize) * 360. - 180.; - qreal lat = PI - 2. * PI * (point.y() - mTileSize / 2) / (mNumberOfTiles * mTileSize); - lat = 180. / PI * atan(0.5 * (exp(lat) - exp(-lat))); - - return QPointF(lon, lat); -} - -qreal googleApiMapadapter::getMercatorLatitude(qreal YCoord) const -{ - if (YCoord > PI) - return 9999.; - if (YCoord < -PI) - return -9999.; - - qreal t = atan(exp(YCoord)); - qreal res = (2. * t) - (PI / 2.); - - return res; -} - -qreal googleApiMapadapter::getMercatorYCoord(qreal lati) const -{ - qreal phi = PI * lati / 180.; - qreal res = 0.5 * log((1. + sin(phi)) / (1. - sin(phi))); - - return res; -} - -void googleApiMapadapter::zoom_in() -{ - if (mCurrent_zoom >= maxZoom()) - return; - - mCurrent_zoom += 1; - mNumberOfTiles = pow(2, mCurrent_zoom + 0.0); - mCoord_per_x_tile = 360. / mNumberOfTiles; - mCoord_per_y_tile = 180. / mNumberOfTiles; -} - -void googleApiMapadapter::zoom_out() -{ - if (mCurrent_zoom <= minZoom()) - return; - - mCurrent_zoom -= 1; - mNumberOfTiles = pow(2, mCurrent_zoom + 0.0); - mCoord_per_x_tile = 360. / mNumberOfTiles; - mCoord_per_y_tile = 180. / mNumberOfTiles; -} - -bool googleApiMapadapter::isValid(int x, int y, int z) const -{ - if ((x >= 0 && x < mNumberOfTiles) && (y >= 0 && y < mNumberOfTiles) && z >= 0) - return true; - - return false; -} - -QString googleApiMapadapter::typeToString(layerType qLayerType) -{ - switch (qLayerType) - { - case layerType_SATELLITE: - return "satellite"; - case layerType_HYBRID: - return "hybrid"; - case layerType_TERRAIN: - return "terrain"; - case layerType_ROADMAP: - default: - return "roadmap"; - } -} - -QString googleApiMapadapter::query(int i, int j, int z) const -{ - qreal longi = ((i * mTileSize) - (mTileSize * pow(2.0, z - 1))) - / ((mTileSize * pow(2.0, z)) / 360.); - qreal latit = PI - 2. * PI * j / pow(2., z); - latit = 180. / PI * atan(0.5 * (exp(latit) - exp(-latit))); - - return getQ(longi, latit, z); -} - -QString googleApiMapadapter::getQ(qreal longitude, qreal latitude, int zoom) const -{ - QString location = "/maps/api/staticmap?&sensor=false¢er="; - location.append(QVariant(latitude).toString()); - location.append(","); - location.append(QVariant(longitude).toString()); - location.append("&zoom="); - location.append(QString::number(zoom)); - location.append("&size=" + QString::number(mTileSize) + "x" - + QString::number(mTileSize) + "&scale=1"); - - if (!mMapLayerType.isEmpty()) - { - location.append(mMapLayerType); - } - - if (mApiType == GoogleMapsAPI) - { - if (mApiClientID.isEmpty()) - { - fprintf(stderr, - "You are using Google Maps API without a (valid) key. This is " - "against \"Terms of use\" of Google Maps\r\n"); - } - else - { - location.append(mApiClientID); - } - } - else if (mApiType == GoogleMapsForBusinessesAPI) - { - if (mApiClientID.isEmpty()) - { - fprintf(stderr, - "You are using Google Maps API without a (valid) key. This is " - "against \"Terms of use\" of Google Maps\r\n"); - } - else - { - // Google maps for business requires we sign every URL request against our - // apiKey - - // Example as taken from - // https://developers.google.com/maps/documentation/business/webservices/auth#digital_signatures - // - // URL: - // https://maps.googleapis.com/maps/api/geocode/json?address=New+York&client=clientID - // Private Key: vNIXE0xscrmjlyV-12Nj_BvUPaw= - // URL Portion to Sign: - // /maps/api/geocode/json?address=New+York&client=clientID Signature: - // chaRF2hTJKOScPr-RQCEhZbSzIE= - QString urlSignature = "&signature="; - QString computedHash = signURL(location, mApiKey); - urlSignature.append(computedHash); - location.append(urlSignature); - } - } - - return location; -} - -QString googleApiMapadapter::signURL(const QString &qURL, const QString &qCryptoKey) const -{ - // Convert the key from 'web safe' base 64 to binary - QString usablePrivateKey = qCryptoKey; - usablePrivateKey.replace("-", "+"); - usablePrivateKey.replace("_", "/"); - QByteArray privateKeyBytes; - privateKeyBytes.append(qPrintable(usablePrivateKey)); - - QCryptographicHash hash(QCryptographicHash::Sha1); - hash.addData(qPrintable(qURL)); - - QString rawSignature = hash.hash(privateKeyBytes, QCryptographicHash::Sha1); - - // convert the bytes to string and make url-safe by replacing '+' and '/' characters - QByteArray base64signature; - base64signature.append(rawSignature.toUtf8()); - - // base 64 encode the binary signature - QString result = base64signature.toBase64(); - - // convert the signature to 'web safe' base 64 - result.replace("+", "-"); - result.replace("/", "_"); - - return result; -} - -void googleApiMapadapter::setKey(QString qApiKey) -{ - if (qApiKey.isEmpty()) - return; - - mApiKey.clear(); - mApiKey.append("&key="); - mApiKey.append(qApiKey); -} - -void googleApiMapadapter::setMapLayerType(layerType qMapType) -{ - mMapLayerType.clear(); - mMapLayerType.append("&maptype="); - mMapLayerType.append(typeToString(qMapType)); -} -} diff --git a/libs/QMapControl/src/googleapimapadapter.h b/libs/QMapControl/src/googleapimapadapter.h deleted file mode 100644 index 1e2cc64ce..000000000 --- a/libs/QMapControl/src/googleapimapadapter.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * Copyright (C) 2014 Mattes Jaehne - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * original software by Kai Winter - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - * modified to use Google Static Maps API V2 by - * Mattes Jaehne - * for - * NGOS - The Next Generation multicopter OS - * http://ng.uavp.ch - * - */ - -#ifndef GOOGLEAPIMAPADAPTER_H -#define GOOGLEAPIMAPADAPTER_H - -#include "qmapcontrol_global.h" -#include "tilemapadapter.h" - -namespace qmapcontrol -{ -class QMAPCONTROL_EXPORT googleApiMapadapter : public TileMapAdapter -{ - Q_OBJECT -public: - enum layerType - { - layerType_ROADMAP - = 0, // displays the default road map view. This is the default map type. - layerType_SATELLITE, // displays Google Earth satellite images - layerType_HYBRID, // displays a mixture of normal and satellite views - layerType_TERRAIN // displays a physical map based on terrain information - }; - - enum apiType - { - GoogleMapsAPI = 0, - GoogleMapsForBusinessesAPI - }; - - googleApiMapadapter(layerType qMapType = layerType_ROADMAP, - apiType qApiType = GoogleMapsAPI, QString qApiKey = "", - QString qApiClientID = "", - QString qServerAddress = "maps.googleapis.com"); - virtual ~googleApiMapadapter(); - - virtual QPoint coordinateToDisplay(const QPointF &) const; - virtual QPointF displayToCoordinate(const QPoint &) const; - - QString getHost() const; - void setKey(QString apiKey); - void setMapLayerType(layerType qMapType = layerType_ROADMAP); - -protected: - virtual void zoom_in(); - virtual void zoom_out(); - virtual QString query(int x, int y, int z) const; - virtual bool isValid(int x, int y, int z) const; - - virtual QString signURL(const QString &qURL, const QString &qCryptoKey) const; - -private: - QString typeToString(layerType qLayerType); - virtual QString getQ(qreal longitude, qreal latitude, int zoom) const; - qreal getMercatorLatitude(qreal YCoord) const; - qreal getMercatorYCoord(qreal lati) const; - - qreal mCoord_per_x_tile; - qreal mCoord_per_y_tile; - - QString mApiKey; - QString mApiClientID; - apiType mApiType; - QString mMapLayerType; -}; -} - -#endif // GOOGLEAPIMAPADAPTER_H diff --git a/libs/QMapControl/src/googlemapadapter.cpp b/libs/QMapControl/src/googlemapadapter.cpp deleted file mode 100644 index fd6ec119a..000000000 --- a/libs/QMapControl/src/googlemapadapter.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "googlemapadapter.h" -namespace qmapcontrol -{ -GoogleMapAdapter::GoogleMapAdapter(googleLayerType qLayerType) - : TileMapAdapter("mt1.google.com", - "/vt/v=ap.106&hl=en&x=%2&y=%3&zoom=%1&lyrs=" - + typeToString(qLayerType), - 256, 17, 0) -//: TileMapAdapter("tile.openstreetmap.org", "/%1/%2/%3.png", 256, 0, 17) -{ - QString layerType = typeToString(qLayerType); -} - -GoogleMapAdapter::~GoogleMapAdapter() { } - -QString GoogleMapAdapter::typeToString(googleLayerType qLayerType) -{ - switch (qLayerType) - { - case satellite: - return "s"; - case terrain: - return "t"; - case hybrid: - return "h"; - case roadmap: - default: - return "m"; - } -} -} diff --git a/libs/QMapControl/src/googlemapadapter.h b/libs/QMapControl/src/googlemapadapter.h deleted file mode 100644 index b22cf1066..000000000 --- a/libs/QMapControl/src/googlemapadapter.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef GOOGLEMAPADAPTER_H -#define GOOGLEMAPADAPTER_H - -#include "qmapcontrol_global.h" -#include "tilemapadapter.h" - -namespace qmapcontrol -{ -//! MapAdapter for Google -/*! - * This is a conveniece class, which extends and configures a TileMapAdapter - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT GoogleMapAdapter : public TileMapAdapter -{ - Q_OBJECT - -public: - enum googleLayerType - { - roadmap = 0, - satellite, - terrain, - hybrid - }; - //! constructor - /*! - * This construct a Google Adapter - */ - GoogleMapAdapter(googleLayerType qLayerType = satellite); - virtual ~GoogleMapAdapter(); - -private: - QString typeToString(googleLayerType qLayerType); -}; -} -#endif diff --git a/libs/QMapControl/src/gps_position.cpp b/libs/QMapControl/src/gps_position.cpp deleted file mode 100644 index 242d94908..000000000 --- a/libs/QMapControl/src/gps_position.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "gps_position.h" -namespace qmapcontrol -{ -GPS_Position::GPS_Position(float time, float longitude, QString longitude_dir, - float latitude, QString latitude_dir) - : time(time) - , longitude(longitude) - , latitude(latitude) - , longitude_dir(longitude_dir) - , latitude_dir(latitude_dir) -{ -} -} diff --git a/libs/QMapControl/src/gps_position.h b/libs/QMapControl/src/gps_position.h deleted file mode 100644 index 82af384a9..000000000 --- a/libs/QMapControl/src/gps_position.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef GPS_POSITION_H -#define GPS_POSITION_H - -#include "qmapcontrol_global.h" -#include - -namespace qmapcontrol -{ -//! Represents a coordinate from a GPS receiver -/*! - * This class is used to represent a coordinate which has been parsed from a NMEA string. - * This is not fully integrated in the API. An example which uses this data type can be - * found under Samples. - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT GPS_Position -{ -public: - GPS_Position(float time, float longitude, QString longitude_dir, float latitude, - QString latitude_dir); - float time; /*!< time of the string*/ - float longitude; /*!< longitude coordinate*/ - float latitude; /*!< latitude coordinate*/ - -private: - QString longitude_dir; - QString latitude_dir; -}; -} -#endif diff --git a/libs/QMapControl/src/imagemanager.cpp b/libs/QMapControl/src/imagemanager.cpp deleted file mode 100644 index 0cf2c9cbf..000000000 --- a/libs/QMapControl/src/imagemanager.cpp +++ /dev/null @@ -1,186 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "imagemanager.h" -#include "mapnetwork.h" -#include -#include -#include - -static const int kDefaultTimeoutDelaySecs = 30; -static const int kDefaultPixmapCacheSizeKB = 20000; - -namespace qmapcontrol -{ -ImageManager::ImageManager(QObject *parent) - : QObject(parent) - , emptyPixmap(QPixmap(1, 1)) - , loadingPixmap(QPixmap(256, 256)) - , net(new MapNetwork(this)) - , diskCache(new QNetworkDiskCache(this)) -{ - emptyPixmap.fill(Qt::transparent); - - // initialize loading image - loadingPixmap.fill(Qt::transparent); - QPainter paint(&loadingPixmap); - QBrush brush(Qt::lightGray, Qt::Dense5Pattern); - paint.fillRect(loadingPixmap.rect(), brush); - paint.end(); - - if (QPixmapCache::cacheLimit() <= kDefaultPixmapCacheSizeKB) - { - QPixmapCache::setCacheLimit(kDefaultPixmapCacheSizeKB); - } -} - -ImageManager::~ImageManager() -{ - delete net; - net = 0; -} - -QPixmap ImageManager::getImage(const QString &host, const QString &url) -{ - // qDebug() << "ImageManager::getImage"; - QPixmap pm; - - if (net->imageIsLoading(url)) - { - // currently loading an image - return loadingPixmap; - } - else if (QPixmapCache::find(url, &pm)) - { - // image found in cache, use this version - return pm; - } - // is image cached (memory) - else if (QPixmapCache::find(url, &pm) && !pm.isNull()) - { - // we had a valid copy cached in memory (not disk) so return this - return pm; - } - else if (failedFetches.contains(url) - && failedFetches[url].secsTo(QDateTime::currentDateTime()) - < kDefaultTimeoutDelaySecs) - { - // prevents spamming public servers when requests fail to return an image or - // server returns error code (busy/ivalid useragent etc) - qDebug() << "Ignored: " << url - << " - last request failed less than 30 seconds ago"; - } - else - { - // load from net, add empty image - net->loadImage(host, url); - } - return emptyPixmap; -} - -QPixmap ImageManager::prefetchImage(const QString &host, const QString &url) -{ -// TODO See if this actually helps on the N900 & Symbian Phones -#if defined Q_WS_QWS || defined Q_WS_MAEMO_5 || defined Q_WS_S60 - // on mobile devices we don´t want the display refreshing when tiles are received - // which are prefetched... This is a performance issue, because mobile devices are - // very slow in repainting the screen - prefetch.append(url); -#endif - return getImage(host, url); -} - -void ImageManager::receivedImage(const QPixmap pixmap, const QString &url) -{ - // qDebug() << "ImageManager::receivedImage"; - QPixmapCache::insert(url, pixmap); - - // remove from failed list (if exists) as it has now come good - if (failedFetches.contains(url)) - { - failedFetches.remove(url); - } - - if (!prefetch.contains(url)) - { - emit imageReceived(); - } - else - { -#if defined Q_WS_QWS || defined Q_WS_MAEMO_5 || defined Q_WS_S60 - prefetch.remove(prefetch.indexOf(url)); -#endif - } -} - -void ImageManager::loadingQueueEmpty() -{ - emit loadingFinished(); -} - -void ImageManager::abortLoading() -{ - net->abortLoading(); -} - -void ImageManager::setProxy(QString host, int port, const QString username, - const QString password) -{ - net->setProxy(host, port, username, password); -} - -void ImageManager::setCacheDir(const QDir &path, const int qDiskSizeMB) -{ - if (!path.absolutePath().isEmpty()) - { - QDir cacheDir = path; - if (!cacheDir.exists()) - { - cacheDir.mkpath(cacheDir.absolutePath()); - } - diskCache->setCacheDirectory(cacheDir.absolutePath()); - diskCache->setMaximumCacheSize(qDiskSizeMB * 1024 * 1024); // Megabytes to bytes - net->setDiskCache(diskCache); - } - else - { - net->setDiskCache(0); - } -} - -int ImageManager::loadQueueSize() const -{ - return net->loadQueueSize(); -} - -void qmapcontrol::ImageManager::fetchFailed(const QString &url) -{ - qDebug() << "ImageManager::fetchFailed" << url; - - // store current time for this failed image to prevent loading it again until - failedFetches.insert(url, QDateTime::currentDateTime()); -} - -} diff --git a/libs/QMapControl/src/imagemanager.h b/libs/QMapControl/src/imagemanager.h deleted file mode 100644 index 5ab0d80e4..000000000 --- a/libs/QMapControl/src/imagemanager.h +++ /dev/null @@ -1,126 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef IMAGEMANAGER_H -#define IMAGEMANAGER_H - -#include "qmapcontrol_global.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace qmapcontrol -{ -class MapNetwork; -/** -@author Kai Winter - */ -class QMAPCONTROL_EXPORT ImageManager : public QObject -{ - Q_OBJECT - -public: - ImageManager(QObject *parent = 0); - virtual ~ImageManager(); - - //! returns a QPixmap of the asked image - /*! - * If this component doesn�t have the image a network query gets started to load it. - * @param host the host of the image - * @param path the path to the image - * @return the pixmap of the asked image - */ - QPixmap getImage(const QString &host, const QString &path); - - QPixmap prefetchImage(const QString &host, const QString &path); - - void receivedImage(const QPixmap pixmap, const QString &url); - void fetchFailed(const QString &url); - - /*! - * This method is called by MapNetwork, after all images in its queue were loaded. - * The ImageManager emits a signal, which is used in MapControl to remove the zoom - * image. The zoom image should be removed on Tile Images with transparency. Else the - * zoom image stay visible behind the newly loaded tiles. - */ - void loadingQueueEmpty(); - - /*! - * Aborts all current loading threads. - * This is useful when changing the zoom-factor, though newly needed images loads - * faster - */ - void abortLoading(); - - //! sets the proxy for HTTP connections - /*! - * This method sets the proxy for HTTP connections. - * This is not provided by the current Qtopia version! - * @param host the proxy�s hostname or ip - * @param port the proxy�s port - * @param username the proxy�s username - * @param password the proxy�s password - */ - void setProxy(QString host, int port, const QString username = QString(), - const QString password = QString()); - - //! sets the cache directory for persistently saving map tiles - /*! - * - * @param path the path where map tiles should be stored - * @param qDiskSizeMB the about of disk space to use for caching. Default is 250MB - */ - void setCacheDir(const QDir &path, const int qDiskSizeMB = 250); - - /*! - * @return Number of images pending in the load queue - */ - int loadQueueSize() const; - -private: - Q_DISABLE_COPY(ImageManager) - - QPixmap emptyPixmap; - QPixmap loadingPixmap; - - MapNetwork *net; - QNetworkDiskCache *diskCache; - QVector prefetch; - - QHash failedFetches; - -signals: - void imageReceived(); - void loadingFinished(); -}; -} -#endif - diff --git a/libs/QMapControl/src/imagepoint.cpp b/libs/QMapControl/src/imagepoint.cpp deleted file mode 100644 index e5b6b2511..000000000 --- a/libs/QMapControl/src/imagepoint.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "imagepoint.h" -namespace qmapcontrol -{ -ImagePoint::ImagePoint(qreal x, qreal y, QString filename, QString name, - Alignment alignment) - : Point(x, y, name, alignment) -{ - // qDebug() << "loading image: " << filename; - mypixmap = QPixmap(filename); - size = mypixmap.size(); - // qDebug() << "image size: " << size; -} - -ImagePoint::ImagePoint(qreal x, qreal y, QPixmap pixmap, QString name, - Alignment alignment) - : Point(x, y, name, alignment) -{ - mypixmap = pixmap; - size = mypixmap.size(); -} - -ImagePoint::~ImagePoint() { } -} diff --git a/libs/QMapControl/src/imagepoint.h b/libs/QMapControl/src/imagepoint.h deleted file mode 100644 index 896a5c3e9..000000000 --- a/libs/QMapControl/src/imagepoint.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef IMAGEPOINT_H -#define IMAGEPOINT_H - -#include "qmapcontrol_global.h" -#include "point.h" - -namespace qmapcontrol -{ - -//! Draws an image into the map -/*! This is a convenience class for Point. - * It configures the pixmap of a Point to draw the given image. - * The image will be loaded from the given path and written in the points pixmap. - * - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT ImagePoint : public Point -{ -public: - //! Creates a point which loads and displays the given image file - /*! - * Use this contructor to load the given image file and let the point display it. - * When you want multiple points to display the same image, use the other contructor - * and pass a pointer to that image. - * @param x longitude - * @param y latitude - * @param filename the file which should be loaded and displayed - * @param name the name of the image point - * @param alignment alignment (Middle or TopLeft) - */ - ImagePoint(qreal x, qreal y, QString filename, QString name = QString(), - Alignment alignment = Middle); - - //! Creates a point which displays the given image - /*! - * Use this contructor to display the given image. - * You have to load that image yourself, but can use it for multiple points. - * @param x longitude - * @param y latitude - * @param pixmap pointer to the image pixmap - * @param name the name of the image point - * @param alignment alignment (Middle or TopLeft) - */ - ImagePoint(qreal x, qreal y, QPixmap pixmap, QString name = QString(), - Alignment alignment = Middle); - virtual ~ImagePoint(); -}; -} -#endif diff --git a/libs/QMapControl/src/invisiblepoint.cpp b/libs/QMapControl/src/invisiblepoint.cpp deleted file mode 100644 index 84ce2860b..000000000 --- a/libs/QMapControl/src/invisiblepoint.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2014 Frederic Bourgeois - * Based on CirclePoint code by Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "invisiblepoint.h" -namespace qmapcontrol -{ -InvisiblePoint::InvisiblePoint(qreal x, qreal y, int sideLength, QString name) - : Point(x, y, name, Point::Middle) -{ - size = QSize(sideLength, sideLength); -} - -InvisiblePoint::InvisiblePoint(qreal x, qreal y, int width, int height, QString name) - : Point(x, y, name, Point::Middle) -{ - size = QSize(width, height); -} - -InvisiblePoint::InvisiblePoint(qreal x, qreal y, QString name) - : Point(x, y, name, Point::Middle) -{ - int sideLength = 10; - size = QSize(sideLength, sideLength); -} - -InvisiblePoint::~InvisiblePoint() { } -} diff --git a/libs/QMapControl/src/invisiblepoint.h b/libs/QMapControl/src/invisiblepoint.h deleted file mode 100644 index 7d5962b1b..000000000 --- a/libs/QMapControl/src/invisiblepoint.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2014 Frederic Bourgeois - * Based on CirclePoint code by Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef INVISIBLEPOINT_H -#define INVISIBLEPOINT_H - -#include "qmapcontrol_global.h" -#include "point.h" - -namespace qmapcontrol -{ -//! Draws an invisible point into the map -/*! This is a convenience class for point. - * It configures the pixmap of a point to draw nothing, - * still being a clickable point. - * - * @author Frederic Bourgeois - */ -class QMAPCONTROL_EXPORT InvisiblePoint : public Point -{ -public: - //! - /*! - * - * @param x longitude - * @param y latitude - * @param name name of the invisible point - */ - InvisiblePoint(qreal x, qreal y, QString name = QString()); - - //! - /*! - * - * @param x longitude - * @param y latitude - * @param width width - * @param height height - * @param name name of the invisible point - */ - InvisiblePoint(qreal x, qreal y, int width = 10, int height = 10, - QString name = QString()); - - //! - /*! - * - * @param x longitude - * @param y latitude - * @param sideLength side length of the bounding box (square) - * @param name name of the invisible point - */ - InvisiblePoint(qreal x, qreal y, int sideLength = 10, QString name = QString()); - virtual ~InvisiblePoint(); -}; -} -#endif diff --git a/libs/QMapControl/src/layer.cpp b/libs/QMapControl/src/layer.cpp deleted file mode 100644 index df796872a..000000000 --- a/libs/QMapControl/src/layer.cpp +++ /dev/null @@ -1,412 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "layer.h" -namespace qmapcontrol -{ -Layer::Layer() - : visible(true) - , mylayertype(MapLayer) - , mapAdapter(0) - , takeevents(true) - , myoffscreenViewport(QRect(0, 0, 0, 0)) - , m_ImageManager(0) -{ -} -Layer::Layer(QString layername, MapAdapter *mapadapter, enum LayerType layertype, - bool takeevents) - : visible(true) - , mylayername(layername) - , mylayertype(layertype) - , mapAdapter(mapadapter) - , takeevents(takeevents) - , myoffscreenViewport(QRect(0, 0, 0, 0)) - , m_ImageManager(0) -{ -} - -Layer::~Layer() -{ - if (mapAdapter) - { - mapAdapter->deleteLater(); - mapAdapter = 0; - } -} - -void Layer::setSize(QSize size) -{ - this->size = size; - screenmiddle = QPoint(size.width() / 2, size.height() / 2); - emit(updateRequest()); -} - -QString Layer::layername() const -{ - return mylayername; -} - -MapAdapter *Layer::mapadapter() -{ - return mapAdapter; -} - -void Layer::setVisible(bool visible) -{ - this->visible = visible; - emit(updateRequest()); -} - -QList &Layer::getGeometries() -{ - return geometries; -} - -bool Layer::containsGeometry(Geometry *geometry) -{ - return geometry && geometries.contains(geometry); -} - -void Layer::sendGeometryToFront(Geometry *geometry) -{ - if (!geometry || !geometries.contains(geometry)) - { - return; - } - geometries.removeAll(geometry); - geometries.prepend(geometry); - emit(updateRequest()); -} - -void Layer::sendGeometryToBack(Geometry *geometry) -{ - if (!geometry || !geometries.contains(geometry)) - { - return; - } - geometries.removeAll(geometry); - geometries.append(geometry); - emit(updateRequest()); -} - -void Layer::addGeometry(Geometry *geom) -{ - if (!geom || containsGeometry(geom)) - { - return; - } - - geometries.append(geom); - emit(updateRequest(geom->boundingBox())); - // a geometry can request a redraw, e.g. when its position has been changed - connect(geom, SIGNAL(updateRequest(QRectF)), this, SIGNAL(updateRequest(QRectF))); -} - -void Layer::removeGeometry(Geometry *geometry, bool qDeleteObject) -{ - if (!geometry) - { - return; - } - - QRectF boundingBox = geometry->boundingBox(); - - foreach (Geometry *geo, geometries) - { - if (geo && geo == geometry) - { - disconnect(geometry); - geometries.removeAll(geometry); - if (qDeleteObject) - { - delete geo; - geo = 0; - } - } - } - emit(updateRequest(boundingBox)); -} - -void Layer::clearGeometries(bool qDeleteObject) -{ - foreach (Geometry *geometry, geometries) - { - disconnect(geometry); - if (qDeleteObject) - { - delete geometry; - geometry = 0; - } - } - geometries.clear(); -} - -bool Layer::isVisible() const -{ - return visible; -} -void Layer::zoomIn() const -{ - mapAdapter->zoom_in(); -} -void Layer::zoomOut() const -{ - mapAdapter->zoom_out(); -} - -void Layer::mouseEvent(const QMouseEvent *evnt, const QPoint mapmiddle_px) -{ - if (takesMouseEvents()) - { - if (geometries.size() > 0 && evnt->button() == Qt::LeftButton - && evnt->type() == QEvent::MouseButtonPress) - { - // check for collision - QPointF c = mapAdapter->displayToCoordinate( - QPoint(evnt->x() - screenmiddle.x() + mapmiddle_px.x(), - evnt->y() - screenmiddle.y() + mapmiddle_px.y())); - Point *tmppoint = new Point(c.x(), c.y()); - for (QList::const_iterator iter = geometries.begin(); - iter != geometries.end(); ++iter) - { - Geometry *geo = *iter; - if (geo && geo->isVisible() && geo->Touches(tmppoint, mapAdapter)) - { - emit(geometryClicked(geo, QPoint(evnt->x(), evnt->y()))); - } - } - delete tmppoint; - } - } -} - -bool Layer::takesMouseEvents() const -{ - return takeevents; -} - -void Layer::drawYourImage(QPainter *painter, const QPoint mapmiddle_px) const -{ - if (mylayertype == MapLayer) - { - _draw(painter, mapmiddle_px); - } - - drawYourGeometries( - painter, - QPoint(mapmiddle_px.x() - screenmiddle.x(), mapmiddle_px.y() - screenmiddle.y()), - myoffscreenViewport); -} -void Layer::drawYourGeometries(QPainter *painter, const QPoint mapmiddle_px, - QRect viewport) const -{ - QPoint offset; - if (mylayertype == MapLayer) - { - offset = mapmiddle_px; - } - else - { - offset = mapmiddle_px - screenmiddle; - } - - painter->translate(-mapmiddle_px + screenmiddle); - - for (QList::const_iterator iter = geometries.begin(); - iter != geometries.end(); ++iter) - { - Geometry *geo = *iter; - geo->draw(painter, mapAdapter, viewport, offset); - } - painter->translate(mapmiddle_px - screenmiddle); -} - -void Layer::_draw(QPainter *painter, const QPoint mapmiddle_px) const -{ - if (m_ImageManager == 0) - { - return; - } - - // screen middle... - int tilesize = mapAdapter->tilesize(); - int cross_x = int(mapmiddle_px.x()) % tilesize; // position on middle tile - int cross_y = int(mapmiddle_px.y()) % tilesize; - - // calculate how many surrounding tiles have to be drawn to fill the display - int space_left = screenmiddle.x() - cross_x; - int tiles_left = space_left / tilesize; - if (space_left > 0) - tiles_left += 1; - - int space_above = screenmiddle.y() - cross_y; - int tiles_above = space_above / tilesize; - if (space_above > 0) - tiles_above += 1; - - int space_right = screenmiddle.x() - (tilesize - cross_x); - int tiles_right = space_right / tilesize; - if (space_right > 0) - tiles_right += 1; - - int space_bottom = screenmiddle.y() - (tilesize - cross_y); - int tiles_bottom = space_bottom / tilesize; - if (space_bottom > 0) - tiles_bottom += 1; - - // int tiles_displayed = 0; - int mapmiddle_tile_x = mapmiddle_px.x() / tilesize; - int mapmiddle_tile_y = mapmiddle_px.y() / tilesize; - - const QPoint from = QPoint((-tiles_left + mapmiddle_tile_x) * tilesize, - (-tiles_above + mapmiddle_tile_y) * tilesize); - const QPoint to = QPoint((tiles_right + mapmiddle_tile_x + 1) * tilesize, - (tiles_bottom + mapmiddle_tile_y + 1) * tilesize); - - myoffscreenViewport = QRect(from, to); - - // for the EmptyMapAdapter no tiles should be loaded and painted. - if (mapAdapter->host().isEmpty()) - { - return; - } - - // grab the middle tile (under the pointer) first - if (mapAdapter->isTileValid(mapmiddle_tile_x, mapmiddle_tile_y, - mapAdapter->currentZoom())) - { - painter->drawPixmap( - -cross_x + size.width(), -cross_y + size.height(), - m_ImageManager->getImage(mapAdapter->host(), - mapAdapter->query(mapmiddle_tile_x, mapmiddle_tile_y, - mapAdapter->currentZoom()))); - } - - for (int i = -tiles_left + mapmiddle_tile_x; i <= tiles_right + mapmiddle_tile_x; ++i) - { - for (int j = -tiles_above + mapmiddle_tile_y; - j <= tiles_bottom + mapmiddle_tile_y; ++j) - { - // check if image is valid - if (!(i == mapmiddle_tile_x && j == mapmiddle_tile_y)) - { - if (mapAdapter->isTileValid(i, j, mapAdapter->currentZoom())) - { - painter->drawPixmap( - ((i - mapmiddle_tile_x) * tilesize) - cross_x + size.width(), - ((j - mapmiddle_tile_y) * tilesize) - cross_y + size.height(), - m_ImageManager->getImage( - mapAdapter->host(), - mapAdapter->query(i, j, mapAdapter->currentZoom()))); - } - } - } - } - - bool enabledPrefetch = false; - if (enabledPrefetch) - { - // Prefetch the next set of rows/column tiles (ready for when the user starts - // panning). - const int prefetch_tile_left = tiles_left - 1; - const int prefetch_tile_top = tiles_above - 1; - const int prefetch_tile_right = tiles_right + 1; - const int prefetch_tile_bottom = tiles_bottom + 1; - - // Fetch the top/bottom rows - for (int i = prefetch_tile_left; i <= prefetch_tile_right; ++i) - { - if (mapAdapter->isTileValid(i, prefetch_tile_top, mapAdapter->currentZoom())) - { - m_ImageManager->prefetchImage( - mapAdapter->host(), - mapAdapter->query(i, prefetch_tile_top, mapAdapter->currentZoom())); - } - if (mapAdapter->isTileValid(i, prefetch_tile_bottom, - mapAdapter->currentZoom())) - { - m_ImageManager->prefetchImage( - mapAdapter->host(), - mapAdapter->query(i, prefetch_tile_bottom, - mapAdapter->currentZoom())); - } - } - - for (int i = prefetch_tile_top; i <= prefetch_tile_bottom; ++i) - { - if (mapAdapter->isTileValid(prefetch_tile_left, i, mapAdapter->currentZoom())) - { - m_ImageManager->prefetchImage( - mapAdapter->host(), - mapAdapter->query(prefetch_tile_left, i, mapAdapter->currentZoom())); - } - if (mapAdapter->isTileValid(prefetch_tile_right, i, - mapAdapter->currentZoom())) - { - m_ImageManager->prefetchImage( - mapAdapter->host(), - mapAdapter->query(prefetch_tile_right, i, mapAdapter->currentZoom())); - } - } - } -} - -QRect Layer::offscreenViewport() const -{ - return myoffscreenViewport; -} - -void Layer::moveWidgets(const QPoint mapmiddle_px) const -{ - foreach (Geometry *geometry, geometries) - { - if (geometry->GeometryType == "Point") - { - Point *point = dynamic_cast(geometry); - if (point != 0) - { - QPoint topleft_relative = QPoint(mapmiddle_px - screenmiddle); - point->drawWidget(mapAdapter, topleft_relative); - } - } - } -} - -Layer::LayerType Layer::layertype() const -{ - return mylayertype; -} - -void Layer::setMapAdapter(MapAdapter *mapadapter) -{ - mapAdapter = mapadapter; - emit(updateRequest()); -} - -void Layer::setImageManager(ImageManager *qImageManager) -{ - m_ImageManager = qImageManager; -} -} diff --git a/libs/QMapControl/src/layer.h b/libs/QMapControl/src/layer.h deleted file mode 100644 index 1672e26ca..000000000 --- a/libs/QMapControl/src/layer.h +++ /dev/null @@ -1,228 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef LAYER_H -#define LAYER_H - -#include "qmapcontrol_global.h" -#include -#include -#include -#include - -#include "mapadapter.h" -#include "layermanager.h" -#include "imagemanager.h" -#include "geometry.h" -#include "point.h" - -#include "wmsmapadapter.h" -#include "tilemapadapter.h" - -namespace qmapcontrol -{ -//! Layer class -/*! - * There are two different layer types: - * - MapLayer: Displays Maps, but also Geometries. The configuration for displaying maps - *have to be done in the MapAdapter - * - GeometryLayer: Only displays Geometry objects. - * - * MapLayers also can display Geometry objects. The difference to the GeometryLayer is the - *repainting. Objects that are added to a MapLayer are "baken" on the map. This means, - *when you change it´s position for example the changes are not visible until a new - *offscreen image has been drawn. If you have "static" Geometries which won´t change their - * position this is fine. But if you want to change the objects position or pen you should - *use a GeometryLayer. Those are repainted immediately on changes. You can either use this - *class and give a layertype on creation or you can use the classes MapLayer and - *GeometryLayer. - * - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT Layer : public QObject -{ - Q_OBJECT - -public: - friend class LayerManager; - - //! sets the type of a layer, see Layer class doc for further information - enum LayerType - { - MapLayer, /*!< uses the MapAdapter to display maps, only gets refreshed when a new offscreen image is needed */ - GeometryLayer /*!< gets refreshed everytime when a geometry changes */ - }; - - //! Layer default constructor - /*! - * This is used to construct a layer. - */ - Layer(); - - //! Layer constructor - /*! - * This is used to construct a layer. - * - * @param layername The name of the Layer - * @param mapadapter The MapAdapter which does coordinate translation and - * Query-String-Forming - * @param layertype The above explained LayerType - * @param takeevents Should the Layer receive MouseEvents? This is set to true by - * default. Setting it to false could be something like a "speed up hint" - */ - - Layer(QString layername, MapAdapter *mapadapter, enum LayerType layertype, - bool takeevents = true); - virtual ~Layer(); - - //! returns the layer's name - /*! - * @return the name of this layer - */ - QString layername() const; - - //! returns the layer´s MapAdapter - /*! - * This method returns the MapAdapter of this Layer, which can be useful - * to do coordinate transformations. - * @return the MapAdapter which us used by this Layer - */ - MapAdapter *mapadapter(); - - //! adds a Geometry object to this Layer - /*! - * Please notice the different LayerTypes (MapLayer and GeometryLayer) and the - * differences - * @param geometry the new Geometry - */ - void addGeometry(Geometry *geometry); - - //! removes the Geometry object from this Layer - /*! - * This method removes a Geometry object from this Layer. - * NOTE: this method does not delete the object unless qDeleteObject is set - * @param qDeleteObject cleans up memory of object after removal - */ - void removeGeometry(Geometry *geometry, bool qDeleteObject = false); - - //! removes all Geometry objects from this Layer - /*! - * This method removes all Geometry objects from this Layer. - * NOTE: this method does not delete the object unless qDeleteObject is set - * @param qDeleteObject cleans up memory of object after removal - */ - void clearGeometries(bool qDeleteObject = false); - - //! returns all Geometry objects from this Layer - /*! - * This method removes all Geometry objects from this Layer. - * @return a list of geometries that are on this Layer - */ - QList &getGeometries(); - - //! returns true if Layer contains geometry - /*! - * This method returns if a Geometry objects is on this Layer. - */ - bool containsGeometry(Geometry *geometry); - - //! allow moving a geometry to the top of the list (drawing last) - /*! - * This method re-order the Geometry objects so the desired - * geometry is drawn last and visible above all geometries - */ - void sendGeometryToFront(Geometry *geometry); - - //! allow moving a geometry to the top of the list (drawing last) - /*! - * This method re-order the Geometry objects so the desired - * geometry is drawn first and under all other geometries - */ - void sendGeometryToBack(Geometry *geometry); - - //! return true if the layer is visible - /*! - * @return if the layer is visible - */ - bool isVisible() const; - - //! returns the LayerType of the Layer - /*! - * There are two LayerTypes: MapLayer and GeometryLayer - * @return the LayerType of this Layer - */ - Layer::LayerType layertype() const; - - void setMapAdapter(MapAdapter *mapadapter); - void setImageManager(ImageManager *qImageManager); - -private: - void moveWidgets(const QPoint mapmiddle_px) const; - void drawYourImage(QPainter *painter, const QPoint mapmiddle_px) const; - void drawYourGeometries(QPainter *painter, const QPoint mapmiddle_px, - QRect viewport) const; - void setSize(QSize size); - QRect offscreenViewport() const; - bool takesMouseEvents() const; - void mouseEvent(const QMouseEvent *, const QPoint mapmiddle_px); - void zoomIn() const; - void zoomOut() const; - void _draw(QPainter *painter, const QPoint mapmiddle_px) const; - - bool visible; - QString mylayername; - LayerType mylayertype; - QSize size; - QPoint screenmiddle; - - QList geometries; - MapAdapter *mapAdapter; - bool takeevents; - mutable QRect myoffscreenViewport; - - ImageManager *m_ImageManager; - -signals: - //! This signal is emitted when a Geometry is clicked - /*! - * A Geometry is clickable, if the containing layer is clickable. - * The layer emits a signal for every clicked geometry - * @param geometry The clicked Geometry - * @param point The coordinate (in widget coordinates) of the click - */ - void geometryClicked(qmapcontrol::Geometry *geometry, QPoint point); - - void updateRequest(QRectF rect); - void updateRequest(); - -public slots: - //! if visible is true, the layer is made visible - /*! - * @param visible if the layer should be visible - */ - void setVisible(bool visible); -}; -} -#endif diff --git a/libs/QMapControl/src/layermanager.cpp b/libs/QMapControl/src/layermanager.cpp deleted file mode 100644 index 58f78046e..000000000 --- a/libs/QMapControl/src/layermanager.cpp +++ /dev/null @@ -1,613 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "layermanager.h" -namespace qmapcontrol -{ -LayerManager::LayerManager(MapControl *mapcontrol, QSize size) - : mapcontrol(mapcontrol) - , scroll(QPoint(0, 0)) - , size(size) - , whilenewscroll(QPoint(0, 0)) -{ - // genauer berechnen? - offSize = size * 2; - composedOffscreenImage = QPixmap(offSize); - zoomImage = QPixmap(size); - zoomImage.fill(Qt::white); - screenmiddle = QPoint(size.width() / 2, size.height() / 2); - useBoundingBox = false; -} - -LayerManager::~LayerManager() -{ - mylayers.clear(); -} - -QPointF LayerManager::currentCoordinate() const -{ - return mapmiddle; -} - -QPixmap LayerManager::getImage() const -{ - return composedOffscreenImage; -} - -Layer *LayerManager::layer() const -{ - if (mylayers.isEmpty()) - { - qDebug() << "LayerManager::getLayer() - No layers were added"; - return 0; - } - return mylayers.at(0) ? mylayers.at(0) : 0; -} - -Layer *LayerManager::layer(const QString &layername) const -{ - QListIterator layerit(mylayers); - while (layerit.hasNext()) - { - Layer *l = layerit.next(); - if (l->layername() == layername) - return l; - } - return 0; -} - -QList LayerManager::layers() const -{ - QList keys; - QListIterator layerit(mylayers); - while (layerit.hasNext()) - { - keys.append(layerit.next()->layername()); - } - return keys; -} - -void LayerManager::scrollView(const QPoint &point) -{ - QPointF tempMiddle = layer()->mapadapter()->displayToCoordinate(mapmiddle_px + point); - - if ((useBoundingBox && boundingBox.contains(tempMiddle)) || !useBoundingBox) - { - scroll += point; - zoomImageScroll += point; - mapmiddle_px += point; - - mapmiddle = tempMiddle; - - if (!checkOffscreen()) - { - newOffscreenImage(); - } - else - { - moveWidgets(); - } - } -} - -void LayerManager::moveWidgets() -{ - QListIterator it(mylayers); - while (it.hasNext()) - { - it.next()->moveWidgets(mapmiddle_px); - } -} - -void LayerManager::setView(const QPointF &coordinate) -{ - if (!layer()) - { - qDebug() << "LayerManager::setView() - cannot set view settings with no layers " - "configured"; - return; - } - - if (!layer()->mapadapter()) - { - qDebug() << "LayerManager::setView() - cannot set view settings with no map " - "adapter configured"; - return; - } - - mapmiddle_px = layer()->mapadapter()->coordinateToDisplay(coordinate); - mapmiddle = coordinate; - - newOffscreenImage(true, false); -} - -void LayerManager::setView(QList coordinates) -{ - setMiddle(coordinates); - mapcontrol->update(); -} - -void LayerManager::setViewAndZoomIn(const QList coordinates) -{ - if (!layer()) - { - qDebug() << "LayerManager::setViewAndZoomIn() - no layers configured"; - return; - } - - while (!containsAll(coordinates)) - { - setMiddle(coordinates); - zoomOut(); - // bugfix Tl - // if points are too close -> Loop of death... - if (layer()->mapadapter()->currentZoom() == 0) - { - qDebug() << "LayerManager::setViewAndZoomIn() - reached minium zoom level"; - break; - } - } - - while (containsAll(coordinates)) - { - setMiddle(coordinates); - zoomIn(); - // bugfix Tl - // if points are too close -> Loop of death... - if (layer()->mapadapter()->currentZoom() == 17) - { - qDebug() << "LayerManager::setViewAndZoomIn() - reached maximum zoom level"; - break; - } - } - - if (!containsAll(coordinates)) - { - zoomOut(); - } - - mapcontrol->update(); -} - -void LayerManager::setMiddle(QList coordinates) -{ - if (!layer()) - { - qDebug() << "LayerManager::setMiddle() - no layers configured"; - return; - } - - int sum_x = 0; - int sum_y = 0; - for (int i = 0; i < coordinates.size(); ++i) - { - // mitte muss in px umgerechnet werden, da aufgrund der projektion die - // mittebestimmung aus koordinaten ungenau ist - QPoint p = layer()->mapadapter()->coordinateToDisplay(coordinates.at(i)); - sum_x += p.x(); - sum_y += p.y(); - } - QPointF middle = layer()->mapadapter()->displayToCoordinate( - QPoint(sum_x / coordinates.size(), sum_y / coordinates.size())); - // middle in px rechnen! - - setView(middle); -} - -bool LayerManager::containsAll(QList coordinates) const -{ - QRectF bb = getViewport(); - bool containsall = true; - for (int i = 0; i < coordinates.size(); ++i) - { - if (!bb.contains(coordinates.at(i))) - return false; - } - return containsall; -} - -QPoint LayerManager::getMapmiddle_px() const -{ - return mapmiddle_px; -} - -QRectF LayerManager::getViewport() const -{ - if (!layer()) - { - qDebug() << "LayerManager::getViewport() - no layers configured"; - return QRectF(); - } - - QPoint upperLeft = QPoint(mapmiddle_px.x() - screenmiddle.x(), - mapmiddle_px.y() + screenmiddle.y()); - QPoint lowerRight = QPoint(mapmiddle_px.x() + screenmiddle.x(), - mapmiddle_px.y() - screenmiddle.y()); - - QPointF ulCoord = layer()->mapadapter()->displayToCoordinate(upperLeft); - QPointF lrCoord = layer()->mapadapter()->displayToCoordinate(lowerRight); - - QRectF coordinateBB - = QRectF(ulCoord, QSizeF((lrCoord - ulCoord).x(), (lrCoord - ulCoord).y())); - return coordinateBB; -} - -void LayerManager::addLayer(Layer *layer) -{ - mylayers.append(layer); - - layer->setSize(size); - - // sanity check first - disconnect(layer, 0, this, 0); - - connect(layer, SIGNAL(updateRequest(QRectF)), this, SLOT(updateRequest(QRectF))); - connect(layer, SIGNAL(updateRequest()), this, SLOT(updateRequest())); - - if (mylayers.size() > 0) - { - // setView(QPointF(0,0)); - } - mapcontrol->update(); -} - -void LayerManager::removeLayer(Layer *layer) -{ - if (layer) - { - disconnect(layer, 0, this, 0); - mylayers.removeAll(layer); - } - - if (mylayers.size() > 0) - { - // setView(QPointF(0,0)); - } - mapcontrol->update(); -} - -void LayerManager::newOffscreenImage(bool clearImage, bool showZoomImage) -{ - // qDebug() << "LayerManager::newOffscreenImage()"; - whilenewscroll = mapmiddle_px; - - if (clearImage || mapcontrol->getImageManager()->loadQueueSize() == 0) - { - composedOffscreenImage.fill(Qt::white); - } - - QPainter painter(&composedOffscreenImage); - if (showZoomImage || mapcontrol->getImageManager()->loadQueueSize() != 0) - { - painter.drawPixmap(screenmiddle.x() - zoomImageScroll.x(), - screenmiddle.y() - zoomImageScroll.y(), zoomImage); - } - - // only draw basemaps - foreach (const Layer *l, mylayers) - { - if (l->isVisible() && l->layertype() == Layer::MapLayer) - { - l->drawYourImage(&painter, whilenewscroll); - } - } - - // stop the painter now that we've finished drawing - painter.end(); - - // composedOffscreenImage = composedOffscreenImage2; - scroll = mapmiddle_px - whilenewscroll; - - mapcontrol->update(); -} - -void LayerManager::zoomIn() -{ - if (!layer()) - { - qDebug() << "LayerManager::zoomIn() - no layers configured"; - return; - } - - mapcontrol->getImageManager()->abortLoading(); - // QCoreApplication::processEvents(); - - // layer rendern abbrechen? - zoomImageScroll = QPoint(0, 0); - - zoomImage.fill(Qt::white); - QPixmap tmpImg = composedOffscreenImage.copy(screenmiddle.x() + scroll.x(), - screenmiddle.y() + scroll.y(), - size.width(), size.height()); - - QPainter painter(&zoomImage); - painter.translate(screenmiddle); - painter.scale(2, 2); - painter.translate(-screenmiddle); - - painter.drawPixmap(0, 0, tmpImg); - - QListIterator it(mylayers); - // TODO: remove hack, that mapadapters wont get set zoom multiple times - QList doneadapters; - while (it.hasNext()) - { - Layer *l = it.next(); - if (!doneadapters.contains(l->mapadapter())) - { - l->zoomIn(); - doneadapters.append(l->mapadapter()); - } - } - mapmiddle_px = layer()->mapadapter()->coordinateToDisplay(mapmiddle); - whilenewscroll = mapmiddle_px; - - newOffscreenImage(true, true); // show zoomed image while map loads -} - -bool LayerManager::checkOffscreen() const -{ - if (!layer()) - { - qDebug() << "LayerManager::checkOffscreen() - no layers configured"; - return true; - } - - // calculate offscreenImage dimension (px) - QPoint upperLeft = mapmiddle_px - screenmiddle; - QPoint lowerRight = mapmiddle_px + screenmiddle; - QRect viewport = QRect(upperLeft, lowerRight); - - QRect testRect = layer()->offscreenViewport(); - - if (!testRect.contains(viewport)) - { - return false; - } - - return true; -} -void LayerManager::zoomOut() -{ - if (!layer()) - { - qDebug() << "LayerManager::zoomOut() - no layers configured"; - return; - } - - // QCoreApplication::processEvents(); - mapcontrol->getImageManager()->abortLoading(); - zoomImageScroll = QPoint(0, 0); - zoomImage.fill(Qt::white); - QPixmap tmpImg = composedOffscreenImage.copy(screenmiddle.x() + scroll.x(), - screenmiddle.y() + scroll.y(), - size.width(), size.height()); - QPainter painter(&zoomImage); - painter.translate(screenmiddle); - painter.scale(0.500001, 0.500001); - painter.translate(-screenmiddle); - painter.drawPixmap(0, 0, tmpImg); - - painter.translate(screenmiddle); - painter.scale(2, 2); - painter.translate(-screenmiddle); - - QListIterator it(mylayers); - // TODO: remove hack, that mapadapters wont get set zoom multiple times - QList doneadapters; - while (it.hasNext()) - { - Layer *l = it.next(); - if (!doneadapters.contains(l->mapadapter())) - { - l->zoomOut(); - doneadapters.append(l->mapadapter()); - } - } - mapmiddle_px = layer()->mapadapter()->coordinateToDisplay(mapmiddle); - whilenewscroll = mapmiddle_px; - - newOffscreenImage(true, true); // show zoomed image while map loads -} - -void LayerManager::setZoom(int zoomlevel) -{ - if (!layer()) - { - qDebug() << "LayerManager::setZoom() - no layers configured"; - return; - } - - int current_zoom; - if (layer()->mapadapter()->minZoom() < layer()->mapadapter()->maxZoom()) - { - current_zoom = layer()->mapadapter()->currentZoom(); - } - else - { - current_zoom - = layer()->mapadapter()->minZoom() - layer()->mapadapter()->currentZoom(); - } - - if (zoomlevel < current_zoom) - { - for (int i = current_zoom; i > zoomlevel; --i) - { - zoomOut(); - } - } - else - { - for (int i = current_zoom; i < zoomlevel; ++i) - { - zoomIn(); - } - } -} - -void LayerManager::mouseEvent(const QMouseEvent *evnt) -{ - if (mapcontrol && !mapcontrol->mouseWheelEventsEnabled()) - { - return; - } - - foreach (Layer *l, mylayers) - { - if (l && l->isVisible()) - { - l->mouseEvent(evnt, mapmiddle_px); - } - } -} - -void LayerManager::updateRequest(QRectF rect) -{ - if (getViewport().contains(rect.topLeft()) - || getViewport().contains(rect.bottomRight())) - { - // QPoint point = getLayer()->getMapAdapter()->coordinateToDisplay(c); - // const QPoint topleft = mapmiddle_px - screenmiddle; - // QPoint finalpoint = point-topleft; - // QRect rect_px = QRect(int(finalpoint.x()-(rect.width()-1)/2), - // int(finalpoint.y()-(rect.height()-1)/2), - // int(rect.width()+1), int(rect.height()+1)); - // - // mapcontrol->updateRequest(rect_px); - newOffscreenImage(false, false); - } -} -void LayerManager::updateRequest() -{ - newOffscreenImage(true, false); -} -void LayerManager::forceRedraw() -{ - newOffscreenImage(true, false); -} -void LayerManager::removeZoomImage() -{ - zoomImage.fill(Qt::white); - forceRedraw(); -} - -void LayerManager::drawGeoms(QPainter *painter) -{ - if (!layer()) - { - qDebug() << "LayerManager::drawGeoms() - no layers configured"; - return; - } - QListIterator it(mylayers); - while (it.hasNext()) - { - Layer *l = it.next(); - if (l->layertype() == Layer::GeometryLayer && l->isVisible()) - { - l->drawYourGeometries(painter, mapmiddle_px, layer()->offscreenViewport()); - } - } -} -void LayerManager::drawImage(QPainter *painter) -{ - painter->drawPixmap(-scroll.x() - screenmiddle.x(), -scroll.y() - screenmiddle.y(), - composedOffscreenImage); -} - -int LayerManager::currentZoom() const -{ - if (!layer()) - { - qDebug() << "LayerManager::currentZoom() - no layers configured"; - return 0; - } - return layer()->mapadapter()->currentZoom(); -} - -int LayerManager::minZoom() -{ - if (!layer()) - { - qDebug() << "LayerManager::minZoom() - no layers configured"; - return 0; - } - return layer()->mapadapter()->minZoom(); -} - -int LayerManager::maxZoom() -{ - if (!layer()) - { - qDebug() << "LayerManager::maxZoom() - no layers configured"; - return 0; - } - return layer()->mapadapter()->maxZoom(); -} - -void LayerManager::resize(QSize newSize) -{ - size = newSize; - offSize = newSize * 2; - composedOffscreenImage = QPixmap(offSize); - zoomImage = QPixmap(newSize); - - screenmiddle = QPoint(newSize.width() / 2, newSize.height() / 2); - - QListIterator it(mylayers); - while (it.hasNext()) - { - Layer *l = it.next(); - l->setSize(newSize); - } - - forceRedraw(); -} - -void LayerManager::setUseBoundingBox(bool usebounds) -{ - useBoundingBox = usebounds; -} - -bool LayerManager::isBoundingBoxEnabled() -{ - return useBoundingBox; -} - -void LayerManager::setBoundingBox(QRectF &rect) -{ - if (rect.right() < rect.left()) - qDebug() << "LayerManager::setBoundingBox() - min longitude is bigger than max"; - - if (rect.top() < rect.bottom()) - qDebug() << "LayerManager::setBoundingBox() - min latitude is bigger than max"; - - boundingBox = rect; -} - -QRectF LayerManager::getBoundingBox() -{ - return boundingBox; -} -} diff --git a/libs/QMapControl/src/layermanager.h b/libs/QMapControl/src/layermanager.h deleted file mode 100644 index 7a0b0ef6f..000000000 --- a/libs/QMapControl/src/layermanager.h +++ /dev/null @@ -1,257 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef LAYERMANAGER_H -#define LAYERMANAGER_H - -#include "qmapcontrol_global.h" -#include -#include -#include -#include -#include "layer.h" -#include "mapadapter.h" -#include "mapcontrol.h" - -namespace qmapcontrol -{ -class Layer; -class MapAdapter; -class MapControl; - -class LayerManager; - -//! Handles Layers and viewport related settings -/*! - * This class handles internally all layers which were added to the MapControl. - * It also stores values for scrolling. - * It initiates the creation of a new offscreen image and on zooming the zoom images gets - *here created. - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT LayerManager : public QObject -{ - Q_OBJECT - -public: - LayerManager(MapControl *, QSize); - ~LayerManager(); - - //! returns the coordinate of the center of the map - /*! - * @return returns the coordinate of the middle of the screen - */ - QPointF currentCoordinate() const; - - //! returns the current offscreen image - /*! - * @return the current offscreen image - */ - QPixmap getImage() const; - - //! returns the layer with the given name - /*! - * @param layername name of the wanted layer - * @return the layer with the given name - */ - Layer *layer(const QString &) const; - - //! returns the base layer - /*! - * This will return the base layer of the LayerManager. - * The base layer is the one which is used to do internal coordinate calculations. - * @return the base layer - */ - Layer *layer() const; - - //! returns the names of all layers - /*! - * @return returns a QList with the names of all layers - */ - QList layers() const; - - //! sets the middle of the map to the given coordinate - /*! - * @param coordinate the coordinate which the view´s middle should be set to - */ - void setView(const QPointF &coordinate); - - //! sets the view, so all coordinates are visible - /*! - * @param coordinates the Coorinates which should be visible - */ - void setView(const QList coordinates); - - //! sets the view and zooms in, so all coordinates are visible - /*! - * The code of setting the view to multiple coordinates is "brute force" and pretty - * slow. Have to be reworked. - * @param coordinates the Coorinates which should be visible - */ - void setViewAndZoomIn(const QList coordinates); - - //! zooms in one step - void zoomIn(); - - //! zooms out one step - void zoomOut(); - - //! return min Zoom Level - int minZoom(); - - //! return max Zoom Level - int maxZoom(); - - //! sets the given zoomlevel - /*! - * @param zoomlevel the zoomlevel - */ - void setZoom(int zoomlevel); - - //! The Viewport of the display - /*! - * Returns the visible viewport in world coordinates - * @return the visible viewport in world coordinates - */ - QRectF getViewport() const; - - //! scrolls the view - /*! - * Scrolls the view by the given value in pixels and in display coordinates - * @param offset the distance which the view should be scrolled - */ - void scrollView(const QPoint &offset); - - //! forwards mouseevents to the layers - /*! - * This method is invoked by the MapControl which receives Mouse Events. - * These events are forwarded to the layers, so they can check for clicked geometries. - * @param evnt the mouse event - */ - void mouseEvent(const QMouseEvent *evnt); - - //! returns the middle of the map in projection coordinates - /*! - * - * @return the middle of the map in projection coordinates - */ - QPoint getMapmiddle_px() const; - - void forceRedraw(); - void removeZoomImage(); - - //! adds a layer - /*! - * If multiple layers are added, they are painted in the added order. - * @param layer the layer which should be added - */ - void addLayer(Layer *layer); - - //! removes a layer - /*! - * Removes a layer and redraws existing layers - * @param layer the layer which should be removed - */ - void removeLayer(Layer *layer); - - //! returns the current zoom level - /*! - * @return returns the current zoom level - */ - int currentZoom() const; - - void drawGeoms(QPainter *painter); - void drawImage(QPainter *painter); - - //! Set whether to enable a view bounding box - /*! - * - * @param usebounds enable/disable use of bounding box - */ - void setUseBoundingBox(bool usebounds); - - //! Check if bounding box is being used - /*! - * - * @return if bounding box is being used - */ - bool isBoundingBoxEnabled(); - - //! Set constraints for bounding box - /*! - * - * @param rect specified bounds for view to stay within - */ - void setBoundingBox(QRectF &rect); - - //! Get current bounding box - /*! - * - * @return bounding box - */ - QRectF getBoundingBox(); - -private: - LayerManager &operator=(const LayerManager &rhs); - LayerManager(const LayerManager &old); - //! This method have to be invoked to draw a new offscreen image - /*! - * @param clearImage if the current offscreeen image should be cleared - * @param showZoomImage if a zoom image should be painted - */ - void newOffscreenImage(bool clearImage = true, bool showZoomImage = true); - inline bool checkOffscreen() const; - inline bool containsAll(QList coordinates) const; - inline void moveWidgets(); - inline void setMiddle(QList coordinates); - - MapControl *mapcontrol; - QPoint screenmiddle; // middle of the screen - QPoint scroll; // scrollvalue of the offscreen image - QPoint zoomImageScroll; // scrollvalue of the zoom image - - QSize size; // widget size - QSize offSize; // size of the offscreen image - - QPixmap composedOffscreenImage; - QPixmap zoomImage; - - QList mylayers; - - QPoint mapmiddle_px; // projection-display coordinates - QPointF mapmiddle; // world coordinate - - QPoint whilenewscroll; - - QRectF boundingBox; // limit viewing area if desired - bool useBoundingBox; - -public slots: - void updateRequest(QRectF rect); - void updateRequest(); - void resize(QSize newSize); -}; -} -#endif diff --git a/libs/QMapControl/src/linestring.cpp b/libs/QMapControl/src/linestring.cpp deleted file mode 100644 index 6d729b65c..000000000 --- a/libs/QMapControl/src/linestring.cpp +++ /dev/null @@ -1,229 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "linestring.h" -namespace qmapcontrol -{ -LineString::LineString() - : Curve() -{ - GeometryType = "LineString"; -} - -LineString::LineString(QList const points, QString name, QPen *pen) - : Curve(name) -{ - mypen = pen; - LineString(); - setPoints(points); -} - -LineString::~LineString() -{ - removePoints(); -} - -void LineString::removePoints() -{ - QListIterator iter(childPoints); - while (iter.hasNext()) - { - Point *pt = iter.next(); - if (pt && pt->parentGeometry() == this) - { - delete pt; - pt = 0; - } - } - childPoints.clear(); -} - -void LineString::addPoint(Point *point) -{ - point->setParentGeometry(this); - childPoints.append(point); -} - -QList LineString::points() -{ - return childPoints; -} - -void LineString::setPoints(QList points) -{ - removePoints(); - - for (int i = 0; i < points.size(); i++) - { - points.at(i)->setParentGeometry(this); - } - childPoints = points; -} - -void LineString::draw(QPainter *painter, const MapAdapter *mapadapter, - const QRect &screensize, const QPoint offset) -{ - if (!visible) - return; - - QPolygon p = QPolygon(); - - QPointF c; - for (int i = 0; i < childPoints.size(); i++) - { - c = childPoints[i]->coordinate(); - p.append(mapadapter->coordinateToDisplay(c)); - } - if (mypen != 0) - { - painter->save(); - painter->setPen(*mypen); - } - painter->drawPolyline(p); - if (mypen != 0) - { - painter->restore(); - } - for (int i = 0; i < childPoints.size(); i++) - { - childPoints[i]->draw(painter, mapadapter, screensize, offset); - } -} - -int LineString::numberOfPoints() const -{ - return childPoints.count(); -} - -bool LineString::Touches(Point *geom, const MapAdapter *mapadapter) -{ - touchedPoints.clear(); - - if (points().size() < 2) - { - // really shouldn't end up here since we always add atleast points to create a - // line - return false; - } - - bool touches = false; - - QPointF clickPt = mapadapter->coordinateToDisplay(geom->coordinate()); - - qreal halfwidth = 2; // use 2 pixels by default - if (mypen && mypen->width() > 0) - { - halfwidth = static_cast(mypen->width()) / static_cast(2); - } - - QPointF pt1 = mapadapter->coordinateToDisplay(points().at(0)->coordinate()); - qreal pt1x1 = pt1.x() - halfwidth; - qreal pt1x2 = pt1.x() + halfwidth; - qreal pt1y1 = pt1.y() - halfwidth; - qreal pt1y2 = pt1.y() + halfwidth; - for (int i = 1; i < childPoints.size(); ++i) - { - QPointF pt2 = mapadapter->coordinateToDisplay(childPoints.at(i)->coordinate()); - qreal pt2x1 = pt2.x() - halfwidth; - qreal pt2x2 = pt2.x() + halfwidth; - qreal pt2y1 = pt2.y() - halfwidth; - qreal pt2y2 = pt2.y() + halfwidth; - - // build lazy bounding box - qreal upperLeftX = qMin(pt1x1, qMin(pt1x2, qMin(pt2x1, pt2x2))); - qreal upperLeftY = qMin(pt1y1, qMin(pt1y2, qMin(pt2y1, pt2y2))); - qreal lowerRightX = qMax(pt1x1, qMax(pt1x2, qMax(pt2x1, pt2x2))); - qreal lowerRightY = qMax(pt1y1, qMax(pt1y2, qMax(pt2y1, pt2y2))); - - QRectF bounds(QPointF(upperLeftX, upperLeftY), QPointF(lowerRightX, lowerRightY)); - - if (bounds.contains(clickPt)) - { - touchedPoints.append(childPoints.at(i)); - touches = true; - } - - pt1x1 = pt2x1; - pt1x2 = pt2x2; - pt1y1 = pt2y1; - pt1y2 = pt2y2; - } - - if (touches) - { - emit(geometryClicked(this, QPoint(0, 0))); - } - - return touches; -} - -bool LineString::Touches(Geometry * /*geom*/, const MapAdapter * /*mapadapter*/) -{ - touchedPoints.clear(); - - return false; -} - -QList &LineString::clickedPoints() -{ - return Geometry::clickedPoints(); -} - -bool LineString::hasPoints() const -{ - return childPoints.size() > 0 ? true : false; -} - -bool LineString::hasClickedPoints() const -{ - return touchedPoints.size() > 0 ? true : false; -} - -QRectF LineString::boundingBox() -{ - qreal minlon = 180; - qreal maxlon = -180; - qreal minlat = 90; - qreal maxlat = -90; - for (int i = 0; i < childPoints.size(); ++i) - { - Point *tmp = childPoints.at(i); - if (tmp->longitude() < minlon) - minlon = tmp->longitude(); - if (tmp->longitude() > maxlon) - maxlon = tmp->longitude(); - if (tmp->latitude() < minlat) - minlat = tmp->latitude(); - if (tmp->latitude() > maxlat) - maxlat = tmp->latitude(); - } - QPointF min = QPointF(minlon, minlat); - QPointF max = QPointF(maxlon, maxlat); - QPointF dist = max - min; - QSizeF si = QSizeF(dist.x(), dist.y()); - - return QRectF(min, si); -} -} diff --git a/libs/QMapControl/src/linestring.h b/libs/QMapControl/src/linestring.h deleted file mode 100644 index c8897db5d..000000000 --- a/libs/QMapControl/src/linestring.h +++ /dev/null @@ -1,130 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef LINESTRING_H -#define LINESTRING_H - -#include "qmapcontrol_global.h" -#include "curve.h" - -namespace qmapcontrol -{ -//! A collection of Point objects to describe a line -/*! - * A LineString is a Curve with linear interpolation between Points. Each consecutive pair - *of Points defines a Line segment. - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT LineString : public Curve -{ - Q_OBJECT - -public: - LineString(); - //! constructor - /*! - * The constructor of a LineString takes a list of Points to form a line. - * @param points a list of points - * @param name the name of the LineString - * @param pen a QPen can be used to modify the look of the line. - * @see http://doc.trolltech.com/4.3/qpen.html - */ - LineString(QList const points, QString name = QString(), QPen *pen = 0); - virtual ~LineString(); - - //! returns the points of the LineString - /*! - * @return a list with the points of the LineString - */ - QList points(); - - //! adds a point at the end of the LineString - /*! - * @param point the point which should be added to the LineString - */ - void addPoint(Point *point); - - //! sets the given list as points of the LineString - //! NOTE: these points will get reparented and cleaned up automatically - /*! - * @param points the points which should be set for the LineString - */ - void setPoints(QList points); - - //! returns the number of Points the LineString consists of - /*! - * @return the number of the LineString´s Points - */ - int numberOfPoints() const; - - //! returns the bounding box (rect) that contains all points - /*! - * @return the rect that contains all points - */ - virtual QRectF boundingBox(); - - //! returns true if the LineString has Childs - /*! - * This is equal to: numberOfPoints() > 0 - * @return true it the LineString has Childs (=Points) - * @see clickedPoints() - */ - virtual bool hasPoints() const; - - //! returns true if the LineString has clicked Points - /*! - * @return true if childs of a LineString were clicked - * @see clickedPoints() - */ - virtual bool hasClickedPoints() const; - - //! returns the clicked Points - /*! - * If a LineString was clicked it could be neccessary to figure out which of its - * points where clicked. Do do so the methods hasPoints() and clickedPoints() can be - * used. When a point is added to a LineString the Point becomes its child. It is - * possible (depending on the zoomfactor) to click more than one Point of a - * LineString, so this method returns a list. - * @return the clicked Points of the LineString - */ - virtual QList &clickedPoints(); - -protected: - virtual bool Touches(Geometry *geom, const MapAdapter *mapadapter); - virtual bool Touches(Point *geom, const MapAdapter *mapadapter); - virtual void draw(QPainter *painter, const MapAdapter *mapadapter, - const QRect &screensize, const QPoint offset); - -private: - //! removes cleans up memory of child points that were reparented with setPoints() - /*! - * @see setPoints() - */ - void removePoints(); - - QList childPoints; -}; -} -#endif diff --git a/libs/QMapControl/src/mapadapter.cpp b/libs/QMapControl/src/mapadapter.cpp deleted file mode 100644 index b86b34957..000000000 --- a/libs/QMapControl/src/mapadapter.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "mapadapter.h" -namespace qmapcontrol -{ -MapAdapter::MapAdapter(const QString &qHost, const QString &qServerPath, int qTilesize, - int qMinZoom, int qMaxZoom) - : mTileSize(qTilesize) - , mMin_zoom(qMinZoom) - , mMax_zoom(qMaxZoom) -{ - mCurrent_zoom = qMinZoom; - changeHostAddress(qHost, qServerPath); -} - -MapAdapter::~MapAdapter() { } - -void MapAdapter::changeHostAddress(const QString qHost, const QString qServerPath) -{ - mServerHost = qHost; - mServerPath = qServerPath; -} - -QString MapAdapter::host() const -{ - return mServerHost; -} - -QString MapAdapter::serverPath() const -{ - return mServerPath; -} - -int MapAdapter::tilesize() const -{ - return mTileSize; -} - -int MapAdapter::minZoom() const -{ - return mMin_zoom; -} - -int MapAdapter::maxZoom() const -{ - return mMax_zoom; -} - -int MapAdapter::currentZoom() const -{ - return mCurrent_zoom; -} - -int MapAdapter::adaptedZoom() const -{ - return mMax_zoom < mMin_zoom ? mMin_zoom - mCurrent_zoom : mCurrent_zoom; -} - -void MapAdapter::setBoundingBox(qreal qMinX, qreal qMinY, qreal qMaxX, qreal qMaxY) -{ - mBoundingBox = QRectF(QPointF(qMinX, qMinY), QPointF(qMaxX, qMaxY)); -} - -int MapAdapter::tileSize() -{ - return mTileSize; -} -} diff --git a/libs/QMapControl/src/mapadapter.h b/libs/QMapControl/src/mapadapter.h deleted file mode 100644 index f8ebc03e9..000000000 --- a/libs/QMapControl/src/mapadapter.h +++ /dev/null @@ -1,185 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef MAPADAPTER_H -#define MAPADAPTER_H - -#include "qmapcontrol_global.h" -#include -#include -#include -#include -#include -#include -#include -#include - -namespace qmapcontrol -{ -//! Used to fit map servers into QMapControl -/*! - * MapAdapters are needed to convert between world- and display coordinates. - * This calculations depend on the used map projection. - * There are two ready-made MapAdapters: - * - TileMapAdapter, which is ready to use for OpenStreetMap or Google (Mercator - * projection) - * - WMSMapAdapter, which could be used for the most WMS-Server (some servers show - * errors, because of image ratio) - * - * MapAdapters are also needed to form the HTTP-Queries to load the map tiles. - * The maps from WMS Servers are also divided into tiles, because those can be better - * cached. - * - * @see TileMapAdapter, @see WMSMapAdapter - * - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT MapAdapter : public QObject -{ - friend class Layer; - - Q_OBJECT - -public: - virtual ~MapAdapter(); - - //! returns the host of this MapAdapter - /*! - * @return the host of this MapAdapter - */ - QString host() const; - - //! returns the server path part of this MapAdapter - /*! - * @return the serverpath of this MapAdapter - */ - virtual QString serverPath() const; - - //! change or update server host address post init - /*! - * @param host the host address - * @param serverPath the server path - */ - virtual void changeHostAddress(const QString qHost, - const QString qServerPath = QString()); - - //! returns the size of the tiles - /*! - * @return the size of the tiles - */ - int tilesize() const; - - //! returns the min zoom value - /*! - * @return the min zoom value - */ - int minZoom() const; - - //! returns the max zoom value - /*! - * @return the max zoom value - */ - int maxZoom() const; - - //! returns the current zoom - /*! - * @return the current zoom - */ - int currentZoom() const; - - virtual int adaptedZoom() const; - - //! translates a world coordinate to display coordinate - /*! - * The calculations also needs the current zoom. The current zoom is managed by the - * MapAdapter, so this is no problem. To divide model from view the current zoom - * should be moved to the layers. - * @param coordinate the world coordinate - * @return the display coordinate (in widget coordinates) - */ - virtual QPoint coordinateToDisplay(const QPointF &coordinate) const = 0; - - //! translates display coordinate to world coordinate - /*! - * The calculations also needs the current zoom. The current zoom is managed by the - * MapAdapter, so this is no problem. To divide model from view the current zoom - * should be moved to the layers. - * @param point the display coordinate - * @return the world coordinate - */ - virtual QPointF displayToCoordinate(const QPoint &point) const = 0; - - QRectF getBoundingbox() const { return mBoundingBox; } - void setBoundingBox(qreal qMinX, qreal qMinY, qreal qMaxX, qreal qMaxY); - - //! returns the tilesize for the mapadapter - /*! - * returns the tilesize for the mapadapter - * @return the tile size - */ - int tileSize(); - -protected: - MapAdapter(const QString &qHost, const QString &qServerPath, int qTilesize, - int qMinZoom = 0, int qMaxZoom = 0); - virtual void zoom_in() = 0; - virtual void zoom_out() = 0; - virtual bool isTileValid(int x, int y, int z) const = 0; - virtual QString query(int x, int y, int z) const = 0; - - QSize mSize; - QString mServerHost; - QString mServerPath; - - int mTileSize; - int mMin_zoom; - int mMax_zoom; - int mCurrent_zoom; - - int param1; - int param2; - int param3; - int param4; - int param5; - int param6; - - QString sub1; - QString sub2; - QString sub3; - QString sub4; - QString sub5; - QString sub6; - - int order[3][2]; - - int mMiddle_x; - int mMiddle_y; - - qreal mNumberOfTiles; - QLocale loc; - QRectF mBoundingBox; -}; -} -#endif diff --git a/libs/QMapControl/src/mapcontrol.cpp b/libs/QMapControl/src/mapcontrol.cpp deleted file mode 100644 index 857a20077..000000000 --- a/libs/QMapControl/src/mapcontrol.cpp +++ /dev/null @@ -1,622 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "mapcontrol.h" -#include - -namespace qmapcontrol -{ -MapControl::MapControl(QWidget *parent, Qt::WindowFlags windowFlags) - : QFrame(parent, windowFlags) - , m_layermanager(0) - , m_imagemanager(0) - , size(100, 100) - , mouse_wheel_events(true) - , mousepressed(false) - , mymousemode(Panning) - , scaleVisible(false) - , crosshairsVisible(true) - , m_loadingFlag(false) - , steps(0) - , m_doubleBuffer(0) -{ - __init(); -} - -MapControl::MapControl(QSize size, MouseMode mousemode, bool showScale, - bool showCrosshairs, QWidget *parent, Qt::WindowFlags windowFlags) - : QFrame(parent, windowFlags) - , m_layermanager(0) - , m_imagemanager(0) - , size(size) - , mouse_wheel_events(true) - , mousepressed(false) - , mymousemode(mousemode) - , scaleVisible(showScale) - , crosshairsVisible(showCrosshairs) - , m_loadingFlag(false) - , steps(0) - , m_doubleBuffer(0) -{ - __init(); -} - -MapControl::~MapControl() -{ - if (m_layermanager) - { - m_layermanager->deleteLater(); - m_layermanager = 0; - } - - if (m_imagemanager) - { - m_imagemanager->deleteLater(); - m_imagemanager = 0; - } -} - -void MapControl::__init() -{ - m_layermanager = new LayerManager(this, size); - m_imagemanager = new ImageManager(this); - screen_middle = QPoint(size.width() / 2, size.height() / 2); - - mousepressed = false; - - connect(m_imagemanager, SIGNAL(imageReceived()), this, SLOT(updateRequestNew())); - - connect(m_imagemanager, SIGNAL(loadingFinished()), this, SLOT(loadingFinished())); - - this->setMaximumSize(size.width() + 1, size.height() + 1); - mouse_wheel_events = true; -} - -void MapControl::enableMouseWheelEvents(bool enabled) -{ - mouse_wheel_events = enabled; -} - -bool MapControl::mouseWheelEventsEnabled() -{ - return mouse_wheel_events; -} - -QPointF MapControl::currentCoordinate() const -{ - return m_layermanager->currentCoordinate(); -} - -Layer *MapControl::layer(const QString &layername) const -{ - return m_layermanager->layer(layername); -} - -QList MapControl::layers() const -{ - return m_layermanager->layers(); -} - -int MapControl::numberOfLayers() const -{ - return m_layermanager->layers().size(); -} - -void MapControl::followGeometry(const Geometry *geom) const -{ - if (geom == 0) - { - return; - } - - // ensures only one signal is ever connected - stopFollowing(geom); - - connect(geom, SIGNAL(positionChanged(Geometry *)), this, - SLOT(positionChanged(Geometry *))); -} - -void MapControl::positionChanged(Geometry *geom) -{ - if (!m_layermanager->layer() || !m_layermanager->layer()->mapadapter()) - { - qDebug() << "MapControl::positionChanged() - no layers configured"; - return; - } - - Point *point = dynamic_cast(geom); - if (point != 0) - { - QPoint start = m_layermanager->layer()->mapadapter()->coordinateToDisplay( - currentCoordinate()); - QPoint dest = m_layermanager->layer()->mapadapter()->coordinateToDisplay( - point->coordinate()); - QPoint step = (dest - start); - m_layermanager->scrollView(step); - updateRequestNew(); - } -} - -void MapControl::moveTo(QPointF coordinate) -{ - target = coordinate; - steps = 25; - if (moveMutex.tryLock()) - { - QTimer::singleShot(40, this, SLOT(tick())); - } - else - { - // stopMove(coordinate); - moveMutex.unlock(); - } -} -void MapControl::tick() -{ - if (!m_layermanager->layer() || !m_layermanager->layer()->mapadapter()) - { - qDebug() << "MapControl::tick() - no layers configured"; - return; - } - - QPoint start - = m_layermanager->layer()->mapadapter()->coordinateToDisplay(currentCoordinate()); - QPoint dest = m_layermanager->layer()->mapadapter()->coordinateToDisplay(target); - - QPoint step = (dest - start) / steps; - m_layermanager->scrollView(step); - - update(); - m_layermanager->updateRequest(); - steps--; - if (steps > 0) - { - QTimer::singleShot(50, this, SLOT(tick())); - } - else - { - moveMutex.unlock(); - } -} - -void MapControl::paintEvent(QPaintEvent *evnt) -{ - Q_UNUSED(evnt); - - if (m_doubleBuffer == 0) - { - m_doubleBuffer = new QPixmap(width(), height()); - } - // check for resize change - else if (m_doubleBuffer->width() != width() || m_doubleBuffer->height() != height()) - { - delete m_doubleBuffer; - m_doubleBuffer = new QPixmap(width(), height()); - } - - QPainter dbPainter; - dbPainter.begin(m_doubleBuffer); - - m_layermanager->drawImage(&dbPainter); - m_layermanager->drawGeoms(&dbPainter); - - // draw scale - if (scaleVisible) - { - static QList distanceList; - if (distanceList.isEmpty()) - { - distanceList << 5000000 << 2000000 << 1000000 << 1000000 << 1000000 << 100000 - << 100000 << 50000 << 50000 << 10000 << 10000 << 10000 << 1000 - << 1000 << 500 << 200 << 100 << 50 << 25; - } - - if (currentZoom() >= m_layermanager->minZoom() - && distanceList.size() > currentZoom()) - { - double line; - line = distanceList.at(currentZoom()) / pow(2.0, 18 - currentZoom()) - / 0.597164; - - // draw the scale - dbPainter.setPen(Qt::black); - QPoint p1(10, size.height() - 20); - QPoint p2((int)line, size.height() - 20); - dbPainter.drawLine(p1, p2); - - dbPainter.drawLine(10, size.height() - 15, 10, size.height() - 25); - dbPainter.drawLine((int)line, size.height() - 15, (int)line, - size.height() - 25); - - QString distance; - if (distanceList.at(currentZoom()) >= 1000) - { - distance - = QVariant(distanceList.at(currentZoom()) / 1000).toString() + " km"; - } - else - { - distance = QVariant(distanceList.at(currentZoom())).toString() + " m"; - } - - dbPainter.drawText(QPoint((int)line + 10, size.height() - 15), distance); - } - } - - if (crosshairsVisible) - { - auto oldPen = dbPainter.pen(); - dbPainter.setPen(QPen(QBrush(QColor(255, 0, 0)), 1)); - dbPainter.drawLine(screen_middle.x(), screen_middle.y() - 15, screen_middle.x(), - screen_middle.y() + 15); // | - dbPainter.drawLine(screen_middle.x() - 15, screen_middle.y(), - screen_middle.x() + 15, screen_middle.y()); // - - dbPainter.drawEllipse(screen_middle.x() - 10, screen_middle.y() - 10, 20, 20); - dbPainter.setPen(oldPen); - } - - dbPainter.drawRect(0, 0, size.width(), size.height()); - - if (mousepressed && mymousemode == Dragging) - { - QRect rect = QRect(pre_click_px, current_mouse_pos); - dbPainter.drawRect(rect); - } - dbPainter.end(); - QPainter painter; - painter.begin(this); - painter.drawPixmap(rect(), *m_doubleBuffer, m_doubleBuffer->rect()); - painter.end(); -} - -// mouse events -void MapControl::mousePressEvent(QMouseEvent *evnt) -{ - m_layermanager->mouseEvent(evnt); - - if (m_layermanager->layers().size() > 0) - { - if (evnt->button() == 1) - { - mousepressed = true; - pre_click_px = QPoint(evnt->x(), evnt->y()); - } - else if (evnt->button() == 2 && mouseWheelEventsEnabled() - && mymousemode != None) // zoom in - { - zoomIn(); - } - else if (evnt->button() == 4 && mouseWheelEventsEnabled() - && mymousemode != None) // zoom out - { - zoomOut(); - } - } - - // emit(mouseEvent(evnt)); - emit(mouseEventCoordinate(evnt, clickToWorldCoordinate(evnt->pos()))); -} - -void MapControl::mouseReleaseEvent(QMouseEvent *evnt) -{ - mousepressed = false; - if (mymousemode == Dragging) - { - QPointF ulCoord = clickToWorldCoordinate(pre_click_px); - QPointF lrCoord = clickToWorldCoordinate(current_mouse_pos); - - QRectF coordinateBB - = QRectF(ulCoord, QSizeF((lrCoord - ulCoord).x(), (lrCoord - ulCoord).y())); - - emit(boxDragged(coordinateBB)); - } - - emit(mouseEventCoordinate(evnt, clickToWorldCoordinate(evnt->pos()))); -} - -void MapControl::mouseMoveEvent(QMouseEvent *evnt) -{ - if (mousepressed && mymousemode == Panning) - { - QPoint offset = pre_click_px - QPoint(evnt->x(), evnt->y()); - m_layermanager->scrollView(offset); - pre_click_px = QPoint(evnt->x(), evnt->y()); - } - else if (mousepressed && mymousemode == Dragging) - { - current_mouse_pos = QPoint(evnt->x(), evnt->y()); - } - - update(); -} - -void MapControl::wheelEvent(QWheelEvent *evnt) -{ - (void) evnt; - /*if(mouse_wheel_events && evnt->angleDelta() ) - { - if(evnt->delta() > 0) - { - if( currentZoom() == m_layermanager->maxZoom() ) - { - return; - } - - setView(clickToWorldCoordinate(evnt->pos())); //zoom in under mouse cursor - zoomIn(); - } - else - { - if( currentZoom() == m_layermanager->minZoom() ) - { - return; - } - zoomOut(); - } - evnt->accept(); - } - else - { - evnt->ignore(); - }*/ -} - -ImageManager *MapControl::getImageManager() -{ - return m_imagemanager; -} - -QPointF MapControl::clickToWorldCoordinate(QPoint click) -{ - if (!m_layermanager->layer() || !m_layermanager->layer()->mapadapter()) - { - qDebug() << "MapControl::clickToWorldCoordinate() - no layers configured"; - return QPointF(); - } - // click coordinate to image coordinate - QPoint displayToImage - = QPoint(click.x() - screen_middle.x() + m_layermanager->getMapmiddle_px().x(), - click.y() - screen_middle.y() + m_layermanager->getMapmiddle_px().y()); - - // image coordinate to world coordinate - return m_layermanager->layer()->mapadapter()->displayToCoordinate(displayToImage); -} - -void MapControl::updateRequest(QRect rect) -{ - update(rect); -} - -void MapControl::updateRequestNew() -{ - m_layermanager->forceRedraw(); -} - -// slots -void MapControl::zoomIn() -{ - m_layermanager->zoomIn(); - updateView(); - emit viewChanged(currentCoordinate(), currentZoom()); -} - -void MapControl::zoomOut() -{ - m_layermanager->zoomOut(); - updateView(); - emit viewChanged(currentCoordinate(), currentZoom()); -} - -void MapControl::setZoom(int zoomlevel) -{ - m_layermanager->setZoom(zoomlevel); - updateView(); - emit viewChanged(currentCoordinate(), currentZoom()); -} - -int MapControl::currentZoom() const -{ - return m_layermanager->currentZoom(); -} - -void MapControl::scrollLeft(int pixel) -{ - m_layermanager->scrollView(QPoint(-pixel, 0)); - updateView(); -} - -void MapControl::scrollRight(int pixel) -{ - m_layermanager->scrollView(QPoint(pixel, 0)); - updateView(); -} - -void MapControl::scrollUp(int pixel) -{ - m_layermanager->scrollView(QPoint(0, -pixel)); - updateView(); -} - -void MapControl::scrollDown(int pixel) -{ - m_layermanager->scrollView(QPoint(0, pixel)); - updateView(); -} - -void MapControl::scroll(const QPoint scroll) -{ - m_layermanager->scrollView(scroll); - updateView(); -} - -void MapControl::updateView() const -{ - m_layermanager->setView(currentCoordinate()); - emit viewChanged(currentCoordinate(), currentZoom()); -} - -void MapControl::setView(const QPointF &coordinate) const -{ - m_layermanager->setView(coordinate); - emit viewChanged(currentCoordinate(), currentZoom()); -} - -void MapControl::setView(const QList coordinates) const -{ - m_layermanager->setView(coordinates); - emit viewChanged(currentCoordinate(), currentZoom()); -} - -void MapControl::setViewAndZoomIn(const QList coordinates) const -{ - m_layermanager->setViewAndZoomIn(coordinates); - emit viewChanged(currentCoordinate(), currentZoom()); -} - -void MapControl::setView(const Point *point) const -{ - m_layermanager->setView(point->coordinate()); -} - -void MapControl::loadingFinished() -{ - m_layermanager->removeZoomImage(); -} - -void MapControl::addLayer(Layer *layer) -{ - layer->setImageManager(m_imagemanager); - m_layermanager->addLayer(layer); - update(); -} - -void MapControl::removeLayer(Layer *layer) -{ - disconnect(layer, 0, 0, 0); - m_layermanager->removeLayer(layer); - update(); -} - -void MapControl::setMouseMode(MouseMode mousemode) -{ - mymousemode = mousemode; -} - -MapControl::MouseMode MapControl::mouseMode() -{ - return mymousemode; -} - -void MapControl::stopFollowing(const Geometry *geom) const -{ - disconnect(geom, SIGNAL(positionChanged(Geometry *)), this, - SLOT(positionChanged(Geometry *))); -} - -void MapControl::enablePersistentCache(const QDir &path, const int qDiskSizeMB) -{ - m_imagemanager->setCacheDir(path, qDiskSizeMB); -} - -void MapControl::setProxy(QString host, int port, const QString username, - const QString password) -{ - m_imagemanager->setProxy(host, port, username, password); -} - -void MapControl::showScale(bool visible) -{ - scaleVisible = visible; -} - -void MapControl::showCrosshairs(bool visible) -{ - crosshairsVisible = visible; -} - -void MapControl::resize(const QSize newSize) -{ - this->size = newSize; - screen_middle = QPoint(newSize.width() / 2, newSize.height() / 2); - - this->setMaximumSize(newSize.width() + 1, newSize.height() + 1); - m_layermanager->resize(newSize); - - QFrame::resize(newSize); - - emit viewChanged(currentCoordinate(), currentZoom()); -} - -void MapControl::setUseBoundingBox(bool usebounds) -{ - if (m_layermanager) - m_layermanager->setUseBoundingBox(usebounds); -} - -bool MapControl::isBoundingBoxEnabled() -{ - if (m_layermanager) - return m_layermanager->isBoundingBoxEnabled(); - return false; -} - -void MapControl::setBoundingBox(QRectF &rect) -{ - if (m_layermanager) - m_layermanager->setBoundingBox(rect); -} - -QRectF MapControl::getBoundingBox() -{ - if (m_layermanager) - return m_layermanager->getBoundingBox(); - - // Return an empty QRectF if there is no m_layermanager - return QRectF(); -} - -QRectF MapControl::getViewport() -{ - if (m_layermanager) - return m_layermanager->getViewport(); - - // Return an empty QRectF if there is no m_layermanager - return QRectF(); -} - -bool MapControl::isGeometryVisible(Geometry *geometry) -{ - if (!geometry || getViewport() == QRectF()) - return false; - - return getViewport().contains(geometry->boundingBox()); -} - -int MapControl::loadingQueueSize() -{ - return m_imagemanager->loadQueueSize(); -} - -} diff --git a/libs/QMapControl/src/mapcontrol.h b/libs/QMapControl/src/mapcontrol.h deleted file mode 100644 index c9d5fefe4..000000000 --- a/libs/QMapControl/src/mapcontrol.h +++ /dev/null @@ -1,444 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef MAPCONTROL_H -#define MAPCONTROL_H - -#include "qmapcontrol_global.h" -#include "layermanager.h" -#include "layer.h" -#include "mapadapter.h" -#include "geometry.h" -#include "imagemanager.h" - -#include -#include -#include - -//! QMapControl namespace -namespace qmapcontrol -{ -class LayerManager; -class MapAdapter; -class Layer; - -//! The control element of the widget and also the widget itself -/*! - * This is the main widget. - * To this control layers can be added. - * A MapControl has to be instantiated with a QSize which sets the size the widget takes - * in a layout. The given size is also the size which is assured to be filled with map - * images. - * - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT MapControl : public QFrame -{ - Q_OBJECT - -public: - //! Declares what actions mouse movements have on the map - enum MouseMode - { - Panning, /*!< The map is moved */ - Dragging, /*!< A rectangular can be drawn */ - None /*!< Mouse move events have no efect to the map */ - }; - - //! The QWidget constructor of MapControl for use with QtDesigner - /*! - * @param qParent QWidget parent - * @param windowFlags QWidget Window flags - */ - MapControl(QWidget *parent = 0, Qt::WindowFlags windowFlags = Qt::WindowFlags()); - - //! The constructor of MapControl - /*! - * The MapControl is the widget which displays the maps. - * The size describes the area which gets filled with map data - * When you give no MouseMode, the mouse moves the map. - * You can change the MouseMode at runtime, e.g. to Dragging, which lets the user drag - * a rectangular box. After the dragging a signal with the size of the box is emitted. - * The MouseMode ´None´ can be used, to completely define the control of the map - * yourself. - * @param size the size which the widget should fill with map data - * @param mousemode the way mouse events are handled - * @param showScale true if the scale should be displayed - * @param showCrossHairs true if crosshairs should be shown at the centre of the map - * @param parent QWidget parent - * @param windowFlags QWidget Window flags - */ - MapControl(QSize size, MouseMode mousemode = Panning, bool showScale = false, - bool showCrosshairs = true, QWidget *parent = 0, - Qt::WindowFlags windowFlags = Qt::WindowFlags()); - - ~MapControl(); - - //! adds a layer - /*! - * If multiple layers are added, they are painted in the added order. - * @param layer the layer which should be added - */ - void addLayer(Layer *layer); - - //! removes a layer - /*! - * Removes a layer and redraws existing layers - * @param layer the layer which should be removed - */ - void removeLayer(Layer *layer); - - //! returns the layer with the given name - /*! - * @param layername name of the wanted layer - * @return the layer with the given name - */ - Layer *layer(const QString &layername) const; - - //! returns the names of all layers - /*! - * @return returns a QList with the names of all layers - */ - QList layers() const; - - //! returns the number of existing layers - /*! - * @return returns the number of existing layers - */ - int numberOfLayers() const; - - //! returns the coordinate of the center of the map - /*! - * @return returns the coordinate of the middle of the screen - */ - QPointF currentCoordinate() const; - - //! returns the current zoom level - /*! - * @return returns the current zoom level - */ - int currentZoom() const; - - //! update screen - void updateView() const; - - //! enable mouse wheel events - /*! - * @parm enable mouse event - */ - void enableMouseWheelEvents(bool enabled = true); - - //! returns mouse wheel allowed - /*! - * @return mouse wheel events enabled - */ - bool mouseWheelEventsEnabled(); - - //! sets the middle of the map to the given coordinate - /*! - * @param coordinate the coordinate which the view´s middle should be set to - */ - void setView(const QPointF &coordinate) const; - - //! sets the view, so all coordinates are visible - /*! - * @param coordinates the Coorinates which should be visible - */ - void setView(const QList coordinates) const; - - //! sets the view and zooms in, so all coordinates are visible - /*! - * The code of setting the view to multiple coordinates is "brute force" and pretty - * slow. Have to be reworked. - * @param coordinates the Coorinates which should be visible - */ - void setViewAndZoomIn(const QList coordinates) const; - - //! sets the view to the given Point - /*! - * - * @param point the geometric point the view should be set to - */ - void setView(const Point *point) const; - - //! Keeps the center of the map on the Geometry, even when it moves - /*! - * To stop the following the method stopFollowing() have to be called - * @param geometry the Geometry which should stay centered. - */ - void followGeometry(const Geometry *geometry) const; - - // TODO: - // void followGeometry(const QList) const; - - //! Stops the following of a Geometry - /*! - * if the view is set to follow a Geometry this method stops the trace. - * See followGeometry(). - * @param geometry the Geometry which should not followed anymore - */ - void stopFollowing(const Geometry *geometry) const; - - //! Smoothly moves the center of the view to the given Coordinate - /*! - * @param coordinate the Coordinate which the center of the view should moved to - */ - void moveTo(QPointF coordinate); - - //! sets the Mouse Mode of the MapControl - /*! - * There are three MouseModes declard by an enum. - * The MouesMode Dragging draws an rectangular in the map while the MouseButton is - * pressed. When the Button is released a boxDragged() signal is emitted. - * - * The second MouseMode (the default) is Panning, which allows to drag the map around. - * @param mousemode the MouseMode - */ - void setMouseMode(MouseMode mousemode); - - //! returns the current MouseMode - /*! - * For a explanation for the MouseModes see setMouseMode() - * @return the current MouseMode - */ - MapControl::MouseMode mouseMode(); - - //! Enable persistent caching of map tiles - /*! - * Call this method to allow the QMapControl widget to save map tiles - * persistent (also over application restarts). - * Tiles are stored in the subdirectory "QMapControl.cache" within the - * user's home directory. This can be changed by giving a path. - * @param path the path to the cache directory - * @param tileExpiry how long to keep in cache before requesting a new image. 0 or -1 - * to disable and keep forever - */ - void enablePersistentCache(const QDir &path = QDir::homePath() + "/QMapControl.cache", - const int qDiskSizeMB = 250); - - //! Sets the proxy for HTTP connections - /*! - * This method sets the proxy for HTTP connections. - * This is not provided by the current Qtopia version! - * @param host the proxy´s hostname or ip - * @param port the proxy´s port - * @param username the proxy´s username - * @param password the proxy´s password - */ - void setProxy(QString host, int port, const QString username = QString(), - const QString password = QString()); - - //! Displays the scale within the widget - /*! - * - * @param show true if the scale should be displayed - */ - void showScale(bool visible); - - void showCrosshairs(bool visible); - - //! Set whether to enable a view bounding box - /*! - * - * @param usebounds enable/disable use of bounding box - */ - void setUseBoundingBox(bool usebounds); - - //! Check if bounding box is being used - /*! - * - * @return if bounding box is being used - */ - bool isBoundingBoxEnabled(); - - //! Set constraints for bounding box - /*! - * - * @param rect specified bounds for view to stay within - */ - void setBoundingBox(QRectF &rect); - - //! Get current bounding box - /*! - * - * @return bounding box - */ - QRectF getBoundingBox(); - - //! Get viewport rect - /*! - * - * @return view port rect - */ - QRectF getViewport(); - - //! returns if a geometry is visible on viewport - /*! - * - * @param geometry the Geometry object to check - * @return true if geometry is visible - */ - bool isGeometryVisible(Geometry *geometry); - - //! returns loading images queue size - /*! - * - * @return int pending loading images (queue size) - */ - int loadingQueueSize(); - - //! returns the imagemanager pointer - /*! - * - * @return imagemanager pointer - */ - ImageManager *getImageManager(); - -private: - void __init(); - LayerManager *m_layermanager; - ImageManager *m_imagemanager; - - QPoint screen_middle; // middle of the widget (half size) - - QPoint pre_click_px; // used for scrolling (MouseMode Panning) - QPoint - current_mouse_pos; // used for scrolling and dragging (MouseMode Panning/Dragging) - - QSize size; // size of the widget - - bool mouse_wheel_events; - bool mousepressed; - MouseMode mymousemode; - bool scaleVisible; - bool crosshairsVisible; - - bool m_loadingFlag; - - QMutex moveMutex; // used for method moveTo() - QPointF target; // used for method moveTo() - int steps; // used for method moveTo() - - QPixmap *m_doubleBuffer; - - QPointF clickToWorldCoordinate(QPoint click); - - Q_DISABLE_COPY(MapControl) - -protected: - void paintEvent(QPaintEvent *evnt); - void mousePressEvent(QMouseEvent *evnt); - void mouseReleaseEvent(QMouseEvent *evnt); - void mouseMoveEvent(QMouseEvent *evnt); - void wheelEvent(QWheelEvent *evnt); - -signals: - // void mouseEvent(const QMouseEvent* evnt); - - //! Emitted AFTER a MouseEvent occured - /*! - * This signals allows to receive click events within the MapWidget together with the - * world coordinate. It is emitted on MousePressEvents and MouseReleaseEvents. The - * kind of the event can be obtained by checking the events type. - * @param evnt the QMouseEvent that occured - * @param coordinate the corresponding world coordinate - */ - void mouseEventCoordinate(const QMouseEvent *evnt, const QPointF coordinate); - - //! Emitted, after a Rectangular is dragged. - /*! - * It is possible to select a rectangular area in the map, if the MouseMode is set to - * Dragging. The coordinates are in world coordinates - * @param QRectF the dragged Rect - */ - void boxDragged(const QRectF); - - //! This signal is emitted, when a Geometry is clicked - /*! - * @param geometry The clicked Geometry object - * @param coord_px The coordinate in pixel coordinates - */ - void geometryClicked(qmapcontrol::Geometry *geometry, QPoint coord_px); - - //! This signal is emitted, after the view have changed - /*! - * @param coordinate The current coordinate - * @param zoom The current zoom - */ - void viewChanged(const QPointF &coordinate, int zoom) const; - -public slots: - //! zooms in one step - void zoomIn(); - - //! zooms out one step - void zoomOut(); - - //! sets the given zoomlevel - /*! - * @param zoomlevel the zoomlevel - */ - void setZoom(int zoomlevel); - - //! scrolls the view to the left - void scrollLeft(int pixel = 10); - - //! scrolls the view to the right - void scrollRight(int pixel = 10); - - //! scrolls the view up - void scrollUp(int pixel = 10); - - //! scrolls the view down - void scrollDown(int pixel = 10); - - //! scrolls the view by the given point - void scroll(const QPoint scroll); - - //! updates the map for the given rect - /*! - * @param rect the area which should be repainted - */ - void updateRequest(QRect rect); - - //! updates the hole map by creating a new offscreen image - /*! - * - */ - void updateRequestNew(); - - //! Resizes the map to the given size - /*! - * @param newSize The new size - */ - void resize(const QSize newSize); - -private slots: - void tick(); - void loadingFinished(); - void positionChanged(qmapcontrol::Geometry *geom); -}; -} -#endif diff --git a/libs/QMapControl/src/maplayer.cpp b/libs/QMapControl/src/maplayer.cpp deleted file mode 100644 index 821c614b4..000000000 --- a/libs/QMapControl/src/maplayer.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "maplayer.h" -namespace qmapcontrol -{ -MapLayer::MapLayer(QString layername, MapAdapter *mapadapter, bool takeevents) - : Layer(layername, mapadapter, Layer::MapLayer, takeevents) -{ -} - -MapLayer::~MapLayer() { } -} diff --git a/libs/QMapControl/src/maplayer.h b/libs/QMapControl/src/maplayer.h deleted file mode 100644 index c034acf58..000000000 --- a/libs/QMapControl/src/maplayer.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef MAPLAYER_H -#define MAPLAYER_H - -#include "qmapcontrol_global.h" -#include "layer.h" - -namespace qmapcontrol -{ -//! MapLayer class -/*! - * There are two different layer types: - * - MapLayer: Displays Maps, but also Geometries. The configuration for displaying maps - *have to be done in the MapAdapter - * - GeometryLayer: Only displays Geometry objects. - * - * MapLayers also can display Geometry objects. The difference to the GeometryLayer is the - *repainting. Objects that are added to a MapLayer are "baken" on the map. This means, - *when you change it´s position for example the changes are not visible until a new - *offscreen image has been drawn. If you have "static" Geometries which won´t change their - * position this is fine. But if you want to change the objects position or pen you should - *use a GeometryLayer. Those are repainted immediately on changes. - * - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT MapLayer : public Layer -{ - Q_OBJECT - -public: - //! MapLayer constructor - /*! - * This is used to construct a map layer. - * - * @param layername The name of the Layer - * @param mapadapter The MapAdapter which does coordinate translation and - * Query-String-Forming - * @param takeevents Should the Layer receive MouseEvents? This is set to true by - * default. Setting it to false could be something like a "speed up hint" - */ - MapLayer(QString layername, MapAdapter *mapadapter, bool takeevents = true); - virtual ~MapLayer(); -}; -} -#endif diff --git a/libs/QMapControl/src/mapnetwork.cpp b/libs/QMapControl/src/mapnetwork.cpp deleted file mode 100644 index 466112ac0..000000000 --- a/libs/QMapControl/src/mapnetwork.cpp +++ /dev/null @@ -1,227 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "mapnetwork.h" -#include -#include -#include -#include - -#include - -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) -#include -#endif - -namespace qmapcontrol -{ -MapNetwork::MapNetwork(ImageManager *parent) - : parent(parent) - , http(new QNetworkAccessManager(this)) - , loaded(0) - , networkActive(false) - , cacheEnabled(false) -{ - connect(http, SIGNAL(finished(QNetworkReply *)), this, - SLOT(requestFinished(QNetworkReply *))); -} - -MapNetwork::~MapNetwork() -{ - foreach (QNetworkReply *reply, replyList) - { - if (reply->isRunning()) - { - reply->abort(); - } - reply->deleteLater(); - reply = 0; - } - - http->deleteLater(); - http = 0; -} - -void MapNetwork::loadImage(const QString &host, const QString &url) -{ - QString hostName = host; - QString portNumber = QString("80"); - - QRegExp r(".:."); - - if (r.indexIn(host) >= 0) - { - QStringList s = host.split(":"); - - hostName = s.at(0); - portNumber = s.at(1); - } - - QString finalUrl = QString("http://%1:%2%3").arg(hostName).arg(portNumber).arg(url); - QNetworkRequest request = QNetworkRequest(QUrl(finalUrl)); - - if (cacheEnabled) - { - // prefer our cached version (if enabled) over fresh network query - request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, - QNetworkRequest::PreferCache); - // Data obtained should be saved to cache for future uses - request.setAttribute(QNetworkRequest::CacheSaveControlAttribute, true); - } - - request.setRawHeader( - "User-Agent", - "Mozilla/5.0 (PC; U; Intel; Linux; en) AppleWebKit/420+ (KHTML, like Gecko)"); - - QMutexLocker lock(&vectorMutex); - replyList.append(http->get(request)); - loadingMap.insert(finalUrl, url); -} - -void MapNetwork::requestFinished(QNetworkReply *reply) -{ - if (!reply) - { - // qDebug() << "MapNetwork::requestFinished - reply no longer valid"; - return; - } - - // qDebug() << "MapNetwork::requestFinished" << reply->url().toString(); - if (reply->error() == QNetworkReply::NoError) - { - QString id = reply->url().toString(); - // check if id is in map? - bool idInMap = false; - QString url; - { - QMutexLocker lock(&vectorMutex); - idInMap = loadingMap.contains(id); - if (idInMap) - { - url = loadingMap[id]; - loadingMap.remove(id); - } - } - - if (idInMap) - { - // qDebug() << "request finished for reply: " << reply << ", belongs to: " << - // url << endl; - QByteArray ax; - - if (reply->bytesAvailable() > 0) - { - QPixmap pm; - ax = reply->readAll(); - - if (pm.loadFromData(ax) && pm.size().width() > 1 - && pm.size().height() > 1) - { - loaded - += pm.size().width() * pm.size().height() * pm.depth() / 8 / 1024; - // qDebug() << "Network loaded: " << loaded << " width:" << - // pm.size().width() << " height:" <receivedImage(pm, url); - } - else - { - parent->fetchFailed(url); - } - } - } - } - - if (loadQueueSize() == 0) - { - // qDebug () << "all loaded"; - parent->loadingQueueEmpty(); - } - - QMutexLocker lock(&vectorMutex); - replyList.removeAll(reply); - - reply->deleteLater(); - reply = 0; -} - -int MapNetwork::loadQueueSize() const -{ - QMutexLocker lock(&vectorMutex); - return loadingMap.size(); -} - -void MapNetwork::setDiskCache(QNetworkDiskCache *qCache) -{ - cacheEnabled = (qCache != 0); - if (http) - { - http->setCache(qCache); - } -} - -void MapNetwork::abortLoading() -{ - // qDebug() << "MapNetwork::abortLoading"; - // be sure that replyList is copied in case it's modified in another thread - QListIterator iter(replyList); - while (iter.hasNext()) - { - QNetworkReply *reply = iter.next(); - if (reply) - { - if (reply->isRunning()) - { - reply->abort(); - } - reply->deleteLater(); - reply = 0; - } - } - QMutexLocker lock(&vectorMutex); - replyList.clear(); - loadingMap.clear(); -} - -bool MapNetwork::imageIsLoading(QString url) -{ - QMutexLocker lock(&vectorMutex); - return loadingMap.values().contains(url); -} - -void MapNetwork::setProxy(const QString host, const int port, const QString username, - const QString password) -{ - // do not set proxy on qt/extended -#ifndef Q_WS_QWS - if (http) - { - QNetworkProxy proxy = QNetworkProxy(QNetworkProxy::HttpProxy, host, port); - proxy.setUser(username); - proxy.setPassword(password); - http->setProxy(proxy); - } -#endif -} -} diff --git a/libs/QMapControl/src/mapnetwork.h b/libs/QMapControl/src/mapnetwork.h deleted file mode 100644 index a119bf75b..000000000 --- a/libs/QMapControl/src/mapnetwork.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef MAPNETWORK_H -#define MAPNETWORK_H - -#include "qmapcontrol_global.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "imagemanager.h" - -/** - @author Kai Winter - */ -namespace qmapcontrol -{ -class ImageManager; -class QMAPCONTROL_EXPORT MapNetwork : QObject -{ - Q_OBJECT - -public: - MapNetwork(ImageManager *parent); - ~MapNetwork(); - - void loadImage(const QString &host, const QString &url); - - /*! - * checks if the given url is already loading - * @param url the url of the image - * @return boolean, if the image is already loading - */ - bool imageIsLoading(QString url); - - /*! - * Aborts all current loading threads. - * This is useful when changing the zoom-factor, though newly needed images loads - * faster - */ - void abortLoading(); - void setProxy(QString host, int port, const QString username = QString(), - const QString password = QString()); - - /*! - * - * @return number of elements in the load queue - */ - int loadQueueSize() const; - - /*! - * - * @return next free http downloader thread - */ - QNetworkAccessManager *nextFreeHttp(); - - /*! - * sets the disk cache for each network manager - * @param qCache the disk cache object to set - */ - void setDiskCache(QNetworkDiskCache *qCache); - -private: - Q_DISABLE_COPY(MapNetwork) - - ImageManager *parent; - QNetworkAccessManager *http; - QList replyList; - QMap loadingMap; - qreal loaded; - mutable QMutex vectorMutex; - bool networkActive; - bool cacheEnabled; - -private slots: - void requestFinished(QNetworkReply *reply); -}; -} -#endif diff --git a/libs/QMapControl/src/openaerialmapadapter.cpp b/libs/QMapControl/src/openaerialmapadapter.cpp deleted file mode 100644 index 89c269ff7..000000000 --- a/libs/QMapControl/src/openaerialmapadapter.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2009 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "openaerialmapadapter.h" -namespace qmapcontrol -{ -OpenAerialMapAdapter::OpenAerialMapAdapter() - : TileMapAdapter("tile.openaerialmap.org", - "/tiles/1.0.0/openaerialmap-900913/%1/%2/%3.png", 256, 0, 17) -{ -} - -OpenAerialMapAdapter::~OpenAerialMapAdapter() { } -} diff --git a/libs/QMapControl/src/openaerialmapadapter.h b/libs/QMapControl/src/openaerialmapadapter.h deleted file mode 100644 index 1377ed1ae..000000000 --- a/libs/QMapControl/src/openaerialmapadapter.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2009 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef OPENAERIALMAPADAPTER_H -#define OPENAERIALMAPADAPTER_H - -#include "qmapcontrol_global.h" -#include "tilemapadapter.h" -namespace qmapcontrol -{ -//! MapAdapter for OpenStreetMap -/*! - * This is a conveniece class, which extends and configures a TileMapAdapter. Source of - *maps is http://www.openaerialmap.org/ - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT OpenAerialMapAdapter : public TileMapAdapter -{ - Q_OBJECT -public: - //! constructor - /*! - * This construct a OpenAerialMap Adapter - */ - OpenAerialMapAdapter(); - virtual ~OpenAerialMapAdapter(); -}; -} -#endif diff --git a/libs/QMapControl/src/osmmapadapter.cpp b/libs/QMapControl/src/osmmapadapter.cpp deleted file mode 100644 index 1cc9c6e2f..000000000 --- a/libs/QMapControl/src/osmmapadapter.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "osmmapadapter.h" -namespace qmapcontrol -{ -OSMMapAdapter::OSMMapAdapter() - : TileMapAdapter("tile.openstreetmap.org", "/%1/%2/%3.png", 256, 0, 17) -{ -} - -OSMMapAdapter::~OSMMapAdapter() { } -} diff --git a/libs/QMapControl/src/osmmapadapter.h b/libs/QMapControl/src/osmmapadapter.h deleted file mode 100644 index d4d1e43d9..000000000 --- a/libs/QMapControl/src/osmmapadapter.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef OSMMAPADAPTER_H -#define OSMMAPADAPTER_H - -#include "qmapcontrol_global.h" -#include "tilemapadapter.h" -namespace qmapcontrol -{ -//! MapAdapter for OpenStreetMap -/*! - * This is a conveniece class, which extends and configures a TileMapAdapter - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT OSMMapAdapter : public TileMapAdapter -{ - Q_OBJECT -public: - //! constructor - /*! - * This construct a OpenStreetmap Adapter - */ - OSMMapAdapter(); - virtual ~OSMMapAdapter(); -}; -} -#endif diff --git a/libs/QMapControl/src/point.cpp b/libs/QMapControl/src/point.cpp deleted file mode 100644 index 045b8e1ff..000000000 --- a/libs/QMapControl/src/point.cpp +++ /dev/null @@ -1,387 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "point.h" -namespace qmapcontrol -{ -Point::Point() { } -Point::Point(const Point &point) - : Geometry(point.name()) - , X(point.longitude()) - , Y(point.latitude()) -{ - visible = point.isVisible(); - mywidget = 0; - mypixmap = QPixmap(); - mypen = point.mypen; - homelevel = -1; - minsize = QSize(-1, -1); - maxsize = QSize(-1, -1); -} - -Point::Point(qreal x, qreal y, QString name, enum Alignment alignment) - : Geometry(name) - , X(x) - , Y(y) - , myalignment(alignment) -{ - GeometryType = "Point"; - mywidget = 0; - mypixmap = QPixmap(); - visible = true; - homelevel = -1; - minsize = QSize(-1, -1); - maxsize = QSize(-1, -1); -} - -Point::Point(qreal x, qreal y, QWidget *widget, QString name, enum Alignment alignment) - : Geometry(name) - , X(x) - , Y(y) - , mywidget(widget) - , myalignment(alignment) -{ - // Point(x, y, name, alignment); - GeometryType = "Point"; - mypixmap = QPixmap(); - visible = true; - size = widget->size(); - homelevel = -1; - minsize = QSize(-1, -1); - maxsize = QSize(-1, -1); - - if (mywidget != 0) - { - mywidget->show(); - } -} -Point::Point(qreal x, qreal y, QPixmap pixmap, QString name, enum Alignment alignment) - : Geometry(name) - , X(x) - , Y(y) - , mypixmap(pixmap) - , myalignment(alignment) -{ - GeometryType = "Point"; - mywidget = 0; - visible = true; - size = pixmap.size(); - homelevel = -1; - minsize = QSize(-1, -1); - maxsize = QSize(-1, -1); -} -/* - Point& Point::operator=(const Point& rhs) - { - if (this == &rhs) - return *this; - else - { - X = rhs.X; - Y = rhs.Y; - size = rhs.size; - - mywidget = rhs.mywidget; - mypixmap = rhs.mypixmap; - alignment = rhs.alignment; - homelevel = rhs.homelevel; - minsize = rhs.minsize; - maxsize = rhs.maxsize; -} -} -*/ -Point::~Point() -{ - if (mywidget != 0) - { - delete mywidget; - mywidget = 0; - } -} - -void Point::setPixmap(QPixmap qPixmap) -{ - mypixmap = qPixmap; - size = mypixmap.size(); - - // forces redraw - emit(updateRequest(QRectF(X, Y, size.width(), size.height()))); - emit(positionChanged(this)); -} - -void Point::setVisible(bool visible) -{ - this->visible = visible; - if (mywidget != 0) - { - mywidget->setVisible(visible); - } -} - -QRectF Point::boundingBox() -{ - qreal minlon = 180; - qreal maxlon = -180; - qreal minlat = 90; - qreal maxlat = -90; - - if (longitude() < minlon) - minlon = longitude(); - if (longitude() > maxlon) - maxlon = longitude(); - if (latitude() < minlat) - minlat = latitude(); - if (latitude() > maxlat) - maxlat = latitude(); - - QPointF min = QPointF(minlon, minlat); - QPointF max = QPointF(maxlon, maxlat); - QPointF dist = max - min; - QSizeF si = QSizeF(dist.x(), dist.y()); - - return QRectF(min, si); -} - -qreal Point::longitude() const -{ - return X; -} -qreal Point::latitude() const -{ - return Y; -} -QPointF Point::coordinate() const -{ - return QPointF(X, Y); -} - -void Point::draw(QPainter *painter, const MapAdapter *mapadapter, const QRect &viewport, - const QPoint offset) -{ - if (!visible) - return; - - if (homelevel > 0) - { - - int currentzoom = mapadapter->maxZoom() < mapadapter->minZoom() - ? mapadapter->minZoom() - mapadapter->currentZoom() - : mapadapter->currentZoom(); - - // int currentzoom = mapadapter->getZoom(); - int diffzoom = homelevel - currentzoom; - int viewheight = size.height(); - int viewwidth = size.width(); - viewheight = int(viewheight / pow(2.0, diffzoom)); - viewwidth = int(viewwidth / pow(2.0, diffzoom)); - - if (minsize.height() != -1 && viewheight < minsize.height()) - viewheight = minsize.height(); - else if (maxsize.height() != -1 && viewheight > maxsize.height()) - viewheight = maxsize.height(); - - if (minsize.width() != -1 && viewwidth < minsize.width()) - viewwidth = minsize.width(); - else if (maxsize.width() != -1 && viewwidth > maxsize.width()) - viewwidth = maxsize.width(); - - displaysize = QSize(viewwidth, viewheight); - } - else - { - displaysize = size; - } - - if (mypixmap.size().width() > 0) - { - const QPointF c = QPointF(X, Y); - QPoint point = mapadapter->coordinateToDisplay(c); - - if (viewport.contains(point)) - { - QPoint alignedtopleft = alignedPoint(point); - painter->drawPixmap(alignedtopleft.x(), alignedtopleft.y(), - displaysize.width(), displaysize.height(), mypixmap); - } - } - else if (mywidget != 0) - { - drawWidget(mapadapter, offset); - } -} - -void Point::drawWidget(const MapAdapter *mapadapter, const QPoint offset) -{ - const QPointF c = QPointF(X, Y); - QPoint point = mapadapter->coordinateToDisplay(c); - point -= offset; - - QPoint alignedtopleft = alignedPoint(point); - - if (mywidget != 0) - { - mywidget->setGeometry(alignedtopleft.x(), alignedtopleft.y(), displaysize.width(), - displaysize.height()); - } -} - -QPoint Point::alignedPoint(const QPoint point) const -{ - QPoint alignedtopleft; - if (myalignment == Middle) - { - alignedtopleft.setX(point.x() - displaysize.width() / 2); - alignedtopleft.setY(point.y() - displaysize.height() / 2); - } - else if (myalignment == TopLeft) - { - alignedtopleft.setX(point.x()); - alignedtopleft.setY(point.y()); - } - else if (myalignment == TopRight) - { - alignedtopleft.setX(point.x() - displaysize.width()); - alignedtopleft.setY(point.y()); - } - else if (myalignment == BottomLeft) - { - alignedtopleft.setX(point.x()); - alignedtopleft.setY(point.y() - displaysize.height()); - } - else if (myalignment == BottomRight) - { - alignedtopleft.setX(point.x() - displaysize.width()); - alignedtopleft.setY(point.y() - displaysize.height()); - } - else if (myalignment == BottomMiddle) - { - alignedtopleft.setX(point.x() - displaysize.width() / 2); - alignedtopleft.setY(point.y() - displaysize.height()); - } - else if (myalignment == TopMiddle) - { - alignedtopleft.setX(point.x() - displaysize.width() / 2); - alignedtopleft.setY(point.y()); - } - return alignedtopleft; -} - -bool Point::Touches(Point *click, const MapAdapter *mapadapter) -{ - if (this->isVisible() == false) - return false; - - if (!click || !mapadapter) - return false; - - if (points().size() < 1) - { - return false; - } - - QPointF clickPt = mapadapter->coordinateToDisplay(click->coordinate()); - qreal halfwidth = 2; // use 2 pixels by default - if (mypixmap.width() > 0) - { - halfwidth = static_cast(mypixmap.width()) / static_cast(2); - } - - QPointF pt1 = mapadapter->coordinateToDisplay(coordinate()); - qreal pt1x1 = pt1.x() - halfwidth; - qreal pt1x2 = pt1.x() + halfwidth; - qreal pt1y1 = pt1.y() - halfwidth; - qreal pt1y2 = pt1.y() + halfwidth; - - QPointF pt2 = mapadapter->coordinateToDisplay(coordinate()); - qreal pt2x1 = pt2.x() - halfwidth; - qreal pt2x2 = pt2.x() + halfwidth; - qreal pt2y1 = pt2.y() - halfwidth; - qreal pt2y2 = pt2.y() + halfwidth; - - // build lazy bounding box - qreal upperLeftX = qMin(pt1x1, qMin(pt1x2, qMin(pt2x1, pt2x2))); - qreal upperLeftY = qMin(pt1y1, qMin(pt1y2, qMin(pt2y1, pt2y2))); - qreal lowerRightX = qMax(pt1x1, qMax(pt1x2, qMax(pt2x1, pt2x2))); - qreal lowerRightY = qMax(pt1y1, qMax(pt1y2, qMax(pt2y1, pt2y2))); - QRectF bounds(QPointF(upperLeftX, upperLeftY), QPointF(lowerRightX, lowerRightY)); - - if (bounds.contains(clickPt)) - { - emit(geometryClicked(this, QPoint(0, 0))); - return true; - } - - return false; -} - -void Point::setCoordinate(QPointF point) -{ - if (X == point.x() && Y == point.y()) - { - // no change, prevent unessessary update/redraw - return; - } - - X = point.x(); - Y = point.y(); - - emit(updateRequest(QRectF(X, Y, size.width(), size.height()))); - emit(positionChanged(this)); -} -QList Point::points() -{ - // TODO: assigning temp?! - QList points; - points.append(this); - return points; -} - -QWidget *Point::widget() -{ - return mywidget; -} - -QPixmap Point::pixmap() -{ - return mypixmap; -} - -void Point::setBaselevel(int zoomlevel) -{ - homelevel = zoomlevel; -} -void Point::setMinsize(QSize minsize) -{ - this->minsize = minsize; -} -void Point::setMaxsize(QSize maxsize) -{ - this->maxsize = maxsize; -} -Point::Alignment Point::alignment() const -{ - return myalignment; -} -} diff --git a/libs/QMapControl/src/point.h b/libs/QMapControl/src/point.h deleted file mode 100644 index f838c90b9..000000000 --- a/libs/QMapControl/src/point.h +++ /dev/null @@ -1,237 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef POINT_H -#define POINT_H - -//#include "qglobal.h" -#if QT_VERSION >= 0x050000 -// Qt5 code -//#include -#else -// Qt4 code -# include -#endif - -#include "qmapcontrol_global.h" -#include "geometry.h" - -namespace qmapcontrol -{ -//! A geometric point to draw objects into maps -/*! - * This class can be used to draw your custom QPixmap or other QWidgets into maps. - * You can instantiate a Point with any Pixmap you want. The objects cares about collision - * detection (for clickable objects) - * - * When drawing a pixmap, take care you are adding the point to a GeometryLayer. - * You can also add a point to a MapLayer, but this should only be done, if the point is - * not changing its position or color etc. (GeometryLayers are assured to be repainted on - * any changes at the point. MapLayers only gets repainted, if a new offscreenImage is - * painter. This is a performance issue.) - * - * Points emit click events, if the containing layer receives clickevents (the default) - * - * You can also add a widget into maps. But keep in mind, that widgets always are drawn on - * top of all layers. You also have to handle click events yourself. - * - * To create "zoomable objects" (objects that increases size on zooming), a base level - * have to be set. The base level is the zoom level on which the point´s pixmap gets - * displayed on full size. On lower zoom levels it gets displayed smaller and on higher - * zoom levels larger. A minimal size can be set as well as a maximum size. - * @see setBaselevel, setMinsize, setMaxsize - * - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT Point : public Geometry -{ - Q_OBJECT - -public: - friend class Layer; - friend class LineString; - - //! sets where the point should be aligned - enum Alignment - { - TopLeft, /*!< Align on TopLeft*/ - TopRight, /*!< Align on TopRight*/ - TopMiddle, /*!< Align on TopLeft*/ - BottomLeft, /*!< Align on BottomLeft*/ - BottomRight, /*!< Align on BottomRight*/ - BottomMiddle, /*!< Align on BottomMiddle*/ - Middle /*!< Align on Middle*/ - }; - - Point(); - explicit Point(const Point &); - //! Copy Constructor - /*! - * This constructor creates a Point with no image or widget. - * @param x longitude - * @param y latitude - * @param name name of the point - * @param alignment alignment of the point (Middle or TopLeft) - */ - Point(qreal x, qreal y, QString name = QString(), enum Alignment alignment = Middle); - - //! Constructor - /*! - * This constructor creates a point which will display the given widget. - * You can set an alignment on which corner the widget should be aligned to the - * coordinate. You have to set the size of the widget, before adding it to IMPORTANT: - * You have to set the QMapControl as parent for the widget! - * @param x longitude - * @param y latitude - * @param widget the widget which should be displayed by this point - * @param name name of the point - * @param alignment allignment of the point (Middle or TopLeft) - */ - Point(qreal x, qreal y, QWidget *widget, QString name = QString(), - enum Alignment alignment = Middle); - - //! Constructor - /*! - * This constructor creates a point which will display the give pixmap. - * You can set an alignment on which corner the pixmap should be aligned to the - * coordinate. - * @param x longitude - * @param y latitude - * @param pixmap the pixmap which should be displayed by this point - * @param name name of the point - * @param alignment allignment of the point (Middle or TopLeft) - */ - Point(qreal x, qreal y, QPixmap pixmap, QString name = QString(), - enum Alignment alignment = Middle); - virtual ~Point(); - - //! returns the bounding box of the point - /*! - * The Bounding contains the coordinate of the point and its size. - * The size is set, if the point contains a pixmap or a widget - * @return the bounding box of the point - */ - virtual QRectF boundingBox(); - - //! returns the longitude of the point - /*! - * @return the longitude of the point - */ - qreal longitude() const; - - //! returns the latitude of the point - /*! - * @return the latitude of the point - */ - qreal latitude() const; - - //! returns the coordinate of the point - /*! - * The x component of the returned QPointF is the longitude value, - * the y component the latitude - * @return the coordinate of a point - */ - QPointF coordinate() const; - - virtual QList points(); - - /*! \brief returns the widget of the point - @return the widget of the point - */ - QWidget *widget(); - - //! returns the pixmap of the point - /*! - * @return the pixmap of the point - */ - QPixmap pixmap(); - - //! Sets the zoom level on which the points pixmap gets displayed on full size - /*! - * Use this method to set a zoom level on which the pixmap gets displayed with its - * real size. On zoomlevels below it will be displayed smaller, and on zoom levels - * thereover it will be displayed larger - * @see setMinsize, setMaxsize - * @param zoomlevel the zoomlevel on which the point will be displayed on full size - */ - void setBaselevel(int zoomlevel); - - //! sets a minimal size for the pixmap - /*! - * When the point's pixmap should change its size on zooming, this method sets the - * minimal size. - * @see setBaselevel - * @param minsize the minimal size which the pixmap should have - */ - void setMinsize(QSize minsize); - - //! sets a maximal size for the pixmap - /*! - * When the point´s pixmap should change its size on zooming, this method sets the - * maximal size. - * @see setBaselevel - * @param maxsize the maximal size which the pixmap should have - */ - void setMaxsize(QSize maxsize); - - Point::Alignment alignment() const; - - virtual void setPixmap(QPixmap qPixmap); - -protected: - qreal X; - qreal Y; - QSize size; - - QWidget *mywidget; - QPixmap mypixmap; - Alignment myalignment; - int homelevel; - QSize displaysize; - QSize minsize; - QSize maxsize; - - void drawWidget(const MapAdapter *mapadapter, const QPoint offset); - // void drawPixmap(QPainter* painter, const MapAdapter* mapadapter, const QRect - // &viewport, const QPoint versch); - virtual void draw(QPainter *painter, const MapAdapter *mapadapter, - const QRect &viewport, const QPoint offset); - QPoint alignedPoint(const QPoint point) const; - - //! returns true if the given Point touches this Point - /*! - * The collision detection checks for the bounding rectangulars. - * @param geom the other point which should be tested on collision - * @param mapadapter the mapadapter which is used for calculations - * @return - */ - virtual bool Touches(Point *p, const MapAdapter *mapadapter); - -public slots: - void setCoordinate(QPointF point); - virtual void setVisible(bool visible); -}; -} -#endif diff --git a/libs/QMapControl/src/qmapcontrol_global.h b/libs/QMapControl/src/qmapcontrol_global.h deleted file mode 100644 index 540452b64..000000000 --- a/libs/QMapControl/src/qmapcontrol_global.h +++ /dev/null @@ -1,11 +0,0 @@ -#include - -#if !defined(QT_STATIC) && !defined(QMAPCONTROL_PROJECT_INCLUDE_SRC) -# if defined(QMAPCONTROL_LIBRARY) -# define QMAPCONTROL_EXPORT Q_DECL_EXPORT -# else -# define QMAPCONTROL_EXPORT Q_DECL_IMPORT -# endif -#else -# define QMAPCONTROL_EXPORT -#endif diff --git a/libs/QMapControl/src/tilemapadapter.cpp b/libs/QMapControl/src/tilemapadapter.cpp deleted file mode 100644 index 2a342a242..000000000 --- a/libs/QMapControl/src/tilemapadapter.cpp +++ /dev/null @@ -1,187 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "tilemapadapter.h" -namespace qmapcontrol -{ -TileMapAdapter::TileMapAdapter(const QString &host, const QString &serverPath, - int tilesize, int minZoom, int maxZoom) - : MapAdapter(host, serverPath, tilesize, minZoom, maxZoom) -{ - PI = acos(-1.0); - - /* - Initialize the "substring replace engine". First the string replacement - in getQuery was made by QString().arg() but this was very slow. So this - splits the servers path into substrings and when calling getQuery the - substrings get merged with the parameters of the URL. - Pretty complicated, but fast. - */ - param1 = serverPath.indexOf("%1"); - param2 = serverPath.indexOf("%2"); - param3 = serverPath.indexOf("%3"); - - int min = param1 < param2 ? param1 : param2; - min = param3 < min ? param3 : min; - - int max = param1 > param2 ? param1 : param2; - max = param3 > max ? param3 : max; - - int middle = param1 + param2 + param3 - min - max; - - order[0][0] = min; - if (min == param1) - order[0][1] = 0; - else if (min == param2) - order[0][1] = 1; - else - order[0][1] = 2; - - order[1][0] = middle; - if (middle == param1) - order[1][1] = 0; - else if (middle == param2) - order[1][1] = 1; - else - order[1][1] = 2; - - order[2][0] = max; - if (max == param1) - order[2][1] = 0; - else if (max == param2) - order[2][1] = 1; - else - order[2][1] = 2; - - int zoom = mMax_zoom < mMin_zoom ? mMin_zoom - mCurrent_zoom : mCurrent_zoom; - mNumberOfTiles = tilesonzoomlevel(zoom); - loc.setNumberOptions(QLocale::OmitGroupSeparator); -} - -TileMapAdapter::~TileMapAdapter() { } -// TODO: pull out -void TileMapAdapter::zoom_in() -{ - if (mMin_zoom > mMax_zoom) - { - // mCurrent_zoom = mCurrent_zoom-1; - mCurrent_zoom = mCurrent_zoom > mMax_zoom ? mCurrent_zoom - 1 : mMax_zoom; - } - else if (mMin_zoom < mMax_zoom) - { - // mCurrent_zoom = mCurrent_zoom+1; - mCurrent_zoom = mCurrent_zoom < mMax_zoom ? mCurrent_zoom + 1 : mMax_zoom; - } - - int zoom = mMax_zoom < mMin_zoom ? mMin_zoom - mCurrent_zoom : mCurrent_zoom; - mNumberOfTiles = tilesonzoomlevel(zoom); -} -void TileMapAdapter::zoom_out() -{ - if (mMin_zoom > mMax_zoom) - { - // mCurrent_zoom = mCurrent_zoom+1; - mCurrent_zoom = mCurrent_zoom < mMin_zoom ? mCurrent_zoom + 1 : mMin_zoom; - } - else if (mMin_zoom < mMax_zoom) - { - // mCurrent_zoom = mCurrent_zoom-1; - mCurrent_zoom = mCurrent_zoom > mMin_zoom ? mCurrent_zoom - 1 : mMin_zoom; - } - - int zoom = mMax_zoom < mMin_zoom ? mMin_zoom - mCurrent_zoom : mCurrent_zoom; - mNumberOfTiles = tilesonzoomlevel(zoom); -} - -qreal TileMapAdapter::deg_rad(qreal x) const -{ - return x * (PI / 180.0); -} -qreal TileMapAdapter::rad_deg(qreal x) const -{ - return x * (180 / PI); -} - -QString TileMapAdapter::query(int x, int y, int z) const -{ - x = xoffset(x); - y = yoffset(y); - - int a[3] = { z, x, y }; - return QString(serverPath() - .replace(order[2][0], 2, loc.toString(a[order[2][1]])) - .replace(order[1][0], 2, loc.toString(a[order[1][1]])) - .replace(order[0][0], 2, loc.toString(a[order[0][1]]))); -} - -QPoint TileMapAdapter::coordinateToDisplay(const QPointF &coordinate) const -{ - qreal x - = (coordinate.x() + 180) * (mNumberOfTiles * mTileSize) / 360.; // coord to pixel! - qreal y = (1 - (log(tan(PI / 4 + deg_rad(coordinate.y()) / 2)) / PI)) / 2 - * (mNumberOfTiles * mTileSize); - - return QPoint(int(x), int(y)); -} - -QPointF TileMapAdapter::displayToCoordinate(const QPoint &point) const -{ - qreal longitude = (point.x() * (360 / (mNumberOfTiles * mTileSize))) - 180; - qreal latitude - = rad_deg(atan(sinh((1 - point.y() * (2 / (mNumberOfTiles * mTileSize))) * PI))); - - return QPointF(longitude, latitude); -} - -bool TileMapAdapter::isTileValid(int x, int y, int z) const -{ - if (mMax_zoom < mMin_zoom) - { - z = mMin_zoom - z; - } - - if (x < 0 || x > (1 << z) - 1 || y < 0 || y > (1 << z) - 1) - { - return false; - } - - return true; -} - -int TileMapAdapter::tilesonzoomlevel(int zoomlevel) const -{ - return int(pow(2.0, zoomlevel)); -} - -int TileMapAdapter::xoffset(int x) const -{ - return x; -} - -int TileMapAdapter::yoffset(int y) const -{ - return y; -} -} diff --git a/libs/QMapControl/src/tilemapadapter.h b/libs/QMapControl/src/tilemapadapter.h deleted file mode 100644 index 95142b4c1..000000000 --- a/libs/QMapControl/src/tilemapadapter.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef TILEMAPADAPTER_H -#define TILEMAPADAPTER_H - -#include "qmapcontrol_global.h" -#include "mapadapter.h" - -namespace qmapcontrol -{ -//! MapAdapter for servers with image tiles -/*! - * Use this derived MapAdapter to display maps from OpenStreetMap - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT TileMapAdapter : public MapAdapter -{ - Q_OBJECT -public: - //! constructor - /*! - * Sample of a correct initialization of a MapAdapter:
- * TileMapAdapter* ta = new TileMapAdapter("192.168.8.1", - * "/img/img_cache.php/%1/%2/%3.png", 256, 0,17);
The placeholders %1, %2, %3 - * stands for x, y, z
The minZoom is 0 (means the whole world is visible). The - * maxZoom is 17 (means it is zoomed in to the max) - * @param host The servers URL - * @param serverPath The path to the tiles with placeholders - * @param tilesize the size of the tiles - * @param minZoom the minimum zoom level - * @param maxZoom the maximum zoom level - */ - TileMapAdapter(const QString &host, const QString &serverPath, int tilesize, - int minZoom = 0, int maxZoom = 17); - - virtual ~TileMapAdapter(); - - virtual QPoint coordinateToDisplay(const QPointF &) const; - virtual QPointF displayToCoordinate(const QPoint &) const; - - qreal PI; - -protected: - qreal rad_deg(qreal) const; - qreal deg_rad(qreal) const; - - virtual bool isTileValid(int x, int y, int z) const; - virtual void zoom_in(); - virtual void zoom_out(); - virtual QString query(int x, int y, int z) const; - virtual int tilesonzoomlevel(int zoomlevel) const; - virtual int xoffset(int x) const; - virtual int yoffset(int y) const; -}; -} -#endif diff --git a/libs/QMapControl/src/wmsmapadapter.cpp b/libs/QMapControl/src/wmsmapadapter.cpp deleted file mode 100644 index e50921b2c..000000000 --- a/libs/QMapControl/src/wmsmapadapter.cpp +++ /dev/null @@ -1,209 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#include "wmsmapadapter.h" -#include - -namespace qmapcontrol -{ -WMSMapAdapter::WMSMapAdapter(QString host, QString serverPath, int tilesize) - : MapAdapter(host, serverPath, tilesize, 0, 17) -{ - mNumberOfTiles = pow(2.0, mCurrent_zoom); - coord_per_x_tile = 360. / mNumberOfTiles; - coord_per_y_tile = 180. / mNumberOfTiles; - changeHostAddress(host, serverPath); - - loc = QLocale(QLocale::English); - loc.setNumberOptions(QLocale::OmitGroupSeparator); - setBoundingBox(-180, -90, 180, 90); - - qreal res = 0.703125; - for (int z = 0; z < 17; z++) - { - mResolutions[z] = res; - res = res / 2; - } -} - -WMSMapAdapter::~WMSMapAdapter() { } - -void WMSMapAdapter::changeHostAddress(const QString qHost, const QString qServerPath) -{ - mServerOptions.clear(); - QString serverPathPrefix; - - if (qServerPath.contains("?") && qServerPath.split("?").size() > 1) - { - serverPathPrefix = qServerPath.split("?").at(0); - foreach (QString opt, qServerPath.split("?").at(1).split("&")) - { - if (opt.contains("=")) - { - mServerOptions[opt.split("=").at(0).toUpper()] = opt.split("=").at(1); - } - } - } - else - { - serverPathPrefix = "/wms/"; - } - - MapAdapter::changeHostAddress(qHost, serverPathPrefix); - - // force expected parameters - if (!mServerOptions.contains("VERSION")) - { - mServerOptions["VERSION"] = "1.1.1"; - } - if (!mServerOptions.contains("TRANSPARENT")) - { - mServerOptions["TRANSPARENT"] = "TRUE"; - } - // if (!mServerOptions.contains("LAYERS")) - //{ - // mServerOptions["LAYERS"] = TBD; - //} - if (!mServerOptions.contains("SRS") && !mServerOptions.contains("CRS")) - { - mServerOptions["SRS"] = "EPSG:4326"; - // mServerOptions["SRS"] = "EPSG:900913"; //google mercator - // mServerOptions["SRS"] = "EPSG:3857"; //EPSG:3857 is a Spherical Mercator - // projection - } - if (!mServerOptions.contains("STYLES")) - { - mServerOptions["STYLES"] = QString(); - } - if (!mServerOptions.contains("FORMAT")) - { - mServerOptions["FORMAT"] = "IMAGE/PNG"; - } - - mServerOptions["SRS"] = "EPSG:4326"; // mercator - mServerOptions["SERVICE"] = "WMS"; - mServerOptions["TILED"] = "TRUE"; - mServerOptions["REQUEST"] = "GetMap"; - mServerOptions["WIDTH"] = loc.toString(tilesize()); - mServerOptions["HEIGHT"] = loc.toString(tilesize()); - mServerOptions.remove("BBOX"); // added at time of query string -} - -QString WMSMapAdapter::serverPath() const -{ - QString urlPath; - - foreach (QString key, mServerOptions.keys()) - { - if (!urlPath.isEmpty()) - { - urlPath.append("&"); - } - urlPath.append(QString("%1=%2").arg(key).arg(mServerOptions[key])); - } - - return QString("%1?%2").arg(MapAdapter::serverPath()).arg(urlPath); -} - -QPoint WMSMapAdapter::coordinateToDisplay(const QPointF &coordinate) const -{ - qreal x - = (coordinate.x() + 180) * (mNumberOfTiles * mTileSize) / 360.; // coord to pixel! - qreal y = -1 * (coordinate.y() - 90) * (mNumberOfTiles * mTileSize) - / 180.; // coord to pixel! - return QPoint(int(x), int(y)); -} -QPointF WMSMapAdapter::displayToCoordinate(const QPoint &point) const -{ - qreal lon = (point.x() * (360. / (mNumberOfTiles * mTileSize))) - 180; - qreal lat = -(point.y() * (180. / (mNumberOfTiles * mTileSize))) + 90; - return QPointF(lon, lat); -} -void WMSMapAdapter::zoom_in() -{ - mCurrent_zoom += 1; - mNumberOfTiles = pow(2.0, mCurrent_zoom); - coord_per_x_tile = 360. / mNumberOfTiles; - coord_per_y_tile = 180. / mNumberOfTiles; -} -void WMSMapAdapter::zoom_out() -{ - mCurrent_zoom -= 1; - mNumberOfTiles = pow(2.0, mCurrent_zoom); - coord_per_x_tile = 360. / mNumberOfTiles; - coord_per_y_tile = 180. / mNumberOfTiles; -} - -bool WMSMapAdapter::isTileValid(int /*x*/, int /*y*/, int /*z*/) const -{ - // if (x>0 && y>0 && z>0) - { - return true; - } - // return false; -} -QString WMSMapAdapter::query(int i, int j, int /*z*/) const -{ - return getQ(-180 + i * coord_per_x_tile, 90 - (j + 1) * coord_per_y_tile, - -180 + i * coord_per_x_tile + coord_per_x_tile, - 90 - (j + 1) * coord_per_y_tile + coord_per_y_tile); -} - -QString WMSMapAdapter::getQ(qreal ux, qreal uy, qreal ox, qreal oy) const -{ - qreal x1 = ux; - qreal y1 = uy; - qreal x2 = ox; - qreal y2 = oy; - - // if ( mServerOptions["SRS"].toUpper() == "EPSG:4326" ) - //{ - // if ( x1 < 0 ) - // { - // x1 += 180; - // } - // if ( x1 > 360 ) - // { - // x1 -= 180; - // } - - // if ( x2 < 0 ) - // { - // x2 += 180; - // } - // if ( x2 > 360 ) - // { - // x2 -= 180; - // } - //} - - return QString("%1&BBOX=%2,%3,%4,%5") - .arg(serverPath()) - .arg(QString::number(x1, 'f', 6)) - .arg(QString::number(y1, 'f', 6)) - .arg(QString::number(x2, 'f', 6)) - .arg(QString::number(y2, 'f', 6)); -} -} diff --git a/libs/QMapControl/src/wmsmapadapter.h b/libs/QMapControl/src/wmsmapadapter.h deleted file mode 100644 index c9f08094d..000000000 --- a/libs/QMapControl/src/wmsmapadapter.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * - * This file is part of QMapControl, - * an open-source cross-platform map widget - * - * Copyright (C) 2007 - 2008 Kai Winter - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with QMapControl. If not, see . - * - * Contact e-mail: kaiwinter@gmx.de - * Program URL : http://qmapcontrol.sourceforge.net/ - * - */ - -#ifndef WMSMAPADAPTER_H -#define WMSMAPADAPTER_H - -#include "qmapcontrol_global.h" -#include "mapadapter.h" - -namespace qmapcontrol -{ -//! MapAdapter for WMS servers -/*! - * Use this derived MapAdapter to display maps from WMS servers - * @author Kai Winter - */ -class QMAPCONTROL_EXPORT WMSMapAdapter : public MapAdapter -{ -public: - //! constructor - /*! - * Sample of a correct initialization of a MapAdapter:
- * MapAdapter* mapadapter = new WMSMapAdapter("www2.demis.nl", - * "/wms/wms.asp?wms=WorldMap[...]&BBOX=%1,%2,%3,%4&WIDTH=%5&HEIGHT=%5&TRANSPARENT=TRUE", - * 256);
The placeholders %1, %2, %3, %4 creates the bounding box, %5 is for the - * tilesize The minZoom is 0 (means the whole world is visible). The maxZoom is 17 - * (means it is zoomed in to the max) - * @param host The servers URL - * @param serverPath The path to the tiles with placeholders - * @param tilesize the size of the tiles - */ - WMSMapAdapter(QString host, QString serverPath, int tilesize = 256); - virtual ~WMSMapAdapter(); - - virtual QString serverPath() const; - virtual QPoint coordinateToDisplay(const QPointF &) const; - virtual QPointF displayToCoordinate(const QPoint &) const; - virtual void changeHostAddress(const QString qHost, - const QString qServerPath = QString()); - -protected: - virtual void zoom_in(); - virtual void zoom_out(); - virtual QString query(int x, int y, int z) const; - virtual bool isTileValid(int x, int y, int z) const; - -private: - virtual QString getQ(qreal ux, qreal uy, qreal ox, qreal oy) const; - - qreal coord_per_x_tile; - qreal coord_per_y_tile; - - QHash mServerOptions; - QHash mResolutions; -}; -} -#endif diff --git a/src/IO/Drivers/BluetoothLE.cpp b/src/IO/Drivers/BluetoothLE.cpp index f32987f29..7830b8bd2 100644 --- a/src/IO/Drivers/BluetoothLE.cpp +++ b/src/IO/Drivers/BluetoothLE.cpp @@ -442,6 +442,8 @@ void IO::Drivers::BluetoothLE::onServiceError( case QLowEnergyService::DescriptorReadError: Q_EMIT error(tr("Descriptor read error")); break; + default: + break; } } @@ -478,7 +480,7 @@ void IO::Drivers::BluetoothLE::onDiscoveryError(QBluetoothDeviceDiscoveryAgent:: void IO::Drivers::BluetoothLE::onServiceStateChanged( QLowEnergyService::ServiceState serviceState) { - if (serviceState == QLowEnergyService::ServiceDiscovered) + if (serviceState == QLowEnergyService::RemoteServiceDiscovered) configureCharacteristics(); } diff --git a/src/Misc/ModuleManager.h b/src/Misc/ModuleManager.h index be622cbff..761b6fcce 100644 --- a/src/Misc/ModuleManager.h +++ b/src/Misc/ModuleManager.h @@ -55,7 +55,6 @@ public Q_SLOTS: void setSoftwareRenderingEnabled(const bool enabled); private: - bool m_softwareRendering; QQmlApplicationEngine m_engine; }; } diff --git a/src/UI/DashboardWidget.cpp b/src/UI/DashboardWidget.cpp index 88e389587..aebbdd91a 100644 --- a/src/UI/DashboardWidget.cpp +++ b/src/UI/DashboardWidget.cpp @@ -41,6 +41,7 @@ UI::DashboardWidget::DashboardWidget(QQuickItem *parent) : DeclarativeWidget(parent) , m_index(-1) + , m_isGpsMap(false) , m_widgetVisible(false) , m_isExternalWindow(false) { @@ -56,7 +57,7 @@ UI::DashboardWidget::DashboardWidget(QQuickItem *parent) UI::DashboardWidget::~DashboardWidget() { if (m_dbWidget) - delete m_dbWidget; + m_dbWidget->deleteLater(); } /** @@ -128,6 +129,67 @@ UI::Dashboard::WidgetType UI::DashboardWidget::widgetType() const return UI::Dashboard::instance().widgetType(widgetIndex()); } +/** + * Hack: rendering a map is currently very hard on QtWidgets, so we + * must use the QtLocation API (QML only) to display the map. Prevously, we + * used QMapControl to render the satellite map, however, QMapControl does + * not support the current mapping APIs and the project seems to have been + * abandoned :( + * + * The quick and dirty solution is to break the nice abstraction that this + * class provided and feed the GPS data from C++ to QML through this class. + * + * On the QML side, a QML Loader will be activated if (and only if) the + * isGpsMap() function returns true, in turn, the QML loader will display + * the GPS/Map widget and feed it the GPS data. Not nice, not cool, not + * very efficient, but it is a fast solution for a problem that I don't + * have too much time to fix (if I could pay my rent by writting FOSS, + * believe me I would). + * + * Please ping me or make a PR if you find a better solution, or have + * some free time to cleanup this fix. + */ +bool UI::DashboardWidget::isGpsMap() const +{ + return m_isGpsMap; +} + +/** + * Returns the current GPS altitude indicated by the GPS "parser" widget, + * this function only returns an useful value if @c isGpsMap() is @c true. + */ +qreal UI::DashboardWidget::gpsAltitude() const +{ + if (isGpsMap() && m_dbWidget) + return static_cast(m_dbWidget)->altitude(); + + return 0; +} + +/** + * Returns the current GPS altitude indicated by the GPS "parser" widget, + * this function only returns an useful value if @c isGpsMap() is @c true. + */ +qreal UI::DashboardWidget::gpsLatitude() const +{ + if (isGpsMap() && m_dbWidget) + return static_cast(m_dbWidget)->latitude(); + + return 0; +} + +/** + * Returns the current GPS altitude indicated by the GPS "parser" widget, + * this function only returns an useful value if @c isGpsMap() is @c true. + */ +qreal UI::DashboardWidget::gpsLongitude() const +{ + if (isGpsMap() && m_dbWidget) + return static_cast(m_dbWidget)->longitude(); + + return 0; +} + /** * Changes the visibility & enabled status of the widget */ @@ -152,46 +214,53 @@ void UI::DashboardWidget::setWidgetIndex(const int index) // Delete previous widget if (m_dbWidget) - delete m_dbWidget; + { + m_dbWidget->deleteLater(); + m_dbWidget = nullptr; + } + + // Initialize the GPS indicator flag to false by default + m_isGpsMap = false; // Construct new widget switch (widgetType()) { - case UI::Dashboard::WidgetType::Group: - m_dbWidget = new Widgets::DataGroup(relativeIndex()); - break; - case UI::Dashboard::WidgetType::MultiPlot: - m_dbWidget = new Widgets::MultiPlot(relativeIndex()); - break; - case UI::Dashboard::WidgetType::FFT: - m_dbWidget = new Widgets::FFTPlot(relativeIndex()); - break; - case UI::Dashboard::WidgetType::Plot: - m_dbWidget = new Widgets::Plot(relativeIndex()); - break; - case UI::Dashboard::WidgetType::Bar: - m_dbWidget = new Widgets::Bar(relativeIndex()); - break; - case UI::Dashboard::WidgetType::Gauge: - m_dbWidget = new Widgets::Gauge(relativeIndex()); - break; - case UI::Dashboard::WidgetType::Compass: - m_dbWidget = new Widgets::Compass(relativeIndex()); - break; - case UI::Dashboard::WidgetType::Gyroscope: - m_dbWidget = new Widgets::Gyroscope(relativeIndex()); - break; - case UI::Dashboard::WidgetType::Accelerometer: - m_dbWidget = new Widgets::Accelerometer(relativeIndex()); - break; - case UI::Dashboard::WidgetType::GPS: - m_dbWidget = new Widgets::GPS(relativeIndex()); - break; - case UI::Dashboard::WidgetType::LED: - m_dbWidget = new Widgets::LEDPanel(relativeIndex()); - break; - default: - break; + case UI::Dashboard::WidgetType::Group: + m_dbWidget = new Widgets::DataGroup(relativeIndex()); + break; + case UI::Dashboard::WidgetType::MultiPlot: + m_dbWidget = new Widgets::MultiPlot(relativeIndex()); + break; + case UI::Dashboard::WidgetType::FFT: + m_dbWidget = new Widgets::FFTPlot(relativeIndex()); + break; + case UI::Dashboard::WidgetType::Plot: + m_dbWidget = new Widgets::Plot(relativeIndex()); + break; + case UI::Dashboard::WidgetType::Bar: + m_dbWidget = new Widgets::Bar(relativeIndex()); + break; + case UI::Dashboard::WidgetType::Gauge: + m_dbWidget = new Widgets::Gauge(relativeIndex()); + break; + case UI::Dashboard::WidgetType::Compass: + m_dbWidget = new Widgets::Compass(relativeIndex()); + break; + case UI::Dashboard::WidgetType::Gyroscope: + m_dbWidget = new Widgets::Gyroscope(relativeIndex()); + break; + case UI::Dashboard::WidgetType::Accelerometer: + m_dbWidget = new Widgets::Accelerometer(relativeIndex()); + break; + case UI::Dashboard::WidgetType::GPS: + m_isGpsMap = true; + m_dbWidget = new Widgets::GPS(relativeIndex()); + break; + case UI::Dashboard::WidgetType::LED: + m_dbWidget = new Widgets::LEDPanel(relativeIndex()); + break; + default: + break; } // Configure widget @@ -199,8 +268,13 @@ void UI::DashboardWidget::setWidgetIndex(const int index) { setWidget(m_dbWidget); updateWidgetVisible(); - connect(m_dbWidget, &Widgets::DashboardWidgetBase::updated, - [=]() { update(); }); + connect(m_dbWidget, &Widgets::DashboardWidgetBase::updated, this, + [=]() { + if (!isGpsMap()) + update(); + else + Q_EMIT gpsDataChanged(); + }); Q_EMIT widgetIndexChanged(); } diff --git a/src/UI/DashboardWidget.h b/src/UI/DashboardWidget.h index 9e0f32493..542cb1107 100644 --- a/src/UI/DashboardWidget.h +++ b/src/UI/DashboardWidget.h @@ -119,9 +119,22 @@ class DashboardWidget : public DeclarativeWidget READ widgetVisible WRITE setVisible NOTIFY widgetVisibleChanged) + Q_PROPERTY(bool isGpsMap + READ isGpsMap + NOTIFY widgetIndexChanged) + Q_PROPERTY(qreal gpsAltitude + READ gpsAltitude + NOTIFY gpsDataChanged) + Q_PROPERTY(qreal gpsLatitude + READ gpsLatitude + NOTIFY gpsDataChanged) + Q_PROPERTY(qreal gpsLongitude + READ gpsLongitude + NOTIFY gpsDataChanged) // clang-format on Q_SIGNALS: + void gpsDataChanged(); void widgetIndexChanged(); void widgetVisibleChanged(); void isExternalWindowChanged(); @@ -138,6 +151,11 @@ class DashboardWidget : public DeclarativeWidget bool isExternalWindow() const; UI::Dashboard::WidgetType widgetType() const; + bool isGpsMap() const; + qreal gpsAltitude() const; + qreal gpsLatitude() const; + qreal gpsLongitude() const; + public Q_SLOTS: void setVisible(const bool visible); void setWidgetIndex(const int index); @@ -148,8 +166,9 @@ private Q_SLOTS: private: int m_index; + bool m_isGpsMap; bool m_widgetVisible; bool m_isExternalWindow; - QPointer m_dbWidget; + Widgets::DashboardWidgetBase* m_dbWidget; }; } diff --git a/src/UI/Widgets/GPS.cpp b/src/UI/Widgets/GPS.cpp index 9c11b59d7..3e80d6a40 100644 --- a/src/UI/Widgets/GPS.cpp +++ b/src/UI/Widgets/GPS.cpp @@ -20,9 +20,6 @@ * THE SOFTWARE. */ -#include -#include -#include #include #include @@ -33,6 +30,9 @@ */ Widgets::GPS::GPS(const int index) : m_index(index) + , m_altitude(0) + , m_latitude(0) + , m_longitude(0) { // Get pointers to serial studio modules auto dash = &UI::Dashboard::instance(); @@ -48,64 +48,37 @@ Widgets::GPS::GPS(const int index) windowPalette.setColor(QPalette::Window, theme->widgetWindowBackground()); setPalette(windowPalette); - // Initialize title widget children - m_label = new QLabel(&m_titleWidget); - m_zoomIn = new QPushButton(&m_titleWidget); - m_zoomOut = new QPushButton(&m_titleWidget); - - // Configure fonts - QFont font("Roboto Mono", 12); - m_label->setFont(font); - m_zoomIn->setFont(font); - m_zoomOut->setFont(font); - - // Configure zoom buttons - m_zoomIn->setText("+"); - m_zoomOut->setText("-"); - m_zoomIn->setMinimumWidth(m_zoomIn->height()); - m_zoomIn->setMaximumWidth(m_zoomIn->height()); - m_zoomOut->setMinimumWidth(m_zoomOut->height()); - m_zoomOut->setMaximumWidth(m_zoomOut->height()); - connect(m_zoomIn, SIGNAL(clicked()), &m_mapControl, SLOT(zoomIn())); - connect(m_zoomOut, SIGNAL(clicked()), &m_mapControl, SLOT(zoomOut())); - - // Configure title widget - m_titleWidget.setMinimumHeight(32); - m_titleWidget.setMaximumHeight(32); - m_titleLayout.setContentsMargins(0, 0, 0, 0); - m_titleLayout.addWidget(m_label, 1, Qt::AlignVCenter); - m_titleLayout.addWidget(m_zoomOut, 0, Qt::AlignVCenter); - m_titleLayout.addWidget(m_zoomIn, 0, Qt::AlignVCenter); - m_titleWidget.setLayout(&m_titleLayout); - - // Configure map control - m_mapControl.showScale(true); - m_mapControl.setFrameShadow(QFrame::Plain); - m_mapControl.setFrameShape(QFrame::NoFrame); - m_mapControl.setMouseMode(qmapcontrol::MapControl::None); - m_mapControl.resize(QSize(width() - 28, height() - 36 - m_titleWidget.height())); + // React to Qt signals + connect(dash, SIGNAL(updated()), this, SLOT(updateData()), Qt::QueuedConnection); +} - // Load OSM map adapter - auto *mapadapter = new qmapcontrol::OSMMapAdapter(); - auto *l = new qmapcontrol::Layer("Custom Layer", mapadapter, - qmapcontrol::Layer::MapLayer); - m_mapControl.addLayer(l); - m_mapControl.setZoom(14); +/** + * Returns the latest GPS altitude value extracted from the JSON data. + */ +qreal Widgets::GPS::altitude() const +{ + return m_altitude; +} - // Configure layout - m_layout.setSpacing(8); - m_layout.addWidget(&m_titleWidget, 0); - m_layout.addWidget(&m_mapControl, 1); - m_layout.setContentsMargins(12, 12, 12, 12); - setLayout(&m_layout); +/** + * Returns the latest GPS latitude value extracted from the JSON data. + */ +qreal Widgets::GPS::latitude() const +{ + return m_latitude; +} - // React to Qt signals - connect(dash, SIGNAL(updated()), this, SLOT(updateData()), Qt::QueuedConnection); +/** + * Returns the latest GPS longitude value extracted from the JSON data. + */ +qreal Widgets::GPS::longitude() const +{ + return m_longitude; } /** * Checks if the widget is enabled, if so, the widget shall be updated - * to display the latest data frame. + * to process the latest data frame. * * If the widget is disabled (e.g. the user hides it, or the external * window is hidden), then the widget shall ignore the update request. @@ -125,73 +98,22 @@ void Widgets::GPS::updateData() auto group = dash->getGPS(m_index); // Get latitiude/longitude from datasets - qreal lat = -1; - qreal lon = -1; - qreal alt = -1; + m_altitude = 0, + m_latitude = 0; + m_longitude = 0; for (int i = 0; i < group.datasetCount(); ++i) { auto dataset = group.getDataset(i); if (dataset.widget() == "lat") - lat = dataset.value().toDouble(); + m_latitude = dataset.value().toDouble(); else if (dataset.widget() == "lon") - lon = dataset.value().toDouble(); + m_longitude = dataset.value().toDouble(); else if (dataset.widget() == "alt") - alt = dataset.value().toDouble(); - } - - // Update map position - m_mapControl.setView(QPointF(lon, lat)); - - // Update map title - auto latstr = QString::number(lat, 'f', dash->precision()); - auto lonstr = QString::number(lon, 'f', dash->precision()); - auto altstr = QString::number(alt, 'f', dash->precision()); - - // clang-format off - m_label->setText(QString("POS: %1,%2 ALT: %3 m") - .arg(latstr, lonstr, altstr)); - // clang-format on - - // Repaint widget - requestRepaint(); -} - -/** - * Changes the size of the map when the widget is resized - */ -void Widgets::GPS::resizeEvent(QResizeEvent *event) -{ - auto width = event->size().width(); - auto height = event->size().height(); - m_mapControl.resize(QSize(width - 28, height - 26 - m_titleWidget.height())); - event->accept(); -} - -/** - * Manually calls the zoom in / zoom out button clicks when the user presses on the widget - */ -void Widgets::GPS::mousePressEvent(QMouseEvent *event) -{ - // Get x and y coordinates relative to title widget - auto x = event->x() - m_titleWidget.x(); - auto y = event->y() - m_titleWidget.y(); - - // Press zoom in button - if (x >= m_zoomIn->x() && x <= m_zoomIn->x() + m_zoomIn->width()) - { - if (y >= m_zoomIn->y() && y <= m_zoomIn->y() + m_zoomIn->height()) - Q_EMIT m_zoomIn->clicked(); - } - - // Press zoom out button - else if (x >= m_zoomOut->x() && x <= m_zoomOut->x() + m_zoomOut->width()) - { - if (y >= m_zoomOut->y() && y <= m_zoomOut->y() + m_zoomOut->height()) - Q_EMIT m_zoomOut->clicked(); + m_altitude = dataset.value().toDouble(); } - // Accept event - event->accept(); + // Update the QML user interface with the new data + Q_EMIT updated(); } #ifdef SERIAL_STUDIO_INCLUDE_MOC diff --git a/src/UI/Widgets/GPS.h b/src/UI/Widgets/GPS.h index 01bf5b6ec..658f4d335 100644 --- a/src/UI/Widgets/GPS.h +++ b/src/UI/Widgets/GPS.h @@ -22,16 +22,8 @@ #pragma once -#include -#include -#include -#include - -#include #include -class QNetworkReply; - namespace Widgets { class GPS : public DashboardWidgetBase @@ -41,21 +33,17 @@ class GPS : public DashboardWidgetBase public: GPS(const int index = -1); + qreal altitude() const; + qreal latitude() const; + qreal longitude() const; + private Q_SLOTS: void updateData(); -protected: - void resizeEvent(QResizeEvent *event); - void mousePressEvent(QMouseEvent *event); - private: int m_index; - QLabel *m_label; - QVBoxLayout m_layout; - QPushButton *m_zoomIn; - QPushButton *m_zoomOut; - QWidget m_titleWidget; - QHBoxLayout m_titleLayout; - qmapcontrol::MapControl m_mapControl; + qreal m_altitude; + qreal m_latitude; + qreal m_longitude; }; }