You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
4.9 KiB
130 lines
4.9 KiB
/***************************************************************************
|
|
qsclegend.h
|
|
-------------------
|
|
begin : 01-January-2001
|
|
copyright : (C) 2000 by Kamil Dobkowski
|
|
email : kamildobk@poczta.onet.pl
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
|
|
#ifndef QSCLEGEND_H
|
|
#define QSCLEGEND_H
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include <config.h>
|
|
#endif
|
|
|
|
#include"qscobject.h"
|
|
|
|
|
|
|
|
/**
|
|
* \brief Graph legend
|
|
* Graph legend - it automatically displays items for all datasets in the parent graph..
|
|
*/
|
|
class QSCLegend : public QSCObject
|
|
{
|
|
Q_OBJECT
|
|
Q_PROPERTY( int columns READ columns WRITE setColumns )
|
|
Q_PROPERTY( int align READ align WRITE setAlign )
|
|
Q_PROPERTY( double posX READ posX WRITE setPosX )
|
|
Q_PROPERTY( double posY READ posY WRITE setPosY )
|
|
Q_PROPERTY( double posZ READ posZ WRITE setPosZ )
|
|
Q_PROPERTY( int coordX READ coordX WRITE setCoordX )
|
|
Q_PROPERTY( int coordY READ coordY WRITE setCoordY )
|
|
Q_PROPERTY( int coordZ READ coordZ WRITE setCoordZ )
|
|
Q_PROPERTY( QString font READ fontProperty WRITE setFontProperty )
|
|
Q_PROPERTY( QString fill READ fillProperty WRITE setFillProperty )
|
|
Q_PROPERTY( QString frame READ frameProperty WRITE setFrameProperty )
|
|
Q_PROPERTY( QString shadowFill READ shadowFillProperty WRITE setShadowFillProperty )
|
|
Q_PROPERTY( int shadowPosX READ shadowPosX WRITE setShadowPosX )
|
|
Q_PROPERTY( int shadowPosY READ shadowPosY WRITE setShadowPosY )
|
|
|
|
public:
|
|
/**
|
|
* Constructor. parentAxes must exist ( must not be NULL ).
|
|
*/
|
|
QSCLegend( QSAxes *parentAxes, QObject *parent=NULL );
|
|
virtual ~QSCLegend();
|
|
virtual int style() { return Moveable; }
|
|
virtual void draw( QSDrv *drv, bool blocking=true, bool transparent=true );
|
|
virtual void setBox( const QSRectf& r, QSDrv *drv );
|
|
virtual QSRectf box( QSDrv *drv );
|
|
virtual QString name();
|
|
|
|
void setColumns( int columns );
|
|
int columns() const { return m_columns; }
|
|
void setAlign( int align );
|
|
int align() const { return m_align; }
|
|
void setPos( const QSPt3f& pos );
|
|
void setPosX( double value );
|
|
void setPosY( double value );
|
|
void setPosZ( double value );
|
|
QSPt3f pos() const { return m_pos; }
|
|
double posX() const { return m_pos.x; }
|
|
double posY() const { return m_pos.y; }
|
|
double posZ() const { return m_pos.z; }
|
|
void setCoord( const QSPt3& coordSystem );
|
|
void setCoordX( int coordSystem );
|
|
void setCoordY( int coordSystem );
|
|
void setCoordZ( int coordSystem );
|
|
QSPt3 coord() const { return m_axis; }
|
|
int coordX() const { return m_axis.x; }
|
|
int coordY() const { return m_axis.y; }
|
|
int coordZ() const { return m_axis.z; }
|
|
void setFont( const QSGFont& font );
|
|
void setFontProperty( const QString& data );
|
|
QSGFont font() const { return m_font; }
|
|
QString fontProperty() const { return toQString(m_font); }
|
|
void setFill( const QSGFill& fill );
|
|
void setFillProperty( const QString &data );
|
|
QSGFill fill() const { return m_fill; }
|
|
QString fillProperty() const { return toQString(m_fill); }
|
|
void setFrame( const QSGLine& line );
|
|
void setFrameProperty( const QString& data );
|
|
QSGLine frame() const { return m_frame; }
|
|
QString frameProperty() const { return toQString(m_frame); }
|
|
void setShadowFill( const QSGFill& fill );
|
|
void setShadowFillProperty( const QString& data );
|
|
QSGFill shadowFill() const { return m_shadow_fill; }
|
|
QString shadowFillProperty() const { return toQString(m_shadow_fill); }
|
|
void setShadowPos( const QSPt2& shift );
|
|
void setShadowPosX( int shift );
|
|
void setShadowPosY( int shift );
|
|
QSPt2 shadowPos() const { return m_shadow_pos; }
|
|
int shadowPosX() const { return m_shadow_pos.x; }
|
|
int shadowPosY() const { return m_shadow_pos.y; }
|
|
virtual void loadStateFromStream( QDataStream& stream, QSObjectFactory *factory );
|
|
virtual void saveStateToStream( QDataStream& stream, QSObjectFactory *factory );
|
|
|
|
protected:
|
|
int m_columns;
|
|
int m_align;
|
|
QSPt3f m_pos;
|
|
QSPt3 m_axis;
|
|
QSGFont m_font;
|
|
QSGFill m_fill;
|
|
QSGLine m_frame;
|
|
QSGFill m_shadow_fill;
|
|
QSPt2 m_shadow_pos;
|
|
|
|
private:
|
|
static const double frmSpace ;
|
|
static const double rowSpace ;
|
|
static const double colSpace ;
|
|
void do_everything( QSDrv *drv, QSRectf& rect, double average_height, bool draw );
|
|
double get_height( QSDrv *drv );
|
|
};
|
|
|
|
#endif
|
|
|