File indexing completed on 2024-03-24 15:18:14

0001 /*
0002     SPDX-FileCopyrightText: 2007 Jason Harris <kstars@30doradus.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "fovwidget.h"
0008 
0009 #include "fov.h"
0010 #include "dialogs/fovdialog.h"
0011 
0012 #include <QPainter>
0013 #include <QPaintEvent>
0014 
0015 FOVWidget::FOVWidget(QWidget *parent) : QFrame(parent), m_FOV(nullptr)
0016 {
0017 }
0018 
0019 void FOVWidget::setFOV(FOV *f)
0020 {
0021     m_FOV = f;
0022 }
0023 
0024 void FOVWidget::paintEvent(QPaintEvent *)
0025 {
0026     QPainter p;
0027     p.begin(this);
0028     p.setRenderHint(QPainter::Antialiasing, true);
0029     p.fillRect(contentsRect(), QColor("black"));
0030 
0031     if (m_FOV && m_FOV->sizeX() > 0 && m_FOV->sizeY() > 0)
0032     {
0033         m_FOV->draw(p, 0.6 * contentsRect().width(), 0.6 * contentsRect().height());
0034         QFont smallFont = p.font();
0035         smallFont.setPointSize(p.font().pointSize() - 2);
0036         p.setFont(smallFont);
0037         // TODO: Check if decimal points in this are localized (eg: It should read 1,5 x 1,5 in German rather than 1.5 x 1.5)
0038         p.drawText(rect(), Qt::AlignHCenter | Qt::AlignBottom,
0039                    i18nc("angular size in arcminutes", "%1 x %2 arcmin", QString::number(m_FOV->sizeX(), 'f', 1),
0040                          QString::number(m_FOV->sizeY(), 'f', 1)));
0041     }
0042 
0043     p.end();
0044 }