20#include "flattenpathplugin.h"
22#include <karbon_view.h>
23#include <karbon_part.h>
24#include <kgenericfactory.h>
26#include <tqgroupbox.h>
30#include <commands/vflattencmd.h>
33typedef KGenericFactory<FlattenPathPlugin, KarbonView> FlattenPathPluginFactory;
34K_EXPORT_COMPONENT_FACTORY( karbon_flattenpathplugin, FlattenPathPluginFactory(
"karbonflattenpathplugin" ) )
36FlattenPathPlugin::FlattenPathPlugin( KarbonView *parent, const
char* name, const TQStringList & )
37: Plugin( parent, name )
40 i18n(
"&Flatten Path..." ),
"14_flatten", 0,
this,
41 TQ_SLOT( slotFlattenPath() ), actionCollection(),
"path_flatten" );
43 m_flattenPathDlg =
new VFlattenDlg();
44 m_flattenPathDlg->setFlatness( 0.2 );
48FlattenPathPlugin::slotFlattenPath()
50 KarbonPart *part = ((KarbonView *)parent())->part();
51 if( part && m_flattenPathDlg->exec() )
52 part->
addCommand(
new VFlattenCmd( &part->document(), m_flattenPathDlg->flatness() ),
true );
55VFlattenDlg::VFlattenDlg( TQWidget* parent,
const char* name )
56 : KDialogBase( parent, name, true, i18n(
"Flatten Path" ), Ok | Cancel )
59 TQGroupBox* group =
new TQGroupBox( 2, TQt::Horizontal, i18n(
"Properties" ),
this );
60 new TQLabel( i18n(
"Flatness:" ), group );
61 m_flatness =
new KDoubleNumInput( group );
62 group->setMinimumWidth( 300 );
65 connect(
this, TQ_SIGNAL( okClicked() ),
this, TQ_SLOT( accept() ) );
66 connect(
this, TQ_SIGNAL( cancelClicked() ),
this, TQ_SLOT( reject() ) );
68 setMainWidget( group );
69 setFixedSize( baseSize() );
73VFlattenDlg::flatness()
const
75 return m_flatness->value();
79VFlattenDlg::setFlatness(
double value )
81 m_flatness->setValue( value);
84#include "flattenpathplugin.moc"
Keeps track of visual per document properties.
void addCommand(VCommand *cmd, bool repaint=false)
insert a command into the undo/redo-history: