GroupViewBase.cxx
Go to the documentation of this file.
1 
12 #ifdef _MSC_VER
13 #include "msdevstudio/MSconfig.h"
14 #endif
15 
16 #include "GroupViewBase.h"
17 
18 #include <algorithm>
19 
20 using std::vector;
21 
22 using namespace hippodraw;
23 
25  :ViewBase(0)
26 {
27 }
28 
29 GroupViewBase::GroupViewBase ( const std::vector < ViewBase * > & inViews )
30 {
31  mViews = inViews;
32 }
33 
35 {
36 }
37 
39 {
40 }
41 
42 const vector < PlotterBase * >
44 getPlotters () const
45 {
46  vector < PlotterBase * > plotters;
47  for ( unsigned int i = 0; i<mViews.size(); i++ ) {
48  ViewBase * view = mViews[i];
49  PlotterBase * plotter = view -> getPlotter ();
50  if ( plotter !=0 ) {
51  plotters.push_back ( plotter );
52  }
53  }
54  return plotters;
55 }
56 
57 
58 const vector < ViewBase * > &
61 {
62  return mViews;
63 }
64 
66 {
67  mViews.push_back( inView );
68 }
69 
71 {
72  vector < ViewBase * >::iterator last
73  = std::remove( mViews.begin(), mViews.end(), inView );
74  mViews.erase(last, mViews.end());
75 }
76 
77 
unsigned int i
This is the abstract base class for a group view.
Definition: GroupViewBase.h:27
virtual ~GroupViewBase()
Destructor.
The base class for the PlotterBase hierarchy.
Definition: PlotterBase.h:55
PlotterBase * getPlotter() const
Returns the plotter used by this view.
Definition: ViewBase.cxx:50
The abstract base class for views.
Definition: ViewBase.h:62
GroupViewBase()
Constructor.
void addView(ViewBase *inView)
Add a view to the group.
hippodraw::GroupViewBase class interface
const std::vector< PlotterBase * > getPlotters() const
Get plotters of every view.
void removeView(ViewBase *inView)
Remove a view in the group.
const std::vector< ViewBase * > & getViews()
Get all views in this group.
std::vector< ViewBase * > mViews
A vector that keeps all view in the same group view.
Definition: GroupViewBase.h:31

Generated for HippoDraw Class Library by doxygen