OpenASIP 2.2
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
ProximBreakpointWindow Class Reference

#include <ProximBreakpointWindow.hh>

Inheritance diagram for ProximBreakpointWindow:
Inheritance graph
Collaboration diagram for ProximBreakpointWindow:
Collaboration graph

Public Member Functions

 ProximBreakpointWindow (ProximMainFrame *parent, wxWindowID id)
 
virtual ~ProximBreakpointWindow ()
 
virtual void reset ()
 

Private Types

enum  {
  ID_NOTEBOOK = 10000 , ID_HELP , ID_CLOSE , ID_LINE ,
  ID_LOOKUP_BREAKPOINT , ID_BREAKPOINT_PROPERTIES , ID_DELETE_BREAKPOINT , ID_ADD_BREAKPOINT ,
  ID_BREAKPOINT_ENABLED , ID_WATCH_PROPERTIES , ID_DELETE_WATCH , ID_ADD_WATCH ,
  ID_WATCH_ENABLED , ID_BREAKPOINT_LIST , ID_WATCH_LIST
}
 Widget IDs. More...
 

Private Member Functions

wxSizer * createContents (wxWindow *parent, bool call_fit, bool set_sizer)
 
wxSizer * createBreakpointTab (wxWindow *parent, bool call_fit=true, bool set_sizer=true)
 
wxSizer * createWatchTab (wxWindow *parent, bool call_fit=true, bool set_sizer=true)
 
void refreshStopPoints ()
 
void onClose (wxCommandEvent &event)
 
void onBreakpointsModified (SimulatorEvent &event)
 
void onDeleteBreakpoint (wxCommandEvent &event)
 
void onDeleteWatch (wxCommandEvent &event)
 
void onBreakpointLookup (wxCommandEvent &event)
 
void onBreakpointProperties (wxCommandEvent &event)
 
void onBreakpointSelection (wxListEvent &event)
 
void onAddBreakpoint (wxCommandEvent &event)
 
void onAddWatch (wxCommandEvent &event)
 
void onWatchProperties (wxCommandEvent &event)
 

Private Attributes

wxListCtrl * breakpointList_
 List widget for breakpoints.
 
wxListCtrl * watchList_
 List widget for watches.
 
std::map< unsigned, unsigned > bpListItemHandle_
 Map for translating breakpoint list item numbers to stop point handles.
 
std::map< unsigned, unsigned > watchListItemHandle_
 Map for translating watch list item numbers to stop point handles.
 

Additional Inherited Members

- Protected Member Functions inherited from ProximSimulatorWindow
 ProximSimulatorWindow (ProximMainFrame *mainFrame, wxWindowID id=-1, wxPoint pos=wxDefaultPosition, wxSize size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
 
virtual ~ProximSimulatorWindow ()
 

Detailed Description

Proxim window for managing simulation breakpoints and watches.

Definition at line 47 of file ProximBreakpointWindow.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

Widget IDs.

Enumerator
ID_NOTEBOOK 
ID_HELP 
ID_CLOSE 
ID_LINE 
ID_LOOKUP_BREAKPOINT 
ID_BREAKPOINT_PROPERTIES 
ID_DELETE_BREAKPOINT 
ID_ADD_BREAKPOINT 
ID_BREAKPOINT_ENABLED 
ID_WATCH_PROPERTIES 
ID_DELETE_WATCH 
ID_ADD_WATCH 
ID_WATCH_ENABLED 
ID_BREAKPOINT_LIST 
ID_WATCH_LIST 

Definition at line 83 of file ProximBreakpointWindow.hh.

83 {
84 ID_NOTEBOOK = 10000,
85 ID_HELP,
87 ID_LINE,
99 };

Constructor & Destructor Documentation

◆ ProximBreakpointWindow()

ProximBreakpointWindow::ProximBreakpointWindow ( ProximMainFrame parent,
wxWindowID  id 
)

The Constructor.

Parameters
parentParent window of the frame.
idWindow ID.

Definition at line 80 of file ProximBreakpointWindow.cc.

81 :
82 ProximSimulatorWindow(parent, id, wxDefaultPosition, wxDefaultSize, 0),
83 breakpointList_(NULL),
84 watchList_(NULL) {
85
86 createContents(this, true, true);
87
88 breakpointList_->InsertColumn(0, _T("Handle"), wxLIST_FORMAT_LEFT, 100);
89 breakpointList_->InsertColumn(1, _T("Enabled"), wxLIST_FORMAT_CENTER, 80);
90 breakpointList_->InsertColumn(2, _T("Address"), wxLIST_FORMAT_LEFT, 300);
91
92 watchList_->InsertColumn(0, _T("Handle"), wxLIST_FORMAT_LEFT, 100);
93 watchList_->InsertColumn(1, _T("Enabled"), wxLIST_FORMAT_CENTER, 80);
94 watchList_->InsertColumn(2, _T("Expression"), wxLIST_FORMAT_LEFT, 300);
95
97
98 if (simulation->isSimulationInitialized() ||
99 simulation->isSimulationRunning() ||
100 simulation->isSimulationStopped() ||
101 simulation->hasSimulationEnded()) {
102
104 }
105
106 // Disable conditional buttons initially.
110 FindWindow(ID_DELETE_WATCH)->Disable();
112 FindWindow(ID_WATCH_ENABLED)->Disable();
114}
wxListCtrl * breakpointList_
List widget for breakpoints.
wxSizer * createContents(wxWindow *parent, bool call_fit, bool set_sizer)
wxListCtrl * watchList_
List widget for watches.
static TracedSimulatorFrontend * frontend()
bool hasSimulationEnded() const
bool isSimulationInitialized() const
bool isSimulationStopped() const
bool isSimulationRunning() const

References ProximToolbox::frontend(), SimulatorFrontend::hasSimulationEnded(), SimulatorFrontend::isSimulationInitialized(), SimulatorFrontend::isSimulationRunning(), and SimulatorFrontend::isSimulationStopped().

Here is the call graph for this function:

◆ ~ProximBreakpointWindow()

ProximBreakpointWindow::~ProximBreakpointWindow ( )
virtual

The Destructor.

Definition at line 119 of file ProximBreakpointWindow.cc.

119 {
120}

Member Function Documentation

◆ createBreakpointTab()

wxSizer * ProximBreakpointWindow::createBreakpointTab ( wxWindow *  parent,
bool  call_fit = true,
bool  set_sizer = true 
)
private

Creates the breakpoint tab.

Definition at line 483 of file ProximBreakpointWindow.cc.

484 {
485
486 wxBoxSizer *item0 = new wxBoxSizer( wxVERTICAL );
487
488 wxBoxSizer *item1 = new wxBoxSizer( wxHORIZONTAL );
489
490 wxBoxSizer *item2 = new wxBoxSizer( wxVERTICAL );
491
492 wxButton *item3 = new wxButton( parent, ID_BREAKPOINT_PROPERTIES, wxT("Properties..."), wxDefaultPosition, wxDefaultSize, 0 );
493 item2->Add( item3, 0, wxALIGN_CENTER|wxALL, 5 );
494
495 wxButton *item4 = new wxButton( parent, ID_LOOKUP_BREAKPOINT, wxT("Lookup"), wxDefaultPosition, wxDefaultSize, 0 );
496 item2->Add( item4, 0, wxALIGN_CENTER|wxALL, 5 );
497
498 wxButton *item5 = new wxButton( parent, ID_DELETE_BREAKPOINT, wxT("Delete"), wxDefaultPosition, wxDefaultSize, 0 );
499 item2->Add( item5, 0, wxALIGN_CENTER|wxALL, 5 );
500
501 wxCheckBox *item6 = new wxCheckBox( parent, ID_BREAKPOINT_ENABLED, wxT("Enabled"), wxDefaultPosition, wxDefaultSize, 0 );
502 item2->Add( item6, 0, wxALIGN_CENTER|wxALL, 5 );
503
504 item1->Add( item2, 0, wxALL, 5 );
505
506 breakpointList_ = new wxListCtrl( parent, ID_BREAKPOINT_LIST, wxDefaultPosition, wxSize(400,300), wxLC_REPORT|wxSUNKEN_BORDER );
507 item1->Add( breakpointList_, 0, wxALIGN_CENTER|wxALL, 5 );
508
509 item0->Add( item1, 0, wxALIGN_CENTER|wxALL, 5 );
510
511 wxButton *item8 = new wxButton( parent, ID_ADD_BREAKPOINT, wxT("Add breakpoint..."), wxDefaultPosition, wxDefaultSize, 0 );
512 item0->Add( item8, 0, wxALL, 5 );
513
514 if (set_sizer)
515 {
516 parent->SetSizer( item0 );
517 if (call_fit)
518 item0->SetSizeHints( parent );
519 }
520
521 return item0;
522}

References breakpointList_, ID_ADD_BREAKPOINT, ID_BREAKPOINT_ENABLED, ID_BREAKPOINT_LIST, ID_BREAKPOINT_PROPERTIES, ID_DELETE_BREAKPOINT, and ID_LOOKUP_BREAKPOINT.

Referenced by createContents().

◆ createContents()

wxSizer * ProximBreakpointWindow::createContents ( wxWindow *  parent,
bool  call_fit,
bool  set_sizer 
)
private

Creates the window contents.

Definition at line 434 of file ProximBreakpointWindow.cc.

435 {
436
437 wxBoxSizer *item0 = new wxBoxSizer( wxVERTICAL );
438
439 wxNotebook *item2 = new wxNotebook( parent, ID_NOTEBOOK, wxDefaultPosition, wxSize(600,450), 0 );
440#if !wxCHECK_VERSION(2,5,2)
441 wxNotebookSizer *item1 = new wxNotebookSizer( item2 );
442#else
443 wxWindow *item1 = item2;
444#endif
445
446 wxPanel *item3 = new wxPanel( item2, -1 );
447 createBreakpointTab( item3, FALSE );
448 item2->AddPage( item3, wxT("Breakpoints") );
449
450 wxPanel *item4 = new wxPanel( item2, -1 );
451 createWatchTab( item4, FALSE );
452 item2->AddPage( item4, wxT("Watches") );
453
454 item0->Add( item1, 0, wxALIGN_CENTER|wxALL, 5 );
455
456 wxStaticLine *item5 = new wxStaticLine( parent, ID_LINE, wxDefaultPosition, wxSize(20,-1), wxLI_HORIZONTAL );
457 item0->Add( item5, 0, wxGROW|wxALL, 5 );
458
459 wxGridSizer *item6 = new wxGridSizer( 2, 0, 0 );
460
461 wxButton *item7 = new wxButton( parent, ID_HELP, wxT("&Help"), wxDefaultPosition, wxDefaultSize, 0 );
462 item6->Add( item7, 0, wxALL, 5 );
463
464 wxButton *item8 = new wxButton( parent, ID_CLOSE, wxT("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
465 item6->Add( item8, 0, wxALIGN_RIGHT|wxALL, 5 );
466
467 item0->Add( item6, 0, wxGROW|wxALL, 5 );
468
469 if (set_sizer)
470 {
471 parent->SetSizer( item0 );
472 if (call_fit)
473 item0->SetSizeHints( parent );
474 }
475
476 return item0;
477}
const string FALSE
Value used for false in attribute and element values.
wxSizer * createBreakpointTab(wxWindow *parent, bool call_fit=true, bool set_sizer=true)
wxSizer * createWatchTab(wxWindow *parent, bool call_fit=true, bool set_sizer=true)

References createBreakpointTab(), createWatchTab(), FALSE, ID_CLOSE, ID_HELP, ID_LINE, and ID_NOTEBOOK.

Here is the call graph for this function:

◆ createWatchTab()

wxSizer * ProximBreakpointWindow::createWatchTab ( wxWindow *  parent,
bool  call_fit = true,
bool  set_sizer = true 
)
private

Creates the watches tab.

Definition at line 528 of file ProximBreakpointWindow.cc.

529 {
530
531 wxBoxSizer *item0 = new wxBoxSizer( wxVERTICAL );
532
533 wxBoxSizer *item1 = new wxBoxSizer( wxHORIZONTAL );
534
535 wxBoxSizer *item2 = new wxBoxSizer( wxVERTICAL );
536
537 wxButton *item3 = new wxButton( parent, ID_WATCH_PROPERTIES, wxT("Properties..."), wxDefaultPosition, wxDefaultSize, 0 );
538 item2->Add( item3, 0, wxALIGN_CENTER|wxALL, 5 );
539
540 wxButton *item4 = new wxButton( parent, ID_DELETE_WATCH, wxT("Delete"), wxDefaultPosition, wxDefaultSize, 0 );
541 item2->Add( item4, 0, wxALIGN_CENTER|wxALL, 5 );
542
543 wxCheckBox *item5 = new wxCheckBox( parent, ID_WATCH_ENABLED, wxT("Enabled"), wxDefaultPosition, wxDefaultSize, 0 );
544 item2->Add( item5, 0, wxALIGN_CENTER|wxALL, 5 );
545
546 item1->Add( item2, 0, wxALL, 5 );
547
548 watchList_ = new wxListCtrl( parent, ID_WATCH_LIST, wxDefaultPosition, wxSize(400,300), wxLC_REPORT|wxSUNKEN_BORDER );
549 item1->Add( watchList_, 0, wxALIGN_CENTER|wxALL, 5 );
550
551 item0->Add( item1, 0, wxALIGN_CENTER|wxALL, 5 );
552
553 wxButton *item7 = new wxButton( parent, ID_ADD_WATCH, wxT("Add watch..."), wxDefaultPosition, wxDefaultSize, 0 );
554 item0->Add( item7, 0, wxALL, 5 );
555
556 if (set_sizer)
557 {
558 parent->SetSizer( item0 );
559 if (call_fit)
560 item0->SetSizeHints( parent );
561 }
562
563 return item0;
564}

References ID_ADD_WATCH, ID_DELETE_WATCH, ID_WATCH_ENABLED, ID_WATCH_LIST, ID_WATCH_PROPERTIES, and watchList_.

Referenced by createContents().

◆ onAddBreakpoint()

void ProximBreakpointWindow::onAddBreakpoint ( wxCommandEvent &  event)
private

Opens a dialog for adding a new breakpoint.

Definition at line 388 of file ProximBreakpointWindow.cc.

388 {
389
391
392 if (simulation->isSimulationInitialized() ||
393 simulation->isSimulationRunning() ||
394 simulation->isSimulationStopped()) {
395
396 AddBreakpointDialog dialog(this, -1);
397 dialog.ShowModal();
398 } else {
399 wxString message = _T("Simulation not initialized.");
400 ErrorDialog error(this, message);
401 error.ShowModal();
402 }
403}

References ProximToolbox::frontend(), SimulatorFrontend::isSimulationInitialized(), SimulatorFrontend::isSimulationRunning(), and SimulatorFrontend::isSimulationStopped().

Here is the call graph for this function:

◆ onAddWatch()

void ProximBreakpointWindow::onAddWatch ( wxCommandEvent &  event)
private

Opens a dialog for adding a new watch.

Definition at line 409 of file ProximBreakpointWindow.cc.

409 {
410
412
413 if (simulation->isSimulationInitialized() ||
414 simulation->isSimulationRunning() ||
415 simulation->isSimulationStopped()) {
416
417 AddWatchDialog dialog(this, -1);
418 if (dialog.ShowModal() == wxID_OK) {
420 }
421
422 } else {
423 wxString message = _T("Simulation not initialized.");
424 ErrorDialog error(this, message);
425 error.ShowModal();
426 }
427}

References ProximToolbox::frontend(), SimulatorFrontend::isSimulationInitialized(), SimulatorFrontend::isSimulationRunning(), SimulatorFrontend::isSimulationStopped(), and refreshStopPoints().

Here is the call graph for this function:

◆ onBreakpointLookup()

void ProximBreakpointWindow::onBreakpointLookup ( wxCommandEvent &  event)
private

Shows the selected breakpoint location in the program disassembly window.

Definition at line 365 of file ProximBreakpointWindow.cc.

365 {
366
367 long item = breakpointList_->GetNextItem(
368 -1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
369
370 if (item == -1) {
371 return;
372 }
373
374 StopPointManager& manager =
375 wxGetApp().simulation()->frontend()->stopPointManager();
376
377 int handle = bpListItemHandle_[item];
378 const Breakpoint& breakpoint = dynamic_cast<const Breakpoint&>(
379 manager.stopPointWithHandleConst(handle));
380 unsigned address = breakpoint.address();
382}
virtual InstructionAddress address() const
Definition Breakpoint.cc:86
std::map< unsigned, unsigned > bpListItemHandle_
Map for translating breakpoint list item numbers to stop point handles.
void showAddress(unsigned address)
static ProximDisassemblyWindow * disassemblyWindow()
const StopPoint & stopPointWithHandleConst(unsigned int handle) const

References Breakpoint::address(), bpListItemHandle_, breakpointList_, ProximToolbox::disassemblyWindow(), ProximDisassemblyWindow::showAddress(), and StopPointManager::stopPointWithHandleConst().

Here is the call graph for this function:

◆ onBreakpointProperties()

void ProximBreakpointWindow::onBreakpointProperties ( wxCommandEvent &  event)
private

Opens dialog displaying properties of the selected breakpoint when the Properties-button is pressed.

Definition at line 138 of file ProximBreakpointWindow.cc.

138 {
139
140 long item = breakpointList_->GetNextItem(
141 -1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
142
143 if (item == -1) {
144 return;
145 }
146
147 StopPointManager& manager =
148 wxGetApp().simulation()->frontend()->stopPointManager();
149
150 int handle = bpListItemHandle_[item];
151
152 BreakpointPropertiesDialog dialog(this, manager, handle);
153 dialog.ShowModal();
154
156}

References bpListItemHandle_, breakpointList_, and refreshStopPoints().

Here is the call graph for this function:

◆ onBreakpointSelection()

void ProximBreakpointWindow::onBreakpointSelection ( wxListEvent &  event)
private

Enables and disables delete buttons for stop points according to stop point list selections.

Definition at line 305 of file ProximBreakpointWindow.cc.

305 {
306
307 if (breakpointList_->GetSelectedItemCount() > 0) {
311 } else {
315 }
316
317 if (watchList_->GetSelectedItemCount() > 0) {
318 FindWindow(ID_DELETE_WATCH)->Enable();
320 } else {
321 FindWindow(ID_DELETE_WATCH)->Disable();
323 }
324}

References breakpointList_, ID_BREAKPOINT_PROPERTIES, ID_DELETE_BREAKPOINT, ID_DELETE_WATCH, ID_LOOKUP_BREAKPOINT, ID_WATCH_PROPERTIES, and watchList_.

Referenced by refreshStopPoints().

◆ onBreakpointsModified()

void ProximBreakpointWindow::onBreakpointsModified ( SimulatorEvent event)
private

Refreshes the breakpoint list when breakpoints are modified.

Parameters
eventEvent to handle.

Definition at line 333 of file ProximBreakpointWindow.cc.

333 {
335 // Skip event so it's passed to the parent class.
336 event.Skip();
337}

References refreshStopPoints().

Here is the call graph for this function:

◆ onClose()

void ProximBreakpointWindow::onClose ( wxCommandEvent &  event)
private

Event handler for the close button.

Closes the window.

Definition at line 128 of file ProximBreakpointWindow.cc.

128 {
129 GetParent()->Close();
130}

◆ onDeleteBreakpoint()

void ProximBreakpointWindow::onDeleteBreakpoint ( wxCommandEvent &  event)
private

Deletes the breakpoint selected in the breakpoint list.

Definition at line 282 of file ProximBreakpointWindow.cc.

282 {
283
284 long item = breakpointList_->GetNextItem(
285 -1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
286
287 if (item == -1) {
288 return;
289 }
290
291 StopPointManager& manager =
292 wxGetApp().simulation()->frontend()->stopPointManager();
293
294 int handle = bpListItemHandle_[item];
295 manager.deleteStopPoint(handle);
297}
void deleteStopPoint(unsigned int handle)

References bpListItemHandle_, breakpointList_, StopPointManager::deleteStopPoint(), and refreshStopPoints().

Here is the call graph for this function:

◆ onDeleteWatch()

void ProximBreakpointWindow::onDeleteWatch ( wxCommandEvent &  event)
private

Deletes the watch selected in the watch list.

Definition at line 344 of file ProximBreakpointWindow.cc.

344 {
345
346 long item = watchList_->GetNextItem(
347 -1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
348
349 if (item == -1) {
350 return;
351 }
352
353 StopPointManager& manager =
354 wxGetApp().simulation()->frontend()->stopPointManager();
355
356 int handle = watchListItemHandle_[item];
357 manager.deleteStopPoint(handle);
359}
std::map< unsigned, unsigned > watchListItemHandle_
Map for translating watch list item numbers to stop point handles.

References StopPointManager::deleteStopPoint(), refreshStopPoints(), watchList_, and watchListItemHandle_.

Here is the call graph for this function:

◆ onWatchProperties()

void ProximBreakpointWindow::onWatchProperties ( wxCommandEvent &  event)
private

Opens dialog displaying properties of the selected watch when the Properties-button is pressed in the watches tab.

Definition at line 171 of file ProximBreakpointWindow.cc.

171 {
172
173 long item = watchList_->GetNextItem(
174 -1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
175
176 if (item == -1) {
177 return;
178 }
179
180 StopPointManager& manager =
181 wxGetApp().simulation()->frontend()->stopPointManager();
182
183 int handle = watchListItemHandle_[item];
184
185 WatchPropertiesDialog dialog(this, -1, manager, handle);
186 dialog.ShowModal();
187
189}

References refreshStopPoints(), watchList_, and watchListItemHandle_.

Here is the call graph for this function:

◆ refreshStopPoints()

void ProximBreakpointWindow::refreshStopPoints ( )
private

Updates the lists of breakpoints and watches.

Definition at line 195 of file ProximBreakpointWindow.cc.

195 {
196
197 breakpointList_->DeleteAllItems();
198 watchList_->DeleteAllItems();
199
200 // Clear "list item to handle" mapping.
201 bpListItemHandle_.clear();
202 watchListItemHandle_.clear();
203
205
206 if (frontend == NULL ||
207 !(frontend->isSimulationInitialized() ||
208 frontend->isSimulationRunning() ||
209 frontend->isSimulationStopped() ||
210 frontend->hasSimulationEnded())) {
211
212 // Simulation not initiailized.
213 return;
214 }
215
216 StopPointManager& manager = frontend->stopPointManager();
217
218 int bpRow = 0;
219 int watchRow = 0;
220
221
222 // Add all stoppoints to appropriate lists.
223 for (unsigned i = 0; i < manager.stopPointCount(); i++) {
224
225 unsigned handle = manager.stopPointHandle(i);
226 const StopPoint* stoppoint =
227 &manager.stopPointWithHandleConst(handle);
228
229
230 // Check if the stoppoint is breakpoint.
231 const Breakpoint* breakpoint =
232 dynamic_cast<const Breakpoint*>(stoppoint);
233
234 if (breakpoint != NULL) {
235 // Stoppoint is breakpoint.
236 bpListItemHandle_.insert(
237 std::pair<unsigned, unsigned>(bpRow, handle));
238 breakpointList_->InsertItem(
239 bpRow, WxConversion::toWxString(handle));
240
241 if (breakpoint->isEnabled()) {
242 breakpointList_->SetItem(bpRow, 1, _T("X"));
243
244 }
245 InstructionAddress address = breakpoint->address();
246 breakpointList_->SetItem(
247 bpRow, 2, WxConversion::toWxString(address));
248 bpRow++;
249 continue;
250 }
251
252
253 // Check if the stoppoint is watch.
254 const Watch* watch = dynamic_cast<const Watch*>(stoppoint);
255
256 if (watch != NULL) {
257 // Stoppoint is watch.
259 std::pair<unsigned, unsigned>(watchRow, handle));
260 watchList_->InsertItem(0, WxConversion::toWxString(handle));
261 if (watch->isEnabled()) {
262 watchList_->SetItem(bpRow, 1, _T("X"));
263 }
264 std::string expression = watch->expression().script()[0];
265 watchList_->SetItem(0, 2, WxConversion::toWxString(expression));
266 watchRow++;
267 continue;
268 }
269
270 }
271
272 // Update enabled/disabled state of the dialog buttons.
273 wxListEvent dummy;
275}
UInt32 InstructionAddress
Definition BaseType.hh:175
SimValue dummy(32)
a dummy simvalue which is given for operands that are not bound
void onBreakpointSelection(wxListEvent &event)
virtual std::vector< std::string > script() const
Definition Script.cc:106
StopPointManager & stopPointManager()
unsigned int stopPointCount()
unsigned int stopPointHandle(unsigned int index)
virtual bool isEnabled() const
Definition StopPoint.cc:73
Definition Watch.hh:48
virtual const ExpressionScript & expression() const
Definition Watch.cc:88
static wxString toWxString(const std::string &source)

References Breakpoint::address(), bpListItemHandle_, breakpointList_, dummy, Watch::expression(), ProximToolbox::frontend(), SimulatorFrontend::hasSimulationEnded(), StopPoint::isEnabled(), SimulatorFrontend::isSimulationInitialized(), SimulatorFrontend::isSimulationRunning(), SimulatorFrontend::isSimulationStopped(), onBreakpointSelection(), Script::script(), StopPointManager::stopPointCount(), StopPointManager::stopPointHandle(), SimulatorFrontend::stopPointManager(), StopPointManager::stopPointWithHandleConst(), WxConversion::toWxString(), watchList_, and watchListItemHandle_.

Referenced by onAddWatch(), onBreakpointProperties(), onBreakpointsModified(), onDeleteBreakpoint(), onDeleteWatch(), onWatchProperties(), and reset().

Here is the call graph for this function:

◆ reset()

void ProximBreakpointWindow::reset ( )
virtual

Called when the simulator resets program, machine or memory model.

Reimplemented from ProximSimulatorWindow.

Definition at line 162 of file ProximBreakpointWindow.cc.

162 {
164}

References refreshStopPoints().

Here is the call graph for this function:

Member Data Documentation

◆ bpListItemHandle_

std::map<unsigned, unsigned> ProximBreakpointWindow::bpListItemHandle_
private

Map for translating breakpoint list item numbers to stop point handles.

Definition at line 78 of file ProximBreakpointWindow.hh.

Referenced by onBreakpointLookup(), onBreakpointProperties(), onDeleteBreakpoint(), and refreshStopPoints().

◆ breakpointList_

wxListCtrl* ProximBreakpointWindow::breakpointList_
private

◆ watchList_

wxListCtrl* ProximBreakpointWindow::watchList_
private

List widget for watches.

Definition at line 75 of file ProximBreakpointWindow.hh.

Referenced by createWatchTab(), onBreakpointSelection(), onDeleteWatch(), onWatchProperties(), and refreshStopPoints().

◆ watchListItemHandle_

std::map<unsigned, unsigned> ProximBreakpointWindow::watchListItemHandle_
private

Map for translating watch list item numbers to stop point handles.

Definition at line 80 of file ProximBreakpointWindow.hh.

Referenced by onDeleteWatch(), onWatchProperties(), and refreshStopPoints().


The documentation for this class was generated from the following files: