File indexing completed on 2024-05-19 03:51:50

0001 /*
0002     SPDX-FileCopyrightText: 2008 Torsten Rahn <rahn@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef MARBLE_GEOSCENEITEM_H
0008 #define MARBLE_GEOSCENEITEM_H
0009 
0010 #include <QString>
0011 
0012 #include "GeoDocument.h"
0013 
0014 namespace Marble
0015 {
0016 
0017 class GeoSceneIcon;
0018 
0019 /**
0020  * @short The section item in a legend of a GeoScene document.
0021  */
0022 
0023 class GEODATA_EXPORT GeoSceneItem : public GeoNode
0024 {
0025  public:
0026     explicit GeoSceneItem( const QString& name );
0027     ~GeoSceneItem() override;
0028     
0029     const char* nodeType() const override;
0030 
0031     QString name() const;
0032 
0033     QString text() const;
0034     void setText( const QString& text );
0035 
0036     bool checkable() const;
0037     void setCheckable( bool checkable );
0038 
0039     QString connectTo() const;
0040     void setConnectTo( const QString& text );
0041 
0042     int  spacing() const;
0043     void setSpacing( int spacing );
0044 
0045     const GeoSceneIcon* icon() const;
0046     GeoSceneIcon* icon();
0047 
0048  private:
0049     Q_DISABLE_COPY( GeoSceneItem )
0050 
0051     GeoSceneIcon* m_icon;
0052 
0053     QString m_name;
0054     QString m_text;
0055     QString m_connectTo;
0056 
0057     bool    m_checkable;
0058     int     m_spacing;
0059 };
0060 
0061 }
0062 
0063 #endif