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
18 #include "FormDialogView.h"
21 class ControlExternal;
23 struct FD_external_file;
24 struct FD_external_lyxview;
25 struct FD_external_rotate;
26 struct FD_external_scale;
27 struct FD_external_crop;
28 struct FD_external_options;
30 /// The class for editing External insets via a dialog
32 : public FormController<ControlExternal, FormView<FD_external> > {
35 FormExternal(Dialog &);
37 typedef std::map<std::string, std::string> MapType;
48 typedef std::map<Tabs, FL_OBJECT *> TabMap;
58 virtual void update();
60 /// Filter the inputs on callback from xforms
61 virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
63 bool activateAspectratio() const;
65 void updateComboChange();
66 void widthUnitChanged();
72 /// Real GUI implementation.
73 boost::scoped_ptr<FD_external_file> file_;
74 boost::scoped_ptr<FD_external_lyxview> lyxview_;
75 boost::scoped_ptr<FD_external_rotate> rotate_;
76 boost::scoped_ptr<FD_external_scale> scale_;
77 boost::scoped_ptr<FD_external_crop> crop_;
78 boost::scoped_ptr<FD_external_options> options_;
81 #endif // FORMEXTERNAL_H