1
/***************************************************************************
5
copyright : (C) 2005 The University of Toronto
7
***************************************************************************/
9
/***************************************************************************
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
16
***************************************************************************/
18
#ifndef KSTVIEWARROW_H
19
#define KSTVIEWARROW_H
21
#include "kstviewline.h"
25
typedef KstSharedPtr<KstViewArrow> KstViewArrowPtr;
27
class KstViewArrow : public KstViewLine {
29
Q_PROPERTY(bool hasFromArrow READ hasFromArrow WRITE setHasFromArrow)
30
Q_PROPERTY(bool hasToArrow READ hasToArrow WRITE setHasToArrow)
31
Q_PROPERTY(double fromArrowScaling READ fromArrowScaling WRITE setFromArrowScaling)
32
Q_PROPERTY(double toArrowScaling READ toArrowScaling WRITE setToArrowScaling)
36
KstViewArrow(const QDomElement& e);
39
QMap<QString, QVariant > widgetHints(const QString& propertyName) const;
41
void paintSelf(KstPainter& p, const QRegion& bounds);
42
void paintArrow(KstPainter& p, const QPoint& to, const QPoint &from, int w, double arrowScaling);
43
// true if either end has an arrow
44
bool hasArrow() const;
46
bool hasFromArrow() const;
47
void setHasFromArrow(bool yes);
48
bool hasToArrow() const;
49
void setHasToArrow(bool yes);
50
double fromArrowScaling() const;
51
void setFromArrowScaling(double scaling);
52
double toArrowScaling() const;
53
void setToArrowScaling(double scaling);
57
void save(QTextStream& ts, const QString& indent = QString::null);
62
double _fromArrowScaling;
63
double _toArrowScaling;
67
typedef KstObjectList<KstViewArrowPtr> KstViewArrowList;