OpenWindowsPanelBase::OpenWindowsPanelBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) : wxPanel(parent, id, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCrafterKq0OgDInitBitmapResources(); bBitmapLoaded = true; } wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL); this->SetSizer(mainSizer); m_toolbarTabs = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTB_FLAT); m_toolbarTabs->SetToolBitmapSize(wxSize(16,16)); mainSizer->Add(m_toolbarTabs, 0, wxEXPAND, 0); m_toolbarTabs->AddTool(XRCID("TabsSortTool"), wxT(""), wxXmlResource::Get()->LoadBitmap(wxT("sort")), wxNullBitmap, wxITEM_CHECK, _("If checked, sort alphabetically. Otherwise display in the same order as the editors."), wxT(""), NULL); m_toolbarTabs->Realize(); wxArrayString m_fileListArr; m_fileList = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), m_fileListArr, wxLB_EXTENDED|wxWANTS_CHARS); mainSizer->Add(m_fileList, 1, wxALL|wxEXPAND, 0); SetSizeHints(500,300); if ( GetSizer() ) { GetSizer()->Fit(this); } Centre(wxBOTH); // Connect events this->Connect(XRCID("TabsSortTool"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(OpenWindowsPanelBase::OnSortItems), NULL, this); this->Connect(XRCID("TabsSortTool"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(OpenWindowsPanelBase::OnSortItemsUpdateUI), NULL, this); m_fileList->Connect(wxEVT_CHAR, wxKeyEventHandler(OpenWindowsPanelBase::OnChar), NULL, this); m_fileList->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(OpenWindowsPanelBase::OnKeyDown), NULL, this); m_fileList->Connect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(OpenWindowsPanelBase::OnItemSelected), NULL, this); m_fileList->Connect(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler(OpenWindowsPanelBase::OnItemDClicked), NULL, this); m_fileList->Connect(wxEVT_RIGHT_DOWN, wxMouseEventHandler(OpenWindowsPanelBase::OnRightDown), NULL, this); }
OpenWindowsPanelBase::OpenWindowsPanelBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) : wxPanel(parent, id, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCrafterKq0OgDInitBitmapResources(); bBitmapLoaded = true; } wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL); this->SetSizer(mainSizer); m_auibar = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxAUI_TB_PLAIN_BACKGROUND|wxAUI_TB_DEFAULT_STYLE); m_auibar->SetToolBitmapSize(wxSize(16,16)); mainSizer->Add(m_auibar, 0, wxEXPAND, 5); m_auibar->AddTool(XRCID("TabsSortTool"), wxT(""), wxXmlResource::Get()->LoadBitmap(wxT("sort")), wxNullBitmap, wxITEM_CHECK, _("If checked, sort alphabetically. Otherwise display in the same order as the editors."), _("If checked, sort alphabetically. Otherwise display in the same order as the editors."), NULL); m_auibar->Realize(); m_dvListCtrl = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxDV_NO_HEADER|wxDV_VERT_RULES|wxDV_ROW_LINES|wxDV_MULTIPLE|wxDV_SINGLE); mainSizer->Add(m_dvListCtrl, 1, wxALL|wxEXPAND, 2); m_dvListCtrl->AppendIconTextColumn(_("Path"), wxDATAVIEW_CELL_INERT, -2, wxALIGN_LEFT); SetSizeHints(500,300); if ( GetSizer() ) { GetSizer()->Fit(this); } Centre(wxBOTH); // Connect events this->Connect(XRCID("TabsSortTool"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(OpenWindowsPanelBase::OnSortItems), NULL, this); this->Connect(XRCID("TabsSortTool"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(OpenWindowsPanelBase::OnSortItemsUpdateUI), NULL, this); m_dvListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(OpenWindowsPanelBase::OnTabSelected), NULL, this); m_dvListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(OpenWindowsPanelBase::OnTabActivated), NULL, this); m_dvListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler(OpenWindowsPanelBase::OnMenu), NULL, this); }