From: <bl...@us...> - 2003-05-15 07:31:46
|
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> |