void CDebugger::ActivateView(unsigned int nView) { if(m_nCurrentView == nView) return; if(m_nCurrentView != -1) { SaveBytesPerLine(); SaveViewLayout(); GetCurrentView()->Hide(); } m_findCallersRequestConnection.disconnect(); m_nCurrentView = nView; LoadViewLayout(); LoadBytesPerLine(); UpdateTitle(); { auto biosDebugInfoProvider = GetCurrentView()->GetBiosDebugInfoProvider(); m_pFunctionsView->SetContext(GetCurrentView()->GetContext(), biosDebugInfoProvider); m_threadsView->SetContext(GetCurrentView()->GetContext(), biosDebugInfoProvider); } if(GetDisassemblyWindow()->IsVisible()) { GetDisassemblyWindow()->SetFocus(); } m_findCallersRequestConnection = GetCurrentView()->GetDisassemblyWindow()->GetDisAsm()->FindCallersRequested.connect( [&] (uint32 address) { OnFindCallersRequested(address); }); }
void CDebugger::UpdateTitle() { std::tstring sTitle(_T("Play! - Debugger")); if(GetCurrentView() != NULL) { sTitle += _T(" - [ ") + string_cast<std::tstring>(GetCurrentView()->GetName()) + _T(" ]"); } SetText(sTitle.c_str()); }
void PlotDefC::ChangeView(const Coord3D& scaleFactor) { Coord3D viewCenter = GetNewViewCenter(); if (viewCenter.CoordIsNull()) return; Limit3D oldLimits = GetCurrentViewLimits(); Limit3D newLimits; PC_ViewOpRec axesSettings = GetPlotViewOps(); DoOp(axesSettings.xOp, viewCenter.cX, oldLimits.minLim.cX, oldLimits.maxLim.cX, scaleFactor.cX, newLimits.minLim.cX, newLimits.maxLim.cX); DoOp(axesSettings.yOp, viewCenter.cY, oldLimits.minLim.cY, oldLimits.maxLim.cY, scaleFactor.cY, newLimits.minLim.cY, newLimits.maxLim.cY); DoOp(axesSettings.zOp, viewCenter.cZ, oldLimits.minLim.cZ, oldLimits.maxLim.cZ, scaleFactor.cZ, newLimits.minLim.cZ, newLimits.maxLim.cZ); // keep existing 3D az/scale/el PC_View currView = GetCurrentView(); // clear translations currView.translation = Coord3D(0.0); // set new limits currView.viewLimits = newLimits; plotViews.PushStack(currView); ResetView(); }
void CDebugger::OnFindCallersRequested(uint32 address) { auto context = GetCurrentView()->GetContext(); m_findCallersView->FindCallers(context, address); m_findCallersView->Show(SW_SHOW); m_findCallersView->SetFocus(); }
void PlotDefC::ViewPropagate() { PC_View currView = GetCurrentView(); for (int i = 0; i < plotList.Size(); i++) { PlotDefC& pl = plotList.GetRef(i); if ((&pl != this) && (typeid(pl) == typeid(*this))) pl.ChangeView(currView); } }
int AW_CMultiViewSplitter::HideCurrentView(int nRow, int nCol) { int prevID; CWnd * pCurView = GetCurrentView(nRow, nCol, &prevID); if (pCurView == NULL) return -1; else { pCurView->SetDlgCtrlID(0); pCurView->ShowWindow(SW_HIDE); return prevID; } }
void CDebugger::StepCPU() { if(m_virtualMachine.GetStatus() == CVirtualMachine::RUNNING) { MessageBeep(-1); return; } if(::GetParent(GetFocus()) != GetDisassemblyWindow()->m_hWnd) { GetDisassemblyWindow()->SetFocus(); } GetCurrentView()->Step(); }
void CDebugger::ActivateView(unsigned int nView) { if(m_nCurrentView == nView) return; if(m_nCurrentView != -1) { SaveViewLayout(); GetCurrentView()->Hide(); } m_nCurrentView = nView; LoadViewLayout(); UpdateTitle(); { auto biosDebugInfoProvider = GetCurrentView()->GetBiosDebugInfoProvider(); m_pFunctionsView->SetContext(GetCurrentView()->GetContext(), biosDebugInfoProvider); m_threadsView->SetContext(GetCurrentView()->GetContext(), biosDebugInfoProvider); } if(GetDisassemblyWindow()->IsVisible()) { GetDisassemblyWindow()->SetFocus(); } }
void CShellTreeCtrl::OnClick(NMHDR* pNMHDR, LRESULT* pResult) { LPTVITEMDATA lptvid; char szBuff[MAX_PATH]; HTREEITEM hItem=NULL; CPoint pt; UINT uFlags; GetCursorPos(&pt); ScreenToClient(&pt); hItem = HitTest(pt, &uFlags); if(hItem == NULL || !(TVHT_ONITEM & uFlags)) return; lptvid=(LPTVITEMDATA)GetItemData(hItem); if(SHGetPathFromIDList(lptvid->lpifq,szBuff)) { OFSTRUCT ofs; if(OpenFile(szBuff, &ofs, OF_EXIST) != HFILE_ERROR) { //is exe? CString s = szBuff; if(s.Right(4)==".exe" || s.Right(4)==".EXE") ShellExecute(NULL, "open", szBuff , "", NULL, SW_SHOW ); else { CMyIEView* pvw = GetCurrentView(1, bFileInNewWindow); if(pvw!=NULL) { pvw->ToNavigate(szBuff,0,NULL); } } } else Expand(hItem, TVE_TOGGLE); } }
LRESULT CDeviceView::OnAction( _In_ UINT Action ) { switch (Action) { case IDC_PROPERTIES: { DisplayPropertySheet(); break; } case IDC_SCAN_HARDWARE: { Refresh(GetCurrentView(), true, true); break; } case IDC_ENABLE_DRV: { bool NeedsReboot; if (EnableSelectedDevice(true, NeedsReboot) && NeedsReboot) { MessageBox(m_hMainWnd, L"Rebooting", L"Enable", MB_OK); } break; } case IDC_DISABLE_DRV: { bool NeedsReboot; EnableSelectedDevice(false, NeedsReboot); break; } case IDC_UPDATE_DRV: { bool NeedsReboot; UpdateSelectedDevice(NeedsReboot); break; } case IDC_UNINSTALL_DRV: { UninstallSelectedDevice(); break; } case IDC_ADD_HARDWARE: { RunAddHardwareWizard(); break; } } return 0; }
CCallStackWnd* CDebugger::GetCallStackWindow() { return GetCurrentView()->GetCallStackWindow(); }
CRegViewWnd* CDebugger::GetRegisterViewWindow() { return GetCurrentView()->GetRegisterViewWindow(); }
CMemoryViewMIPSWnd* CDebugger::GetMemoryViewWindow() { return GetCurrentView()->GetMemoryViewWindow(); }
CDisAsmWnd* CDebugger::GetDisassemblyWindow() { return GetCurrentView()->GetDisassemblyWindow(); }
CMIPS* CDebugger::GetContext() { return GetCurrentView()->GetContext(); }