Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:31

0001 
0002 #ifndef Fireworks_Core_GUIEventFilter_h
0003 #define Fireworks_Core_GUIEventFilter_h
0004 
0005 #include <list>
0006 
0007 #include "TGFrame.h"
0008 
0009 #include "Fireworks/Core/interface/FWEventSelector.h"
0010 #ifndef __CINT__
0011 //#include "Fireworks/Core/interface/FWHLTValidator.h"
0012 #include "Fireworks/Core/interface/CSGActionSupervisor.h"
0013 #endif
0014 
0015 class TGLabel;
0016 class TGRadioButton;
0017 class TGTextButton;
0018 class CSGAction;
0019 class FWCustomIconsButton;
0020 class FWGUIEventSelector;
0021 //class FWJobMetadataManager;
0022 class CmsShowNavigator;
0023 class FWConfiguration;
0024 
0025 namespace fireworks {
0026   class Context;
0027 }
0028 
0029 class FWGUIEventFilter : public TGMainFrame {
0030 public:
0031   FWGUIEventFilter(CmsShowNavigator*);
0032   ~FWGUIEventFilter() override;
0033   void CloseWindow() override;
0034 
0035   void show(std::list<FWEventSelector*>* sels, int filterMode, int state);
0036   void reset();
0037 
0038   std::list<FWGUIEventSelector*>& guiSelectors() { return m_guiSelectors; }
0039 
0040   void newEventEntry();
0041   void newTriggerEntry();
0042   void addSelector(FWEventSelector* sel);
0043   void deleteEntry(FWGUIEventSelector*);
0044   bool isOpen() { return m_isOpen; }
0045   void apply();
0046   void disableFilters();
0047   void setupDisableFilteringButton(bool);
0048   void checkApplyButton();
0049   void changeFilterMode();
0050   int getFilterMode();
0051   void updateFilterStateLabel(int);
0052   /*
0053    void addTo(FWConfiguration&) const;
0054    void setFrom(const FWConfiguration&);
0055    */
0056   Bool_t HandleKey(Event_t* event) override;
0057   ClassDefOverride(FWGUIEventFilter, 0);
0058 
0059 private:
0060   static const int s_entryHeight = 21;
0061 
0062   int m_origFilterMode;
0063   bool m_isOpen;
0064   bool m_filtersRemoved;
0065 
0066   std::list<FWGUIEventSelector*> m_guiSelectors;
0067 
0068   TGCompositeFrame* m_eventSelectionFrameParent;
0069   TGCompositeFrame* m_eventSelectionFrame;
0070 
0071   TGCompositeFrame* m_triggerSelectionFrameParent;
0072   TGCompositeFrame* m_triggerSelectionFrame;
0073 
0074   TGRadioButton* m_rad1;
0075   TGRadioButton* m_rad2;
0076   TGLabel* m_stateLabel;
0077   TGTextButton* m_applyBtn;
0078   TGTextButton* m_disableFilteringBtn;
0079   FWCustomIconsButton* m_addBtn;
0080 
0081   CmsShowNavigator* m_navigator;
0082 };
0083 
0084 #endif