1 /* 2 Gpredict: Real-time satellite tracking and orbit prediction program 3 4 Copyright (C) 2001-2009 Alexandru Csete, OZ9AEC. 5 6 Authors: Alexandru Csete <oz9aec@gmail.com> 7 8 Comments, questions and bugreports should be submitted via 9 http://sourceforge.net/projects/gpredict/ 10 More details can be found at the project home page: 11 12 http://gpredict.oz9aec.net/ 13 14 This program is free software; you can redistribute it and/or modify 15 it under the terms of the GNU General Public License as published by 16 the Free Software Foundation; either version 2 of the License, or 17 (at your option) any later version. 18 19 This program is distributed in the hope that it will be useful, 20 but WITHOUT ANY WARRANTY; without even the implied warranty of 21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 GNU General Public License for more details. 23 24 You should have received a copy of the GNU General Public License 25 along with this program; if not, visit http://www.fsf.org/ 26 */ 27 #ifndef SAT_PASS_DIALOGS_H 28 #define SAT_PASS_DIALOGS_H 1 29 30 #include <glib.h> 31 #include <gtk/gtk.h> 32 33 #include "gtk-sat-data.h" 34 #include "predict-tools.h" 35 36 /** Column definitions for multi-pass listings. */ 37 typedef enum { 38 MULTI_PASS_COL_AOS_TIME = 0, /*!< AOS time. */ 39 MULTI_PASS_COL_TCA, /*!< Time of closest approach. */ 40 MULTI_PASS_COL_LOS_TIME, /*!< LOS time. */ 41 MULTI_PASS_COL_DURATION, /*!< Duration. */ 42 MULTI_PASS_COL_MAX_EL, /*!< Maximum elevation. */ 43 MULTI_PASS_COL_AOS_AZ, /*!< Azimuth at AOS. */ 44 MULTI_PASS_COL_MAX_EL_AZ, /*!< Azimuth at max el. */ 45 MULTI_PASS_COL_LOS_AZ, /*!< Azimuth at LOS. */ 46 MULTI_PASS_COL_ORBIT, /*!< Orbit number. */ 47 MULTI_PASS_COL_VIS, /*!< Visibility. */ 48 MULTI_PASS_COL_NUMBER 49 } multi_pass_col_t; 50 51 /** Column flags for multi-pass listings. */ 52 typedef enum { 53 MULTI_PASS_FLAG_AOS_TIME = 1 << MULTI_PASS_COL_AOS_TIME, /*!< AOS time. */ 54 MULTI_PASS_FLAG_TCA = 1 << MULTI_PASS_COL_TCA, /*!< Time of closest approach. */ 55 MULTI_PASS_FLAG_LOS_TIME = 1 << MULTI_PASS_COL_LOS_TIME, /*!< LOS time. */ 56 MULTI_PASS_FLAG_DURATION = 1 << MULTI_PASS_COL_DURATION, /*!< Duration. */ 57 MULTI_PASS_FLAG_MAX_EL = 1 << MULTI_PASS_COL_MAX_EL, /*!< Maximum elevation. */ 58 MULTI_PASS_FLAG_AOS_AZ = 1 << MULTI_PASS_COL_AOS_AZ, /*!< Azimuth at AOS. */ 59 MULTI_PASS_FLAG_MAX_EL_AZ = 1 << MULTI_PASS_COL_MAX_EL_AZ, /*!< Azimuth at max el. */ 60 MULTI_PASS_FLAG_LOS_AZ = 1 << MULTI_PASS_COL_LOS_AZ, /*!< Azimuth at LOS. */ 61 MULTI_PASS_FLAG_ORBIT = 1 << MULTI_PASS_COL_ORBIT, /*!< Orbit number. */ 62 MULTI_PASS_FLAG_VIS = 1 << MULTI_PASS_COL_VIS /*!< Visibility. */ 63 } multi_pass_flag_t; 64 65 /** Column definition for single-pass listings. */ 66 typedef enum { 67 SINGLE_PASS_COL_TIME = 0, 68 SINGLE_PASS_COL_AZ, /*!< Azimuth. */ 69 SINGLE_PASS_COL_EL, /*!< Elvation. */ 70 SINGLE_PASS_COL_RA, /*!< Right Ascension. */ 71 SINGLE_PASS_COL_DEC, /*!< Declination. */ 72 SINGLE_PASS_COL_RANGE, /*!< Range. */ 73 SINGLE_PASS_COL_RANGE_RATE, /*!< Range rate. */ 74 SINGLE_PASS_COL_LAT, /*!< Latitude. */ 75 SINGLE_PASS_COL_LON, /*!< Longitude. */ 76 SINGLE_PASS_COL_SSP, /*!< Sub satellite point grid square */ 77 SINGLE_PASS_COL_FOOTPRINT, /*!< Footprint. */ 78 SINGLE_PASS_COL_ALT, /*!< Altitude. */ 79 SINGLE_PASS_COL_VEL, /*!< Velocity. */ 80 SINGLE_PASS_COL_DOPPLER, /*!< Doppler shift at 100 MHz. */ 81 SINGLE_PASS_COL_LOSS, /*!< Path Loss at 100 MHz. */ 82 SINGLE_PASS_COL_DELAY, /*!< Signal delay */ 83 SINGLE_PASS_COL_MA, /*!< Mean Anomaly. */ 84 SINGLE_PASS_COL_PHASE, /*!< Phase. */ 85 SINGLE_PASS_COL_VIS, /*!< Visibility. */ 86 SINGLE_PASS_COL_NUMBER 87 } single_pass_col_t; 88 89 /** Column flags for single-pass listings. */ 90 typedef enum { 91 SINGLE_PASS_FLAG_TIME = 1 << SINGLE_PASS_COL_TIME, 92 SINGLE_PASS_FLAG_AZ = 1 << SINGLE_PASS_COL_AZ, /*!< Azimuth. */ 93 SINGLE_PASS_FLAG_EL = 1 << SINGLE_PASS_COL_EL, /*!< Elvation. */ 94 SINGLE_PASS_FLAG_RA = 1 << SINGLE_PASS_COL_RA, /*!< Right Ascension. */ 95 SINGLE_PASS_FLAG_DEC = 1 << SINGLE_PASS_COL_DEC, /*!< Declination. */ 96 SINGLE_PASS_FLAG_RANGE = 1 << SINGLE_PASS_COL_RANGE, /*!< Range. */ 97 SINGLE_PASS_FLAG_RANGE_RATE = 1 << SINGLE_PASS_COL_RANGE_RATE, /*!< Range rate. */ 98 SINGLE_PASS_FLAG_LAT = 1 << SINGLE_PASS_COL_LAT, /*!< Latitude. */ 99 SINGLE_PASS_FLAG_LON = 1 << SINGLE_PASS_COL_LON, /*!< Longitude. */ 100 SINGLE_PASS_FLAG_SSP = 1 << SINGLE_PASS_COL_SSP, /*!< Sub satellite point grid square */ 101 SINGLE_PASS_FLAG_FOOTPRINT = 1 << SINGLE_PASS_COL_FOOTPRINT, /*!< Footprint. */ 102 SINGLE_PASS_FLAG_ALT = 1 << SINGLE_PASS_COL_ALT, /*!< Altitude. */ 103 SINGLE_PASS_FLAG_VEL = 1 << SINGLE_PASS_COL_VEL, /*!< Velocity. */ 104 SINGLE_PASS_FLAG_DOPPLER = 1 << SINGLE_PASS_COL_DOPPLER, /*!< Doppler shift at 100 MHz. */ 105 SINGLE_PASS_FLAG_LOSS = 1 << SINGLE_PASS_COL_LOSS, /*!< Path Loss at 100 MHz. */ 106 SINGLE_PASS_FLAG_DELAY = 1 << SINGLE_PASS_COL_DELAY, /*!< Signal delay */ 107 SINGLE_PASS_FLAG_MA = 1 << SINGLE_PASS_COL_MA, /*!< Mean Anomaly. */ 108 SINGLE_PASS_FLAG_PHASE = 1 << SINGLE_PASS_COL_PHASE, /*!< Phase. */ 109 SINGLE_PASS_FLAG_VIS = 1 << SINGLE_PASS_COL_VIS /*!< Visibility. */ 110 } single_pass_flag_t; 111 112 void show_pass(const gchar * satname, qth_t * qth, pass_t * pass, 113 GtkWidget * toplevel); 114 void show_passes(const gchar * satname, qth_t * qth, 115 GSList * passes, GtkWidget * toplevel); 116 117 #endif 118