QGIS API Documentation
2.0.1-Dufour
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
src
core
composer
qgscomposerarrow.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgscomposerarrow.h
3
----------------------
4
begin : November 2009
5
copyright : (C) 2009 by Marco Hugentobler
6
email :
[email protected]
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
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. *
15
* *
16
***************************************************************************/
17
18
#ifndef QGSCOMPOSERARROW_H
19
#define QGSCOMPOSERARROW_H
20
21
#include "
qgscomposeritem.h
"
22
#include <QBrush>
23
#include <QPen>
24
26
class
CORE_EXPORT
QgsComposerArrow
:
public
QgsComposerItem
27
{
28
public
:
29
30
enum
MarkerMode
31
{
32
DefaultMarker
,
33
NoMarker
,
34
SVGMarker
35
};
36
37
QgsComposerArrow
(
QgsComposition
* c );
38
QgsComposerArrow
(
const
QPointF& startPoint,
const
QPointF& stopPoint,
QgsComposition
* c );
39
~
QgsComposerArrow
();
40
42
virtual
int
type
()
const
{
return
ComposerArrow
; }
43
45
void
paint( QPainter* painter,
const
QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget );
46
48
void
setSceneRect
(
const
QRectF& rectangle );
49
51
void
setArrowHeadWidth(
double
width );
52
double
arrowHeadWidth
()
const
{
return
mArrowHeadWidth;}
53
54
void
setOutlineWidth(
double
width );
55
double
outlineWidth
()
const
{
return
mPen.widthF();}
56
57
void
setStartMarker(
const
QString& svgPath );
58
QString
startMarker
()
const
{
return
mStartMarkerFile;}
59
void
setEndMarker(
const
QString& svgPath );
60
QString
endMarker
()
const
{
return
mEndMarkerFile;}
61
62
QColor
arrowColor
()
const
{
return
mArrowColor; }
63
void
setArrowColor
(
const
QColor& c ) { mArrowColor = c; }
64
65
MarkerMode
markerMode
()
const
{
return
mMarkerMode;}
66
void
setMarkerMode
(
MarkerMode
mode ) {mMarkerMode = mode;}
67
72
bool
writeXML
( QDomElement& elem, QDomDocument & doc )
const
;
73
78
bool
readXML
(
const
QDomElement& itemElem,
const
QDomDocument& doc );
79
80
private
:
81
82
enum
MarkerType
83
{
84
StartMarker
,
85
EndMarker
86
};
87
88
QPointF
mStartPoint
;
89
QPointF
mStopPoint
;
90
91
QPen
mPen
;
92
QBrush
mBrush
;
93
95
double
mArrowHeadWidth
;
97
double
mStartArrowHeadHeight
;
98
double
mStopArrowHeadHeight
;
99
101
QString
mStartMarkerFile
;
103
QString
mEndMarkerFile
;
105
MarkerMode
mMarkerMode
;
106
QColor
mArrowColor
;
107
108
109
112
void
adaptItemSceneRect();
114
void
drawHardcodedMarker( QPainter* p,
MarkerType
type );
116
void
drawSVGMarker( QPainter* p,
MarkerType
type,
const
QString& markerPath );
118
void
initGraphicsSettings();
119
};
120
121
#endif // QGSCOMPOSERARROW_H
Generated on Tue Sep 24 2013 14:41:46 for QGIS API Documentation by
1.8.1.2