/usr/include/marble/AbstractFloatItem.h is in libmarble-dev 4:4.14.2-1.
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 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | //
// 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 2008 Torsten Rahn <tackat@kde.org>
// Copyright 2012 Illya Kovalevskyy <illya.kovalevskyy@gmail.com>
//
#ifndef MARBLE_ABSTRACTFLOATITEM_H
#define MARBLE_ABSTRACTFLOATITEM_H
#include <QPointF>
#include <QSizeF>
#include <QPen>
#include <QFont>
#include "RenderPlugin.h"
#include "FrameGraphicsItem.h"
#include "marble_export.h"
class QContextMenuEvent;
class QHelpEvent;
class QMenu;
class QWidget;
namespace Marble
{
class AbstractFloatItemPrivate;
/**
* @brief The abstract class for float item plugins
*
* Float Item is a variant of Marble render plugins
* It keeps floating on top of the map at a given screen position
*
* Good examples are Overview Map, License
*
*/
class MARBLE_EXPORT AbstractFloatItem : public RenderPlugin, public FrameGraphicsItem
{
Q_OBJECT
public:
explicit AbstractFloatItem( const MarbleModel *marbleModel,
const QPointF &point = QPointF( 10.0, 10.0 ),
const QSizeF &size = QSizeF( 150.0, 50.0 ) );
virtual ~AbstractFloatItem();
virtual QHash<QString,QVariant> settings() const;
virtual void setSettings(const QHash<QString, QVariant> &settings);
virtual RenderType renderType() const;
/**
* @brief current pen for rendering
* @return pen
*/
QPen pen() const;
/**
* @brief setting current pen for rendering
* @param pen
*/
void setPen( const QPen &pen );
/**
* @brief current font for rendering
* @return font
*/
QFont font() const;
/**
* @brief setting current font for rendering
* @param font
*/
void setFont( const QFont &font );
bool render( GeoPainter *painter, ViewportParams *viewport,
const QString& renderPos = "FLOAT_ITEM", GeoSceneLayer * layer = 0 );
virtual QString renderPolicy() const;
virtual QStringList renderPosition() const;
/**
* @brief Set visibility of the float item
*
* Float items can be visible or invisible.
* It's possible to check visibility with @see visible
*
* @param visible visibility of the item
*/
void setVisible( bool visible );
/**
* @brief Check visibility of the float item
*
* Float items can be visible or invisible.
* It's possible to set visibility with @see setVisible
*
* @return visible or not
*/
bool visible() const;
/**
* @brief Check is position locked
*
* Float Item position can be locked. If it is,
* the item can't be moved with the cursor (in the UI)
*
* To set it use @see setPositionLocked
*
* @return position locked or not
*/
bool positionLocked() const;
public Q_SLOTS:
/**
* @brief Set is position locked
* @param lock is locked?
*
* Float Item position can be locked. If it is,
* item can't be moved with cursor (in UI)
*
* To check it use @see positionLocked
*
*/
void setPositionLocked( bool lock );
/**
* @brief Show the item
*
* If the item was hidden this function will show it
*
*/
void show();
/**
* @brief Hide the item
*
* If the item was shown this function will hide it
*
*/
void hide();
protected:
virtual bool eventFilter( QObject *object, QEvent *e );
virtual void contextMenuEvent ( QWidget *w, QContextMenuEvent *e );
virtual void toolTipEvent( QHelpEvent *e );
QMenu* contextMenu();
private:
Q_DISABLE_COPY( AbstractFloatItem )
AbstractFloatItemPrivate * const d;
};
}
#endif
|