From 01632a824ee7e2326aa90b32d75c2fe09f61a37e Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Sun, 29 Jun 2014 22:41:02 -0300 Subject: Bug Fixes -=-=-=-=- -Documentation now shows overridable theme values (though this needs to be documented). -Detect when object transform is flipped and flip normals too. -TileMap can specify bounce and friction for collision. -Removed limit of 4 lights per object -Added is_hovered() to buttons. --- tools/doc/doc_data.cpp | 114 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 113 insertions(+), 1 deletion(-) (limited to 'tools/doc/doc_data.cpp') diff --git a/tools/doc/doc_data.cpp b/tools/doc/doc_data.cpp index 35f1140644..319c1ad8b7 100644 --- a/tools/doc/doc_data.cpp +++ b/tools/doc/doc_data.cpp @@ -34,6 +34,7 @@ #include "script_language.h" #include "io/marshalls.h" #include "io/compression.h" +#include "scene/resources/theme.h" void DocData::merge_from(const DocData& p_data) { @@ -111,6 +112,21 @@ void DocData::merge_from(const DocData& p_data) { } } + for(int i=0;i l; + Theme::get_default()->get_constant_list(cname,&l); + for (List::Element*E=l.front();E;E=E->next()) { + + PropertyDoc pd; + pd.name=E->get(); + pd.type="int"; + c.theme_properties.push_back(pd); + } + + l.clear(); + Theme::get_default()->get_color_list(cname,&l); + for (List::Element*E=l.front();E;E=E->next()) { + + PropertyDoc pd; + pd.name=E->get(); + pd.type="Color"; + c.theme_properties.push_back(pd); + } + + l.clear(); + Theme::get_default()->get_icon_list(cname,&l); + for (List::Element*E=l.front();E;E=E->next()) { + + PropertyDoc pd; + pd.name=E->get(); + pd.type="Texture"; + c.theme_properties.push_back(pd); + } + l.clear(); + Theme::get_default()->get_font_list(cname,&l); + for (List::Element*E=l.front();E;E=E->next()) { + + PropertyDoc pd; + pd.name=E->get(); + pd.type="Font"; + c.theme_properties.push_back(pd); + } + l.clear(); + Theme::get_default()->get_stylebox_list(cname,&l); + for (List::Element*E=l.front();E;E=E->next()) { + + PropertyDoc pd; + pd.name=E->get(); + pd.type="StyleBox"; + c.theme_properties.push_back(pd); + } + + } + + classes.pop_front(); } @@ -714,6 +784,35 @@ Error DocData::_load(Ref parser) { break; //end of } + } else if (name=="theme_items") { + + while(parser->read()==OK) { + + if (parser->get_node_type() == XMLParser::NODE_ELEMENT) { + + String name = parser->get_node_name(); + + if (name=="theme_item") { + + PropertyDoc prop; + + ERR_FAIL_COND_V(!parser->has_attribute("name"),ERR_FILE_CORRUPT); + prop.name=parser->get_attribute_value("name"); + ERR_FAIL_COND_V(!parser->has_attribute("type"),ERR_FILE_CORRUPT); + prop.type=parser->get_attribute_value("type"); + parser->read(); + if (parser->get_node_type()==XMLParser::NODE_TEXT) + prop.description=parser->get_node_data().strip_edges(); + c.theme_properties.push_back(prop); + } else { + ERR_EXPLAIN("Invalid tag in doc file: "+name); + ERR_FAIL_V(ERR_FILE_CORRUPT); + } + + } else if (parser->get_node_type() == XMLParser::NODE_ELEMENT_END && parser->get_node_name()=="members") + break; //end of + } + } else if (name=="constants") { while(parser->read()==OK) { @@ -897,7 +996,20 @@ Error DocData::save(const String& p_path) { } _write_string(f,1,""); - _write_string(f,0,""); + + _write_string(f,1,""); + if (c.theme_properties.size()) { + for(int i=0;i"); + _write_string(f,2,""); + + } + } + + _write_string(f,0,""); } -- cgit v1.2.3