Update of /cvsroot/cpptool/rfta/src/rftavc7addin
In directory sc8-pr-cvs1:/tmp/cvs-serv3268/src/rftavc7addin
Modified Files:
Connect.cpp rftavc7addin.vcproj
Added Files:
CommandGroup.cpp CommandGroup.h
Log Message:
* added CommandGroup class to handle grouping command under a single named undo action
* RenameLocaleVariableRefactoring is working !
--- NEW FILE: CommandGroup.cpp ---
#include "StdAfx.h"
#include "Commandgroup.h"
CommandGroup::CommandGroup( const CString &commandName,
CComPtr<EnvDTE::_DTE> application )
{
application->get_UndoContext( &undoContext_ );
VARIANT_BOOL wasOpen;
undoContext_->get_IsOpen( &wasOpen );
wasOpen_ = wasOpen != 0;
if ( !wasOpen_ )
undoContext_->Open( CComBSTR( commandName ), VARIANT_FALSE );
}
CommandGroup::~CommandGroup()
{
cancel();
}
void
CommandGroup::validate()
{
if ( !wasOpen_ )
undoContext_->Close();
wasOpen_ = false;
}
void
CommandGroup::cancel()
{
undoContext_->SetAborted();
}
--- NEW FILE: CommandGroup.h ---
#ifndef RFTAVC7ADDIN_COMMANDGROUP_H_INCLUDED
#define RFTAVC7ADDIN_COMMANDGROUP_H_INCLUDED
class CommandGroup
{
public:
CommandGroup( const CString &commandName,
CComPtr<EnvDTE::_DTE> application );
~CommandGroup();
void validate();
void cancel();
private:
CComPtr<EnvDTE::UndoContext> undoContext_;
bool wasOpen_;
};
#endif // RFTAVC7ADDIN_COMMANDGROUP_H_INCLUDED
Index: Connect.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rftavc7addin/Connect.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Connect.cpp 15 May 2003 07:06:46 -0000 1.5
--- Connect.cpp 15 May 2003 07:31:43 -0000 1.6
***************
*** 5,8 ****
--- 5,9 ----
#include "RenameLocaleVariableDialog.h"
#include "TextSelectionHelper.h"
+ #include "CommandGroup.h"
#include "VC7TextDocument.h"
#include <rfta/refactoring/RefactoringError.h>
***************
*** 383,387 ****
--- 384,396 ----
if ( dialog.DoModal() == IDOK )
+ {
+ CString undoName;
+ undoName.Format( "Rename variable '%s' to '%s'",
+ (LPCTSTR)dialog.oldName_,
+ (LPCTSTR)dialog.newName_ );
+ CommandGroup commands( undoName, m_pDTE );
refactoring.apply( (LPCTSTR)dialog.newName_ );
+ commands.validate();
+ }
}
catch ( Refactoring::RefactoringError &e )
Index: rftavc7addin.vcproj
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rftavc7addin/rftavc7addin.vcproj,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** rftavc7addin.vcproj 14 May 2003 18:55:50 -0000 1.2
--- rftavc7addin.vcproj 15 May 2003 07:31:43 -0000 1.3
***************
*** 232,235 ****
--- 232,241 ----
</Filter>
<File
+ RelativePath="CommandGroup.cpp">
+ </File>
+ <File
+ RelativePath="CommandGroup.h">
+ </File>
+ <File
RelativePath="TextDocumentHelper.cpp">
</File>
|