lyx_mirror/src/frontends/xforms/FormExternal.h
Angus Leeming 524a23ba3a Compile fixes for DEC cxx, John's maths and keymap patches.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1783 a592a061-630c-0410-9148-cb99ea01b6c8
2001-03-16 12:08:14 +00:00

114 lines
2.4 KiB
C++

/**
* \file FormExternal.h
* Copyright 2001 the LyX Team
* Read the file COPYING
*
* \author unknown
* \author John Levon
*/
#ifndef FORMEXTERNAL_H
#define FORMEXTERNAL_H
#include <boost/smart_ptr.hpp>
#ifdef __GNUG__
#pragma interface
#endif
#include "FormBaseDeprecated.h"
#include "insets/insetexternal.h"
struct FD_form_external;
/// The class for editing External insets via a dialog
class FormExternal : public FormBaseBD {
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;
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_;
/// build the dialog
FD_form_external * build_external();
/// Pointer to the actual instantiation of the ButtonController.
virtual xformsBC & bc();
/// the dialog implementation
boost::scoped_ptr<FD_form_external> dialog_;
/// The ButtonController
ButtonController<OkCancelReadOnlyPolicy, xformsBC> bc_;
};
inline
xformsBC & FormExternal::bc()
{
return bc_;
}
#endif // FORMEXTERNAL_H