File indexing completed on 2024-04-28 07:32:12

0001 /*
0002     SPDX-FileCopyrightText: 2011 Rafał Kułaga <rl.kulaga@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef PWIZOBJECTSELECTION_H
0008 #define PWIZOBJECTSELECTION_H
0009 
0010 #include "ui_pwizobjectselection.h"
0011 
0012 class PrintingWizard;
0013 class SkyObject;
0014 
0015 /**
0016   * \class PWizObjectSelectionUI
0017   * \brief User interface for "Select observed object" step of the Printing Wizard.
0018   * \author Rafał Kułaga
0019   */
0020 class PWizObjectSelectionUI : public QFrame, public Ui::PWizObjectSelection
0021 {
0022     Q_OBJECT
0023   public:
0024     /**
0025           * \brief Constructor.
0026           */
0027     explicit PWizObjectSelectionUI(PrintingWizard *wizard, QWidget *parent = nullptr);
0028 
0029     /**
0030           * \brief Update UI elements for newly selected SkyObject.
0031           * \param obj Selected SkyObject.
0032           */
0033     void setSkyObject(SkyObject *obj);
0034 
0035     /**
0036           * \brief Static function: get QString with basic information about SkyObject.
0037           * \param obj Selected SkyObject.
0038           */
0039     static QString objectInfoString(SkyObject *obj);
0040 
0041   private slots:
0042     /**
0043           * \brief Slot: open "Find Object" dialog to select SkyObject.
0044           */
0045     void slotSelectFromList();
0046 
0047     /**
0048           * \brief Slot: enter object pointing mode to select SkyObject.
0049           */
0050     void slotPointObject();
0051 
0052     /**
0053           * \brief Slot: show "Details" window for selected object.
0054           */
0055     void slotShowDetails();
0056 
0057   private:
0058     PrintingWizard *m_ParentWizard;
0059 };
0060 
0061 #endif // PWIZOBJECTSELECTION_H