File indexing completed on 2025-01-26 05:19:14

0001 /* Atelier KDE Printer Host for 3D Printing
0002     Copyright (C) <2018>
0003     Author: Kevin Ottens - ervin@kde.org
0004 
0005     This program is free software; you can redistribute it and/or
0006     modify it under the terms of the GNU General Public License as
0007     published by the Free Software Foundation; either version 3 of
0008     the License or any later version accepted by the membership of
0009     KDE e.V. (or its successor approved by the membership of KDE
0010     e.V.), which shall act as a proxy defined in Section 14 of
0011     version 3 of the license.
0012 
0013     This program is distributed in the hope that it will be useful,
0014     but WITHOUT ANY WARRANTY; without even the implied warranty of
0015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0016     GNU General Public License for more details.
0017 
0018     You should have received a copy of the GNU General Public License
0019     along with this program.  If not, see <http://www.gnu.org/licenses/>.
0020 */
0021 
0022 #pragma once
0023 
0024 #include <QObject>
0025 
0026 class BedProperties : public QObject
0027 {
0028     Q_OBJECT
0029     Q_PROPERTY(int width READ width NOTIFY widthChanged)
0030     Q_PROPERTY(int depth READ depth NOTIFY depthChanged)
0031 public:
0032     explicit BedProperties(QObject *parent = nullptr);
0033     ~BedProperties() = default;
0034 
0035     int width() const;
0036     int depth() const;
0037 
0038 signals:
0039     void widthChanged(int width);
0040     void depthChanged(int depth);
0041 
0042 private:
0043     void updateBedSize(const QSize &size);
0044 
0045     int m_width;
0046     int m_depth;
0047 };