/***************************************************** ** ** PrintoutHelper --- writeBaseData ** ******************************************************/ void PrintoutHelper::writeBaseData( Table *table ) { wxString s; int line = 1; double thetime; Formatter *f = Formatter::get(); DataSet *ds = h->getDataSet(); Location *loc = ds->getLocation(); JDate *date = ds->getDate(); table->setHeader( 0, _( "Base Data" ), false, 1 ); table->setEntry( 0, line, _( "Name" )); table->setEntry( 1, line++, h->getHName() ); table->setEntry( 0, line, _( "Date" )); s << f->getDateStringFromJD( h->getJD() + ( loc->getTimeZone() + loc->getDST() )/24 ); table->setEntry( 1, line++, s ); table->setEntry( 0, line, _( "Local Time" )); thetime = a_red( getTimeFromJD( date->getJD()) + loc->getTimeZone() + loc->getDST(), 24 ); table->setEntry( 1, line++, f->getTimeFormatted( thetime )); table->setEntry( 0, line, _( "Location" )); table->setEntry( 1, line++, loc->getLocName() ); table->setEntry( 0, line, _( "Longitude" )); table->setEntry( 1, line++, f->getLongitudeFormatted( loc->getLongitude())); table->setEntry( 0, line, _( "Latitude" )); table->setEntry( 1, line++, f->getLatitudeFormatted( loc->getLatitude())); table->setEntry( 0, line, _( "Time Zone" )); double tz = loc->getTimeZone(); s.Printf( wxT( "%s %c%.1f" ), _( "UT" ), ( tz >= 0 ? '+' : '-' ), tz ); table->setEntry( 1, line++, s ); table->setEntry( 0, line, _( "DST" )); s.Printf( wxT( "%.1f" ), loc->getDST()); table->setEntry( 1, line++, s ); table->setEntry( 0, line, _( "UT" )); table->setEntry( 1, line++, f->getTimeFormatted( getTimeFromJD( h->getJD() ))); }
/***************************************************** ** ** GenericTableWriter --- writeCustomDataEntry ** ******************************************************/ void GenericTableWriter::writeCustomDataEntry( const uint &col, const uint &row, const TAB_CELL_TYPE &type ) { assert( table->getNbCols() > col ); assert( table->getNbRows() > row ); Formatter *f = Formatter::get(); DateTimeFormatter *df = DateTimeFormatter::get(); Lang lang; wxString s; switch( type ) { case TAB_CELL_NAME: table->setEntry( col, row, _( "Name" )); table->setEntry( col + 1, row, h->getHName() ); break; case TAB_CELL_FULL_DATE: { table->setEntry( col, row, _( "Date" )); Location *loc = h->getDataSet()->getLocation(); table->setEntry( col + 1, row, df->formatDateString( h->getJD(), loc->getTimeZone() + loc->getDST())); } break; case TAB_CELL_LOCAL_TIME: { table->setEntry( col, row, _( "Local Time" )); Location *loc = h->getDataSet()->getLocation(); table->setEntry( col + 1, row, f->getTimeFormatted( a_red( getTimeFromJD( h->getDataSet()->getDate()->getJD()) + loc->getTimeZone() + loc->getDST(), 24 ))); } break; case TAB_CELL_LOCATION_NAME: table->setEntry( col, row, _( "Location" )); table->setEntry( col + 1, row, h->getDataSet()->getLocation()->getLocName() ); break; case TAB_CELL_LOCATION_LONGITUDE: { table->setEntry( col, row, _( "Longitude" )); Location *loc = h->getDataSet()->getLocation(); table->setEntry( col + 1, row, f->getLongitudeFormatted( loc->getLongitude())); } break; case TAB_CELL_LOCATION_LATITUDE: { table->setEntry( col, row, _( "Latitude" )); Location *loc = h->getDataSet()->getLocation(); table->setEntry( col + 1, row, f->getLatitudeFormatted( loc->getLatitude())); } break; case TAB_CELL_TZ_NAME: { table->setEntry( col, row, _( "Time Zone" )); Location *loc = h->getDataSet()->getLocation(); const double tz = loc->getTimeZone(); table->setEntry( col + 1, row, wxString::Format( wxT( "%s %c%.1f" ), _( "UT" ), ( tz >= 0 ? '+' : ' ' ), tz )); } break; case TAB_CELL_DST: { table->setEntry( col, row, _( "Daylight Saving" )); Location *loc = h->getDataSet()->getLocation(); table->setEntry( col + 1, row, wxString::Format( wxT( "%.1f" ), loc->getDST())); } break; case TAB_CELL_UNIVERSAL_TIME: table->setEntry( col, row, _( "Universal Time" )); table->setEntry( col + 1, row, f->getTimeFormatted( getTimeFromJD( h->getJD() ))); break; case TAB_CELL_SIDEREAL_TIME: table->setEntry( col, row, _( "Sidereal Time" )); table->setEntry( col + 1, row, f->getTimeFormatted( h->getSiderealTime())); break; case TAB_CELL_JULIAN_DATE: table->setEntry( col, row, _( "Julian Date" )); table->setEntry( col + 1, row, wxString::Format( wxT( "%8.5f" ), h->getJD())); break; case TAB_CELL_SUNRISE: { table->setEntry( col, row, _( "Sunrise" )); Location *loc = h->getLocation(); if ( h->getSunrise() != 0 ) { s = f->getTimeFormatted( getTimeFromJD( h->getSunrise() + ( loc->getTimeZone() + loc->getDST()) / 24.0 )); } else s = _( "n.a." ); table->setEntry( col + 1, row, s ); } break; case TAB_CELL_SUNSET: { table->setEntry( col, row, _( "Sunset" )); Location *loc = h->getLocation(); if ( h->getSunset() != 0 ) { s = f->getTimeFormatted( getTimeFromJD( h->getSunset() + ( loc->getTimeZone() + loc->getDST()) / 24.0 )); } else s = _( "n.a." ); table->setEntry( col + 1, row, s ); } break; case TAB_CELL_VEDIC_AYANAMSA: table->setEntry( col, row, _( "Vedic Ayanamsa" )); table->setEntry( col + 1, row, f->getAyanamsaNameAndValue( h->getAyanamsaType( true ), h->getAyanamsa( true ))); break; case TAB_CELL_WESTERN_AYANAMSA: table->setEntry( col, row, _( "Western Ayanamsa" )); table->setEntry( col + 1, row, f->getAyanamsaNameAndValue( h->getAyanamsaType( false ), h->getAyanamsa( false ))); break; case TAB_CELL_VARNA: table->setEntry( col, row, _( "Varna" )); table->setEntry( col + 1, row, lang.getVarnaName( getVarna( h->getVedicLongitude( OMOON )))); break; case TAB_CELL_GANA: table->setEntry( col, row, _( "Gana" )); table->setEntry( col + 1, row, lang.getGanaName( NakshatraExpert().getGana( h->getVedicLongitude( OMOON )))); break; case TAB_CELL_YONI: { Yoni yoni = NakshatraExpert().getYoni( h->getVedicLongitude( OMOON )); table->setEntry( col, row, _( "Yoni" )); table->setEntry( col + 1, row, yoni.name ); } break; case TAB_CELL_NADI: table->setEntry( col, row, _( "Nadi" )); table->setEntry( col + 1, row, lang.getNadiName( NakshatraExpert().getNadi( h->getVedicLongitude( OMOON )))); break; case TAB_CELL_RAJJU: { Rajju rajju = NakshatraExpert().getRajju( getNakshatra27( h->getVedicLongitude( OMOON ))); table->setEntry( col, row, _( "Rajju" )); table->setEntry( col + 1, row, lang.getRajjuName( rajju.aroha, rajju.type )); } break; case TAB_CELL_INCFLUENCE_TIME: { DasaExpert *expert = DasaExpertFactory().getDasaExpert( D_VIMSOTTARI, h ); table->setEntry( col, row, _( "Influence" )); table->setEntry( col + 1, row, expert->getDasaLordNameF( expert->getBirthMahaDasaLord(), TF_LONG )); } break; case TAB_CELL_LUNAR_TITHI: { double angle = red_deg( h->getVedicLongitude( OMOON ) - h->getVedicLongitude( OSUN )); table->setEntry( col, row, _( "Lunar Tithi" )); table->setEntry( col + 1, row, lang.getTithiName( angle / 12 )); } break; case TAB_CELL_WEEKDAY: table->setEntry( col, row, _( "Weekday" )); table->setEntry( col + 1, row, lang.getWeekdayName( h->getDataSet()->getWeekDay() )); break; case TAB_CELL_HORA_LORD: case TAB_CELL_DINA_LORD: case TAB_CELL_MASA_LORD: case TAB_CELL_VARSHA_LORD: writeHoraEntry( col, row, type ); break; default: table->setEntry( col, row, wxString::Format( wxT( "Error, wrong custom data entry id %d" ), (int)type )); break; }; }
/***************************************************** ** ** TextHelper --- writeBaseData ** ******************************************************/ void TextHelper::writeBaseData() { wxString s; double time; Formatter *f = Formatter::get(); Lang lang; DataSet *ds = horoscope->getDataSet(); Location *loc = ds->getLocation(); JDate *date = ds->getDate(); if ( show_header ) writer->writeHeader1( _( "Base Data" )); Table table( 2, 17 ); int line = 0; table.setEntry( 0, line, _( "Name" )); table.setEntry( 1, line++, horoscope->getHName() ); table.setEntry( 0, line, _( "Date" )); s << f->getDateStringFromJD( horoscope->getJD() + ( loc->getTimeZone() + loc->getDST() )/24 ) << wxT( " " ) << lang.getWeekdayName( ds->getWeekDay() ); table.setEntry( 1, line++, s ); table.setEntry( 0, line, _( "Local Time" )); time = a_red( getTimeFromJD( date->getJD()) + loc->getTimeZone() + loc->getDST(), 24 ); table.setEntry( 1, line++, f->getTimeFormatted( time )); table.setEntry( 0, line, _( "Location" )); table.setEntry( 1, line++, loc->getLocName() ); table.setEntry( 0, line, _( "Longitude" )); table.setEntry( 1, line++, f->getLongitudeFormatted( loc->getLongitude())); table.setEntry( 0, line, _( "Latitude" )); table.setEntry( 1, line++, f->getLatitudeFormatted( loc->getLatitude())); table.setEntry( 0, line, _( "Time Zone" )); double tz = loc->getTimeZone(); s.Printf( wxT( "%s %c%.1f %s" ), _( "UT" ), ( tz >= 0 ? '+' : ' ' ), tz, _( "Hours" )); table.setEntry( 1, line++, s ); table.setEntry( 0, line, _( "Daylight Saving" )); s.Printf( wxT( "%.1f %s" ), loc->getDST(), _( "Hours" )); table.setEntry( 1, line++, s ); table.setEntry( 0, line, _( "Universal Time" )); table.setEntry( 1, line++, f->getTimeFormatted( getTimeFromJD( horoscope->getJD() ))); table.setEntry( 0, line, _( "Sidereal Time" )); table.setEntry( 1, line++, f->getTimeFormatted( horoscope->getSiderealTime())); table.setEntry( 0, line, _( "Julian Date" )); s.Printf( wxT( "%8.5f" ), horoscope->getJD()); table.setEntry( 1, line++, s ); table.setEntry( 0, line, _( "Vedic Ayanamsa" )); table.setEntry( 1, line++, lang.getAyanamsaName( horoscope->getAyanamsaType( true ) )); table.setEntry( 0, line, _( "Ayanamsa Value" )); table.setEntry( 1, line++, f->getDegreesFormatted( horoscope->getAyanamsa( true ))); table.setEntry( 0, line, _( "Western Ayanamsa" )); table.setEntry( 1, line++, lang.getAyanamsaName( horoscope->getAyanamsaType( false ))); table.setEntry( 0, line, _( "Ayanamsa Value" )); table.setEntry( 1, line++, f->getDegreesFormatted( horoscope->getAyanamsa( false ))); table.setEntry( 0, line, _( "Sunrise" )); if ( horoscope->getSunrise() != 0 ) s = f->getFullDateStringFromJD( horoscope->getSunrise() + ( loc->getTimeZone() + loc->getDST() ) / 24.0 ); else s = _( "n.a." ); table.setEntry( 1, line++, s ); table.setEntry( 0, line, _( "Sunset" )); if ( horoscope->getSunset() != 0 ) s = f->getFullDateStringFromJD( horoscope->getSunset() + ( loc->getTimeZone() + loc->getDST() ) / 24.0 ); else s = _( "n.a." ); table.setEntry( 1, line++, s ); writer->writeTable( table ); }