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;
+ }
|