]> git.lyx.org Git - lyx.git/blobdiff - src/tabular_funcs.h
move some selection related stuff over to textcursor.C
[lyx.git] / src / tabular_funcs.h
index d231e5592c1c04a694f1c9fc9c49578ac4841ab2..78e9b0e784fe25ea26d7364e3752356ef4cc5665 100644 (file)
@@ -1,56 +1,61 @@
 // -*- C++ -*-
 /* This file is part of
- * ====================================================== 
- * 
+ * ======================================================
+ *
  *           LyX, The Document Processor
- *      
+ *
  *           Copyright 2000-2001 The LyX Team.
  *
  *           @author: Jürgen Vigna
  *
- * ====================================================== 
+ * ======================================================
  */
 
 #ifndef TABULAR_FUNCS_H
 #define TABULAR_FUNCS_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "LString.h"
-#include "layout.h"
 #include "tabular.h"
+#include "support/tostr.h"
 
+#include <iosfwd>
 
 // Perfect case for a template... (Lgb)
 // or perhaps not...
 template<class T>
-string const write_attribute(string const & name, T const & t);
+string const write_attribute(string const & name, T const & t)
+{
+       if (tostr(t).empty())
+               return string();
+
+       string str = " " + name + "=\"" + tostr(t) + "\"";
+       return str;
+}
 template<>
 string const write_attribute(string const & name, bool const & b);
 template<>
+string const write_attribute(string const & name, int const & b);
+template<>
 string const write_attribute(string const & name, LyXLength const & value);
 string const tostr(LyXAlignment const & num);
 string const tostr(LyXTabular::VAlignment const & num);
 string const tostr(LyXTabular::BoxType const & num);
 
 // I would have liked a fromstr template a lot better. (Lgb)
-extern bool string2type(string const str, LyXAlignment & num);
-extern bool string2type(string const str, LyXTabular::VAlignment & num);
-extern bool string2type(string const str, LyXTabular::BoxType & num);
-extern bool string2type(string const str, bool & num);
-extern bool getTokenValue(string const & str, const char * token, string &ret);
-extern bool getTokenValue(string const & str, const char * token, int & num);
-extern bool getTokenValue(string const & str, const char * token,
-                          LyXAlignment & num);
-extern bool getTokenValue(string const & str, const char * token,
-                          LyXTabular::VAlignment & num);
-extern bool getTokenValue(string const & str, const char * token,
-                          LyXTabular::BoxType & num);
-extern bool getTokenValue(string const & str, const char * token, bool & flag);
-extern bool getTokenValue(string const & str, const char * token,
-                          LyXLength & len);
-extern void l_getline(istream & is, string & str);
+bool string2type(string const str, LyXAlignment & num);
+bool string2type(string const str, LyXTabular::VAlignment & num);
+bool string2type(string const str, LyXTabular::BoxType & num);
+bool string2type(string const str, bool & num);
+bool getTokenValue(string const & str, char const * token, string &ret);
+bool getTokenValue(string const & str, char const * token, int & num);
+bool getTokenValue(string const & str, char const * token,
+                         LyXAlignment & num);
+bool getTokenValue(string const & str, char const * token,
+                         LyXTabular::VAlignment & num);
+bool getTokenValue(string const & str, char const * token,
+                         LyXTabular::BoxType & num);
+bool getTokenValue(string const & str, char const * token, bool & flag);
+bool getTokenValue(string const & str, char const * token,
+                         LyXLength & len);
+void l_getline(std::istream & is, string & str);
 
 #endif