diff options
author | Chow Loong Jin <hyperair@gmail.com> | 2009-03-18 01:38:42 +0800 |
---|---|---|
committer | Chow Loong Jin <hyperair@gmail.com> | 2009-03-18 01:38:42 +0800 |
commit | 88bf04fce19ef94891d54e11c3604ad31bd1d46e (patch) | |
tree | 34fa3ad4f9768f63d86273468fd60c84fa05f553 /LiteEditor/cpp_symbol_tree.h | |
parent | 3d717c7047ccf0181289325da69e555556d759b3 (diff) |
Imported Upstream version 1.0.2785
Diffstat (limited to 'LiteEditor/cpp_symbol_tree.h')
-rw-r--r-- | LiteEditor/cpp_symbol_tree.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/LiteEditor/cpp_symbol_tree.h b/LiteEditor/cpp_symbol_tree.h new file mode 100644 index 00000000..bbdc74e6 --- /dev/null +++ b/LiteEditor/cpp_symbol_tree.h @@ -0,0 +1,72 @@ +////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////// +// +// copyright : (C) 2008 by Eran Ifrah +// file name : cpp_symbol_tree.h +// +// ------------------------------------------------------------------------- +// A +// _____ _ _ _ _ +// / __ \ | | | | (_) | +// | / \/ ___ __| | ___| | _| |_ ___ +// | | / _ \ / _ |/ _ \ | | | __/ _ ) +// | \__/\ (_) | (_| | __/ |___| | || __/ +// \____/\___/ \__,_|\___\_____/_|\__\___| +// +// F i l e +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////// + #ifndef LITEEDITOR_CPP_SYMBOL_TREE_H
+#define LITEEDITOR_CPP_SYMBOL_TREE_H
+
+#include "symbol_tree.h"
+#include "stack" + +extern const wxEventType wxEVT_CMD_CPP_SYMBOL_ITEM_SELECTED; +
+/// This class represents the GUI tree for the C++ symbols
+class CppSymbolTree : public SymbolTree
+{ + std::stack<wxTreeItemId> m_itemsStack; +
+public:
+
+ CppSymbolTree();
+
+ /// Nothing special here, just call our parent constructor
+ CppSymbolTree(wxWindow *parent, const wxWindowID id, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, long style = wxTR_HIDE_ROOT | wxTR_HAS_BUTTONS);
+
+
+ /// destructor
+ virtual ~CppSymbolTree()
+ {};
+
+ //activate the selected item.
+ //If there is no selection, retun false,
+ //else try to open the file associated with the
+ //selected item
+ //return true on successfull operation false otherwise
+ bool ActivateSelectedItem();
+
+ //advance the selection to next item (if possible)
+ void AdvanceSelection(bool forward = true);
+
+protected:
+ virtual void OnMouseDblClick(wxMouseEvent& event); + virtual void OnMouseRightUp(wxTreeEvent& event);
+ virtual void OnItemActivated(wxTreeEvent &event); + bool DoItemActivated(wxTreeItemId item, wxEvent &event, bool notify); + void FindAndSelect(LEditor *editor, wxString &pattern, const wxString &name); + + wxTreeItemId TryGetPrevItem(wxTreeItemId item); + + DECLARE_DYNAMIC_CLASS(CppSymbolTree)
+};
+
+#endif // LITEEDITOR_CPP_SYMBOL_TREE_H
|