X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FInsetList.C;h=22e9273ab6223783af9b0baa739fc8431fe96186;hb=8765ab59cdddad67284007813ef25934ea0042ce;hp=b167b686f43da5b4dd05b86e168b651e68a28eb5;hpb=3159d1a52e777f62531932edc010bf5f8b9d6d59;p=lyx.git diff --git a/src/InsetList.C b/src/InsetList.C index b167b686f4..22e9273ab6 100644 --- a/src/InsetList.C +++ b/src/InsetList.C @@ -15,12 +15,13 @@ #include "buffer.h" #include "bufferparams.h" -#include "BufferView.h" +#include "BranchList.h" #include "debug.h" #include "insets/insetbranch.h" -using lyx::pos_type; + +namespace lyx { using std::endl; using std::lower_bound; @@ -28,99 +29,78 @@ using std::lower_bound; namespace { -struct MatchIt { - /// used by lower_bound - inline - int operator()(InsetList::InsetTable const & a, - InsetList::InsetTable const & b) const +typedef InsetList::InsetTable Table; + +class InsetTablePosLess : public std::binary_function { +public: + bool operator()(Table const & t1, Table const & t2) const { - return a.pos < b.pos; + return t1.pos < t2.pos; } }; } // namespace anon + InsetList::~InsetList() { // If we begin storing a shared_ptr in the List // this code can be removed. (Lgb) - List::iterator it = list.begin(); - List::iterator end = list.end(); + List::iterator it = list_.begin(); + List::iterator end = list_.end(); for (; it != end; ++it) { delete it->inset; } } -InsetList::iterator InsetList::begin() -{ - return list.begin(); -} - - -InsetList::iterator InsetList::end() -{ - return list.end(); -} - - -InsetList::const_iterator InsetList::begin() const -{ - return list.begin(); -} - - -InsetList::const_iterator InsetList::end() const -{ - return list.end(); -} - - InsetList::iterator InsetList::insetIterator(pos_type pos) { InsetTable search_elem(pos, 0); - return lower_bound(list.begin(), list.end(), search_elem, MatchIt()); + return lower_bound(list_.begin(), list_.end(), search_elem, + InsetTablePosLess()); } InsetList::const_iterator InsetList::insetIterator(pos_type pos) const { InsetTable search_elem(pos, 0); - return lower_bound(list.begin(), list.end(), search_elem, MatchIt()); + return lower_bound(list_.begin(), list_.end(), search_elem, + InsetTablePosLess()); } -void InsetList::insert(InsetOld * inset, lyx::pos_type pos) +void InsetList::insert(InsetBase * inset, pos_type pos) { - List::iterator end = list.end(); + List::iterator end = list_.end(); List::iterator it = insetIterator(pos); if (it != end && it->pos == pos) { lyxerr << "ERROR (InsetList::insert): " << "There is an inset in position: " << pos << endl; } else { - list.insert(it, InsetTable(pos, inset)); + list_.insert(it, InsetTable(pos, inset)); } } void InsetList::erase(pos_type pos) { - List::iterator end = list.end(); + List::iterator end = list_.end(); List::iterator it = insetIterator(pos); if (it != end && it->pos == pos) { delete it->inset; - list.erase(it); + list_.erase(it); } } -InsetOld * InsetList::release(pos_type pos) +InsetBase * InsetList::release(pos_type pos) { - List::iterator end = list.end(); + List::iterator end = list_.end(); List::iterator it = insetIterator(pos); if (it != end && it->pos == pos) { - InsetOld * tmp = it->inset; + InsetBase * tmp = it->inset; it->inset = 0; return tmp; } @@ -128,9 +108,9 @@ InsetOld * InsetList::release(pos_type pos) } -InsetOld * InsetList::get(pos_type pos) const +InsetBase * InsetList::get(pos_type pos) const { - List::const_iterator end = list.end(); + List::const_iterator end = list_.end(); List::const_iterator it = insetIterator(pos); if (it != end && it->pos == pos) return it->inset; @@ -140,7 +120,7 @@ InsetOld * InsetList::get(pos_type pos) const void InsetList::increasePosAfterPos(pos_type pos) { - List::iterator end = list.end(); + List::iterator end = list_.end(); List::iterator it = insetIterator(pos); for (; it != end; ++it) { ++it->pos; @@ -150,7 +130,7 @@ void InsetList::increasePosAfterPos(pos_type pos) void InsetList::decreasePosAfterPos(pos_type pos) { - List::iterator end = list.end(); + List::iterator end = list_.end(); List::iterator it = insetIterator(pos); for (; it != end; ++it) { --it->pos; @@ -158,19 +138,4 @@ void InsetList::decreasePosAfterPos(pos_type pos) } -void InsetList::insetsOpenCloseBranch(BufferView * bv) -{ - BufferParams const & bp = bv->buffer()->params(); - List::iterator it = list.begin(); - List::iterator end = list.end(); - for (; it != end; ++it) { - if (it->inset && it->inset->lyxCode() == InsetOld::BRANCH_CODE) { - InsetBranch * inset = static_cast(it->inset); - if (bp.branchlist().selected(inset->params().branch)) { - inset->open(bv); - } else { - inset->close(bv); - } - } - } -} +} // namespace lyx