QXRD  0.11.16
Public Types | Public Slots | Public Member Functions | Properties | Private Slots | Private Attributes | List of all members
QcepDataObjectGraphWindow Class Reference

#include <qcepdataobjectgraphwindow.h>

Inheritance diagram for QcepDataObjectGraphWindow:
Inheritance graph
[legend]
Collaboration diagram for QcepDataObjectGraphWindow:
Collaboration graph
[legend]

Public Types

enum  {
  NoPlot, DefaultPlot, ScatterPlot, ImagePlot,
  HistogramPlot, HorizontalSlice, VerticalSlice
}
 

Public Slots

void updateDisplay ()
 
- Public Slots inherited from QcepDataObjectWindow
void printMessage (QString msg, QDateTime ts=QDateTime::currentDateTime())
 
- Public Slots inherited from QcepMainWindow
void shrinkPanels (int fontSize, int spacing)
 
void setFontSize (int fontSize)
 
void setSpacing (int spacing)
 
virtual void printMessage (QString msg, QDateTime ts=QDateTime::currentDateTime())=0
 

Public Member Functions

 QcepDataObjectGraphWindow (QcepExperimentWPtr expt, QcepDataObjectWPtr obj, QWidget *parent=0)
 
virtual ~QcepDataObjectGraphWindow ()
 
void closeEvent (QCloseEvent *event)
 
bool wantToClose ()
 
int controllerRow () const
 
int controllerColumn () const
 
int currentGraphMode ()
 
void clearPlot ()
 
void appendCurve (QwtPlotCurve *curve)
 
QcepExperimentWPtr experiment ()
 
- Public Member Functions inherited from QcepDataObjectWindow
 QcepDataObjectWindow (QWidget *parent=0)
 
- Public Member Functions inherited from QcepMainWindow
 QcepMainWindow (QWidget *parent=0)
 
void possiblyClose ()
 
bool wantToClose ()
 

Properties

int colorMap
 
int scalingMode
 
double minimumPct
 
double maximumPct
 
double minimumPctle
 
double maximumPctle
 
double minimumVal
 
double maximumVal
 
bool histFullVis
 
bool histAVis
 
bool histBVis
 
bool histCVis
 
int histALeft
 
int histATop
 
int histARight
 
int histABottom
 
int histBLeft
 
int histBTop
 
int histBRight
 
int histBBottom
 
int histCLeft
 
int histCTop
 
int histCRight
 
int histCBottom
 
int sliceHStart
 
int sliceHSummed
 
int sliceHSkipped
 
int sliceHRepeats
 
int sliceVStart
 
int sliceVSummed
 
int sliceVSkipped
 
int sliceVRepeats
 

Private Slots

void setGraphMode (int mode)
 
void allowGraphMode (int mode)
 
void changeGraphMode (int idx)
 

Private Attributes

QcepExperimentWPtr m_Experiment
 
QcepDataObjectWPtr m_Object
 
int m_PlottingMode
 
QcepDataObjectGraphControllerPtr m_Controller
 
QcepSettingsSaverPtr m_SettingsSaver
 

Additional Inherited Members

- Protected Member Functions inherited from QcepMainWindow
void shrinkDockWidget (QDockWidget *dockWidget, int fontSize, int spacing)
 
void shrinkObject (QObject *obj, int fontSize, int spacing)
 
void setObjectSpacing (QObject *obj, int spacing)
 

Detailed Description

Definition at line 15 of file qcepdataobjectgraphwindow.h.

Member Enumeration Documentation

anonymous enum

Constructor & Destructor Documentation

QcepDataObjectGraphWindow::QcepDataObjectGraphWindow ( QcepExperimentWPtr  expt,
QcepDataObjectWPtr  obj,
QWidget *  parent = 0 
)
explicit

Definition at line 35 of file qcepdataobjectgraphwindow.cpp.

References changeGraphMode(), DefaultPlot, m_Experiment, m_Object, m_SettingsSaver, setGraphMode(), and updateDisplay().

35  :
36  QcepDataObjectWindow(parent),
37  m_Experiment(expt),
38  m_Object(obj),
41 // m_PlotSettings(new QcepPlotSettings("plotSettings", m_SettingsSaver, NULL)),
42  m_ColorMap (m_SettingsSaver, this, "colorMap", 0, "Image Color Map Index"),
43  m_ScalingMode (m_SettingsSaver, this, "scalingMode", 0, "Image Scaling Mode"),
44  m_MinimumPct (m_SettingsSaver, this, "minimumPct", 0, "Image Display Minimum %"),
45  m_MaximumPct (m_SettingsSaver, this, "maximumPct", 100, "Image Display Maximum %"),
46  m_MinimumPctle (m_SettingsSaver, this, "minimumPctle", 0, "Image Display Minimum Percentile"),
47  m_MaximumPctle (m_SettingsSaver, this, "maximumPctle", 99, "Image Display Maximum Percentile"),
48  m_MinimumVal (m_SettingsSaver, this, "minimumVal", 0, "Image Display Minimum Value"),
49  m_MaximumVal (m_SettingsSaver, this, "maximumVal", 10000, "Image Display Maximum Value"),
50  m_HistFullVis (m_SettingsSaver, this, "histFullVis", true, "Full Image Histogram Visible?"),
51  m_HistAVis (m_SettingsSaver, this, "histAVis", false, "Histogram A Visible?"),
52  m_HistBVis (m_SettingsSaver, this, "histBVis", false, "Histogram B Visible?"),
53  m_HistCVis (m_SettingsSaver, this, "histCVis", false, "Histogram C Visible"),
54  m_HistALeft (m_SettingsSaver, this, "histALeft", 10, "Histogram A Left"),
55  m_HistATop (m_SettingsSaver, this, "histATop", 10, "Histogram A Top"),
56  m_HistARight (m_SettingsSaver, this, "histARight", 20, "Histogram A Right"),
57  m_HistABottom (m_SettingsSaver, this, "histABottom", 20, "Histogram A Bottom"),
58  m_HistBLeft (m_SettingsSaver, this, "histBLeft", 30, "Histogram B Left"),
59  m_HistBTop (m_SettingsSaver, this, "histBTop", 30, "Histogram B Top"),
60  m_HistBRight (m_SettingsSaver, this, "histBRight", 40, "Histogram B Right"),
61  m_HistBBottom (m_SettingsSaver, this, "histBBottom", 40, "Histogram B Bottom"),
62  m_HistCLeft (m_SettingsSaver, this, "histCLeft", 50, "Histogram B Left"),
63  m_HistCTop (m_SettingsSaver, this, "histCTop", 50, "Histogram B Top"),
64  m_HistCRight (m_SettingsSaver, this, "histCRight", 60, "Histogram B Right"),
65  m_HistCBottom (m_SettingsSaver, this, "histCBottom", 60, "Histogram B Bottom"),
66  m_SliceHStart (m_SettingsSaver, this, "sliceHStart", 0, "Horizontal Slice Start"),
67  m_SliceHSummed (m_SettingsSaver, this, "sliceHSummed", 1, "Horizontal Slice Summed"),
68  m_SliceHSkipped(m_SettingsSaver, this, "sliceHSkipped", 0, "Horizontal Slice Skipped"),
69  m_SliceHRepeats(m_SettingsSaver, this, "sliceHRepeats", 100, "Horizontal Slice Repeats"),
70  m_SliceVStart (m_SettingsSaver, this, "sliceVStart", 0, "Vertical Slice Start"),
71  m_SliceVSummed (m_SettingsSaver, this, "sliceVSummed", 1, "Vertical Slice Summed"),
72  m_SliceVSkipped(m_SettingsSaver, this, "sliceVSkipped", 0, "Vertical Slice Skipped"),
73  m_SliceVRepeats(m_SettingsSaver, this, "sliceVRepeats", 100, "Vertical Slice Repeats")
74 {
75  setupUi(this);
76 
79 
80  if (objp && expt) {
81  setWindowTitle(tr("%1 Graph from %2")
82  .arg(objp->pathName())
83  .arg(e->get_ExperimentName()));
84  } else if (objp) {
85  setWindowTitle(tr("%1 Graph")
86  .arg(objp->pathName()));
87  } else {
88  setWindowTitle("Unknown Graph");
89  }
90 
91  QcepPlotSettingsPtr settings(new QcepPlotSettings("plotSettings", m_SettingsSaver, NULL));
92  m_ImagePlot->init(settings);
93 
94  m_PlotModeSelector->clear();
95 
97 
98  connect(m_PlotModeSelector, SIGNAL(currentIndexChanged(int)),
99  this, SLOT(changeGraphMode(int)));
100 
101  connect(m_ImageZoomInButton, SIGNAL(clicked(bool)), m_ImagePlot, SLOT(enableZooming()));
102  connect(m_ImageZoomOutButton, SIGNAL(clicked(bool)), m_ImagePlot, SLOT(zoomOut()));
103  connect(m_ImageZoomAllButton, SIGNAL(clicked(bool)), m_ImagePlot, SLOT(autoScale()));
104  connect(m_ImageMeasureButton, SIGNAL(clicked(bool)), m_ImagePlot, SLOT(enableMeasuring()));
105 
106  m_ImagePlot->enableZooming();
107 
108  setAttribute(Qt::WA_DeleteOnClose, true);
109 
110  if (objp) {
111  connect(objp.data(), SIGNAL(dataObjectChanged()), this, SLOT(updateDisplay()));
112 
113  updateDisplay();
114  }
115 }
QcepDataObjectWindow(QWidget *parent=0)
QcepSettingsSaverPtr m_SettingsSaver
QSharedPointer< QcepPlotSettings > QcepPlotSettingsPtr
QSharedPointer< QcepDataObject > QcepDataObjectPtr
QSharedPointer< QcepExperiment > QcepExperimentPtr

Here is the call graph for this function:

QcepDataObjectGraphWindow::~QcepDataObjectGraphWindow ( )
virtual

Definition at line 117 of file qcepdataobjectgraphwindow.cpp.

118 {
119 #ifndef QT_NO_DEBUG
120  printf("Deleting Graph Window\n");
121 #endif
122 }

Member Function Documentation

void QcepDataObjectGraphWindow::allowGraphMode ( int  mode)
privateslot

Definition at line 188 of file qcepdataobjectgraphwindow.cpp.

References HistogramPlot, HorizontalSlice, ImagePlot, ScatterPlot, and VerticalSlice.

Referenced by setGraphMode().

189 {
190  switch (mode) {
191  case ImagePlot:
192  m_PlotModeSelector->addItem("2-D Image Plot", ImagePlot);
193  break;
194 
195  case ScatterPlot:
196  m_PlotModeSelector->addItem("Scatter Plot", ScatterPlot);
197  break;
198 
199  case HistogramPlot:
200  m_PlotModeSelector->addItem("Histogram of Image", HistogramPlot);
201  break;
202 
203  case HorizontalSlice:
204  m_PlotModeSelector->addItem("Horizontal Slices", HorizontalSlice);
205  break;
206 
207  case VerticalSlice:
208  m_PlotModeSelector->addItem("Vertical Slices", VerticalSlice);
209  break;
210  }
211 }

Here is the caller graph for this function:

void QcepDataObjectGraphWindow::appendCurve ( QwtPlotCurve *  curve)

Definition at line 285 of file qcepdataobjectgraphwindow.cpp.

Referenced by QcepScatterPlotGraphController::appendCurve(), and QcepImageSliceGraphController::updateDisplay().

286 {
287  if (curve) {
288  curve->attach(m_ImagePlot);
289  }
290 }

Here is the caller graph for this function:

void QcepDataObjectGraphWindow::changeGraphMode ( int  idx)
privateslot

Definition at line 213 of file qcepdataobjectgraphwindow.cpp.

References m_PlottingMode, setGraphMode(), and updateDisplay().

Referenced by QcepDataObjectGraphWindow().

214 {
215  QString newName = m_PlotModeSelector->itemText(idx);
216  int newMode = m_PlotModeSelector->itemData(idx).toInt();
217 
218  bool b = m_PlotModeSelector->blockSignals(true);
219 
220  if (QMessageBox::question(this,
221  tr("Change Plotting Mode?"),
222  tr("Do you want to change the plotting mode to %1").arg(newName),
223  QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok) {
224 
225  m_PlotModeSelector->clear();
226 
227  setGraphMode(newMode);
228 
229  updateDisplay();
230  } else {
231  int oldIdx = m_PlotModeSelector->findData(m_PlottingMode);
232 
233  if (oldIdx >= 0) {
234  m_PlotModeSelector->setCurrentIndex(oldIdx);
235  }
236  }
237 
238  m_PlotModeSelector->blockSignals(b);
239 }

Here is the call graph for this function:

Here is the caller graph for this function:

void QcepDataObjectGraphWindow::clearPlot ( )

Definition at line 280 of file qcepdataobjectgraphwindow.cpp.

281 {
282  m_ImagePlot->detachItems(QwtPlotItem::Rtti_PlotCurve);
283 }
void QcepDataObjectGraphWindow::closeEvent ( QCloseEvent *  event)

Definition at line 246 of file qcepdataobjectgraphwindow.cpp.

References wantToClose().

247 {
248  if (wantToClose()) {
249  event -> accept();
250  } else {
251  event -> ignore();
252  }
253 }

Here is the call graph for this function:

int QcepDataObjectGraphWindow::controllerColumn ( ) const

Definition at line 268 of file qcepdataobjectgraphwindow.cpp.

269 {
270  return 2;
271 }
int QcepDataObjectGraphWindow::controllerRow ( ) const

Definition at line 263 of file qcepdataobjectgraphwindow.cpp.

264 {
265  return 1;
266 }
int QcepDataObjectGraphWindow::currentGraphMode ( )

Definition at line 241 of file qcepdataobjectgraphwindow.cpp.

References m_PlottingMode.

242 {
243  return m_PlottingMode;
244 }
QcepExperimentWPtr QcepDataObjectGraphWindow::experiment ( )

Definition at line 124 of file qcepdataobjectgraphwindow.cpp.

References m_Experiment.

125 {
126  return m_Experiment;
127 }
void QcepDataObjectGraphWindow::setGraphMode ( int  mode)
privateslot

Definition at line 129 of file qcepdataobjectgraphwindow.cpp.

References allowGraphMode(), DefaultPlot, HistogramPlot, HorizontalSlice, ImagePlot, m_Controller, m_Object, m_PlottingMode, ScatterPlot, and VerticalSlice.

Referenced by changeGraphMode(), and QcepDataObjectGraphWindow().

130 {
131  if (mode != m_PlottingMode) {
132  QSharedPointer<QcepImageDataBase> image = qSharedPointerDynamicCast<QcepImageDataBase>(m_Object);
133  QcepIntegratedDataPtr integ = qSharedPointerDynamicCast<QcepIntegratedData>(m_Object);
134  QcepDataArrayPtr array = qSharedPointerDynamicCast<QcepDataArray>(m_Object);
135  QcepDataColumnPtr col = qSharedPointerDynamicCast<QcepDataColumn>(m_Object);
136  QcepDataColumnScanPtr scan = qSharedPointerDynamicCast<QcepDataColumnScan>(m_Object);
137  QcepDataGroupPtr group = qSharedPointerDynamicCast<QcepDataGroup>(m_Object);
138 
139  if (image || array) {
144 
145  if (mode == DefaultPlot || mode == ImagePlot) {
146  m_Controller = QSharedPointer<QcepImageDataGraphController>(
147  new QcepImageDataGraphController(this, mode, m_Object));
148 
149  m_Controller->activate();
150 
152  } else if (mode == HistogramPlot) {
153  m_Controller = QSharedPointer<QcepImageHistogramGraphController>(
155 
156  m_Controller->activate();
157 
159  } else if (mode == HorizontalSlice || mode == VerticalSlice) {
160  m_Controller = QSharedPointer<QcepImageSliceGraphController>(
161  new QcepImageSliceGraphController(this, mode, m_Object));
162 
163  m_Controller->activate();
164 
165  m_PlottingMode = mode;
166  }
167  } else if (integ || col || scan || group) {
169 
170  if (mode == DefaultPlot || mode == ScatterPlot) {
171  m_Controller = QSharedPointer<QcepScatterPlotGraphController> (
172  new QcepScatterPlotGraphController(this, mode, m_Object));
173 
174  m_Controller->activate();
175 
177  }
178  }
179 
180  int idx = m_PlotModeSelector->findData(mode);
181 
182  if (idx >= 0) {
183  m_PlotModeSelector->setCurrentIndex(idx);
184  }
185  }
186 }
QSharedPointer< QcepDataArray > QcepDataArrayPtr
QSharedPointer< QcepDataGroup > QcepDataGroupPtr
QSharedPointer< QcepDataColumnScan > QcepDataColumnScanPtr
QSharedPointer< QcepDataColumn > QcepDataColumnPtr
QSharedPointer< QcepIntegratedData > QcepIntegratedDataPtr
QcepDataObjectGraphControllerPtr m_Controller

Here is the call graph for this function:

Here is the caller graph for this function:

void QcepDataObjectGraphWindow::updateDisplay ( )
slot

Definition at line 273 of file qcepdataobjectgraphwindow.cpp.

References m_Controller.

Referenced by changeGraphMode(), and QcepDataObjectGraphWindow().

274 {
275  if (m_Controller) {
276  m_Controller->updateDisplay();
277  }
278 }
QcepDataObjectGraphControllerPtr m_Controller

Here is the caller graph for this function:

bool QcepDataObjectGraphWindow::wantToClose ( )

Definition at line 255 of file qcepdataobjectgraphwindow.cpp.

Referenced by closeEvent().

256 {
257  return QMessageBox::question(this, tr("Really Close?"),
258  tr("Do you really want to close the window %1 ?")
259  .arg(windowTitle()),
260  QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Ok;
261 }

Here is the caller graph for this function:

Member Data Documentation

QcepDataObjectGraphControllerPtr QcepDataObjectGraphWindow::m_Controller
private

Definition at line 53 of file qcepdataobjectgraphwindow.h.

Referenced by setGraphMode(), and updateDisplay().

QcepExperimentWPtr QcepDataObjectGraphWindow::m_Experiment
private

Definition at line 50 of file qcepdataobjectgraphwindow.h.

Referenced by experiment(), and QcepDataObjectGraphWindow().

QcepDataObjectWPtr QcepDataObjectGraphWindow::m_Object
private

Definition at line 51 of file qcepdataobjectgraphwindow.h.

Referenced by QcepDataObjectGraphWindow(), and setGraphMode().

int QcepDataObjectGraphWindow::m_PlottingMode
private

Definition at line 52 of file qcepdataobjectgraphwindow.h.

Referenced by changeGraphMode(), currentGraphMode(), and setGraphMode().

QcepSettingsSaverPtr QcepDataObjectGraphWindow::m_SettingsSaver
private

Definition at line 54 of file qcepdataobjectgraphwindow.h.

Referenced by QcepDataObjectGraphWindow().

Property Documentation

int QcepDataObjectGraphWindow::colorMap
readwrite

Definition at line 69 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histABottom
readwrite

Definition at line 114 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histALeft
readwrite

Definition at line 105 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histARight
readwrite

Definition at line 111 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histATop
readwrite

Definition at line 108 of file qcepdataobjectgraphwindow.h.

bool QcepDataObjectGraphWindow::histAVis
readwrite

Definition at line 96 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histBBottom
readwrite

Definition at line 126 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histBLeft
readwrite

Definition at line 117 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histBRight
readwrite

Definition at line 123 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histBTop
readwrite

Definition at line 120 of file qcepdataobjectgraphwindow.h.

bool QcepDataObjectGraphWindow::histBVis
readwrite

Definition at line 99 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histCBottom
readwrite

Definition at line 138 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histCLeft
readwrite

Definition at line 129 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histCRight
readwrite

Definition at line 135 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::histCTop
readwrite

Definition at line 132 of file qcepdataobjectgraphwindow.h.

bool QcepDataObjectGraphWindow::histCVis
readwrite

Definition at line 102 of file qcepdataobjectgraphwindow.h.

bool QcepDataObjectGraphWindow::histFullVis
readwrite

Definition at line 93 of file qcepdataobjectgraphwindow.h.

double QcepDataObjectGraphWindow::maximumPct
readwrite

Definition at line 78 of file qcepdataobjectgraphwindow.h.

double QcepDataObjectGraphWindow::maximumPctle
readwrite

Definition at line 84 of file qcepdataobjectgraphwindow.h.

double QcepDataObjectGraphWindow::maximumVal
readwrite

Definition at line 90 of file qcepdataobjectgraphwindow.h.

double QcepDataObjectGraphWindow::minimumPct
readwrite

Definition at line 75 of file qcepdataobjectgraphwindow.h.

double QcepDataObjectGraphWindow::minimumPctle
readwrite

Definition at line 81 of file qcepdataobjectgraphwindow.h.

double QcepDataObjectGraphWindow::minimumVal
readwrite

Definition at line 87 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::scalingMode
readwrite

Definition at line 72 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::sliceHRepeats
readwrite

Definition at line 150 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::sliceHSkipped
readwrite

Definition at line 147 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::sliceHStart
readwrite

Definition at line 141 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::sliceHSummed
readwrite

Definition at line 144 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::sliceVRepeats
readwrite

Definition at line 162 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::sliceVSkipped
readwrite

Definition at line 159 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::sliceVStart
readwrite

Definition at line 153 of file qcepdataobjectgraphwindow.h.

int QcepDataObjectGraphWindow::sliceVSummed
readwrite

Definition at line 156 of file qcepdataobjectgraphwindow.h.


The documentation for this class was generated from the following files: