ITableLayoutCreator.hpp
1 #ifndef DM_ITABLE_LAYOUT_CREATOR_HPP_INCLUDED
2 #define DM_ITABLE_LAYOUT_CREATOR_HPP_INCLUDED
3 
4 #ifdef _MSC_VER
5  #pragma once
6 #endif
7 
8 #include "DM/config.hpp"
9 #include "DM/AutoLink.hpp" //enable autolink
10 #include "DM/ColumnTypes.hpp"
11 #include "DM/Handle.hpp"
12 #include "DM/ITableLayout.hpp"
13 
14 
15 DM_NAMESPACE_BEGIN
16 
17 class DM_API ITableLayoutCreator
18 {
19 public:
20  virtual ~ITableLayoutCreator() {}
21 
22  virtual void clear() = 0;
23 
24  virtual void addColumn(E_ColumnType type, const char *name) = 0;
25  virtual void addColumn(E_ColumnType type, const char *name, unsigned arraySize) = 0;
26  virtual void addColumn(E_ColumnSemantic semantic) = 0;
27 
28  virtual TableLayoutHandle getTableLayout() const = 0;
29 
30  virtual TableLayoutHandle getEmptyTableLayout() const = 0;
31 };
32 
34 
35 DM_NAMESPACE_END
36 
37 #endif //DM_ITABLE_LAYOUT_CREATOR_HPP_INCLUDED