00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "DeleteAction.h"
00021
00022 #include <KLocale>
00023 #include <QGraphicsItem>
00024 #include <QGraphicsScene>
00025 #include <QKeyEvent>
00026 #include "GraphScene.h"
00027 #include "node.h"
00028 #include "edge.h"
00029 #include "NodeItem.h"
00030 #include "OrientedEdgeItem.h"
00031
00032 DeleteAction::DeleteAction( GraphScene* scene, QObject* parent ): AbstractAction( scene, parent )
00033 {
00034 setText( i18n( "Delete" ) );
00035 setToolTip( i18n( "Delete items by clicking on them." ) );
00036 setIcon( KIcon( "gluondelete" ) );
00037 _name = "delete";
00038 }
00039
00040 void DeleteAction::executePress( QPointF pos )
00041 {
00042 QGraphicsItem* item = _graphScene->itemAt( pos );
00043 if( NodeItem* n = qgraphicsitem_cast<NodeItem*>( item ) )
00044 {
00045 qDebug() << "Trying to remove node. NodeItem: " << n->objectName() ;
00046 emit deleteSceneItem( n->node()->name(), n->node()->property( "parentObject" ).toString() );
00047 n->node()->remove();
00048 }
00049 else if( OrientedEdgeItem* e = qgraphicsitem_cast<OrientedEdgeItem*>( item ) )
00050 {
00051 qDebug() << "Should have deleted the oriented node.";
00052 e->edge()->remove();
00053 }
00054 qDebug() << "Item Removed!";
00055 }
00056
00057 void DeleteAction::executeKeyRelease( QKeyEvent* keyEvent )
00058 {
00059 if( keyEvent->key() == Qt::Key_Delete )
00060 {
00061 qDebug() << "you pressed the Delete key... big deal.";
00062 }
00063 }
00064