79 lines
1.9 KiB
C++

// SPDX-License-Identifier: LGPL-3.0-or-other
// Copyright (C) 2021 Contributors to the SLS Detector Package
#pragma once
#include "sls/Detector.h"
#include "ui_form_tab_plot.h"
namespace sls {
class qDrawPlot;
class qTabPlot : public QWidget, private Ui::TabPlotObject {
Q_OBJECT
public:
qTabPlot(QWidget *parent, Detector *detector, qDrawPlot *p);
~qTabPlot();
void SetScanArgument();
void Refresh();
private slots:
void SetPlot();
void Set1DPlotOptionsRight();
void Set1DPlotOptionsLeft();
void Set2DPlotOptionsRight();
void Set2DPlotOptionsLeft();
void EnablePersistency(bool enable);
void SetBinary();
void SetGapPixels(bool enable);
void SetTitles();
void isXMinModified();
void isXMaxModified();
void isYMinModified();
void isYMaxModified();
void isZMinModified();
void isZMaxModified();
void SetXRange();
void SetYRange();
void CheckAspectRatio();
void SetZRange();
void SetStreamingFrequency();
void SelectHwm(int value);
void SetHwm(int value);
signals:
void DisableZoomSignal(bool);
private:
void SetupWidgetWindow();
void Initialization();
bool VerifyGapPixelsAllowed();
void Select1DPlot(bool enable);
void GetGapPixels();
void GetStreamingFrequency();
void GetHwm();
void GetStreamingHwm();
void SetStreamingHwm(int value);
void GetReceivingHwm();
void SetReceivingHwm(int value);
void SetXYRange();
void MaintainAspectRatio(int dimension);
Detector *det;
qDrawPlot *plot;
bool is1d{false};
bool isGapPixelsAllowed{false};
/** default plot and axis titles */
static QString defaultPlotTitle;
static QString defaultHistXAxisTitle;
static QString defaultHistYAxisTitle;
static QString defaultImageXAxisTitle;
static QString defaultImageYAxisTitle;
static QString defaultImageZAxisTitle;
enum { SND_HWM, RX_HWM };
};
} // namespace sls