]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/treelay.h
fixed infinite recursion in SetFocus()
[wxWidgets.git] / include / wx / generic / treelay.h
index 02a697132f23028d636a16c358c68e6a622b52a0..9c626dcf9fe278c5b5d82939385943b84cd07158 100644 (file)
@@ -2,7 +2,7 @@
 // Name:        treelay.h
 // Purpose:     wxTreeLayout class
 // Author:      Julian Smart
-// Modified by: 
+// Modified by:
 // Created:     7/4/98
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Julian Smart
 #pragma interface "wxtree.h"
 #endif
 
+#ifndef WX_PRECOMP
+#include <wx/object.h>
+class wxList;
+class wxDC;
+class wxMouseEvent;
+#endif
+
 #include <wx/string.h>
 
+#if wxUSE_TREELAYOUT
+
 class WXDLLEXPORT wxTreeLayout: public wxObject
 {
     DECLARE_ABSTRACT_CLASS(wxTreeLayout)
 
 public:
     wxTreeLayout();
-    
+    virtual ~wxTreeLayout() { }
+
     // Redefine these
     virtual void GetChildren(long id, wxList& list) = 0;
     virtual long GetNextNode(long id) = 0;
@@ -35,21 +45,21 @@ public:
     virtual void SetNodeY(long id, long y) = 0;
     virtual void ActivateNode(long id, bool active) = 0;
     virtual bool NodeActive(long id) = 0;
-    
+
     // Optional redefinition
     void Initialize(void);
-    inline virtual void SetNodeName(long id, const wxString& name) {}
-    inline virtual wxString GetNodeName(long id) { return wxString(""); }
+    inline virtual void SetNodeName(long WXUNUSED(id), const wxString& WXUNUSED(name)) {}
+    inline virtual wxString GetNodeName(long WXUNUSED(id)) { return wxString(""); }
     virtual void GetNodeSize(long id, long *x, long *y, wxDC& dc);
     virtual void Draw(wxDC& dc);
     virtual void DrawNodes(wxDC& dc);
     virtual void DrawBranches(wxDC& dc);
     virtual void DrawNode(long id, wxDC& dc);
     virtual void DrawBranch(long from, long to, wxDC& dc);
-    
+
     // Don't redefine
     virtual void DoLayout(wxDC& dc, long topNode = -1);
-    
+
     // Accessors -- don't redefine
     inline void SetTopNode(long id) { m_parentNode = id; }
     inline long GetTopNode(void) const { return m_parentNode; }
@@ -59,15 +69,15 @@ public:
     inline void SetMargins(long x, long y) { m_leftMargin = x; m_topMargin = y; }
     inline long GetTopMargin(void) const { return m_topMargin; }
     inline long GetLeftMargin(void) const { return m_leftMargin; }
-    
+
     inline bool GetOrientation(void) const { return m_orientation; }
     inline void SetOrientation(bool orient) { m_orientation = orient; }
-    
+
 private:
     void CalcLayout(long node_id, int level, wxDC& dc);
-    
+
     // Members
-    
+
 protected:
     long          m_parentNode;
     long          m_lastY;
@@ -98,14 +108,14 @@ class WXDLLEXPORT wxTreeLayoutStored: public wxTreeLayout
     DECLARE_DYNAMIC_CLASS(wxTreeLayoutStored)
 public:
     wxTreeLayoutStored(int noNodes = 200);
-    ~wxTreeLayoutStored(void);
+    virtual ~wxTreeLayoutStored(void);
     void Initialize(int n);
-    
+
     wxString HitTest(wxMouseEvent& event, wxDC& dc);
     wxStoredNode* GetNode(long id) const;
     inline int GetNumNodes() const { return m_maxNodes; };
     inline int GetNodeCount() const { return m_num; };
-    
+
     virtual void GetChildren(long id, wxList& list);
     virtual long GetNextNode(long id);
     virtual long GetNodeParent(long id);
@@ -119,10 +129,10 @@ public:
     virtual bool NodeActive(long id);
     virtual void SetClientData(long id, long clientData);
     virtual long GetClientData(long id) const;
-    
+
     virtual long AddChild(const wxString& name, const wxString& parent = "");
     virtual long NameToId(const wxString& name);
-    
+
     // Data members
 private:
     wxStoredNode*     m_nodes;
@@ -133,6 +143,9 @@ private:
 // For backward compatibility
 #define wxStoredTree wxTreeLayoutStored
 
+#endif
+    // wxUSE_TREELAYOUT
+
 #endif
  // _WX_TREELAY_H_
-  
+