void PluginsConfigurationDlg::FillList() { wxListCtrl* list = XRCCTRL(*this, "lstPlugins", wxListCtrl); if (list->GetColumnCount() == 0) { list->InsertColumn(0, _T("Title")); list->InsertColumn(1, _T("Version")); list->InsertColumn(2, _T("Enabled"), wxLIST_FORMAT_CENTER); list->InsertColumn(3, _T("Filename")); } PluginManager* man = Manager::Get()->GetPluginManager(); const PluginElementsArray& plugins = man->GetPlugins(); // populate Plugins checklist list->DeleteAllItems(); for (unsigned int i = 0; i < plugins.GetCount(); ++i) { const PluginElement* elem = plugins[i]; long idx = list->InsertItem(i, elem->info.title); list->SetItem(idx, 1, elem->info.version); list->SetItem(idx, 2, elem->plugin->IsAttached() ? _("Yes") : _("No")); list->SetItem(idx, 3, UnixFilename(elem->fileName)); list->SetItemData(idx, (long)elem); if (!elem->plugin->IsAttached()) list->SetItemTextColour(idx, wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); else list->SetItemTextColour(idx, wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT)); } list->SetColumnWidth(0, wxLIST_AUTOSIZE); list->SetColumnWidth(1, wxLIST_AUTOSIZE_USEHEADER); list->SetColumnWidth(2, wxLIST_AUTOSIZE_USEHEADER); list->SetColumnWidth(3, wxLIST_AUTOSIZE); list->SortItems(sortByTitle, 0); }