| 293 | } |
| 294 | |
| 295 | void SnappingToolBar::Populate() |
| 296 | { |
| 297 | SetBackgroundColour( theTheme.Colour( clrMedium ) ); |
| 298 | |
| 299 | auto sizer = safenew wxFlexGridSizer(1, 1, 1); |
| 300 | Add(sizer, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 5); |
| 301 | |
| 302 | auto boxSizer = safenew wxBoxSizer(wxHORIZONTAL); |
| 303 | |
| 304 | mSnapModeCheckBox = safenew wxCheckBox(this, wxID_ANY, {}); |
| 305 | |
| 306 | mSnapModeCheckBox->SetName(SnapLabel.Stripped().Translation()); |
| 307 | #if wxUSE_ACCESSIBILITY |
| 308 | // so that name can be set on a standard control |
| 309 | mSnapModeCheckBox->SetAccessible( |
| 310 | safenew WindowAccessible(mSnapModeCheckBox)); |
| 311 | #endif |
| 312 | |
| 313 | auto snapLabelCtrl = safenew auStaticText(this, SnapLabel.Translation()); |
| 314 | |
| 315 | boxSizer->Add(mSnapModeCheckBox, 0, wxEXPAND, 0); |
| 316 | boxSizer->Add(snapLabelCtrl, 0, wxEXPAND, 0); |
| 317 | |
| 318 | sizer->Add(boxSizer, 0, wxBOTTOM | wxRIGHT | wxEXPAND, 5); |
| 319 | |
| 320 | const bool snapEnabled = |
| 321 | ProjectSnap::Get(mProject).GetSnapMode() != SnapMode::SNAP_OFF; |
| 322 | |
| 323 | mSnapModeCheckBox->SetValue(snapEnabled); |
| 324 | |
| 325 | |
| 326 | mSnapToCombo = safenew wxComboCtrl( |
| 327 | this, wxID_ANY, {}, wxDefaultPosition, wxDefaultSize /*, wxCB_READONLY*/); |
| 328 | #if wxUSE_ACCESSIBILITY |
| 329 | // so that name can be set on a standard control |
| 330 | mSnapToCombo->GetTextCtrl()->SetAccessible( |
| 331 | safenew WindowAccessible(mSnapToCombo->GetTextCtrl())); |
| 332 | #endif |
| 333 | |
| 334 | //mSnapToCombo->SetEditable(false); |
| 335 | mSnapToCombo->SetPopupControl(safenew SnapModePopup(mProject)); |
| 336 | /* i18n-hint: combo box is the type of the control/widget */ |
| 337 | mSnapToCombo->GetTextCtrl()->SetName(XO("Snap to combo box").Translation()); |
| 338 | /* Narrator screen reader by default reads the accessibility name of the |
| 339 | containing window, which by default is combobox, so set it to an empty string. */ |
| 340 | mSnapToCombo->SetLabel(wxT("")); |
| 341 | mSnapToCombo->Enable(snapEnabled); |
| 342 | mSnapToCombo->SetMinSize(wxSize(150, -1)); |
| 343 | |
| 344 | sizer->Add(mSnapToCombo, 1, wxRIGHT | wxEXPAND, 5); |
| 345 | |
| 346 | mSnapModeCheckBox->Bind( |
| 347 | wxEVT_CHECKBOX, [this](auto&) { OnSnapModeChanged(); }); |
| 348 | |
| 349 | mSnapModeCheckBox->Bind( |
| 350 | wxEVT_CHAR_HOOK, |
| 351 | [this](auto& evt) |
| 352 | { |
nothing calls this directly
no test coverage detected