]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetCollapsable.cpp
Move isMultiCell() to Cursor, and use it.
[lyx.git] / src / insets / InsetCollapsable.cpp
index 27bdd01690313d11f6d6411c5df8343e2b5c19e4..b31beff245beaa1ef2c5db5e60ce94baf7e4e177 100644 (file)
 #include "Dimension.h"
 #include "DispatchResult.h"
 #include "FloatList.h"
+#include "FuncRequest.h"
 #include "FuncStatus.h"
 #include "InsetLayout.h"
 #include "Language.h"
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
-#include "FuncRequest.h"
 #include "MetricsInfo.h"
 #include "ParagraphParameters.h"
 #include "TextClass.h"
 #include "frontends/FontMetrics.h"
 #include "frontends/Painter.h"
 
-#include "support/lassert.h"
 #include "support/debug.h"
 #include "support/docstream.h"
 #include "support/gettext.h"
+#include "support/lassert.h"
 
 using namespace std;
 
@@ -86,7 +86,7 @@ InsetCollapsable::InsetCollapsable(Buffer const & buf,
        setAutoBreakRows(true);
        setDrawFrame(true);
        setFrameColor(Color_collapsableframe);
-       paragraphs().back().setLayout(dc.emptyLayout());
+       paragraphs().back().setLayout(dc.plainLayout());
 }
 
 
@@ -147,7 +147,7 @@ void InsetCollapsable::setLayout(DocumentClass const * const dc)
                layout_ = &(dc->insetLayout(name()));
                labelstring_ = translateIfPossible(layout_->labelstring());
        } else {
-               layout_ = &DocumentClass::emptyInsetLayout();
+               layout_ = &DocumentClass::plainInsetLayout();
                labelstring_ = _("UNDEFINED");
        }
 
@@ -167,7 +167,7 @@ void InsetCollapsable::write(ostream & os) const
                break;
        }
        os << "\n";
-       text_.write(buffer(), os);
+       text().write(buffer(), os);
 }
 
 
@@ -529,7 +529,8 @@ void InsetCollapsable::doDispatch(Cursor & cur, FuncRequest & cmd)
                break;
 
        case LFUN_MOUSE_RELEASE:
-               if (geometry() == NoButton || !hitButton(cmd)) {
+               if (geometry() == NoButton 
+                       || (geometry() != ButtonOnly && !hitButton(cmd))) {
                        // The mouse click has to be within the inset!
                        InsetText::doDispatch(cur, cmd);
                        break;
@@ -647,14 +648,12 @@ bool InsetCollapsable::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_ACCENT_UNDERBAR:
        case LFUN_ACCENT_UNDERDOT:
        case LFUN_APPENDIX:
-       case LFUN_BIBITEM_INSERT:
        case LFUN_BOX_INSERT:
        case LFUN_BRANCH_INSERT:
        case LFUN_NEWLINE_INSERT:
        case LFUN_CAPTION_INSERT:
        case LFUN_DEPTH_DECREMENT:
        case LFUN_DEPTH_INCREMENT:
-       case LFUN_ENVIRONMENT_INSERT:
        case LFUN_ERT_INSERT:
        case LFUN_FILE_INSERT:
        case LFUN_FLEX_INSERT:
@@ -665,8 +664,8 @@ bool InsetCollapsable::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_FONT_TYPEWRITER:
        case LFUN_FONT_DEFAULT:
        case LFUN_FONT_EMPH:
-       case LFUN_FONT_FREE_APPLY:
-       case LFUN_FONT_FREE_UPDATE:
+       case LFUN_TEXTSTYLE_APPLY:
+       case LFUN_TEXTSTYLE_UPDATE:
        case LFUN_FONT_NOUN:
        case LFUN_FONT_ROMAN:
        case LFUN_FONT_SANS:
@@ -735,7 +734,6 @@ bool InsetCollapsable::getStatus(Cursor & cur, FuncRequest const & cmd,
                return InsetText::getStatus(cur, cmd, flag);
 
        case LFUN_BREAK_PARAGRAPH:
-       case LFUN_BREAK_PARAGRAPH_SKIP:
                flag.setEnabled(layout_->isMultiPar());
                return true;
 
@@ -851,7 +849,7 @@ void InsetCollapsable::validate(LaTeXFeatures & features) const
 bool InsetCollapsable::undefined() const
 {
        docstring const & n = getLayout().name();
-       return n.empty() || n == DocumentClass::emptyInsetLayout().name();
+       return n.empty() || n == DocumentClass::plainInsetLayout().name();
 }