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