diff --git a/.classpath b/.classpath
index 722043f..7354c6b 100644
--- a/.classpath
+++ b/.classpath
@@ -1,6 +1,10 @@
-
+
+
+
+
+
diff --git a/src/gui/DrawboxEditor.java b/src/gui/DrawboxEditor.java
index 3e77358..b39ab46 100644
--- a/src/gui/DrawboxEditor.java
+++ b/src/gui/DrawboxEditor.java
@@ -87,19 +87,7 @@ public class DrawboxEditor extends Editable {
Point p = new Point(e.getX(), e.getY());
drawboxPoints.add(p);
if(drawboxPoints.size() == 4) {
- Point baseStart = drawboxPoints.get(0),
- baseEnd = drawboxPoints.get(1);
- for(Point pseudo: drawboxPoints) { // если не будет цикла в цикле - не выйдет сравнить всех со всеми
- for(Point vertex: drawboxPoints) { // что приведёт к артефактам построения основания
- if(vertex != baseStart && vertex != baseEnd) {
- if(vertex.y >= baseStart.y) baseStart = vertex;
- else if(vertex.y >= baseEnd.y) baseEnd = vertex;
- }
- }
- }
- basePoints.add(baseStart);
- basePoints.add(baseEnd);
-
+ sortingDrawboxPoints();
saveDataInEntity();
//при выборе 4-й точки и формировании данных drawbox, уведомляем всех подписчит
if(listeners!=null) {
@@ -116,16 +104,24 @@ public class DrawboxEditor extends Editable {
* но на данном этапе на всякий случай стоит так поступить*/
private void sortingDrawboxPoints() {
//окей, это написано плохо, но... Похуй, пляшем)
- for(int i = 0; i<3; i++) {
- Point leftTopPoint = drawboxPoints.get(i);
- for(int j = i+1; j<4; j++) {
- if((leftTopPoint.x>drawboxPoints.get(j).x)&&(leftTopPoint.y>drawboxPoints.get(j).y)) {
- Collections.swap(drawboxPoints, 0, j);
-
- }
-
- }
+ Collections.sort(
+ drawboxPoints,
+ (point1, point2) -> Float.compare(point1.y, point2.y)
+ );
+ if(drawboxPoints.get(0).x>drawboxPoints.get(1).x) {
+ Collections.swap(drawboxPoints, 0, 1);
}
+ if(drawboxPoints.get(2).x, EntityDrawboxChangedListener {
public List getListEntity() {
return listEntity;
}
-
+/*
+ * Получение события при отрисовке нового Drawbox, для изменения XML-дерева.
+ * Объект event хранит в себе ссылку на новый объект drawbox и объект entity, для которой он был создан.
+ * Необходимо из Entity получить имя сущности и в XML-дереве изменить данные drawbox-а, используя функцию toString.
+ * */
@Override
public void getEvent(EntityDrawboxChangedEvent event) {
// TODO Auto-generated method stub