Mapper  0.9.0
API documentation
Public Slots | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OpenOrienteering::ObjectCreatingUndoStep Class Reference

Base class for undo steps which add new objects to the map. More...

#include <object_undo.h>

Inheritance diagram for OpenOrienteering::ObjectCreatingUndoStep:
Inheritance graph
[legend]
Collaboration diagram for OpenOrienteering::ObjectCreatingUndoStep:
Collaboration graph
[legend]

Public Slots

virtual void symbolChanged (int pos, const OpenOrienteering::Symbol *new_symbol, const OpenOrienteering::Symbol *old_symbol)
 Adapts the symbol pointers of objects referencing the changed symbol. More...
 
virtual void symbolDeleted (int pos, const OpenOrienteering::Symbol *old_symbol)
 Invalidates the undo step if a contained object references the deleted symbol. More...
 

Public Member Functions

 ObjectCreatingUndoStep (Type type, Map *map)
 Constructor. More...
 
 ~ObjectCreatingUndoStep () override
 Destructor. More...
 
bool isValid () const override
 Returns true if the step can still be undone. More...
 
void addObject (int index) override
 Must not be called. More...
 
void addObject (int existing_index, Object *object)
 Adds an object to the undo step with given index. More...
 
void addObject (Object *existing, Object *object)
 Adds an object to the undo step with the index of the existing object. More...
 
void getModifiedObjects (int, ObjectSet &) const override
 Adds the list of the step's modified objects to the container provided by out. More...
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () const const
 
 QObject (QObject *parent)
 
virtual ~QObject ()
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThreadthread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectListchildren () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
- Public Member Functions inherited from OpenOrienteering::ObjectModifyingUndoStep
 ObjectModifyingUndoStep (Type type, Map *map)
 Creates an ObjectModifyingUndoStep for the given map and its current part. More...
 
 ObjectModifyingUndoStep (Type type, Map *map, int part_index)
 Creates an ObjectModifyingUndoStep for the given map and part. More...
 
 ~ObjectModifyingUndoStep () override
 Destructor. More...
 
int getPartIndex () const
 Returns the index of the map part modified by this undo step. More...
 
void setPartIndex (int part_index)
 Set the index of the map part modified by this undo step. More...
 
virtual bool isEmpty () const
 Returns true if no objects are modified by this undo step. More...
 
bool getModifiedParts (PartSet &out) const override
 Adds the the step's modified part to the container provided by out. More...
 
- Public Member Functions inherited from OpenOrienteering::UndoStep
 UndoStep (Type type, Map *map)
 Constructs an undo step having the given type. More...
 
 UndoStep (const UndoStep &)=delete
 
 UndoStep (UndoStep &&)=delete
 
virtual ~UndoStep ()
 Destructor. More...
 
UndoStepoperator= (const UndoStep &)=delete
 
UndoStepoperator= (UndoStep &&)=delete
 
Type getType () const
 Returns the type of the undo step. More...
 
virtual UndoStepundo ()=0
 Undoes the action and returns a new UndoStep. More...
 
void save (QXmlStreamWriter &xml) const
 Saves the undo step to the stream in xml format. More...
 

Protected Member Functions

void saveImpl (QXmlStreamWriter &xml) const override
 Saves undo properties to the the xml stream. More...
 
void loadImpl (QXmlStreamReader &xml, SymbolDictionary &symbol_dict) override
 Loads undo properties from the the xml stream. More...
 
- Protected Member Functions inherited from QObject
QObjectsender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
- Protected Member Functions inherited from OpenOrienteering::ObjectModifyingUndoStep
virtual void saveObject (XmlElementWriter &xml, int index) const
 Saves object details to the the xml stream. More...
 
virtual void loadObject (XmlElementReader &xml, int index)
 Loads object details from the the xml stream. More...
 

Protected Attributes

std::vector< Object * > objects
 A list of object instance which are currently not part of the map. More...
 
bool valid
 A flag indicating whether this step is still valid. More...
 
- Protected Attributes inherited from OpenOrienteering::ObjectModifyingUndoStep
ObjectList modified_objects
 Indices of the existing objects that are modified by this step. More...
 
- Protected Attributes inherited from OpenOrienteering::UndoStep
Type const type
 The type of the undo step. More...
 
Map *const map
 The map this undo step belongs. More...
 

Additional Inherited Members

