]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/treebase.h
SetFocus fixed
[wxWidgets.git] / include / wx / treebase.h
index 45e231cdc45b1976dff70bbf3f194e29cd83375c..28ec4e527148b341563ae42437c3c3562477624d 100644 (file)
@@ -61,8 +61,8 @@ public:
 
 #if WXWIN_COMPATIBILITY_2_4
     // deprecated: only for compatibility, don't work on 64 bit archs
-    wxTreeItemId(long item) { m_pItem = (wxTreeItemIdValue)item; }
-    operator long() const { return (long)m_pItem; }
+    wxTreeItemId(long item) { m_pItem = wxUIntToPtr(item); }
+    operator long() const { return (long)wxPtrToUInt(m_pItem); }
 #else // !WXWIN_COMPATIBILITY_2_4
     operator bool() const { return IsOk(); }
 #endif // WXWIN_COMPATIBILITY_2_4/!WXWIN_COMPATIBILITY_2_4
@@ -158,7 +158,11 @@ enum wxTreeItemIcon
 
 #define wxTR_FULL_ROW_HIGHLIGHT      0x2000     // highlight full horz space
 
+#ifdef __WXGTK20__
+#define wxTR_DEFAULT_STYLE           (wxTR_HAS_BUTTONS | wxTR_NO_LINES)
+#else
 #define wxTR_DEFAULT_STYLE           (wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT)
+#endif
 
 // deprecated, don't use
 #define wxTR_MAC_BUTTONS             0
@@ -244,6 +248,9 @@ class WXDLLEXPORT wxTreeEvent : public wxNotifyEvent
 {
 public:
     wxTreeEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
+    wxTreeEvent(const wxTreeEvent & event);
+
+    virtual wxEvent *Clone() const { return new wxTreeEvent(*this); }
 
     // accessors
         // get the item on which the operation was performed or the newly
@@ -294,7 +301,7 @@ private:
     friend class WXDLLEXPORT wxTreeCtrl;
     friend class WXDLLEXPORT wxGenericTreeCtrl;
 
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxTreeEvent)
+    DECLARE_DYNAMIC_CLASS(wxTreeEvent)
 };
 
 typedef void (wxEvtHandler::*wxTreeEventFunction)(wxTreeEvent&);
@@ -324,6 +331,7 @@ BEGIN_DECLARE_EVENT_TYPES()
     DECLARE_EVENT_TYPE(wxEVT_COMMAND_TREE_END_DRAG, 617)
     DECLARE_EVENT_TYPE(wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK, 618)
     DECLARE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP, 619)
+    DECLARE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_MENU, 620)
 END_DECLARE_EVENT_TYPES()
 
 // GetItem() returns the item being dragged, GetPoint() the mouse coords
@@ -372,6 +380,9 @@ END_DECLARE_EVENT_TYPES()
 // GetItem() returns the item that was activated (double click, enter, space)
 #define EVT_TREE_ITEM_ACTIVATED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction)  wxStaticCastEvent( wxTreeEventFunction, & fn ), NULL ),
 
+// GetItem() returns the item for which the context menu shall be shown
+#define EVT_TREE_ITEM_MENU(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_TREE_ITEM_MENU, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction)  wxStaticCastEvent( wxTreeEventFunction, & fn ), (wxObject *) NULL ),
+
 // GetItem() returns the item that was clicked on
 #define EVT_TREE_ITEM_RIGHT_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction)  wxStaticCastEvent( wxTreeEventFunction, & fn ), NULL ),
 #define EVT_TREE_ITEM_MIDDLE_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction)  wxStaticCastEvent( wxTreeEventFunction, & fn ), NULL ),