void CDirectoryTreeCtrl::Init() { // already done ? if (m_IsInit) { return; } m_IsInit = true; // init image(s) wxImageList* images = new wxImageList(16, 16); images->Add(wxBitmap(amuleSpecial(1))); images->Add(wxBitmap(amuleSpecial(2))); // Gives wxTreeCtrl ownership of the list AssignImageList(images); // Create an empty root item, which we can // safely append when creating a full path. m_root = AddRoot(wxEmptyString, IMAGE_FOLDER, -1, new CItemData(CPath())); if (!m_IsRemote) { #ifndef __WXMSW__ AddChildItem(m_root, CPath(wxT("/"))); #else // this might take awhile, so change the cursor ::wxSetCursor(*wxHOURGLASS_CURSOR); // retrieve bitmask of all drives available uint32 drives = GetLogicalDrives(); drives >>= 1; for (char drive = 'C'; drive <= 'Z'; drive++) { drives >>= 1; if (! (drives & 1)) { // skip non existant drives continue; } wxString driveStr = CFormat(wxT("%c:")) % drive; uint32 type = GetDriveType(driveStr + wxT("\\")); // skip removable/undefined drives, share only fixed or remote drives if ((type == 3 || type == 4) // fixed drive / remote drive && CPath::DirExists(driveStr)) { AddChildItem(m_root, CPath(driveStr)); } } ::wxSetCursor(*wxSTANDARD_CURSOR); #endif }
CSearchDlg::CSearchDlg(wxWindow* pParent) : wxPanel(pParent, -1) { m_last_search_time = 0; wxSizer* content = searchDlg(this, true); content->Show(this, true); m_progressbar = CastChild( ID_SEARCHPROGRESS, wxGauge ); m_progressbar->SetRange(100); m_notebook = CastChild( ID_NOTEBOOK, CMuleNotebook ); #ifdef __WXMAC__ //#warning TODO: restore the image list if/when wxMac supports locating the image #else // Initialise the image list wxImageList* m_ImageList = new wxImageList(16,16); m_ImageList->Add(amuleSpecial(3)); m_ImageList->Add(amuleSpecial(4)); m_notebook->AssignImageList(m_ImageList); #endif // Sanity sanity wxChoice* searchchoice = CastChild( ID_SEARCHTYPE, wxChoice ); wxASSERT(searchchoice); wxASSERT(searchchoice->GetString(0) == _("Local")); wxASSERT(searchchoice->GetString(2) == _("Kad")); wxASSERT(searchchoice->GetCount() == 4); m_searchchoices = searchchoice->GetStrings(); // Let's break it now. FixSearchTypes(); CastChild( IDC_TypeSearch, wxChoice )->SetSelection(0); CastChild( IDC_SEARCHMINSIZE, wxChoice )->SetSelection(2); CastChild( IDC_SEARCHMAXSIZE, wxChoice )->SetSelection(2); // Not there initially. s_searchsizer->Show(s_extendedsizer, false); s_searchsizer->Show(s_filtersizer, false); Layout(); }
CChatSelector::CChatSelector(wxWindow* parent, wxWindowID id, const wxPoint& pos, wxSize siz, long style) : CMuleNotebook(parent, id, pos, siz, style) { wxImageList* imagelist = new wxImageList(16,16); // Chat icon -- default state imagelist->Add(wxBitmap(chat_ico_xpm)); // Close icon -- on mouseover imagelist->Add(amuleSpecial(4)); AssignImageList(imagelist); }