00001 00012 #ifdef _MSC_VER 00013 #include "msdevstudio/MSconfig.h" 00014 #endif 00015 00016 #include "GroupViewBase.h" 00017 00018 #include <algorithm> 00019 00020 using std::vector; 00021 00022 using namespace hippodraw; 00023 00024 GroupViewBase::GroupViewBase () 00025 :ViewBase(0) 00026 { 00027 } 00028 00029 GroupViewBase::GroupViewBase ( const std::vector < ViewBase * > & inViews ) 00030 { 00031 mViews = inViews; 00032 } 00033 00034 GroupViewBase::GroupViewBase ( const GroupViewBase & src ) 00035 { 00036 } 00037 00038 GroupViewBase::~GroupViewBase () 00039 { 00040 } 00041 00042 const vector < PlotterBase * > 00043 GroupViewBase:: 00044 getPlotters () const 00045 { 00046 vector < PlotterBase * > plotters; 00047 for ( unsigned int i = 0; i<mViews.size(); i++ ) { 00048 ViewBase * view = mViews[i]; 00049 PlotterBase * plotter = view -> getPlotter (); 00050 if ( plotter !=0 ) { 00051 plotters.push_back ( plotter ); 00052 } 00053 } 00054 return plotters; 00055 } 00056 00057 00058 const vector < ViewBase * > & 00059 GroupViewBase:: 00060 getViews () 00061 { 00062 return mViews; 00063 } 00064 00065 void GroupViewBase::addView ( ViewBase * inView ) 00066 { 00067 mViews.push_back( inView ); 00068 } 00069 00070 void GroupViewBase::removeView ( ViewBase * inView ) 00071 { 00072 vector < ViewBase * >::iterator last 00073 = std::remove( mViews.begin(), mViews.end(), inView ); 00074 mViews.erase(last, mViews.end()); 00075 } 00076 00077