]> git.lyx.org Git - lyx.git/blobdiff - src/insets/Inset.cpp
tex2lyx/text.cpp: fix typos
[lyx.git] / src / insets / Inset.cpp
index 1c0312f5a3107be6ef4e3bc1c1755a316ff3926e..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());
 }
 
 
@@ -618,6 +624,12 @@ 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 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_)
+               return 0;
        return theApp() ? theApp()->updateInset(this) : 0;
 }