X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetBranch.h;h=4100a631ccd6261180113112280f8687f0829f1d;hb=12c7e7dde3851ad894380fd42ba741dd3d0cbcc7;hp=c8e3c47c5177c5b03be168900cb1b86f69a5d3af;hpb=c8d00ed1272cd489041bed2115081008b6a26489;p=lyx.git diff --git a/src/insets/InsetBranch.h b/src/insets/InsetBranch.h index c8e3c47c51..4100a631cc 100644 --- a/src/insets/InsetBranch.h +++ b/src/insets/InsetBranch.h @@ -13,61 +13,74 @@ #define INSETBRANCH_H #include "InsetCollapsable.h" -#include "MailInset.h" - namespace lyx { -class Buffer; - class InsetBranchParams { public: + /// explicit InsetBranchParams(docstring const & b = docstring()) : branch(b) {} /// void write(std::ostream & os) const; /// - void read(LyXLex & lex); + void read(Lexer & lex); /// docstring branch; }; -/** The Branch inset for alternative, conditional output. +///////////////////////////////////////////////////////////////////////// +// +// InsetBranch +// +///////////////////////////////////////////////////////////////////////// + +/// The Branch inset for alternative, conditional output. -*/ -class InsetBranch : public InsetCollapsable { +class InsetBranch : public InsetCollapsable +{ public: /// - InsetBranch(BufferParams const &, InsetBranchParams const &); + InsetBranch(Buffer *, InsetBranchParams const &); + /// - ~InsetBranch(); + static std::string params2string(InsetBranchParams const &); /// - virtual docstring const editMessage() const; + static void string2params(std::string const &, InsetBranchParams &); /// - InsetBase::Code lyxCode() const { return InsetBase::BRANCH_CODE; } + docstring branch() const { return params_.branch; } /// - void write(Buffer const &, std::ostream &) const; + void rename(docstring const & newname) { params_.branch = newname; } + +private: /// - void read(Buffer const & buf, LyXLex & lex); + InsetCode lyxCode() const { return BRANCH_CODE; } /// - void setButtonLabel(); + void write(std::ostream &) const; /// - bool showInsetDialog(BufferView *) const; + void read(Lexer & lex); /// - int latex(Buffer const &, odocstream &, - OutputParams const &) const; + docstring const buttonLabel(BufferView const & bv) const; /// - int plaintext(Buffer const &, odocstream &, - OutputParams const &) const; + ColorCode backgroundColor(PainterInfo const &) const; /// - int docbook(Buffer const &, odocstream &, - OutputParams const &) const; + int latex(odocstream &, OutputParams const &) const; /// - void textString(Buffer const & buf, odocstream &) const; + int plaintext(odocstream &, OutputParams const &) const; + /// + int docbook(odocstream &, OutputParams const &) const; + /// + docstring xhtml(XHTMLStream &, OutputParams const &) const; + /// + void tocString(odocstream &) const; /// void validate(LaTeXFeatures &) const; /// + docstring contextMenu(BufferView const &, int, int) const; + /// + void addToToc(DocIterator const &); + /// InsetBranchParams const & params() const { return params_; } /// void setParams(InsetBranchParams const & params) { params_ = params; } @@ -75,45 +88,33 @@ public: /** \returns true if params_.branch is listed as 'selected' in \c buffer. This handles the case of child documents. */ - bool isBranchSelected(Buffer const & buffer) const; - /// - bool getStatus(LCursor &, FuncRequest const &, FuncStatus &) const; - -protected: - InsetBranch(InsetBranch const &); - virtual void doDispatch(LCursor & cur, FuncRequest & cmd); -private: - friend class InsetBranchParams; - - virtual std::auto_ptr doClone() const; - - /// used by the constructors - void init(); + bool isBranchSelected() const; + /*! + * Is the content of this inset part of the output document? + * + * Note that Branch insets are only considered part of the + * document when they are selected. + */ + bool producesOutput() const { return isBranchSelected(); } /// - InsetBranchParams params_; -}; - - -class InsetBranchMailer : public MailInset { -public: + bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; /// - InsetBranchMailer(InsetBranch & inset); + bool isMacroScope() const; /// - virtual InsetBase & inset() const { return inset_; } + docstring toolTip(BufferView const & bv, int x, int y) const; /// - virtual std::string const & name() const { return name_; } + bool usePlainLayout() const { return false; } /// - virtual std::string const inset2string(Buffer const &) const; + void doDispatch(Cursor & cur, FuncRequest & cmd); /// - static std::string const params2string(InsetBranchParams const &); + docstring name() const { return from_ascii("Branch"); } /// - static void string2params(std::string const &, InsetBranchParams &); + Inset * clone() const { return new InsetBranch(*this); } -private: /// - static std::string const name_; + friend class InsetBranchParams; /// - InsetBranch & inset_; + InsetBranchParams params_; }; } // namespace lyx