2
#include "qgspenstylecombobox.h"
4
#include "qgsapplication.h"
12
QgsPenStyleComboBox::QgsPenStyleComboBox( QWidget* parent )
15
QList < QPair<Qt::PenStyle, QString> > styles;
16
styles << qMakePair( Qt::SolidLine, QString( "Solid Line" ) )
17
<< qMakePair( Qt::DashLine, QString( "Dash Line" ) )
18
<< qMakePair( Qt::DotLine, QString( "Dot Line" ) )
19
<< qMakePair( Qt::DashDotLine, QString( "Dash Dot Line" ) )
20
<< qMakePair( Qt::DashDotDotLine, QString( "Dash Dot Dot Line" ) )
21
<< qMakePair( Qt::NoPen, QString( "No Pen" ) );
23
setIconSize( QSize( 32, 12 ) );
25
for ( int i = 0; i < styles.count(); i++ )
27
Qt::PenStyle style = styles.at( i ).first;
28
QString name = styles.at( i ).second;
29
addItem( iconForPen( style ), name, QVariant( style ) );
33
Qt::PenStyle QgsPenStyleComboBox::penStyle() const
35
return ( Qt::PenStyle ) itemData( currentIndex() ).toInt();
38
void QgsPenStyleComboBox::setPenStyle( Qt::PenStyle style )
40
int idx = findData( QVariant( style ) );
41
setCurrentIndex( idx == -1 ? 0 : idx );
44
QIcon QgsPenStyleComboBox::iconForPen( Qt::PenStyle style )
46
QPixmap pix( iconSize() );
48
pix.fill( Qt::transparent );
54
double mid = iconSize().height() / 2.0;
55
p.drawLine( 0, mid, iconSize().width(), mid );
65
QgsPenJoinStyleComboBox::QgsPenJoinStyleComboBox( QWidget* parent )
68
QString path = QgsApplication::defaultThemePath();
69
addItem( QIcon( path + "/join_bevel.png" ), tr( "Bevel" ), QVariant( Qt::BevelJoin ) );
70
addItem( QIcon( path + "/join_miter.png" ), tr( "Miter" ), QVariant( Qt::MiterJoin ) );
71
addItem( QIcon( path + "/join_round.png" ), tr( "Round" ), QVariant( Qt::RoundJoin ) );
74
Qt::PenJoinStyle QgsPenJoinStyleComboBox::penJoinStyle() const
76
return ( Qt::PenJoinStyle ) itemData( currentIndex() ).toInt();
79
void QgsPenJoinStyleComboBox::setPenJoinStyle( Qt::PenJoinStyle style )
81
int idx = findData( QVariant( style ) );
82
setCurrentIndex( idx == -1 ? 0 : idx );
89
QgsPenCapStyleComboBox::QgsPenCapStyleComboBox( QWidget* parent )
92
QString path = QgsApplication::defaultThemePath();
93
addItem( QIcon( path + "/cap_square.png" ), tr( "Square" ), QVariant( Qt::SquareCap ) );
94
addItem( QIcon( path + "/cap_flat.png" ), tr( "Flat" ), QVariant( Qt::FlatCap ) );
95
addItem( QIcon( path + "/cap_round.png" ), tr( "Round" ), QVariant( Qt::RoundCap ) );
98
Qt::PenCapStyle QgsPenCapStyleComboBox::penCapStyle() const
100
return ( Qt::PenCapStyle ) itemData( currentIndex() ).toInt();
103
void QgsPenCapStyleComboBox::setPenCapStyle( Qt::PenCapStyle style )
105
int idx = findData( QVariant( style ) );
106
setCurrentIndex( idx == -1 ? 0 : idx );