15 #include "msdevstudio/MSconfig.h"
40 using std::runtime_error;
43 using namespace hippodraw;
76 string what (
"Can not use this method as there is no window\n"
77 " associated with the canvas." );
78 throw std::runtime_error ( what );
129 vector < PlotterBase * > plotters;
132 for (
unsigned int i = 0; i <
size; i++ ) {
135 plotters.push_back ( plotter );
169 const std::vector< const ViewBase * > & views =
m_canvas->
views();
170 std::vector< const ViewBase * > :: const_iterator viewIt = views.begin();
171 while ( viewIt != views.end() ) {
188 if ( plotter != 0 ) {
191 if ( cut_plotter != 0 ) {
192 qtcut =
new QtCut ( cut_plotter );
203 m_canvas -> setAllSelected ( flag );
211 if ( selectedView ) {
219 print (
const std::string & filename )
234 std::string::size_type i = filename.find_last_of(
'.' );
235 if ( i == std::string::npos ) {
237 what (
"PyCanvas::saveAsImage: filename suffix missing." );
239 throw runtime_error( what );
243 if ( selectedView ) {
244 std::string file = filename;
255 std::string::size_type i = filename.find_last_of(
'.' );
256 if ( i == std::string::npos ) {
258 what (
"PyCanvas::saveSelectedImages: filename suffix missing." );
260 throw runtime_error( what );
271 return m_canvas -> getViewFor ( myPlotter );
290 if ( type ==
"Function Parameters" ||
291 type ==
"Chi-squared" ) {
293 if ( controller -> hasFunction ( plotter, 0 ) ) {
294 m_canvas -> addFuncDisplay ( plotter, type );
298 plotter -> setActivePlot ( 0,
false );
299 const std::string null (
"");
300 m_canvas -> addTextDisplay ( plotter, type, null );
301 plotter -> setActivePlot ( -1,
true );
313 const std::vector < std::string > &
319 return controller -> getTextTypes ();
323 const std::string &text )
343 double xrel,
double yrel )
358 plotter -> update ();
363 double xabs,
double yabs )
382 double xmax = rx.
high();
383 double xmin = rx.
low();
384 double ymax = ry.
high();
385 double ymin = ry.
low();
388 double xref = (xabs-xmin)/(xmax-xmin);
389 double yref = 1.-(yabs-ymin)/(ymax-ymin);
390 QRect rect = view->boundingRect();
397 plotter -> update ();
444 const PlotterBase * plotter = display -> display ();
447 height = view -> height ();
458 const PlotterBase * plotter = display -> display ();
461 width = view -> width ();
473 const PlotterBase * plotter = display -> display ();
476 Rect rect = view -> getDrawRect ();
477 view -> setDrawRect ( rect.
getX(), rect.
getY(),
489 const PlotterBase * plotter = display -> display ();
492 Rect rect = view -> getDrawRect ();
493 view -> setDrawRect ( rect.
getX(), rect.
getY(),
506 const PlotterBase * plotter = display -> display ();
509 x = static_cast <
int > ( view -> x () );
520 const PlotterBase * plotter = display -> display ();
523 y = static_cast <
int > ( view -> y () );
534 const PlotterBase * plotter = display -> display ();
537 view ->
setX ( static_cast < int > ( value ) );
548 const PlotterBase * plotter = display -> display ();
551 view ->
setY ( static_cast < int > ( value ) );