浏览代码

fixed cdb instance edit

ncannasse 7 年之前
父节点
当前提交
389eae96e6
共有 4 个文件被更改,包括 13 次插入8 次删除
  1. 3 2
      hide/comp/cdb/Cursor.hx
  2. 2 2
      hide/comp/cdb/ObjEditor.hx
  3. 5 3
      hide/comp/cdb/Table.hx
  4. 3 1
      hide/prefab/l3d/Instance.hx

+ 3 - 2
hide/comp/cdb/Cursor.hx

@@ -138,11 +138,12 @@ class Cursor {
 	}
 
 	public function clickCell( cell : Cell, shiftKey = false ) {
+		var xIndex = cell.table.displayMode == Table ? cell.columnIndex : 0;
 		if( shiftKey && table == cell.table ) {
-			select = { x : cell.columnIndex, y : cell.line.index };
+			select = { x : xIndex, y : cell.line.index };
 			update();
 		} else
-			set(cell.table, cell.columnIndex, cell.line.index);
+			set(cell.table, xIndex, cell.line.index);
 	}
 
 }

+ 2 - 2
hide/comp/cdb/ObjEditor.hx

@@ -4,9 +4,9 @@ class ObjEditor extends Editor {
 
     public function new( root : Element, sheet : cdb.Sheet, obj : {} ) {
         var sheetData = Reflect.copy(@:privateAccess sheet.sheet);
-        sheetData.lines = [obj];
+        sheetData.lines = [for( i in 0...sheet.columns.length ) obj];
         var pseudoSheet = new cdb.Sheet(sheet.base, sheetData);
-        this.displayMode = Properties;
+        this.displayMode = AllProperties;
         super(root, pseudoSheet);
     }
 

+ 5 - 3
hide/comp/cdb/Table.hx

@@ -4,6 +4,7 @@ import js.jquery.Helper.*;
 enum DisplayMode {
 	Table;
 	Properties;
+	AllProperties;
 }
 
 class Table extends Component {
@@ -11,7 +12,7 @@ class Table extends Component {
 	public var editor : Editor;
 	public var sheet : cdb.Sheet;
 	public var lines : Array<Line>;
-	var displayMode : DisplayMode;
+	public var displayMode(default,null) : DisplayMode;
 
 	public function new(editor, sheet, root, mode) {
 		super(root);
@@ -37,7 +38,7 @@ class Table extends Component {
 		switch( displayMode ) {
 		case Table:
 			refreshTable();
-		case Properties:
+		case Properties, AllProperties:
 			refreshProperties();
 		}
 	}
@@ -165,7 +166,8 @@ class Table extends Component {
 		var available = [];
 		var props = sheet.lines[0];
 		for( c in sheet.columns ) {
-			if( c.opt && !Reflect.hasField(props,c.name) ) {
+
+			if( c.opt && !Reflect.hasField(props,c.name) && displayMode != AllProperties ) {
 				available.push(c);
 				continue;
 			}

+ 3 - 1
hide/prefab/l3d/Instance.hx

@@ -66,7 +66,9 @@ class Instance extends Object3D {
 			</div>
 		'),this);
 
-		new hide.comp.cdb.ObjEditor(props.find(".group .content"), sheet, props);
+		var editor = new hide.comp.cdb.ObjEditor(props.find(".group .content"), sheet, this.props);
+		editor.undo = ctx.properties.undo;
+
 		//ctx.properties.addProps([for(c in sheet.columns) {t: getPropType(c), name: c.name}], this.props);
 		#end
 	}