]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetNomencl.cpp
pimpl not needed here
[lyx.git] / src / insets / InsetNomencl.cpp
index 8c733897e8aff303b2da9dab72eba8d94eb74822..c2fdade285797ad19269eea8d169c429a036dbe4 100644 (file)
 #include "InsetNomencl.h"
 #include "InsetNote.h"
 
-#include "buffer.h"
-#include "dispatchresult.h"
-#include "funcrequest.h"
+#include "Buffer.h"
+#include "DispatchResult.h"
+#include "FuncRequest.h"
 #include "gettext.h"
-#include "insetiterator.h"
+#include "InsetIterator.h"
 #include "LaTeXFeatures.h"
-#include "metricsinfo.h"
+#include "MetricsInfo.h"
 #include "sgml.h"
 
+#include "support/docstream.h"
+
 
 namespace lyx {
 
@@ -30,20 +32,29 @@ using std::string;
 
 InsetNomencl::InsetNomencl(InsetCommandParams const & p)
        : InsetCommand(p, "nomenclature"),
-         glossary_entry_id(sgml::uniqueID(from_ascii("gloss")))
+         nomenclature_entry_id(sgml::uniqueID(from_ascii("nomen")))
 {}
 
 
+CommandInfo const * InsetNomencl::findInfo(std::string const & /* cmdName */)
+{
+       static const char * const paramnames[] = {"prefix", "symbol", "description", ""};
+       static const bool isoptional[] = {true, false, false};
+       static const CommandInfo info = {3, paramnames, isoptional};
+       return &info;
+}
+
+
 docstring const InsetNomencl::getScreenLabel(Buffer const &) const
 {
-       return _("Glo");
+       return _("Nom");
 }
 
 
 int InsetNomencl::docbook(Buffer const &, odocstream & os,
                OutputParams const &) const
 {
-       os << "<glossterm linkend=\"" << glossary_entry_id << "\">"
+       os << "<glossterm linkend=\"" << nomenclature_entry_id << "\">"
           << sgml::escapeString(getParam("symbol"))
           << "</glossterm>";
        return 0;
@@ -52,7 +63,7 @@ int InsetNomencl::docbook(Buffer const &, odocstream & os,
 
 int InsetNomencl::docbookGlossary(odocstream & os) const
 {
-       os << "<glossentry id=\"" << glossary_entry_id << "\">\n"
+       os << "<glossentry id=\"" << nomenclature_entry_id << "\">\n"
           << "<glossterm>"
           << sgml::escapeString(getParam("symbol"))
           << "</glossterm>\n"
@@ -70,20 +81,23 @@ void InsetNomencl::validate(LaTeXFeatures & features) const
 }
 
 
-InsetBase::Code InsetNomencl::lyxCode() const
-{
-       return InsetBase::NOMENCL_CODE;
-}
-
-
 InsetPrintNomencl::InsetPrintNomencl(InsetCommandParams const & p)
        : InsetCommand(p, string())
 {}
 
 
+CommandInfo const * InsetPrintNomencl::findInfo(std::string const & /* cmdName */)
+{
+               static const char * const paramnames[] = {"labelwidth", ""};
+               static const bool isoptional[] = {true};
+               static const CommandInfo info = {1, paramnames, isoptional};
+               return &info;
+}
+
+
 docstring const InsetPrintNomencl::getScreenLabel(Buffer const &) const
 {
-       return _("Glossary");
+       return _("Nomenclature");
 }
 
 
@@ -93,11 +107,11 @@ int InsetPrintNomencl::docbook(Buffer const & buf, odocstream & os,
        os << "<glossary>\n";
        int newlines = 2;
        for (InsetIterator it = inset_iterator_begin(buf.inset()); it;) {
-               if (it->lyxCode() == InsetBase::NOMENCL_CODE) {
+               if (it->lyxCode() == NOMENCL_CODE) {
                        newlines += static_cast<InsetNomencl const &>(*it).docbookGlossary(os);
                        ++it;
-               } else if(it->lyxCode() == InsetBase::NOTE_CODE &&
-                         static_cast<InsetNote const &>(*it).params().type == InsetNoteParams::Note) {
+               } else if(it->lyxCode() == NOTE_CODE &&
+                         static_cast<InsetNote const &>(*it).params().type == InsetNoteParams::Note) {
                        // Don't output anything nested in note insets
                        size_t const depth = it.depth();
                        ++it;
@@ -118,9 +132,9 @@ void InsetPrintNomencl::validate(LaTeXFeatures & features) const
 }
 
 
-InsetBase::Code InsetPrintNomencl::lyxCode() const
+InsetCode InsetPrintNomencl::lyxCode() const
 {
-       return InsetBase::NOMENCL_PRINT_CODE;
+       return NOMENCL_PRINT_CODE;
 }