]> git.lyx.org Git - lyx.git/blob - src/tabular_funcs.h
delete files upon distclean
[lyx.git] / src / tabular_funcs.h
1 // -*- C++ -*-
2 /* This file is part of
3  * ======================================================
4  *
5  *           LyX, The Document Processor
6  *
7  *           Copyright 2000-2001 The LyX Team.
8  *
9  *           @author: Jürgen Vigna
10  *
11  * ======================================================
12  */
13
14 #ifndef TABULAR_FUNCS_H
15 #define TABULAR_FUNCS_H
16
17 #ifdef __GNUG__
18 #pragma interface
19 #endif
20
21 #include "LString.h"
22 #include "tabular.h"
23
24 #include <iosfwd>
25
26 // Perfect case for a template... (Lgb)
27 // or perhaps not...
28 template<class T>
29 string const write_attribute(string const & name, T const & t)
30 {
31         if (tostr(t).empty())
32                 return string();
33
34         string str = " " + name + "=\"" + tostr(t) + "\"";
35         return str;
36 }
37 template<>
38 string const write_attribute(string const & name, bool const & b);
39 template<>
40 string const write_attribute(string const & name, int const & b);
41 template<>
42 string const write_attribute(string const & name, LyXLength const & value);
43 string const tostr(LyXAlignment const & num);
44 string const tostr(LyXTabular::VAlignment const & num);
45 string const tostr(LyXTabular::BoxType const & num);
46
47 // I would have liked a fromstr template a lot better. (Lgb)
48 extern bool string2type(string const str, LyXAlignment & num);
49 extern bool string2type(string const str, LyXTabular::VAlignment & num);
50 extern bool string2type(string const str, LyXTabular::BoxType & num);
51 extern bool string2type(string const str, bool & num);
52 extern bool getTokenValue(string const & str, char const * token, string &ret);
53 extern bool getTokenValue(string const & str, char const * token, int & num);
54 extern bool getTokenValue(string const & str, char const * token,
55                           LyXAlignment & num);
56 extern bool getTokenValue(string const & str, char const * token,
57                           LyXTabular::VAlignment & num);
58 extern bool getTokenValue(string const & str, char const * token,
59                           LyXTabular::BoxType & num);
60 extern bool getTokenValue(string const & str, char const * token, bool & flag);
61 extern bool getTokenValue(string const & str, char const * token,
62                           LyXLength & len);
63 extern void l_getline(std::istream & is, string & str);
64
65 #endif