|
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 |