karbon
vdeletecmd.cc00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <klocale.h>
00021
00022 #include "vdeletecmd.h"
00023 #include "vselection.h"
00024 #include "vdocument.h"
00025
00026 VDeleteCmd::VDeleteCmd( VDocument* doc )
00027 : VCommand( doc, i18n( "Delete Objects" ), "editdelete" )
00028 {
00029 m_selection = document()->selection()->clone();
00030
00031 if( m_selection->objects().count() == 1 )
00032 setName( i18n( "Delete Object" ) );
00033 }
00034
00035 VDeleteCmd::VDeleteCmd( VDocument* doc, VObject* object )
00036 : VCommand( doc, i18n( "Delete Object" ), "editdelete" )
00037 {
00038 m_selection = new VSelection();
00039 m_selection->append( object );
00040 }
00041
00042 VDeleteCmd::~VDeleteCmd()
00043 {
00044 delete( m_selection );
00045 }
00046
00047 void
00048 VDeleteCmd::execute()
00049 {
00050 document()->selection()->clear();
00051 VObjectListIterator itr( m_selection->objects() );
00052 for ( ; itr.current() ; ++itr )
00053 {
00054 itr.current()->setState( VObject::deleted );
00055 }
00056
00057 setSuccess( true );
00058 }
00059
00060 void
00061 VDeleteCmd::unexecute()
00062 {
00063 document()->selection()->clear();
00064
00065 VObjectListIterator itr( m_selection->objects() );
00066 for ( ; itr.current() ; ++itr )
00067 {
00068 itr.current()->setState( VObject::selected );
00069 document()->selection()->append( itr.current() );
00070 }
00071
00072 setSuccess( false );
00073 }
00074
|