* 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 "insets/InsetExternal.h"
-#include <map>
+#include <QHash>
namespace lyx {
namespace frontend {
-class GuiExternal;
-
-class GuiExternalDialog : public QDialog, public Ui::ExternalUi {
+class GuiExternal : public GuiDialog, 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 ControlExternal;
-
-class GuiExternal
- : public QController<ControlExternal, GuiView<GuiExternalDialog> >
-{
public:
- friend class GuiExternalDialog;
-
- GuiExternal(Dialog &);
-
- typedef std::map<std::string, QString> MapType;
+ GuiExternal(GuiView & lv);
+
+private Q_SLOTS:
+ void bbChanged();
+ void browseClicked();
+ void change_adaptor();
+ void extraChanged(const QString &);
+ void formatChanged(const QString &);
+ void getbbClicked();
+ void sizeChanged();
+ void templateChanged();
+ void widthUnitChanged();
private:
+ ///
+ typedef QHash<QString, QString> MapType;
+
+ ///
+ 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();
-
+ ///
+ bool usingScale() const;
+
+ ///
+ bool initialiseParams(std::string const & data);
+ /// clean-up on hide.
+ void clearParams();
+ /// clean-up on hide.
+ void dispatchParams();
+ ///
+ bool isBufferDependent() const { return true; }
+
+ ///
+ QString browse(QString const & input_file,
+ QString const & template_name) const;
+
+ ///
MapType extra_;
+ ///
+ InsetExternalParams params_;
+ ///
+ bool bbChanged_;
};
} // namespace frontend
} // namespace lyx
-#endif // QEXTERNAL_H
+#endif // GUIEXTERNAL_H