9 #include "scriptargwidgets.h"
10 #include "ui_scriptbuilder.h"
11 #include "ui_scriptnamedialog.h"
12 #include "ui_optionstreeview.h"
25 class OptionsTreeViewWidget :
public QFrame,
public Ui::OptionsTreeView
29 explicit OptionsTreeViewWidget(
QWidget *p);
32 class OptionsTreeView :
public QDialog
36 explicit OptionsTreeView(
QWidget *p);
37 virtual ~OptionsTreeView()
override =
default;
41 return otvw->OptionsList;
46 std::unique_ptr<OptionsTreeViewWidget> otvw;
49 class ScriptNameWidget :
public QFrame,
public Ui::ScriptNameDialog
53 explicit ScriptNameWidget(
QWidget *p);
56 class ScriptNameDialog :
public QDialog
60 explicit ScriptNameDialog(
QWidget *p);
61 ~ScriptNameDialog()
override;
64 return snw->ScriptName->text();
68 return snw->AuthorName->text();
72 void slotEnableOkButton();
75 ScriptNameWidget *snw {
nullptr };
79 class ScriptBuilderUI :
public QFrame,
public Ui::ScriptBuilder
83 explicit ScriptBuilderUI(
QWidget *p);
100 bool unsavedChanges()
const
102 return UnsavedChanges;
104 void setUnsavedChanges(
bool b =
true);
108 bool parseFunction(
const QString &fn_name,
const QString &fn_args);
111 void slotAddFunction();
112 void slotMoveFunctionUp();
113 void slotMoveFunctionDown();
114 void slotArgWidget();
121 void slotRunScript();
124 void slotCopyFunction();
125 void slotRemoveFunction();
128 void slotFindObject();
129 void slotShowOptions();
130 void slotLookToward();
131 void slotArgFindObject();
136 void slotChangeDate();
137 void slotChangeTime();
139 void slotWaitForKey();
141 void slotViewOption();
142 void slotChangeCity();
143 void slotChangeProvince();
144 void slotChangeCountry();
145 void slotTimeScale();
147 void slotExportImage();
148 void slotPrintImage();
149 void slotChangeColor();
150 void slotChangeColorName();
151 void slotLoadColorScheme();
154 void slotINDIWaitCheck(
bool toggleState);
155 void slotINDIFindObject();
156 void slotINDIStartDeviceName();
157 void slotINDIStartDeviceMode();
158 void slotINDISetDevice();
159 void slotINDIShutdown();
160 void slotINDISwitchDeviceConnection();
161 void slotINDISetPortDevicePort();
162 void slotINDISetTargetCoordDeviceRA();
163 void slotINDISetTargetCoordDeviceDEC();
164 void slotINDISetTargetNameTargetName();
165 void slotINDISetActionName();
166 void slotINDIWaitForActionName();
167 void slotINDISetFocusSpeed();
168 void slotINDIStartFocusDirection();
169 void slotINDISetFocusTimeout();
170 void slotINDISetGeoLocationDeviceLong();
171 void slotINDISetGeoLocationDeviceLat();
172 void slotINDIStartExposureTimeout();
173 void slotINDISetUTC();
174 void slotINDISetScopeAction();
175 void slotINDISetFrameType();
176 void slotINDISetCCDTemp();
177 void slotINDISetFilterNum();
181 void initViewOptions();
182 void warningMismatch(
const QString &expected)
const;
184 ScriptBuilderUI *sb {
nullptr };
196 ArgLookToward *argLookToward {
nullptr };
197 ArgFindObject *argFindObject {
nullptr };
198 ArgSetRaDec *argSetRaDec {
nullptr };
199 ArgSetAltAz *argSetAltAz {
nullptr };
200 ArgSetLocalTime *argSetLocalTime {
nullptr };
201 ArgWaitFor *argWaitFor {
nullptr };
202 ArgWaitForKey *argWaitForKey {
nullptr };
203 ArgSetTrack *argSetTracking {
nullptr };
204 ArgChangeViewOption *argChangeViewOption {
nullptr };
205 ArgSetGeoLocation *argSetGeoLocation {
nullptr };
206 ArgTimeScale *argTimeScale {
nullptr };
207 ArgZoom *argZoom {
nullptr };
208 ArgExportImage *argExportImage {
nullptr };
209 ArgPrintImage *argPrintImage {
nullptr };
210 ArgSetColor *argSetColor {
nullptr };
211 ArgLoadColorScheme *argLoadColorScheme {
nullptr };
214 ArgStartINDI * argStartINDI;
215 ArgSetDeviceINDI * argSetDeviceINDI;
216 ArgShutdownINDI * argShutdownINDI;
217 ArgSwitchINDI * argSwitchINDI;
218 ArgSetPortINDI * argSetPortINDI;
219 ArgSetTargetCoordINDI * argSetTargetCoordINDI;
220 ArgSetTargetNameINDI * argSetTargetNameINDI;
221 ArgSetActionINDI * argSetActionINDI;
222 ArgSetActionINDI * argWaitForActionINDI;
223 ArgSetFocusSpeedINDI * argSetFocusSpeedINDI;
224 ArgStartFocusINDI * argStartFocusINDI;
225 ArgSetFocusTimeoutINDI * argSetFocusTimeoutINDI;
226 ArgSetGeoLocationINDI * argSetGeoLocationINDI;
227 ArgStartExposureINDI * argStartExposureINDI;
228 ArgSetUTCINDI * argSetUTCINDI;
229 ArgSetScopeActionINDI * argSetScopeActionINDI;
230 ArgSetFrameTypeINDI * argSetFrameTypeINDI;
231 ArgSetCCDTempINDI * argSetCCDTempINDI;
232 ArgSetFilterNumINDI * argSetFilterNumINDI;
235 ScriptNameDialog *snd {
nullptr };
236 OptionsTreeView *otv {
nullptr };
247 bool UnsavedChanges {
false };
248 bool checkForChanges {
false };
251 QString currentScriptName, currentAuthor;