UpdateManager Class Reference
#include <updatemanager.h>
Public Member Functions | |
| UpdateManager () | |
| virtual | ~UpdateManager () |
| void | setUpdatesEnabled (bool val=true) |
| void | setUpdatesDisabled () |
| bool | updatesEnabled () |
| bool | requestUpdate (UpdateManaged *observable, UpdateMemento *what) |
Private Attributes | |
| int | m_updatesDisabled |
| QSet< QPair< UpdateManaged *, UpdateMemento * > > | m_pending |
Detailed Description
An UpdateManager controls if and when updates will be propagated to the Observers. Usually each document has one UpdateManager. They are used this way:When many changes are about to happen, the application calls "setUpdatesDisabled()" before it begins the changes and calls "setUpdatesEnabled()" when it's done.
An Observable calls "requestUpdate(this)". If the result is positive, the Observable calls "updateNow()" directly. Otherwise the UpdateManager stores a reference to the Observable and will call its "updateNow()" method once updates are enabled again.
If "requestUpdate()" is called multiple times before updates are enabled again, each observable will only get one notification with "updateNow()" when the updates are enabled again.
Definition at line 66 of file updatemanager.h.
Constructor & Destructor Documentation
| UpdateManager::UpdateManager | ( | ) | [inline] |
Definition at line 72 of file updatemanager.h.
| UpdateManager::~UpdateManager | ( | ) | [virtual] |
Member Function Documentation
| void UpdateManager::setUpdatesEnabled | ( | bool | val = true |
) |
Definition at line 22 of file updatemanager.cpp.
References m_pending, and m_updatesDisabled.
Referenced by ScribusDoc::ChLineArt(), ScribusDoc::ChLineEnd(), ScribusDoc::ChLineJoin(), ScribusDoc::ChLineWidth(), ScribusDoc::ItemBrush(), ScribusDoc::ItemBrushShade(), ScribusDoc::ItemGradFill(), ScribusDoc::ItemPatternFill(), ScribusDoc::ItemPatternProps(), ScribusDoc::ItemPen(), ScribusDoc::ItemPenShade(), ScribusDoc::itemSelection_ApplyArrowHead(), ScribusDoc::itemSelection_convertItemsTo(), ScribusDoc::itemSelection_SetEffects(), ScribusDoc::itemSelection_SetFillGradient(), ScribusDoc::itemSelection_SetImageOffset(), ScribusDoc::itemSelection_SetImageScale(), ScribusDoc::itemSelection_SetImageScaleAndOffset(), ScribusDoc::itemSelection_SetNamedLineStyle(), ScribusDoc::itemSelection_SetOverprint(), ScribusDoc::itemSelection_ToggleImageShown(), ScribusDoc::itemSelection_ToggleLock(), ScribusDoc::itemSelection_TogglePrintEnabled(), ScribusDoc::itemSelection_ToggleSizeLock(), and ScribusDoc::scaleGroup().
| void UpdateManager::setUpdatesDisabled | ( | ) | [inline] |
Definition at line 76 of file updatemanager.h.
Referenced by ScribusDoc::ChLineArt(), ScribusDoc::ChLineEnd(), ScribusDoc::ChLineJoin(), ScribusDoc::ChLineWidth(), ScribusDoc::ItemBrush(), ScribusDoc::ItemBrushShade(), ScribusDoc::ItemGradFill(), ScribusDoc::ItemPatternFill(), ScribusDoc::ItemPatternProps(), ScribusDoc::ItemPen(), ScribusDoc::ItemPenShade(), ScribusDoc::itemSelection_ApplyArrowHead(), ScribusDoc::itemSelection_convertItemsTo(), ScribusDoc::itemSelection_SetEffects(), ScribusDoc::itemSelection_SetFillGradient(), ScribusDoc::itemSelection_SetImageOffset(), ScribusDoc::itemSelection_SetImageScale(), ScribusDoc::itemSelection_SetImageScaleAndOffset(), ScribusDoc::itemSelection_SetNamedLineStyle(), ScribusDoc::itemSelection_SetOverprint(), ScribusDoc::itemSelection_ToggleImageShown(), ScribusDoc::itemSelection_ToggleLock(), ScribusDoc::itemSelection_TogglePrintEnabled(), ScribusDoc::itemSelection_ToggleSizeLock(), and ScribusDoc::scaleGroup().
| bool UpdateManager::updatesEnabled | ( | ) | [inline] |
Definition at line 77 of file updatemanager.h.
| bool UpdateManager::requestUpdate | ( | UpdateManaged * | observable, | |
| UpdateMemento * | what | |||
| ) |
Returns true if updates are enabled, otherwise stores 'observable' for notification when updates get enabled again.
Definition at line 44 of file updatemanager.cpp.
References m_pending, and m_updatesDisabled.
Referenced by MassObservable< OBSERVED >::update().
Member Data Documentation
int UpdateManager::m_updatesDisabled [private] |
Definition at line 68 of file updatemanager.h.
Referenced by requestUpdate(), and setUpdatesEnabled().
QSet<QPair<UpdateManaged*, UpdateMemento*> > UpdateManager::m_pending [private] |
Definition at line 69 of file updatemanager.h.
Referenced by requestUpdate(), setUpdatesEnabled(), and ~UpdateManager().
The documentation for this class was generated from the following files:
