FWParameterSetterBase

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
#ifndef Fireworks_Core_FWParameterSetterBase_h
#define Fireworks_Core_FWParameterSetterBase_h
// -*- C++ -*-
//
// Package:     Core
// Class  :     FWParameterSetterBase
//
/**\class FWParameterSetterBase FWParameterSetterBase.h Fireworks/Core/interface/FWParameterSetterBase.h

   Description: <one line class summary>

   Usage:
    <usage>

 */
//
// Original Author:  Chris Jones
//         Created:  Fri Mar  7 14:16:14 EST 2008
//

// system include files
#include <memory>

// user include files

// forward declarations
class FWParameterBase;
class FWParameterSetterEditorBase;
class TGFrame;

class FWParameterSetterBase {
public:
  FWParameterSetterBase();
  virtual ~FWParameterSetterBase();

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

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

  static std::shared_ptr<FWParameterSetterBase> makeSetterFor(FWParameterBase*);

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

  void attach(FWParameterBase*, FWParameterSetterEditorBase*);
  virtual TGFrame* build(TGFrame* iParent, bool labelBack = true) = 0;

  virtual void setEnabled(bool);

protected:
  void update() const;
  FWParameterSetterEditorBase* frame() const { return m_frame; }

public:
  FWParameterSetterBase(const FWParameterSetterBase&) = delete;                   // stop default
  const FWParameterSetterBase& operator=(const FWParameterSetterBase&) = delete;  // stop default

private:
  virtual void attach(FWParameterBase*) = 0;

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

  FWParameterSetterEditorBase* m_frame;
};

#endif