Changeset 625 in dev for trunk/ab5.0/abdev/abdev/Rad_UndoRedo.cpp
- Timestamp:
- May 27, 2008, 9:17:34 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/Rad_UndoRedo.cpp
r624 r625 5 5 void Rad_UndoCommand(int WndNum){ 6 6 extern HINSTANCE hInst; 7 extern MDIINFO MdiInfo[MAX_WNDNUM];8 7 int i; 9 8 DWORD dw; 10 char *temporary;11 9 RAD_UNDOSTATE *pUndoState; 12 10 … … 47 45 names->name = tempStr; 48 46 49 GlobalFree(MdiInfo[WndNum].path); 50 MdiInfo[WndNum].path=(char *)GlobalAlloc(GMEM_FIXED,pWindowInfo->GetName().size()+1); 51 lstrcpy(MdiInfo[WndNum].path,pWindowInfo->GetName().c_str()); 52 53 tempStr = pWindowInfo->GetHandleName(); 54 pWindowInfo->SetHandleName( names->HandleName ); 55 names->HandleName = tempStr; 56 57 temporary=pWindowInfo->CallBackName; 58 pWindowInfo->CallBackName=names->CallBackName; 59 names->CallBackName=temporary; 47 MdiInfo[WndNum].path = pWindowInfo->GetName(); 60 48 } 61 49 else{ … … 195 183 break; 196 184 case RAD_UNDO_TYPE: 197 dw= pWindowInfo->type;198 pWindowInfo-> type=pUndoState->lpdwData[pUndoState->NowPos];185 dw=(DWORD)pWindowInfo->GetType(); 186 pWindowInfo->SetType( (ActiveBasic::PM::WindowType::EnumType)pUndoState->lpdwData[pUndoState->NowPos] ); 199 187 pUndoState->lpdwData[pUndoState->NowPos]=dw; 188 200 189 if(pUndoState->SelectItemNum[pUndoState->NowPos]==MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]) 201 190 ChangePropertyWindow(WndNum,WndInfoNum); … … 209 198 void Rad_RedoCommand(int WndNum){ 210 199 extern HINSTANCE hInst; 211 extern MDIINFO MdiInfo[MAX_WNDNUM];212 200 DWORD dw; 213 char *temporary;214 201 RAD_UNDOSTATE *pUndoState; 215 202 ActiveBasic::PM::ChildWindowInfo *pChildInfo; … … 247 234 names->name = tempStr; 248 235 249 GlobalFree(MdiInfo[WndNum].path); 250 MdiInfo[WndNum].path=(char *)GlobalAlloc(GMEM_FIXED,pWindowInfo->GetName().size()+1); 251 lstrcpy(MdiInfo[WndNum].path,pWindowInfo->GetName().c_str()); 252 253 tempStr = pWindowInfo->GetHandleName(); 254 pWindowInfo->SetHandleName( names->HandleName ); 255 names->HandleName = tempStr; 256 257 temporary=pWindowInfo->CallBackName; 258 pWindowInfo->CallBackName=names->CallBackName; 259 names->CallBackName=temporary; 236 MdiInfo[WndNum].path = pWindowInfo->GetName(); 260 237 } 261 238 else{ … … 394 371 } 395 372 case RAD_UNDO_TYPE: 396 dw= pWindowInfo->type;397 pWindowInfo-> type=pUndoState->lpdwData[pUndoState->NowPos];373 dw=(DWORD)pWindowInfo->GetType(); 374 pWindowInfo->SetType( (ActiveBasic::PM::WindowType::EnumType)pUndoState->lpdwData[pUndoState->NowPos] ); 398 375 pUndoState->lpdwData[pUndoState->NowPos]=dw; 376 399 377 if(pUndoState->SelectItemNum[pUndoState->NowPos]==MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]) 400 378 ChangePropertyWindow(WndNum,WndInfoNum); … … 411 389 void Rad_DeleteUndoData(int WndNum,int pos){ 412 390 extern HANDLE hHeap; 413 extern MDIINFO MdiInfo[MAX_WNDNUM];414 391 RAD_UNDOSTATE *pUndoState; 415 392 … … 425 402 if(pUndoState->SelectItemNum[pos]==SELECT_WINDOW){ 426 403 RAD_UNDOSTATE_NAME *names = (RAD_UNDOSTATE_NAME *)pUndoState->lpdwData[pos]; 427 HeapDefaultFree(names->CallBackName);428 404 delete names; 429 405 } … … 471 447 void Rad_NoticeChanging(int WndNum,int Command,int SelectItemNum,DWORD dwData){ 472 448 extern HANDLE hHeap; 473 extern MDIINFO MdiInfo[MAX_WNDNUM];474 449 int i; 475 450 RAD_UNDOSTATE *pUndoState; … … 510 485 RAD_UNDOSTATE_NAME *SaveNames = new RAD_UNDOSTATE_NAME(); 511 486 SaveNames->name = names->name; 512 SaveNames->HandleName = names->HandleName;513 SaveNames->CallBackName=(char *)HeapAlloc(hHeap,0,lstrlen(names->CallBackName)+1);514 lstrcpy(SaveNames->CallBackName,names->CallBackName);515 487 pUndoState->lpdwData[pUndoState->NowPos]=(DWORD)SaveNames; 516 488 }
Note:
See TracChangeset
for help on using the changeset viewer.