本文整理汇总了C++中lexerconf::Ptr_t类的典型用法代码示例。如果您正苦于以下问题:C++ Ptr_t类的具体用法?C++ Ptr_t怎么用?C++ Ptr_t使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Ptr_t类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: InitDialog
void CodeFormatterDlg::InitDialog()
{
long formatOptions = m_options.GetOptions() & AS_ALL_FORMAT_OPTIONS;
long indentOptions = m_options.GetOptions() & AS_ALL_INDENT_OPTIONS;
m_pgPropIndentation->SetValue(indentOptions);
m_pgPropFormatting->SetValue(formatOptions);
// Bracket options
if(m_options.GetOptions() & AS_BRACKETS_BREAK_CLOSING)
m_pgPropBrackets->SetValue("Break closing");
else if(m_options.GetOptions() & AS_BRACKETS_BREAK)
m_pgPropBrackets->SetValue("Break");
else if(m_options.GetOptions() & AS_BRACKETS_ATTACH)
m_pgPropBrackets->SetValue("Attach");
else if(m_options.GetOptions() & AS_BRACKETS_LINUX)
m_pgPropBrackets->SetValue("Linux");
// Styles
if(m_options.GetOptions() & AS_GNU)
m_pgPropPreDefinedStyles->SetValue("GNU");
else if(m_options.GetOptions() & AS_JAVA)
m_pgPropPreDefinedStyles->SetValue("Java");
else if(m_options.GetOptions() & AS_KR)
m_pgPropPreDefinedStyles->SetValue("K&R");
else if(m_options.GetOptions() & AS_LINUX)
m_pgPropPreDefinedStyles->SetValue("Linux");
else if(m_options.GetOptions() & AS_ANSI)
m_pgPropPreDefinedStyles->SetValue("ANSI");
m_textCtrlPreview->SetLexer(wxSTC_LEX_CPP);
LexerConf::Ptr_t lexer = EditorConfigST::Get()->GetLexer("C++");
if(lexer) {
lexer->Apply(m_textCtrlPreview, true);
lexer->Apply(m_textCtrlPreview_Clang, true);
}
LexerConf::Ptr_t phpLexer = EditorConfigST::Get()->GetLexer("php");
if(phpLexer) {
phpLexer->Apply(m_stcPhpPreview, true);
}
m_textCtrlPreview->SetViewWhiteSpace(wxSTC_WS_VISIBLEALWAYS);
m_textCtrlPreview_Clang->SetViewWhiteSpace(wxSTC_WS_VISIBLEALWAYS);
m_stcPhpPreview->SetViewWhiteSpace(wxSTC_WS_VISIBLEALWAYS);
// Select the proper engine
m_choiceCxxEngine->SetSelection((int)m_options.GetEngine());
//------------------------------------------------------------------
// Clang options
//------------------------------------------------------------------
m_pgPropClangFormatExePath->SetValue(m_options.GetClangFormatExe());
if(m_options.GetClangFormatOptions() & kClangFormatChromium) {
m_pgPropClangFormatStyle->SetValueFromInt(kClangFormatChromium, wxPG_FULL_VALUE);
} else if(m_options.GetClangFormatOptions() & kClangFormatMozilla) {
m_pgPropClangFormatStyle->SetValueFromInt(kClangFormatMozilla, wxPG_FULL_VALUE);
} else if(m_options.GetClangFormatOptions() & kClangFormatWebKit) {
m_pgPropClangFormatStyle->SetValueFromInt(kClangFormatWebKit, wxPG_FULL_VALUE);
} else if(m_options.GetClangFormatOptions() & kClangFormatGoogle) {
m_pgPropClangFormatStyle->SetValueFromInt(kClangFormatGoogle, wxPG_FULL_VALUE);
} else if(m_options.GetClangFormatOptions() & kClangFormatLLVM) {
m_pgPropClangFormatStyle->SetValueFromInt(kClangFormatLLVM, wxPG_FULL_VALUE);
}
m_pgPropClangFormattingOptions->SetValue((int)m_options.GetClangFormatOptions());
m_pgPropClangBraceBreakStyle->SetValue((int)m_options.GetClangBreakBeforeBrace());
m_pgPropColumnLimit->SetValue((int)m_options.GetClangColumnLimit());
// PHP flags
m_pgPropPhpFormatterOptions->SetValue((int)m_options.GetPHPFormatterOptions());
// General Options
m_checkBoxFormatOnSave->SetValue(m_options.HasFlag(kCF_AutoFormatOnFileSave));
// User custom flags
m_textCtrlUserFlags->ChangeValue(m_options.GetCustomFlags());
}
示例2: SetStyles
void clFindResultsStyler::SetStyles(wxStyledTextCtrl* sci)
{
LexerConf::Ptr_t lexer = ColoursAndFontsManager::Get().GetLexer("c++");
if(!lexer) {
lexer = ColoursAndFontsManager::Get().GetLexer("text");
}
const StyleProperty& defaultStyle = lexer->GetProperty(0);
wxFont defaultFont = lexer->GetFontForSyle(0);
for(size_t i = 0; i < wxSTC_STYLE_MAX; ++i) {
sci->StyleSetForeground(i, defaultStyle.GetFgColour());
sci->StyleSetBackground(i, defaultStyle.GetBgColour());
sci->StyleSetFont(i, defaultFont);
}
// Show/hide whitespace
sci->SetViewWhiteSpace(EditorConfigST::Get()->GetOptions()->GetShowWhitspaces());
StyleProperty::Map_t& props = lexer->GetLexerProperties();
// Set the whitespace colours
sci->SetWhitespaceForeground(true, props[WHITE_SPACE_ATTR_ID].GetFgColour());
sci->StyleSetForeground(LEX_FIF_HEADER, props[11].GetFgColour());
sci->StyleSetBackground(LEX_FIF_HEADER, props[11].GetBgColour());
// 33 is the style for line numbers
sci->StyleSetForeground(LEX_FIF_LINE_NUMBER, props[33].GetFgColour());
// 11 is the style number for "identifier"
sci->StyleSetForeground(LEX_FIF_MATCH, props[11].GetFgColour());
// 16 is the stule for colouring classes
sci->StyleSetForeground(LEX_FIF_SCOPE, props[16].GetFgColour());
sci->StyleSetForeground(LEX_FIF_MATCH_COMMENT, props[wxSTC_C_COMMENTLINE].GetFgColour());
sci->StyleSetForeground(LEX_FIF_FILE, props[wxSTC_C_WORD].GetFgColour());
sci->StyleSetEOLFilled(LEX_FIF_FILE, true);
sci->StyleSetForeground(LEX_FIF_DEFAULT, props[11].GetFgColour());
sci->StyleSetBackground(LEX_FIF_DEFAULT, props[11].GetBgColour());
sci->StyleSetHotSpot(LEX_FIF_MATCH, true);
sci->StyleSetHotSpot(LEX_FIF_FILE, true);
sci->StyleSetHotSpot(LEX_FIF_MATCH_COMMENT, true);
sci->SetHotspotActiveForeground(true, lexer->IsDark() ? "WHITE" : "BLACK");
sci->SetHotspotActiveUnderline(false);
sci->MarkerDefine(7, wxSTC_MARK_ARROW);
#if wxVERSION_NUMBER < 3100
// On GTK we dont have the wxSTC_INDIC_TEXTFORE symbol yet (old wx version)
sci->MarkerDefine(7, wxSTC_MARK_ARROW);
sci->MarkerSetBackground(7, lexer->IsDark() ? "CYAN" : "ORANGE");
sci->MarkerSetForeground(7, lexer->IsDark() ? "CYAN" : "ORANGE");
sci->IndicatorSetForeground(1, lexer->IsDark() ? "CYAN" : "ORANGE");
sci->IndicatorSetStyle(1, wxSTC_INDIC_ROUNDBOX);
#else
sci->MarkerDefine(7, wxSTC_MARK_ARROW);
sci->MarkerSetBackground(7, lexer->IsDark() ? "#FFD700" : "#FF4500");
sci->MarkerSetForeground(7, lexer->IsDark() ? "#FFD700" : "#FF4500");
sci->IndicatorSetForeground(1, lexer->IsDark() ? "#FFD700" : "#FF4500");
sci->IndicatorSetStyle(1, wxSTC_INDIC_TEXTFORE);
#endif
sci->IndicatorSetUnder(1, true);
sci->SetMarginWidth(0, 0);
sci->SetMarginWidth(1, 16);
sci->SetMarginWidth(2, 0);
sci->SetMarginWidth(3, 0);
sci->SetMarginWidth(4, 0);
sci->SetMarginSensitive(1, true);
sci->HideSelection(true);
// Indentation
OptionsConfigPtr options = EditorConfigST::Get()->GetOptions();
sci->SetUseTabs(options->GetIndentUsesTabs());
sci->SetTabWidth(options->GetIndentWidth());
sci->SetIndent(options->GetIndentWidth());
sci->Refresh();
}