X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetinclude.h;h=9aed79b72bf9b6013829448e171689f36743be29;hb=3c7232560282456bae466ef66e69d3eb511500fd;hp=f4a0ef2a39c1b557383e523c00b0cb2788bb9b00;hpb=d4ee9c38b6aa45146f67658352623bcbc3e0ad9b;p=lyx.git diff --git a/src/insets/insetinclude.h b/src/insets/insetinclude.h index f4a0ef2a39..9aed79b72b 100644 --- a/src/insets/insetinclude.h +++ b/src/insets/insetinclude.h @@ -3,7 +3,7 @@ * ====================================================== * * LyX, The Document Processor - * + * * Copyright 1997 LyX Team (this file was created this year) * * ====================================================== */ @@ -17,6 +17,8 @@ #include "insetcommand.h" +#include + class Buffer; struct LaTeXFeatures; @@ -24,12 +26,12 @@ struct LaTeXFeatures; /** Used to include files */ -class InsetInclude: public InsetButton, public boost::noncopyable { +class InsetInclude: public InsetButton, boost::noncopyable { public: - /// the type of inclusion - enum IncludeFlags { + /// the type of inclusion + enum Flags { /// - INCLUDE= 0, + INCLUDE = 0, /// VERB = 1, /// @@ -38,89 +40,99 @@ public: VERBAST = 3 }; - struct InsetIncludeParams { - InsetIncludeParams(InsetCommandParams const & cp = InsetCommandParams(), - IncludeFlags f = INCLUDE, bool nl = false, Buffer const * b = 0) - : cparams(cp), flag(f), noload(nl), buffer(b) {} + struct Params { + Params(InsetCommandParams const & cp = InsetCommandParams(), + Flags f = INCLUDE, + bool nl = false, + string const & name = string()) + : cparams(cp), flag(f), noload(nl), + masterFilename_(name) {} InsetCommandParams cparams; - IncludeFlags flag; + Flags flag; bool noload; - Buffer const * buffer; + string masterFilename_; + + /// + bool operator==(Params const &) const; + /// + bool operator!=(Params const &) const; }; /// - InsetInclude(InsetIncludeParams const &); + InsetInclude(Params const &); /// InsetInclude(InsetCommandParams const &, Buffer const &); /// ~InsetInclude(); /// get the parameters - InsetIncludeParams const & params(void) const; - + Params const & params(void) const; /// set the parameters - void setFromParams(InsetIncludeParams const & params); + void set(Params const & params); - /// - Inset * Clone(Buffer const &) const; /// - Inset::Code LyxCode() const { return Inset::INCLUDE_CODE; } + virtual Inset * clone(Buffer const &, bool same_id = false) const; + /// + Inset::Code lyxCode() const { return Inset::INCLUDE_CODE; } /// This returns the list of labels on the child buffer std::vector const getLabelList() const; /// This returns the list of bibkeys on the child buffer std::vector< std::pair > const getKeys() const; /// - void Edit(BufferView *, int x, int y, unsigned int button); + void edit(BufferView *, int x, int y, mouse_button::state button); /// - EDITABLE Editable() const + void edit(BufferView * bv, bool front = true); + /// + EDITABLE editable() const { return IS_EDITABLE; } - /// With lyx3 we won't overload these 3 methods - void Write(Buffer const *, std::ostream &) const; - /// - void Read(Buffer const *, LyXLex &); + /// With lyx3 we won't overload these 3 methods + void write(Buffer const *, std::ostream &) const; + /// + void read(Buffer const *, LyXLex &); /// - int Latex(Buffer const *, std::ostream &, bool fragile, bool free_spc) const; + int latex(Buffer const *, std::ostream &, + bool fragile, bool free_spc) const; /// - int Ascii(Buffer const *, std::ostream &, int linelen) const; + int ascii(Buffer const *, std::ostream &, int linelen) const; /// - int Linuxdoc(Buffer const *, std::ostream &) const; + int linuxdoc(Buffer const *, std::ostream &) const; /// - int DocBook(Buffer const *, std::ostream &) const; + int docbook(Buffer const *, std::ostream &) const; /// - void Validate(LaTeXFeatures &) const; - - /** Input inserts anything inside a paragraph. + void validate(LaTeXFeatures &) const; + + /** Input inserts anything inside a paragraph. Display can give some visual feedback */ bool display() const; - /// return the filename stub of the included file + /// return the filename stub of the included file string const getRelFileBaseName() const; - + /// return true if the included file is not loaded bool isIncludeOnly() const; /// return true if the file is or got loaded. bool loadIfNeeded() const; - - /// hide a dialog if about - SigC::Signal0 hideDialog; + + /// hide a dialog if about + boost::signal0 hideDialog; private: /// get the text displayed on the button - string const getScreenLabel() const; + string const getScreenLabel(Buffer const *) const; /// is this a verbatim include ? bool isVerbatim() const; - /// get the filename of the master buffer - string const getMasterFilename() const; - /// get the included file name - string const getFileName() const; + /// get the filename of the master buffer + string const getMasterFilename() const; + /// get the included file name + string const getFileName() const; /// the parameters - InsetIncludeParams params_; - /// - string include_label; + Params params_; + /// holds the entity name that defines the file location (SGML) + string const include_label; };