~ppsspp/ppsspp/ppsspp_1.3.0

« back to all changes in this revision

Viewing changes to Windows/Debugger/Debugger_Lists.h

  • Committer: Sérgio Benjamim
  • Date: 2017-01-02 00:12:05 UTC
  • Revision ID: sergio_br2@yahoo.com.br-20170102001205-cxbta9za203nmjwm
1.3.0 source (from ppsspp_1.3.0-r160.p5.l1762.a165.t83~56~ubuntu16.04.1.tar.xz).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#pragma once
 
2
 
 
3
#include "../../Core/Debugger/DebugInterface.h"
 
4
#include "../../Core/HLE/sceKernelThread.h"
 
5
#include "../../Core/Debugger/Breakpoints.h"
 
6
#include "../../Core/Debugger/SymbolMap.h"
 
7
#include "../../Core/MIPS/MIPSStackWalk.h"
 
8
#include "Windows/W32Util/Misc.h"
 
9
 
 
10
class CtrlThreadList: public GenericListControl
 
11
{
 
12
public:
 
13
        CtrlThreadList(HWND hwnd);
 
14
        void reloadThreads();
 
15
        void showMenu(int itemIndex, const POINT &pt);
 
16
        const char* getCurrentThreadName();
 
17
protected:
 
18
        virtual bool WindowMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT& returnValue);
 
19
        virtual void GetColumnText(wchar_t* dest, int row, int col);
 
20
        virtual int GetRowCount() { return (int) threads.size(); };
 
21
        virtual void OnDoubleClick(int itemIndex, int column);
 
22
        virtual void OnRightClick(int itemIndex, int column, const POINT& point);
 
23
private:
 
24
        std::vector<DebugThreadInfo> threads;
 
25
};
 
26
 
 
27
class CtrlDisAsmView;
 
28
 
 
29
class CtrlBreakpointList: public GenericListControl
 
30
{
 
31
public:
 
32
        CtrlBreakpointList(HWND hwnd, DebugInterface* cpu, CtrlDisAsmView* disasm);
 
33
        void reloadBreakpoints();
 
34
        void showMenu(int itemIndex, const POINT &pt);
 
35
protected:
 
36
        virtual bool WindowMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT& returnValue);
 
37
        virtual void GetColumnText(wchar_t* dest, int row, int col);
 
38
        virtual int GetRowCount() { return getTotalBreakpointCount(); };
 
39
        virtual void OnDoubleClick(int itemIndex, int column);
 
40
        virtual void OnRightClick(int itemIndex, int column, const POINT& point);
 
41
        virtual void OnToggle(int item, bool newValue);
 
42
private:
 
43
        std::vector<BreakPoint> displayedBreakPoints_;
 
44
        std::vector<MemCheck> displayedMemChecks_;
 
45
        std::wstring breakpointText;
 
46
        DebugInterface* cpu;
 
47
        CtrlDisAsmView* disasm;
 
48
 
 
49
        void editBreakpoint(int itemIndex);
 
50
        void gotoBreakpointAddress(int itemIndex);
 
51
        void removeBreakpoint(int itemIndex);
 
52
        int getTotalBreakpointCount();
 
53
        int getBreakpointIndex(int itemIndex, bool& isMemory);
 
54
        void showBreakpointMenu(int itemIndex, const POINT &pt);
 
55
        void toggleEnabled(int itemIndex);
 
56
};
 
57
 
 
58
class CtrlStackTraceView: public GenericListControl
 
59
{
 
60
public:
 
61
        CtrlStackTraceView(HWND hwnd, DebugInterface* cpu, CtrlDisAsmView* disasm);
 
62
        void loadStackTrace();
 
63
protected:
 
64
        virtual bool WindowMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT& returnValue);
 
65
        virtual void GetColumnText(wchar_t* dest, int row, int col);
 
66
        virtual int GetRowCount() { return (int)frames.size(); };
 
67
        virtual void OnDoubleClick(int itemIndex, int column);
 
68
private:
 
69
        std::vector<MIPSStackWalk::StackFrame> frames;
 
70
        DebugInterface* cpu;
 
71
        CtrlDisAsmView* disasm;
 
72
};
 
73
 
 
74
class CtrlModuleList: public GenericListControl
 
75
{
 
76
public:
 
77
        CtrlModuleList(HWND hwnd, DebugInterface* cpu);
 
78
        void loadModules();
 
79
protected:
 
80
        virtual bool WindowMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT& returnValue);
 
81
        virtual void GetColumnText(wchar_t* dest, int row, int col);
 
82
        virtual int GetRowCount() { return (int)modules.size(); };
 
83
        virtual void OnDoubleClick(int itemIndex, int column);
 
84
private:
 
85
        std::vector<LoadedModuleInfo> modules;
 
86
        DebugInterface* cpu;
 
87
};
 
 
b'\\ No newline at end of file'