• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kstars

  • sources
  • kde-4.12
  • kdeedu
  • kstars
  • kstars
kstarsdcop.cpp
Go to the documentation of this file.
1 
2 /***************************************************************************
3  kstarsdcop.cpp - description
4  -------------------
5  begin : Son Apr 7 2002
6  copyright : (C) 2002 by Thomas Kabelmann
7  email : tk78@gmx.de
8  ***************************************************************************/
9 
10 /***************************************************************************
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  ***************************************************************************/
18 
19 //KStars DCOP functions
20 
21 #include <QDir>
22 #include <QPixmap>
23 #include <QKeySequence>
24 #include <QPainter>
25 //QPRINTER_FOR_NOW
26 #include <QPrinter>
27 #include <QPrintDialog>
28 #include <QSvgGenerator>
29 #include <QXmlStreamWriter>
30 
31 //QPRINTER_FOR_NOW
32 //#include <kprinter.h>
33 #include <kdeprintdialog.h>
34 #include <kpushbutton.h>
35 #include <klineedit.h>
36 #include <knuminput.h>
37 #include <kactioncollection.h>
38 
39 #include "colorscheme.h"
40 #include "kstars.h"
41 #include "kstarsdata.h"
42 #include "ksutils.h"
43 #include "skymap.h"
44 #include "skyobjects/skyobject.h"
45 #include "skyobjects/ksplanetbase.h"
46 #include "skycomponents/skymapcomposite.h"
47 #include "simclock.h"
48 #include "Options.h"
49 #include "imageexporter.h"
50 #include "skycomponents/constellationboundarylines.h"
51 
52 // INDI includes
53 #include <config-kstars.h>
54 
55 /*#ifdef HAVE_INDI_H
56 #include "indi/indidriver.h"
57 #include "indi/indimenu.h"
58 #include "indi/indielement.h"
59 #include "indi/indidevice.h"
60 #include "indi/indiproperty.h"
61 #include "indi/devicemanager.h"
62 #endif*/
63 
64 void KStars::setRaDec( double ra, double dec ) {
65  SkyPoint p( ra, dec );
66  map()->setDestination( p );
67 }
68 
69 void KStars::setAltAz( double alt, double az ) {
70  map()->setDestinationAltAz( dms(alt), dms(az) );
71 }
72 
73 void KStars::lookTowards ( const QString &direction ) {
74  QString dir = direction.toLower();
75  if (dir == "zenith" || dir=="z") {
76  actionCollection()->action("zenith")->trigger();
77  } else if (dir == "north" || dir=="n") {
78  actionCollection()->action("north")->trigger();
79  } else if (dir == "east" || dir=="e") {
80  actionCollection()->action("east")->trigger();
81  } else if (dir == "south" || dir=="s") {
82  actionCollection()->action("south")->trigger();
83  } else if (dir == "west" || dir=="w") {
84  actionCollection()->action("west")->trigger();
85  } else if (dir == "northeast" || dir=="ne") {
86  map()->stopTracking();
87  map()->clickedPoint()->setAlt( 15.0 ); map()->clickedPoint()->setAz( 45.0 );
88  map()->clickedPoint()->HorizontalToEquatorial( data()->lst(), data()->geo()->lat() );
89  map()->slotCenter();
90  } else if (dir == "southeast" || dir=="se") {
91  map()->stopTracking();
92  map()->clickedPoint()->setAlt( 15.0 ); map()->clickedPoint()->setAz( 135.0 );
93  map()->clickedPoint()->HorizontalToEquatorial( data()->lst(), data()->geo()->lat() );
94  map()->slotCenter();
95  } else if (dir == "southwest" || dir=="sw") {
96  map()->stopTracking();
97  map()->clickedPoint()->setAlt( 15.0 ); map()->clickedPoint()->setAz( 225.0 );
98  map()->clickedPoint()->HorizontalToEquatorial( data()->lst(), data()->geo()->lat() );
99  map()->slotCenter();
100  } else if (dir == "northwest" || dir=="nw") {
101  map()->stopTracking();
102  map()->clickedPoint()->setAlt( 15.0 ); map()->clickedPoint()->setAz( 315.0 );
103  map()->clickedPoint()->HorizontalToEquatorial( data()->lst(), data()->geo()->lat() );
104  map()->slotCenter();
105  } else {
106  SkyObject *target = data()->objectNamed( direction );
107  if ( target != NULL ) {
108  map()->setClickedObject( target );
109  map()->setClickedPoint( target );
110  map()->slotCenter();
111  }
112  }
113 }
114 
115 void KStars::addLabel( const QString &name ) {
116  SkyObject *target = data()->objectNamed( name );
117  if ( target != NULL ) {
118  data()->skyComposite()->addNameLabel( target );
119  map()->forceUpdate();
120  }
121 }
122 
123 void KStars::removeLabel( const QString &name ) {
124  SkyObject *target = data()->objectNamed( name );
125  if ( target != NULL ) {
126  data()->skyComposite()->removeNameLabel( target );
127  map()->forceUpdate();
128  }
129 }
130 
131 void KStars::addTrail( const QString &name ) {
132  TrailObject *target = dynamic_cast<TrailObject*>( data()->objectNamed( name ) );
133  if( target ) {
134  target->addToTrail();
135  map()->forceUpdate();
136  }
137 }
138 
139 void KStars::removeTrail( const QString &name ) {
140  TrailObject *target = dynamic_cast<TrailObject*>( data()->objectNamed( name ) );
141  if ( target ) {
142  target->clearTrail();
143  map()->forceUpdate();
144  }
145 }
146 
147 void KStars::zoom( double z ) {
148  map()->setZoomFactor( z );
149 }
150 
151 void KStars::zoomIn() {
152  map()->slotZoomIn();
153 }
154 
155 void KStars::zoomOut() {
156  map()->slotZoomOut();
157 }
158 
159 void KStars::defaultZoom() {
160  map()->slotZoomDefault();
161 }
162 
163 void KStars::setLocalTime(int yr, int mth, int day, int hr, int min, int sec) {
164  data()->changeDateTime( data()->geo()->LTtoUT( KStarsDateTime( QDate(yr, mth, day), QTime(hr,min,sec) ) ) );
165 }
166 
167 void KStars::waitFor( double sec ) {
168  QTime tm;
169  tm.start();
170  while ( tm.elapsed() < int( 1000.*sec ) ) { qApp->processEvents(); }
171 }
172 
173 void KStars::waitForKey( const QString &k ) {
174  data()->resumeKey = QKeySequence::fromString( k );
175  if ( ! data()->resumeKey.isEmpty() ) {
176  //When the resumeKey is pressed, resumeKey is set to empty
177  while ( !data()->resumeKey.isEmpty() )
178  qApp->processEvents();
179  } else {
180  kDebug() << i18n( "Error [D-Bus waitForKey()]: Invalid key requested." );
181  }
182 }
183 
184 void KStars::setTracking( bool track ) {
185  if ( track != Options::isTracking() ) slotTrack();
186 }
187 
188 void KStars::popupMessage( int /*x*/, int /*y*/, const QString& /*message*/ ){
189  //Show a small popup window at (x,y) with a text message
190 }
191 
192 void KStars::drawLine( int /*x1*/, int /*y1*/, int /*x2*/, int /*y2*/, int /*speed*/ ) {
193  //Draw a line on the skymap display
194 }
195 
196 void KStars::setGeoLocation( const QString &city, const QString &province, const QString &country ) {
197  //Set the geographic location
198  bool cityFound( false );
199 
200  foreach ( GeoLocation *loc, data()->geoList ) {
201  if ( loc->translatedName() == city &&
202  ( province.isEmpty() || loc->translatedProvince() == province ) &&
203  loc->translatedCountry() == country ) {
204 
205  cityFound = true;
206 
207  data()->setLocation( *loc );
208 
209  //configure time zone rule
210  KStarsDateTime ltime = loc->UTtoLT( data()->ut() );
211  loc->tzrule()->reset_with_ltime( ltime, loc->TZ0(), data()->isTimeRunningForward() );
212  data()->setNextDSTChange( loc->tzrule()->nextDSTChange() );
213 
214  //reset LST
215  data()->syncLST();
216 
217  //make sure planets, etc. are updated immediately
218  data()->setFullTimeUpdate();
219 
220  // If the sky is in Horizontal mode and not tracking, reset focus such that
221  // Alt/Az remain constant.
222  if ( ! Options::isTracking() && Options::useAltAz() ) {
223  map()->focus()->HorizontalToEquatorial( data()->lst(), data()->geo()->lat() );
224  }
225 
226  // recalculate new times and objects
227  data()->setSnapNextFocus();
228  updateTime();
229 
230  //no need to keep looking, we're done.
231  break;
232  }
233  }
234 
235  if ( !cityFound ) {
236  if ( province.isEmpty() )
237  kDebug() << i18n( "Error [D-Bus setGeoLocation]: city %1, %2 not found in database.",
238  city, country );
239  else
240  kDebug() << i18n( "Error [D-Bus setGeoLocation]: city %1, %2, %3 not found in database.",
241  city, province, country );
242  }
243 }
244 
245 void KStars::readConfig() {
246  //Load config file values into Options object
247  Options::self()->readConfig();
248 
249  applyConfig();
250 
251  //Reset date, if one was stored
252  if ( data()->StoredDate.isValid() ) {
253  data()->changeDateTime( data()->geo()->LTtoUT( data()->StoredDate ) );
254  data()->StoredDate = KDateTime(); //invalidate StoredDate
255  }
256 
257  map()->forceUpdate();
258 }
259 
260 void KStars::writeConfig() {
261  Options::self()->writeConfig();
262 
263  //Store current simulation time
264  data()->StoredDate = data()->lt();
265 }
266 
267 QString KStars::getOption( const QString &name ) {
268  //Some config items are not stored in the Options object while
269  //the program is running; catch these here and returntheir current value.
270  if ( name == "FocusRA" ) { return QString::number( map()->focus()->ra().Hours(), 'f', 6 ); }
271  if ( name == "FocusDec" ) { return QString::number( map()->focus()->dec().Degrees(), 'f', 6 ); }
272 
273  KConfigSkeletonItem *it = Options::self()->findItem( name );
274  if ( it ) return it->property().toString();
275  else return QString();
276 }
277 
278 void KStars::changeViewOption( const QString &op, const QString &val ) {
279  bool bOk(false), dOk(false);
280 
281  //parse bool value
282  bool bVal(false);
283  if ( val.toLower() == "true" ) { bOk = true; bVal = true; }
284  if ( val.toLower() == "false" ) { bOk = true; bVal = false; }
285  if ( val == "1" ) { bOk = true; bVal = true; }
286  if ( val == "0" ) { bOk = true; bVal = false; }
287 
288  //parse double value
289  double dVal = val.toDouble( &dOk );
290 
291  //[GUI]
292  if ( op == "ShowInfoBoxes" && bOk ) Options::setShowInfoBoxes( bVal );
293  if ( op == "ShowTimeBox" && bOk ) Options::setShowTimeBox( bVal );
294  if ( op == "ShowGeoBox" && bOk ) Options::setShowGeoBox( bVal );
295  if ( op == "ShowFocusBox" && bOk ) Options::setShowFocusBox( bVal );
296  if ( op == "ShadeTimeBox" && bOk ) Options::setShadeTimeBox( bVal );
297  if ( op == "ShadeGeoBox" && bOk ) Options::setShadeGeoBox( bVal );
298  if ( op == "ShadeFocusBox" && bOk ) Options::setShadeFocusBox( bVal );
299 
300  //[View]
301  // FIXME: REGRESSION
302 // if ( op == "FOVName" ) Options::setFOVName( val );
303 // if ( op == "FOVSizeX" && dOk ) Options::setFOVSizeX( (float)dVal );
304 // if ( op == "FOVSizeY" && dOk ) Options::setFOVSizeY( (float)dVal );
305 // if ( op == "FOVShape" && nOk ) Options::setFOVShape( nVal );
306 // if ( op == "FOVColor" ) Options::setFOVColor( val );
307  if ( op == "ShowStars" && bOk ) Options::setShowStars( bVal );
308  if ( op == "ShowMessier" && bOk ) Options::setShowMessier( bVal );
309  if ( op == "ShowMessierImages" && bOk ) Options::setShowMessierImages( bVal );
310  if ( op == "ShowNGC" && bOk ) Options::setShowNGC( bVal );
311  if ( op == "ShowIC" && bOk ) Options::setShowIC( bVal );
312  if ( op == "ShowCLines" && bOk ) Options::setShowCLines( bVal );
313  if ( op == "ShowCBounds" && bOk ) Options::setShowCBounds( bVal );
314  if ( op == "ShowCNames" && bOk ) Options::setShowCNames( bVal );
315  if ( op == "ShowMilkyWay" && bOk ) Options::setShowMilkyWay( bVal );
316  if ( op == "AutoSelectGrid" && bOk ) Options::setAutoSelectGrid( bVal );
317  if ( op == "ShowEquatorialGrid" && bOk ) Options::setShowEquatorialGrid( bVal );
318  if ( op == "ShowHorizontalGrid" && bOk ) Options::setShowHorizontalGrid( bVal );
319  if ( op == "ShowEquator" && bOk ) Options::setShowEquator( bVal );
320  if ( op == "ShowEcliptic" && bOk ) Options::setShowEcliptic( bVal );
321  if ( op == "ShowHorizon" && bOk ) Options::setShowHorizon( bVal );
322  if ( op == "ShowGround" && bOk ) Options::setShowGround( bVal );
323  if ( op == "ShowSun" && bOk ) Options::setShowSun( bVal );
324  if ( op == "ShowMoon" && bOk ) Options::setShowMoon( bVal );
325  if ( op == "ShowMercury" && bOk ) Options::setShowMercury( bVal );
326  if ( op == "ShowVenus" && bOk ) Options::setShowVenus( bVal );
327  if ( op == "ShowMars" && bOk ) Options::setShowMars( bVal );
328  if ( op == "ShowJupiter" && bOk ) Options::setShowJupiter( bVal );
329  if ( op == "ShowSaturn" && bOk ) Options::setShowSaturn( bVal );
330  if ( op == "ShowUranus" && bOk ) Options::setShowUranus( bVal );
331  if ( op == "ShowNeptune" && bOk ) Options::setShowNeptune( bVal );
332  if ( op == "ShowPluto" && bOk ) Options::setShowPluto( bVal );
333  if ( op == "ShowAsteroids" && bOk ) Options::setShowAsteroids( bVal );
334  if ( op == "ShowComets" && bOk ) Options::setShowComets( bVal );
335  if ( op == "ShowSolarSystem" && bOk ) Options::setShowSolarSystem( bVal );
336  if ( op == "ShowDeepSky" && bOk ) Options::setShowDeepSky( bVal );
337  if ( op == "ShowSupernovae" && bOk ) Options::setShowSupernovae( bVal );
338  if ( op == "ShowStarNames" && bOk ) Options::setShowStarNames( bVal );
339  if ( op == "ShowStarMagnitudes" && bOk ) Options::setShowStarMagnitudes( bVal );
340  if ( op == "ShowAsteroidNames" && bOk ) Options::setShowAsteroidNames( bVal );
341  if ( op == "ShowCometNames" && bOk ) Options::setShowCometNames( bVal );
342  if ( op == "ShowPlanetNames" && bOk ) Options::setShowPlanetNames( bVal );
343  if ( op == "ShowPlanetImages" && bOk ) Options::setShowPlanetImages( bVal );
344  if ( op == "HideOnSlew" && bOk ) Options::setHideOnSlew( bVal );
345  if ( op == "ObsListSaveImage" && bOk ) Options::setObsListSaveImage( bVal );
346  if ( op == "HideStars" && bOk ) Options::setHideStars( bVal );
347  if ( op == "HidePlanets" && bOk ) Options::setHidePlanets( bVal );
348  if ( op == "HideMessier" && bOk ) Options::setHideMessier( bVal );
349  if ( op == "HideNGC" && bOk ) Options::setHideNGC( bVal );
350  if ( op == "HideIC" && bOk ) Options::setHideIC( bVal );
351  if ( op == "HideMilkyWay" && bOk ) Options::setHideMilkyWay( bVal );
352  if ( op == "HideCNames" && bOk ) Options::setHideCNames( bVal );
353  if ( op == "HideCLines" && bOk ) Options::setHideCLines( bVal );
354  if ( op == "HideCBounds" && bOk ) Options::setHideCBounds( bVal );
355  if ( op == "HideGrids" && bOk ) Options::setHideGrids( bVal );
356  if ( op == "HideLabels" && bOk ) Options::setHideLabels( bVal );
357 
358  if ( op == "UseAltAz" && bOk ) Options::setUseAltAz( bVal );
359  if ( op == "UseRefraction" && bOk ) Options::setUseRefraction( bVal );
360  if ( op == "UseAutoLabel" && bOk ) Options::setUseAutoLabel( bVal );
361  if ( op == "UseHoverLabel" && bOk ) Options::setUseHoverLabel( bVal );
362  if ( op == "UseAutoTrail" && bOk ) Options::setUseAutoTrail( bVal );
363  if ( op == "UseAnimatedSlewing" && bOk ) Options::setUseAnimatedSlewing( bVal );
364  if ( op == "FadePlanetTrails" && bOk ) Options::setFadePlanetTrails( bVal );
365  if ( op == "SlewTimeScale" && dOk ) Options::setSlewTimeScale( dVal );
366  if ( op == "ZoomFactor" && dOk ) Options::setZoomFactor( dVal );
367  // if ( op == "MagLimitDrawStar" && dOk ) Options::setMagLimitDrawStar( dVal );
368  if ( op == "MagLimitDrawDeepSky" && dOk ) Options::setMagLimitDrawDeepSky( dVal );
369  if ( op == "StarDensity" && dOk ) Options::setStarDensity( dVal );
370  // if ( op == "MagLimitDrawStarZoomOut" && dOk ) Options::setMagLimitDrawStarZoomOut( dVal );
371  if ( op == "MagLimitDrawDeepSkyZoomOut" && dOk ) Options::setMagLimitDrawDeepSkyZoomOut( dVal );
372  if ( op == "StarLabelDensity" && dOk ) Options::setStarLabelDensity( dVal );
373  if ( op == "MagLimitHideStar" && dOk ) Options::setMagLimitHideStar( dVal );
374  if ( op == "MagLimitAsteroid" && dOk ) Options::setMagLimitAsteroid( dVal );
375  if ( op == "AsteroidLabelDensity" && dOk ) Options::setAsteroidLabelDensity( dVal );
376  if ( op == "MaxRadCometName" && dOk ) Options::setMaxRadCometName( dVal );
377 
378  //these three are a "radio group"
379  if ( op == "UseLatinConstellationNames" && bOk ) {
380  Options::setUseLatinConstellNames( true );
381  Options::setUseLocalConstellNames( false );
382  Options::setUseAbbrevConstellNames( false );
383  }
384  if ( op == "UseLocalConstellationNames" && bOk ) {
385  Options::setUseLatinConstellNames( false );
386  Options::setUseLocalConstellNames( true );
387  Options::setUseAbbrevConstellNames( false );
388  }
389  if ( op == "UseAbbrevConstellationNames" && bOk ) {
390  Options::setUseLatinConstellNames( false );
391  Options::setUseLocalConstellNames( false );
392  Options::setUseAbbrevConstellNames( true );
393  }
394 
395  map()->forceUpdate();
396 }
397 
398 void KStars::setColor( const QString &name, const QString &value ) {
399  ColorScheme *cs = data()->colorScheme();
400  if ( cs->hasColorNamed( name ) ) {
401  cs->setColor( name, value );
402  map()->forceUpdate();
403  }
404 }
405 
406 void KStars::loadColorScheme( const QString &name ) {
407  bool ok = data()->colorScheme()->load( name );
408  QString filename = data()->colorScheme()->fileName();
409 
410  if ( ok ) {
411  //set the application colors for the Night Vision scheme
412  if ( Options::darkAppColors() == false && filename == "night.colors" ) {
413  Options::setDarkAppColors( true );
414  OriginalPalette = QApplication::palette();
415  QApplication::setPalette( DarkPalette );
416  }
417 
418  if ( Options::darkAppColors() && filename != "night.colors" ) {
419  Options::setDarkAppColors( false );
420  QApplication::setPalette( OriginalPalette );
421  }
422 
423  Options::setColorSchemeFile( name );
424 
425  map()->forceUpdate();
426  }
427 }
428 
429 void KStars::exportImage( const QString &url, int w, int h, bool includeLegend ) {
430  if ( !imageExporter )
431  imageExporter = new ImageExporter( this );
432  if ( w <= 0 )
433  w = map()->width();
434  if ( h <= 0 )
435  h = map()->height();
436  imageExporter->includeLegend( includeLegend );
437  imageExporter->setRasterOutputSize( new QSize( w, h ) );
438  imageExporter->exportImage( url );
439 }
440 
441 QString KStars::getDSSURL( const QString &objectName ) {
442  SkyObject *target = data()->objectNamed( objectName );
443  if ( !target ) {
444  return QString( "ERROR" );
445  }
446  else {
447  return KSUtils::getDSSURL( target );
448  }
449 }
450 
451 QString KStars::getDSSURL( double RA_J2000, double Dec_J2000, float width, float height ) {
452  dms ra( RA_J2000 ), dec( Dec_J2000 );
453  return KSUtils::getDSSURL( ra, dec, width, height );
454 }
455 
456 QString KStars::getObjectDataXML( const QString &objectName ) {
457  SkyObject *target = data()->objectNamed( objectName );
458  if ( !target ) {
459  return QString( "<xml></xml>" );
460  }
461  QString output;
462  QXmlStreamWriter stream( &output );
463  stream.setAutoFormatting( true );
464  stream.writeStartDocument();
465  stream.writeStartElement( "object" );
466  stream.writeTextElement( "Name", target->name() );
467  stream.writeTextElement( "Alt_Name", target->name2() );
468  stream.writeTextElement( "Long_Name", target->longname() );
469  stream.writeTextElement( "Constellation", KStarsData::Instance()->skyComposite()->getConstellationBoundary()->constellationName( target ) );
470  stream.writeTextElement( "RA_HMS", target->ra().toHMSString() );
471  stream.writeTextElement( "Dec_DMS", target->dec().toDMSString() );
472  stream.writeTextElement( "RA_J2000_HMS", target->ra0().toHMSString() );
473  stream.writeTextElement( "Dec_J2000_DMS", target->dec0().toDMSString() );
474  stream.writeTextElement( "RA_Degrees", QString::number( target->ra().Degrees() ) );
475  stream.writeTextElement( "Dec_Degrees", QString::number( target->dec().Degrees() ) );
476  stream.writeTextElement( "RA_J2000_Degrees", QString::number( target->ra0().Degrees() ) );
477  stream.writeTextElement( "Dec_J2000_Degrees", QString::number( target->dec0().Degrees() ) );
478  stream.writeTextElement( "Type", target->typeName() );
479  stream.writeTextElement( "Magnitude", QString::number( target->mag(), 'g', 2 ) );
480  stream.writeTextElement( "Position_Angle", QString::number( target->pa(), 'g', 3 ) );
481  StarObject *star = dynamic_cast< StarObject* >( target );
482  DeepSkyObject *dso = dynamic_cast< DeepSkyObject* >( target );
483  if ( star ) {
484  stream.writeTextElement( "Spectral_Type", star->sptype() );
485  stream.writeTextElement( "Genetive_Name", star->gname() );
486  stream.writeTextElement( "Greek_Letter", star->greekLetter() );
487  stream.writeTextElement( "Proper_Motion", QString::number( star->pmMagnitude() ) );
488  stream.writeTextElement( "Proper_Motion_RA", QString::number( star->pmRA() ) );
489  stream.writeTextElement( "Proper_Motion_Dec", QString::number( star->pmDec() ) );
490  stream.writeTextElement( "Parallax_mas", QString::number( star->parallax() ) );
491  stream.writeTextElement( "Distance_pc", QString::number( star->distance() ) );
492  stream.writeTextElement( "Henry_Draper", QString::number( star->getHDIndex() ) );
493  stream.writeTextElement( "BV_Index", QString::number( star->getBVIndex() ) );
494  }
495  else if ( dso ) {
496  stream.writeTextElement( "Catalog", dso->catalog() );
497  stream.writeTextElement( "Major_Axis", QString::number( dso->a() ) );
498  stream.writeTextElement( "Minor_Axis", QString::number( dso->a() * dso->e() ) );
499  }
500  stream.writeEndElement(); // object
501  stream.writeEndDocument();
502  return output;
503 }
504 
505 QString KStars::getObservingWishListObjectNames() {
506  QString output;
507  foreach( const SkyObject *object, observingList()->obsList() ) {
508  output.append( object->name() + '\n' );
509  }
510  return output;
511 }
512 
513 QString KStars::getObservingSessionPlanObjectNames() {
514  QString output;
515  foreach( const SkyObject *object, observingList()->sessionList() ) {
516  output.append( object->name() + '\n' );
517  }
518  return output;
519 }
520 
521 void KStars::setApproxFOV( double FOV_Degrees ) {
522  zoom( map()->width() / ( FOV_Degrees * dms::DegToRad ) );
523 }
524 
525 QString KStars::getSkyMapDimensions() {
526  return ( QString::number( map()->width() ) + 'x' + QString::number( map()->height() ) );
527 }
528 void KStars::printImage( bool usePrintDialog, bool useChartColors ) {
529  //QPRINTER_FOR_NOW
530 // KPrinter printer( true, QPrinter::HighResolution );
531  QPrinter printer( QPrinter::HighResolution );
532  printer.setFullPage( false );
533 
534  //Set up the printer (either with the Print Dialog,
535  //or using the default settings)
536  bool ok( false );
537  if ( usePrintDialog ) {
538  //QPRINTER_FOR_NOW
539 // ok = printer.setup( this, i18n("Print Sky") );
540  QPrintDialog *dialog = KdePrint::createPrintDialog(&printer, this);
541  dialog->setWindowTitle( i18n("Print Sky") );
542  if ( dialog->exec() == QDialog::Accepted )
543  ok = true;
544  delete dialog;
545  } else {
546  //QPRINTER_FOR_NOW
547 // ok = printer.autoConfigure();
548  ok = true;
549  }
550 
551  if( ok ) {
552  QApplication::setOverrideCursor( Qt::WaitCursor );
553 
554  //Save current ColorScheme file name and switch to Star Chart
555  //scheme (if requested)
556  QString schemeName = data()->colorScheme()->fileName();
557  if ( useChartColors ) {
558  loadColorScheme( "chart.colors" );
559  }
560 
561  map()->setupProjector();
562  map()->exportSkyImage( &printer, true );
563 
564  //Restore old color scheme if necessary
565  //(if printing was aborted, the ColorScheme is still restored)
566  if ( useChartColors ) {
567  loadColorScheme( schemeName );
568  map()->forceUpdate();
569  }
570 
571  QApplication::restoreOverrideCursor();
572  }
573 }
574 
575 // TODO JM: INDI Scripting to be supported in KDE 4.1
576 #if 0
577 void KStars::startINDI (const QString &deviceName, bool useLocal)
578 {
579 
580  establishINDI();
581  QList<QTreeWidgetItem *> found;
582 
583  if (!indidriver || !indimenu)
584  {
585  kDebug() << "establishINDI() failed.";
586  return;
587  }
588  QTreeWidgetItem *driverItem = NULL;
589  found = indidriver->ui->localTreeWidget->findItems(deviceName, Qt::MatchExactly | Qt::MatchRecursive);
590 
591  if (found.empty())
592  {
593  kDebug() << "Device " << deviceName << " not found!";
594  return;
595  }
596 
597  driverItem = found.first();
598 
599  // If device is already running, we need to shut it down first
600  if (indidriver->isDeviceRunning(deviceName))
601  {
602  indidriver->ui->localTreeWidget->setCurrentItem(driverItem);
603  indidriver->processDeviceStatus(1);
604  }
605 
606  // Set custome label for device
607  indimenu->setCustomLabel(deviceName);
608  // Set DCOP device name
609  indimenu->setCurrentDevice(deviceName);
610 
611  // Select it
612  indidriver->ui->localTreeWidget->setCurrentItem(driverItem);
613 
614  // Start it either locally or as series
615  if (useLocal)
616  indidriver->ui->localR->setChecked(true);
617  else
618  indidriver->ui->serverR->setChecked(true);
619 
620  // Run it
621  indidriver->processDeviceStatus(0);
622 }
623 
624 void KStars::setINDIDevice (const QString &deviceName)
625 {
626 
627  if (!indidriver || !indimenu)
628  {
629  kDebug() << "establishINDI() failed.";
630  return;
631  }
632 
633  indimenu->setCurrentDevice(deviceName);
634 
635 }
636 
637 void KStars::shutdownINDI (const QString &deviceName)
638 {
639  QList<QTreeWidgetItem *> found;
640 
641  if (!indidriver || !indimenu)
642  {
643  kDebug() << "establishINDI() failed.";
644  return;
645  }
646 
647  QTreeWidgetItem *driverItem = NULL;
648  found = indidriver->ui->localTreeWidget->findItems(deviceName, Qt::MatchExactly | Qt::MatchRecursive);
649 
650  if (found.empty())
651  {
652  kDebug() << "Device " << deviceName << " not found!";
653  return;
654  }
655 
656  driverItem = found.first();
657 
658  indidriver->ui->localTreeWidget->setCurrentItem(driverItem);
659  indidriver->processDeviceStatus(1);
660 }
661 
662 
663 void KStars::switchINDI(bool turnOn)
664 {
665  INDI_D *dev;
666  INDI_P *prop;
667 
668  if (!indidriver || !indimenu)
669  {
670  kDebug() << "switchINDI: establishINDI() failed.";
671  return;
672  }
673 
674  dev = indimenu->findDevice(indimenu->getCurrentDevice());
675  if (!dev)
676  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
677  if (!dev)
678  {
679  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
680  return;
681  }
682 
683  if (turnOn && dev->isOn() || (!turnOn && !dev->isOn()))
684  return;
685 
686  prop = dev->findProp("CONNECTION");
687  if (!prop) return;
688 
689  if (turnOn)
690  prop->newSwitch(0);
691  else
692  prop->newSwitch(1);
693 
694 }
695 
696 
697 void KStars::setINDIPort(const QString &port)
698 {
699  INDI_D *dev;
700  INDI_P *prop;
701  INDI_E *el;
702 
703  if (!indidriver || !indimenu)
704  {
705  kDebug() << "setINDIPort: establishINDI() failed.";
706  return;
707  }
708 
709  dev = indimenu->findDevice(indimenu->getCurrentDevice());
710  if (!dev)
711  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
712  if (!dev)
713  {
714  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
715  return;
716  }
717 
718  prop = dev->findProp("DEVICE_PORT");
719  if (!prop) return;
720 
721  el = prop->findElement("PORT");
722 
723  if (!el || !el->write_w)
724  return;
725 
726  el->write_w->setText(port);
727 
728  prop->newText();
729 
730 }
731 
732 
733 void KStars::setINDITargetCoord(double RA, double DEC)
734 {
735  INDI_D *dev;
736  INDI_P *prop;
737  INDI_E *el;
738 
739  if (!indidriver || !indimenu)
740  {
741  kDebug() << "setINDITarget: establishINDI() failed.";
742  return;
743  }
744 
745  dev = indimenu->findDevice(indimenu->getCurrentDevice());
746  if (!dev)
747  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
748  if (!dev)
749  {
750  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
751  return;
752  }
753 
754  prop = dev->findProp("EQUATORIAL_EOD_COORD");
755  if (!prop) return;
756 
757  el = prop->findElement("RA");
758  if (!el) return;
759  if (!el->write_w) return;
760 
761  el->write_w->setText(QString::number(RA));
762 
763  el = prop->findElement("DEC");
764  if (!el) return;
765  if (!el->write_w) return;
766 
767  el->write_w->setText(QString::number(DEC));
768 
769  prop->newText();
770 
771 }
772 
773 
774 void KStars::setINDITargetName(const QString &objectName)
775 {
776  INDI_D *dev;
777  INDI_P *prop;
778  INDI_E *el;
779 
780  if (!indidriver || !indimenu) {
781  kDebug() << "setINDITarget: establishINDI() failed.";
782  return;
783  }
784 
785  SkyObject *target = data()->objectNamed( objectName );
786  if (!target) return;
787 
788  dev = indimenu->findDevice(indimenu->getCurrentDevice());
789  if (!dev)
790  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
791  if (!dev) {
792  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
793  return;
794  }
795 
796  prop = dev->findProp("EQUATORIAL_EOD_COORD");
797  if (!prop) return;
798 
799  el = prop->findElement("RA");
800  if( !el || !el->write_w)
801  return;
802  el->write_w->setText(QString::number(target->ra().Hours()));
803 
804  el = prop->findElement("DEC");
805  if( !el || !el->write_w)
806  return;
807  el->write_w->setText(QString::number(target->dec().Degrees()));
808 
809  prop->newText();
810 }
811 
812 
813 void KStars::setINDIAction(const QString &action)
814 {
815  INDI_D *dev;
816  INDI_E *el;
817 
818  if (!indidriver || !indimenu)
819  {
820  kDebug() << "setINDIAction: establishINDI() failed.";
821  return;
822  }
823 
824  dev = indimenu->findDevice(indimenu->getCurrentDevice());
825  if (!dev)
826  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
827  if (!dev) {
828  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
829  return;
830  }
831 
832  el = dev->findElem(action);
833  if( !el )
834  return;
835 
836  el->pp->activateSwitch(action);
837 
838 }
839 
840 //FIXME: DBUS: needs to be reimplemented without suspend/resume
841 void KStars::waitForINDIAction(const QString &action)
842 {
843  //
844  // INDI_D *dev;
845  // INDI_P *prop;
846  // INDI_E *el;
847  //
848  // if (!indidriver || !indimenu)
849  // {
850  // kDebug() << "waitForINDIAction: establishINDI() failed.";
851  // return;
852  // }
853  //
854  // dev = indimenu->findDevice(indimenu->getCurrentDevice());
855  // if (!dev)
856  // dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
857  // if (!dev)
858  // {
859  // kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
860  // return;
861  // }
862  //
863  // prop = dev->findProp(action);
864  //
865  // if (prop == NULL)
866  // {
867  // el = dev->findElem(action);
868  // if (!el) return;
869  //
870  // QObject::connect(el->pp, SIGNAL(okState()), this, SLOT(resumeDCOP(void )));
871  // }
872  // else
873  // QObject::connect(prop, SIGNAL(okState()), this, SLOT(resumeDCOP(void )));
874  //
875  // kapp->dcopClient()->suspend();
876  //
877 }
878 
879 
880 void KStars::setINDIFocusSpeed(unsigned int speed)
881 {
882  INDI_D *dev;
883  INDI_P *prop;
884  INDI_E *el;
885 
886  if (!indidriver || !indimenu)
887  {
888  kDebug() << "setINDIFocusSpeed: establishINDI() failed.";
889  return;
890  }
891 
892  dev = indimenu->findDevice(indimenu->getCurrentDevice());
893  if (!dev)
894  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
895  if (!dev)
896  {
897  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
898  return;
899  }
900 
901  prop = dev->findProp("FOCUS_SPEED");
902  if (!prop) return;
903 
904  el = prop->findElement("SPEED");
905  if (!el) return;
906  if (!el->write_w) return;
907 
908  el->write_w->setText(QString::number(speed));
909 
910  prop->newText();
911 
912 }
913 
914 
915 void KStars::startINDIFocus(int focusDir)
916 {
917  if (!indidriver || !indimenu)
918  {
919  kDebug() << "setINDIFocus: establishINDI() failed!";
920  return;
921  }
922 
923  if (focusDir == 0)
924  setINDIAction("IN");
925  else if (focusDir == 1)
926  setINDIAction("OUT");
927 
928 }
929 
930 
931 void KStars::setINDIGeoLocation(double longitude, double latitude)
932 {
933  INDI_D *dev;
934  INDI_P *prop;
935  INDI_E *el;
936 
937  if (!indidriver || !indimenu)
938  {
939  kDebug() << "setINDIGeoLocation: establishINDI() failed.";
940  return;
941  }
942 
943  dev = indimenu->findDevice(indimenu->getCurrentDevice());
944  if (!dev)
945  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
946  if (!dev)
947  {
948  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
949  return;
950  }
951 
952  prop = dev->findProp("GEOGRAPHICAL_COORD");
953  if (!prop) return;
954 
955  el = prop->findElement("LONG");
956  if (!el) return;
957  if (!el->write_w) return;
958 
959  el->write_w->setText(QString::number(longitude));
960 
961  el = prop->findElement("LAT");
962  if (!el) return;
963  if (!el->write_w) return;
964 
965  el->write_w->setText(QString::number(latitude));
966 
967  prop->newText();
968 
969 }
970 
971 
972 void KStars::setINDIFocusTimeout(int timeout)
973 {
974  INDI_D *dev;
975  INDI_P *prop;
976  INDI_E *el;
977 
978  if (!indidriver || !indimenu)
979  {
980  kDebug() << "startINDIFocus: establishINDI() failed.";
981  return;
982  }
983 
984  dev = indimenu->findDevice(indimenu->getCurrentDevice());
985  if (!dev)
986  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
987  if (!dev)
988  {
989  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
990  return;
991  }
992 
993  prop = dev->findProp("FOCUS_TIMEOUT");
994  if (!prop)
995  return;
996 
997  el = prop->findElement("TIMEOUT");
998  if (!el) return;
999 
1000  if (el->write_w)
1001  el->write_w->setText(QString::number(timeout));
1002  else if (el->spin_w)
1003  el->spin_w->setValue(timeout);
1004 
1005  prop->newText();
1006 
1007 }
1008 
1009 
1010 void KStars::startINDIExposure(int timeout)
1011 {
1012  INDI_D *dev;
1013  INDI_P *prop;
1014  INDI_E *el;
1015 
1016  if (!indidriver || !indimenu)
1017  {
1018  kDebug() << "startINDIExposure: establishINDI() failed.";
1019  return;
1020  }
1021 
1022  dev = indimenu->findDevice(indimenu->getCurrentDevice());
1023  if (!dev)
1024  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
1025  if (!dev)
1026  {
1027  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
1028  return;
1029  }
1030 
1031  prop = dev->findProp("CCD_EXPOSE_DURATION");
1032  if (!prop) return;
1033 
1034  el = prop->findElement("EXPOSE_DURATION");
1035  if (!el) return;
1036 
1037  if (el->write_w)
1038  el->write_w->setText(QString::number(timeout));
1039  else if (el->spin_w)
1040  el->spin_w->setValue(timeout);
1041 
1042 
1043  prop->newText();
1044 
1045 }
1046 
1047 void KStars::setINDIFilterNum(int filter_num)
1048 {
1049  INDI_D *dev;
1050  INDI_P *prop;
1051  INDI_E *el;
1052 
1053  if (!indidriver || !indimenu)
1054  {
1055  kDebug() << "setINDIFilterNum: establishINDI() failed.";
1056  return;
1057  }
1058 
1059  dev = indimenu->findDevice(indimenu->getCurrentDevice());
1060  if (!dev)
1061  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
1062  if (!dev)
1063  {
1064  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
1065  return;
1066  }
1067 
1068  prop = dev->findProp("FILTER_SLOT");
1069  if (!prop) return;
1070 
1071  el = prop->findElement("SLOT");
1072  if (!el) return;
1073 
1074  if (el->write_w)
1075  el->write_w->setText(QString::number(filter_num));
1076  else if (el->spin_w)
1077  el->spin_w->setValue(filter_num);
1078 
1079  prop->newText();
1080 
1081 }
1082 
1083 void KStars::setINDIUTC(const QString &UTCDateTime)
1084 {
1085  INDI_D *dev;
1086  INDI_P *prop;
1087  INDI_E *el;
1088 
1089  if (!indidriver || !indimenu)
1090  {
1091  kDebug() << "startINDIUTC: establishINDI() failed.";
1092  return;
1093  }
1094 
1095  dev = indimenu->findDevice(indimenu->getCurrentDevice());
1096  if (!dev)
1097  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
1098  if (!dev)
1099  {
1100  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
1101  return;
1102  }
1103 
1104  prop = dev->findProp("TIME_UTC");
1105  if (!prop) return;
1106 
1107  el = prop->findElement("UTC");
1108  if (!el) return;
1109  if (!el->write_w) return;
1110 
1111  el->write_w->setText(UTCDateTime);
1112 
1113  prop->newText();
1114 
1115 }
1116 
1117 void KStars::setINDIScopeAction(const QString &action)
1118 {
1119  setINDIAction(action);
1120 }
1121 
1122 void KStars::setINDIFrameType(const QString &type)
1123 {
1124  setINDIAction(type);
1125 }
1126 
1127 void KStars::setINDICCDTemp(int temp)
1128 {
1129  INDI_D *dev;
1130  INDI_P *prop;
1131  INDI_E *el;
1132 
1133  if (!indidriver || !indimenu)
1134  {
1135  kDebug() << "setINDICCDTemp: establishINDI() failed.";
1136  return;
1137  }
1138 
1139  dev = indimenu->findDevice(indimenu->getCurrentDevice());
1140  if (!dev)
1141  dev = indimenu->findDeviceByLabel(indimenu->getCurrentDevice());
1142  if (!dev)
1143  {
1144  kDebug() << "Device " << indimenu->getCurrentDevice() << " not found!";
1145  return;
1146  }
1147 
1148  prop = dev->findProp("CCD_TEMPERATURE");
1149  if (!prop) return;
1150 
1151  el = prop->findElement("TEMPERATURE");
1152  if (!el) return;
1153 
1154  if (el->write_w)
1155  el->write_w->setText(QString::number(temp));
1156  else if (el->spin_w)
1157  el->spin_w->setValue(temp);
1158 
1159 
1160  prop->newText();
1161 
1162 }
1163 #endif
1164 
Options::setHideIC
static void setHideIC(bool v)
Set Hide IC objects while moving?
Definition: Options.h:1217
Options::setShowStarNames
static void setShowStarNames(bool v)
Set Label star names in the sky map?
Definition: Options.h:2205
Options::setShowSupernovae
static void setShowSupernovae(bool v)
Set Draw supernovae in the sky map?
Definition: Options.h:1426
KStars::getDSSURL
Q_SCRIPTABLE QString getDSSURL(const QString &objectName)
DBUS interface function.
Definition: kstarsdcop.cpp:441
SkyMap::slotZoomIn
void slotZoomIn()
Zoom in one step.
Definition: skymap.cpp:964
Options::setShowJupiter
static void setShowJupiter(bool v)
Set Draw Jupiter in the sky map?
Definition: Options.h:2072
ksplanetbase.h
KStars::setTracking
Q_SCRIPTABLE Q_NOREPLY void setTracking(bool track)
DBUS interface function.
Definition: kstarsdcop.cpp:184
KStars::zoomIn
Q_SCRIPTABLE Q_NOREPLY void zoomIn()
DBUS interface function.
Definition: kstarsdcop.cpp:151
SkyPoint::ra
const dms & ra() const
Definition: skypoint.h:171
INDI_P
Definition: indiproperty.h:38
KStarsData::objectNamed
SkyObject * objectNamed(const QString &name)
Find object by name.
Definition: kstarsdata.cpp:345
Options::setHideMessier
static void setHideMessier(bool v)
Set Hide Messier objects while moving?
Definition: Options.h:1236
ImageExporter::exportImage
bool exportImage(QString url)
Exports an image with the defined settings.
Definition: imageexporter.cpp:182
SkyPoint::dec0
const dms & dec0() const
Definition: skypoint.h:168
Options::setMagLimitAsteroid
static void setMagLimitAsteroid(double v)
Set Faint limit for asteroids.
Definition: Options.h:2540
Options::setStarDensity
static void setStarDensity(int v)
Set Density of stars in the field of view.
Definition: Options.h:2616
Options::setHideGrids
static void setHideGrids(bool v)
Set Hide coordinate grids while moving?
Definition: Options.h:1179
Options::setShowMessier
static void setShowMessier(bool v)
Set Draw Messier objects in the sky map?
Definition: Options.h:1825
DeepSkyObject::catalog
QString catalog(void) const
Definition: deepskyobject.cpp:87
GeoLocation::translatedName
QString translatedName() const
Definition: geolocation.cpp:78
Options::setShowPlanetNames
static void setShowPlanetNames(bool v)
Set Label planet names in the sky map?
Definition: Options.h:1958
KStars::map
SkyMap * map() const
Definition: kstars.h:134
StarObject::getBVIndex
float getBVIndex() const
Definition: starobject.h:263
KStars::setGeoLocation
Q_SCRIPTABLE Q_NOREPLY void setGeoLocation(const QString &city, const QString &province, const QString &country)
DBUS interface function.
Definition: kstarsdcop.cpp:196
Options::setShadeGeoBox
static void setShadeGeoBox(bool v)
Set Is the geographic InfoBox in the "shaded" state?
Definition: Options.h:117
SkyMap::slotCenter
void slotCenter()
Center the display at the point ClickedPoint.
Definition: skymap.cpp:373
StarObject::sptype
QString sptype(void) const
Returns entire spectral type string.
Definition: starobject.cpp:340
Options::setUseHoverLabel
static void setUseHoverLabel(bool v)
Set Add temporary label on mouse hover?
Definition: Options.h:2433
KStarsData::colorScheme
ColorScheme * colorScheme()
Definition: kstarsdata.h:149
Options::darkAppColors
static bool darkAppColors()
Get Use Dark colors for KStars windows?
Definition: Options.h:2892
skyobject.h
Options::setFadePlanetTrails
static void setFadePlanetTrails(bool v)
Set Fade planet trails to background color?
Definition: Options.h:989
SkyMap::setDestination
void setDestination(const SkyPoint &f)
sets the destination point of the sky map.
Definition: skymap.cpp:812
KStars::drawLine
Q_SCRIPTABLE Q_NOREPLY void drawLine(int x1, int y1, int x2, int y2, int speed)
DBUS interface function.
Definition: kstarsdcop.cpp:192
SkyObject::longname
virtual QString longname(void) const
Definition: skyobject.h:140
Options::setDarkAppColors
static void setDarkAppColors(bool v)
Set Use Dark colors for KStars windows?
Definition: Options.h:2882
SkyMap::setClickedObject
void setClickedObject(SkyObject *o)
Set the ClickedObject pointer to the argument.
Definition: skymap.cpp:361
SkyPoint::setAz
void setAz(dms az)
Sets Az, the Azimuth.
Definition: skypoint.h:152
KStarsData::Instance
static KStarsData * Instance()
Definition: kstarsdata.h:92
dms::Degrees
const double & Degrees() const
Definition: dms.h:98
Options::setMagLimitDrawDeepSkyZoomOut
static void setMagLimitDrawDeepSkyZoomOut(double v)
Set Faint limit for deep-sky objects when zoomed out.
Definition: Options.h:2597
KStars::changeViewOption
Q_SCRIPTABLE Q_NOREPLY void changeViewOption(const QString &option, const QString &value)
DBUS interface function.
Definition: kstarsdcop.cpp:278
Options::setShowPluto
static void setShowPluto(bool v)
Set Draw Pluto in the sky map?
Definition: Options.h:2148
Options::setShowComets
static void setShowComets(bool v)
Set Draw comets in the sky map?
Definition: Options.h:1388
KStars::readConfig
Q_SCRIPTABLE Q_NOREPLY void readConfig()
DBUS interface function.
Definition: kstarsdcop.cpp:245
Options::setShowFocusBox
static void setShowFocusBox(bool v)
Set Display the focus InfoBox?
Definition: Options.h:174
SkyObject::pa
virtual double pa() const
Definition: skyobject.h:194
Options::setShowTimeBox
static void setShowTimeBox(bool v)
Set Display the time InfoBox?
Definition: Options.h:155
SkyMap::forceUpdate
void forceUpdate(bool now=false)
Recalculates the positions of objects in the sky, and then repaints the sky map.
Definition: skymap.cpp:985
INDI_E
Definition: indielement.h:44
Options::setHideLabels
static void setHideLabels(bool v)
Set Hide object name labels while moving?
Definition: Options.h:1331
ImageExporter
Backends for exporting a sky image, either raster or vector, with a legend.
Definition: imageexporter.h:35
KStarsData::setFullTimeUpdate
void setFullTimeUpdate()
The Sky is updated more frequently than the moon, which is updated more frequently than the planets...
Definition: kstarsdata.cpp:260
Options::isTracking
static bool isTracking()
Get Is tracking engaged?
Definition: Options.h:1075
Options::setShowUranus
static void setShowUranus(bool v)
Set Draw Uranus in the sky map?
Definition: Options.h:2110
StarObject::greekLetter
QString greekLetter(bool useGreekChars=true) const
Returns the greek letter portion of the star's genetive name.
Definition: starobject.cpp:356
GeoLocation::tzrule
TimeZoneRule * tzrule()
Definition: geolocation.h:124
SkyMap::setupProjector
void setupProjector()
Call to set up the projector before a draw cycle.
Definition: skymap.cpp:1010
SkyPoint::ra0
const dms & ra0() const
Definition: skypoint.h:165
Options::setShadeTimeBox
static void setShadeTimeBox(bool v)
Set Is the time InfoBox in the "shaded" state?
Definition: Options.h:79
SkyMap::stopTracking
void stopTracking()
Definition: skymapevents.cpp:374
Options::setShowCBounds
static void setShowCBounds(bool v)
Set Draw constellation boundaries in the sky map?
Definition: Options.h:1540
Options::setHideNGC
static void setHideNGC(bool v)
Set Hide NGC objects while moving?
Definition: Options.h:1255
KStars::setColor
Q_SCRIPTABLE Q_NOREPLY void setColor(const QString &colorName, const QString &value)
DBUS interface function.
Definition: kstarsdcop.cpp:398
KStars::setRaDec
Q_SCRIPTABLE Q_NOREPLY void setRaDec(double ra, double dec)
DBUS interface function.
Definition: kstarsdcop.cpp:64
Options::setUseAutoTrail
static void setUseAutoTrail(bool v)
Set Automatically add trail to centered solar system body?
Definition: Options.h:2414
TrailObject::clearTrail
void clearTrail()
clear the Trail
Definition: trailobject.cpp:66
Options::setHideMilkyWay
static void setHideMilkyWay(bool v)
Set Hide Milky Way contour while moving?
Definition: Options.h:1198
Options::setHidePlanets
static void setHidePlanets(bool v)
Set Hide solar system objects while moving?
Definition: Options.h:1293
Options::setHideCNames
static void setHideCNames(bool v)
Set Hide constellation names while moving?
Definition: Options.h:1160
GeoLocation::translatedProvince
QString translatedProvince() const
Definition: geolocation.cpp:88
KStars::lookTowards
Q_SCRIPTABLE Q_NOREPLY void lookTowards(const QString &direction)
DBUS interface function.
Definition: kstarsdcop.cpp:73
Options::setShowCLines
static void setShowCLines(bool v)
Set Draw constellation lines in the sky map?
Definition: Options.h:1578
Options::setHideCBounds
static void setHideCBounds(bool v)
Set Hide constellation boundaries while moving?
Definition: Options.h:1103
KStars::popupMessage
Q_SCRIPTABLE Q_NOREPLY void popupMessage(int x, int y, const QString &message)
DBUS interface function.
Definition: kstarsdcop.cpp:188
SkyPoint
The sky coordinates of a point in the sky.
Definition: skypoint.h:50
KStars::applyConfig
void applyConfig(bool doApplyFocus=true)
Apply config options throughout the program.
Definition: kstars.cpp:165
Options::setStarLabelDensity
static void setStarLabelDensity(double v)
Set Relative density for star name labels and/or magnitudes.
Definition: Options.h:2654
Options::setShowCNames
static void setShowCNames(bool v)
Set Draw constellation names in the sky map?
Definition: Options.h:1597
Options::setShowAsteroidNames
static void setShowAsteroidNames(bool v)
Set Label asteroid names in the sky map?
Definition: Options.h:1369
DeepSkyObject::a
float a() const
Definition: deepskyobject.h:132
Options::setUseAbbrevConstellNames
static void setUseAbbrevConstellNames(bool v)
Set Use abbreviated constellation names?
Definition: Options.h:2319
TimeZoneRule::nextDSTChange
KStarsDateTime nextDSTChange()
Definition: timezonerule.h:103
SkyMap::setZoomFactor
void setZoomFactor(double factor)
@ Set zoom factor.
Definition: skymap.cpp:976
Options::setUseLocalConstellNames
static void setUseLocalConstellNames(bool v)
Set Use localized constellation names?
Definition: Options.h:2357
TrailObject::addToTrail
void addToTrail()
adds a point to the planet's trail
Definition: trailobject.cpp:54
StarObject::distance
double distance() const
Definition: starobject.h:216
skymapcomposite.h
KStars::zoom
Q_SCRIPTABLE Q_NOREPLY void zoom(double z)
DBUS interface function.
Definition: kstarsdcop.cpp:147
KStarsData::lt
const KStarsDateTime & lt() const
Definition: kstarsdata.h:137
Options::setShowMilkyWay
static void setShowMilkyWay(bool v)
Set Draw Milky Way contour in the sky map?
Definition: Options.h:1882
INDI_D
Definition: indidevice.h:30
KStarsData::changeDateTime
void changeDateTime(const KStarsDateTime &newDate)
change the current simulation date/time to the KStarsDateTime argument.
Definition: kstarsdata.cpp:272
KStars::observingList
ObservingList * observingList() const
Definition: kstars.h:136
SkyMap::focus
SkyPoint * focus()
Retrieve the Focus point; the position on the sky at the center of the skymap.
Definition: skymap.h:120
GeoLocation
Contains all relevant information for specifying a location on Earth: City Name, State/Province name...
Definition: geolocation.h:39
Options::setShowHorizontalGrid
static void setShowHorizontalGrid(bool v)
Set Draw horizontal coordinate grid in the sky map?
Definition: Options.h:1711
KSUtils::getDSSURL
QString getDSSURL(const SkyPoint *const p)
Create a URL to obtain a DSS image for a given SkyPoint.
Options::setShowCometNames
static void setShowCometNames(bool v)
Set Label comet names in the sky map?
Definition: Options.h:1407
SkyMapComposite::addNameLabel
bool addNameLabel(SkyObject *o)
Definition: skymapcomposite.cpp:395
Options::setShadeFocusBox
static void setShadeFocusBox(bool v)
Set Is the focus InfoBox in the "shaded" state?
Definition: Options.h:98
Options::setMagLimitDrawDeepSky
static void setMagLimitDrawDeepSky(double v)
Set Faint limit for deep-sky objects.
Definition: Options.h:2578
Options::setSlewTimeScale
static void setSlewTimeScale(double v)
Set Minimum timescale for forced-slewing mode.
Definition: Options.h:2262
Options::setShowIC
static void setShowIC(bool v)
Set Draw IC objects in the sky map?
Definition: Options.h:1787
StarObject::getHDIndex
int getHDIndex() const
Definition: starobject.h:226
KStars::defaultZoom
Q_SCRIPTABLE Q_NOREPLY void defaultZoom()
DBUS interface function.
Definition: kstarsdcop.cpp:159
ColorScheme::hasColorNamed
bool hasColorNamed(const QString &name) const
Definition: colorscheme.h:46
Options::setColorSchemeFile
static void setColorSchemeFile(const QString &v)
Set The name of the color scheme.
Definition: Options.h:2863
Options::setObsListSaveImage
static void setObsListSaveImage(bool v)
Set Save the DSS/SDSS images to disk.
Definition: Options.h:2806
KStars::getOption
QString getOption(const QString &name)
DBUS interface function.
Definition: kstarsdcop.cpp:267
skymap.h
KStars::getSkyMapDimensions
Q_SCRIPTABLE QString getSkyMapDimensions()
DBUS interface function.
Definition: kstarsdcop.cpp:525
KStars::updateTime
void updateTime(const bool automaticDSTchange=true)
Update time-dependent data and (possibly) repaint the sky map.
Definition: kstars.cpp:334
KStars::writeConfig
Q_SCRIPTABLE Q_NOREPLY void writeConfig()
DBUS interface function.
Definition: kstarsdcop.cpp:260
SkyPoint::HorizontalToEquatorial
void HorizontalToEquatorial(const dms *LST, const dms *lat)
Determine the (RA, Dec) coordinates of the SkyPoint from its (Altitude, Azimuth) coordinates, given the local sidereal time and the observer's latitude.
Definition: skypoint.cpp:102
Options::setShowVenus
static void setShowVenus(bool v)
Set Draw Venus in the sky map?
Definition: Options.h:2034
Options::setHideCLines
static void setHideCLines(bool v)
Set Hide constellation lines while moving?
Definition: Options.h:1122
KStarsDateTime
Extension of KDateTime for KStars KStarsDateTime can represent the date/time as a Julian Day...
Definition: kstarsdatetime.h:45
Options::setShowSaturn
static void setShowSaturn(bool v)
Set Draw Saturn in the sky map?
Definition: Options.h:2091
ImageExporter::includeLegend
void includeLegend(bool include)
Include legend?
Definition: imageexporter.h:79
Options::setHideOnSlew
static void setHideOnSlew(bool v)
Set Hide objects while moving?
Definition: Options.h:1084
KStarsData::skyComposite
SkyMapComposite * skyComposite()
Definition: kstarsdata.h:146
Options::setUseAltAz
static void setUseAltAz(bool v)
Set Use horizontal coordinate system?
Definition: Options.h:2376
ColorScheme::load
bool load(const QString &filename)
Load a color scheme from a *.colors file filename the filename of the color scheme to be loaded...
Definition: colorscheme.cpp:130
ColorScheme
This class stores all of the adjustable colors in KStars, in a QMap object keyed by the names of the ...
Definition: colorscheme.h:38
dms
An angle, stored as degrees, but expressible in many ways.
Definition: dms.h:42
KStars::exportImage
Q_SCRIPTABLE Q_NOREPLY void exportImage(const QString &filename, int width=-1, int height=-1, bool includeLegend=false)
DBUS interface function.
Definition: kstarsdcop.cpp:429
simclock.h
Options::setShowPlanetImages
static void setShowPlanetImages(bool v)
Set Draw planets as images in the sky map?
Definition: Options.h:1939
Options::setShowEcliptic
static void setShowEcliptic(bool v)
Set Draw ecliptic line in the sky map?
Definition: Options.h:1635
Options::setShowGeoBox
static void setShowGeoBox(bool v)
Set Display the geographic InfoBox?
Definition: Options.h:193
KDateTime
INDI_P::newSwitch
void newSwitch(QAbstractButton *button)
Definition: indiproperty.cpp:366
KStars::slotTrack
void slotTrack()
action slot: Toggle whether kstars is tracking current position
Definition: kstarsactions.cpp:892
KStars::waitForKey
Q_SCRIPTABLE Q_NOREPLY void waitForKey(const QString &k)
DBUS interface function.
Definition: kstarsdcop.cpp:173
SkyPoint::dec
const dms & dec() const
Definition: skypoint.h:174
dms::Hours
double Hours() const
Definition: dms.h:125
KStars::setLocalTime
Q_SCRIPTABLE Q_NOREPLY void setLocalTime(int yr, int mth, int day, int hr, int min, int sec)
DBUS interface function.
Definition: kstarsdcop.cpp:163
Options::setShowMoon
static void setShowMoon(bool v)
Set Draw Moon in the sky map?
Definition: Options.h:1996
Options::setUseAnimatedSlewing
static void setUseAnimatedSlewing(bool v)
Set Use animated slewing effects when changing focus position?
Definition: Options.h:951
ColorScheme::fileName
QString fileName() const
Definition: colorscheme.h:93
imageexporter.h
constellationboundarylines.h
Options::setShowStarMagnitudes
static void setShowStarMagnitudes(bool v)
Set Label star magnitudes in the sky map?
Definition: Options.h:2186
SkyMap::clickedPoint
SkyPoint * clickedPoint()
Retrieve the ClickedPoint position.
Definition: skymap.h:200
ColorScheme::setColor
void setColor(const QString &key, const QString &color)
Change the color with the given key to the given value key the key-name of the color to be changed co...
Definition: colorscheme.cpp:122
TimeZoneRule::reset_with_ltime
void reset_with_ltime(KStarsDateTime &ltime, const double TZoffset, const bool time_runs_forward, const bool automaticDSTchange=false)
Recalculate next dst change and if DST is active by a given local time with timezone offset and time ...
Definition: timezonerule.cpp:301
Options::setZoomFactor
static void setZoomFactor(double v)
Set Zoom Factor, in pixels per radian.
Definition: Options.h:2509
Options.h
SkyObject::name2
QString name2(void) const
Definition: skyobject.h:132
KStars::setAltAz
Q_SCRIPTABLE Q_NOREPLY void setAltAz(double alt, double az)
DBUS interface function.
Definition: kstarsdcop.cpp:69
StarObject::parallax
double parallax() const
Definition: starobject.h:213
SkyObject::mag
float mag(void) const
Definition: skyobject.h:182
DeepSkyObject
Provides all necessary information about a deep-sky object: data inherited from SkyObject (coordinate...
Definition: deepskyobject.h:43
StarObject::pmMagnitude
double pmMagnitude()
returns the magnitude of the proper motion correction in milliarcsec/year
Definition: starobject.h:180
Options::setUseRefraction
static void setUseRefraction(bool v)
Set Correct positions for atmospheric refraction?
Definition: Options.h:2452
Options::setShowInfoBoxes
static void setShowInfoBoxes(bool v)
Set Meta-option to toggle display of all InfoBoxes.
Definition: Options.h:136
KStars::waitFor
Q_SCRIPTABLE Q_NOREPLY void waitFor(double t)
DBUS interface function.
Definition: kstarsdcop.cpp:167
KStars::removeLabel
Q_SCRIPTABLE Q_NOREPLY void removeLabel(const QString &name)
DBUS interface function.
Definition: kstarsdcop.cpp:123
SkyMap::slotZoomDefault
void slotZoomDefault()
Set default zoom.
Definition: skymap.cpp:972
KStars::getObservingSessionPlanObjectNames
Q_SCRIPTABLE QString getObservingSessionPlanObjectNames()
DBUS interface function.
Definition: kstarsdcop.cpp:513
KStars::printImage
Q_SCRIPTABLE Q_NOREPLY void printImage(bool usePrintDialog, bool useChartColors)
DBUS interface function.
Definition: kstarsdcop.cpp:528
GeoLocation::TZ0
double TZ0() const
Definition: geolocation.h:118
SkyMap::setClickedPoint
void setClickedPoint(SkyPoint *f)
Set the ClickedPoint to the skypoint given as an argument.
Definition: skymap.cpp:829
KStarsData::setSnapNextFocus
void setSnapNextFocus(bool b=true)
Disable or re-enable the slewing animation for the next Focus change.
Definition: kstarsdata.h:194
Options::setUseAutoLabel
static void setUseAutoLabel(bool v)
Set Automatically label focused object?
Definition: Options.h:2395
SkyMap::exportSkyImage
void exportSkyImage(QPaintDevice *pd, bool scale=false)
Proxy method for SkyMapDrawAbstract::exportSkyImage()
Definition: skymap.h:270
StarObject::pmDec
double pmDec() const
Definition: starobject.h:207
SkyMap::slotZoomOut
void slotZoomOut()
Zoom out one step.
Definition: skymap.cpp:968
KStarsData::setNextDSTChange
void setNextDSTChange(const KStarsDateTime &dt)
Set the NextDSTChange member.
Definition: kstarsdata.h:106
Options::setShowMessierImages
static void setShowMessierImages(bool v)
Set Draw Messier object images in the sky map?
Definition: Options.h:1844
KStars::addTrail
Q_SCRIPTABLE Q_NOREPLY void addTrail(const QString &name)
DBUS interface function.
Definition: kstarsdcop.cpp:131
KStars::getObservingWishListObjectNames
Q_SCRIPTABLE QString getObservingWishListObjectNames()
DBUS interface function.
Definition: kstarsdcop.cpp:505
KStars::addLabel
Q_SCRIPTABLE Q_NOREPLY void addLabel(const QString &name)
DBUS interface function.
Definition: kstarsdcop.cpp:115
TrailObject
provides a SkyObject with an attachable Trail
Definition: trailobject.h:33
Options::setShowMercury
static void setShowMercury(bool v)
Set Draw Mercury in the sky map?
Definition: Options.h:2015
Options::setShowAsteroids
static void setShowAsteroids(bool v)
Set Draw asteroids in the sky map?
Definition: Options.h:1350
Options::setShowEquator
static void setShowEquator(bool v)
Set Draw equator line in the sky map?
Definition: Options.h:1654
Options::setShowSun
static void setShowSun(bool v)
Set Draw Sun in the sky map?
Definition: Options.h:1977
Options::useAltAz
static bool useAltAz()
Get Use horizontal coordinate system?
Definition: Options.h:2386
KStars::data
KStarsData * data() const
Definition: kstars.h:131
Options::setShowNGC
static void setShowNGC(bool v)
Set Draw NGC objects in the sky map?
Definition: Options.h:1806
Options::setAsteroidLabelDensity
static void setAsteroidLabelDensity(double v)
Set Label density for asteroid names.
Definition: Options.h:2559
Options::setShowHorizon
static void setShowHorizon(bool v)
Set Draw horizon line in the sky map?
Definition: Options.h:1749
KStarsData::isTimeRunningForward
bool isTimeRunningForward()
Returns true if time is running forward else false.
Definition: kstarsdata.h:111
KStars::getObjectDataXML
Q_SCRIPTABLE QString getObjectDataXML(const QString &objectName)
DBUS interface function.
Definition: kstarsdcop.cpp:456
KStars::zoomOut
Q_SCRIPTABLE Q_NOREPLY void zoomOut()
DBUS interface function.
Definition: kstarsdcop.cpp:155
SkyPoint::setAlt
void setAlt(dms alt)
Sets Alt, the Altitude.
Definition: skypoint.h:141
StarObject::pmRA
double pmRA() const
Definition: starobject.h:204
GeoLocation::UTtoLT
KStarsDateTime UTtoLT(const KStarsDateTime &ut) const
Definition: geolocation.h:233
kstarsdata.h
DeepSkyObject::e
float e() const
Definition: deepskyobject.cpp:81
SkyMapComposite::removeNameLabel
bool removeNameLabel(SkyObject *o)
Definition: skymapcomposite.cpp:401
KStars::loadColorScheme
Q_SCRIPTABLE Q_NOREPLY void loadColorScheme(const QString &name)
DBUS interface function.
Definition: kstarsdcop.cpp:406
Options::self
static Options * self()
Definition: Options.cpp:17
Options::setShowGround
static void setShowGround(bool v)
Set Draw opaque ground in the sky map?
Definition: Options.h:1730
Options::setShowMars
static void setShowMars(bool v)
Set Draw Mars in the sky map?
Definition: Options.h:2053
SkyObject::name
virtual QString name(void) const
Definition: skyobject.h:124
Options::setMagLimitHideStar
static void setMagLimitHideStar(double v)
Set Faint limit for stars when slewing.
Definition: Options.h:2635
KStars::setApproxFOV
Q_SCRIPTABLE Q_NOREPLY void setApproxFOV(double FOV_Degrees)
DBUS interface function.
Definition: kstarsdcop.cpp:521
StarObject::gname
QString gname(bool useGreekChars=true) const
Returns the genetive name of the star.
Definition: starobject.cpp:349
ksutils.h
StarObject
This is a subclass of SkyObject.
Definition: starobject.h:41
GeoLocation::translatedCountry
QString translatedCountry() const
Definition: geolocation.cpp:92
SkyObject::typeName
static QString typeName(const int t)
Definition: skyobject.cpp:319
SkyObject
Provides all necessary information about an object in the sky: its coordinates, name(s), type, magnitude, and QStringLists of URLs for images and webpages regarding the object.
Definition: skyobject.h:46
Options::setMaxRadCometName
static void setMaxRadCometName(double v)
Set Maximum distance from Sun for labeling comets, in AU.
Definition: Options.h:2711
Options::setShowDeepSky
static void setShowDeepSky(bool v)
Set Draw "deep sky" objects in the sky map?
Definition: Options.h:1616
colorscheme.h
Options::setShowNeptune
static void setShowNeptune(bool v)
Set Draw Neptune in the sky map?
Definition: Options.h:2129
SkyMap::setDestinationAltAz
void setDestinationAltAz(const dms &alt, const dms &az)
sets the destination point of the sky map, using its alt/az coordinates.
Definition: skymap.cpp:822
Options::setUseLatinConstellNames
static void setUseLatinConstellNames(bool v)
Set Use Latin constellation names?
Definition: Options.h:2338
kstars.h
Options::setHideStars
static void setHideStars(bool v)
Set Hide faint stars while moving?
Definition: Options.h:1312
Options::setShowStars
static void setShowStars(bool v)
Set Draw stars in the sky map?
Definition: Options.h:2167
Options::setShowSolarSystem
static void setShowSolarSystem(bool v)
Set Meta-option for all planets in the sky map.
Definition: Options.h:1920
Options::setShowEquatorialGrid
static void setShowEquatorialGrid(bool v)
Set Draw equatorial coordinate grid in the sky map?
Definition: Options.h:1692
Options::setAutoSelectGrid
static void setAutoSelectGrid(bool v)
Set Draw grids according to active coordinate system?
Definition: Options.h:1673
QList
ImageExporter::setRasterOutputSize
void setRasterOutputSize(const QSize *size)
Set the size of output raster images.
Definition: imageexporter.cpp:267
KStars::removeTrail
Q_SCRIPTABLE Q_NOREPLY void removeTrail(const QString &name)
DBUS interface function.
Definition: kstarsdcop.cpp:139
KStarsData::setLocation
void setLocation(const GeoLocation &l)
Set the GeoLocation according to the argument.
Definition: kstarsdata.cpp:323
KStarsData::syncLST
void syncLST()
Sync the LST with the simulation clock.
Definition: kstarsdata.cpp:268
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:36:20 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kstars

Skip menu "kstars"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal