X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetinclude.h;h=99d930061e096f1eece840c6dfef3248c3783c68;hb=62be565337f08855dbbbeea9d90db2ce497d4c10;hp=1f527ffa395f1006dc3a5126cc6774ab6c07f125;hpb=d91ffd8d78f941d34d6821ba69613676f1a25a8b;p=lyx.git diff --git a/src/insets/insetinclude.h b/src/insets/insetinclude.h index 1f527ffa39..99d930061e 100644 --- a/src/insets/insetinclude.h +++ b/src/insets/insetinclude.h @@ -1,23 +1,19 @@ // -*- C++ -*- -/* This file is part of* - * ====================================================== +/** + * \file insetinclude.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * LyX, The Document Processor + * \author Lars Gullik Bjønnes * - * Copyright 1997 LyX Team (this file was created this year) - * - * ====================================================== */ + * Full author contact details are available in file CREDITS + */ #ifndef INSET_INCLUDE_H #define INSET_INCLUDE_H -#ifdef __GNUG__ -#pragma interface -#endif - #include "insetcommand.h" -#include #include class Buffer; @@ -25,32 +21,26 @@ struct LaTeXFeatures; // Created by AAS 970521 -/** Used to include files - */ +/// for including tex/lyx files class InsetInclude: public InsetButton, boost::noncopyable { public: /// the type of inclusion enum Flags { - /// - INCLUDE = 0, - /// - VERB = 1, - /// - INPUT = 2, - /// - VERBAST = 3 + INCLUDE = 0, //< + VERB = 1, //< + INPUT = 2, //< + VERBAST = 3 //< }; struct Params { - Params(InsetCommandParams const & cp = InsetCommandParams(), - Flags f = INCLUDE, - bool nl = false, + Params(InsetCommandParams const & cp = InsetCommandParams("input"), + Flags f = INPUT, string const & name = string()) - : cparams(cp), flag(f), noload(nl), + : cparams(cp), flag(f), masterFilename_(name) {} + InsetCommandParams cparams; Flags flag; - bool noload; string masterFilename_; /// @@ -63,9 +53,12 @@ public: InsetInclude(Params const &); /// InsetInclude(InsetCommandParams const &, Buffer const &); - /// + ~InsetInclude(); + /// + virtual dispatch_result localDispatch(FuncRequest const & cmd); + /// Override these InsetButton methods if Previewing int ascent(BufferView *, LyXFont const &) const; /// @@ -73,7 +66,7 @@ public: /// int width(BufferView *, LyXFont const &) const; /// - void draw(BufferView *, LyXFont const &, int, float &, bool) const; + void draw(BufferView *, LyXFont const &, int, float &) const; /// get the parameters Params const & params(void) const; @@ -87,11 +80,7 @@ public: /// 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, mouse_button::state button); - /// - void edit(BufferView * bv, bool front = true); + void fillWithBibKeys(std::vector > & keys) const; /// EDITABLE editable() const { @@ -113,25 +102,15 @@ public: /// void validate(LaTeXFeatures &) const; - /** Input inserts anything inside a paragraph. - Display can give some visual feedback - */ + /// take up a whole row if we're not type INPUT bool display() const; - /// 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; /// void addPreview(grfx::PreviewLoader &) const; - /// hide a dialog if about - boost::signal0 hideDialog; private: /// get the text displayed on the button string const getScreenLabel(Buffer const *) const; @@ -160,10 +139,27 @@ inline bool InsetInclude::isVerbatim() const return params_.flag == VERB || params_.flag == VERBAST; } +#include "mailinset.h" -inline bool InsetInclude::isIncludeOnly() const -{ - return params_.flag == INCLUDE && params_.noload; -} +class InsetIncludeMailer : public MailInset { +public: + /// + InsetIncludeMailer(InsetInclude & inset); + /// + virtual InsetBase & inset() const { return inset_; } + /// + virtual string const & name() const { return name_; } + /// + virtual string const inset2string() const; + /// + static void string2params(string const &, InsetInclude::Params &); + /// + static string const params2string(InsetInclude::Params const &); +private: + /// + static string const name_; + /// + InsetInclude & inset_; +}; -#endif +#endif // INSETINCLUDE_H