* Licence details can be found in the file COPYING.
*
* \author Edwin Leuven
+ * \author Richard Heck (modules)
*
* Full author contact details are available in file CREDITS.
*/
#include "BufferParams.h"
#include "BufferView.h"
#include "buffer_funcs.h"
+#include "Color.h"
#include "FuncRequest.h"
#include "gettext.h"
#include "Language.h"
#include "LaTeXFeatures.h"
-#include "Color.h"
+#include "ModuleList.h"
#include "OutputParams.h"
#include "TextClassList.h"
#include <sstream>
using std::ostringstream;
+using std::sort;
using std::string;
+using std::vector;
namespace lyx {
namespace frontend {
{}
-bool ControlDocument::initialiseParams(std::string const &)
+bool ControlDocument::initialiseParams(string const &)
{
bp_.reset(new BufferParams);
*bp_ = buffer().params();
+ loadModuleNames();
return true;
}
}
+vector<string> ControlDocument::getModuleNames()
+{
+ return moduleNames_;
+}
+
+
+vector<string> const & ControlDocument::getSelectedModules()
+{
+ return params().getModules();
+}
+
+
+string ControlDocument::getModuleDescription(string const & modName) const
+{
+ LyXModule const * const mod = moduleList[modName];
+ if (!mod)
+ return string("Module unavailable!");
+ return mod->description;
+}
+
+
+vector<string>
+ControlDocument::getPackageList(string const & modName) const
+{
+ LyXModule const * const mod = moduleList[modName];
+ if (!mod)
+ return vector<string>(); //empty such thing
+ return mod->packageList;
+}
+
+
TextClass const & ControlDocument::textClass() const
{
return textclasslist[bp_->getBaseClass()];
if (buffer().params().language == newL)
return;
- string const lang_name = newL->lang();
+ string const & lang_name = newL->lang();
dispatch(FuncRequest(LFUN_BUFFER_LANGUAGE, lang_name));
}
}
-bool const ControlDocument::isFontAvailable(std::string const & font) const
+bool ControlDocument::isFontAvailable(string const & font) const
{
if (font == "default" || font == "cmr"
|| font == "cmss" || font == "cmtt")
}
-bool const ControlDocument::providesOSF(std::string const & font) const
+bool ControlDocument::providesOSF(string const & font) const
{
if (font == "cmr")
return isFontAvailable("eco");
}
-bool const ControlDocument::providesSC(std::string const & font) const
+bool ControlDocument::providesSC(string const & font) const
{
if (font == "palatino")
return isFontAvailable("mathpazo");
}
-bool const ControlDocument::providesScale(std::string const & font) const
+bool ControlDocument::providesScale(string const & font) const
{
return (font == "helvet" || font == "luximono"
|| font == "berasans" || font == "beramono");
}
+void ControlDocument::loadModuleNames ()
+{
+ moduleNames_.clear();
+ LyXModuleList::const_iterator it = moduleList.begin();
+ for (; it != moduleList.end(); ++it)
+ moduleNames_.push_back(it->name);
+ if (!moduleNames_.empty())
+ sort(moduleNames_.begin(), moduleNames_.end());
+}
+
+
} // namespace frontend
} // namespace lyx