* 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.
*/
-#ifndef QEXTERNAL_H
-#define QEXTERNAL_H
-
-#include "GuiDialogView.h"
+#ifndef GUIEXTERNAL_H
+#define GUIEXTERNAL_H
+#include "GuiDialog.h"
#include "ui_ExternalUi.h"
-#include <QCloseEvent>
-#include <QDialog>
+#include "support/types.h"
+
+#include "insets/InsetExternal.h"
+#include <string>
+#include <vector>
#include <map>
namespace lyx {
-namespace frontend {
-class GuiExternal;
+namespace external {
-class GuiExternalDialog : public QDialog, public Ui::ExternalUi {
- Q_OBJECT
-public:
- GuiExternalDialog(GuiExternal * form);
-
- virtual void show();
-protected Q_SLOTS:
- virtual void bbChanged();
- virtual void browseClicked();
- virtual void change_adaptor();
- virtual void editClicked();
- virtual void extraChanged(const QString&);
- virtual void formatChanged(const QString&);
- virtual void getbbClicked();
- virtual void sizeChanged();
- virtual void templateChanged();
- virtual void widthUnitChanged();
-
-protected:
- virtual void closeEvent(QCloseEvent * e);
-private:
- bool activateAspectratio() const;
- GuiExternal * form_;
-};
+class Template;
+class RotationDataType;
+} // namespace external
-class ControlExternal;
+namespace frontend {
-class GuiExternal
- : public QController<ControlExternal, GuiView<GuiExternalDialog> >
+class GuiExternal : public GuiDialog, public Ui::ExternalUi
{
-public:
- friend class GuiExternalDialog;
+ Q_OBJECT
- GuiExternal(Dialog &);
+public:
+ GuiExternal(GuiView & lv);
+
+private Q_SLOTS:
+ void bbChanged();
+ void browseClicked();
+ void change_adaptor();
+ void editClicked();
+ void extraChanged(const QString&);
+ void formatChanged(const QString&);
+ void getbbClicked();
+ void sizeChanged();
+ void templateChanged();
+ void widthUnitChanged();
+public:
+ ///
typedef std::map<std::string, QString> MapType;
private:
+ ///
+ bool activateAspectratio() const;
/// Apply changes
- virtual void apply();
+ void applyView();
/// update
- virtual void update_contents();
- /// build the dialog
- virtual void build_dialog();
-
+ void updateContents();
/// Helper function called when the template is changed.
void updateTemplate();
/// get bounding box from file
void getBB();
+ ///
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
} // namespace lyx
-#endif // QEXTERNAL_H
+#endif // GUIEXTERNAL_H