Browse Source

refactors Comparator Package, fixes Sorting in other languages

disables dragging of HolonTableColumns
Andreas T. Meyer-Berg 6 years ago
parent
commit
a06b1b563c

+ 1 - 1
src/ElementComparator/ElemCompOnEleName.java → src/classes/comparator/elementComparator/ElemCompOnEleName.java

@@ -1,4 +1,4 @@
-package ElementComparator;
+package classes.comparator.elementComparator;
 
 import classes.HolonElement;
 

+ 1 - 1
src/ElementComparator/ElemCompOnEnergy.java → src/classes/comparator/elementComparator/ElemCompOnEnergy.java

@@ -1,4 +1,4 @@
-package ElementComparator;
+package classes.comparator.elementComparator;
 
 import classes.HolonElement;
 

+ 1 - 1
src/ElementComparator/ElemCompOnFlexible.java → src/classes/comparator/elementComparator/ElemCompOnFlexible.java

@@ -1,4 +1,4 @@
-package ElementComparator;
+package classes.comparator.elementComparator;
 
 import classes.HolonElement;
 

+ 1 - 1
src/ElementComparator/ElemCompOnId.java → src/classes/comparator/elementComparator/ElemCompOnId.java

@@ -1,7 +1,7 @@
 /**
  * 
  */
-package ElementComparator;
+package classes.comparator.elementComparator;
 
 import classes.HolonElement;
 

+ 1 - 1
src/ElementComparator/ElemCompOnIsActivated.java → src/classes/comparator/elementComparator/ElemCompOnIsActivated.java

@@ -1,4 +1,4 @@
-package ElementComparator;
+package classes.comparator.elementComparator;
 
 import classes.HolonElement;
 

+ 1 - 1
src/ElementComparator/ElemCompOnIsFlexible.java → src/classes/comparator/elementComparator/ElemCompOnIsFlexible.java

@@ -1,4 +1,4 @@
-package ElementComparator;
+package classes.comparator.elementComparator;
 
 import classes.HolonElement;
 

+ 3 - 1
src/ElementComparator/ElemCompOnObj.java → src/classes/comparator/elementComparator/ElemCompOnObj.java

@@ -1,4 +1,4 @@
-package ElementComparator;
+package classes.comparator.elementComparator;
 
 import classes.HolonElement;
 
@@ -9,6 +9,8 @@ public class ElemCompOnObj extends ElementComparator {
 
 		String objNameA = a.getObjName();
 		String objNameB = b.getObjName();
+		if(objNameA == null)return -1;
+		if (objNameB == null)return 1;
 		return objNameA.compareTo(objNameB);
 
 	}

+ 1 - 1
src/ElementComparator/ElemCompOnQuantity.java → src/classes/comparator/elementComparator/ElemCompOnQuantity.java

@@ -1,4 +1,4 @@
-package ElementComparator;
+package classes.comparator.elementComparator;
 
 import classes.HolonElement;
 

+ 1 - 1
src/ElementComparator/ElementComparator.java → src/classes/comparator/elementComparator/ElementComparator.java

@@ -1,4 +1,4 @@
-package ElementComparator;
+package classes.comparator.elementComparator;
 
 import java.util.Comparator;
 

+ 40 - 22
src/ui/controller/UpdateController.java

@@ -1,6 +1,15 @@
 package ui.controller;
 
 import classes.*;
+import classes.comparator.elementComparator.ElemCompOnEleName;
+import classes.comparator.elementComparator.ElemCompOnEnergy;
+import classes.comparator.elementComparator.ElemCompOnFlexible;
+import classes.comparator.elementComparator.ElemCompOnId;
+import classes.comparator.elementComparator.ElemCompOnIsActivated;
+import classes.comparator.elementComparator.ElemCompOnIsFlexible;
+import classes.comparator.elementComparator.ElemCompOnObj;
+import classes.comparator.elementComparator.ElemCompOnQuantity;
+import classes.comparator.elementComparator.ElementComparator;
 import ui.model.Model;
 import ui.view.DefaulTable;
 import ui.view.Languages;
