summaryrefslogtreecommitdiffstats
path: root/kstars/kstars/kswizard.h
blob: f822149a2a652986b104cdd7424efa514f192a45 (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
80
81
82
83
84
85
86
87
88
89
/***************************************************************************
                          kswizard.h  -  description
                             -------------------
    begin                : Wed 28 Jan 2004
    copyright            : (C) 2004 by Jason Harris
    email                : kstars@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 KSWIZARD_H
#define KSWIZARD_H

#include <qmemarray.h>
#include "kswizardui.h"

class GeoLocation;

/**
	*@class KSWizard
	*The Setup Wizard will be automatically opened when KStars runs 
	*for the first time.  It allows the user to set up some basic parameters:
	*@li Geographic Location
	*@li Download extra data files
	*@author Jason Harris
	*@version 1.0
	*/

class KStars;
class GeoLocation;

class KSWizard : public KSWizardUI
{
Q_OBJECT
public:
	/**
		*Constructor
		*@p parent pointer to the parent widget
		*@p name name for the KSWizard object
		*/
	KSWizard( QWidget *parent=0, const char *name=0 );

	/**Destructor */
	~KSWizard();

	/**
		*@return pointer to the geographic location selected by the user
		*/
	GeoLocation* geo() const { return Geo; }

private slots:
	/**
		*Set the geo pointer to the user's selected city, and display
		*its longitude and latitude in the window.
		*@note called when the highlighted city in the list box changes
		*/
	void slotChangeCity();

	/**
		*Display only those cities which meet the user's search criteria 
		*in the city list box.
		*@note called when one of the name filters is modified
		*/
	void slotFilterCities();

//Uncomment if we ever need the telescope page...
//	void slotTelescopeSetup();

private:
	/**
		*@short Initialize the geographic location page.
		*Populate the city list box, and highlight the current location in the list.
		*/
	void initGeoPage();
	
	KStars *ksw;
	QMemArray<int> GeoID;
	GeoLocation *Geo;
	QPtrList<GeoLocation> filteredCityList;
};

#endif