1 /*
2  * This file is part of the Code::Blocks IDE and licensed under the GNU General Public License, version 3
3  * http://www.gnu.org/licenses/gpl-3.0.html
4  */
5 
6 #ifndef CB_BACKTRACEDLG_H
7 #define CB_BACKTRACEDLG_H
8 
9 #include <wx/panel.h>
10 
11 #include <cbdebugger_interfaces.h>
12 #include <manager.h>
13 
14 class wxCommandEvent;
15 class wxListCtrl;
16 class wxListEvent;
17 class wxWindow;
18 
19 class BacktraceDlg : public wxPanel, public cbBacktraceDlg
20 {
21     public:
22         BacktraceDlg(wxWindow* parent);
23 
GetWindow()24         wxWindow* GetWindow() { return this; }
25 
26         void Reload();
27         void EnableWindow(bool enable);
28     private:
29         void OnListRightClick(wxListEvent& event);
30         void OnDoubleClick(wxListEvent& event);
31         void OnJump(wxCommandEvent& event);
32         void OnSwitchFrame(wxCommandEvent& event);
33         void OnSave(wxCommandEvent& event);
34         void OnCopyToClipboard(wxCommandEvent& event);
35 
36         void OnSettingJumpDefault(wxCommandEvent& event);
37         void OnSettingSwitchDefault(wxCommandEvent& event);
38 
39         void OnUpdateUI(wxUpdateUIEvent &event);
40         bool IsSwitchFrameEnabled() const;
41     private:
42         DECLARE_EVENT_TABLE();
43     private:
44         wxListCtrl *m_list;
45 };
46 
47 #endif // CB_BACKTRACEDLG_H
48