]> git.lyx.org Git - lyx.git/blobdiff - src/insets/Inset.cpp
Fix bug #7975 following suggestions made by JMarc there.
[lyx.git] / src / insets / Inset.cpp
index 76ec593f5a3481d1bb2ec0fe6211314f3c92835a..e9c736c61937d39cbcc0986757aad0fc1ba7e2ba 100644 (file)
@@ -123,6 +123,8 @@ static void build_translator()
        insetnames[MATH_BOLDSYMBOL_CODE] = InsetName("mathboldsymbol");
        insetnames[MATH_BOX_CODE] = InsetName("mathbox");
        insetnames[MATH_BRACE_CODE] = InsetName("mathbrace");
+       insetnames[MATH_CANCEL_CODE] = InsetName("mathcancel");
+       insetnames[MATH_CANCELTO_CODE] = InsetName("mathcancelto");
        insetnames[MATH_CASES_CODE] = InsetName("mathcases");
        insetnames[MATH_CHAR_CODE] = InsetName("mathchar");
        insetnames[MATH_COLOR_CODE] = InsetName("mathcolor");
@@ -186,11 +188,10 @@ Buffer & Inset::buffer()
 {
        if (!buffer_) {
                odocstringstream s;
-               lyxerr << "Inset: " << this
-                                       << " LyX Code: " << lyxCode()
-                                       << " name: " << insetName(lyxCode())
-                                       << std::endl;
-               s << "LyX Code: " << lyxCode() << " name: " << name();
+               string const iname = insetName(lyxCode());
+               LYXERR0("Inset: " << this << " LyX Code: " << lyxCode()
+                                       << " name: " << iname);
+               s << "LyX Code: " << lyxCode() << " name: " << iname;
                LASSERT(false, /**/);
                throw ExceptionMessage(BufferException, 
                        from_ascii("Inset::buffer_ member not initialized!"), s.str());
@@ -218,7 +219,7 @@ bool Inset::isBufferValid() const
 }
 
 
-docstring Inset::name() const
+docstring Inset::layoutName() const
 {
        return from_ascii("unknown");
 }
@@ -254,15 +255,20 @@ docstring Inset::toolTip(BufferView const &, int, int) const
 }
 
 
-docstring Inset::contextMenu(BufferView const &, int, int) const
+void Inset::forToc(docstring &, size_t) const
+{
+}
+
+
+string Inset::contextMenu(BufferView const &, int, int) const
 {
        return contextMenuName();
 }
 
 
-docstring Inset::contextMenuName() const
+string Inset::contextMenuName() const
 {
-       return docstring();
+       return string();
 }
 
 
@@ -341,7 +347,7 @@ void Inset::doDispatch(Cursor & cur, FuncRequest &cmd)
                // if the derived inset did not explicitly handle mouse_release,
                // we assume we request the settings dialog
                if (!cur.selection() && cmd.button() == mouse_button::button1
-                         && hasSettings()) {
+                   && clickable(cmd.x(), cmd.y()) && hasSettings()) {
                        FuncRequest tmpcmd(LFUN_INSET_SETTINGS);
                        dispatch(cur, tmpcmd);
                }
@@ -574,7 +580,7 @@ InsetLayout const & Inset::getLayout() const
 {
        if (!buffer_)
                return DocumentClass::plainInsetLayout();
-       return buffer().params().documentClass().insetLayout(name());
+       return buffer().params().documentClass().insetLayout(layoutName());
 }