21#include <tqgroupbox.h>
28#include <karbon_view.h>
29#include <karbon_part.h>
30#include <shapes/vsinus.h>
31#include "vsinustool.h"
32#include "KoUnitWidgets.h"
35VSinusTool::VSinusOptionsWidget::VSinusOptionsWidget(
KarbonPart *part, TQWidget* parent,
const char* name )
36 : KDialogBase( parent, name, true, i18n(
"Insert Sinus" ), Ok | Cancel ), m_part( part )
38 TQGroupBox *group =
new TQGroupBox( 2, TQt::Horizontal, i18n(
"Properties" ),
this );
41 m_widthLabel =
new TQLabel( i18n(
"object width",
"Width:" ), group );
42 m_width =
new KoUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM );
43 m_heightLabel =
new TQLabel( i18n(
"Height:" ), group );
44 m_height =
new KoUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM );
48 new TQLabel( i18n(
"Periods:" ), group );
49 m_periods =
new KIntSpinBox( group );
50 m_periods->setMinValue( 1 );
52 group->setInsideMargin( 4 );
53 group->setInsideSpacing( 2 );
55 setMainWidget( group );
56 setFixedSize( baseSize() );
60VSinusTool::VSinusOptionsWidget::width()
const
62 return m_width->value();
66VSinusTool::VSinusOptionsWidget::height()
const
68 return m_height->value();
72VSinusTool::VSinusOptionsWidget::periods()
const
74 return m_periods->value();
78VSinusTool::VSinusOptionsWidget::setWidth(
double value )
80 m_width->changeValue( value );
84VSinusTool::VSinusOptionsWidget::setHeight(
double value )
86 m_height->changeValue( value );
90VSinusTool::VSinusOptionsWidget::setPeriods( uint value )
92 m_periods->setValue( value );
96VSinusTool::VSinusOptionsWidget::refreshUnit ()
98 m_width->setUnit( m_part->unit() );
99 m_height->setUnit( m_part->unit() );
102VSinusTool::VSinusTool( KarbonView *view )
103 : VShapeTool( view,
"tool_sinus" )
106 m_optionsWidget =
new VSinusOptionsWidget( view->part() );
107 m_optionsWidget->setPeriods( 1 );
108 registerTool(
this );
111VSinusTool::~VSinusTool()
113 delete( m_optionsWidget );
117VSinusTool::refreshUnit()
119 m_optionsWidget->refreshUnit();
123VSinusTool::shape(
bool interactive )
const
130 m_optionsWidget->width(),
131 m_optionsWidget->height(),
132 m_optionsWidget->periods() );
140 m_optionsWidget->periods() );
144VSinusTool::showDialog()
const
146 return m_optionsWidget->exec() == TQDialog::Accepted;
150VSinusTool::setup( TDEActionCollection *collection )
152 m_action =
static_cast<TDERadioAction *
>(collection -> action( name() ) );
156 m_action =
new TDERadioAction( i18n(
"Sinus Tool" ),
"14_sinus", TQt::SHIFT+TQt::Key_S,
this, TQ_SLOT( activate() ), collection, name() );
157 m_action->setToolTip( i18n(
"Sinus" ) );
158 m_action->setExclusiveGroup(
"shapes" );
Keeps track of visual per document properties.
A composite path consists of one or many subpaths.