diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 47d455dd55be855e4cc691c32f687f723d9247ee (patch) | |
tree | 52e236aaa2576bdb3840ebede26619692fed6d7d /kpovmodeler/pmblobedit.cpp | |
download | tdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.tar.gz tdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegraphics@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpovmodeler/pmblobedit.cpp')
-rw-r--r-- | kpovmodeler/pmblobedit.cpp | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/kpovmodeler/pmblobedit.cpp b/kpovmodeler/pmblobedit.cpp new file mode 100644 index 00000000..80ebd510 --- /dev/null +++ b/kpovmodeler/pmblobedit.cpp @@ -0,0 +1,96 @@ +/* +************************************************************************** + description + -------------------- + copyright : (C) 2002 by Andreas Zehender + email : zehender@kde.org +************************************************************************** + +************************************************************************** +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +**************************************************************************/ + + +#include "pmblobedit.h" +#include "pmblob.h" +#include "pmlineedits.h" + +#include <qlayout.h> +#include <qlabel.h> +#include <qcheckbox.h> +#include <klocale.h> + +PMBlobEdit::PMBlobEdit( QWidget* parent, const char* name ) + : Base( parent, name ) +{ + m_pDisplayedObject = 0; +} + +void PMBlobEdit::createTopWidgets( ) +{ + Base::createTopWidgets( ); + + QHBoxLayout* hl = new QHBoxLayout( topLayout( ) ); + hl->addWidget( new QLabel( i18n( "Threshold:" ), this ) ); + m_pThreshold = new PMFloatEdit( this ); + hl->addWidget( m_pThreshold ); + m_pThreshold->setValidation( true, 0.0, false, 0 ); + m_pThreshold->setValidationOperator( PMFloatEdit::OpGreater, + PMFloatEdit::OpLess ); + hl->addStretch( 1 ); + + m_pSturm = new QCheckBox( i18n( "Sturm" ), this ); + topLayout( )->addWidget( m_pSturm ); + m_pHierarchy = new QCheckBox( i18n( "Hierarchy" ), this ); + topLayout( )->addWidget( m_pHierarchy ); + + connect( m_pThreshold, SIGNAL( dataChanged( ) ), SIGNAL( dataChanged( ) ) ); + connect( m_pHierarchy, SIGNAL( clicked( ) ), SIGNAL( dataChanged( ) ) ); + connect( m_pSturm, SIGNAL( clicked( ) ), SIGNAL( dataChanged( ) ) ); +} + +void PMBlobEdit::displayObject( PMObject* o ) +{ + if( o->isA( "Blob" ) ) + { + bool readOnly = o->isReadOnly( ); + m_pDisplayedObject = ( PMBlob* ) o; + + m_pThreshold->setValue( m_pDisplayedObject->threshold( ) ); + m_pSturm->setChecked( m_pDisplayedObject->sturm( ) ); + m_pHierarchy->setChecked( m_pDisplayedObject->hierarchy( ) ); + + m_pThreshold->setReadOnly( readOnly ); + m_pSturm->setEnabled( !readOnly ); + m_pHierarchy->setEnabled( !readOnly ); + + Base::displayObject( o ); + } + else + kdError( PMArea ) << "PMBlobEdit: Can't display object\n"; +} + +void PMBlobEdit::saveContents( ) +{ + if( m_pDisplayedObject ) + { + Base::saveContents( ); + m_pDisplayedObject->setThreshold( m_pThreshold->value( ) ); + m_pDisplayedObject->setSturm( m_pSturm->isChecked( ) ); + m_pDisplayedObject->setHierarchy( m_pHierarchy->isChecked( ) ); + } +} + +bool PMBlobEdit::isDataValid( ) +{ + if( m_pThreshold->isDataValid( ) ) + return Base::isDataValid( ); + return false; +} + +#include "pmblobedit.moc" |