diff --git a/scenes/scroll-params.gd b/scenes/scroll-params.gd index 48bf8717..3a4809dd 100644 --- a/scenes/scroll-params.gd +++ b/scenes/scroll-params.gd @@ -30,10 +30,6 @@ func on_threat_selected(th): func init_table(): - $table.set_header(TABLE_HEADER) - $table.set_header_text(TABLE_HEADERS_TEXT) - $table.set_columns_min_size(TABLE_COLUMN_SIZE) - $table.pin_header(self, get_parent()) $table.connect('row_pressed', Callable(self, 'on_row_pressed')) for i in TABLE_PARAMS.size(): $table.add_row(TABLE_ROW) for p in TABLE_PARAMS.values(): @@ -41,6 +37,7 @@ func init_table(): $table.set_node_alligment(0, p[0], HORIZONTAL_ALIGNMENT_LEFT) $table.set_node_editable(0, p[0], false) $table.set_node_editable(1, p[0], false) + $table.set_columns_min_size(TABLE_COLUMN_SIZE) $table.set_meta('id', 0) diff --git a/table/table.gd b/table/table.gd index bfd022db..56743d55 100644 --- a/table/table.gd +++ b/table/table.gd @@ -176,10 +176,12 @@ func get_key_indexes(key: String) -> Array: ## func set_columns_min_size(sizes: Array) -> void: + assert((columns == 1) or (columns == sizes.size())) + columns = sizes.size() var rows_count: = get_rows_count() - for i_row in rows_count: - set_nodes_min_size(i_row, sizes) - set_nodes_min_size(0, sizes, HEAD_KEY_FORMAT) + for i_row in rows_count: set_nodes_min_size(i_row, sizes) + if nodes.has(HEAD_KEY_FORMAT % [0, 0]): + set_nodes_min_size(0, sizes, HEAD_KEY_FORMAT) ## @@ -320,12 +322,9 @@ func add_row(row_types: Array) -> void: var node_type = row_types[i_col] var node = node_type.instantiate() assert(node.name == node.name, 'ошибка: экземпляр не имеет поля \"name\"') - var head = nodes[HEAD_KEY_FORMAT % [0, i_col]] var node_key: String = NODE_KEY_FORMAT % [i_row, i_col] node.name = node_key add_child(node) - node.custom_minimum_size.x = head.custom_minimum_size.x - node.set_deferred('size.x', head.size.x) nodes[node_key] = node var conn = Callable(self, '_on_focus_entered').bind(node) node.connect('focus_entered', conn)