File indexing completed on 2024-04-06 12:11:30
0001
0002 #ifndef Fireworks_Core_CmsShowMain_h
0003 #define Fireworks_Core_CmsShowMain_h
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #include "Fireworks/Core/interface/CmsShowMainBase.h"
0022
0023 #include "Fireworks/Core/interface/FWGeometry.h"
0024
0025
0026 #include <vector>
0027 #include <string>
0028 #include <memory>
0029 #include "Rtypes.h"
0030
0031
0032 class TGPictureButton;
0033 class TGComboBox;
0034 class TGTextButton;
0035 class TGTextEntry;
0036 class FWEventItemsManager;
0037 class FWViewManagerManager;
0038 class FWModelChangeManager;
0039 class FWColorManager;
0040 class FWSelectionManager;
0041 class FWGUIManager;
0042 class FWEventItem;
0043 class FWPhysicsObjectDesc;
0044 class FWConfigurationManager;
0045 class FWLiteJobMetadataManager;
0046 class TTimer;
0047 class TMonitor;
0048 class TSocket;
0049 class CmsShowNavigator;
0050 class CmsShowTaskExecutor;
0051 class CSGAction;
0052 class CmsShowSearchFiles;
0053
0054 namespace fwlite {
0055 class Event;
0056 }
0057
0058 class CmsShowMain : public CmsShowMainBase {
0059 public:
0060 CmsShowMain(int argc, char* argv[]);
0061 ~CmsShowMain() override;
0062 void resetInitialization();
0063 void openData();
0064 void appendData();
0065 void openDataViaURL();
0066 void quit() override;
0067 void doExit();
0068
0069
0070
0071
0072
0073
0074
0075 void notified(TSocket*);
0076 const fwlite::Event* getCurrentEvent() const;
0077 const fireworks::Context* context() const { return m_context.get(); };
0078 bool getVersionCheck() const { return !m_noVersionCheck; }
0079 bool getGlobalTagCheck() const { return m_globalTagCheck; }
0080
0081 void fileChangedSlot(const TFile* file);
0082
0083 protected:
0084 void eventChangedImp() override;
0085
0086 private:
0087 CmsShowMain(const CmsShowMain&);
0088 const CmsShowMain& operator=(const CmsShowMain&);
0089
0090 void loadGeometry();
0091 void setupDataHandling();
0092 void setupSocket(unsigned int);
0093 void connectSocket();
0094 void setLoadedAnyInputFileAfterStartup();
0095
0096 void autoLoadNewEvent() override;
0097 void checkPosition() override;
0098 void stopPlaying() override;
0099 void checkKeyBindingsOnPLayEventsStateChanged() override;
0100
0101 void reachedEnd();
0102 void reachedBeginning();
0103
0104
0105 void navigatorChangedFilterState(int);
0106 void filterButtonClicked();
0107 void preFiltering();
0108 void postFiltering(bool);
0109
0110 void setLiveMode();
0111 void checkLiveMode();
0112
0113
0114 std::unique_ptr<CmsShowNavigator> m_navigator;
0115 std::unique_ptr<FWLiteJobMetadataManager> m_metadataManager;
0116 std::unique_ptr<fireworks::Context> m_context;
0117
0118 std::vector<std::string> m_inputFiles;
0119 bool m_loadedAnyInputFile;
0120 const TFile* m_openFile;
0121
0122 std::unique_ptr<CmsShowSearchFiles> m_searchFiles;
0123
0124
0125 bool m_live;
0126 std::unique_ptr<SignalTimer> m_liveTimer;
0127 int m_liveTimeout;
0128 UInt_t m_lastXEventSerial;
0129
0130 bool m_noVersionCheck;
0131 bool m_globalTagCheck;
0132
0133 std::unique_ptr<TMonitor> m_monitor;
0134 };
0135
0136 #endif