]> git.lyx.org Git - lyx.git/blobdiff - src/insets/Inset.cpp
Fix bug #8083: Fix the selection of cells below multirows
[lyx.git] / src / insets / Inset.cpp
index d1a4e8b0696e0c882741266d9875f6ef0a2014ec..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());
 }
 
 
@@ -619,7 +625,7 @@ void Inset::setDimCache(MetricsInfo const & mi, Dimension const & dim) const
 Buffer const * Inset::updateFrontend() const
 {
        //FIXME (Abdel 03/12/10): see bugs #6814 and #6949
-       // If we Buffer is null and we end up here it is most probably because we
+       // If the Buffer is null and we end up here this is most probably because we
        // are in the CutAndPaste stack. See InsetGraphics, RenderGraphics and
        // RenderPreview.
        if (!buffer_)