Drag and absolute-hour-change changes both parents and children, no matter which point (parent or child) that is moved
This commit is contained in:
parent
4a7af70009
commit
131b5a990a
2 changed files with 19 additions and 5 deletions
|
@ -56,7 +56,9 @@ Rectangle{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
onAbsoluteHourChanged: {
|
onAbsoluteHourChanged: {
|
||||||
print("ABSOLUTE HOUR CHANGED"); //TEST NYTT TEST
|
//print("ABSOLUTE HOUR CHANGED");
|
||||||
|
Scripts.updateParentAbsoluteHour();
|
||||||
|
Scripts.updateChildPoints();
|
||||||
pointRect.x = getAbsoluteXValue();
|
pointRect.x = getAbsoluteXValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -461,7 +463,6 @@ Rectangle{
|
||||||
return "unticked.png";
|
return "unticked.png";
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
print("Well, index? " + index + " or index: " + originalPoint.deviceRow.parent.parent.daydate.getDay());
|
|
||||||
return "ticked.png";
|
return "ticked.png";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -394,9 +394,9 @@ function removeChildPoint(index){
|
||||||
|
|
||||||
function removeParentPoint(newParentPoint){
|
function removeParentPoint(newParentPoint){
|
||||||
print("Removing parent point...");
|
print("Removing parent point...");
|
||||||
|
delete childPoints[newParentPoint.deviceRow.parent.parent.daydate.getDay()]; //TODO remove this: = undefined; //remove the current point from the child list
|
||||||
newParentPoint.setChildPoints(childPoints); //copy child list to current child (making it a parent)
|
newParentPoint.setChildPoints(childPoints); //copy child list to current child (making it a parent)
|
||||||
newParentPoint.parentPoint = undefined;
|
newParentPoint.parentPoint = undefined;
|
||||||
childPoints[newParentPoint.deviceRow.parent.parent.daydate.getDay()] = undefined; //remove the current point from the child list
|
|
||||||
updateParentsInChildList(newParentPoint); //update all other child points (if any) with the current point as their parent
|
updateParentsInChildList(newParentPoint); //update all other child points (if any) with the current point as their parent
|
||||||
pointRect.remove("true");
|
pointRect.remove("true");
|
||||||
}
|
}
|
||||||
|
@ -406,9 +406,21 @@ function setChildPoints(newChildPoints){
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateParentsInChildList(newParentPoint){
|
function updateParentsInChildList(newParentPoint){
|
||||||
var children = newParentPoint.getChildPoints()
|
var children = newParentPoint.getChildPoints();
|
||||||
for(var point in children){
|
for(var point in children){
|
||||||
point.pointParent = newParentPoint;
|
children[point].parentPoint = newParentPoint;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateChildPoints(parentPoint){
|
||||||
|
for(var point in childPoints){
|
||||||
|
childPoints[point].absoluteHour = pointRect.absoluteHour;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateParentAbsoluteHour(){
|
||||||
|
if(pointRect.parentPoint != undefined){
|
||||||
|
pointRect.parentPoint.absoluteHour = pointRect.absoluteHour; //TODO check if this can be done with binding without loops...
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -433,6 +445,7 @@ function getOffsetWeekdayName(index){
|
||||||
}
|
}
|
||||||
|
|
||||||
function getOffsetWeekday(index){
|
function getOffsetWeekday(index){
|
||||||
|
//TODO this can be modified based on locale, not adding 1 of week should start with sunday
|
||||||
index = index + 1;
|
index = index + 1;
|
||||||
if(index == weekday_name_array.length){
|
if(index == weekday_name_array.length){
|
||||||
index = 0;
|
index = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue