From 56a9234d76e9efe69e06704230b1a81d7343c140 Mon Sep 17 00:00:00 2001 From: andreas <andreas@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Tue, 14 Sep 2010 22:12:44 +0000 Subject: [PATCH] added display of complex values in plot viewer git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2700 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- .../src/data_viewer/data_viewer_panel_base.cc | 47 +++++++++++++------ 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/modules/gui/src/data_viewer/data_viewer_panel_base.cc b/modules/gui/src/data_viewer/data_viewer_panel_base.cc index 5af82c954..98b38d711 100644 --- a/modules/gui/src/data_viewer/data_viewer_panel_base.cc +++ b/modules/gui/src/data_viewer/data_viewer_panel_base.cc @@ -431,7 +431,7 @@ void DataViewerPanelBase::paintEvent(QPaintEvent* event) painter.drawPixmap(QPoint(0,0),*pixmap_); #endif - if(zoom_level_ >= 6 && display_pixel_values_) { + if(zoom_level_ >= 7 && display_pixel_values_) { draw_pixel_values(painter); } @@ -1009,20 +1009,37 @@ void DataViewerPanelBase::draw_pixel_values(QPainter& painter) QFont fnt("Courier",(zoom_level_-6)*2+7); painter.setFont(fnt); - - for(int i = 0; i <= (b[0] - a[0]); ++i) { - for(int j = 0; j <= (b[1] - a[1]); ++j) { - Real pixel_value = GetObservedData().GetReal(Point(a[0]+i, - a[1]+j,slab_)); - QString value_string = QString("%1").arg(pixel_value,0,'g',5); - Real rv = GetNormalizer()->Convert(pixel_value); - QPoint p = FracPointToWinCenter(geom::Vec2(static_cast<Real>(a[0]+i), - static_cast<Real>(a[1]+j))); - unsigned char rgb = (rv>130.0) ? 0 : 255; - painter.setPen(QColor(rgb,rgb,rgb)); - int string_h=painter.fontMetrics().height(); - int string_w=painter.fontMetrics().width(value_string); - painter.drawText(p.x() - string_w/2, p.y() + string_h/2, value_string); + if(GetObservedData().GetType()==REAL){ + for(int i = 0; i <= (b[0] - a[0]); ++i) { + for(int j = 0; j <= (b[1] - a[1]); ++j) { + Real pixel_value = GetObservedData().GetReal(Point(a[0]+i, + a[1]+j,slab_)); + QString value_string = QString("%1").arg(pixel_value,0,'g',5); + Real rv = GetNormalizer()->Convert(pixel_value); + QPoint p = FracPointToWinCenter(geom::Vec2(static_cast<Real>(a[0]+i), + static_cast<Real>(a[1]+j))); + unsigned char rgb = (rv>130.0) ? 0 : 255; + painter.setPen(QColor(rgb,rgb,rgb)); + int string_h=painter.fontMetrics().height(); + int string_w=painter.fontMetrics().width(value_string); + painter.drawText(p.x() - string_w/2, p.y() + string_h/2, value_string); + } + } + }else{ + for(int i = 0; i <= (b[0] - a[0]); ++i) { + for(int j = 0; j <= (b[1] - a[1]); ++j) { + Complex pixel_value = GetObservedData().GetComplex(Point(a[0]+i, + a[1]+j,slab_)); + QString value_string = QString("%1+i%2").arg(pixel_value.real(),0,'g',5).arg(pixel_value.imag(),0,'g',5); + Real rv = GetNormalizer()->Convert(abs(pixel_value)); + QPoint p = FracPointToWinCenter(geom::Vec2(static_cast<Real>(a[0]+i), + static_cast<Real>(a[1]+j))); + unsigned char rgb = (rv>130.0) ? 0 : 255; + painter.setPen(QColor(rgb,rgb,rgb)); + int string_h=painter.fontMetrics().height(); + int string_w=painter.fontMetrics().width(value_string); + painter.drawText(p.x() - string_w/2, p.y() + string_h/2, value_string); + } } } } -- GitLab