// -*- C++ -*- /** * \file GuiExternal.h * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * * \author John Levon * * Full author contact details are available in file CREDITS. */ #ifndef GUIEXTERNAL_H #define GUIEXTERNAL_H #include "GuiDialogView.h" #include "ControlExternal.h" #include "ui_ExternalUi.h" #include #include #include namespace lyx { namespace frontend { class GuiExternal; 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 GuiExternal : public GuiView { public: friend class GuiExternalDialog; GuiExternal(Dialog &); /// parent controller ControlExternal & controller() { return static_cast(this->getController()); } /// parent controller ControlExternal const & controller() const { return static_cast(this->getController()); } /// typedef std::map MapType; private: /// Apply changes virtual void apply(); /// update virtual void update_contents(); /// build the dialog virtual void build_dialog(); /// Helper function called when the template is changed. void updateTemplate(); /// get bounding box from file void getBB(); MapType extra_; }; } // namespace frontend } // namespace lyx #endif // GUIEXTERNAL_H