File Grid.hpp¶
Go to the documentation of this file
//
// SPDX-FileCopyrightText: 2026 Michal Grabarczyk
// SPDX-License-Identifier: GPL-3.0-only WITH Universal-FOSS-exception-1.0
//
// This file is also available under a separate commercial license.
// See COMMERCIAL-LICENSING.md for contact information.
//
#pragma once
#include "QAccelPlot/theme/ColorPalette.hpp"
#include <QColor>
#include <QObject>
#include <QtQml/qqmlregistration.h>
namespace QAccelPlot {
class Grid : public QObject {
Q_OBJECT
QML_ANONYMOUS
Q_PROPERTY(qreal gridLineWidth READ gridLineWidth WRITE setGridLineWidth NOTIFY gridLineWidthChanged)
Q_PROPERTY(qreal subGridLineWidth READ subGridLineWidth WRITE setSubGridLineWidth NOTIFY subGridLineWidthChanged)
Q_PROPERTY(QColor gridColor READ gridColor WRITE setGridColor NOTIFY gridColorChanged)
Q_PROPERTY(QColor subGridColor READ subGridColor WRITE setSubGridColor NOTIFY subGridColorChanged)
Q_PROPERTY(bool gridVisible READ gridVisible WRITE setGridVisible NOTIFY gridVisibleChanged)
Q_PROPERTY(bool subGridVisible READ subGridVisible WRITE setSubGridVisible NOTIFY subGridVisibleChanged)
Q_PROPERTY(bool gridHorizontalLinesVisible READ gridHorizontalLinesVisible WRITE setGridHorizontalLinesVisible NOTIFY gridHorizontalLinesVisibleChanged)
Q_PROPERTY(bool gridVerticalLinesVisible READ gridVerticalLinesVisible WRITE setGridVerticalLinesVisible NOTIFY gridVerticalLinesVisibleChanged)
Q_PROPERTY(bool subGridHorizontalLinesVisible READ subGridHorizontalLinesVisible WRITE setSubGridHorizontalLinesVisible NOTIFY
subGridHorizontalLinesVisibleChanged)
Q_PROPERTY(bool subGridVerticalLinesVisible READ subGridVerticalLinesVisible WRITE setSubGridVerticalLinesVisible NOTIFY subGridVerticalLinesVisibleChanged)
public:
explicit Grid(QObject* parent = nullptr);
qreal gridLineWidth() const;
void setGridLineWidth(qreal w);
qreal subGridLineWidth() const;
void setSubGridLineWidth(qreal w);
QColor gridColor() const;
void setGridColor(const QColor& c);
QColor subGridColor() const;
void setSubGridColor(const QColor& c);
bool gridVisible() const;
void setGridVisible(bool on);
bool subGridVisible() const;
void setSubGridVisible(bool on);
bool gridHorizontalLinesVisible() const;
void setGridHorizontalLinesVisible(bool on);
bool gridVerticalLinesVisible() const;
void setGridVerticalLinesVisible(bool on);
bool subGridHorizontalLinesVisible() const;
void setSubGridHorizontalLinesVisible(bool on);
bool subGridVerticalLinesVisible() const;
void setSubGridVerticalLinesVisible(bool on);
signals:
void gridLineWidthChanged();
void subGridLineWidthChanged();
void gridColorChanged();
void subGridColorChanged();
void gridVisibleChanged();
void subGridVisibleChanged();
void gridHorizontalLinesVisibleChanged();
void gridVerticalLinesVisibleChanged();
void subGridHorizontalLinesVisibleChanged();
void subGridVerticalLinesVisibleChanged();
private:
qreal gridLineWidth_{2.0};
qreal subGridLineWidth_{1.0};
QColor gridColor_{ColorPalette::dark().grid};
QColor subGridColor_{ColorPalette::dark().subGrid};
bool gridVisible_{true};
bool subGridVisible_{true};
bool gridHorizontalLinesVisible_{true};
bool gridVerticalLinesVisible_{true};
bool subGridHorizontalLinesVisible_{true};
bool subGridVerticalLinesVisible_{true};
};
} // namespace QAccelPlot