]> git.lyx.org Git - lyx.git/blobdiff - src/insets/ExternalTransforms.cpp
Wrap rotated cells with linebreaks in varwidth
[lyx.git] / src / insets / ExternalTransforms.cpp
index 270a7c83b0f9deb387387ec84d074b9c66bca1ef..4f85f9d479f00c202728b20dc39186dcee5ffb02 100644 (file)
@@ -18,7 +18,7 @@
 #include "support/lyxlib.h" // float_equal
 #include "support/Translator.h"
 
-#include <boost/regex.hpp>
+#include "support/regex.h"
 
 #include <cmath> // abs
 #include <sstream>
@@ -78,7 +78,7 @@ namespace {
 typedef Translator<RotationData::OriginType, string> OriginTranslator;
 OriginTranslator const & originTranslator();
 
-} // namespace anon
+} // namespace
 
 
 void RotationData::origin(string const & o)
@@ -183,7 +183,7 @@ ostream & operator<<(ostream & os, RotationData::OriginType type)
        return os;
 }
 
-} // namespace anon
+} // namespace
 
 
 string const RotationLatexCommand::front_impl() const
@@ -218,7 +218,10 @@ string const  ClipLatexOption::option_impl() const
 
        ostringstream os;
        if (!data.bbox.empty())
-               os << "bb=" << data.bbox << ',';
+               os << "bb=" << data.bbox.xl.asLatexString() << ' '
+                  << data.bbox.yb.asLatexString() << ' '
+                  << data.bbox.xr.asLatexString() << ' '
+                  << data.bbox.yt.asLatexString() << ',';
        if (data.clip)
                os << "clip,";
        return os.str();
@@ -279,11 +282,10 @@ string const sanitizeLatexOption(string const & input)
        // Strip any leading commas
        // "[,,,,foo..." -> "foo..." ("foo..." may be empty)
        string output;
-       boost::smatch what;
-       static boost::regex const front("^( *[[],*)(.*)$");
+       lyx::smatch what;
+       static lyx::regex const front("^( *\\[,*)(.*)$");
 
-       regex_match(it, end, what, front, boost::match_partial);
-       if (!what[0].matched) {
+       if (!regex_match(it, end, what, front)) {
                lyxerr << "Unable to sanitize LaTeX \"Option\": "
                       << input << '\n';
                return string();
@@ -293,10 +295,9 @@ string const sanitizeLatexOption(string const & input)
        // Replace any consecutive commas with a single one
        // "foo,,,,bar" -> "foo,bar"
        // with iterator now pointing to 'b'
-       static boost::regex const commas("([^,]*)(,,*)(.*)$");
+       static lyx::regex const commas("([^,]*)(,,*)(.*)$");
        for (; it != end;) {
-               regex_match(it, end, what, commas, boost::match_partial);
-               if (!what[0].matched) {
+               if (!regex_match(it, end, what, commas)) {
                        output += string(it, end);
                        break;
                }
@@ -306,9 +307,8 @@ string const sanitizeLatexOption(string const & input)
 
        // Strip any trailing commas
        // "...foo,,,]" -> "...foo" ("...foo,,," may be empty)
-       static boost::regex const back("^(.*[^,])?,*[]] *$");
-       regex_match(output, what, back);
-       if (!what[0].matched) {
+       static lyx::regex const back("^(.*[^,])?,*\\] *$");
+       if (!regex_match(output, what, back)) {
                lyxerr << "Unable to sanitize LaTeX \"Option\": "
                       << output << '\n';
                return string();
@@ -333,11 +333,11 @@ void extractIt(boost::any const & any_factory,
                return;
 
        Factory factory = boost::any_cast<Factory>(any_factory);
-       if (!factory.empty())
+       if (factory)
                transformer = factory(data);
 }
 
-} // namespace anon
+} // namespace
 
 
 TransformCommand::ptr_type
@@ -426,7 +426,7 @@ OriginTranslator const & originTranslator()
        return translator;
 }
 
-} // namespace anon
+} // namespace
 
 } // namespace external
 } // namespace lyx