35#include <wx/textctrl.h>
63 createContents(
this,
true,
true);
93 for (
int i = 0; i <
program.moveCount(); i++) {
112 this, _T(
"No debugging information available."));
125 Word pc = wxGetApp().simulation()->frontend()->programCounter();
131 for (
int i = 0; i < instruction.
moveCount(); i++) {
173 long lineEnd = lineStart +
sourceCodeText_->GetLineLength(lineNum - 1);
251 wxWindow *parent,
bool call_fit,
bool set_sizer) {
253 wxBoxSizer *mainSizer =
new wxBoxSizer(wxVERTICAL);
255 wxBoxSizer *upperSizer =
new wxBoxSizer(wxHORIZONTAL);
260 mainSizer->Add(upperSizer, 0, wxGROW|wxALL, 5);
264 wxSize(640, 600), wxTE_MULTILINE | wxTE_READONLY | wxTE_DONTWRAP);
270 parent->SetSizer( mainSizer );
272 mainSizer->SetSizeHints( parent );
END_EVENT_TABLE() using namespace IDF
find Finds info of the inner loops in the program
#define EVT_SIMULATOR_PROGRAM_LOADED(id, fn)
#define EVT_SIMULATOR_STOP(id, fn)
void setLineAttributes(int lineNum, wxTextAttr style)
wxChoice * sourceFileList_
void onSourceFileChoice(wxCommandEvent &event)
void loadProgram(const TTAProgram::Program &program)
wxTextCtrl * sourceCodeText_
void highlightLine(int lineNum)
void loadSourceCode(wxString sourceFile)
void onProgramLoaded(const SimulatorEvent &event)
virtual ~ProximDebuggerWindow()
void showLine(int lineNum)
wxSizer * createContents(wxWindow *parent, bool call_fit, bool set_sizer)
std::vector< int > currentLineNums_
void onSimulationStop(const SimulatorEvent &event)
bool hasSourceLineNumber() const
int sourceLineNumber() const
bool hasSourceFileName() const
std::string sourceFileName() const
Instruction & instructionAt(InstructionAddress address) const
static wxString toWxString(const std::string &source)