#ifndef GWt_PSPA_Application_SEEN #define GWt_PSPA_Application_SEEN #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "GWt_dialog.h" #include "GWt_console.h" #include "GWt_softwarePanel.h" #include "GWt_ligneFaisceau.h" #include "GWt_globalParameters.h" #include "GWt_sectorParameters.h" #include "dataManager.h" class GWt_abstractElementFactory; using namespace Wt; class PspaApplication : public WApplication { private : dataManager* dtmanage_; string nameOfCase_; string workingDir_; WDialog* dialogSave_; WDialog* dialogOpen_; WLineEdit* saveNameEdit_; WLineEdit* openNameEdit_; GWt_ligneFaisceau* beamLine_; GWt_globalParameters* globalParam_; GWt_sectorParameters* sectorParam_; GWt_dialog* graphicsDialog_; WButtonGroup *group_; vector eDialog_; WText* probleme_; WComboBox* choixElementDessin_; WComboBox* choixTypeDessinFaisceau_; WComboBox* choixAbsPhase_; WComboBox* choixOrdPhase_; WComboBox* choixEnveloppeDessin_; WComboBox* choixHistoDessin_; WComboBox* choixVariableHisto_; WContainerWidget* toto_; WString applicationDefaultTitle_; GWt_softwarePanel* executeWidget_; WFileUpload* uploadFileSelectorWidget_; GWt_console* console_; GWt_abstractElementFactory* abstractElementFactory_; WText* createTitle(const WString&); WWidget* createPalette(WContainerWidget* parent); WWidget* createBeamLine(); WWidget* createExecuteWidget(); WContainerWidget* createDrawingWidget(); WWidget* createDashBoard(WContainerWidget*); void messageBox1(); void messageBox2(); // extensions (.001, .002,...) pour les fichiers "snapshot" int extensionFile_; void closeGraphicDialog(); void createDragImage(const char *url,const char *smallurl,const char *mimeType,WContainerWidget *p,WString()); void sauver(); void dialogSaveDone(WDialog::DialogCode code); void restaurer(); void chargerConfig(); void openFileSelector(); void fileTooLarge(); void dialogOnGraphics(); void faireDessinPhaseSpace(WContainerWidget* toto, particleBeam* beam, string elementLabel, string namex, string namey, int typeFaisceau); void faireDessinEnveloppe(WContainerWidget* toto, string type); void chartPlot2vec(WContainerWidget* toto,vector& xcor,vector& ycor,Wt::Chart::SeriesType seriesType,Wt::Chart::FillRangeType fillRange,Wt::Chart::AxisValue value,bool isGridLinesEnables,string title,string legendx,string legendy,int width,int height,bool makeIcon = false); bool removePathFromConfigName(string& config); bool removeExtensionFromConfigName(string& config); void removeBeamLine(); void dessiner(); void dessinerEnveloppe(); void dessinerPhaseSpace(); void dessinerHistogramme(); public : PspaApplication(const WEnvironment& env); string getSelection(); void faireDessin(); inline dataManager* getDataManager() const { return dtmanage_; } inline GWt_globalParameters* getGlobalParam() const { return globalParam_; } inline GWt_softwarePanel* getExecuteWidget() { return executeWidget_; } inline GWt_ligneFaisceau* getBeamLine() { return beamLine_; } inline GWt_abstractElementFactory* getAbstractElementFactory() { return abstractElementFactory_; } inline string getWorkingDir() const { return workingDir_; } inline void setExtensionFile(int n) { extensionFile_ = n; } inline int getExtensionFile() const { return extensionFile_; } }; #endif