Envision
A visual programming IDE for object-oriented languages
|
Public Types | |
using | UpdateFlags = QFlags< UpdateType > |
enum | UpdateType { NoFlags = 0 , Label = 1 , Value = 2 , Type = 4 , Structure = 8 } |
Public Member Functions | |
ChangeDescription (GenericNode *nodeA, GenericNode *nodeB) | |
~ChangeDescription ()=default | |
void | computeFlags () |
std::shared_ptr< ChangeDescription > | copy (std::shared_ptr< GenericTree > &tree, bool force=false) const |
If force is true then no check for ID uniqueness is performed. More... | |
bool | debugHasNodes () |
This is only used for debugging. More... | |
const UpdateFlags | flags () const |
bool | hasFlags (const UpdateFlags flags) const |
bool | isFake () const |
Returns true for changes that are stationary and have no flags set. More... | |
GenericNode * | nodeA () const |
GenericNode * | nodeB () const |
Model::NodeIdType | nodeId () const |
bool | onlyLabelChange () const |
bool | onlyStructureChange () const |
void | print () const |
void | setStructureChangeFlag (bool value) |
QString | summary () const |
const ChangeType & | type () const |
Static Public Member Functions | |
static std::shared_ptr< ChangeDescription > | newStructChange (Model::NodeIdType nodeId, std::shared_ptr< ChangeDescription > causingChange, std::shared_ptr< GenericTree > treeA, std::shared_ptr< GenericTree > treeB) |
Private Member Functions | |
ChangeDescription ()=default | |
Private Attributes | |
GenericNode * | nodeA_ {} |
If pointsToChildA_ is true, this is a pointer to a node with parent whose ID is nodeId_. More... | |
GenericNode * | nodeB_ {} |
Model::NodeIdType | nodeId_ {} |
bool | pointsToChildA_ |
bool | pointsToChildB_ |
ChangeType | type_ {} |
UpdateFlags | updateFlags_ {} |
using FilePersistence::ChangeDescription::UpdateFlags = QFlags<UpdateType> |
FilePersistence::ChangeDescription::ChangeDescription | ( | GenericNode * | nodeA, |
GenericNode * | nodeB | ||
) |
|
default |
|
privatedefault |
void FilePersistence::ChangeDescription::computeFlags | ( | ) |
std::shared_ptr< ChangeDescription > FilePersistence::ChangeDescription::copy | ( | std::shared_ptr< GenericTree > & | tree, |
bool | force = false |
||
) | const |
If force is true then no check for ID uniqueness is performed.
|
inline |
This is only used for debugging.
Do NOT use for other things.
|
inline |
|
inline |
|
inline |
Returns true for changes that are stationary and have no flags set.
|
static |
GenericNode * FilePersistence::ChangeDescription::nodeA | ( | ) | const |
GenericNode * FilePersistence::ChangeDescription::nodeB | ( | ) | const |
|
inline |
|
inline |
|
inline |
void FilePersistence::ChangeDescription::print | ( | ) | const |
void FilePersistence::ChangeDescription::setStructureChangeFlag | ( | bool | value | ) |
QString FilePersistence::ChangeDescription::summary | ( | ) | const |
|
inline |
|
private |
If pointsToChildA_ is true, this is a pointer to a node with parent whose ID is nodeId_.
Otherwise, this points to a node with ID = nodeId_. This is a lazy loading mechanic.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |