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
9
#include <settings.h> // SDK
13
#include "parser/parser.h"
14
#include "parser/token.h"
15
#include "classbrowserbuilderthread.h"
25
class ClassBrowser : public wxPanel
29
ClassBrowser(wxWindow* parent, NativeParser* np);
32
const wxTreeCtrl* GetTree() { return m_Tree; }
33
void SetParser(Parser* parser);
34
const Parser& GetParser(){ return *m_pParser; }
35
const Parser* GetParserPtr() { return m_pParser; }
39
friend class myTextCtrl;
40
void OnTreeItemDoubleClick(wxTreeEvent& event);
41
void OnTreeItemRightClick(wxTreeEvent& event);
42
void OnJumpTo(wxCommandEvent& event);
43
void OnRefreshTree(wxCommandEvent& event);
44
void OnForceReparse(wxCommandEvent& event);
45
void OnCBViewMode(wxCommandEvent& event);
46
void OnCBExpandNS(wxCommandEvent& event);
47
void OnViewScope(wxCommandEvent& event);
48
void OnDebugSmartSense(wxCommandEvent& event);
50
void OnSearch(wxCommandEvent& event);
51
bool FoundMatch(const wxString& search, wxTreeCtrl* tree, const wxTreeItemId& item);
52
wxTreeItemId FindNext(const wxString& search, wxTreeCtrl* tree, const wxTreeItemId& start);
53
bool RecursiveSearch(const wxString& search, wxTreeCtrl* tree, const wxTreeItemId& parent, wxTreeItemId& result);
55
void ShowMenu(wxTreeCtrl* tree, wxTreeItemId id, const wxPoint& pt);
59
void OnTreeItemSelected(wxTreeEvent& event);
60
void OnTreeItemExpanding(wxTreeEvent& event);
61
void OnTreeItemCollapsing(wxTreeEvent& event);
63
NativeParser* m_NativeParser;
66
wxTreeCtrl* m_TreeForPopupMenu;
68
wxTreeItemId m_RootNode;
71
wxString m_ActiveFilename;
72
cbProject* m_pActiveProject;
74
wxSemaphore m_Semaphore;
75
ClassBrowserBuilderThread* m_pBuilderThread;
80
#endif // CLASSBROWSER_H