26 #include <QVBoxLayout>
32 , m_intensityDataItem(nullptr)
36 setObjectName(
"MaskEditorCanvas");
37 setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
39 auto* mainLayout =
new QVBoxLayout;
40 mainLayout->addWidget(
m_view);
42 mainLayout->setMargin(0);
43 mainLayout->setSpacing(0);
44 setLayout(mainLayout);
88 for (
MaskItem* mask : container->maskItems())
89 mask->setIsVisibleValue(isVisible);
133 if (
auto* roiItem = maskContainer->regionOfInterestItem()) {
Defines class IntensityDataItem.
Defines class MaskEditorCanvas.
Defines class MaskGraphicsScene.
Defines class MaskGraphicsView.
Defines MaskItems classes.
Defines class MaskResultsPresenter.
Defines class PlotStatusLabel.
Defines class ProjectDocument.
Defines class SavePlotAssistant.
SessionData * gSessionData
global pointer to the single instance
Defines struct SessionData.
QCustomPlot * customPlot() override
Datafield * getDatafield()
void setLowerX(double value)
MaskContainerItem * maskContainerItem()
double xMin() const
Returns min and max range of x-axis as given by IntensityData.
void setLowerY(double value)
double getLowerY() const
Returns lower and upper zoom ranges of y-axis.
void resetView()
Set axes viewport to original data.
void setUpperX(double value)
void setUpperY(double value)
double getLowerX() const
Returns lower and upper zoom ranges of x-axis.
double yMin() const
Returns min and max range of y-axis as given by IntensityData.
Container holding various masks as children.
void deleteSelectedRequest()
void onSavePlotRequest()
Saves plot into project directory.
MaskGraphicsView * m_view
bool isAxisRangeMatchData() const
Returns true if IntensityData is currently at 100% zoom level.
PlotStatusLabel * m_statusLabel
void changeActivityRequest(MaskEditorFlags::Activity)
void onResetViewRequest()
MaskGraphicsScene * getScene()
void onPresentationTypeRequest(MaskEditorFlags::PresentationType presentationType)
MaskResultsPresenter * m_resultsPresenter
IntensityDataItem * m_intensityDataItem
void setSelectionModel(QItemSelectionModel *model)
MaskGraphicsScene * m_scene
void setMaskContext(SessionModel *model, const QModelIndex &maskContainerIndex, IntensityDataItem *intensityItem)
MaskEditorCanvas(QWidget *parent=nullptr)
Graphics scene for MaskEditorCanvas to draw masks on top of intensity data widgets.
void setSelectionModel(QItemSelectionModel *model)
void setMaskContext(SessionModel *model, const QModelIndex &maskContainerIndex, IntensityDataItem *intensityItem)
Graphics view for MaskEditorCanvas.
void changeActivityRequest(MaskEditorFlags::Activity)
void updateSize(const QSize &newSize)
void deleteSelectedRequest()
void onResetViewRequest()
Reset given view to original zoom state. Also asks graphics scene to do the same with color map.
A base class for all mask items.
Updates bin values inside IntensityData to display current mask state. Returns IntensityData to origi...
void setMaskContext(SessionModel *maskModel, const QModelIndex &maskContainerIndex, IntensityDataItem *intensityItem)
void updatePresenter(MaskEditorFlags::PresentationType presentationType)
The PlotStatusLabel class shows status string as reported by DescriptedPlot in a frame....
void reset()
Disconnects all color maps from the label.
void addPlot(ScientificPlot *plot)
Base class for a GUI data collection. A collection is e.g. all real data (RealDataModel)....
void savePlot(const QString &dirname, QCustomPlot *plot, Datafield *output_data)
std::optional< ProjectDocument * > projectDocument