MCPcopy Create free account
hub / github.com/audacity/audacity / Init

Method Init

src/PluginDataViewCtrl.cpp:450–516  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

448#endif
449
450void PluginDataViewCtrl::Init()
451{
452#if defined(wxHAS_GENERIC_DATAVIEWCTRL)
453 //Do not allow wxDataViewMainWindow handle TAB key...
454 GetChildren()[0]->Bind(wxEVT_CHAR_HOOK, &PluginDataViewCtrl::OnTableCharHook, this);
455#elif defined(__WXOSX__)
456 //Implements group toggle behaviour when multiple
457 //lines are selected and Enter key pressed.
458 Bind(wxEVT_DATAVIEW_ITEM_ACTIVATED, [=](wxDataViewEvent& evt) {
459 evt.Skip();
460 const auto item = evt.GetItem();
461 if(!item.IsOk())
462 return;
463
464 const auto model = GetModel();
465 if(model == nullptr)
466 return;
467
468 wxVariant value;
469 model->GetValue(value, item, PluginDataModel::ColumnState);
470 if(value.IsNull())
471 return;
472
473 value = !value.GetBool();
474
475 wxDataViewItemArray sel;
476 GetSelections(sel);
477 if(!sel.empty())
478 {
479 for(const auto& item : sel)
480 model->ChangeValue(value, item, PluginDataModel::ColumnState);
481 }
482 else
483 model->ChangeValue(value, item, PluginDataModel::ColumnState);
484 evt.Skip(false);
485 });
486#endif
487 AppendColumn(safenew wxDataViewColumn(
488 _("Name"), safenew PluginDataViewTextRenderer,
489 PluginDataModel::ColumnName,
490 wxDVC_DEFAULT_WIDTH,
491 wxALIGN_NOT,
492 wxDATAVIEW_COL_RESIZABLE | wxDATAVIEW_COL_SORTABLE)
493 );
494 AppendColumn(safenew wxDataViewColumn(
495 _("Type"), safenew PluginDataViewTextRenderer,
496 PluginDataModel::ColumnType,
497 wxDVC_DEFAULT_WIDTH,
498 wxALIGN_NOT,
499 wxDATAVIEW_COL_RESIZABLE | wxDATAVIEW_COL_SORTABLE)
500 );
501 AppendColumn(safenew wxDataViewColumn(
502 _("Path"), safenew PluginDataViewTextRenderer,
503 PluginDataModel::ColumnPath,
504 wxDVC_DEFAULT_WIDTH,
505 wxALIGN_NOT,
506 wxDATAVIEW_COL_RESIZABLE | wxDATAVIEW_COL_SORTABLE)
507 );

Callers

nothing calls this directly

Calls 9

BindClass · 0.85
BindMethod · 0.80
SkipMethod · 0.80
GetItemMethod · 0.80
IsNullMethod · 0.80
GetBoolMethod · 0.80
IsOkMethod · 0.45
GetValueMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected