• 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
  • oal
equipmentwriter.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  equipmentwriter.cpp - description
3 
4  -------------------
5  begin : Friday July 19, 2009
6  copyright : (C) 2009 by Prakash Mohan
7  email : prakash.mohan@kdemail.net
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 #include "oal/equipmentwriter.h"
20 #include "ui_equipmentwriter.h"
21 
22 #include <QFile>
23 
24 #include <kstandarddirs.h>
25 
26 #include "kstarsdata.h"
27 #include "oal/oal.h"
28 #include "oal/scope.h"
29 #include "oal/eyepiece.h"
30 #include "oal/lens.h"
31 #include "oal/filter.h"
32 
33 #include <config-kstars.h>
34 
35 #ifdef HAVE_INDI_H
36 #include "indi/drivermanager.h"
37 #endif
38 
39 EquipmentWriter::EquipmentWriter() {
40  QWidget *widget = new QWidget;
41  ui.setupUi( widget );
42  ui.tabWidget->setCurrentIndex(0);
43  setMainWidget( widget );
44  setCaption( i18n( "Define Equipment" ) );
45  setButtons( KDialog::Close );
46  ks = KStars::Instance();
47  nextScope = 0;
48  nextEyepiece = 0;
49  nextFilter = 0;
50  nextLens = 0;
51  loadEquipment();
52  newScope = true;
53  newEyepiece = true;
54  newLens = true;
55  newFilter = true;
56 
57 
58  #ifdef HAVE_INDI_H
59  ui.driverComboBox->insertItems(1, DriverManager::Instance()->getDriversStringList());
60  #endif
61 
62  //make connections
63  connect( this, SIGNAL( closeClicked() ), this, SLOT( slotClose() ) );
64  connect( ui.NewScope, SIGNAL( clicked() ), this, SLOT( slotNewScope() ) );
65  connect( ui.NewEyepiece, SIGNAL( clicked() ), this, SLOT( slotNewEyepiece() ) );
66  connect( ui.NewLens, SIGNAL( clicked() ), this, SLOT( slotNewLens() ) );
67  connect( ui.NewFilter, SIGNAL( clicked() ), this, SLOT( slotNewFilter() ) );
68  connect( ui.AddScope, SIGNAL( clicked() ), this, SLOT( slotSave() ) );
69  connect( ui.AddEyepiece, SIGNAL( clicked() ), this, SLOT( slotSave() ) );
70  connect( ui.AddLens, SIGNAL( clicked() ), this, SLOT( slotSave() ) );
71  connect( ui.AddFilter, SIGNAL( clicked() ), this, SLOT( slotSave() ) );
72  connect( ui.ScopeList, SIGNAL( currentTextChanged(const QString) ),
73  this, SLOT( slotSetScope(QString) ) );
74  connect( ui.EyepieceList, SIGNAL( currentTextChanged(const QString) ),
75  this, SLOT( slotSetEyepiece(QString) ) );
76  connect( ui.LensList, SIGNAL( currentTextChanged(const QString) ),
77  this, SLOT( slotSetLens(QString) ) );
78  connect( ui.FilterList, SIGNAL( currentTextChanged(const QString) ),
79  this, SLOT( slotSetFilter(QString) ) );
80  connect( ui.RemoveScope, SIGNAL( clicked() ), this, SLOT( slotRemoveScope() ) );
81  connect( ui.RemoveEyepiece, SIGNAL( clicked() ), this, SLOT( slotRemoveEyepiece() ) );
82  connect( ui.RemoveLens, SIGNAL( clicked() ), this, SLOT( slotRemoveLens() ) );
83  connect( ui.RemoveFilter, SIGNAL( clicked() ), this, SLOT( slotRemoveFilter() ) );
84 }
85 
86 void EquipmentWriter::slotAddScope() {
87  ks->data()->userdb()->AddScope(ui.Model->text(), ui.Vendor->text(), ui.driverComboBox->currentText(),
88  ui.Type->currentText(), ui.FocalLength->value(), ui.Aperture->value());
89  loadEquipment();
90  ui.Model->clear();
91  ui.Vendor->clear();
92  ui.FocalLength->setValue(0);
93  ui.Aperture->setValue(0);
94  ui.driverComboBox->setCurrentIndex(0);
95 }
96 
97 void EquipmentWriter::slotRemoveScope() {
98  ks->data()->userdb()->EraseEquipment("telescope",ui.Id->text().toInt());
99  ui.Model->clear();
100  ui.Vendor->clear();
101  ui.FocalLength->setValue(0);
102  ui.Aperture->setValue(0);
103  loadEquipment();
104 }
105 
106 void EquipmentWriter::slotSaveScope() {
107  ks->data()->userdb()->AddScope(ui.Model->text(), ui.Vendor->text(), ui.driverComboBox->currentText(),
108  ui.Type->currentText(), ui.FocalLength->value(), ui.Aperture->value(),
109  ui.Id->text());
110 
111  loadEquipment();
112 }
113 
114 void EquipmentWriter::slotSetScope( QString name) {
115  //TODO: maybe this should also use the DB? ~~spacetime
116  OAL::Scope *s = ks->data()->logObject()->findScopeByName( name );
117  if ( s ) {
118  ui.Id->setText( s->id() ) ;
119  ui.Model->setText( s->model() );
120  ui.Vendor->setText( s->vendor() );
121  ui.Type->setCurrentIndex( ui.Type->findText( s->type() ) );
122  ui.FocalLength->setValue( s->focalLength() );
123  ui.Aperture->setValue( s->aperture() );
124  ui.driverComboBox->setCurrentIndex(ui.driverComboBox->findText(s->driver()));
125  newScope = false;
126  }
127 }
128 void EquipmentWriter::slotNewScope() {
129  ui.Id->clear();
130  ui.Model->clear();
131  ui.Vendor->clear();
132  ui.FocalLength->setValue(0);
133  ui.driverComboBox->setCurrentIndex(0);
134  ui.ScopeList->selectionModel()->clear();
135  newScope = true;
136 }
137 
138 void EquipmentWriter::slotAddEyepiece() {
139  ks->data()->userdb()->AddEyepiece(ui.e_Vendor->text(), ui.e_Model->text(),
140  ui.e_focalLength->value(), ui.Fov->value(),
141  ui.FovUnit->currentText());
142  loadEquipment();
143  ui.e_Id->clear();
144  ui.e_Model->clear();
145  ui.e_Vendor->clear();
146  ui.Fov->setValue(0);
147  ui.e_focalLength->setValue(0);
148 }
149 
150 void EquipmentWriter::slotRemoveEyepiece() {
151  ks->data()->userdb()->EraseEquipment("eyepiece",ui.e_Id->text().toInt());
152  loadEquipment();
153  ui.e_Id->clear();
154  ui.e_Model->clear();
155  ui.e_Vendor->clear();
156  ui.Fov->setValue(0);
157  ui.e_focalLength->setValue(0);
158  ui.EyepieceList->clear();
159  foreach( OAL::Eyepiece *e, *( ks->data()->logObject()->eyepieceList() ) )
160  ui.EyepieceList->addItem( e->name() );
161 }
162 void EquipmentWriter::slotSaveEyepiece() {
163  ks->data()->userdb()->AddEyepiece(ui.e_Vendor->text(), ui.e_Model->text(),
164  ui.e_focalLength->value(), ui.Fov->value(),
165  ui.FovUnit->currentText(), ui.e_Id->text());
166  loadEquipment();
167 }
168 
169 void EquipmentWriter::slotSetEyepiece( QString name ) {
170  //TODO: maybe this should also use the DB? ~~spacetime
171  OAL::Eyepiece *e;
172  e = ks->data()->logObject()->findEyepieceByName( name );
173  if( e ) {
174  ui.e_Id->setText( e->id() );
175  ui.e_Model->setText( e->model() );
176  ui.e_Vendor->setText( e->vendor() );
177  ui.Fov->setValue( e->appFov() );
178  ui.e_focalLength->setValue( e->focalLength() );
179  newEyepiece = false;
180  }
181 }
182 
183 void EquipmentWriter::slotNewEyepiece() {
184  ui.e_Id->clear();
185  ui.e_Model->clear();
186  ui.e_Vendor->clear();
187  ui.Fov->setValue(0);
188  ui.e_focalLength->setValue(0);
189  ui.EyepieceList->selectionModel()->clear();
190  newEyepiece = true;
191 }
192 
193 void EquipmentWriter::slotAddLens() {
194  ks->data()->userdb()->AddLens(ui.l_Vendor->text(), ui.l_Model->text(), ui.l_Factor->value() );
195  loadEquipment();
196  ui.l_Id->clear();
197  ui.l_Model->clear();
198  ui.l_Vendor->clear();
199  ui.l_Factor->setValue(0);
200 }
201 
202 void EquipmentWriter::slotRemoveLens() {
203  ks->data()->userdb()->EraseEquipment("lens",ui.l_Id->text().toInt());
204  loadEquipment();
205  ui.l_Id->clear();
206  ui.l_Model->clear();
207  ui.l_Vendor->clear();
208  ui.l_Factor->setValue(0);
209  ui.LensList->clear();
210  foreach( OAL::Lens *l, *( ks->data()->logObject()->lensList() ) )
211  ui.LensList->addItem( l->name() );
212 }
213 void EquipmentWriter::slotSaveLens() {
214  ks->data()->userdb()->AddLens(ui.l_Vendor->text(), ui.l_Model->text(),
215  ui.l_Factor->value(), ui.l_Id->text());
216  loadEquipment();
217 }
218 
219 void EquipmentWriter::slotSetLens( QString name ) {
220  OAL::Lens *l;
221  l = ks->data()->logObject()->findLensByName( name );
222  if( l ) {
223  ui.l_Id->setText( l->id() );
224  ui.l_Model->setText( l->model() );
225  ui.l_Vendor->setText( l->vendor() );
226  ui.l_Factor->setValue( l->factor() );
227  newLens = false;
228  }
229 }
230 
231 void EquipmentWriter::slotNewLens() {
232  ui.l_Id->clear();
233  ui.l_Model->clear();
234  ui.l_Vendor->clear();
235  ui.l_Factor->setValue(0);
236  ui.LensList->selectionModel()->clear();
237  newLens = true;
238 }
239 
240 void EquipmentWriter::slotAddFilter() {
241  ks->data()->userdb()->AddFilter( ui.f_Vendor->text(), ui.f_Model->text(),
242  ui.f_Type->text(), ui.f_Color->text());
243  loadEquipment();
244  ui.f_Id->clear();
245  ui.f_Model->clear();
246  ui.f_Vendor->clear();
247  ui.f_Type->clear();
248  ui.f_Color->clear();
249 }
250 
251 void EquipmentWriter::slotRemoveFilter() {
252  ks->data()->userdb()->EraseEquipment("filter",ui.f_Id->text().toInt());
253  loadEquipment();
254  ui.f_Id->clear();
255  ui.f_Model->clear();
256  ui.f_Vendor->clear();
257  ui.f_Type->clear();
258  ui.f_Color->clear();
259  ui.FilterList->clear();
260  foreach( OAL::Filter *f, *( ks->data()->logObject()->filterList() ) )
261  ui.FilterList->addItem( f->name() );
262 }
263 
264 void EquipmentWriter::slotSaveFilter() {
265  ks->data()->userdb()->AddFilter( ui.f_Vendor->text(), ui.f_Model->text(),
266  ui.f_Type->text(), ui.f_Color->text(),
267  ui.f_Id->text());
268  loadEquipment();
269 }
270 
271 void EquipmentWriter::slotSetFilter( QString name ) {
272  OAL::Filter *f;
273  f = ks->data()->logObject()->findFilterByName( name );
274  if( f ) {
275  ui.f_Id->setText( f->id() );
276  ui.f_Model->setText( f->model() );
277  ui.f_Vendor->setText( f->vendor() );
278  ui.f_Type->setText( f->type() );
279  ui.f_Color->setText( f->color() );
280  newFilter = false;
281  }
282 }
283 
284 void EquipmentWriter::slotNewFilter() {
285  ui.f_Id->clear();
286  ui.f_Model->clear();
287  ui.f_Vendor->clear();
288  ui.f_Type->clear();
289  ui.f_Color->clear();
290  ui.FilterList->selectionModel()->clear();
291  newFilter = true;
292 }
293 
294 void EquipmentWriter::loadEquipment() {
295  ks->data()->logObject()->readScopes();
296  ks->data()->logObject()->readEyepieces();
297  ks->data()->logObject()->readLenses();
298  ks->data()->logObject()->readFilters();
299  ui.ScopeList->clear();
300  ui.EyepieceList->clear();
301  ui.LensList->clear();
302  ui.FilterList->clear();
303  foreach( OAL::Scope *s, *( ks->data()->logObject()->scopeList() ) )
304  ui.ScopeList->addItem( s->name() );
305  foreach( OAL::Eyepiece *e, *( ks->data()->logObject()->eyepieceList() ) )
306  ui.EyepieceList->addItem( e->name() );
307  foreach( OAL::Lens *l, *( ks->data()->logObject()->lensList() ) )
308  ui.LensList->addItem( l->name() );
309  foreach( OAL::Filter *f, *( ks->data()->logObject()->filterList() ) )
310  ui.FilterList->addItem( f->name() );
311 
312  //TODO(spacetime): confirm this is correct ~~spacetime
313  #ifdef HAVE_INDI_H
314  DriverManager::Instance()->updateCustomDrivers();
315  #endif
316 }
317 
318 void EquipmentWriter::slotSave() {
319  switch( ui.tabWidget->currentIndex() ) {
320  case 0: {
321  if( newScope )
322  slotAddScope();
323  else
324  slotSaveScope();
325  ui.ScopeList->clear();
326  foreach( OAL::Scope *s, *( ks->data()->logObject()->scopeList() ) )
327  ui.ScopeList->addItem( s->name() );
328  break;
329  }
330  case 1: {
331  if( newEyepiece )
332  slotAddEyepiece();
333  else
334  slotSaveEyepiece();
335  ui.EyepieceList->clear();
336  foreach( OAL::Eyepiece *e, *( ks->data()->logObject()->eyepieceList() ) )
337  ui.EyepieceList->addItem( e->name() );
338  break;
339  }
340  case 2: {
341  if( newLens )
342  slotAddLens();
343  else
344  slotSaveLens();
345  ui.LensList->clear();
346  foreach( OAL::Lens *l, *( ks->data()->logObject()->lensList() ) )
347  ui.LensList->addItem( l->name() );
348  break;
349  }
350  case 3: {
351  if( newFilter )
352  slotAddFilter();
353  else
354  slotSaveFilter();
355  ui.FilterList->clear();
356  foreach( OAL::Filter *f, *( ks->data()->logObject()->filterList() ) )
357  ui.FilterList->addItem( f->name() );
358  break;
359  }
360  }
361 }
362 
363 void EquipmentWriter::slotClose()
364 {
365  hide();
366 }
367 
368 #include "equipmentwriter.moc"
OAL::Filter::model
QString model() const
Definition: filter.h:30
OAL::Filter::type
QString type() const
Definition: filter.h:32
OAL::Filter::name
QString name() const
Definition: filter.h:29
OAL::Eyepiece
Definition: eyepiece.h:25
OAL::Lens::factor
double factor() const
Definition: lens.h:32
EquipmentWriter::slotAddFilter
void slotAddFilter()
Definition: equipmentwriter.cpp:240
EquipmentWriter::slotSetEyepiece
void slotSetEyepiece(QString)
Definition: equipmentwriter.cpp:169
EquipmentWriter::slotRemoveFilter
void slotRemoveFilter()
Definition: equipmentwriter.cpp:251
OAL::Filter::id
QString id() const
Definition: filter.h:28
OAL::Eyepiece::id
QString id() const
Definition: eyepiece.h:28
EquipmentWriter::slotNewFilter
void slotNewFilter()
Definition: equipmentwriter.cpp:284
OAL::Eyepiece::name
QString name() const
Definition: eyepiece.h:29
EquipmentWriter::slotNewEyepiece
void slotNewEyepiece()
Definition: equipmentwriter.cpp:183
filter.h
EquipmentWriter::slotSaveLens
void slotSaveLens()
Definition: equipmentwriter.cpp:213
OAL::Scope
Definition: scope.h:25
EquipmentWriter::loadEquipment
void loadEquipment()
Definition: equipmentwriter.cpp:294
QWidget
KStars::Instance
static KStars * Instance()
Definition: kstars.h:125
OAL::Eyepiece::model
QString model() const
Definition: eyepiece.h:30
OAL::Scope::name
QString name() const
Definition: scope.h:32
OAL::Filter::vendor
QString vendor() const
Definition: filter.h:31
EquipmentWriter::slotAddEyepiece
void slotAddEyepiece()
Definition: equipmentwriter.cpp:138
OAL::Scope::aperture
double aperture() const
Definition: scope.h:35
EquipmentWriter::slotAddScope
void slotAddScope()
Definition: equipmentwriter.cpp:86
EquipmentWriter::slotSetFilter
void slotSetFilter(QString)
Definition: equipmentwriter.cpp:271
EquipmentWriter::slotRemoveScope
void slotRemoveScope()
Definition: equipmentwriter.cpp:97
EquipmentWriter::slotSaveEyepiece
void slotSaveEyepiece()
Definition: equipmentwriter.cpp:162
NaN::f
const float f
Definition: nan.h:36
oal.h
OAL::Lens::model
QString model() const
Definition: lens.h:30
OAL::Scope::id
QString id() const
Definition: scope.h:28
EquipmentWriter::slotRemoveEyepiece
void slotRemoveEyepiece()
Definition: equipmentwriter.cpp:150
OAL::Filter
Definition: filter.h:25
scope.h
EquipmentWriter::slotAddLens
void slotAddLens()
Definition: equipmentwriter.cpp:193
OAL::Scope::focalLength
double focalLength() const
Definition: scope.h:34
EquipmentWriter::EquipmentWriter
EquipmentWriter()
Definition: equipmentwriter.cpp:39
OAL::Eyepiece::appFov
double appFov() const
Definition: eyepiece.h:33
eyepiece.h
OAL::Scope::type
QString type() const
Definition: scope.h:31
EquipmentWriter::slotSaveFilter
void slotSaveFilter()
Definition: equipmentwriter.cpp:264
lens.h
EquipmentWriter::slotNewScope
void slotNewScope()
Definition: equipmentwriter.cpp:128
equipmentwriter.h
OAL::Lens::id
QString id() const
Definition: lens.h:28
EquipmentWriter::slotSetScope
void slotSetScope(QString)
Definition: equipmentwriter.cpp:114
OAL::Lens::name
QString name() const
Definition: lens.h:29
OAL::Eyepiece::focalLength
double focalLength() const
Definition: eyepiece.h:34
OAL::Eyepiece::vendor
QString vendor() const
Definition: eyepiece.h:31
OAL::Scope::driver
QString driver() const
Definition: scope.h:33
EquipmentWriter::slotClose
void slotClose()
Definition: equipmentwriter.cpp:363
OAL::Filter::color
QString color() const
Definition: filter.h:33
EquipmentWriter::slotSaveScope
void slotSaveScope()
Definition: equipmentwriter.cpp:106
kstarsdata.h
EquipmentWriter::slotRemoveLens
void slotRemoveLens()
Definition: equipmentwriter.cpp:202
OAL::Scope::model
QString model() const
Definition: scope.h:29
EquipmentWriter::slotNewLens
void slotNewLens()
Definition: equipmentwriter.cpp:231
OAL::Lens
Definition: lens.h:25
OAL::Scope::vendor
QString vendor() const
Definition: scope.h:30
OAL::Lens::vendor
QString vendor() const
Definition: lens.h:31
EquipmentWriter::slotSetLens
void slotSetLens(QString)
Definition: equipmentwriter.cpp:219
EquipmentWriter::slotSave
void slotSave()
Definition: equipmentwriter.cpp:318
drivermanager.h
DriverManager::Instance
static DriverManager * Instance()
Definition: drivermanager.cpp:91
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:36:19 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