##// END OF EJS Templates
Fix Chart build when QT_NO_RUBBERBAND is defined...
Fix Chart build when QT_NO_RUBBERBAND is defined No rubber band is set for the QChartView if QT_NO_RUBBERBAND is defined. A warning will be fired in case one tries to set the rubber band and Qt is configured without the it. Task-number: QTRD-2240 Change-Id: I6259726077e39f143e317e1b1b13a1daa2a0c1e0 Reviewed-by: Karim Pinter <karim.pinter@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>

File last commit:

r2617:57e2d8f758e8
r2623:e4fe606cdd4c
Show More
legendlayout_p.h
84 lines | 2.2 KiB | text/x-c | CLexer
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc
** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
** This file is part of the Qt Enterprise Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Enterprise licenses may use this file in
** accordance with the Qt Enterprise License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.digia.com
** $QT_END_LICENSE$
**
****************************************************************************/
// W A R N I N G
// -------------
//
// This file is not part of the Qt Enterprise Chart API. It exists purely as an
// implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
#ifndef LEGENDLAYOUT_H
#define LEGENDLAYOUT_H
#include <QGraphicsLayout>
#include "qchartglobal.h"
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class QLegend;
class LegendMarkerItem;
class LegendLayout : public QGraphicsLayout
{
public:
LegendLayout(QLegend *legend);
virtual ~LegendLayout();
void setGeometry(const QRectF &rect);
void setOffset(qreal x, qreal y);
QPointF offset() const;
void invalidate();
protected:
QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;
int count() const { return 0; }
QGraphicsLayoutItem *itemAt(int) const { return 0; };
void removeAt(int) {};
private:
void setAttachedGeometry(const QRectF &rect);
void setDettachedGeometry(const QRectF &rect);
struct LegendWidthStruct {
LegendMarkerItem *item;
qreal width;
};
static bool widthLongerThan(const LegendWidthStruct *item1,
const LegendWidthStruct *item2);
private:
QLegend *m_legend;
qreal m_offsetX;
qreal m_offsetY;
qreal m_minOffsetX;
qreal m_minOffsetY;
qreal m_maxOffsetX;
qreal m_maxOffsetY;
qreal m_width;
qreal m_height;
};
QTCOMMERCIALCHART_END_NAMESPACE
#endif