#include <boost/scoped_ptr.hpp>
#include <boost/signals/trackable.hpp>
+#include "mailinset.h"
+
/** No two InsetExternalParams variables can have the same temporary file.
- * This struct has copy-semantics but the copy constructor
+ * This class has copy-semantics but the copy constructor
* and assignment operator simply call the default constructor.
- * Use of this struct enables us to use the compiler-generated
+ * Use of this class enables us to use the compiler-generated
* copy constructor and assignment operator for the
- * InsetExternalParams struct.
+ * InsetExternalParams class.
*/
namespace lyx {
+
namespace external {
-struct TempName {
+class TempName {
+public:
TempName();
TempName(TempName const &);
~TempName();
TempName & operator=(TempName const &);
- std::string const & operator()() const { return tempname_; }
+ support::FileName const & operator()() const { return tempname_; }
private:
- std::string tempname_;
+ support::FileName tempname_;
};
/// How is the image to be displayed on the LyX screen?
Translator<DisplayType, std::string> const & displayTranslator();
} // namespace external
-} // namespace lyx
/// hold parameters settable from the GUI
-struct InsetExternalParams {
+class InsetExternalParams {
+public:
InsetExternalParams();
void write(Buffer const &, std::ostream &) const;
bool read(Buffer const &, LyXLex &);
/// The name of the tempfile used for manipulations.
- std::string const & tempname() const { return tempname_(); }
+ support::FileName const & tempname() const { return tempname_(); }
/// The template currently in use.
void settemplate(std::string const &);
std::string const & templatename() const { return templatename_; }
/// The external file.
- lyx::support::FileName filename;
+ support::DocFileName filename;
/// How the inset is to be displayed by LyX.
- lyx::external::DisplayType display;
+ external::DisplayType display;
/// The scale of the displayed graphic (if shown).
unsigned int lyxscale;
- lyx::external::ClipData clipdata;
- lyx::external::ExtraData extradata;
- lyx::external::ResizeData resizedata;
- lyx::external::RotationData rotationdata;
+ external::ClipData clipdata;
+ external::ExtraData extradata;
+ external::ResizeData resizedata;
+ external::RotationData rotationdata;
/** if \c true, simply output the filename, maybe wrapped in a
* box, rather than generate and display the image etc.
bool draft;
private:
- lyx::external::TempName tempname_;
+ external::TempName tempname_;
std::string templatename_;
};
public:
InsetExternal();
///
- InsetExternal(InsetExternal const &);
- ///
virtual ~InsetExternal();
///
- virtual std::auto_ptr<InsetBase> clone() const;
- ///
- virtual InsetOld::Code lyxCode() const { return EXTERNAL_CODE; }
+ virtual InsetBase::Code lyxCode() const { return EXTERNAL_CODE; }
///
virtual EDITABLE editable() const { return IS_EDITABLE; }
///
- void metrics(MetricsInfo &, Dimension &) const;
+ bool metrics(MetricsInfo &, Dimension &) const;
///
void draw(PainterInfo & pi, int x, int y) const;
///
virtual void read(Buffer const &, LyXLex & lex);
/// \returns the number of rows (\n's) of generated code.
- virtual int latex(Buffer const &, std::ostream &,
+ virtual int latex(Buffer const &, odocstream &,
OutputParams const &) const;
///
- virtual int plaintext(Buffer const &, std::ostream &,
+ virtual int plaintext(Buffer const &, odocstream &,
OutputParams const &) const;
///
- virtual int linuxdoc(Buffer const &, std::ostream &,
- OutputParams const &) const;
- ///
- virtual int docbook(Buffer const &, std::ostream &,
+ virtual int docbook(Buffer const &, odocstream &,
OutputParams const &) const;
/// Update needed features for this inset.
///
InsetExternalParams const & params() const;
+ ///
void setParams(InsetExternalParams const &, Buffer const &);
///
- void addPreview(lyx::graphics::PreviewLoader &) const;
+ void addPreview(graphics::PreviewLoader &) const;
+ ///
+ void edit(LCursor & cur, bool left);
///
- void edit(BufferView * bv, bool);
+ bool getStatus(LCursor &, FuncRequest const &, FuncStatus &) const;
protected:
+ InsetExternal(InsetExternal const &);
///
- virtual
- DispatchResult
- priv_dispatch(BufferView & bv, FuncRequest const & cmd);
+ virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
private:
+ virtual std::auto_ptr<InsetBase> doClone() const;
+
/** This method is connected to the graphics loader, so we are
* informed when the image has been loaded.
*/
};
-#include "mailinset.h"
-
class InsetExternalMailer : public MailInset {
public:
///
InsetExternal & inset_;
};
+} // namespace lyx
+
#endif