20#include "KPrPolygonProperty.h"
28#include "polygonpropertyui.h"
29#include "KPrPolygonPreview.h"
31KPrPolygonProperty::KPrPolygonProperty( TQWidget *parent,
const char *name, KPrPolygonSettingCmd::PolygonSettings &polygonSettings )
32: TQWidget( parent, name )
33, m_polygonSettings( polygonSettings )
35 TQVBoxLayout *layout =
new TQVBoxLayout(
this );
36 layout->addWidget( m_ui =
new PolygonPropertyUI(
this ) );
38 m_ui->typeCombo->insertItem( i18n(
"Polygon" ) );
39 m_ui->typeCombo->insertItem( i18n(
"Convex/Concave" ) );
41 connect( m_ui->typeCombo, TQ_SIGNAL( activated(
int ) ),
42 this, TQ_SLOT(slotTypeChanged(
int ) ) );
44 connect( m_ui->cornersInput, TQ_SIGNAL( valueChanged(
int ) ),
45 m_ui->polygonPreview, TQ_SLOT( slotCornersValue(
int ) ) );
46 connect( m_ui->sharpnessInput, TQ_SIGNAL( valueChanged(
int ) ),
47 m_ui->polygonPreview, TQ_SLOT( slotSharpnessValue(
int ) ) );
53KPrPolygonProperty::~KPrPolygonProperty()
58int KPrPolygonProperty::getPolygonPropertyChange()
const
62 if ( isConvexConcave() != m_polygonSettings.checkConcavePolygon )
63 flags |= KPrPolygonSettingCmd::ConcaveConvex;
65 if ( m_ui->cornersInput->value() != m_polygonSettings.cornersValue )
66 flags |= KPrPolygonSettingCmd::Corners;
68 if ( m_ui->sharpnessInput->value() != m_polygonSettings.sharpnessValue )
69 flags |= KPrPolygonSettingCmd::Sharpness;
75KPrPolygonSettingCmd::PolygonSettings KPrPolygonProperty::getPolygonSettings()
const
77 KPrPolygonSettingCmd::PolygonSettings polygonSettings;
78 polygonSettings.checkConcavePolygon = isConvexConcave();
79 polygonSettings.cornersValue = m_ui->cornersInput->value();;
80 polygonSettings.sharpnessValue = m_ui->sharpnessInput->value();;
81 return polygonSettings;
85void KPrPolygonProperty::setPolygonSettings(
const KPrPolygonSettingCmd::PolygonSettings &polygonSettings )
87 m_polygonSettings = polygonSettings;
92void KPrPolygonProperty::apply()
94 int flags = getPolygonPropertyChange();
96 if ( flags & KPrPolygonSettingCmd::ConcaveConvex )
97 m_polygonSettings.checkConcavePolygon = isConvexConcave();
99 if ( flags & KPrPolygonSettingCmd::Corners )
100 m_polygonSettings.cornersValue = m_ui->cornersInput->value();
102 if ( flags & KPrPolygonSettingCmd::Sharpness )
103 m_polygonSettings.sharpnessValue = m_ui->sharpnessInput->value();
107bool KPrPolygonProperty::isConvexConcave()
const
109 return m_ui->typeCombo->currentItem() == 1;
113void KPrPolygonProperty::slotTypeChanged(
int pos )
115 m_ui->polygonPreview->slotConvexConcave( pos == 1 );
117 m_ui->sharpnessInput->setEnabled( pos == 1 );
121void KPrPolygonProperty::slotReset()
123 m_ui->typeCombo->setCurrentItem( m_polygonSettings.checkConcavePolygon ? 1 : 0 );
124 m_ui->polygonPreview->slotConvexConcave( m_polygonSettings.checkConcavePolygon );
125 m_ui->sharpnessInput->setEnabled( m_polygonSettings.checkConcavePolygon );
126 m_ui->cornersInput->setValue( m_polygonSettings.cornersValue );
127 m_ui->polygonPreview->slotCornersValue( m_polygonSettings.cornersValue );
128 m_ui->sharpnessInput->setValue( m_polygonSettings.sharpnessValue );
129 m_ui->polygonPreview->slotSharpnessValue( m_polygonSettings.sharpnessValue );
133#include "KPrPolygonProperty.moc"