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"
23 class ControlExternal;
25 struct FD_external_file;
26 struct FD_external_lyxview;
27 struct FD_external_rotate;
28 struct FD_external_scale;
29 struct FD_external_crop;
30 struct FD_external_options;
32 /// The class for editing External insets via a dialog
34 : public FormController<ControlExternal, FormView<FD_external> > {
37 FormExternal(Dialog &);
39 typedef std::map<std::string, std::string> MapType;
50 typedef std::map<Tabs, FL_OBJECT *> TabMap;
60 virtual void update();
62 /// Filter the inputs on callback from xforms
63 virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
65 bool activateAspectratio() const;
67 void updateComboChange();
68 void widthUnitChanged();
74 /// Real GUI implementation.
75 boost::scoped_ptr<FD_external_file> file_;
76 boost::scoped_ptr<FD_external_lyxview> lyxview_;
77 boost::scoped_ptr<FD_external_rotate> rotate_;
78 boost::scoped_ptr<FD_external_scale> scale_;
79 boost::scoped_ptr<FD_external_crop> crop_;
80 boost::scoped_ptr<FD_external_options> options_;
83 } // namespace frontend
86 #endif // FORMEXTERNAL_H