• 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
  • eclipses
EclipsesModel.h
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 2012 Rene Kuettner <rene@bitkanal.net>
9 //
10 
11 #ifndef MARBLE_ECLIPSESMODEL_H
12 #define MARBLE_ECLIPSESMODEL_H
13 
14 #include <QAbstractItemModel>
15 #include <QDateTime>
16 #include <QPixmap>
17 
18 #include "GeoDataCoordinates.h"
19 #include "MarbleModel.h"
20 
21 class EclSolar;
22 
23 namespace Marble
24 {
25 
26 class EclipsesItem;
27 
36 class EclipsesModel : public QAbstractItemModel
37 {
38  Q_OBJECT
39 
40 public:
41  explicit EclipsesModel( const MarbleModel *model, QObject *parent = 0 );
42 
43  ~EclipsesModel();
44 
54  const GeoDataCoordinates& observationPoint() const;
55 
67  void setObservationPoint( const GeoDataCoordinates &coords );
68 
79  void setYear( int year );
80 
89  int year() const;
90 
99  void setWithLunarEclipses( const bool enable );
100 
110  bool withLunarEclipses() const;
111 
124  EclipsesItem* eclipseWithIndex( int index );
125 
133  QList<EclipsesItem*> items() const;
134 
135  // QT abstract item model interface
136  QModelIndex index( int row, int column,
137  const QModelIndex &parent = QModelIndex() ) const;
138  QModelIndex parent( const QModelIndex &index ) const;
139  int rowCount( const QModelIndex &parent = QModelIndex() ) const;
140  int columnCount( const QModelIndex &parent = QModelIndex() ) const;
141  QVariant data( const QModelIndex &index,
142  int role = Qt::DisplayRole ) const;
143  QVariant headerData( int section, Qt::Orientation orientation,
144  int role = Qt::DisplayRole ) const;
145 
146 public Q_SLOTS:
157  void update();
158 
159 private:
168  void addItem( EclipsesItem *item );
169 
177  void clear();
178 
179  const MarbleModel *m_marbleModel;
180  EclSolar *m_ecl;
181  QList<EclipsesItem*> m_items;
182  int m_currentYear;
183  bool m_withLunarEclipses;
184  GeoDataCoordinates m_observationPoint;
185 };
186 
187 }
188 
189 #endif // MARBLE_ECLIPSESMODEL_H
QModelIndex
GeoDataCoordinates.h
Marble::GeoDataCoordinates
A 3d point representation.
Definition: GeoDataCoordinates.h:52
Marble::EclipsesModel::index
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const
Definition: EclipsesModel.cpp:105
Marble::EclipsesModel::data
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
Definition: EclipsesModel.cpp:136
MarbleModel.h
This file contains the headers for MarbleModel.
Marble::EclipsesModel::eclipseWithIndex
EclipsesItem * eclipseWithIndex(int index)
Get eclipse item of a given year.
Definition: EclipsesModel.cpp:89
Marble::EclipsesModel::setObservationPoint
void setObservationPoint(const GeoDataCoordinates &coords)
Set the current observation point.
Definition: EclipsesModel.cpp:52
Marble::EclipsesModel::setYear
void setYear(int year)
Set the year.
Definition: EclipsesModel.cpp:58
Marble::EclipsesModel::~EclipsesModel
~EclipsesModel()
Definition: EclipsesModel.cpp:42
EclSolar
Definition: eclsolar.h:22
Marble::EclipsesModel::items
QList< EclipsesItem * > items() const
Return the items in this model.
Definition: EclipsesModel.cpp:100
Marble::EclipsesModel::setWithLunarEclipses
void setWithLunarEclipses(const bool enable)
Set if lunar eclipses are enbled.
Definition: EclipsesModel.cpp:75
Marble::EclipsesModel::rowCount
int rowCount(const QModelIndex &parent=QModelIndex()) const
Definition: EclipsesModel.cpp:124
QObject
QList
Marble::EclipsesModel::year
int year() const
Return the year.
Definition: EclipsesModel.cpp:70
Marble::EclipsesModel::withLunarEclipses
bool withLunarEclipses() const
Return whether or not lunar eclipses are enabled.
Definition: EclipsesModel.cpp:84
Marble::MarbleModel
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:97
Marble::EclipsesModel::columnCount
int columnCount(const QModelIndex &parent=QModelIndex()) const
Definition: EclipsesModel.cpp:130
Marble::EclipsesModel::EclipsesModel
EclipsesModel(const MarbleModel *model, QObject *parent=0)
Definition: EclipsesModel.cpp:24
QAbstractItemModel
Marble::EclipsesModel::update
void update()
Update the list of eclipse items.
Definition: EclipsesModel.cpp:194
Marble::EclipsesModel::observationPoint
const GeoDataCoordinates & observationPoint() const
Return the current observation point.
Definition: EclipsesModel.cpp:47
QObject::parent
QObject * parent() const
Marble::EclipsesItem
The representation of an eclipse event.
Definition: EclipsesItem.h:37
Marble::EclipsesModel
The model for eclipses.
Definition: EclipsesModel.h:36
Marble::EclipsesModel::headerData
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
Definition: EclipsesModel.cpp:161
QVariant
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:39 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