26 #ifndef DIGIKAM_MAP_WIDGET_H
27 #define DIGIKAM_MAP_WIDGET_H
32 #include <QStringList>
42 class QDragEnterEvent;
51 class GeoIfaceSharedData;
53 class GeoDragDropHandler;
54 class AbstractMarkerTiler;
63 explicit MapWidget(QWidget*
const parent =
nullptr);
66 void saveSettingsToGroup(KConfigGroup*
const group);
67 void readSettingsFromGroup(
const KConfigGroup*
const group);
80 QAction* getControlAction(
const QString& actionName);
81 QWidget* getControlWidget();
82 void addWidgetToControlWidget(QWidget*
const newWidget);
83 void setSortOptionsMenu(QMenu*
const sortMenu);
84 void setMouseMode(
const GeoMouseModes mouseMode);
85 void setAvailableMouseModes(
const GeoMouseModes mouseModes);
86 void setVisibleMouseModes(
const GeoMouseModes mouseModes);
87 void setAllowModifications(
const bool state);
88 void setActive(
const bool state);
89 bool getActiveState();
90 bool getStickyModeState()
const;
91 void setStickyModeState(
const bool state);
92 void setVisibleExtraActions(
const GeoExtraActions actions);
93 void setEnabledExtraActions(
const GeoExtraActions actions);
98 QStringList availableBackends()
const;
99 bool setBackend(
const QString& backendName);
104 void setZoom(
const QString& newZoom);
107 void adjustBoundariesToGroupedMarkers(
const bool useSaneZoomLevel =
true);
113 void setSortKey(
const int sortKey);
114 void setThumnailSize(
const int newThumbnailSize);
115 void setThumbnailGroupingRadius(
const int newGroupingRadius);
116 void setMarkerGroupingRadius(
const int newGroupingRadius);
117 int getThumbnailSize()
const;
118 int getUndecoratedThumbnailSize()
const;
119 void setShowThumbnails(
const bool state);
126 void clearRegionSelection();
134 void updateMarkers();
135 void updateClusters();
136 void markClustersAsDirty();
138 void getColorInfos(
const int clusterIndex, QColor* fillColor, QColor* strokeColor,
139 Qt::PenStyle* strokeStyle, QString* labelText, QColor* labelColor,
140 const GeoGroupState*
const overrideSelection =
nullptr,
141 const int*
const overrideCount =
nullptr)
const;
143 void getColorInfos(
const GeoGroupState groupState,
145 QColor* fillColor, QColor* strokeColor,
146 Qt::PenStyle* strokeStyle, QString* labelText, QColor* labelColor)
const;
148 QString convertZoomToBackendZoom(
const QString& someZoom,
const QString& targetBackend)
const;
149 QPixmap getDecoratedPixmapForCluster(
const int clusterId,
const GeoGroupState*
const selectedStateOverride,
150 const int*
const countOverride, QPoint*
const centerPoint);
151 QVariant getClusterRepresentativeMarker(
const int clusterIndex,
const int sortKey);
160 void slotDecreaseThumbnailSize();
161 void slotIncreaseThumbnailSize();
166 void slotUpdateActionsEnabled();
167 void slotClustersNeedUpdating();
168 void stopThumbnailTimer();
169 void slotStickyModeChanged();
185 static QString MarbleWidgetVersion();
189 bool currentBackendReady()
const;
190 void applyCacheToBackend();
191 void saveBackendToCache();
192 void rebuildConfigurationMenu();
193 void dropEvent(QDropEvent* event)
override;
194 void dragMoveEvent(QDragMoveEvent* event)
override;
195 void dragEnterEvent(QDragEnterEvent* event)
override;
196 void dragLeaveEvent(QDragLeaveEvent* event)
override;
197 void createActions();
198 void createActionsForBackendSelection();
199 void setShowPlaceholderWidget(
const bool state);
200 void setMapWidgetInFrame(QWidget*
const widgetForFrame);
201 void removeMapWidgetFromFrame();
205 void slotBackendReadyChanged(
const QString& backendName);
206 void slotChangeBackend(QAction* action);
207 void slotBackendZoomChanged(
const QString& newZoom);
208 void slotClustersMoved(
const QIntList& clusterIndices,
const QPair<int, QModelIndex>& snapTarget);
209 void slotClustersClicked(
const QIntList& clusterIndices);
210 void slotShowThumbnailsChanged();
211 void slotRequestLazyReclustering();
212 void slotLazyReclusteringRequestCallBack();
213 void slotItemDisplaySettingsChanged();
214 void slotUngroupedModelChanged();
219 void slotMouseModeChanged(QAction* triggeredAction);
220 void slotRemoveCurrentRegionSelection();
225 const QExplicitlySharedDataPointer<GeoIfaceSharedData> s;
Definition: abstractmarkertiler.h:45
Definition: geocoordinates.h:49
QPair< GeoCoordinates, GeoCoordinates > Pair
Definition: geocoordinates.h:64
Definition: geodragdrophandler.h:40
Helper class to access data in models.
Definition: geomodelhelper.h:47
Definition: trackmanager.h:46
Definition: datefolderview.cpp:43