CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FWDetailView.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 #ifndef Fireworks_Core_FWDetailView_h
3 #define Fireworks_Core_FWDetailView_h
4 
5 #include <Reflex/Type.h>
6 #include <string>
7 #include <typeinfo>
11 
12 
13 template<typename T>
15 public:
17  FWDetailViewBase(typeid(T)) {
18  }
19 
20  static std::string classTypeName() {
21  return Reflex::Type::ByTypeInfo(typeid(T)).Name(Reflex::SCOPED);
22  }
23 
24  static std::string classRegisterTypeName() {
25  return typeid(T).name();
26  }
27 
28 private:
29  virtual void build(const FWModelId& iID, const void* iData) {
30  setItem(iID.item());
31  build(iID, reinterpret_cast<const T*> (iData));
32  }
33 
34  virtual void build(const FWModelId&, const T*) = 0;
35  virtual void setTextInfo(const FWModelId&, const T*) = 0;
36 };
37 
38 #endif
virtual void setTextInfo(const FWModelId &, const T *)=0
void setItem(const FWEventItem *x)
static std::string classTypeName()
Definition: FWDetailView.h:20
virtual void build(const FWModelId &iID, const void *iData)
Definition: FWDetailView.h:29
static std::string classRegisterTypeName()
Definition: FWDetailView.h:24
long double T
const FWEventItem * item() const
Definition: FWModelId.h:45