]> git.lyx.org Git - lyx.git/blobdiff - lib/lyx2lyx/LyX.py
Add support for column separation in page margins. Fixes bug 3337.
[lyx.git] / lib / lyx2lyx / LyX.py
index 01fc767102bd9b9e690bbe5b7c6a1a85ac1405de..0c1cbdb302e949fc36cd1d7269cf2eb0df9f0655 100644 (file)
@@ -80,7 +80,7 @@ format_relation = [("0_06",    [200], minor_versions("0.6" , 4)),
                    ("1_3",     [221], minor_versions("1.3" , 7)),
                    ("1_4", range(222,246), minor_versions("1.4" , 5)),
                    ("1_5", range(246,277), minor_versions("1.5" , 2)),
-                   ("1_6", range(277,309), minor_versions("1.6" , 0))] # Uwe: Serbian-Latin
+                   ("1_6", range(277,316), minor_versions("1.6" , 0))] # rgh: colsep
 
 
 def formats_list():
@@ -132,6 +132,8 @@ def get_encoding(language, inputencoding, format, cjk_encoding):
         return lang[language][3]
     if inputencoding == "":
         return "latin1"
+    if inputencoding == "utf8x":
+        return "utf8"
     # python does not know the alias latin9
     if inputencoding == "latin9":
         return "iso-8859-15"
@@ -390,6 +392,56 @@ class LyX_base:
         self.header[i] = "\\textclass %s" % self.textclass
 
 
+    #Note that the module will be added at the END of the extant ones
+    def add_module(self, module):
+      i = find_token(self.header, "\\begin_modules", 0)
+      if i == -1:
+        #No modules yet included
+        i = find_token(self.header, "\\textclass", 0)
+        if i == -1:
+          self.warning("Malformed LyX document: No \\textclass!!")
+          return
+        modinfo = ["\\begin_modules", module, "\\end_modules"]
+        self.header[i + 1: i + 1] = modinfo
+        return
+      j = find_token(self.header, "\\end_modules", i)
+      if j == -1:
+        self.warning("(add_module)Malformed LyX document: No \\end_modules.")
+        return
+      k = find_token(self.header, module, i)
+      if k != -1 and k < j:
+        return
+      self.header.insert(j, module)
+
+
+    def get_module_list(self):
+      i = find_token(self.header, "\\begin_modules", 0)
+      if (i == -1):
+        return []
+      j = find_token(self.header, "\\end_modules", i)
+      return self.header[i + 1 : j]
+
+
+    def set_module_list(self, mlist):
+      modbegin = find_token(self.header, "\\begin_modules", 0)
+      newmodlist = ['\\begin_modules'] + mlist + ['\\end_modules']
+      if (modbegin == -1):
+        #No modules yet included
+        tclass = find_token(self.header, "\\textclass", 0)
+        if tclass == -1:
+          self.warning("Malformed LyX document: No \\textclass!!")
+          return
+        modbegin = tclass + 1
+        self.header[modbegin:modbegin] = newmodlist
+        return
+      modend = find_token(self.header, "\\end_modules", modbegin)
+      if modend == -1:
+        self.warning("(set_module_list)Malformed LyX document: No \\end_modules.")
+        return
+      newmodlist = ['\\begin_modules'] + mlist + ['\\end_modules']
+      self.header[modbegin:modend + 1] = newmodlist
+
+
     def set_parameter(self, param, value):
         " Set the value of the header parameter."
         i = find_token(self.header, '\\' + param, 0)