소스 검색

Disables editing of ID and ParentHolonObject in HolonElementTable

Andreas T. Meyer-Berg 6 년 전
부모
커밋
3708cfea3c
2개의 변경된 파일30개의 추가작업 그리고 1개의 파일을 삭제
  1. 24 1
      src/ui/view/GUI.java
  2. 6 0
      src/ui/view/PropertyTable.java

+ 24 - 1
src/ui/view/GUI.java

@@ -1088,6 +1088,29 @@ public class GUI implements CategoryListener {
 						//refresh HolonElementTable
 						updCon.refreshTableHolonElement(model.getMultiTable(), model.getSingleTable());
 					}
+					
+
+					@Override
+					public void mouseExited(MouseEvent e) {
+						/**
+						 * Stop Editing, if mouse exits the Table
+						 */
+						JTable holElem = model.getTableHolonElement();
+						JTableHeader holElemHead = holElem.getTableHeader();
+						if(e.getX()<=0 || e.getX()>=holElemHead.getWidth() 
+								|| e.getY() <= 0){
+							CellEditor cellEditor = holElem.getCellEditor();
+							if (cellEditor != null) {
+							    if (cellEditor.getCellEditorValue() != null) {
+							    	/** TODO: Maybe try to save current Data */
+							        cellEditor.stopCellEditing();
+							    } else {
+							        cellEditor.cancelCellEditing();
+							    }
+							}
+						}
+						
+					}
 				});
 		model.getTableHolonElement().getTableHeader().setReorderingAllowed(false);
 
@@ -1314,7 +1337,7 @@ public class GUI implements CategoryListener {
 				 */
 				JTable holElem = model.getTableHolonElement();
 				if(e.getX()<=0 || e.getX()>=holElem.getWidth() 
-						|| e.getY() <= 0 || e.getY()>= holElem.getHeight()){
+						/*|| e.getY() <= 0*/|| e.getY()>= holElem.getHeight()){
 					CellEditor cellEditor = holElem.getCellEditor();
 					if (cellEditor != null) {
 					    if (cellEditor.getCellEditorValue() != null) {

+ 6 - 0
src/ui/view/PropertyTable.java

@@ -31,4 +31,10 @@ public class PropertyTable extends DefaultTableModel {
 		}
 		return clazz;
 	}
+	
+	@Override
+	public boolean isCellEditable(int row, int column) {
+		return getColumnCount() == 8 && column > 1
+				|| getColumnCount() == 7 && column > 0;
+	}
 }