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 };