• 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
  • lib
  • marble
  • cloudsync
RouteItemDelegate.h
Go to the documentation of this file.
1 #ifndef ROUTEITEMDELEGATE_H
2 #define ROUTEITEMDELEGATE_H
3 
4 #include "CloudRouteModel.h"
5 
6 #include <QListView>
7 #include <MarbleWidget.h>
8 #include <QStyledItemDelegate>
9 
10 namespace Marble {
11 
12 class RouteItemDelegate : public QStyledItemDelegate {
13  Q_OBJECT
14 
15 public:
16  RouteItemDelegate( QListView *view, CloudRouteModel *model );
17 
18  void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const;
19  QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const;
20  bool editorEvent(QEvent* event, QAbstractItemModel* model, const QStyleOptionViewItem& option, const QModelIndex& index);
21 
22 
23 signals:
24  void downloadButtonClicked( QString timestamp );
25  void openButtonClicked( QString timestamp );
26  void deleteButtonClicked( QString timestamp );
27  void removeFromCacheButtonClicked( QString timestamp );
28  void uploadToCloudButtonClicked( QString timestamp );
29 
30 private:
31  enum Element {
32  Text,
33  OpenButton,
34  DownloadButton,
35  RemoveFromCacheButton,
36  RemoveFromCloudButton,
37  Progressbar,
38  Preview,
39  UploadToCloudButton
40  };
41 
42  int buttonWidth( const QStyleOptionViewItem &option ) const;
43  QStyleOptionButton button( Element element, const QStyleOptionViewItem &option ) const;
44  static QString text( const QModelIndex &index );
45  QRect position( Element element, const QStyleOptionViewItem &option ) const;
46 
47  QListView *m_view;
48  CloudRouteModel *m_model;
49  mutable int m_buttonWidth;
50  int const m_iconSize;
51  int const m_previewSize;
52  int const m_margin;
53 };
54 
55 }
56 
57 #endif
QModelIndex
QEvent
Marble::CloudRouteModel
Definition: CloudRouteModel.h:25
Marble::RouteItemDelegate::RouteItemDelegate
RouteItemDelegate(QListView *view, CloudRouteModel *model)
Definition: RouteItemDelegate.cpp:10
Marble::RouteItemDelegate::removeFromCacheButtonClicked
void removeFromCacheButtonClicked(QString timestamp)
Marble::RouteItemDelegate::paint
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
Definition: RouteItemDelegate.cpp:20
Marble::RouteItemDelegate::deleteButtonClicked
void deleteButtonClicked(QString timestamp)
CloudRouteModel.h
QStyleOptionButton
QObject::event
virtual bool event(QEvent *e)
QListView
Marble::RouteItemDelegate::openButtonClicked
void openButtonClicked(QString timestamp)
QRect
Marble::RouteItemDelegate
Definition: RouteItemDelegate.h:12
QStyleOptionViewItem
Marble::RouteItemDelegate::downloadButtonClicked
void downloadButtonClicked(QString timestamp)
QPainter
QString
Marble::RouteItemDelegate::uploadToCloudButtonClicked
void uploadToCloudButtonClicked(QString timestamp)
Marble::RouteItemDelegate::sizeHint
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
Definition: RouteItemDelegate.cpp:101
QSize
Marble::RouteItemDelegate::editorEvent
bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index)
Definition: RouteItemDelegate.cpp:115
QAbstractItemModel
MarbleWidget.h
This file contains the headers for MarbleWidget.
QStyledItemDelegate
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:41 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