#ifndef MAINPANEL #define MAINPANEL #include "ui_MainPanelBase.h" #include class DataView; class PixScanPanel; class ScanPanel; class RegisterPanel; class ModList; class ModListItem; class Q3ListViewItem; class QSplitter; class ModGeoView; class STControlEngine; class ToolPanel; class LogPanel; class STCLogContainer; class QString; class ReadmeDispay; class ModList; class BocAnalysisPanel; class PrimlistPanel; class WaferTestPanel; class STRodCrate; namespace PixLib{ class PixConfDBInterface; class PixModule; class PixModuleGroup; class DBInquire; class RootDB; class Config; } namespace SctPixelRod{ class VmeInterface; } using namespace PixLib; using namespace SctPixelRod; class MainPanel : public Q3MainWindow, public Ui::MainPanelBase { Q_OBJECT public: MainPanel( STControlEngine &engine_in, STCLogContainer &log_in, QWidget* parent = 0, const char* name = 0, Qt::WFlags fl = Qt::WType_TopLevel); ~MainPanel(); public slots: void checkClose(); void showModList(); void showModView(); void showDcsView(); void showData(); void showPixScan(); void showRegister(); void showBocAnalysis(); void showPrimList(); void showWaferTest(); void setShowMenues(); void newConfig(int type=0); void newConfigUSBFEI4A(){newConfig(0);}; void newConfigUSB2FEI4A(){newConfig(1);}; void newConfigUSBFEI4B(){newConfig(2);}; void newConfigUSB2FEI4B(){newConfig(3);}; void newConfigUSBMB(){newConfig(4);}; void newConfigSC(const char *fname, int nFE=1, int FEtype=0); void newConfigTable(const char *fname); void saveConfig(){saveConfig(0);}; void saveConfig(const char *path); void saveAs(); void reopenConfig(); void loadConfig(){loadConfig(0);}; void loadConfig(const char *path); void deleteGroup(); void showInfo(); void editCurrentModule(); void addItem(); int addConfigSC(std::vector &inGrpData, const char *TurboDAQ_fname); int addGroupTable(std::vector &inGrpData, STRodCrate *crate=0, const char *cfgPath=0); int addModulesTable(ModListItem *grpitem, std::vector &inModData, const char *cfgPath); void setCurrentModule(Q3ListViewItem *item); /** Close the current configuration file and clear STCEngine. */ bool b_closeConfig(); void closeConfig(){b_closeConfig();}; void showTools(); void showLogs(); void decrGDAC(){decrGDAC(-1);}; void decrTDAC(){decrTDAC(-1);}; void decrGDAC(int step); void decrTDAC(int step); void decrGDACBy(); void decrTDACBy(); void setVcal(); void incrMccDelay(); void setTDACs(){setTFDACs(true);}; void setFDACs(){setTFDACs(false);}; void setTFDACs(bool isTDAC); void setMasks(); void showAbout(); void showReadme(); void showOptions(); void saveOptions(); void loadOptions(); void setSingleFe(); void AnalyseBocData(const char* filename, const char* scanlabel ); void showPopupWin(const char*); void setScanBusy(); void setScanDone(); void setMyTitle(); private: QSplitter *m_split; QWidget *m_cmnwid; ModList *m_modList, *m_dcsList; ModGeoView *m_modView; PixScanPanel *m_pixScanPanel; BocAnalysisPanel *m_bocPanel; DataView *m_dataPanel; RegisterPanel *m_regPanel; PrimlistPanel *m_prlPanel; WaferTestPanel *m_prbPanel; PixConfDBInterface *m_DB; /** Main engine. Also a reference*/ STControlEngine &m_engine; ToolPanel *m_toolPanel; /** Panel for displaying (log-) text */ LogPanel *m_logPanel; /** Logging facility */ STCLogContainer &m_sTCLogContainer; ModListItem *m_currentListItem; bool m_scanActive; }; #endif // MAINPANEL