Browse Source

Small fixes for Grid/Tile map editor palette

Franklin Sobrinho 10 years ago
parent
commit
0159cecd69

+ 1 - 1
modules/gridmap/grid_map_editor_plugin.cpp

@@ -738,7 +738,7 @@ void GridMapEditor::update_pallete()  {
 
 	float min_size = EDITOR_DEF("grid_map/preview_size",64);
 	theme_pallete->set_min_icon_size(Size2(min_size, min_size));
-	theme_pallete->set_fixed_column_width(min_size + 4);
+	theme_pallete->set_fixed_column_width(min_size*3/2);
 	theme_pallete->set_max_text_lines(2);
 
 	Ref<MeshLibrary> theme = node->get_theme();

+ 14 - 13
tools/editor/plugins/tile_map_editor_plugin.cpp

@@ -79,11 +79,11 @@ int TileMapEditor::get_selected_tile() const {
 
 void TileMapEditor::set_selected_tile(int p_tile) {
 	for (int i = 0; i < palette->get_item_count(); i++) {
-	    if (palette->get_item_metadata(i).operator int() == p_tile) {
-	        palette->select(i,true);
-	        palette->ensure_current_is_visible();
-	        break;
-	    }
+		if (palette->get_item_metadata(i).operator int() == p_tile) {
+			palette->select(i,true);
+			palette->ensure_current_is_visible();
+			break;
+		}
 	}
 }
 
@@ -170,16 +170,16 @@ void TileMapEditor::_update_palette() {
 		if (tex.is_valid()) {
 			Rect2 region = tileset->tile_get_region(E->get());
 
-			if (region==Rect2()) {
-			    continue;
-			}
-
-			Image data = VS::get_singleton()->texture_get_data(tex->get_rid());
+			if (!region.has_no_area()) {
+				Image data = VS::get_singleton()->texture_get_data(tex->get_rid());
 
-			Ref<ImageTexture> img = memnew( ImageTexture );
-			img->create_from_image(data.get_rect(region));
+				Ref<ImageTexture> img = memnew( ImageTexture );
+				img->create_from_image(data.get_rect(region));
 
-			palette->set_item_icon(palette->get_item_count()-1, img);
+				palette->set_item_icon(palette->get_item_count()-1, img);
+			} else {
+				palette->set_item_icon(palette->get_item_count()-1,tex);
+			}
 		}
 
 		if (tileset->tile_get_name(E->get())!="") {
@@ -187,6 +187,7 @@ void TileMapEditor::_update_palette() {
 		} else {
 			palette->set_item_text(palette->get_item_count()-1, "#"+itos(E->get()));
 		}
+
 		palette->set_item_metadata(palette->get_item_count()-1, E->get());
 	}
 }