本文整理汇总了C++中LEditor::CenterLine方法的典型用法代码示例。如果您正苦于以下问题:C++ LEditor::CenterLine方法的具体用法?C++ LEditor::CenterLine怎么用?C++ LEditor::CenterLine使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LEditor
的用法示例。
在下文中一共展示了LEditor::CenterLine方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OpenFile
//.........这里部分代码省略.........
}
wxString projName = projectName;
if(projName.IsEmpty()) {
// try to match a project name to the file. otherwise, CC may not work
projName = ManagerST::Get()->GetProjectNameByFile(fileName.GetFullPath());
}
LEditor* editor = GetActiveEditor(true);
BrowseRecord jumpfrom = editor ? editor->CreateBrowseRecord() : BrowseRecord();
editor = FindEditor(fileName.GetFullPath());
if(editor) {
editor->SetProject(projName);
} else if(fileName.IsOk() == false) {
wxLogMessage(wxT("Invalid file name: ") + fileName.GetFullPath());
return NULL;
} else if(!fileName.FileExists()) {
wxLogMessage(wxT("File: ") + fileName.GetFullPath() + wxT(" does not exist!"));
return NULL;
} else {
// A Nice trick: hide the notebook, open the editor
// and then show it
bool hidden(false);
if(m_book->GetPageCount() == 0) hidden = GetSizer()->Hide(m_book);
editor = new LEditor(m_book);
editor->Create(projName, fileName);
int sel = m_book->GetSelection();
if((extra & OF_PlaceNextToCurrent) && (sel != wxNOT_FOUND)) {
AddPage(editor, fileName.GetFullName(), fileName.GetFullPath(), wxNullBitmap, false, sel + 1);
} else {
AddPage(editor, fileName.GetFullName(), fileName.GetFullPath());
}
editor->SetSyntaxHighlight();
// mark the editor as read only if neede
MarkEditorReadOnly(editor);
// SHow the notebook
if(hidden) GetSizer()->Show(m_book);
if(position == wxNOT_FOUND && lineno == wxNOT_FOUND && editor->GetContext()->GetName() == wxT("C++")) {
// try to find something interesting in the file to put the caret at
// for now, just skip past initial blank lines and comments
for(lineno = 0; lineno < editor->GetLineCount(); lineno++) {
switch(editor->GetStyleAt(editor->PositionFromLine(lineno))) {
case wxSTC_C_DEFAULT:
case wxSTC_C_COMMENT:
case wxSTC_C_COMMENTDOC:
case wxSTC_C_COMMENTLINE:
case wxSTC_C_COMMENTLINEDOC:
continue;
}
// if we got here, it's a line to stop on
break;
}
if(lineno == editor->GetLineCount()) {
lineno = 1; // makes sure a navigation record gets saved
}
}
}
if(position != wxNOT_FOUND) {
editor->SetEnsureCaretIsVisible(position, preserveSelection);
editor->SetLineVisible(editor->LineFromPosition(position));
} else if(lineno != wxNOT_FOUND) {
editor->CenterLine(lineno);
}
if(m_reloadingDoRaise) {
if(GetActiveEditor() == editor) {
editor->SetActive();
} else {
SelectPage(editor);
}
}
// Add this file to the history. Don't check for uniqueness:
// if it's already on the list, wxFileHistory will move it to the top
// Also, sync between the history object and the configuration file
m_recentFiles.AddFileToHistory(fileName.GetFullPath());
clConfig::Get().AddRecentFile(fileName.GetFullPath());
if(extra & OF_AddJump) {
BrowseRecord jumpto = editor->CreateBrowseRecord();
NavMgr::Get()->AddJump(jumpfrom, jumpto);
}
#if !CL_USE_NATIVEBOOK
if(m_book->GetPageCount() == 1) {
m_book->GetSizer()->Layout();
}
#endif
return editor;
}