* \author John Levon
* \author Angus Leeming
*
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*/
#ifndef CONTROLEXTERNAL_H
#define CONTROLEXTERNAL_H
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include "Dialog.h"
-#include "ControlInset.h"
-#include "insets/insetexternal.h"
+#include "support/types.h"
-/** A controller for External dialogs.
- */
-class ControlExternal
- : public ControlInset<InsetExternal, InsetExternal::Params>
-{
+#include <boost/scoped_ptr.hpp>
+
+#include <string>
+#include <vector>
+
+
+class InsetExternalParams;
+
+namespace lyx {
+namespace external {
+
+class Template;
+class RotationDataType;
+
+} // namespace external
+} // namespace lyx
+
+
+class ControlExternal : public Dialog::Controller {
public:
///
- ControlExternal(LyXView &, Dialogs &);
+ ControlExternal(Dialog &);
+ ///
+ virtual bool initialiseParams(std::string const & data);
+ /// clean-up on hide.
+ virtual void clearParams();
+ /// clean-up on hide.
+ virtual void dispatchParams();
+ ///
+ virtual bool isBufferDependent() const { return true; }
///
- void editExternal();
+ InsetExternalParams const & params() const;
///
- void viewExternal();
+ void setParams(InsetExternalParams const &);
+
+ ///
+ void editExternal();
///
- void updateExternal();
+ std::vector<std::string> const getTemplates() const;
///
- std::vector<string> const getTemplates() const;
+ int getTemplateNumber(std::string const &) const;
///
- int getTemplateNumber(string const &) const;
+ lyx::external::Template getTemplate(int) const;
///
- ExternalTemplate getTemplate(int) const;
+ std::string const Browse(std::string const &) const;
+
+ /// Read the Bounding Box from a eps or ps-file
+ std::string const readBB(std::string const & file);
///
- string const Browse(string const &) const;
+ void bbChanged(bool val) { bb_changed_ = val; }
+ bool bbChanged() const { return bb_changed_; }
private:
///
- virtual void applyParamsToInset();
- /// not needed.
- virtual void applyParamsNoInset() {}
- /// get the parameters from the string passed to createInset.
- virtual InsetExternal::Params const getParams(string const &);
- /// get the parameters from the inset passed to showInset.
- virtual InsetExternal::Params const getParams(InsetExternal const &);
+ boost::scoped_ptr<InsetExternalParams> params_;
+ bool bb_changed_;
};
+
+namespace lyx {
+namespace external {
+
+std::vector<RotationDataType> const & all_origins();
+std::string const origin_gui_str(lyx::size_type i);
+
+} // namespace external
+} // namespace lyx
+
#endif // CONTROLEXTERNAL_H