summaryrefslogtreecommitdiffstats
path: root/kstars/kstars/tools/obslistwizard.h
blob: 5c04b93f5d58e41977d6c319d5b8ce37238efc0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/***************************************************************************
                          obslistwizard.h  -  Display overhead view of the solar system
                             -------------------
    begin                : Thu 23 Jun 2005
    copyright            : (C) 2005 by Jason Harris
    email                : jharris@30doradus.org
 ***************************************************************************/
/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef OBSLISTWIZARD_H
#define OBSLISTWIZARD_H

#include <kdialogbase.h>

#include "obslistwizardui.h"

class KStars;
class QListViewItem;

/**@class ObsListWizard
 *@short Wizard for constructing observing lists
 */

class ObsListWizard : public KDialogBase
{
	Q_OBJECT
	public:
	/**@short Constructor
		*/
		ObsListWizard( QWidget *parent = 0, const char *name = 0 );
	/**@short Destructor
		*/
		~ObsListWizard();

	/**@return reference to QPtrList of objects selected by the wizard
		*/
		QPtrList<SkyObject>& obsList() { return ObsList; }

	private slots:
		void slotAllButton();
		void slotNoneButton();
		void slotDeepSkyButton();
		void slotSolarSystemButton();
		void slotChangeLocation();
		void slotShowStackWidget(QListViewItem*);
		void slotEnableConstellationPage(bool);
		void slotEnableRectPage(bool);
		void slotEnableCircPage(bool);
//		void slotEnableDatePage(bool);
		void slotEnableMagPage(bool);

	/**@short Construct the observing list by applying the selected filters
		*/
		void slotUpdateObjectCount();
		void slotApplyFilters() { applyFilters( true ); }

	private:
		void initialize();
		void applyFilters( bool doBuildList );
		void applyRegionFilter( SkyObject *o, bool doBuildList, bool doAdjustCount=true );

		QPtrList<SkyObject> ObsList;
		KStars *ksw;
		ObsListWizardUI *olw;
		uint ObjectCount, StarCount, PlanetCount, CometCount, AsteroidCount;
		uint GalaxyCount, OpenClusterCount, GlobClusterCount, GasNebCount, PlanNebCount;
		bool rectOk, circOk;
		double ra1, ra2, dc1, dc2, rCirc;
		SkyPoint pCirc;
};

#endif