void MainWindow::OnDrawReference(wxCommandEvent& WXUNUSED(event)) { wxTreeItemId itemId = tree->GetSelection(); NodeTree *itemData = itemId.IsOk() ? (NodeTree *)tree->GetItemData(itemId):NULL; if(itemData->pointer.positionableentity->getDrawReferenceSystem())ShowReference(true); else ShowReference(false); }
FileViewer::FileViewer(wxWindow *parent, const wxString& basePath, const wxArrayString& references, int startAt) : wxFrame(parent, -1, _("Source file")), m_references(references) { m_basePath = basePath; SetName("fileviewer"); wxPanel *panel = new wxPanel(this, -1); wxSizer *sizer = new wxBoxSizer(wxVERTICAL); panel->SetSizer(sizer); wxSizer *barsizer = new wxBoxSizer(wxHORIZONTAL); sizer->Add(barsizer, wxSizerFlags().Expand().Border()); barsizer->Add(new wxStaticText(panel, wxID_ANY, _("Source file occurrence:")), wxSizerFlags().Center().Border(wxRIGHT)); wxChoice *choice = new wxChoice(panel, wxID_ANY); barsizer->Add(choice, wxSizerFlags(1).Center()); for (size_t i = 0; i < references.Count(); i++) choice->Append(references[i]); choice->SetSelection(startAt); wxButton *edit = new wxButton(panel, wxID_ANY, _("Open In Editor")); barsizer->Add(edit, wxSizerFlags().Center().Border(wxLEFT, 10)); m_text = new wxStyledTextCtrl(panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_THEME); SetupTextCtrl(); sizer->Add(m_text, 1, wxEXPAND); RestoreWindowState(this, wxSize(600, 400)); wxSizer *topsizer = new wxBoxSizer(wxVERTICAL); topsizer->Add(panel, wxSizerFlags(1).Expand()); SetSizer(topsizer); Layout(); choice->Bind(wxEVT_CHOICE, &FileViewer::OnChoice, this); edit->Bind(wxEVT_BUTTON, &FileViewer::OnEditFile, this); ShowReference(m_references[startAt]); #ifdef __WXOSX__ wxAcceleratorEntry entries[] = { { wxACCEL_CMD, 'W', wxID_CLOSE } }; wxAcceleratorTable accel(WXSIZEOF(entries), entries); SetAcceleratorTable(accel); Bind(wxEVT_MENU, [=](wxCommandEvent&){ Destroy(); }, wxID_CLOSE); #endif }
void FileViewer::OnChoice(wxCommandEvent &event) { ShowReference(m_references[event.GetSelection()]); }