bool ProjectOptionsManipulator::OperateProject(cbProject* prj, wxArrayString& result)
{
  if (!prj) return false;

  const wxString opt = m_Dlg->GetOption();
  const wxString val = m_Dlg->GetValue();

  if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eCompiler) )
    ProcessCompilerOptions(prj, opt, result);

  if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eLinker) )
    ProcessLinkerOptions(prj, opt, result);

  if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eCompilerPaths) )
    ProcessCompilerPaths(prj, opt, result);

  if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eLinkerPaths) )
    ProcessLinkerPaths(prj, opt, result);

  if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eResCompPaths) )
    ProcessResCompPaths(prj, opt, result);

  if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eLinkerLibs) )
    ProcessLinkerLibs(prj, opt, result);

  if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eCustomVars) )
    ProcessCustomVars(prj, opt, val, result);

  return true;
}
bool ProjectOptionsManipulator::OperateProject(cbProject* prj, wxArrayString& result)
{
  if (!prj) return false;

  ProjectOptionsManipulatorDlg::EProjectScanOption scan_opt = m_Dlg->GetScanOption();
  if (scan_opt==ProjectOptionsManipulatorDlg::eFiles)
    ProcessFiles(prj, result);
  else
  {
    const wxString src = m_Dlg->GetSearchFor();
    const wxString dst = m_Dlg->GetReplaceWith();
    const wxString val = m_Dlg->GetCustomVarValue();

    if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eCompiler) )
      ProcessCompilerOptions(prj, src, dst, result);

    if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eLinker) )
      ProcessLinkerOptions(prj, src, dst, result);

    if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eResCompiler) )
      ProcessResCompilerOptions(prj, src, dst, result);

    if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eCompilerPaths) )
      ProcessCompilerPaths(prj, src, dst, result);

    if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eLinkerPaths) )
      ProcessLinkerPaths(prj, src, dst, result);

    if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eResCompPaths) )
      ProcessResCompPaths(prj, src, dst, result);

    if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eLinkerLibs) )
      ProcessLinkerLibs(prj, src, dst, result);

    if ( m_Dlg->GetOptionActive(ProjectOptionsManipulatorDlg::eCustomVars) )
      ProcessCustomVars(prj, src, val, result);
  }

  return true;
}