30 const wxString& aName,
bool aRelative,
31 std::vector<BOUND_CONTROL>& aBoundCtrls )
36 wxWindow* parent = aSizer.GetContainingWindow();
38 wxStaticText* titleLabel =
new wxStaticText( parent, wxID_ANY, aName );
39 aSizer.Add( titleLabel, wxGBPosition( row, col ), wxGBSpan( 1, 3 ),
40 wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL | wxEXPAND );
43 for(
size_t coord = 0; coord < 2; ++coord )
45 wxStaticText* label =
new wxStaticText( parent, wxID_ANY, coord == 0 ?
_(
"X:" ) :
_(
"Y:" ) );
46 aSizer.Add( label, wxGBPosition( row, col ), wxDefaultSpan,
47 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxLEFT, col > 0 ? 20 : 5 );
49 wxTextCtrl* ctrl =
new wxTextCtrl( parent, wxID_ANY,
"" );
50 aSizer.Add( ctrl, wxGBPosition( row, col + 1 ), wxDefaultSpan,
51 wxEXPAND | wxALIGN_CENTER_VERTICAL, 5 );
53 wxStaticText* units =
new wxStaticText( parent, wxID_ANY,
_(
"mm" ) );
54 aSizer.Add( units, wxGBPosition( row, col + 2 ), wxDefaultSpan,
55 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxRIGHT, 5 );
57 auto binder = std::make_unique<UNIT_BINDER>( &aFrame, label, ctrl, units );
64 aBoundCtrls.push_back(
BOUND_CONTROL{ std::move( binder ), ctrl } );
68 if( !aSizer.IsColGrowable( col + 1 ) )
69 aSizer.AddGrowableCol( col + 1 );
75 bool aIsAngle, std::vector<BOUND_CONTROL>& aBoundCtrls )
78 wxWindow* parent = aSizer.GetContainingWindow();
80 wxStaticText* label =
new wxStaticText( parent, wxID_ANY, aName + wxS(
":" ) );
81 aSizer.Add( label, wxGBPosition( row, col ), wxDefaultSpan,
82 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxLEFT, col > 0 ? 20 : 5 );
84 wxTextCtrl* ctrl =
new wxTextCtrl( parent, wxID_ANY );
85 aSizer.Add( ctrl, wxGBPosition( row, col + 1 ), wxDefaultSpan,
86 wxEXPAND | wxALIGN_CENTER_VERTICAL, 5 );
88 wxStaticText* units =
new wxStaticText( parent, wxID_ANY,
_(
"mm" ) );
89 aSizer.Add( units, wxGBPosition( row, col + 2 ), wxDefaultSpan,
90 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxRIGHT, 5 );
92 auto binder = std::make_unique<UNIT_BINDER>( &aFrame, label, ctrl, units );
93 binder->SetCoordType( aCoordType );
97 binder->SetPrecision( 4 );
101 aBoundCtrls.push_back(
BOUND_CONTROL{ std::move( binder ), ctrl } );
103 if( !aSizer.IsColGrowable( col + 1 ) )
104 aSizer.AddGrowableCol( col + 1 );
void AddXYPointToSizer(EDA_DRAW_FRAME &aFrame, wxGridBagSizer &aSizer, int row, int col, const wxString &aName, bool aRelative, std::vector< BOUND_CONTROL > &aBoundCtrls)
void AddFieldToSizer(EDA_DRAW_FRAME &aFrame, wxGridBagSizer &aSizer, int row, int col, const wxString &aName, ORIGIN_TRANSFORMS::COORD_TYPES_T aCoordType, bool aIsAngle, std::vector< BOUND_CONTROL > &aBoundCtrls)