44 std::vector<DRC_RE_FIELD_POSITION> positions =
m_data->GetFieldPositions();
46 wxWindow* eventSource =
nullptr;
48 for( wxWindow* win = aParent; win; win = win->GetParent() )
59 auto* optWidthField =
AddField<wxTextCtrl>( wxS(
"opt_width" ), positions[0], wxTE_CENTRE | wxTE_PROCESS_ENTER );
61 std::make_unique<UNIT_BINDER>( &
m_unitsProvider, eventSource,
nullptr, optWidthField->GetControl(),
62 optWidthField->GetLabel(),
false,
false );
68 AddField<wxTextCtrl>( wxS(
"width_tolerance" ), positions[1], wxTE_CENTRE | wxTE_PROCESS_ENTER );
70 std::make_unique<UNIT_BINDER>( &
m_unitsProvider, eventSource,
nullptr, widthTolField->GetControl(),
71 widthTolField->GetLabel(),
false,
false );
75 auto notifyModified = [
this]( wxCommandEvent& )
82 optWidthField->GetControl()->Bind( wxEVT_TEXT, notifyModified );
83 widthTolField->GetControl()->Bind( wxEVT_TEXT, notifyModified );
85 auto notifySave = [
this]( wxCommandEvent& aEvent )
92 optWidthField->GetControl()->Bind( wxEVT_TEXT_ENTER, notifySave );
93 widthTolField->GetControl()->Bind( wxEVT_TEXT_ENTER, notifySave );
wxString result
Test unit parsing edge cases and error handling.