]> git.lyx.org Git - lyx.git/blobdiff - src/insets/ExternalTransforms.h
Remove indentation on screen after a plain separator inset
[lyx.git] / src / insets / ExternalTransforms.h
index f5ea527a7ca9bc205be7a55492caa49fdb8b32ba..2311ac2f66c4675c96f03f72cc1b2fe466a68959 100644 (file)
 #ifndef EXTERNALTRANSFORMS_H
 #define EXTERNALTRANSFORMS_H
 
-#include "lyxlength.h"
-
 #include "graphics/GraphicsParams.h"
 
-#include <boost/any.hpp>
-#include <boost/function.hpp>
+#include "support/any.h"
+#include "support/Length.h"
+#include "support/unique_ptr.h"
 
-#include <string>
+#include <functional>
 #include <map>
 #include <memory>
+#include <string>
 
-class LyXLex;
 
 namespace lyx {
+
 namespace external {
 
 /*
@@ -35,7 +35,9 @@ class ClipData {
 public:
        ClipData() : clip(false) {}
 
-       lyx::graphics::BoundingBox bbox;
+       /// The bounding box
+       graphics::BoundingBox bbox;
+       /// clip image
        bool clip;
 };
 
@@ -43,7 +45,7 @@ public:
 class ExtraData {
 public:
        std::string const get(std::string const & id) const;
-       void set(std::string const & id, std::string const & contents);
+       void set(std::string const & id, std::string const & data);
 
        typedef std::map<std::string, std::string>::const_iterator const_iterator;
        const_iterator begin() const { return data_.begin(); }
@@ -56,14 +58,14 @@ private:
 
 class ResizeData {
 public:
-       ResizeData() : scale(0), keepAspectRatio(false) {}
+       ResizeData() : scale(), keepAspectRatio(false) {}
        bool no_resize() const;
 
        bool usingScale() const;
 
-       float scale;
-       LyXLength width;
-       LyXLength height;
+       std::string scale;
+       Length width;
+       Length height;
        bool keepAspectRatio;
 };
 
@@ -84,11 +86,11 @@ public:
                BASELINERIGHT
        };
 
-       RotationData() : angle_(0), origin_(DEFAULT) {}
+       RotationData() : angle("0"), origin_(DEFAULT) {}
        bool no_rotation() const;
 
-       void angle(double a);
-       double angle() const { return angle_; }
+       std::string const adjAngle() const;
+       std::string angle;
 
        void origin(OriginType o) { origin_ = o; }
        OriginType origin() const { return origin_; }
@@ -97,7 +99,6 @@ public:
        std::string const originString() const;
 
 private:
-       double angle_;
        OriginType origin_;
 };
 
@@ -119,7 +120,7 @@ public:
  */
 class TransformCommand {
 public:
-       typedef std::auto_ptr<TransformCommand const> ptr_type;
+       typedef unique_ptr<TransformCommand const> ptr_type;
        virtual ~TransformCommand() {}
 
        /// The string from the External Template that we seek to replace.
@@ -144,12 +145,12 @@ private:
 class ResizeCommand : public TransformCommand {
 protected:
        ResizeData data;
-       ResizeCommand(ResizeData const & data_) : data(data_) {}
+       explicit ResizeCommand(ResizeData const & data_) : data(data_) {}
 
 private:
-       virtual std::string const front_placeholder_impl() const
+       std::string const front_placeholder_impl() const override
                { return "$$ResizeFront"; }
-       virtual std::string const back_placeholder_impl() const
+       std::string const back_placeholder_impl() const override
                { return "$$ResizeBack"; }
 };
 
@@ -160,22 +161,22 @@ public:
                { return ptr_type(new ResizeLatexCommand(data)); }
 
 private:
-       ResizeLatexCommand(ResizeData const & data_)
+       explicit ResizeLatexCommand(ResizeData const & data_)
                : ResizeCommand(data_) {}
-       virtual std::string const front_impl() const;
-       virtual std::string const back_impl() const;
+       std::string const front_impl() const override;
+       std::string const back_impl() const override;
 };
 
 
 class RotationCommand : public TransformCommand {
 protected:
        RotationData data;
-       RotationCommand(RotationData const & data_) : data(data_) {}
+       explicit RotationCommand(RotationData const & data_) : data(data_) {}
 
 private:
-       virtual std::string const front_placeholder_impl() const
+       std::string const front_placeholder_impl() const override
                { return "$$RotateFront"; }
-       virtual std::string const back_placeholder_impl() const
+       std::string const back_placeholder_impl() const override
                { return "$$RotateBack"; }
 };
 
@@ -186,10 +187,10 @@ public:
                { return ptr_type(new RotationLatexCommand(data)); }
 
 private:
-       RotationLatexCommand(RotationData const & data_)
+       explicit RotationLatexCommand(RotationData const & data_)
                : RotationCommand(data_) {}
-       virtual std::string const front_impl() const;
-       virtual std::string const back_impl() const;
+       std::string const front_impl() const override;
+       std::string const back_impl() const override;
 };
 
 
@@ -198,7 +199,7 @@ private:
  */
 class TransformOption {
 public:
-       typedef std::auto_ptr<TransformOption const> ptr_type;
+       typedef unique_ptr<TransformOption const> ptr_type;
        virtual ~TransformOption() {}
 
        /// The string from the External Template that we seek to replace.
@@ -216,10 +217,10 @@ private:
 class ClipOption : public TransformOption {
 protected:
        ClipData data;
-       ClipOption(ClipData const & data_) : data(data_) {}
+       explicit ClipOption(ClipData const & data_) : data(data_) {}
 
 private:
-       virtual std::string const placeholder_impl() const
+       std::string const placeholder_impl() const override
                { return "$$Clip"; }
 };
 
@@ -230,9 +231,9 @@ public:
                { return ptr_type(new ClipLatexOption(data)); }
 
 private:
-       ClipLatexOption(ClipData const & data_)
+       explicit ClipLatexOption(ClipData const & data_)
                : ClipOption(data_) {}
-       virtual std::string const option_impl() const;
+       std::string const option_impl() const override;
 };
 
 
@@ -242,11 +243,11 @@ public:
                { return ptr_type(new ExtraOption(data)); }
 
 private:
-       ExtraOption(std::string const & data_) : data(data_) {}
+       explicit ExtraOption(std::string const & data_) : data(data_) {}
 
-       virtual std::string const placeholder_impl() const
+       std::string const placeholder_impl() const override
                { return "$$Extra"; }
-       virtual std::string const option_impl() const
+       std::string const option_impl() const override
                { return data; }
        std::string data;
 };
