]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/treectrl.cpp
Added script to help make wxMotif via configure; nativdlg sample works again;
[wxWidgets.git] / src / msw / treectrl.cpp
index 496e1f38631cb8d4f5eaefef1f549c20b6d92130..7fcab3a9a81f10dc2cef5467cb3cd97a5db9c00a 100644 (file)
@@ -54,7 +54,7 @@
 #undef GetNextSibling
 #endif
 
-#include "wx/treectrl.h"
+#include "wx/msw/treectrl.h"
 
 // Bug in headers, sometimes
 #ifndef TVIS_FOCUSED
@@ -336,16 +336,22 @@ void wxTreeCtrl::SetItemHasChildren(const wxTreeItemId& item, bool has)
     DoSetItem(&tvItem);
 }
 
+void wxTreeCtrl::SetItemBold(const wxTreeItemId& item, bool bold)
+{
+    wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_BOLD);
+    tvItem.state = bold ? TVIS_BOLD : 0;
+    DoSetItem(&tvItem);
+}
+
 // ----------------------------------------------------------------------------
 // Item status
 // ----------------------------------------------------------------------------
 
 bool wxTreeCtrl::IsVisible(const wxTreeItemId& item) const
 {
+    // Bug in Gnu-Win32 headers, so don't use the macro TreeView_GetItemRect
     RECT rect;
-//    return (TreeView_GetItemRect(wxhWnd, (HTREEITEM) (WXHTREEITEM)item, &rect, FALSE) != 0);
-    // Bug in Gnu-Win32 headers, so don't use the macro.
-    return (SendMessage((wxhWnd), TVM_GETITEMRECT, (WPARAM) FALSE, (LPARAM) & rect) != 0);
+    return SendMessage(wxhWnd, TVM_GETITEMRECT, FALSE, (LPARAM)&rect) != 0;
 
 }
 
@@ -376,6 +382,14 @@ bool wxTreeCtrl::IsSelected(const wxTreeItemId& item) const
     return (tvItem.state & TVIS_SELECTED) != 0;
 }
 
+bool wxTreeCtrl::IsBold(const wxTreeItemId& item) const
+{
+    wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_BOLD);
+    DoGetItem(&tvItem);
+
+    return (tvItem.state & TVIS_BOLD) != 0;
+}
+
 // ----------------------------------------------------------------------------
 // navigation
 // ----------------------------------------------------------------------------
@@ -552,10 +566,6 @@ wxTreeItemId wxTreeCtrl::AppendItem(const wxTreeItemId& parent,
 
 void wxTreeCtrl::Delete(const wxTreeItemId& item)
 {
-    wxTreeItemData *data = GetItemData(item);
-       if(data!=NULL)
-               delete data;    // may be NULL, ok
-
     if ( !TreeView_DeleteItem(wxhWnd, (HTREEITEM)(WXHTREEITEM)item) )
     {
         wxLogLastError("TreeView_DeleteItem");
@@ -929,7 +939,7 @@ bool wxTreeCtrl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam, WXLPARAM *result)
 // Tree event
 // ----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxTreeEvent, wxCommandEvent)
+IMPLEMENT_DYNAMIC_CLASS(wxTreeEvent, wxNotifyEvent)
 
 wxTreeEvent::wxTreeEvent(wxEventType commandType, int id)
            : wxNotifyEvent(commandType, id)