void PHPWorkspaceView::OnNewClass(wxCommandEvent& e) { wxTreeItemId folderId = DoGetSingleSelection(); ItemData* data = DoGetItemData(folderId); if(!data || !data->IsFolder()) { return; } PHPProject::Ptr_t pProject = PHPWorkspace::Get()->GetProject(data->GetProjectName()); CHECK_PTR_RET(pProject); PHPFolder::Ptr_t pFolder = pProject->Folder(data->GetFolderPath()); CHECK_PTR_RET(pFolder); NewPHPClass dlg(wxTheApp->GetTopWindow(), pFolder->GetFullPath(pProject->GetFilename().GetPath(), false)); if(dlg.ShowModal() == wxID_OK) { PHPClassDetails pcd = dlg.GetDetails(); pFolder = pProject->AddFolder(PHPFolder::GetFolderPathFromFileFullPath(pcd.GetFilepath().GetFullPath(), pProject->GetFilename().GetPath())); CHECK_PTR_RET(pFolder); folderId = EnsureFolderExists( DoGetProjectItem(pProject->GetName()), pFolder->GetPathRelativeToProject(), pProject->GetName()); DoAddFileWithContent( folderId, pcd.GetFilepath(), pcd.ToString(EditorConfigST::Get()->GetOptions()->GetEOLAsString(), " ")); } }
void PHPWorkspaceView::OnNewFile(wxCommandEvent& e) { wxTreeItemId folderId = DoGetSingleSelection(); ItemData *data = DoGetItemData( folderId ); if( data->IsFolder() ) { PHPProject::Ptr_t pProj = PHPWorkspace::Get()->GetProject(data->GetProjectName()); CHECK_PTR_RET(pProj); PHPFolder::Ptr_t pFolder = pProj->Folder(data->GetFolderPath()); CHECK_PTR_RET(pFolder); NewFileDlg dlg(wxTheApp->GetTopWindow(), pFolder->GetFullPath( pProj->GetFilename().GetPath() ) ); if(dlg.ShowModal() == wxID_OK) { wxFileName filename = dlg.GetPath(); if( filename.FileExists() ) { // A file with this name already exists wxMessageBox(_("A file with same name already exists!"), wxT("CodeLite"), wxOK|wxCENTER|wxICON_WARNING); return; } DoAddFileWithContent(folderId, filename, ""); } } }