@@ -255,10 +256,10 @@ private:
 class ResizeOption : public TransformOption {
 protected:
        ResizeData data;
-       ResizeOption(ResizeData const & data_) : data(data_) {}
+       explicit ResizeOption(ResizeData const & data_) : data(data_) {}
 
 private:
-       virtual std::string const placeholder_impl() const
+       std::string const placeholder_impl() const override
                { return "$$Resize"; }
 };
 
@@ -269,19 +270,19 @@ public:
                { return ptr_type(new ResizeLatexOption(data)); }
 
 private:
-       ResizeLatexOption(ResizeData const & data_)
+       explicit ResizeLatexOption(ResizeData const & data_)
                : ResizeOption(data_) {}
-       virtual std::string const option_impl() const;
+       std::string const option_impl() const override;
 };
 
 
 class RotationOption : public TransformOption {
 protected:
        RotationData data;
-       RotationOption(RotationData const & data_) : data(data_) {}
+       explicit RotationOption(RotationData const & data_) : data(data_) {}
 
 private:
-       virtual std::string const placeholder_impl() const
+       std::string const placeholder_impl() const override
                { return "$$Rotate"; }
 };
 
@@ -292,9 +293,9 @@ public:
                { return ptr_type(new RotationLatexOption(data)); }
 
 private:
-       RotationLatexOption(RotationData const & data_)
+       explicit RotationLatexOption(RotationData const & data_)
                : RotationOption(data_) {}
-       virtual std::string const option_impl() const;
+       std::string const option_impl() const override;
 };
 
 
@@ -303,10 +304,10 @@ private:
  */
 std::string const sanitizeLatexOption(std::string const & input);
 std::string const sanitizeDocBookOption(std::string const & input);
-std::string const sanitizeLinuxDocOption(std::string const & input);
 
 
 enum TransformID {
+       None = -1,
        Rotate,
        Resize,
        Clip,
@@ -314,30 +315,31 @@ enum TransformID {
 };
 
 
-typedef boost::function1<TransformOption::ptr_type, ClipData>
+typedef std::function<TransformOption::ptr_type(ClipData)>
        ClipOptionFactory;
-typedef boost::function1<TransformOption::ptr_type, std::string>
+typedef std::function<TransformOption::ptr_type(std::string)>
        ExtraOptionFactory;
-typedef boost::function1<TransformOption::ptr_type, ResizeData>
+typedef std::function<TransformOption::ptr_type(ResizeData)>
        ResizeOptionFactory;
-typedef boost::function1<TransformOption::ptr_type, RotationData>
+typedef std::function<TransformOption::ptr_type(RotationData)>
        RotationOptionFactory;
-typedef boost::function1<TransformCommand::ptr_type, ResizeData>
+typedef std::function<TransformCommand::ptr_type(ResizeData)>
        ResizeCommandFactory;
-typedef boost::function1<TransformCommand::ptr_type, RotationData>
+typedef std::function<TransformCommand::ptr_type(RotationData)>
        RotationCommandFactory;
 
 
-struct TransformStore
+class TransformStore
 {
-       TransformStore() {}
+public:
+       TransformStore() : id(Rotate) {}
 
        /** Stores \c factory and a reminder of what \c data this \c factory
         *  operates on.
         */
        template <typename Factory>
        TransformStore(TransformID id_, Factory const & factory)
-               : id(id_), any_factory(boost::any(factory)) {}
+               : id(id_), any_factory(any(factory)) {}
 
        typedef TransformCommand::ptr_type ComPtr;
        typedef TransformOption::ptr_type  OptPtr;
@@ -351,7 +353,7 @@ struct TransformStore
 
 private:
        TransformID id;
-       boost::any any_factory;
+       any any_factory;
 };
 
 } // namespace external