File indexing completed on 2024-03-24 15:17:39

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 #pragma once
0008 
0009 #include "kstarsdocument.h"
0010 
0011 class QString;
0012 class QRectF;
0013 class QImage;
0014 
0015 class LoggingForm;
0016 class DetailsTable;
0017 class KStarsDateTime;
0018 class GeoLocation;
0019 
0020 /**
0021   * @class FinderChart
0022   * @brief Class that represents finder chart document.
0023   * FinderChart class is a subclass of KStarsDocument class, representing finder chart.
0024   * Finder chart can contain following elements: title, subtitle, description, logging forms,
0025   * images and details tables.
0026   *
0027   * @author Rafał Kułaga
0028   */
0029 class FinderChart : public KStarsDocument
0030 {
0031   public:
0032     /** Constructor */
0033     FinderChart();
0034 
0035     /**
0036      * @brief Insert title and subtitle to the finder chart.
0037      * @param title Title.
0038      * @param subtitle Subtitle.
0039      */
0040     void insertTitleSubtitle(const QString &title, const QString &subtitle);
0041 
0042     /**
0043      * @brief Insert description to the finder chart.
0044      * @param description Description text.
0045      */
0046     void insertDescription(const QString &description);
0047 
0048     /**
0049      * @brief Insert details about date&time and geographic location.
0050      * @param ut Date and time.
0051      * @param geo Geographic location.
0052      */
0053     void insertGeoTimeInfo(const KStarsDateTime &ut, GeoLocation *geo);
0054 
0055     /**
0056      * @brief Insert logging form to the finder chart.
0057      * @param log Logging form to be inserted.
0058      */
0059     void insertLoggingForm(LoggingForm *log);
0060 
0061     /**
0062      * @brief Insert image to the finder chart.
0063      * @param img Image to be inserted.
0064      * @param description Description of the image.s
0065      * @param descriptionBelow True if description should be placed below image.
0066      */
0067     void insertImage(const QImage &img, const QString &description, bool descriptionBelow = true);
0068 
0069     /**
0070      * @brief Insert details table to the finder chart.
0071      * @param table Details table to be inserted.
0072      */
0073     void insertDetailsTable(DetailsTable *table);
0074 
0075     /**
0076      * @brief Insert section title to the finder chart.
0077      * @param title Section title.
0078      */
0079     void insertSectionTitle(const QString &title);
0080 };