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;
32 class RotationDataType;
33 } // namespace external
37 class ControlExternal : public Dialog::Controller {
40 ControlExternal(Dialog &);
42 virtual bool initialiseParams(std::string const & data);
44 virtual void clearParams();
46 virtual void dispatchParams();
48 virtual bool isBufferDependent() const { return true; }
51 InsetExternalParams const & params() const;
53 void setParams(InsetExternalParams const &);
58 std::vector<std::string> const getTemplates() const;
60 int getTemplateNumber(std::string const &) const;
62 lyx::external::Template getTemplate(int) const;
64 std::string const browse(std::string const & input_file,
65 std::string const & tempalate_name) const;
67 /// Read the Bounding Box from a eps or ps-file
68 std::string const readBB(std::string const & file);
70 void bbChanged(bool val) { bb_changed_ = val; }
71 bool bbChanged() const { return bb_changed_; }
74 boost::scoped_ptr<InsetExternalParams> params_;
82 std::vector<RotationDataType> const & all_origins();
83 std::string const origin_gui_str(lyx::size_type i);
85 } // namespace external
88 #endif // CONTROLEXTERNAL_H