]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetBox.cpp
Revert 23154.
[lyx.git] / src / insets / InsetBox.cpp
index df1bd4778429e96a48372a79d49502d7a666cc00..2400722fd33f829fcd17b33f75272824a8f5f6fe 100644 (file)
 #include "InsetBox.h"
 
 #include "Buffer.h"
+#include "BufferParams.h"
 #include "BufferView.h"
 #include "Cursor.h"
 #include "DispatchResult.h"
-#include "support/debug.h"
 #include "FuncStatus.h"
 #include "FuncRequest.h"
 #include "support/gettext.h"
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
 #include "MetricsInfo.h"
+#include "TextClass.h"
 
+#include "support/debug.h"
 #include "support/Translator.h"
 
 #include <sstream>
 
+using namespace std;
 
 namespace lyx {
 
-using std::string;
-using std::istringstream;
-using std::ostream;
-using std::ostringstream;
-using std::endl;
-
-
 namespace {
 
-typedef Translator<std::string, InsetBox::BoxType> BoxTranslator;
+typedef Translator<string, InsetBox::BoxType> BoxTranslator;
 typedef Translator<docstring, InsetBox::BoxType> BoxTranslatorLoc;
 
 BoxTranslator const init_boxtranslator()
@@ -91,7 +87,10 @@ BoxTranslatorLoc const & boxtranslator_loc()
 
 InsetBox::InsetBox(BufferParams const & bp, string const & label)
        : InsetCollapsable(bp), params_(label)
-{}
+{
+       if (forceEmptyLayout())
+               paragraphs().back().setLayout(bp.getTextClass().emptyLayout());
+}
 
 
 InsetBox::InsetBox(InsetBox const & in)
@@ -179,7 +178,7 @@ void InsetBox::metrics(MetricsInfo & m, Dimension & dim) const
 }
 
 
-bool InsetBox::forceDefaultParagraphs(idx_type) const
+bool InsetBox::forceEmptyLayout() const
 {
        return !params_.inner_box;
 }
@@ -245,6 +244,13 @@ bool InsetBox::getStatus(Cursor & cur, FuncRequest const & cmd,
 }
 
 
+bool InsetBox::isMacroScope(Buffer const &) const
+{
+       BoxType btype = boxtranslator().find(params_.type);
+       return btype != Frameless || params_.inner_box;
+}
+
+
 int InsetBox::latex(Buffer const & buf, odocstream & os,
                    OutputParams const & runparams) const
 {
@@ -275,7 +281,7 @@ int InsetBox::latex(Buffer const & buf, odocstream & os,
                        width_string += " - 2\\fboxsep - 2\\fboxrule"/* "-\\shadowsize"*/;
                        break;
                case Doublebox:
-                       width_string += " - 2\\fboxsep - 7.5\\fboxrule - 1.0pt";
+                       width_string += " - 2\\fboxsep - 7.5\\fboxrule - 1pt";
                        break;
                }
        }
@@ -401,9 +407,8 @@ int InsetBox::latex(Buffer const & buf, odocstream & os,
                // already done
                break;
        }
-       os << "%\n";
 
-       i += 3;
+       i += 2;
 
        return i;
 }