kstars
scriptbuilder.h
Go to the documentation of this file.00001 /*************************************************************************** 00002 scriptbuilder.h - description 00003 ------------------- 00004 begin : Thu Apr 17 2003 00005 copyright : (C) 2003 by Jason Harris 00006 email : kstars@30doradus.org 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef SCRIPTBUILDER_H 00019 #define SCRIPTBUILDER_H 00020 00021 class KStars; 00022 class QListViewItem; 00023 class QWidget; 00024 class QLayout; 00025 class KURL; 00026 class ScriptFunction; 00027 class ScriptBuilderUI; 00028 class ScriptNameDialog; 00029 class OptionsTreeView; 00030 class ArgLookToward; 00031 class ArgSetRaDec; 00032 class ArgSetAltAz; 00033 class ArgSetLocalTime; 00034 class ArgWaitFor; 00035 class ArgWaitForKey; 00036 class ArgSetTrack; 00037 class ArgChangeViewOption; 00038 class ArgSetGeoLocation; 00039 class ArgTimeScale; 00040 class ArgZoom; 00041 class ArgExportImage; 00042 class ArgPrintImage; 00043 class ArgSetColor; 00044 class ArgLoadColorScheme; 00045 class ArgStartINDI; 00046 class ArgShutdownINDI; 00047 class ArgSwitchINDI; 00048 class ArgSetPortINDI; 00049 class ArgSetTargetCoordINDI; 00050 class ArgSetTargetNameINDI; 00051 class ArgSetActionINDI; 00052 class ArgSetFocusSpeedINDI; 00053 class ArgStartFocusINDI; 00054 class ArgSetFocusTimeoutINDI; 00055 class ArgSetGeoLocationINDI; 00056 class ArgStartExposureINDI; 00057 class ArgSetUTCINDI; 00058 class ArgSetScopeActionINDI; 00059 class ArgSetFrameTypeINDI; 00060 class ArgSetCCDTempINDI; 00061 class ArgSetFilterNumINDI; 00062 00068 class ScriptBuilder : public KDialogBase 00069 { 00070 Q_OBJECT 00071 public: 00072 ScriptBuilder( QWidget *parent, const char *name=0 ); 00073 ~ScriptBuilder(); 00074 00075 bool unsavedChanges() const { return UnsavedChanges; } 00076 void setUnsavedChanges( bool b=true ); 00077 void saveWarning(); 00078 void readScript( QTextStream &istream ); 00079 void writeScript( QTextStream &ostream ); 00080 bool parseFunction( QStringList &fn ); 00081 00082 public slots: 00083 void slotAddFunction(); 00084 void slotMoveFunctionUp(); 00085 void slotMoveFunctionDown(); 00086 void slotArgWidget(); 00087 void slotShowDoc(); 00088 00089 void slotNew(); 00090 void slotOpen(); 00091 void slotSave(); 00092 void slotSaveAs(); 00093 void slotRunScript(); 00094 void slotClose(); 00095 00096 void slotCopyFunction(); 00097 void slotRemoveFunction(); 00098 00099 void slotFindCity(); 00100 void slotFindObject(); 00101 void slotShowOptions(); 00102 void slotLookToward(); 00103 void slotRa(); 00104 void slotDec(); 00105 void slotAz(); 00106 void slotAlt(); 00107 void slotChangeDate(); 00108 void slotChangeTime(); 00109 void slotWaitFor(); 00110 void slotWaitForKey(); 00111 void slotTracking(); 00112 void slotViewOption(); 00113 void slotChangeCity(); 00114 void slotChangeProvince(); 00115 void slotChangeCountry(); 00116 void slotTimeScale(); 00117 void slotZoom(); 00118 void slotExportImage(); 00119 void slotPrintImage(); 00120 void slotChangeColor(); 00121 void slotChangeColorName(); 00122 void slotLoadColorScheme(QListBoxItem*); 00123 00124 void slotEnableScriptNameOK(); 00125 00126 void slotINDIWaitCheck(bool toggleState); 00127 void slotINDIFindObject(); 00128 void slotINDIStartDeviceName(); 00129 void slotINDIStartDeviceMode(); 00130 void slotINDIShutdown(); 00131 void slotINDISwitchDeviceName(); 00132 void slotINDISwitchDeviceConnection(); 00133 void slotINDISetPortDeviceName(); 00134 void slotINDISetPortDevicePort(); 00135 void slotINDISetTargetCoordDeviceName(); 00136 void slotINDISetTargetCoordDeviceRA(); 00137 void slotINDISetTargetCoordDeviceDEC(); 00138 void slotINDISetTargetNameDeviceName(); 00139 void slotINDISetTargetNameObjectName(); 00140 void slotINDISetActionDeviceName(); 00141 void slotINDISetActionName(); 00142 void slotINDIWaitForActionDeviceName(); 00143 void slotINDIWaitForActionName(); 00144 void slotINDISetFocusSpeedDeviceName(); 00145 void slotINDISetFocusSpeed(); 00146 void slotINDIStartFocusDeviceName(); 00147 void slotINDIStartFocusDirection(); 00148 void slotINDISetFocusTimeoutDeviceName(); 00149 void slotINDISetFocusTimeout(); 00150 void slotINDISetGeoLocationDeviceName(); 00151 void slotINDISetGeoLocationDeviceLong(); 00152 void slotINDISetGeoLocationDeviceLat(); 00153 void slotINDIStartExposureDeviceName(); 00154 void slotINDIStartExposureTimeout(); 00155 void slotINDISetUTCDeviceName(); 00156 void slotINDISetUTC(); 00157 void slotINDISetScopeActionDeviceName(); 00158 void slotINDISetScopeAction(); 00159 void slotINDISetFrameTypeDeviceName(); 00160 void slotINDISetFrameType(); 00161 void slotINDISetCCDTempDeviceName(); 00162 void slotINDISetCCDTemp(); 00163 void slotINDISetFilterNumDeviceName(); 00164 void slotINDISetFilterNum(); 00165 00166 private: 00167 void initViewOptions(); 00168 00169 ScriptBuilderUI *sb; 00170 00171 KStars *ks; //parent needed for sub-dialogs 00172 QPtrList<ScriptFunction> KStarsFunctionList; 00173 QPtrList<ScriptFunction> INDIFunctionList; 00174 QPtrList<ScriptFunction> ScriptList; 00175 QVBoxLayout *vlay; 00176 00177 QWidget *argBlank; 00178 ArgLookToward *argLookToward; 00179 ArgSetRaDec *argSetRaDec; 00180 ArgSetAltAz *argSetAltAz; 00181 ArgSetLocalTime *argSetLocalTime; 00182 ArgWaitFor *argWaitFor; 00183 ArgWaitForKey *argWaitForKey; 00184 ArgSetTrack *argSetTracking; 00185 ArgChangeViewOption *argChangeViewOption; 00186 ArgSetGeoLocation *argSetGeoLocation; 00187 ArgTimeScale *argTimeScale; 00188 ArgZoom *argZoom; 00189 ArgExportImage *argExportImage; 00190 ArgPrintImage *argPrintImage; 00191 ArgSetColor *argSetColor; 00192 ArgLoadColorScheme *argLoadColorScheme; 00193 ArgStartINDI *argStartINDI; 00194 ArgShutdownINDI *argShutdownINDI; 00195 ArgSwitchINDI *argSwitchINDI; 00196 ArgSetPortINDI *argSetPortINDI; 00197 ArgSetTargetCoordINDI *argSetTargetCoordINDI; 00198 ArgSetTargetNameINDI *argSetTargetNameINDI; 00199 ArgSetActionINDI *argSetActionINDI; 00200 ArgSetActionINDI *argWaitForActionINDI; 00201 ArgSetFocusSpeedINDI *argSetFocusSpeedINDI; 00202 ArgStartFocusINDI *argStartFocusINDI; 00203 ArgSetFocusTimeoutINDI *argSetFocusTimeoutINDI; 00204 ArgSetGeoLocationINDI *argSetGeoLocationINDI; 00205 ArgStartExposureINDI *argStartExposureINDI; 00206 ArgSetUTCINDI *argSetUTCINDI; 00207 ArgSetScopeActionINDI *argSetScopeActionINDI; 00208 ArgSetFrameTypeINDI *argSetFrameTypeINDI; 00209 ArgSetCCDTempINDI *argSetCCDTempINDI; 00210 ArgSetFilterNumINDI *argSetFilterNumINDI; 00211 00212 ScriptNameDialog *snd; 00213 OptionsTreeView *otv; 00214 00215 QListViewItem *opsGUI, *opsToolbar, *opsShowObj, *opsShowOther, *opsCName, *opsHide, *opsSkymap, *opsLimit; 00216 00217 bool UnsavedChanges; 00218 KURL currentFileURL; 00219 QString currentDir; 00220 QString currentScriptName, currentAuthor; 00221 QString lastINDIDeviceName; 00222 }; 00223 00224 #endif