4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Asger Alstrup Nielsen
9 * \author Angus Leeming
11 * Full author contact details are available in file CREDITS.
14 #ifndef FORMEXTERNAL_H
15 #define FORMEXTERNAL_H
17 #include "FormDialogView.h"
24 class ControlExternal;
26 struct FD_external_file;
27 struct FD_external_lyxview;
28 struct FD_external_rotate;
29 struct FD_external_scale;
30 struct FD_external_crop;
31 struct FD_external_options;
33 /// The class for editing External insets via a dialog
35 : public FormController<ControlExternal, FormView<FD_external> > {
38 FormExternal(Dialog &);
40 typedef std::map<std::string, std::string> MapType;
51 typedef std::map<Tabs, FL_OBJECT *> TabMap;
61 virtual void update();
63 /// Filter the inputs on callback from xforms
64 virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
66 bool activateAspectratio() const;
68 void updateComboChange();
69 void widthUnitChanged();
71 // Accessor to checker owned by the button controller.
72 CheckedPath * file_checker_;
78 /// Real GUI implementation.
79 boost::scoped_ptr<FD_external_file> file_;
80 boost::scoped_ptr<FD_external_lyxview> lyxview_;
81 boost::scoped_ptr<FD_external_rotate> rotate_;
82 boost::scoped_ptr<FD_external_scale> scale_;
83 boost::scoped_ptr<FD_external_crop> crop_;
84 boost::scoped_ptr<FD_external_options> options_;
87 } // namespace frontend
90 #endif // FORMEXTERNAL_H