@@ -12,16 +21,6 @@ import java.util.Comparator;
 import java.util.HashMap;
 import java.util.LinkedList;
 
-import ElementComparator.ElemCompOnEleName;
-import ElementComparator.ElemCompOnEnergy;
-import ElementComparator.ElemCompOnFlexible;
-import ElementComparator.ElemCompOnId;
-import ElementComparator.ElemCompOnIsActivated;
-import ElementComparator.ElemCompOnIsFlexible;
-import ElementComparator.ElemCompOnObj;
-import ElementComparator.ElemCompOnQuantity;
-import ElementComparator.ElementComparator;
-
 /**
  * This class is for all update methods and more ;)
  * 
@@ -32,12 +31,12 @@ public class UpdateController {
 
 	Model model;
 	Control controller;
-	private String sortBy;
+	private int sortBy;
 
 	public UpdateController(Model model, Control control) {
 		this.model = model;
 		this.controller = control;
-		sortBy="Nr.";
+		sortBy= 1;
 	}
 
 	/**
@@ -109,25 +108,30 @@ public class UpdateController {
 	 * @return sorted HolonElement-List! 
 	 */
 	public LinkedList<HolonElement> sortElemList(LinkedList<HolonElement> elemList) {
+		System.out.println("Sort : "+sortBy);
 		switch(sortBy) {
-		case "Object": 
+		case 0://"Object": 
 			elemList.sort(new ElemCompOnObj());
 			break;
-		case "Device": 
+		case 1://ID
+			elemList.sort(new ElemCompOnId());
+			break;
+		case 2://"Device": 
 			elemList.sort(new ElemCompOnEleName());
 			break;
-		case "Energy": elemList.sort(new ElemCompOnEnergy());
+		case 3://"Energy": 
+			elemList.sort(new ElemCompOnEnergy());
 			break;
-		case "Flexible Energy Available": 
+		case 4://"Flexible Energy Available": 
 			elemList.sort(new ElemCompOnFlexible());
 			break;
-		case "Quantity": 
+		case 5://"Quantity": 
 			elemList.sort(new ElemCompOnQuantity());
 			break;
-		case "Activated": 
+		case 6://"Activated": 
 			elemList.sort(new ElemCompOnIsActivated());
 			break;
-		case "Flexible": 
+		case 7://"Flexible": 
 			elemList.sort(new ElemCompOnIsFlexible());
 			break;
 		default: 
@@ -462,11 +466,25 @@ public class UpdateController {
 		}
 	}
 
-	public String getSortBy() {
+	/**
+	 * 
+	 * @return id of column that should be sorted
+	 */
+	public int getSortBy() {
 		return sortBy;
 	}
 
-	public void setSortBy(String sortBy) {
-		this.sortBy = sortBy;
+	/**
+	 * sets the column id that should be sorted
+	 * @param column
+	 */
+	public void setSortBy(int column) {
+		/**
+		 * if there is no "Object" column, assume coloumn 0 is
+		 */
+		if(model.getTableHolonElement().getColumnCount()==7)
+			this.sortBy = column+1;
+		else
+			this.sortBy = column;
 	}
 }

+ 3 - 3
src/ui/view/GUI.java

@@ -1020,13 +1020,13 @@ public class GUI implements CategoryListener {
 						//clicked column
 						int col = model.getTableHolonElement().columnAtPoint(
 								e.getPoint());
-						//insert name of the column into UpdateController
-						updCon.setSortBy(model.getTableHolonElement()
-								.getColumnName(col));
+						//insert column into UpdateController
+						updCon.setSortBy(col);
 						//refresh HolonElementTable
 						updCon.refreshTableHolonElement(model.getMultiTable(), model.getSingleTable());
 					}
 				});
+		model.getTableHolonElement().getTableHeader().setReorderingAllowed(false);
 
 		tableHolonElementScrollPane.setViewportView(model
 				.getTableHolonElement());