CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/Fireworks/Core/interface/FWParameterSetterBase.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWParameterSetterBase_h
00002 #define Fireworks_Core_FWParameterSetterBase_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWParameterSetterBase
00007 //
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Fri Mar  7 14:16:14 EST 2008
00019 // $Id: FWParameterSetterBase.h,v 1.7 2011/02/11 19:56:36 amraktad Exp $
00020 //
00021 
00022 // system include files
00023 #include <boost/shared_ptr.hpp>
00024 
00025 // user include files
00026 
00027 // forward declarations
00028 class FWParameterBase;
00029 class TGFrame;
00030 //class TGedFrame;
00031 class FWParameterSetterEditorBase;
00032 
00033 class FWParameterSetterBase
00034 {
00035 
00036 public:
00037    FWParameterSetterBase();
00038    virtual ~FWParameterSetterBase();
00039 
00040    // ---------- const member functions ---------------------
00041 
00042    // ---------- static member functions --------------------
00043 
00044    static boost::shared_ptr<FWParameterSetterBase> makeSetterFor(FWParameterBase*);
00045    // ---------- member functions ---------------------------
00046    void attach(FWParameterBase*, FWParameterSetterEditorBase*);
00047    virtual TGFrame* build(TGFrame* iParent, bool labelBack = true) = 0;
00048 
00049    virtual void setEnabled(bool);
00050 
00051 protected:
00052    void update() const;
00053    FWParameterSetterEditorBase* frame() const {
00054       return m_frame;
00055    }
00056 private:
00057    virtual void attach(FWParameterBase*) = 0;
00058 
00059    FWParameterSetterBase(const FWParameterSetterBase&);    // stop default
00060 
00061    const FWParameterSetterBase& operator=(const FWParameterSetterBase&);    // stop default
00062 
00063    // ---------- member data --------------------------------
00064    FWParameterSetterEditorBase* m_frame;
00065 };
00066 
00067 
00068 #endif