Nemiver  0.3
nmv-call-stack.h
Go to the documentation of this file.
1 //Author: Dodji Seketeli
2 /*
3  *This file is part of the Nemiver project
4  *
5  *Nemiver is free software; you can redistribute
6  *it and/or modify it under the terms of
7  *the GNU General Public License as published by the
8  *Free Software Foundation; either version 2,
9  *or (at your option) any later version.
10  *
11  *Nemiver is distributed in the hope that it will
12  *be useful, but WITHOUT ANY WARRANTY;
13  *without even the implied warranty of
14  *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15  *See the GNU General Public License for more details.
16  *
17  *You should have received a copy of the
18  *GNU General Public License along with Nemiver;
19  *see the file COPYING.
20  *If not, write to the Free Software Foundation,
21  *Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22  *
23  *See COPYRIGHT file copyright information.
24  */
25 
26 #ifndef __NMV_CALL_STACK_H__
27 #define __NMV_CALL_STACK_H__
28 
29 #include <list>
30 #include <gtkmm/widget.h>
32 #include "common/nmv-object.h"
33 #include "nmv-i-debugger.h"
34 
35 using namespace std;
38 using nemiver::IDebugger;
39 
40 NEMIVER_BEGIN_NAMESPACE (nemiver)
41 
42 class IWorkbench;
43 class IPerspective;
44 
45 class NEMIVER_API CallStack : public Object {
46  //non copyable
47 
48  CallStack (const CallStack &);
49  CallStack& operator= (const CallStack &);
50 
51  struct Priv;
52  SafePtr<Priv> m_priv;
53 
54 protected:
55  CallStack ();
56 
57 public:
58 
59  CallStack (IDebuggerSafePtr &a_debugger, IWorkbench& a_workbench,
60  IPerspective& a_perspective);
61  virtual ~CallStack ();
62  bool is_empty ();
63  const vector<IDebugger::Frame>& frames () const;
64  IDebugger::Frame& current_frame () const;
65  void update_stack (bool select_top_most = false);
66  void clear ();
67  Gtk::Widget& widget () const;
68  sigc::signal<void,
69  int,
70  const IDebugger::Frame&>& frame_selected_signal () const;
71 };//end class CallStack
72 
73 NEMIVER_END_NAMESPACE (nemiver)
74 
75 #endif //__NMV_CALL_STACK_H__
76 
nmv-safe-ptr-utils.h
nemiver::common::Object
Definition: nmv-object.h:43
nemiver
Definition: nmv-address.h:31
nemiver::IWorkbench
the interface of the Workbench. The workbench is what you see graphically when you use Nemiver....
Definition: nmv-i-workbench.h:93
NEMIVER_API
#define NEMIVER_API
Definition: nmv-api-macros.h:53
nemiver::IDebugger
a debugger engine.
Definition: nmv-i-debugger.h:74
nmv-i-debugger.h
nemiver::IDebugger::Frame
a function frame as seen by the debugger.
Definition: nmv-i-debugger.h:372
nemiver::IPerspective
Definition: nmv-i-perspective.h:54
nmv-object.h
nemiver::common::SafePtr
Definition: nmv-safe-ptr.h:71
nemiver::CallStack
Definition: nmv-call-stack.h:45