• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • plugins
  • render
  • measure
MeasureToolPlugin.cpp
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2006-2007 Torsten Rahn <tackat@kde.org>
9 // Copyright 2007-2008 Inge Wallin <ingwa@kde.org>
10 // Copyright 2007-2008 Carlos Licea <carlos.licea@kdemail.net>
11 // Copyright 2011 Michael Henning <mikehenning@eclipse.net>
12 // Copyright 2011 Valery Kharitonov <kharvd@gmail.com>
13 // Copyright 2012 Mohammed Nafees <nafees.technocool@gmail.com>
14 //
15 
16 #include "MeasureToolPlugin.h"
17 #include "ui_MeasureConfigWidget.h"
18 
19 #include "GeoPainter.h"
20 #include "MarbleDebug.h"
21 #include "MarbleMath.h"
22 #include "MarbleModel.h"
23 #include "MarbleLocale.h"
24 #include "Planet.h"
25 
26 #include <QColor>
27 #include <QPen>
28 #include <QPixmap>
29 #include <QPushButton>
30 #include <QCheckBox>
31 
32 namespace Marble
33 {
34 
35 MeasureToolPlugin::MeasureToolPlugin( const MarbleModel *marbleModel )
36  : RenderPlugin( marbleModel ),
37  m_measureLineString( GeoDataLineString( Tessellate ) ),
38  m_mark( ":/mark.png" ),
39 #ifdef Q_OS_MACX
40  m_font_regular( QFont( "Sans Serif", 10, 50, false ) ),
41 #else
42  m_font_regular( QFont( "Sans Serif", 8, 50, false ) ),
43 #endif
44  m_fontascent( QFontMetrics( m_font_regular ).ascent() ),
45  m_pen( Qt::red ),
46  m_addMeasurePointAction( 0 ),
47  m_removeLastMeasurePointAction( 0 ),
48  m_removeMeasurePointsAction( 0 ),
49  m_separator( 0 ),
50  m_marbleWidget( 0 ),
51  m_configDialog( 0 ),
52  m_uiConfigWidget( 0 ),
53  m_showDistanceLabel( true ),
54  m_showBearingLabel( true )
55 {
56  m_pen.setWidthF( 2.0 );
57 }
58 
59 QStringList MeasureToolPlugin::backendTypes() const
60 {
61  return QStringList( "measuretool" );
62 }
63 
64 QString MeasureToolPlugin::renderPolicy() const
65 {
66  return QString( "ALWAYS" );
67 }
68 
69 QStringList MeasureToolPlugin::renderPosition() const
70 {
71  return QStringList() << "USER_TOOLS";
72 }
73 
74 QString MeasureToolPlugin::name() const
75 {
76  return tr( "Measure Tool" );
77 }
78 
79 QString MeasureToolPlugin::guiString() const
80 {
81  return tr( "&Measure Tool" );
82 }
83 
84 QString MeasureToolPlugin::nameId() const
85 {
86  return QString( "measure-tool" );
87 }
88 
89 QString MeasureToolPlugin::version() const
90 {
91  return "1.0";
92 }
93 
94 QString MeasureToolPlugin::description() const
95 {
96  return tr( "Measure distances between two or more points." );
97 }
98 
99 QString MeasureToolPlugin::copyrightYears() const
100 {
101  return "2006-2008, 2011";
102 }
103 
104 QList<PluginAuthor> MeasureToolPlugin::pluginAuthors() const
105 {
106  return QList<PluginAuthor>()
107  << PluginAuthor( QString::fromUtf8( "Dennis Nienhüser" ), "earthwings@gentoo.org" )
108  << PluginAuthor( "Torsten Rahn", "tackat@kde.org" )
109  << PluginAuthor( "Inge Wallin", "ingwa@kde.org" )
110  << PluginAuthor( "Carlos Licea", "carlos.licea@kdemail.net" )
111  << PluginAuthor( "Michael Henning", "mikehenning@eclipse.net" )
112  << PluginAuthor( "Valery Kharitonov", "kharvd@gmail.com" )
113  << PluginAuthor( "Mohammed Nafees", "nafees.technocool@gmail.com" );
114 }
115 
116 QIcon MeasureToolPlugin::icon () const
117 {
118  return QIcon(":/icons/measure.png");
119 }
120 
121 void MeasureToolPlugin::initialize ()
122 {
123 }
124 
125 bool MeasureToolPlugin::isInitialized () const
126 {
127  return true;
128 }
129 
130 QDialog *MeasureToolPlugin::configDialog()
131 {
132  if ( !m_configDialog ) {
133  m_configDialog = new QDialog();
134  m_uiConfigWidget = new Ui::MeasureConfigWidget;
135  m_uiConfigWidget->setupUi( m_configDialog );
136  connect( m_uiConfigWidget->m_buttonBox, SIGNAL(accepted()),
137  SLOT(writeSettings()) );
138  QPushButton *applyButton = m_uiConfigWidget->m_buttonBox->button( QDialogButtonBox::Apply );
139  connect( applyButton, SIGNAL(clicked()),
140  this, SLOT(writeSettings()) );
141  }
142 
143  m_uiConfigWidget->m_showDistanceLabelsCheckBox->setChecked( m_showDistanceLabel );
144  m_uiConfigWidget->m_showBearingLabelsCheckBox->setChecked( m_showBearingLabel );
145 
146  return m_configDialog;
147 }
148 
149 QHash<QString,QVariant> MeasureToolPlugin::settings() const
150 {
151  QHash<QString, QVariant> settings = RenderPlugin::settings();
152 
153  settings.insert( "showDistanceLabel", m_showDistanceLabel );
154  settings.insert( "showBearingLabel", m_showBearingLabel );
155 
156  return settings;
157 }
158 
159 void MeasureToolPlugin::setSettings( const QHash<QString,QVariant> &settings )
160 {
161  RenderPlugin::setSettings( settings );
162 
163  m_showDistanceLabel = settings.value( "showDistanceLabel", true ).toBool();
164  m_showBearingLabel = settings.value( "showBearingLabel", true ).toBool();
165 }
166 
167 void MeasureToolPlugin::writeSettings()
168 {
169  m_showDistanceLabel = m_uiConfigWidget->m_showDistanceLabelsCheckBox->isChecked();
170  m_showBearingLabel = m_uiConfigWidget->m_showBearingLabelsCheckBox->isChecked();
171 
172  emit settingsChanged( nameId() );
173  emit repaintNeeded();
174 }
175 
176 bool MeasureToolPlugin::render( GeoPainter *painter,
177  ViewportParams *viewport,
178  const QString& renderPos,
179  GeoSceneLayer * layer )
180 {
181  Q_UNUSED(viewport)
182  Q_UNUSED(renderPos)
183  Q_UNUSED(layer)
184 
185  // No way to paint anything if the list is empty.
186  if ( m_measureLineString.isEmpty() )
187  return true;
188 
189  painter->save();
190 
191  // Prepare for painting the measure line string and paint it.
192  painter->setPen( m_pen );
193 
194  if ( m_showDistanceLabel || m_showBearingLabel) {
195  drawSegments( painter );
196  } else {
197  painter->drawPolyline( m_measureLineString );
198  }
199 
200  // Paint the nodes of the paths.
201  drawMeasurePoints( painter );
202 
203  // Paint the total distance in the upper left corner.
204  qreal totalDistance = m_measureLineString.length( marbleModel()->planet()->radius() );
205 
206  if ( m_measureLineString.size() > 1 )
207  drawTotalDistanceLabel( painter, totalDistance );
208 
209  painter->restore();
210 
211  return true;
212 }
213 
214 void MeasureToolPlugin::drawSegments( GeoPainter* painter )
215 {
216  for ( int segmentIndex = 0; segmentIndex < m_measureLineString.size() - 1; ++segmentIndex ) {
217  GeoDataLineString segment( Tessellate );
218  segment << m_measureLineString[segmentIndex] ;
219  segment << m_measureLineString[segmentIndex + 1];
220 
221  QPen shadowPen( Oxygen::aluminumGray5 );
222  shadowPen.setWidthF(4.0);
223  painter->setPen( shadowPen );
224  painter->drawPolyline( segment );
225 
226  QString infoString;
227 
228  if ( m_showDistanceLabel ) {
229 
230  const MarbleLocale::MeasurementSystem measurementSystem =
231  MarbleGlobal::getInstance()->locale()->measurementSystem();
232 
233  const qreal segmentLength = segment.length( marbleModel()->planet()->radius() );
234 
235  if ( measurementSystem == MarbleLocale::MetricSystem ) {
236  if ( segmentLength >= 1000.0 ) {
237  infoString = tr("%1 km").arg( segmentLength / 1000.0, 0, 'f', 2 );
238  }
239  else {
240  infoString = tr("%1 m").arg( segmentLength, 0, 'f', 2 );
241  }
242  } else if (measurementSystem == MarbleLocale::ImperialSystem) {
243  infoString = QString("%1 mi").arg( segmentLength / 1000.0 * KM2MI, 0, 'f', 2 );
244  } else if (measurementSystem == MarbleLocale::NauticalSystem) {
245  infoString = QString("%1 nm").arg( segmentLength / 1000.0 * KM2NM, 0, 'f', 2 );
246  }
247  }
248 
249  if ( m_showBearingLabel ) {
250  GeoDataCoordinates coordinates = segment.first();
251  qreal bearing = coordinates.bearing( segment.last(), GeoDataCoordinates::Degree );
252  if ( bearing < 0 ) {
253  bearing += 360;
254  }
255  QString bearingString = QString::fromUtf8( "%1°" ).arg( bearing, 0, 'f', 2 );
256  if ( !infoString.isEmpty() ) {
257  infoString.append( "\n" );
258  }
259  infoString.append( bearingString );
260  }
261 
262  if ( !infoString.isEmpty() ) {
263  QPen linePen;
264 
265  // have three alternating colors for the segments
266  switch ( segmentIndex % 3 ) {
267  case 0:
268  linePen.setColor( Oxygen::brickRed4 );
269  break;
270  case 1:
271  linePen.setColor( Oxygen::forestGreen4 );
272  break;
273  case 2:
274  linePen.setColor( Oxygen::skyBlue4 );
275  break;
276  }
277 
278  linePen.setWidthF(2.0);
279  painter->setPen( linePen );
280  painter->drawPolyline( segment, infoString, LineCenter );
281  }
282  }
283 }
284 
285 void MeasureToolPlugin::drawMeasurePoints( GeoPainter *painter ) const
286 {
287  // Paint the marks.
288  GeoDataLineString::const_iterator itpoint = m_measureLineString.constBegin();
289  GeoDataLineString::const_iterator const endpoint = m_measureLineString.constEnd();
290  for (; itpoint != endpoint; ++itpoint )
291  {
292  painter->drawPixmap( *itpoint, m_mark );
293  }
294 }
295 
296 void MeasureToolPlugin::drawTotalDistanceLabel( GeoPainter *painter,
297  qreal totalDistance ) const
298 {
299  QString distanceString;
300 
301  MarbleLocale::MeasurementSystem measurementSystem;
302  measurementSystem = MarbleGlobal::getInstance()->locale()->measurementSystem();
303 
304  if ( measurementSystem == MarbleLocale::MetricSystem ) {
305  if ( totalDistance >= 1000.0 ) {
306  distanceString = tr("Total Distance: %1 km").arg( totalDistance/1000.0 );
307  }
308  else {
309  distanceString = tr("Total Distance: %1 m").arg( totalDistance );
310  }
311  }
312  else if (measurementSystem == MarbleLocale::ImperialSystem) {
313  distanceString = QString("Total Distance: %1 mi").arg( totalDistance/1000.0 * KM2MI );
314  } else if (measurementSystem == MarbleLocale::NauticalSystem) {
315  distanceString = QString("Total Distance: %1 nm").arg( totalDistance/1000.0 * KM2NM );
316  }
317 
318  painter->setPen( QColor( Qt::black ) );
319  painter->setBrush( QColor( 192, 192, 192, 192 ) );
320 
321  painter->drawRect( 10, 105, 10 + QFontMetrics( m_font_regular ).boundingRect( distanceString ).width() + 5, 10 + m_fontascent + 2 );
322  painter->setFont( m_font_regular );
323  painter->drawText( 15, 110 + m_fontascent, distanceString );
324 }
325 
326 
327 void MeasureToolPlugin::addMeasurePoint( qreal lon, qreal lat )
328 {
329  m_measureLineString << GeoDataCoordinates( lon, lat );
330 
331  emit numberOfMeasurePointsChanged( m_measureLineString.size() );
332 }
333 
334 void MeasureToolPlugin::removeLastMeasurePoint()
335 {
336  if (!m_measureLineString.isEmpty())
337  m_measureLineString.remove( m_measureLineString.size() - 1 );
338 
339  emit numberOfMeasurePointsChanged( m_measureLineString.size() );
340 }
341 
342 void MeasureToolPlugin::removeMeasurePoints()
343 {
344  m_measureLineString.clear();
345 
346  emit numberOfMeasurePointsChanged( m_measureLineString.size() );
347 }
348 
349 void MeasureToolPlugin::addContextItems()
350 {
351  MarbleWidgetPopupMenu *menu = m_marbleWidget->popupMenu();
352 
353  // Connect the inputHandler and the measure tool to the popup menu
354  m_addMeasurePointAction = new QAction( QIcon(":/icons/measure.png"), tr( "Add &Measure Point" ), this );
355  m_removeLastMeasurePointAction = new QAction( tr( "Remove &Last Measure Point" ), this );
356  m_removeLastMeasurePointAction->setEnabled( false );
357  m_removeMeasurePointsAction = new QAction( tr( "&Remove Measure Points" ), this );
358  m_removeMeasurePointsAction->setEnabled( false );
359  m_separator = new QAction( this );
360  m_separator->setSeparator( true );
361 
362  if ( ! MarbleGlobal::getInstance()->profiles() & MarbleGlobal::SmallScreen ) {
363  menu->addAction( Qt::RightButton, m_addMeasurePointAction );
364  menu->addAction( Qt::RightButton, m_removeLastMeasurePointAction );
365  menu->addAction( Qt::RightButton, m_removeMeasurePointsAction );
366  menu->addAction( Qt::RightButton, m_separator );
367  }
368 
369  connect( m_addMeasurePointAction, SIGNAL(triggered()), SLOT(addMeasurePointEvent()) );
370  connect( m_removeLastMeasurePointAction, SIGNAL(triggered()), SLOT(removeLastMeasurePoint()) );
371  connect( m_removeMeasurePointsAction, SIGNAL(triggered()), SLOT(removeMeasurePoints()) );
372 
373  connect( this, SIGNAL(numberOfMeasurePointsChanged(int)), SLOT(setNumberOfMeasurePoints(int)) );
374 }
375 
376 void MeasureToolPlugin::removeContextItems()
377 {
378  delete m_addMeasurePointAction;
379  delete m_removeLastMeasurePointAction;
380  delete m_removeMeasurePointsAction;
381  delete m_separator;
382 }
383 
384 void MeasureToolPlugin::addMeasurePointEvent()
385 {
386  QPoint p = m_marbleWidget->popupMenu()->mousePosition();
387 
388  qreal lat;
389  qreal lon;
390  m_marbleWidget->geoCoordinates( p.x(), p.y(), lon, lat, GeoDataCoordinates::Radian );
391 
392  addMeasurePoint( lon, lat );
393 }
394 
395 void MeasureToolPlugin::setNumberOfMeasurePoints( int newNumber )
396 {
397  const bool enableMeasureActions = ( newNumber > 0 );
398  m_removeMeasurePointsAction->setEnabled(enableMeasureActions);
399  m_removeLastMeasurePointAction->setEnabled(enableMeasureActions);
400 }
401 
402 bool MeasureToolPlugin::eventFilter( QObject *object, QEvent *e )
403 {
404  if ( m_marbleWidget && !enabled() ) {
405  m_marbleWidget = 0;
406  removeContextItems();
407  m_measureLineString.clear();
408  }
409 
410  if ( m_marbleWidget || !enabled() || !visible() ) {
411  return RenderPlugin::eventFilter( object, e );
412  }
413 
414  MarbleWidget *widget = qobject_cast<MarbleWidget*>( object );
415 
416  if ( widget ) {
417  m_marbleWidget = widget;
418  addContextItems();
419  }
420 
421  return RenderPlugin::eventFilter( object, e );
422 }
423 
424 }
425 
426 Q_EXPORT_PLUGIN2( MeasureToolPlugin, Marble::MeasureToolPlugin )
427 
428 #include "MeasureToolPlugin.moc"
429 
Marble::RenderPlugin::visible
bool visible() const
is visible
Marble::GeoDataLineString::length
virtual qreal length(qreal planetRadius, int offset=0) const
Returns the length of LineString across a sphere starting from a coordinate in LineString This method...
Definition: GeoDataLineString.cpp:594
QEvent
QString::append
QString & append(QChar ch)
Marble::GeoDataCoordinates::Radian
Definition: GeoDataCoordinates.h:65
QHash::insert
iterator insert(const Key &key, const T &value)
Marble::MarbleLocale::NauticalSystem
Definition: MarbleLocale.h:40
QAction::setSeparator
void setSeparator(bool b)
Marble::MarbleLocale::measurementSystem
MarbleLocale::MeasurementSystem measurementSystem() const
Definition: MarbleLocale.cpp:45
MarbleMath.h
Marble::RenderPlugin::repaintNeeded
void repaintNeeded(QRegion dirtyRegion=QRegion())
This signal is emitted if an update of the view is needed.
Marble::MeasureToolPlugin::eventFilter
bool eventFilter(QObject *object, QEvent *event)
Definition: MeasureToolPlugin.cpp:402
Marble::MeasureToolPlugin::settings
QHash< QString, QVariant > settings() const
Settings of the plugin.
Definition: MeasureToolPlugin.cpp:149
Marble::GeoPainter
A painter that allows to draw geometric primitives on the map.
Definition: GeoPainter.h:98
Marble::RenderPlugin::eventFilter
bool eventFilter(QObject *, QEvent *)
Definition: RenderPlugin.cpp:216
MarbleModel.h
This file contains the headers for MarbleModel.
Marble::GeoDataLineString::size
int size() const
Returns the number of nodes in a LineString.
Definition: GeoDataLineString.cpp:138
QFont
Marble::MeasureToolPlugin::isInitialized
bool isInitialized() const
Definition: MeasureToolPlugin.cpp:125
Marble::PluginAuthor
Definition: PluginInterface.h:28
Marble::MeasureToolPlugin::backendTypes
QStringList backendTypes() const
Returns the name(s) of the backend that the plugin can render This method should return the name of t...
Definition: MeasureToolPlugin.cpp:59
QPainter::save
void save()
Marble::MeasureToolPlugin::MeasureToolPlugin
MeasureToolPlugin(const MarbleModel *marbleModel=0)
Definition: MeasureToolPlugin.cpp:35
Marble::GeoPainter::drawPolyline
void drawPolyline(const GeoDataLineString &lineString, const QString &labelText=QString(), LabelPositionFlags labelPositionFlags=LineCenter)
Draws a given line string (a "polyline").
Definition: GeoPainter.cpp:474
QPoint
QFontMetrics
Planet.h
MarbleDebug.h
Marble::MeasureToolPlugin::copyrightYears
QString copyrightYears() const
Definition: MeasureToolPlugin.cpp:99
Marble::MarbleLocale::MeasurementSystem
MeasurementSystem
Definition: MarbleLocale.h:37
QObject::tr
QString tr(const char *sourceText, const char *disambiguation, int n)
Marble::GeoDataCoordinates::Degree
Definition: GeoDataCoordinates.h:66
QPoint::x
int x() const
QPoint::y
int y() const
Marble::MarbleWidget
A widget class that displays a view of the earth.
Definition: MarbleWidget.h:104
Marble::MeasureToolPlugin::nameId
QString nameId() const
Returns the unique name of the plugin.
Definition: MeasureToolPlugin.cpp:84
Marble::MeasureToolPlugin::numberOfMeasurePointsChanged
void numberOfMeasurePointsChanged(int newNumber)
Marble::MeasureToolPlugin::version
QString version() const
Definition: MeasureToolPlugin.cpp:89
Marble::MeasureToolPlugin::pluginAuthors
QList< PluginAuthor > pluginAuthors() const
Definition: MeasureToolPlugin.cpp:104
Marble::GeoSceneLayer
Layer of a GeoScene document.
Definition: GeoSceneLayer.h:43
QString::fromUtf8
QString fromUtf8(const char *str, int size)
QHash< QString, QVariant >
QObject
QPainter::setPen
void setPen(const QColor &color)
Marble::RenderPlugin::settingsChanged
void settingsChanged(QString nameId)
This signal is emitted if the settings of the RenderPlugin changed.
Marble::MeasureToolPlugin::renderPosition
QStringList renderPosition() const
Preferred level in the layer stack for the rendering.
Definition: MeasureToolPlugin.cpp:69
Marble::radius
static qreal radius(qreal zoom)
Definition: thumbnailer.cpp:99
Marble::MeasureToolPlugin::initialize
void initialize()
Definition: MeasureToolPlugin.cpp:121
QString::isEmpty
bool isEmpty() const
Marble::LineCenter
Definition: MarbleGlobal.h:113
QPen::setWidthF
void setWidthF(qreal width)
Marble::Oxygen::skyBlue4
QColor const skyBlue4
Definition: MarbleColors.h:56
Marble::MarbleGlobal::locale
MarbleLocale * locale() const
Definition: MarbleGlobal.cpp:43
QString
QList
QColor
MarbleLocale.h
GeoPainter.h
QPen::setColor
void setColor(const QColor &color)
Marble::GeoDataLineString
A LineString that allows to store a contiguous set of line segments.
Definition: GeoDataLineString.h:75
Marble::MeasureToolPlugin
Definition: MeasureToolPlugin.h:38
QStringList
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
Q_EXPORT_PLUGIN2
#define Q_EXPORT_PLUGIN2(a, b)
Definition: marble_export.h:34
Marble::MeasureToolPlugin::description
QString description() const
Returns a user description of the plugin.
Definition: MeasureToolPlugin.cpp:94
QHash::value
const T value(const Key &key) const
Marble::KM2MI
const qreal KM2MI
Definition: MarbleGlobal.h:203
Marble::MarbleGlobal::SmallScreen
Definition: MarbleGlobal.h:287
Marble::MarbleGlobal::getInstance
static MarbleGlobal * getInstance()
Definition: MarbleGlobal.cpp:37
QPainter::restore
void restore()
Marble::MarbleLocale::MetricSystem
Definition: MarbleLocale.h:38
Marble::Oxygen::brickRed4
QColor const brickRed4
Definition: MarbleColors.h:32
Marble::MarbleModel
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:97
Marble::GeoDataLineString::isEmpty
bool isEmpty() const
Returns whether the LineString has no nodes at all.
Definition: GeoDataLineString.cpp:133
MeasureToolPlugin.h
Marble::Oxygen::aluminumGray5
QColor const aluminumGray5
Definition: MarbleColors.h:91
Marble::MeasureToolPlugin::render
bool render(GeoPainter *painter, ViewportParams *viewport, const QString &renderPos, GeoSceneLayer *layer=0)
Renders the content provided by the layer on the viewport.
Definition: MeasureToolPlugin.cpp:176
Marble::MarbleWidget::geoCoordinates
bool geoCoordinates(int x, int y, qreal &lon, qreal &lat, GeoDataCoordinates::Unit=GeoDataCoordinates::Degree) const
Get the earth coordinates corresponding to a pixel in the widget.
Definition: MarbleWidget.cpp:668
QAction
Marble::MeasureToolPlugin::name
QString name() const
Returns the user-visible name of the plugin.
Definition: MeasureToolPlugin.cpp:74
Marble::MeasureToolPlugin::renderPolicy
QString renderPolicy() const
Return how the plugin settings should be used.
Definition: MeasureToolPlugin.cpp:64
Marble::Oxygen::forestGreen4
QColor const forestGreen4
Definition: MarbleColors.h:74
QPen
QDialog
Marble::MarbleWidget::popupMenu
MarbleWidgetPopupMenu * popupMenu()
Definition: MarbleWidget.cpp:309
QPushButton
Marble::MeasureToolPlugin::guiString
QString guiString() const
String that should be displayed in GUI.
Definition: MeasureToolPlugin.cpp:79
Marble::RenderPlugin::enabled
bool enabled() const
is enabled
Marble::MarbleLocale::ImperialSystem
Definition: MarbleLocale.h:39
Marble::KM2NM
const qreal KM2NM
Definition: MarbleGlobal.h:207
Marble::Tessellate
Definition: MarbleGlobal.h:32
Marble::MarbleWidgetPopupMenu::mousePosition
QPoint mousePosition() const
mousePosition Position of the last mouse button click
Definition: MarbleWidgetPopupMenu.cpp:663
Marble::RenderPlugin::marbleModel
const MarbleModel * marbleModel() const
Access to the MarbleModel.
Definition: RenderPlugin.cpp:83
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
Marble::RenderPlugin::settings
virtual QHash< QString, QVariant > settings() const
Settings of the plugin.
Definition: RenderPlugin.cpp:185
Marble::MeasureToolPlugin::configDialog
QDialog * configDialog()
Returns a pointer to the configuration dialog of the plugin.
Definition: MeasureToolPlugin.cpp:130
Marble::MeasureToolPlugin::icon
QIcon icon() const
Returns an icon for the plugin.
Definition: MeasureToolPlugin.cpp:116
QString::arg
QString arg(qlonglong a, int fieldWidth, int base, const QChar &fillChar) const
Marble::MeasureToolPlugin::setSettings
void setSettings(const QHash< QString, QVariant > &settings)
Set the settings of the plugin.
Definition: MeasureToolPlugin.cpp:159
Marble::RenderPlugin
The abstract class that creates a renderable item.
Definition: RenderPlugin.h:43
Marble::RenderPlugin::setSettings
virtual void setSettings(const QHash< QString, QVariant > &settings)
Set the settings of the plugin.
Definition: RenderPlugin.cpp:195
QAction::setEnabled
void setEnabled(bool)
QIcon
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:40 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal