- if (format == "text" || format == "textparagraph")
- return true;
- else
- return Converter::IsReachable(format, "lyx");
+ vector<string> loaders = Loaders();
+ for (vector<string>::const_iterator it = loaders.begin();
+ it != loaders.end(); ++it)
+ if (converters.IsReachable(format, *it))
+ return true;
+ return false;
+}
+#endif
+
+
+vector<Format const *> const Importer::GetImportableFormats()
+{
+ vector<string> loaders = Loaders();
+ vector<Format const *> result =
+ converters.GetReachableTo(loaders[0], true);
+ for (vector<string>::const_iterator it = loaders.begin() + 1;
+ it != loaders.end(); ++it) {
+ vector<Format const *> r =
+ converters.GetReachableTo(*it, false);
+ result.insert(result.end(), r.begin(), r.end());
+ }
+ return result;
+}
+
+
+vector<string> const Importer::Loaders()
+{
+ vector<string> v;
+ v.push_back("lyx");
+ v.push_back("text");
+ v.push_back("textparagraph");
+ return v;