- Public Types inherited from OpenOrienteering::UndoStep
enum  Type {
  ReplaceObjectsUndoStepType = 0, DeleteObjectsUndoStepType = 1, AddObjectsUndoStepType = 2, SwitchSymbolUndoStepType = 3,
  SwitchDashesUndoStepType = 4, CombinedUndoStepType = 5, ValidNoOpUndoStepType = 6, ObjectTagsUndoStepType = 7,
  MapPartUndoStepType = 8, SwitchPartUndoStepTypeV0 = 9, SwitchPartUndoStepType = 10, InvalidUndoStepType = 999
}
 Types of undo steps for identification. More...
 
typedef std::set< int > PartSet
 A set of integers referring to parts. More...
 
typedef std::set< Object * > ObjectSet
 A set of pointers to objects. More...
 
- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Static Public Member Functions inherited from OpenOrienteering::UndoStep
static UndoStepgetUndoStepForType (Type type, Map *map)
 Constructs an undo step of the given type. More...
 
static UndoStepload (QXmlStreamReader &xml, Map *map, SymbolDictionary &symbol_dict)
 Loads the undo step from the stream in xml format. More...
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Types inherited from OpenOrienteering::ObjectModifyingUndoStep
typedef std::vector< int > ObjectList
 A list of indices referring to objects in a map part. More...
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Base class for undo steps which add new objects to the map.

Takes care of correctly reacting to symbol changes in the map, which are not covered by the undo / redo system.

Constructor & Destructor Documentation

◆ ObjectCreatingUndoStep()

OpenOrienteering::ObjectCreatingUndoStep::ObjectCreatingUndoStep ( Type  type,
Map map 
)

Constructor.

◆ ~ObjectCreatingUndoStep()

OpenOrienteering::ObjectCreatingUndoStep::~ObjectCreatingUndoStep ( )
override

Destructor.

Member Function Documentation

◆ addObject() [1/3]

void OpenOrienteering::ObjectCreatingUndoStep::addObject ( int  index)
overridevirtual

Must not be called.

Use the two-parameter signatures instead of this one.

Does nothing in release builds. Aborts the program in non-release builds. Reimplemented from ObjectModifyingUndoStep::addObject()).

Reimplemented from OpenOrienteering::ObjectModifyingUndoStep.

◆ addObject() [2/3]

void OpenOrienteering::ObjectCreatingUndoStep::addObject ( int  existing_index,
Object object 
)

Adds an object to the undo step with given index.

◆ addObject() [3/3]

void OpenOrienteering::ObjectCreatingUndoStep::addObject ( Object existing,
Object object 
)

Adds an object to the undo step with the index of the existing object.

◆ getModifiedObjects()

void OpenOrienteering::ObjectCreatingUndoStep::getModifiedObjects ( int  part_index,
ObjectSet out 
) const
overridevirtual

Adds the list of the step's modified objects to the container provided by out.

Reimplemented from OpenOrienteering::ObjectModifyingUndoStep.

◆ isValid()

bool OpenOrienteering::ObjectCreatingUndoStep::isValid ( ) const
overridevirtual

Returns true if the step can still be undone.

The value returned by this function is taken from the "valid" member variable.

Reimplemented from OpenOrienteering::UndoStep.

◆ loadImpl()

void OpenOrienteering::ObjectCreatingUndoStep::loadImpl ( QXmlStreamReader xml,
SymbolDictionary symbol_dict 
)
overrideprotectedvirtual

Loads undo properties from the the xml stream.

Reimplemented from OpenOrienteering::ObjectModifyingUndoStep.

◆ saveImpl()

void OpenOrienteering::ObjectCreatingUndoStep::saveImpl ( QXmlStreamWriter xml) const
overrideprotectedvirtual

Saves undo properties to the the xml stream.

Reimplemented from OpenOrienteering::ObjectModifyingUndoStep.

◆ symbolChanged

void OpenOrienteering::ObjectCreatingUndoStep::symbolChanged ( int  pos,
const OpenOrienteering::Symbol new_symbol,
const OpenOrienteering::Symbol old_symbol 
)
virtualslot

Adapts the symbol pointers of objects referencing the changed symbol.

◆ symbolDeleted

void OpenOrienteering::ObjectCreatingUndoStep::symbolDeleted ( int  pos,
const OpenOrienteering::Symbol old_symbol 
)
virtualslot

Invalidates the undo step if a contained object references the deleted symbol.

Member Data Documentation

◆ objects

std::vector<Object*> OpenOrienteering::ObjectCreatingUndoStep::objects
protected

A list of object instance which are currently not part of the map.

◆ valid

bool OpenOrienteering::ObjectCreatingUndoStep::valid
protected

A flag indicating whether this step is still valid.


The documentation for this class was generated from the following files: