X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetBranch.cpp;h=77af2829e1a70421e319ea01bcbc03068aad03d5;hb=cf6ff2cac79d09adafa63e3a1ec02dfb09f707b9;hp=8f4b77b0033fd06a5fd42a2ac031adf074ec34da;hpb=cbbae06c9bb735759a611bad483d3a1c01d3aed7;p=lyx.git diff --git a/src/insets/InsetBranch.cpp b/src/insets/InsetBranch.cpp index 8f4b77b003..77af2829e1 100644 --- a/src/insets/InsetBranch.cpp +++ b/src/insets/InsetBranch.cpp @@ -44,7 +44,7 @@ using namespace std; namespace lyx { InsetBranch::InsetBranch(Buffer * buf, InsetBranchParams const & params) - : InsetCollapsable(buf, InsetText::DefaultLayout), params_(params) + : InsetCollapsible(buf, InsetText::DefaultLayout), params_(params) {} @@ -53,18 +53,18 @@ void InsetBranch::write(ostream & os) const os << "Branch "; params_.write(os); os << '\n'; - InsetCollapsable::write(os); + InsetCollapsible::write(os); } void InsetBranch::read(Lexer & lex) { params_.read(lex); - InsetCollapsable::read(lex); + InsetCollapsible::read(lex); } -docstring InsetBranch::toolTip(BufferView const &, int, int) const +docstring InsetBranch::toolTip(BufferView const & bv, int, int) const { docstring const masterstatus = isBranchSelected() ? _("active") : _("non-active"); @@ -77,17 +77,21 @@ docstring InsetBranch::toolTip(BufferView const &, int, int) const docstring const masteron = producesOutput() ? _("on") : _("off"); - docstring const childon = producesOutput(true) ? - _("on") : _("off"); + docstring const childon = + (isBranchSelected(true) != params_.inverted) ? + _("on") : _("off"); docstring const onoff = (masteron == childon) ? masteron : support::bformat(_("master %1$s, child %2$s"), masteron, childon); - docstring const heading = + docstring const heading = support::bformat(_("Branch Name: %1$s\nBranch Status: %2$s\nInset Status: %3$s"), params_.branch, status, onoff); - return toolTipText(heading); + + if (isOpen(bv)) + return heading; + return toolTipText(heading + from_ascii("\n")); } @@ -102,7 +106,7 @@ docstring const InsetBranch::buttonLabel(BufferView const &) const bool const inchild = buffer().params().branchlist().find(params_.branch); bool const master_selected = producesOutput(); - bool const child_selected = producesOutput(true); + bool const child_selected = isBranchSelected(true) != params_.inverted; docstring symb = docstring(1, master_selected ? tick : cross); if (inchild && master_selected != child_selected) @@ -203,11 +207,11 @@ void InsetBranch::doDispatch(Cursor & cur, FuncRequest & cmd) if (cmd.argument() == "assign") setStatus(cur, isBranchSelected() ? Open : Collapsed); else - InsetCollapsable::doDispatch(cur, cmd); + InsetCollapsible::doDispatch(cur, cmd); break; default: - InsetCollapsable::doDispatch(cur, cmd); + InsetCollapsible::doDispatch(cur, cmd); break; } } @@ -255,11 +259,11 @@ bool InsetBranch::getStatus(Cursor & cur, FuncRequest const & cmd, if (cmd.argument() == "assign") flag.setEnabled(true); else - return InsetCollapsable::getStatus(cur, cmd, flag); + return InsetCollapsible::getStatus(cur, cmd, flag); break; default: - return InsetCollapsable::getStatus(cur, cmd, flag); + return InsetCollapsible::getStatus(cur, cmd, flag); } return true; } @@ -281,9 +285,9 @@ bool InsetBranch::isBranchSelected(bool const child) const } -bool InsetBranch::producesOutput(bool const child) const +bool InsetBranch::producesOutput() const { - return isBranchSelected(child) != params_.inverted; + return isBranchSelected() != params_.inverted; } @@ -327,7 +331,7 @@ docstring InsetBranch::xhtml(XHTMLStream & xs, OutputParams const & rp) const void InsetBranch::toString(odocstream & os) const { if (producesOutput()) - InsetCollapsable::toString(os); + InsetCollapsible::toString(os); } @@ -335,14 +339,14 @@ void InsetBranch::forOutliner(docstring & os, size_t const maxlen, bool const shorten) const { if (producesOutput()) - InsetCollapsable::forOutliner(os, maxlen, shorten); + InsetCollapsible::forOutliner(os, maxlen, shorten); } void InsetBranch::validate(LaTeXFeatures & features) const { if (producesOutput()) - InsetCollapsable::validate(features); + InsetCollapsible::validate(features); } @@ -352,7 +356,7 @@ string InsetBranch::contextMenuName() const } -bool InsetBranch::isMacroScope() const +bool InsetBranch::isMacroScope() const { // Its own scope if not selected by buffer return !producesOutput(); @@ -381,30 +385,18 @@ void InsetBranch::string2params(string const & in, InsetBranchParams & params) } -void InsetBranch::addToToc(DocIterator const & cpit, bool output_active, - UpdateType utype) const +void InsetBranch::updateBuffer(ParIterator const & it, UpdateType utype) { - DocIterator pit = cpit; - pit.push_back(CursorSlice(const_cast(*this))); - - docstring str; - text().forOutliner(str, TOC_ENTRY_LENGTH); - str = params_.branch + (params_.inverted ? " (-):" : ": ") + str; - - shared_ptr toc = buffer().tocBackend().toc("branch"); - toc->push_back(TocItem(pit, 0, str, output_active)); - - // Proceed with the rest of the inset. - bool const doing_output = output_active && producesOutput(); - InsetCollapsable::addToToc(cpit, doing_output, utype); + setLabel(params_.branch + (params_.inverted ? " (-)" : "")); + InsetCollapsible::updateBuffer(it, utype); } void InsetBranchParams::write(ostream & os) const { - os << to_utf8(branch) - << '\n' - << "inverted " + os << to_utf8(branch) + << '\n' + << "inverted " << inverted; }