From: Markus R. <rol...@us...> - 2007-04-29 16:54:18
|
Update of /cvsroot/simspark/simspark/contrib/rsgedit In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21430 Modified Files: Tag: RSGEDIT_FILEREF sparktree.cpp sparktree.h Log Message: - added method MarkItem() and MarkItemInternal() - added member mLastMarkedNode - implement highlighting of a tree node to mirror the OpenGL selection Index: sparktree.h =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/sparktree.h,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -C2 -d -r1.4 -r1.4.2.1 *** sparktree.h 15 Apr 2007 11:48:42 -0000 1.4 --- sparktree.h 29 Apr 2007 16:54:14 -0000 1.4.2.1 *************** *** 54,60 **** --- 54,63 ---- bool SelectLeaf(boost::weak_ptr<zeitgeist::Leaf> leaf); + void MarkItem(const wxTreeItemId id); + protected: void SetItemData(wxTreeItemId id, boost::weak_ptr<zeitgeist::Leaf> leaf); ItemData* GetItemData(wxTreeItemId id); + void MarkItemInternal(const wxTreeItemId id, bool mark); protected: *************** *** 62,65 **** --- 65,69 ---- boost::shared_ptr<zeitgeist::Core> mCore; wxTreeItemId mRootId; + wxTreeItemId mLastMarkedNode; }; Index: sparktree.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/sparktree.cpp,v retrieving revision 1.7 retrieving revision 1.7.2.1 diff -C2 -d -r1.7 -r1.7.2.1 *** sparktree.cpp 25 Apr 2007 20:08:43 -0000 1.7 --- sparktree.cpp 29 Apr 2007 16:54:14 -0000 1.7.2.1 *************** *** 262,263 **** --- 262,287 ---- return true; } + + void SparkTree::MarkItemInternal(const wxTreeItemId id, bool mark) + { + if (! id.IsOk()) + { + return; + } + if (mark) + { + mTree->SetItemTextColour(id, wxColour(230, 26, 230)); + mTree->SetItemBold(id,true); + } else + { + mTree->SetItemTextColour(id, wxNullColour); + mTree->SetItemBold(id,false); + } + } + + void SparkTree::MarkItem(const wxTreeItemId id) + { + MarkItemInternal(mLastMarkedNode,false); + MarkItemInternal(id, true); + mLastMarkedNode = id; + } |