* 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 GUIEXTERNAL_H
#define GUIEXTERNAL_H
-#include "GuiDialogView.h"
-#include "ControlExternal.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 showView();
-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();
+public:
+ 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();
-protected:
- virtual void closeEvent(QCloseEvent * e);
private:
- bool activateAspectratio() const;
- GuiExternal * form_;
-};
-
-
-class GuiExternal : public GuiView<GuiExternalDialog>
-{
-public:
- friend class GuiExternalDialog;
+ ///
+ typedef QHash<QString, QString> MapType;
- GuiExternal(GuiDialog &);
- /// parent controller
- ControlExternal & controller()
- { return static_cast<ControlExternal &>(this->getController()); }
- /// parent controller
- ControlExternal const & controller() const
- { return static_cast<ControlExternal const &>(this->getController()); }
///
- typedef std::map<std::string, QString> MapType;
-private:
+ bool activateAspectratio() const;
/// Apply changes
- virtual void applyView();
+ 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