00001 //-------------------------------------------------------------------- 00002 // 00003 // File: TxqAccelTrol.h 00004 // 00005 // Purpose: Interface definition of a window to control an accelerator model. 00006 // 00007 // Version: $Id: TxqAccelTrol.h,v 1.10 2002/04/06 00:30:52 kgl Exp $ 00008 // 00009 // Copyright (c) 2001 by Tech-X Corporation. All rights reserved. 00010 // 00011 // Author: Kelly G. Luetkemeyer 00012 // 00013 //-------------------------------------------------------------------- 00014 00015 #ifndef TXQ_ACCEL_TROL_H 00016 #define TXQ_ACCEL_TROL_H 00017 00018 // local includes 00019 #include "TxqNldTrol.h" 00020 #include "TxAccelIfc.h" 00021 #include "TxqAccelWsTrol.h" 00022 00023 #if defined(QT_THREAD_SUPPORT) 00024 #include "TxqAccelReadThread.h" 00025 #include "TxqLinePlotThread.h" 00026 #endif 00027 00040 class TxqAccelTrol : public TxqNldTrol 00041 { 00042 Q_OBJECT 00043 00044 public: 00045 00057 TxqAccelTrol(TxAccelIfc *a, QWidget* parent=0, const char *nm=0, WFlags f = WType_TopLevel); 00058 00062 virtual ~TxqAccelTrol(); 00063 00064 00076 void setViewMenuItems( vector<TxAttributeSet*> menuItems, 00077 vector<TxAttributeSet*> dataAttribs); 00078 00083 void disableSaveMenuItem(QString s); 00084 00090 virtual int readInputFile(const QString &inputFileName, ifstream *inputFile); 00091 00096 void customEvent( QCustomEvent *e ); 00097 00098 00099 public slots: 00100 00104 virtual void twissPlots(); 00105 00109 virtual void monteTwissPlots(); 00110 00114 virtual void dispersionPlots(); 00115 00119 void saveInputFile(); 00120 00121 signals: 00122 00123 protected: 00124 00128 virtual void start(); 00129 00133 void addSaveMenuItems(); 00134 00138 TxAccelIfc *accelAdaptor; 00139 00140 00141 private: 00142 00146 TxAttributeSet *twissAttrib; 00147 00151 TxAttributeSet *monteTwissAttrib; 00152 00156 TxAttributeSet *dispersionAttrib; 00157 00161 QString inputFileName; 00162 00168 TxLinePlotData *plotData; 00169 00173 TxqAccelWsTrol *dispTrol; 00174 00178 int dispId; 00179 00180 00181 }; 00182 00183 00184 #endif
Copyright Tech-X Corporation, all rights reserved.