]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/xforms/FormExternal.h
Introduce LFUN_PRINT.
[lyx.git] / src / frontends / xforms / FormExternal.h
index e0f00b46798cb8c24b4b29968b4872c9439c5753..80296f3c3b6e252e98f0577bb7a5c7ef402ac6ae 100644 (file)
@@ -1,48 +1,81 @@
 // -*- C++ -*-
 /**
  * \file FormExternal.h
- * Copyright 2000-2001 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
  * \author Asger Alstrup Nielsen
- * \author John Levon, moz@compsoc.man.ac.uk
- * \author Angus Leeming, a.leeming@ic.ac.uk
+ * \author John Levon
+ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef FORMEXTERNAL_H
 #define FORMEXTERNAL_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
 
-#include "FormBase.h"
-#include "insets/insetexternal.h"
+#include "FormDialogView.h"
+#include <map>
 
 class ControlExternal;
 struct FD_external;
+struct FD_external_file;
+struct FD_external_lyxview;
+struct FD_external_rotate;
+struct FD_external_scale;
+struct FD_external_crop;
+struct FD_external_options;
 
 /// The class for editing External insets via a dialog
-class FormExternal : public FormCB<ControlExternal, FormDB<FD_external> > {
+class FormExternal
+       : public FormController<ControlExternal, FormView<FD_external> > {
 public:
        ///
-       FormExternal(ControlExternal &);
+       FormExternal(Dialog &);
+
+       typedef std::map<std::string, std::string> MapType;
+
+       enum Tabs {
+               FILETAB,
+               LYXVIEWTAB,
+               ROTATETAB,
+               SCALETAB,
+               CROPTAB,
+               OPTIONSTAB
+       };
+
+       typedef std::map<Tabs, FL_OBJECT *> TabMap;
 
 private:
        /// apply changes
-       void apply();
+       virtual void apply();
 
        /// build the dialog
-       void build();
+       virtual void build();
 
        /// update the dialog
-       void update();
+       virtual void update();
 
        /// Filter the inputs on callback from xforms
-       ButtonPolicy::SMInput input(FL_OBJECT *, long);
+       virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
 
-       ///
+       bool activateAspectratio() const;
+       void getBB();
        void updateComboChange();
+       void widthUnitChanged();
+
+       MapType extra_;
+
+       TabMap tabmap_;
+
+       /// Real GUI implementation.
+       boost::scoped_ptr<FD_external_file>    file_;
+       boost::scoped_ptr<FD_external_lyxview> lyxview_;
+       boost::scoped_ptr<FD_external_rotate>  rotate_;
+       boost::scoped_ptr<FD_external_scale>   scale_;
+       boost::scoped_ptr<FD_external_crop>    crop_;
+       boost::scoped_ptr<FD_external_options> options_;
 };
 
 #endif // FORMEXTERNAL_H