/*
* Heavily inspired by Inkscape::XML::CompositeNodeObserver.
*
* Authors:
* David Yip <yipdw@rose-hulman.edu>
*
* Copyright (c) 2005 Authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include <algorithm>
#include "composite-undo-stack-observer.h"
namespace Inkscape {
void
{
if (!this->_iterating) {
} else {
}
}
void
{
if (!this->_iterating) {
// logical-or operator short-circuits
} else {
}
}
void
{
this->_lock();
if (!i->to_remove) {
}
}
this->_unlock();
}
void
{
this->_lock();
if (!i->to_remove) {
}
}
this->_unlock();
}
void
{
this->_lock();
if (!i->to_remove) {
i->issueUndoCommit(log);
}
}
this->_unlock();
}
void
{
this->_lock();
if (!i->to_remove) {
i->issueClearUndo();
}
}
this->_unlock();
}
void
{
this->_lock();
if (!i->to_remove) {
i->issueClearRedo();
}
}
this->_unlock();
}
bool
{
UndoObserverRecordList::iterator i = std::find_if(list.begin(), list.end(), std::bind1st(std::equal_to< UndoStackObserverRecord >(), eq_comp));
return true;
} else {
return false;
}
}
bool
{
UndoObserverRecordList::iterator i = std::find_if(list.begin(), list.end(), std::bind1st(std::equal_to< UndoStackObserverRecord >(), eq_comp));
(*i).to_remove = true;
return true;
} else {
return false;
}
}
void
{
if (!--this->_iterating) {
// Remove marked observers
if (i->to_remove) {
}
else{
++i;
}
}
if (i->to_remove) {
}
else {
++i;
}
}
// Merge pending and active
}
}
}