karbon
vclipartcmd.cc00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "vclipartcmd.h"
00022 #include "vdocument.h"
00023 #include "vselection.h"
00024
00025 VClipartCmd::VClipartCmd( VDocument* doc, const QString& name, VObject* clipart )
00026 : VCommand( doc, name ), m_clipart( clipart->clone() ), m_executed( false )
00027 {
00028 }
00029
00030 void
00031 VClipartCmd::execute()
00032 {
00033 if( !m_clipart )
00034 return;
00035
00036 if( m_clipart->state() == VObject::deleted )
00037 m_clipart->setState( VObject::normal );
00038 else
00039 {
00040 m_clipart->setState( VObject::normal );
00041 document()->append( m_clipart );
00042 document()->selection()->clear();
00043 document()->selection()->append( m_clipart );
00044 }
00045
00046 m_executed = true;
00047
00048 setSuccess( true );
00049 }
00050
00051 void
00052 VClipartCmd::unexecute()
00053 {
00054 if( !m_clipart )
00055 return;
00056
00057 document()->selection()->take( *m_clipart );
00058
00059 m_clipart->setState( VObject::deleted );
00060
00061 m_executed = false;
00062
00063 setSuccess( false );
00064 }
00065
|