]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/stackwalk.h
Add support for wxSTB_ELLIPSIZE_* and for wxSTB_SHOW_TIPS flags under wxMSW
[wxWidgets.git] / interface / wx / stackwalk.h
index dff93c8e2a77d2e0c5834f65861ae8c824117f98..d0306f8443ce5e158fb03ac516ae2f7dae478f6e 100644 (file)
@@ -6,6 +6,11 @@
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
+/**
+    This is the default value of the wxStackWalker::Walk function.
+*/
+#define wxSTACKWALKER_MAX_DEPTH   (200)
+
 /**
     @class wxStackWalker
 
@@ -47,7 +52,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
@@ -62,22 +67,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 = 200);
+    virtual void WalkFromException(size_t maxDepth = wxSTACKWALKER_MAX_DEPTH);
 
 protected:
     /**
         This function must be overrided to process the given frame.
     */
-    void OnStackFrame(const wxStackFrame& frame);
+    virtual void OnStackFrame(const wxStackFrame& frame) = 0;
 };
 
 
@@ -144,8 +151,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