File indexing completed on 2024-04-06 12:11:32
0001
0002 #ifndef Fireworks_Core_FWNavigatorBase_h
0003 #define Fireworks_Core_FWNavigatorBase_h
0004
0005
0006
0007
0008
0009
0010 #include <string>
0011 #include <sigc++/sigc++.h>
0012 #include <Rtypes.h>
0013
0014
0015 #include "Fireworks/Core/interface/FWConfigurable.h"
0016
0017 #include "DataFormats/Provenance/interface/EventID.h"
0018
0019
0020 class CmsShowMainBase;
0021
0022 namespace edm {
0023 class EventBase;
0024 class EventID;
0025 }
0026
0027 class FWNavigatorBase : public FWConfigurable {
0028 public:
0029 enum EFilterState { kOff, kOn, kWithdrawn };
0030 enum EFilterMode { kOr = 1, kAnd = 2 };
0031
0032 public:
0033 FWNavigatorBase(const CmsShowMainBase&);
0034 ~FWNavigatorBase() override;
0035
0036
0037 void addTo(FWConfiguration&) const override = 0;
0038 void setFrom(const FWConfiguration&) override = 0;
0039
0040 virtual void nextEvent() = 0;
0041 virtual void previousEvent() = 0;
0042 virtual bool nextSelectedEvent() = 0;
0043 virtual bool previousSelectedEvent() = 0;
0044 virtual void firstEvent() = 0;
0045 virtual void lastEvent() = 0;
0046
0047 virtual void goToRunEvent(edm::RunNumber_t, edm::LuminosityBlockNumber_t, edm::EventNumber_t) = 0;
0048
0049 virtual bool isLastEvent() = 0;
0050 virtual bool isFirstEvent() = 0;
0051
0052 virtual const edm::EventBase* getCurrentEvent() const = 0;
0053 virtual int getNSelectedEvents() = 0;
0054 virtual int getNTotalEvents() = 0;
0055
0056 sigc::signal<void()> newEvent_;
0057
0058 FWNavigatorBase(const FWNavigatorBase&) = delete;
0059 const FWNavigatorBase& operator=(const FWNavigatorBase&) = delete;
0060
0061 private:
0062
0063
0064
0065
0066 const CmsShowMainBase& m_main;
0067 };
0068
0069 #endif