Kstars

fovdialog.h
1 /*
2  SPDX-FileCopyrightText: 2003 Jason Harris <[email protected]>
3 
4  SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #ifndef FOVDIALOG_H_
8 #define FOVDIALOG_H_
9 
10 #include <QPaintEvent>
11 #include <QDialog>
12 #include <QDoubleSpinBox>
13 
14 #include "fov.h"
15 #include "ui_fovdialog.h"
16 #include "ui_newfov.h"
17 
18 class FOVDialogUI : public QFrame, public Ui::FOVDialog
19 {
20  Q_OBJECT
21  public:
22  explicit FOVDialogUI(QWidget *parent = nullptr);
23 };
24 
25 class NewFOVUI : public QFrame, public Ui::NewFOV
26 {
27  Q_OBJECT
28  public:
29  explicit NewFOVUI(QWidget *parent = nullptr);
30 };
31 
32 /** @class FOVDialog
33  * FOVDialog is dialog to select a Field-of-View indicator (or create a new one)
34  *@author Jason Harris
35  *@version 1.0
36  */
37 class FOVDialog : public QDialog
38 {
39  Q_OBJECT
40  public:
41  explicit FOVDialog(QWidget *parent = nullptr);
42  ~FOVDialog() override;
43  private slots:
44  void slotNewFOV();
45  void slotEditFOV();
46  void slotRemoveFOV();
47  void slotSelect(int);
48 
49  private:
50  /** Add new widget to list box */
51  QListWidgetItem *addListWidget(FOV *f);
52 
53  unsigned int currentItem() const;
54  FOVDialogUI *fov;
55  static int fovID;
56 };
57 
58 /** @class NewFOV
59  * Dialog for defining a new FOV symbol
60  *@author Jason Harris
61  *@version 1.0
62  */
63 class NewFOV : public QDialog
64 {
65  Q_OBJECT
66  public:
67  /** Create new dialog
68  * @param parent parent widget
69  * @param fov widget to copy data from. If it's empty will create empty one.
70  */
71  explicit NewFOV(QWidget *parent = nullptr, const FOV *fov = nullptr);
72  ~NewFOV() override = default;
73  /** Return reference to FOV. */
74  const FOV &getFOV() const
75  {
76  return f;
77  }
78 
79  public slots:
80  void slotBinocularFOVDistanceChanged(int index);
81  void slotUpdateFOV();
82  void slotComputeFOV();
83  void slotEyepieceAFOVChanged(int index);
84  void slotComputeTelescopeFL();
85  void slotDetectFromINDI();
86 
87  private:
88  FOV f;
89  NewFOVUI *ui;
90  QPushButton *okB;
91 };
92 
93 /**
94  *@class TelescopeFL
95  *Dialog for calculating telescope focal length from f-number and diameter
96  *@author Akarsh Simha
97  *@version 1.0
98  */
99 
100 class TelescopeFL : public QDialog
101 {
102  Q_OBJECT
103  public:
104  /**
105  * Create a telescope focal length dialog
106  * @param parent parent widget
107  */
108  explicit TelescopeFL(QWidget *parent = nullptr);
109 
110  ~TelescopeFL() override = default;
111 
112  /**
113  * Compute and return the focal length in mm
114  * @return focal length in mm
115  */
116  double computeFL() const;
117 
118  private:
119  QDoubleSpinBox *aperture, *fNumber;
120  QComboBox *apertureUnit;
121 };
122 
123 #endif
Q_OBJECTQ_OBJECT
Definition: fov.h:27
double computeFL() const
Compute and return the focal length in mm.
Definition: fovdialog.cpp:431
NewFOV(QWidget *parent=nullptr, const FOV *fov=nullptr)
Create new dialog.
Definition: fovdialog.cpp:176
TelescopeFL(QWidget *parent=nullptr)
Create a telescope focal length dialog.
Definition: fovdialog.cpp:395
QObject * parent() const const
const FOV & getFOV() const
Return reference to FOV.
Definition: fovdialog.h:74
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Dec 5 2023 03:58:27 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.