* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
+ * \author Asger Alstrup
* \author John Levon
+ * \author Angus Leeming
*
* Full author contact details are available in file CREDITS.
*/
#define GUIEXTERNAL_H
#include "GuiDialog.h"
-#include "ControlExternal.h"
#include "ui_ExternalUi.h"
+#include "support/types.h"
+
+#include "insets/InsetExternal.h"
+
+#include <string>
+#include <vector>
#include <map>
namespace lyx {
+
+namespace external {
+
+class Template;
+class RotationDataType;
+
+} // namespace external
+
namespace frontend {
-class GuiExternalDialog : public GuiDialog, public Ui::ExternalUi
+class GuiExternal : public GuiDialog, public Ui::ExternalUi
{
Q_OBJECT
public:
- GuiExternalDialog(LyXView & lv);
+ GuiExternal(GuiView & lv);
private Q_SLOTS:
void bbChanged();
void templateChanged();
void widthUnitChanged();
-private:
public:
+ ///
+ typedef std::map<std::string, QString> MapType;
+
+private:
void closeEvent(QCloseEvent * e);
//
bool activateAspectratio() const;
- /// parent controller
- ControlExternal & controller() const;
/// Apply changes
void applyView();
/// update
- void update_contents();
+ void updateContents();
/// Helper function called when the template is changed.
void updateTemplate();
/// get bounding box from file
void getBB();
- ///
- typedef std::map<std::string, QString> MapType;
///
MapType extra_;
+ ///
+ bool initialiseParams(std::string const & data);
+ /// clean-up on hide.
+ void clearParams();
+ /// clean-up on hide.
+ void dispatchParams();
+ ///
+ bool isBufferDependent() const { return true; }
+
+ ///
+ void editExternal();
+ ///
+ std::vector<std::string> const getTemplates() const;
+ ///
+ int getTemplateNumber(std::string const &) const;
+ ///
+ external::Template getTemplate(int) const;
+ ///
+ std::string const
+ getTemplateFilters(std::string const & template_name) const;
+ ///
+ docstring const browse(docstring const & input_file,
+ docstring const & template_name) const;
+
+ /// Read the Bounding Box from a eps or ps-file
+ std::string const readBB(std::string const & file);
+ ///
+private:
+ ///
+ InsetExternalParams params_;
+ bool bbChanged_;
};
} // namespace frontend