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;
33 class RotationDataType;
35 } // namespace external
39 class ControlExternal : public Dialog::Controller {
42 ControlExternal(Dialog &);
44 virtual bool initialiseParams(std::string const & data);
46 virtual void clearParams();
48 virtual void dispatchParams();
50 virtual bool isBufferDependent() const { return true; }
53 InsetExternalParams const & params() const;
55 void setParams(InsetExternalParams const &);
60 std::vector<std::string> const getTemplates() const;
62 int getTemplateNumber(std::string const &) const;
64 lyx::external::Template getTemplate(int) const;
66 std::string const Browse(std::string const &) const;
68 /// Read the Bounding Box from a eps or ps-file
69 std::string const readBB(std::string const & file);
71 void bbChanged(bool val) { bb_changed_ = val; }
72 bool bbChanged() const { return bb_changed_; }
75 boost::scoped_ptr<InsetExternalParams> params_;
83 std::vector<RotationDataType> const & all_origins();
84 std::string const origin_gui_str(lyx::size_type i);
86 } // namespace external
89 #endif // CONTROLEXTERNAL_H