예제 #1
0
void PHPWorkspaceView::DoOpenFile(const wxTreeItemId& item)
{
    ItemData* data = DoGetItemData(item);
    if(data && data->IsFile()) {
        m_mgr->OpenFile(data->GetFile());
    }
}
예제 #2
0
void PHPWorkspaceView::DoDeleteSelectedFileItem()
{
    wxTreeItemId item = DoGetSingleSelection();
    CHECK_ITEM_RET(item);

    ItemData* itemData = DoGetItemData(item);
    if(!itemData || !itemData->IsFile()) return;

    wxString msg, caption;
    caption << _("Removing file '") << wxFileName(itemData->GetFile()).GetFullName() << "'";
    msg << _("Removing file '") << wxFileName(itemData->GetFile()).GetFullName() << "' from project '"
        << itemData->GetProjectName() << "'\n"
        << _("You can select to remove the file from the project and optionally from the file system\n")
        << _("From where should codelite remove the file?");

    wxMessageDialog dlg(EventNotifier::Get()->TopFrame(), msg, caption, wxYES_NO | wxCANCEL | wxCANCEL_DEFAULT);
    dlg.SetYesNoCancelLabels("File system && project", "Project only", "Cancel");

    int answer = dlg.ShowModal();
    if(answer == wxID_YES || answer == wxID_NO) {
        wxString fileName = itemData->GetFile();
        // Remove from from project
        if(PHPWorkspace::Get()->DelFile(itemData->GetProjectName(), itemData->GetFolderPath(), fileName)) {
            m_treeCtrlView->Delete(item);

        } else {
            return;
        }
        if(answer == wxID_YES) {
            ::wxRemoveFile(fileName);
        }
    }
}
예제 #3
0
void PHPWorkspaceView::OnItemActivated(wxTreeEvent& event)
{
    ItemData* itemData = DoGetItemData(event.GetItem());
    if(itemData && itemData->IsFile()) {
        DoOpenFile(event.GetItem());

    } else {
        event.Skip();
    }
}