]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/treectrl.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / treectrl.h
index fe8b7f1fb62ed8bc3d2c8aa82650872023f7c544..89493c3bbbc33d880f81d63e667126d4b62d4a88 100644 (file)
@@ -5,7 +5,6 @@
 // Modified by:
 // Created:
 // Copyright:   (c) Karsten Ballueder
 // Modified by:
 // Created:
 // Copyright:   (c) Karsten Ballueder
-// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -22,7 +21,7 @@
 
 #include "wx/control.h"
 #include "wx/treebase.h"
 
 #include "wx/control.h"
 #include "wx/treebase.h"
-#include "wx/textctrl.h" // wxTextCtrl::ms_classinfo used through CLASSINFO macro
+#include "wx/textctrl.h" // wxTextCtrl::ms_classinfo used through wxCLASSINFO macro
 
 class WXDLLIMPEXP_FWD_CORE wxImageList;
 
 
 class WXDLLIMPEXP_FWD_CORE wxImageList;
 
@@ -33,20 +32,7 @@ class WXDLLIMPEXP_FWD_CORE wxImageList;
 class WXDLLIMPEXP_CORE wxTreeCtrlBase : public wxControl
 {
 public:
 class WXDLLIMPEXP_CORE wxTreeCtrlBase : public wxControl
 {
 public:
-    wxTreeCtrlBase()
-    {
-        m_imageListNormal =
-        m_imageListState = NULL;
-        m_ownsImageListNormal =
-        m_ownsImageListState = false;
-
-        // arbitrary default
-        m_spacing = 18;
-
-        // quick DoGetBestSize calculation
-        m_quickBestSize = true;
-    }
-
+    wxTreeCtrlBase();
     virtual ~wxTreeCtrlBase();
 
     // accessors
     virtual ~wxTreeCtrlBase();
 
     // accessors
@@ -214,6 +200,13 @@ public:
         // equivalent to GetSelection() if not wxTR_MULTIPLE
     virtual wxTreeItemId GetFocusedItem() const = 0;
 
         // equivalent to GetSelection() if not wxTR_MULTIPLE
     virtual wxTreeItemId GetFocusedItem() const = 0;
 
+
+        // Clears the currently focused item
+    virtual void ClearFocusedItem() = 0;
+        // Sets the currently focused item. Item should be valid
+    virtual void SetFocusedItem(const wxTreeItemId& item) = 0;
+
+
         // get the parent of this item (may return NULL if root)
     virtual wxTreeItemId GetItemParent(const wxTreeItemId& item) const = 0;
 
         // get the parent of this item (may return NULL if root)
     virtual wxTreeItemId GetItemParent(const wxTreeItemId& item) const = 0;
 
@@ -295,10 +288,10 @@ public:
         // delete this item and associated data if any
     virtual void Delete(const wxTreeItemId& item) = 0;
         // delete all children (but don't delete the item itself)
         // delete this item and associated data if any
     virtual void Delete(const wxTreeItemId& item) = 0;
         // delete all children (but don't delete the item itself)
-        // NB: this won't send wxEVT_COMMAND_TREE_ITEM_DELETED events
+        // NB: this won't send wxEVT_TREE_ITEM_DELETED events
     virtual void DeleteChildren(const wxTreeItemId& item) = 0;
         // delete all items from the tree
     virtual void DeleteChildren(const wxTreeItemId& item) = 0;
         // delete all items from the tree
-        // NB: this won't send wxEVT_COMMAND_TREE_ITEM_DELETED events
+        // NB: this won't send wxEVT_TREE_ITEM_DELETED events
     virtual void DeleteAllItems() = 0;
 
         // expand this item
     virtual void DeleteAllItems() = 0;
 
         // expand this item
@@ -346,7 +339,7 @@ public:
         // been before. textCtrlClass parameter allows you to create an edit
         // control of arbitrary user-defined class deriving from wxTextCtrl.
     virtual wxTextCtrl *EditLabel(const wxTreeItemId& item,
         // been before. textCtrlClass parameter allows you to create an edit
         // control of arbitrary user-defined class deriving from wxTextCtrl.
     virtual wxTextCtrl *EditLabel(const wxTreeItemId& item,
-                      wxClassInfo* textCtrlClass = CLASSINFO(wxTextCtrl)) = 0;
+                      wxClassInfo* textCtrlClass = wxCLASSINFO(wxTextCtrl)) = 0;
         // returns the same pointer as StartEdit() if the item is being edited,
         // NULL otherwise (it's assumed that no more than one item may be
         // edited simultaneously)
         // returns the same pointer as StartEdit() if the item is being edited,
         // NULL otherwise (it's assumed that no more than one item may be
         // edited simultaneously)
@@ -355,6 +348,10 @@ public:
     virtual void EndEditLabel(const wxTreeItemId& item,
                               bool discardChanges = false) = 0;
 
     virtual void EndEditLabel(const wxTreeItemId& item,
                               bool discardChanges = false) = 0;
 
+        // Enable or disable beep when incremental match doesn't find any item.
+        // Only implemented in the generic version currently.
+    virtual void EnableBellOnNoMatch(bool WXUNUSED(on) = true) { }
+
     // sorting
     // -------
 
     // sorting
     // -------
 
@@ -445,6 +442,13 @@ protected:
     bool        m_quickBestSize;
 
 
     bool        m_quickBestSize;
 
 
+private:
+    // Intercept Escape and Return keys to ensure that our in-place edit
+    // control always gets them before they're used for dialog navigation or
+    // anything else.
+    void OnCharHook(wxKeyEvent& event);
+
+
     wxDECLARE_NO_COPY_CLASS(wxTreeCtrlBase);
 };
 
     wxDECLARE_NO_COPY_CLASS(wxTreeCtrlBase);
 };
 
@@ -454,8 +458,6 @@ protected:
 
 #if defined(__WXUNIVERSAL__)
     #include "wx/generic/treectlg.h"
 
 #if defined(__WXUNIVERSAL__)
     #include "wx/generic/treectlg.h"
-#elif defined(__WXPALMOS__)
-    #include "wx/generic/treectlg.h"
 #elif defined(__WXMSW__)
     #include "wx/msw/treectrl.h"
 #elif defined(__WXMOTIF__)
 #elif defined(__WXMSW__)
     #include "wx/msw/treectrl.h"
 #elif defined(__WXMOTIF__)