mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	Fixed wrong filling of TextControl, when value is double.
This commit is contained in:
		
							parent
							
								
									badeb2f64c
								
							
						
					
					
						commit
						77bac4c17a
					
				
					 2 changed files with 11 additions and 13 deletions
				
			
		|  | @ -112,13 +112,13 @@ namespace Slic3r { namespace GUI { | |||
| 			if (vec->size() > 1) | ||||
| 				break; | ||||
| 			double val = vec->get_at(0); | ||||
| 			text_value = val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2); | ||||
| 			text_value = val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2, wxNumberFormatter::Style_None); | ||||
| 			break; | ||||
| 		}			 | ||||
| 		case coFloat: | ||||
| 		{ | ||||
| 			double val = m_opt.default_value->getFloat(); | ||||
| 			text_value = (val - int(val)) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2); | ||||
| 			text_value = (val - int(val)) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2, wxNumberFormatter::Style_None); | ||||
| 			break; | ||||
| 		}			 | ||||
| 		case coFloats: | ||||
|  | @ -128,7 +128,7 @@ namespace Slic3r { namespace GUI { | |||
| 			if (vec->size() > 1) | ||||
| 				break; | ||||
| 			double val = vec->get_at(0); | ||||
| 			text_value = val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2); | ||||
| 			text_value = val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2, wxNumberFormatter::Style_None); | ||||
| 			break; | ||||
| 		} | ||||
| 		case coString:			 | ||||
|  | @ -161,13 +161,12 @@ namespace Slic3r { namespace GUI { | |||
| 
 | ||||
| 		temp->Bind(wxEVT_KILL_FOCUS, ([this, temp](wxEvent& e) | ||||
| 		{ | ||||
| 			//! change value after kill focus 
 | ||||
| 			//! to avoid update_config during every one changes inside control
 | ||||
| 			on_change_field();  | ||||
| 			on_kill_focus(e); | ||||
| 			temp->GetToolTip()->Enable(true); | ||||
| 		}), temp->GetId()); | ||||
| 
 | ||||
| 		temp->Bind(wxEVT_TEXT, ([this](wxCommandEvent) { on_change_field(); }), temp->GetId()); | ||||
| 
 | ||||
|         // recast as a wxWindow to fit the calling convention
 | ||||
|         window = dynamic_cast<wxWindow*>(temp); | ||||
|     }	 | ||||
|  | @ -489,9 +488,9 @@ void PointCtrl::BUILD() | |||
| 
 | ||||
| 	auto default_pt = static_cast<ConfigOptionPoints*>(m_opt.default_value)->values.at(0); | ||||
| 	double val = default_pt.x; | ||||
| 	wxString X = val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2); | ||||
| 	wxString X = val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2, wxNumberFormatter::Style_None); | ||||
| 	val = default_pt.y; | ||||
| 	wxString Y = val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2); | ||||
| 	wxString Y = val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2, wxNumberFormatter::Style_None); | ||||
| 
 | ||||
| 	x_textctrl = new wxTextCtrl(m_parent, wxID_ANY, X, wxDefaultPosition, field_size); | ||||
| 	y_textctrl = new wxTextCtrl(m_parent, wxID_ANY, Y, wxDefaultPosition, field_size); | ||||
|  | @ -516,9 +515,9 @@ void PointCtrl::set_value(const Pointf value) | |||
| 	m_disable_change_event = true; | ||||
| 
 | ||||
| 	double val = value.x; | ||||
| 	x_textctrl->SetValue(val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2)); | ||||
| 	x_textctrl->SetValue(val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2, wxNumberFormatter::Style_None)); | ||||
| 	val = value.y; | ||||
| 	y_textctrl->SetValue(val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2)); | ||||
| 	y_textctrl->SetValue(val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2, wxNumberFormatter::Style_None)); | ||||
| 
 | ||||
| 	m_disable_change_event = false; | ||||
| } | ||||
|  |  | |||
|  | @ -287,11 +287,10 @@ boost::any ConfigOptionsGroup::config_value(std::string opt_key, int opt_index, | |||
| 
 | ||||
| wxString double_to_string(double const value) | ||||
| { | ||||
| 	int precision = 10 * value - int(10 * value) == 0 ? 1 : 2;  | ||||
| 	return value - int(value) == 0 ? | ||||
| 		wxString::Format(_T("%i"), int(value)) : | ||||
| 		10 * value - int(10 * value) == 0 ? | ||||
| 		wxNumberFormatter::ToString(value, 1) : | ||||
| 		wxNumberFormatter::ToString(value, 2); | ||||
| 		wxNumberFormatter::ToString(value, precision, wxNumberFormatter::Style_None); | ||||
| } | ||||
| 
 | ||||
| boost::any ConfigOptionsGroup::get_config_value(DynamicPrintConfig& config, std::string opt_key, int opt_index/* = -1*/) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 YuSanka
						YuSanka