6 #ifndef CLASSBROWSERBUILDERTHREAD_H 7 #define CLASSBROWSERBUILDERTHREAD_H 43 const wxString& active_filename,
void* user_data,
52 #ifndef CC_NO_COLLAPSE_ITEM 57 #endif // CC_NO_COLLAPSE_ITEM 71 virtual void*
Entry();
105 short int tokenKindMask = 0xffff,
int tokenScopeMask = 0);
114 short int tokenKindMask = 0xffff,
int tokenScopeMask = 0,
bool allowGlobals =
false);
180 #endif // CLASSBROWSERBUILDERTHREAD_H wxSemaphore & m_ClassBrowserSemaphore
void SaveExpandedItems(CCTreeCtrl *tree, wxTreeItemId parent, int level)
EThreadEvent
the builder threads' event sent to the GUI(class browser window)
CCTreeCtrl * m_CCTreeCtrlBottom
pointer to the bottom wxTreeCtrl
void Init(NativeParser *np, CCTreeCtrl *treeTop, CCTreeCtrl *treeBottom, const wxString &active_filename, void *user_data, const BrowserOptions &bo, TokenTree *tt, int idThreadEvent)
std::deque< CCTreeCtrlExpandedItemData > ExpandedItemVect
std::set< size_t, std::less< size_t > > TokenFileSet
SelectedItemPath m_SelectedPath
NativeParser * m_NativeParser
a container class to hold all the Tokens getting from parsing stage
worker thread to build the symbol browser tree controls(both the top tree and the bottom tree) When t...
void AddMembersOf(CCTreeCtrl *tree, wxTreeItemId node)
TokenIdxSet m_CurrentTokenSet
Tokens belong to the m_CurrentFileSet file set.
the thread is starting to (re)build the tree
wxString m_ActiveFilename
virtual ~ClassBrowserBuilderThread()
destructor
TokenFileSet m_CurrentFileSet
A file set which contains a header file and the associated implementation file.
void RequestTermination(bool terminate=true)
ask the worker thread to die Called from external: when the class browser window get destroyed ...
void ExpandNamespaces(wxTreeItemId node, TokenKind tokenKind, int level)
recursively construct the children of node's children, which matches tokenKind Called from BuildTree(...
a symbol found in the parsed files, it can be many kinds, such as a variable, a class and so on...
std::set< int, std::less< int > > TokenIdxSet
bool TokenMatchesFilter(const Token *token, bool locked=false)
if the token should be shown in the tree, it will return true
ClassBrowserBuilderThread(wxEvtHandler *evtHandler, wxSemaphore &sem)
constructor
Options for the symbol browser, this specify how the symbol browser will shown.
ExpandedItemVect m_ExpandedVect
void ExpandSavedItems(CCTreeCtrl *tree, wxTreeItemId parent, int level)
bool AddNodes(CCTreeCtrl *tree, wxTreeItemId parent, const TokenIdxSet *tokens, short int tokenKindMask=0xffff, int tokenScopeMask=0, bool allowGlobals=false)
wxTreeItemId AddNodeIfNotThere(CCTreeCtrl *tree, wxTreeItemId parent, const wxString &name, int imgIndex=-1, CCTreeCtrlData *data=0)
bool AddAncestorsOf(CCTreeCtrl *tree, wxTreeItemId parent, int tokenIdx)
void CollapseItem(wxTreeItemId item)
remove the children of the tree item Called from external, BuildTree(), RemoveInvalidNodes(): ...
std::deque< CCTreeCtrlData > SelectedItemPath
bool TokenContainsChildrenOfKind(const Token *token, int kind)
NativeParser class is just like a manager class to control Parser objects.
wxMutex m_ClassBrowserBuilderThreadMutex
Some member functions of ClassBrowserBuilderThread such as ExpandItem() can either be called from the...
Actual data stored with each node in the symbol tree.
wxTreeItemId m_SelectItemRequired
BrowserOptions m_BrowserOptions
void SelectItemRequired()
bool AddDescendantsOf(CCTreeCtrl *tree, wxTreeItemId parent, int tokenIdx, bool allowInheritance=true)
void SelectItem(wxTreeItemId item)
void RemoveInvalidNodes(CCTreeCtrl *tree, wxTreeItemId parent)
Remove any nodes no longer valid (due to update)
int idThreadEvent
the event ID which will be sent from worker thread to ClassBrowser
bool CreateSpecialFolders(CCTreeCtrl *tree, wxTreeItemId parent)
void ExpandItem(wxTreeItemId item)
construct the children of the tree item Called from external, BuildTree():
bool m_TerminationRequested
if this variable is true, the Entry() function should return
CCTreeCtrl * m_CCTreeCtrlTop
pointer to the top wxTreeCtrl
TokenIdxSet m_CurrentGlobalTokensSet
Special global scope tokens belong to the m_CurrentFileSet file set.
bool AddChildrenOf(CCTreeCtrl *tree, wxTreeItemId parent, int parentTokenIdx, short int tokenKindMask=0xffff, int tokenScopeMask=0)
Add the child nodes of the specified token.