CmsShowMainFrame

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
#ifndef Fireworks_Core_CmsShowMainFrame_h
#define Fireworks_Core_CmsShowMainFrame_h
// -*- C++ -*-
//
// Package:     Core
// Class  :     CmsShowMainFrame
//
/**\class CmsShowMainFrame CmsShowMainFrame.h Fireworks/Core/interface/CmsShowMainFrame.h

   Description: <one line class summary>

   Usage:
    <usage>

 */
//
// Original Author:  Chris Jones
//         Created:  Thu May 29 18:11:16 CDT 2008
//

// system include files
#include <TQObject.h>
#include <RQ_OBJECT.h>
#include <vector>
#include <TGFrame.h>

#ifndef __CINT__
#include <sigc++/sigc++.h>
#include "Fireworks/Core/interface/CSGActionSupervisor.h"
#endif

// user include files

// forward declarations
class TGWindow;
class TGTextButton;
class TGPictureButton;
class TGPopupMenu;
class TGStatusBar;
class TTimer;
class CSGAction;
class CSGContinuousAction;
class FWGUIManager;
class TGPopupMenu;
class TGTextEntry;
class TGLabel;
class TGSlider;
class FWIntValueListener;
class FWCustomIconsButton;
class FWNumberEntryField;

namespace edm {
  class EventBase;
}

class CmsShowMainFrame : public TGMainFrame
#ifndef __CINT__
    ,
                         public CSGActionSupervisor,
                         public sigc::trackable
#endif
{
  friend class FWGUIManager;

public:
  CmsShowMainFrame(const TGWindow* p = nullptr, UInt_t w = 1, UInt_t h = 1, FWGUIManager* m = nullptr);
  ~CmsShowMainFrame() override;

  // ---------- const member functions ---------------------

  // ---------- static member functions --------------------

  // ---------- member functions ---------------------------
  void CloseWindow() override;

  void loadEvent(const edm::EventBase& event);
  void enableNavigatorControls();
  void quit();
  void enableActions(bool enable = true) override;
  void enablePrevious(bool enable = true);
  void enableNext(bool enable = true);
  void enableComplexNavigation(bool enable = true);
  bool previousIsEnabled();
  bool nextIsEnabled();
  void updateStatusBar(const char* status);
  void clearStatusBar();
  void setPlayDelayGUI(Float_t val, Bool_t sliderChanged);
  void HandleMenu(Int_t id) override;
  Bool_t HandleKey(Event_t* event) override;
  CSGContinuousAction* playEventsAction() const { return m_playEvents; }
  CSGContinuousAction* loopAction() const { return m_loopAction; }

  CSGContinuousAction* playEventsBackwardsAction() const { return m_playEventsBack; }

  CSGAction* createNewViewerAction(const std::string& iActionName, bool seaprator);

  void showFWorksInfo();

  void bindCSGActionKeys(const TGMainFrame* f) const;

  void setSummaryViewWeight(float);
  float getSummaryViewWeight() const;

  ClassDefOverride(CmsShowMainFrame, 0);

protected:
  FWCustomIconsButton* m_filterEnableBtn;
  TGTextButton* m_filterShowGUIBtn;
  FWNumberEntryField* m_runEntry;
  FWNumberEntryField* m_lumiEntry;
  FWNumberEntryField* m_eventEntry;
  FWIntValueListener* m_delaySliderListener;

  const TGPicture* m_filterIcons[9];

private:
  CmsShowMainFrame(const CmsShowMainFrame&);                   // stop default
  const CmsShowMainFrame& operator=(const CmsShowMainFrame&);  // stop default

  void makeFixedSizeLabel(TGHorizontalFrame* p, const char* txt, UInt_t bgCol, UInt_t txtCol, Int_t width, Int_t height);

  // ---------- member data --------------------------------

  FWGUIManager* m_manager;
  Long_t m_tooltipDelay;
  TGLabel* m_timeText;
  CSGAction* m_nextEvent;
  CSGAction* m_previousEvent;
  CSGAction* m_goToFirst;
  CSGAction* m_goToLast;
  CSGAction* m_playDelay;
  CSGAction* m_fworksInfo;
  CSGContinuousAction* m_playEvents;
  CSGContinuousAction* m_playEventsBack;
  CSGContinuousAction* m_loopAction;

  TGMainFrame* m_fworksAbout;

  TGSlider* m_delaySlider;
  TGLabel* m_delayLabel;

  TGStatusBar* m_statBar;

  TGPopupMenu* m_newViewerMenu;
};

#endif