1 #include "bbmaracasvisuPlotterView.h"
2 #include "bbcreaMaracasVisuPackage.h"
4 #include "pPlotterScaleX.h"
5 #include "pPlotterScaleY.h"
8 namespace bbcreaMaracasVisu
11 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,PlotterView)
12 BBTK_BLACK_BOX_IMPLEMENTATION(PlotterView,bbtk::WxBlackBox);
14 //---------------------------------------------------
15 void PlotterView::Process()
22 if (bbGetInputInY().size()!=0)
24 // avoid 'taking address of temporary '
25 //pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &(bbGetInputInX()), &(bbGetInputInY()) ); // taking address of temporary ! JPRx
26 std::vector<double> inX;
27 if (bbGetInputInX().size()==0)
29 int i,size=bbGetInputInY().size();
32 inX.push_back((double)i);
35 inX = bbGetInputInX();
37 std::vector<double> inY = bbGetInputInY();
38 pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &inX, &inY );
39 mwxwidget->addFunction(pGF);
42 if (bbGetInputInY2().size()!=0)
44 // avoid 'taking address of temporary '
45 //pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &(bbGetInputInX()), &(bbGetInputInY()) ); // taking address of temporary ! JPRx
46 std::vector<double> inX2;
47 if (bbGetInputInX().size()==0)
49 int i,size=bbGetInputInY2().size();
52 inX2.push_back((double)i);
55 inX2 = bbGetInputInX();
57 std::vector<double> inY2 = bbGetInputInY();
58 pGraphicalFunction *pGF2 = mwxwidget->getFunctionForVectors( &inX2, &inY2 );
59 mwxwidget->addFunction(pGF2);
65 pGraphicalFunction *pGF = mwxwidget->getFunction(0);
68 int i,sizePoints = pGF->getSizePoints();
69 for (i=1; i<sizePoints;i++)
71 pGF->deletePointAt(1);
74 sizePoints=bbGetInputInY().size();
75 for (i=0; i<sizePoints;i++)
77 if (i<bbGetInputInX().size())
79 px = bbGetInputInX()[i];
83 pGF->AddNewPoint( px, bbGetInputInY()[i] );
89 pGraphicalFunction *pGF2 = mwxwidget->getFunction(1);
92 int i,sizePoints = pGF2->getSizePoints();
93 for (i=0; i<sizePoints;i++)
95 pGF2->deletePointAt(1);
98 sizePoints=bbGetInputInY2().size();
99 for (i=0; i<sizePoints;i++)
101 if (i<bbGetInputInX().size())
103 px = bbGetInputInX()[i];
107 pGF2->AddNewPoint( px, bbGetInputInY2()[i] );
111 mwxwidget->setMinScrY(0);
112 mwxwidget->UpdateAll();
116 //---------------------------------------------------
117 void PlotterView::CreateWidget(wxWindow* parent)
119 bbtkDebugMessageInc("Core",9,"PlotterView::CreateWxWindow()"<<std::endl);
121 mwxwidget = new pPlotterWindow( parent , -1,wxDefaultPosition, wxDefaultSize, 0 );
122 mwxwidget->AddLayer(new pPlotterScaleX());
123 mwxwidget->AddLayer(new pPlotterScaleY());
125 bbtkDebugDecTab("Core",9);
126 bbSetOutputWidget( mwxwidget );
129 //---------------------------------------------------
130 void PlotterView::bbUserSetDefaultValues()
136 //-----------------------------------------------------------------
137 void PlotterView::bbUserInitializeProcessing()
141 //-----------------------------------------------------------------
142 void PlotterView::bbUserFinalizeProcessing()
146 //-----------------------------------------------------------------
149 // EO namespace bbcreaMaracasVisu