/ src / sat-pass-dialogs.h
sat-pass-dialogs.h
  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