]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/stackwalk.h
Ensure that the overall table border doesn't get overdrawn by cell borders with a...
[wxWidgets.git] / interface / wx / stackwalk.h
index 4464d30708b52485a43840dc6b949113d39ac939..26e4216643e9d7e8459a46d3265e0edf3ecbbd75 100644 (file)
@@ -2,10 +2,14 @@
 // Name:        stackwalk.h
 // Purpose:     interface of wxStackWalker
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+/**
+    This is the default value of the wxStackWalker::Walk function.
+*/
+#define wxSTACKWALKER_MAX_DEPTH   (200)
+
 /**
     @class wxStackWalker
 
@@ -47,7 +51,7 @@ public:
     /**
         Constructor does nothing, use Walk() to walk the stack.
     */
-    wxStackWalker();
+    wxStackWalker(const char* argv0 = NULL);
 
     /**
         Destructor does nothing neither but should be virtual as this class is used as
@@ -55,11 +59,6 @@ public:
     */
     virtual ~wxStackWalker();
 
-    /**
-        This function must be overrided to process the given frame.
-    */
-    void OnStackFrame(const wxStackFrame& frame);
-
     /**
         Enumerate stack frames from the current location, skipping the initial
         number of them (this can be useful when Walk() is called from some known
@@ -67,16 +66,24 @@ public:
         notice that Walk() frame itself is not included if skip = 1).
 
         Up to @a maxDepth frames are walked from the innermost to the outermost one.
+        It defaults to ::wxSTACKWALKER_MAX_DEPTH.
     */
-    virtual void Walk(size_t skip = 1, size_t maxDepth = 200);
+    virtual void Walk(size_t skip = 1, size_t maxDepth = wxSTACKWALKER_MAX_DEPTH);
 
     /**
         Enumerate stack frames from the location of uncaught exception.
         This method can only be called from wxApp::OnFatalException().
 
         Up to @a maxDepth frames are walked from the innermost to the outermost one.
+        It defaults to ::wxSTACKWALKER_MAX_DEPTH.
+    */
+    virtual void WalkFromException(size_t maxDepth = wxSTACKWALKER_MAX_DEPTH);
+
+protected:
+    /**
+        This function must be overrided to process the given frame.
     */
-    virtual void WalkFromException(size_t maxDepth = 200);
+    virtual void OnStackFrame(const wxStackFrame& frame) = 0;
 };
 
 
@@ -143,8 +150,8 @@ public:
         Return @true if at least some values could be retrieved.
         This function currently is only implemented under Win32 and requires a PDB file.
     */
-    bool GetParam(size_t n, wxString* type, wxString* name,
-                  wxString* value) const;
+    virtual bool GetParam(size_t n, wxString* type, wxString* name,
+                          wxString* value) const;
 
     /**
         Return the number of parameters of this function (may return 0 if we