00001 // ============================================================================ 00002 // $Id: TRecordDisplayComponent.hh,v 1.2 2004/03/07 10:30:27 goiwai Exp $ 00003 // $Name: CLDAQ-1-13-00 $ 00004 // $Log: TRecordDisplayComponent.hh,v $ 00005 // Revision 1.2 2004/03/07 10:30:27 goiwai 00006 // ROOTに組みこむためのおまじないマクロを埋めこみました。 00007 // 全てにおいて完全に動作するわけではありません。 00008 // 00009 // Revision 1.1 2004/03/01 02:36:25 goiwai 00010 // RecordDisplay用のクラス群を置きました. 00011 // お蔵入りになってたものに手直しを加えたものですが, 00012 // まだ不充分な点も在ります.徐々に修正していきたいと思います. 00013 // DataRecordオブジェクトを表示するためのツール群なのでRecordDisplayと呼 00014 // んでいます,多分にオフライン要素が強いです. 00015 // オンラインよりにしたものを後でEventDisplay(Eventを表示)としてコミット 00016 // します. 00017 // 00018 // ============================================================================ 00019 #ifdef __CLDAQ_ROOT_USE 00020 #ifndef CLDAQ__TRECORDDISPLAYCOMPONENT_HH 00021 #define CLDAQ__TRECORDDISPLAYCOMPONENT_HH 00022 00023 #include <TGFrame.h> 00024 #include "Tglobals.h" 00025 00026 class TRecordDisplay; 00027 class TGCompositeFrame; 00028 00029 class TRecordDisplayComponent 00030 { 00031 00032 protected: 00033 TRecordDisplay* theRecordDisplay; 00034 TGCompositeFrame* theParentFrame; 00035 Tbool theFinishBuild; 00036 00037 public: 00038 TRecordDisplayComponent( TRecordDisplay* evd ); 00039 TRecordDisplayComponent( TRecordDisplay* evd, TGCompositeFrame* frame ); 00040 00041 protected: 00042 virtual ~TRecordDisplayComponent(); 00043 00044 public: 00045 virtual Tvoid Build() = 0; 00046 00047 public: 00048 Tbool IsBuild() const; 00049 const TRecordDisplay* GetRecordDisplay() const; 00050 virtual Tvoid SetRecordDisplay( TRecordDisplay* evd ); 00051 const TGCompositeFrame* GetParentFrame() const; 00052 virtual Tvoid SetParentFrame( TGCompositeFrame* frame ); 00053 00054 #ifdef __CLDAQ_ROOT_DLL 00055 ClassDef(TRecordDisplayComponent,0) 00056 #endif 00057 00058 }; 00059 00060 inline Tbool TRecordDisplayComponent::IsBuild() const 00061 { 00062 return theFinishBuild; 00063 } 00064 00065 inline const TRecordDisplay* TRecordDisplayComponent::GetRecordDisplay() const 00066 { 00067 return theRecordDisplay; 00068 } 00069 00070 inline Tvoid TRecordDisplayComponent::SetRecordDisplay( TRecordDisplay* evd ) 00071 { 00072 theRecordDisplay = evd; 00073 return; 00074 } 00075 00076 inline const TGCompositeFrame* TRecordDisplayComponent::GetParentFrame() const 00077 { 00078 return theParentFrame; 00079 } 00080 00081 inline Tvoid TRecordDisplayComponent::SetParentFrame( TGCompositeFrame* frame ) 00082 { 00083 theParentFrame = frame; 00084 if ( IsBuild() ) { 00085 Build(); 00086 } 00087 return; 00088 } 00089 00090 #endif 00091 #endif