Main Page
Module List
Reference documentation
Namespaces
Classes
Examples
distroDM
c++_api
inc
DM
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
33
typedef
Handle<ITableLayoutCreator>
TableLayoutCreatorHandle
;
34
35
DM_NAMESPACE_END
36
37
#endif //DM_ITABLE_LAYOUT_CREATOR_HPP_INCLUDED