本文整理汇总了C++中CScopeConfData::GetRebuildOption方法的典型用法代码示例。如果您正苦于以下问题:C++ CScopeConfData::GetRebuildOption方法的具体用法?C++ CScopeConfData::GetRebuildOption怎么用?C++ CScopeConfData::GetRebuildOption使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CScopeConfData
的用法示例。
在下文中一共展示了CScopeConfData::GetRebuildOption方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnFindFunctionsCallingThisFunction
void Cscope::OnFindFunctionsCallingThisFunction(wxCommandEvent& e)
{
wxString word = GetSearchPattern();
if(word.IsEmpty()) {
return;
}
m_cscopeWin->Clear();
wxString list_file = DoCreateListFile(false);
// get the rebuild option
wxString rebuildOption = wxT("");
CScopeConfData settings;
m_mgr->GetConfigTool()->ReadObject(wxT("CscopeSettings"), &settings);
if(!settings.GetRebuildOption()) {
rebuildOption = wxT(" -d");
}
// Do the actual search
wxString command;
wxString endMsg;
command << GetCscopeExeName() << rebuildOption << wxT(" -L -3 ") << word << wxT(" -i ") << list_file;
endMsg << _("cscope results for: functions calling '") << word << wxT("'");
DoCscopeCommand(command, word, endMsg);
}
示例2: OnFindSymbol
void Cscope::OnFindSymbol(wxCommandEvent &e)
{
// sanity
if ( m_mgr->GetActiveEditor() == NULL ) {
return;
}
wxString word = m_mgr->GetActiveEditor()->GetWordAtCaret();
if (word.IsEmpty()) {
return;
}
m_cscopeWin->Clear();
wxString list_file = DoCreateListFile(false);
// get the rebuild option
wxString rebuildOption = wxT("");
CScopeConfData settings;
m_mgr->GetConfigTool()->ReadObject(wxT("CscopeSettings"), &settings);
if (!settings.GetRebuildOption())
{
rebuildOption = wxT(" -d");
}
//Do the actual search
wxString command;
wxString endMsg;
command << GetCscopeExeName() << rebuildOption << wxT(" -L -0 ") << word << wxT(" -i ") << list_file;
endMsg << wxT("cscope results for: find C symbol '") << word << wxT("'");
DoCscopeCommand(command, word, endMsg);
}
示例3: OnFindFilesIncludingThisFname
void Cscope::OnFindFilesIncludingThisFname(wxCommandEvent& e)
{
wxString word = m_mgr->GetActiveEditor()->GetSelection();
if(word.IsEmpty()) {
// If there's no selection, try for the caret word
// That'll either be (rubbish, or) a filename
// or it'll be the 'h'of filename.h
// Cscope can cope with just a filename
word = m_mgr->GetActiveEditor()->GetWordAtCaret();
if(word == wxT("h")) {
long pos = m_mgr->GetActiveEditor()->GetCurrentPosition();
long start = m_mgr->GetActiveEditor()->WordStartPos(pos - 2, true);
wxString name = m_mgr->GetActiveEditor()->GetTextRange(start, pos - 2);
// Append the .h Cscope would be happy with just foo,
// but would also return #include foobar.h which isn't what's been requested
word = name + wxT(".h");
}
if(word.IsEmpty()) {
return;
}
}
m_cscopeWin->Clear();
wxString list_file = DoCreateListFile(false);
// get the rebuild option
wxString rebuildOption = wxT("");
CScopeConfData settings;
m_mgr->GetConfigTool()->ReadObject(wxT("CscopeSettings"), &settings);
if(!settings.GetRebuildOption()) {
rebuildOption = wxT(" -d");
}
// Do the actual search
wxString command;
wxString endMsg;
command << GetCscopeExeName() << rebuildOption << wxT(" -L -8 ") << word << wxT(" -i ") << list_file;
endMsg << _("cscope results for: files that #include '") << word << wxT("'");
DoCscopeCommand(command, word, endMsg);
}
示例4: DoFindSymbol
void Cscope::DoFindSymbol(const wxString& word)
{
m_cscopeWin->Clear();
wxString list_file = DoCreateListFile(false);
// get the rebuild option
wxString rebuildOption = wxT("");
CScopeConfData settings;
m_mgr->GetConfigTool()->ReadObject(wxT("CscopeSettings"), &settings);
if(!settings.GetRebuildOption()) {
rebuildOption = wxT(" -d");
}
// Do the actual search
wxString command;
wxString endMsg;
command << GetCscopeExeName() << rebuildOption << wxT(" -L -0 ") << word << wxT(" -i ") << list_file;
endMsg << wxT("cscope results for: find C symbol '") << word << wxT("'");
DoCscopeCommand(command, word, endMsg);
}
示例5: CscopeTabBase
CscopeTab::CscopeTab( wxWindow* parent, IManager *mgr )
: CscopeTabBase( parent )
, m_table(NULL)
, m_mgr(mgr)
{
m_bitmaps = clGetManager()->GetStdIcons()->MakeStandardMimeMap();
CScopeConfData data;
m_mgr->GetConfigTool()->ReadObject(wxT("CscopeSettings"), &data);
const wxString SearchScope[] = { wxTRANSLATE("Entire Workspace"), wxTRANSLATE("Active Project") };
m_stringManager.AddStrings(sizeof(SearchScope)/sizeof(wxString), SearchScope, data.GetScanScope(), m_choiceSearchScope);
wxFont defFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
m_font = wxFont( defFont.GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
m_checkBoxUpdateDb->SetValue(data.GetRebuildOption());
m_checkBoxRevertedIndex->SetValue(data.GetBuildRevertedIndexOption());
SetMessage(_("Ready"), 0);
Clear(); // To make the Clear button UpdateUI work initially
EventNotifier::Get()->Connect(wxEVT_CL_THEME_CHANGED, wxCommandEventHandler(CscopeTab::OnThemeChanged), NULL, this);
}
示例6: DoCreateListFile
wxString Cscope::DoCreateListFile(bool force)
{
// get the scope
CScopeConfData settings;
m_mgr->GetConfigTool()->ReadObject(wxT("CscopeSettings"), &settings);
// create temporary file and save the file there
wxString privateFolder = clCxxWorkspaceST::Get()->GetPrivateFolder();
wxFileName list_file(privateFolder, "cscope_file.list");
if(force || settings.GetRebuildOption() || !list_file.FileExists()) {
wxArrayString projects;
m_mgr->GetWorkspace()->GetProjectList(projects);
wxString err_msg;
std::vector<wxFileName> files;
std::vector<wxFileName> tmpfiles;
m_cscopeWin->SetMessage(_("Creating file list..."), 5);
if(settings.GetScanScope() == SCOPE_ENTIRE_WORKSPACE) {
for(size_t i = 0; i < projects.GetCount(); i++) {
ProjectPtr proj = m_mgr->GetWorkspace()->FindProjectByName(projects.Item(i), err_msg);
if(proj) {
proj->GetFiles(tmpfiles, true);
}
}
} else {
// SCOPE_ACTIVE_PROJECT
wxString projName = m_mgr->GetWorkspace()->GetActiveProjectName();
ProjectPtr proj = m_mgr->GetWorkspace()->FindProjectByName(projName, err_msg);
if(proj) {
proj->GetFiles(tmpfiles, true);
}
}
// iterate over the files and convert them to be relative path
// Also remove any .exe files (one of which managed to crash cscope),
// and files without an ext, which may be binaries and are unlikely to be .c or .h files in disguise; and .xpm
// and .png too
for(size_t i = 0; i < tmpfiles.size(); i++) {
wxString ext = tmpfiles.at(i).GetExt();
if(ext == wxT("exe") || ext == wxT("") || ext == wxT("xpm") || ext == wxT("png")) {
continue;
}
tmpfiles.at(i).MakeRelativeTo(privateFolder);
files.push_back(tmpfiles.at(i));
}
// create temporary file and save the file there
wxFFile file(list_file.GetFullPath(), wxT("w+b"));
if(!file.IsOpened()) {
wxLogMessage(wxT("Failed to open temporary file ") + list_file.GetFullPath());
return wxEmptyString;
}
// write the content of the files into the tempfile
wxString content;
for(size_t i = 0; i < files.size(); i++) {
wxFileName fn(files.at(i));
content << fn.GetFullPath() << wxT("\n");
}
file.Write(content);
file.Flush();
file.Close();
}
return list_file.GetFullPath();
}
示例7: DoCreateListFile
wxString Cscope::DoCreateListFile(bool force)
{
// get the scope
CScopeConfData settings;
m_mgr->GetConfigTool()->ReadObject(wxT("CscopeSettings"), &settings);
//create temporary file and save the file there
wxString wspPath = m_mgr->GetSolution()->GetSolutionFileName().GetPath(wxPATH_GET_VOLUME|wxPATH_GET_SEPARATOR);
wxString list_file( wspPath );
list_file << wxT("cscope_file.list");
if (force || settings.GetRebuildOption() || !::wxFileExists(list_file))
{
wxArrayString projects;
m_mgr->GetSolution()->GetProjectList(projects);
wxString err_msg;
std::vector< wxFileName > files;
std::vector< wxFileName > tmpfiles;
m_cscopeWin->SetMessage(wxT("Creating file list..."), 5);
if (settings.GetScanScope() == SCOPE_ENTIRE_WORKSPACE) {
for (size_t i=0; i< projects.GetCount(); i++) {
ProjectPtr proj = m_mgr->GetSolution()->FindProjectByName(projects.Item(i), err_msg);
if ( proj ) {
proj->GetFiles(tmpfiles, true);
}
}
} else {
// SCOPE_ACTIVE_PROJECT
wxString projName = m_mgr->GetSolution()->GetActiveProjectName();
ProjectPtr proj = m_mgr->GetSolution()->FindProjectByName(projName, err_msg);
if ( proj ) {
proj->GetFiles(tmpfiles, true);
}
}
//iterate over the files and convert them to be relative path
for (size_t i=0; i< tmpfiles.size(); i++ ) {
tmpfiles.at(i).MakeRelativeTo(wspPath);
files.push_back(tmpfiles.at(i));
}
//create temporary file and save the file there
wxFFile file(list_file, wxT("w+b"));
if (!file.IsOpened()) {
wxLogMessage(wxT("Failed to open temporary file ") + list_file);
return wxEmptyString;
}
//write the content of the files into the tempfile
wxString content;
for (size_t i=0; i< files.size(); i++) {
wxFileName fn(files.at(i));
content << fn.GetFullPath() << wxT("\n");
}
file.Write( content );
file.Flush();
file.Close();
}
return list_file;
}