diff --git a/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java b/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java
index 137e43d..eb5a129 100644
|
a
|
b
|
public class MemberTableModel extends AbstractTableModel implements TableModelLi
|
| 951 | 951 | con.add(null); |
| 952 | 952 | } |
| 953 | 953 | |
| 954 | | int firstGroupIdx=0; |
| | 954 | firstGroupIdx=0; |
| 955 | 955 | |
| 956 | 956 | lastForwardWay = UNCONNECTED; |
| 957 | 957 | lastBackwardWay = UNCONNECTED; |
| … |
… |
public class MemberTableModel extends AbstractTableModel implements TableModelLi
|
| 983 | 983 | if(lastBackwardWay == UNCONNECTED && lastForwardWay == UNCONNECTED){ //Beginning of new oneway |
| 984 | 984 | wct.isOnewayHead = true; |
| 985 | 985 | lastForwardWay = i-1; |
| 986 | | lastBackwardWay = i; |
| | 986 | lastBackwardWay = i-1; |
| 987 | 987 | onewayBeginning = true; |
| 988 | 988 | } |
| 989 | 989 | } |
| … |
… |
public class MemberTableModel extends AbstractTableModel implements TableModelLi
|
| 1016 | 1016 | lastWct = wct; |
| 1017 | 1017 | |
| 1018 | 1018 | if(!wct.linkPrev) { |
| 1019 | | if(i > 0) makeLoopIfNeeded(con, i-1, firstGroupIdx); |
| | 1019 | if(i > 0) makeLoopIfNeeded(con, i-1); |
| 1020 | 1020 | firstGroupIdx = i; |
| 1021 | 1021 | } |
| 1022 | 1022 | } |
| 1023 | | makeLoopIfNeeded(con, members.size()-1, firstGroupIdx); |
| | 1023 | makeLoopIfNeeded(con, members.size()-1); |
| 1024 | 1024 | connectionType = con; |
| 1025 | 1025 | // for (int i=0; i<con.size(); ++i) { |
| 1026 | 1026 | // System.err.println(con.get(i)); |
| … |
… |
public class MemberTableModel extends AbstractTableModel implements TableModelLi
|
| 1055 | 1055 | return isForward(member) || isBackward(member); |
| 1056 | 1056 | } |
| 1057 | 1057 | |
| 1058 | | private void makeLoopIfNeeded(final List<WayConnectionType> con, final int i, final int firstGroupIdx) { |
| | 1058 | int firstGroupIdx; |
| | 1059 | private void makeLoopIfNeeded(final List<WayConnectionType> con, final int i) { |
| 1059 | 1060 | boolean loop; |
| 1060 | 1061 | if (i == firstGroupIdx) { //is primitive loop |
| 1061 | 1062 | loop = determineDirection(i, FORWARD, i) == FORWARD; |
| … |
… |
public class MemberTableModel extends AbstractTableModel implements TableModelLi
|
| 1091 | 1092 | Direction dirFW = determineDirection(lastForwardWay, con.get(lastForwardWay).direction, i); |
| 1092 | 1093 | Direction dirBW = NONE; |
| 1093 | 1094 | if(onewayBeginning) { |
| 1094 | | if(lastBackwardWay != i) |
| 1095 | | dirBW = determineDirection(lastBackwardWay, reverse(con.get(lastBackwardWay).direction), i, true); |
| | 1095 | if(lastBackwardWay < 0) |
| | 1096 | dirBW = determineDirection(firstGroupIdx, reverse(con.get(firstGroupIdx).direction), i, true); |
| | 1097 | else |
| | 1098 | dirBW = determineDirection(lastBackwardWay, con.get(lastBackwardWay).direction, i, true); |
| | 1099 | |
| 1096 | 1100 | if(dirBW != NONE) |
| 1097 | 1101 | onewayBeginning = false; |
| 1098 | 1102 | } else |
| … |
… |
public class MemberTableModel extends AbstractTableModel implements TableModelLi
|
| 1116 | 1120 | if(isOneway(m)){ |
| 1117 | 1121 | wct.isOnewayHead = true; |
| 1118 | 1122 | lastForwardWay = i-1; |
| 1119 | | lastBackwardWay = i; |
| | 1123 | lastBackwardWay = i-1; |
| 1120 | 1124 | } else { |
| 1121 | 1125 | lastForwardWay = UNCONNECTED; |
| 1122 | 1126 | lastBackwardWay = UNCONNECTED; |