3 * \file ControlExternal.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Asger Alstrup
9 * \author Angus Leeming
11 * Full author contact details are available in file CREDITS.
14 #ifndef CONTROLEXTERNAL_H
15 #define CONTROLEXTERNAL_H
19 #include "support/types.h"
21 #include <boost/scoped_ptr.hpp>
27 class InsetExternalParams;
34 class RotationDataType;
36 } // namespace external
41 class ControlExternal : public Dialog::Controller {
44 ControlExternal(Dialog &);
46 virtual bool initialiseParams(std::string const & data);
48 virtual void clearParams();
50 virtual void dispatchParams();
52 virtual bool isBufferDependent() const { return true; }
55 InsetExternalParams const & params() const;
57 void setParams(InsetExternalParams const &);
62 std::vector<std::string> const getTemplates() const;
64 int getTemplateNumber(std::string const &) const;
66 external::Template getTemplate(int) const;
68 std::string const browse(std::string const & input_file,
69 std::string const & tempalate_name) const;
71 /// Read the Bounding Box from a eps or ps-file
72 std::string const readBB(std::string const & file);
74 void bbChanged(bool val) { bb_changed_ = val; }
75 bool bbChanged() const { return bb_changed_; }
78 boost::scoped_ptr<InsetExternalParams> params_;
82 } // namespace frontend
87 std::vector<RotationDataType> const & all_origins();
88 std::string const origin_gui_str(size_type i);
90 } // namespace external
93 #endif // CONTROLEXTERNAL_H