File indexing completed on 2023-03-17 11:01:12
0001 #ifndef Fireworks_Core_FWParameterSetterBase_h
0002 #define Fireworks_Core_FWParameterSetterBase_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include <memory>
0023
0024
0025
0026
0027 class FWParameterBase;
0028 class FWParameterSetterEditorBase;
0029 class TGFrame;
0030
0031 class FWParameterSetterBase {
0032 public:
0033 FWParameterSetterBase();
0034 virtual ~FWParameterSetterBase();
0035
0036
0037
0038
0039
0040 static std::shared_ptr<FWParameterSetterBase> makeSetterFor(FWParameterBase*);
0041
0042
0043
0044 void attach(FWParameterBase*, FWParameterSetterEditorBase*);
0045 virtual TGFrame* build(TGFrame* iParent, bool labelBack = true) = 0;
0046
0047 virtual void setEnabled(bool);
0048
0049 protected:
0050 void update() const;
0051 FWParameterSetterEditorBase* frame() const { return m_frame; }
0052
0053 public:
0054 FWParameterSetterBase(const FWParameterSetterBase&) = delete;
0055 const FWParameterSetterBase& operator=(const FWParameterSetterBase&) = delete;
0056
0057 private:
0058 virtual void attach(FWParameterBase*) = 0;
0059
0060
0061
0062 FWParameterSetterEditorBase* m_frame;
0063 };
0064
0065 #endif