UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
zqb_view.hpp
1 /* zqb_view.hpp */
2 /* $Id: zqb_view.hpp 20080 2009-12-15 15:57:52Z vlad $ */
3 #ifndef __zqb_view_hpp
4 #define __zqb_view_hpp
5 
6 #include <vector>
7 
8 #include "zqb_autoname.hpp"
9 
10 
12 class ZdDocument;
13 
14 
22 class ZqbView : virtual public ZqbAutoName
23 {
24 public:
25 
27  ZqbView (const char* szName = NULL);
28 
30  virtual ~ZqbView ();
31 
32 
33  /*
34  * Run-time type identification facility
35  */
36 
46  virtual bool compatibleDoc (const ZdDocument* pDoc) const = 0;
47 
52  static bool findTypeAmong (const ZdDocument* pDoc,
53  const char* szExpectedType1,
54  /* szExpectedType2, */...);
55 
56  /*
57  * Link between document and view
58  */
59 
65  virtual void attachDoc (ZdDocument* pData);
66 
68  virtual void detachDoc ();
69 
80  virtual ZdDocument* doc ();
81 
82 
83  /*
84  * Refresh operations for data document and for the view
85  */
86 
89  virtual void updateView ();
90 
93  virtual void updateDoc ();
94 
95 private:
96 
98  ZdDocument *m_pDoc;
99 
101  static int m_iNameCounter;
102 
103 };
104 
105 
107 typedef std::vector<ZqbView*> ZqbViewVector;
108 
109 
110 #endif /* zqb_view.hpp */
ZqbView(const char *szName=NULL)
virtual void detachDoc()
Definition: zqb_view.hpp:22
static bool findTypeAmong(const ZdDocument *pDoc, const char *szExpectedType1,...)
virtual void attachDoc(ZdDocument *pData)
virtual ~ZqbView()
virtual void updateDoc()
Definition: zd_document.hpp:16
Definition: zqb_autoname.hpp:18
virtual void updateView()
virtual bool compatibleDoc(const ZdDocument *pDoc) const =0
virtual ZdDocument * doc()