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
18 #include "support/types.h"
19 #include "insets/InsetExternal.h"
28 class RotationDataType;
30 } // namespace external
35 class ControlExternal : public Controller {
38 ControlExternal(Dialog &);
40 virtual bool initialiseParams(std::string const & data);
42 virtual void clearParams();
44 virtual void dispatchParams();
46 virtual bool isBufferDependent() const { return true; }
49 InsetExternalParams const & params() const;
51 void setParams(InsetExternalParams const &);
56 std::vector<std::string> const getTemplates() const;
58 int getTemplateNumber(std::string const &) const;
60 external::Template getTemplate(int) const;
63 getTemplateFilters(std::string const & template_name) const;
65 docstring const browse(docstring const & input_file,
66 docstring const & template_name) 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 InsetExternalParams params_;
79 } // namespace frontend
84 std::vector<RotationDataType> const & all_origins();
85 docstring const origin_gui_str(size_type i);
87 } // namespace external
90 #endif // CONTROLEXTERNAL_H