Envision
A visual programming IDE for object-oriented languages
|
Classes | |
struct | IdPosition |
Public Member Functions | |
virtual void | run (MergeData &mergeData) override |
Public Member Functions inherited from FilePersistence::MergePipelineComponent | |
virtual | ~MergePipelineComponent () |
Static Public Member Functions | |
static bool | isList (const QString &type) |
static bool | isOrderedList (const QString &type) |
static bool | isUnorderedList (const QString &type) |
Private Types | |
enum class | Phase : int { Initial , RelabelComplete , HolesRemoved } |
Private Member Functions | |
ChangeGraph::IdToLabelMap | computeAdjustedIndices (Model::NodeIdType listId, MergeData &mergeData) |
Returns the map of new labels(Integral) of list. More... | |
QList< Model::NodeIdType > | computeListsToMerge (MergeData &mergeData) |
Finds all the lists that we will process in the merge. More... | |
void | computeOffsetsInBranch (const QList< Model::NodeIdType > base, const QList< Model::NodeIdType > version, QList< IdPosition > &list, std::shared_ptr< GenericTree > treeBase, MergeChange::Branches branch) |
Fills the list with the indices mapped to proper positions relative to Base. More... | |
QList< Chunk * > | listToChunks (Model::NodeIdType listId, MergeData &mergeData) |
Returns chunks for the given list. More... | |
QList< Model::NodeIdType > | nodeListToSortedIdList (const QList< GenericNode * > &list) |
Returns list of nodeIds sorted by labels that is used for computing chunks. More... | |
void | printFinalList (const QList< Model::NodeIdType > lists, GenericTree *tree, ChangeGraph &cg) |
For Debugging purpose, prints the list and unapplied changes To be callled after removing holes, at the end of ListMerge Component. More... | |
void | printLabelMap (ChangeGraph::IdToLabelMap map) |
void | removeHoles (GenericTree *tree, ChangeGraph &cg) |
Removes Holes from listsToMerge_, makes it continuous and adjusts the CG according to it It gives fractional indices for the elements that were supposed to move in or inserted in the holes. More... | |
Private Attributes | |
QList< Model::NodeIdType > | listsToMerge_ {} |
Phase | phase_ {Phase::Initial} |
|
strongprivate |
|
private |
Returns the map of new labels(Integral) of list.
so that all labels are unique.
|
private |
Finds all the lists that we will process in the merge.
Finds the lists having structure changes. Assumes Insertion/Deletion of whole list does not happen.
|
private |
Fills the list with the indices mapped to proper positions relative to Base.
|
static |
|
static |
|
static |
|
private |
Returns chunks for the given list.
|
private |
Returns list of nodeIds sorted by labels that is used for computing chunks.
|
private |
For Debugging purpose, prints the list and unapplied changes To be callled after removing holes, at the end of ListMerge Component.
|
private |
|
private |
Removes Holes from listsToMerge_, makes it continuous and adjusts the CG according to it It gives fractional indices for the elements that were supposed to move in or inserted in the holes.
|
overridevirtual |
Implements FilePersistence::MergePipelineComponent.
|
private |
|
private |