25 #include <QMouseEvent>
27 #include <QVBoxLayout>
33 return "IntensityDataCanvas/";
35 QString gradient_setting_name()
39 QString interpolation_setting_name()
48 , m_resetViewAction(nullptr)
49 , m_savePlotAction(nullptr)
51 setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
53 auto layout =
new QVBoxLayout;
55 layout->setSpacing(0);
77 return QSize(500, 400);
82 return QSize(128, 128);
104 if (event->button() == Qt::RightButton)
105 emit customContextMenuRequested(event->globalPos());
127 "x,y,z axes range will be set to default");
147 settings.setValue(interpolation_setting_name(),
intensityDataItem()->isInterpolated());
157 if (settings.contains(gradient_setting_name())) {
160 QString persistentGradient = settings.value(gradient_setting_name()).
toString();
161 if (combo.
getValue() != persistentGradient) {
162 combo.
setValue(settings.value(gradient_setting_name()).toString());
167 if (settings.contains(interpolation_setting_name())) {
168 bool value = settings.value(interpolation_setting_name()).toBool();
#define ASSERT(condition)
Defines class ColorMapCanvas.
Defines class ComboProperty.
Defines class ProjectManager.
Defines class IntensityDataCanvas.
Defines class IntensityDataFFTPresenter.
Defines class IntensityDataItem.
Defines class SavePlotAssistant.
static ProjectManager * projectManager()
The ColorMapCanvas class contains ColorMap for intensity data presentation, and provide control of fo...
void setStatusLabelEnabled(bool flag)
void setItem(SessionItem *intensityDataItem)
QCustomPlot * customPlot()
Custom property to define list of string values with multiple selections.
QVariant variant() const
Constructs variant enclosing given ComboProperty.
void setValue(const QString &name)
IntensityDataCanvas(QWidget *parent=0)
void setItem(SessionItem *intensityItem)
QAction * m_savePlotAction
QList< QAction * > actionList()
void onMousePress(QMouseEvent *event)
QSize minimumSizeHint() const
void onPropertyChanged(const QString &name)
Reads gradient/ interpolation settings from IntensityDataItem and writes to persistant project settin...
QAction * m_resetViewAction
void applyPersistentSettings()
Apply persistent settings (gradient, interpolation) to IntensityDataItem.
IntensityDataItem * intensityDataItem()
ColorMapCanvas * m_colorMap
static const QString P_GRADIENT
void resetView()
Set axes viewport to original data.
static const QString P_IS_INTERPOLATED
void setOnPropertyChange(std::function< void(QString)> f, const void *caller=0)
QString userExportDir() const
Returns directory name suitable for saving plots.
Assistant class which contains all logic for saving IntensityData to various formats from IntensityDa...
void savePlot(const QString &dirname, QCustomPlot *plot, OutputData< double > *output_data)
QVariant getItemValue(const QString &tag) const
Directly access value of item under given tag.
ModelMapper * mapper()
Returns the current model mapper of this item. Creates new one if necessary.
void setItemValue(const QString &tag, const QVariant &variant)
Directly set value of item under given tag.
QCPColorGradient getGradient(const QString &gradientName)
std::string toString(PyObject *obj)
Converts PyObject into string, if possible, or throws exception.
QString const & name(EShape k)