File indexing completed on 2023-03-17 11:01:11
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
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
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
0054
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