/usr/include/marble/TourItemDelegate.h is in libmarble-dev 4:15.12.3-0ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | //
// This file is part of the Marble Virtual Globe.
//
// This program is free software licensed under the GNU LGPL. You can
// find a copy of this license in LICENSE.txt in the top directory of
// the source code.
//
// Copyright 2013 Mihail Ivchenko <ematirov@gmail.com>
// Copyright 2014 Sanjiban Bairagya <sanjiban22393@gmail.com>
// Copyright 2014 Illya Kovalevskyy <illya.kovalevskyy@gmail.com>
//
#ifndef TOURITEMDELEGATE_H
#define TOURITEMDELEGATE_H
#include <QStyledItemDelegate>
#include <QListView>
namespace Marble
{
class MarbleWidget;
class GeoDataAnimatedUpdate;
class GeoDataPlaylist;
class GeoDataFeature;
class TourWidget;
class TourItemDelegate : public QStyledItemDelegate
{
Q_OBJECT
public:
TourItemDelegate( QListView* view, MarbleWidget* widget, TourWidget* tour );
void paint( QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index ) const;
QSize sizeHint( const QStyleOptionViewItem &option, const QModelIndex &index ) const;
QWidget* createEditor ( QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index ) const;
bool editable() const;
void setEditable( bool editable );
QModelIndex firstFlyTo() const;
bool editAnimatedUpdate(GeoDataAnimatedUpdate *animatedUpdate, bool create = true );
QString defaultFeatureId() const;
GeoDataFeature *findFeature( const QString &id ) const;
public Q_SLOTS:
/** Editing duration for first flyTo element in playlist will be disabled. */
void setFirstFlyTo( const QPersistentModelIndex &index );
/** Sets id of default feature for Remove Item */
void setDefaultFeatureId( const QString &id );
Q_SIGNALS:
void editingChanged( QModelIndex index );
void edited( QModelIndex index );
void editableChanged( bool editable );
void firstFlyToChanged( const QPersistentModelIndex &newFirstFlyTo );
void featureIdsChanged( QStringList ids );
void defaultFeatureIdChanged( QString id );
public:
enum Element {
GeoDataElementIcon,
Label,
EditButton,
ActionButton
};
protected:
bool editorEvent( QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index );
private Q_SLOTS:
void closeEditor(const QModelIndex& index);
private:
static QRect position( Element element, const QStyleOptionViewItem &option );
QStringList findIds( GeoDataPlaylist *playlist, bool onlyFeatures = false ) const;
GeoDataPlaylist *playlist() const;
QList<QPersistentModelIndex> m_editingIndices;
QListView* m_listView;
MarbleWidget *m_widget;
bool m_editable;
QPersistentModelIndex m_firstFlyTo;
QString m_defaultFeatureId;
TourWidget* m_tourWidget;
};
} // namespace Marble
#endif
|