]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/xforms/FormExternal.h
remove defaults stuff, let Qt handle no toolbar
[lyx.git] / src / frontends / xforms / FormExternal.h
index ca4b2e364fd8b5ed508b090c45f6eab7909899e1..a6fce676eb6e794f1c3741c572c842cdd9d1f600 100644 (file)
+// -*- C++ -*-
 /**
  * \file FormExternal.h
- * Copyright 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 unknown
+ * \author Asger Alstrup Nielsen
  * \author John Levon
+ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS
  */
 
 #ifndef FORMEXTERNAL_H
 #define FORMEXTERNAL_H
 
-#include <boost/smart_ptr.hpp>
 
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include "FormDialogView.h"
 
-#include "FormBaseDeprecated.h"
-#include "insets/insetexternal.h"
-#include "xformsBC.h"
 
-struct FD_form_external;
+class ControlExternal;
+struct FD_external;
 
 /// The class for editing External insets via a dialog
-class FormExternal : public FormBaseBD {
+class FormExternal
+       : public FormController<ControlExternal, FormView<FD_external> > {
 public:
        ///
-       FormExternal(LyXView *, Dialogs *);
-
-       /// Connect signals. Also perform any necessary initialisation.
-       virtual void connect();
-
-       /// Disconnect signals. Also perform any necessary housekeeping.
-       virtual void disconnect();
-
-       /// Slot launching dialog to an existing inset
-       void showInset(InsetExternal *);
-
-       /// bool indicates if a buffer switch took place
-       virtual void updateSlot(bool);
-
-       /// Callback function for the template drop-down
-       static void templateCB(FL_OBJECT *, long);
-
-       /// Callback function for the browse button
-       static void browseCB(FL_OBJECT *, long);
-
-       /// Callback function for the edit button
-       static void editCB(FL_OBJECT *, long);
-
-       /// Callback function for the view button
-       static void viewCB(FL_OBJECT *, long);
-
-       /// Callback function for the update production button
-       static void updateCB(FL_OBJECT *, long);
-
-       /// Pointer to the actual instantiation of the xform's form
-       virtual FL_FORM * form() const;
-
+       FormExternal(Dialog &);
 private:
-       /// calculate the string to set the combo box
-       string const getTemplatesComboString() const;
-
-       /// get the position in the combo for a given name
-       int getTemplateComboNumber(string const & name) const;
-
-       /// get a template given its combo position
-       ExternalTemplate getTemplate(int i) const;
-
-       /// change widgets on change of chosen template
-       void updateComboChange();
-       /// build the dialog
-       void build();
-
-       /// the inset we're modifying
-       InsetExternal * inset_;
-
-       /// the parameters
-       InsetExternal::InsetExternalParams params_;
-
-       /// update the dialog
-       void update();
-
        /// apply changes
-       void apply();
-
-       bool input(FL_OBJECT * obj, long data);
-
-       /// inset::hide connection.
-       SigC::Connection ih_;
+       virtual void apply();
 
        /// build the dialog
-       FD_form_external * build_external();
+       virtual void build();
 
-       /// Pointer to the actual instantiation of the ButtonController.
-       virtual xformsBC & bc();
+       /// update the dialog
+       virtual void update();
 
-       /// the dialog implementation
-       boost::scoped_ptr<FD_form_external> dialog_;
+       /// Filter the inputs on callback from xforms
+       virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
 
-       /// The ButtonController
-       ButtonController<OkCancelReadOnlyPolicy, xformsBC> bc_;
+       ///
+       void updateComboChange();
 };
 
-
-inline
-xformsBC & FormExternal::bc()
-{
-       return bc_;
-}
-
 #endif // FORMEXTERNAL_H