void PHPDebugPane::OnRefreshBreakpointsView(XDebugEvent& e) { e.Skip(); LexerConf::Ptr_t lex = EditorConfigST::Get()->GetLexer("php"); if(lex) { m_dvListCtrlBreakpoints->SetFont(lex->GetFontForSyle(wxSTC_HPHP_DEFAULT)); m_dvListCtrlStackTrace->SetFont(lex->GetFontForSyle(wxSTC_HPHP_DEFAULT)); } // Load the breakpoints table m_dvListCtrlBreakpoints->DeleteAllItems(); const XDebugBreakpoint::List_t& bps = XDebugManager::Get().GetBreakpointsMgr().GetBreakpoints(); XDebugBreakpoint::List_t::const_iterator iter = bps.begin(); for(; iter != bps.end(); ++iter) { wxVector<wxVariant> cols; cols.push_back(wxString() << iter->GetBreakpointId()); cols.push_back(iter->GetFileName()); cols.push_back(wxString() << iter->GetLine()); m_dvListCtrlBreakpoints->AppendItem(cols); } }
wxFont NewBuildTab::DoGetFont() const { wxFont font = wxNullFont; LexerConf::Ptr_t lexerConf = EditorConfigST::Get()->GetLexer("C++"); if(lexerConf) { font = lexerConf->GetFontForSyle(wxSTC_C_DEFAULT); } if(font.IsOk() == false) { font = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); } // if the user selected a font in the settings, use it instead wxFont userFont = m_buildTabSettings.GetBuildFont(); if(userFont.IsOk()) { font = userFont; } return font; }
LocalsView::LocalsView(wxWindow* parent) : LocalsViewBase(parent) { Hide(); LexerConf::Ptr_t lex = EditorConfigST::Get()->GetLexer("php"); if ( lex ) { m_dataview->SetFont( lex->GetFontForSyle(wxSTC_HPHP_DEFAULT) ); } EventNotifier::Get()->Bind(wxEVT_XDEBUG_LOCALS_UPDATED, &LocalsView::OnLocalsUpdated, this); EventNotifier::Get()->Bind(wxEVT_XDEBUG_SESSION_ENDED, &LocalsView::OnXDebugSessionEnded, this); EventNotifier::Get()->Bind(wxEVT_XDEBUG_SESSION_STARTED, &LocalsView::OnXDebugSessionStarted, this); EventNotifier::Get()->Bind(wxEVT_XDEBUG_PROPERTY_GET, &LocalsView::OnProperytGet, this); }
wxFont NewBuildTab::DoGetFont() const { wxFont font = wxNullFont; LexerConf::Ptr_t lexerConf = EditorConfigST::Get()->GetLexer("C++"); if(lexerConf) { font = lexerConf->GetFontForSyle(wxSTC_C_DEFAULT); } if(font.IsOk() == false) { font = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); } return font; }
CCVirtualListCtrl::CCVirtualListCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) : wxListView(parent, id, pos, size, style) { // set the colors based on the C++ lexer using the "Default" style LexerConf::Ptr_t lexer = EditorConfigST::Get()->GetLexer("C++"); if ( lexer ) { #ifdef __WXGTK__ SetBackgroundStyle(wxBG_STYLE_CUSTOM); #endif SetBackgroundColour( DrawingUtils::GetOutputPaneBgColour() ); SetForegroundColour( DrawingUtils::GetOutputPaneFgColour() ); m_styleFont = lexer->GetFontForSyle(38); } }
void NewBuildTab::InitView(const wxString& theme) { LexerConf::Ptr_t lexText = ColoursAndFontsManager::Get().GetLexer("text", theme); lexText->Apply(m_view); m_view->SetUndoCollection(false); m_view->EmptyUndoBuffer(); m_view->HideSelection(true); m_view->SetEditable(false); StyleProperty::Map_t& props = lexText->GetLexerProperties(); const StyleProperty& defaultStyle = lexText->GetProperty(0); // reset the styles m_view->SetLexer(wxSTC_LEX_CONTAINER); wxFont defaultFont = lexText->GetFontForSyle(0); for(size_t i = 0; i < wxSTC_STYLE_MAX; ++i) { m_view->StyleSetForeground(i, defaultStyle.GetFgColour()); m_view->StyleSetBackground(i, defaultStyle.GetBgColour()); m_view->StyleSetFont(i, defaultFont); } m_view->StyleSetForeground(LEX_GCC_INFO, wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); m_view->StyleSetForeground(LEX_GCC_DEFAULT, props[0].GetFgColour()); m_view->StyleSetForeground(LEX_GCC_WARNING, this->m_buildTabSettings.GetWarnColour()); m_view->StyleSetForeground(LEX_GCC_ERROR, this->m_buildTabSettings.GetErrorColour()); m_view->StyleSetHotSpot(LEX_GCC_ERROR, true); m_view->StyleSetHotSpot(LEX_GCC_WARNING, true); m_view->SetHotspotActiveUnderline(false); // No underline m_view->MarkerDefine(LEX_GCC_MARKER, wxSTC_MARK_BACKGROUND); if(lexText->IsDark()) { m_view->MarkerSetBackground(LEX_GCC_MARKER, wxColour(defaultStyle.GetBgColour()).ChangeLightness(110)); } else { m_view->MarkerSetBackground(LEX_GCC_MARKER, wxColour(defaultStyle.GetBgColour()).ChangeLightness(90)); } // Hide all margins for(int i = 0; i <= wxSTC_MARGIN_RTEXT; ++i) { m_view->SetMarginWidth(i, 0); } // make the symbol margin 5 pixel width m_view->SetMarginType(0, wxSTC_MARGIN_SYMBOL); m_view->SetMarginWidth(0, 5); }
GitConsole::GitConsole(wxWindow* parent, GitPlugin* git) : GitConsoleBase(parent) , m_git(git) { // set the font to fit the C++ lexer default font LexerConf::Ptr_t lexCpp = EditorConfigST::Get()->GetLexer("c++"); if(lexCpp) { wxFont font = lexCpp->GetFontForSyle(wxSTC_C_DEFAULT); for(int i = 0; i < wxSTC_STYLE_MAX; ++i) { m_stcLog->StyleSetFont(i, font); } } m_stcLog->SetReadOnly(true); m_bitmapLoader = new BitmapLoader(); GitImages m_images; m_bitmaps = m_bitmapLoader->MakeStandardMimeMap(); m_modifiedBmp = m_bitmapLoader->LoadBitmap("subversion/16/modified"); m_untrackedBmp = m_bitmapLoader->LoadBitmap("subversion/16/unversioned"); m_folderBmp = m_bitmapLoader->LoadBitmap("mime/16/folder"); m_newBmp = m_images.Bitmap("gitFileAdd"); m_deleteBmp = m_bitmapLoader->LoadBitmap("subversion/16/deleted"); EventNotifier::Get()->Connect( wxEVT_GIT_CONFIG_CHANGED, wxCommandEventHandler(GitConsole::OnConfigurationChanged), NULL, this); EventNotifier::Get()->Connect( wxEVT_WORKSPACE_CLOSED, wxCommandEventHandler(GitConsole::OnWorkspaceClosed), NULL, this); EventNotifier::Get()->Connect( wxEVT_CL_THEME_CHANGED, wxCommandEventHandler(GitConsole::OnEditorThemeChanged), NULL, this); clConfig conf("git.conf"); GitEntry data; conf.ReadItem(&data); m_isVerbose = (data.GetFlags() & GitEntry::Git_Verbose_Log); m_splitter->SetSashPosition(data.GetGitConsoleSashPos()); m_auibar->AddTool( XRCID("git_reset_repository"), _("Reset"), m_images.Bitmap("gitResetRepo"), _("Reset repository")); m_auibar->AddSeparator(); m_auibar->AddTool(XRCID("git_pull"), _("Pull"), m_images.Bitmap("gitPull"), _("Pull remote changes")); m_auibar->SetToolDropDown(XRCID("git_pull"), true); m_auibar->AddTool(XRCID("git_commit"), _("Commit"), m_images.Bitmap("gitCommitLocal"), _("Commit local changes")); m_auibar->AddTool(XRCID("git_push"), _("Push"), m_images.Bitmap("gitPush"), _("Push local changes")); m_auibar->AddTool(XRCID("git_rebase"), _("Rebase"), m_images.Bitmap("gitRebase"), _("Rebase")); m_auibar->SetToolDropDown(XRCID("git_rebase"), true); m_auibar->AddSeparator(); m_auibar->AddTool(XRCID("git_commit_diff"), _("Diffs"), m_images.Bitmap("gitDiffs"), _("Show current diffs")); m_auibar->AddTool( XRCID("git_browse_commit_list"), _("Log"), m_images.Bitmap("gitCommitedFiles"), _("Browse commit history")); #ifdef __WXMSW__ m_auibar->AddSeparator(); m_auibar->AddTool(XRCID("git_msysgit"), _("Open MSYS Git"), m_images.Bitmap("msysgit"), _("Open MSYS Git at the current file location")); #endif wxAuiToolBarItemArray append_items; PopulateAuiToolbarOverflow(append_items, m_images); m_auibar->AddSeparator(); for(size_t i = 0; i < append_items.GetCount(); ++i) { const wxAuiToolBarItem& item = append_items.Item(i); m_auibar->AddTool(item.GetId(), item.GetLabel(), item.GetBitmap(), item.GetLabel(), (wxItemKind)item.GetKind()); } m_auibar->Realize(); Bind(wxEVT_AUITOOLBAR_TOOL_DROPDOWN, wxAuiToolBarEventHandler(GitConsole::OnGitPullDropdown), this, XRCID("git_pull")); Bind(wxEVT_AUITOOLBAR_TOOL_DROPDOWN, wxAuiToolBarEventHandler(GitConsole::OnGitRebaseDropdown), this, XRCID("git_rebase")); // Adjust the h-scrollbar of git log ::clRecalculateSTCHScrollBar(m_stcLog); }
void FindResultsTab::SetStyles(wxStyledTextCtrl* sci) { //#define LEX_FIF_DEFAULT 0 //#define LEX_FIF_FILE 1 //#define LEX_FIF_MATCH 2 //#define LEX_FIF_LINE_NUMBER 3 //#define LEX_FIF_HEADER 4 //#define LEX_FIF_SCOPE 5 //#define LEX_FIF_MATCH_COMMENT 6 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); } StyleProperty::Map_t& props = lexer->GetLexerProperties(); 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()); sci->StyleSetBackground(LEX_FIF_LINE_NUMBER, props[33].GetBgColour()); // 11 is the style number for "identifier" sci->StyleSetForeground(LEX_FIF_MATCH, props[11].GetFgColour()); sci->StyleSetBackground(LEX_FIF_MATCH, props[11].GetBgColour()); // 16 is the stule for colouring classes sci->StyleSetForeground(LEX_FIF_SCOPE, props[16].GetFgColour()); sci->StyleSetBackground(LEX_FIF_SCOPE, props[16].GetBgColour()); sci->StyleSetForeground(LEX_FIF_MATCH_COMMENT, props[wxSTC_C_COMMENTLINE].GetFgColour()); sci->StyleSetBackground(LEX_FIF_MATCH_COMMENT, props[wxSTC_C_COMMENTLINE].GetBgColour()); sci->StyleSetForeground(LEX_FIF_FILE, props[wxSTC_C_WORD].GetFgColour()); sci->StyleSetBackground(LEX_FIF_FILE, props[wxSTC_C_WORD].GetBgColour()); 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); sci->MarkerSetBackground(7, lexer->IsDark() ? "YELLOW" : "#FF4500"); sci->MarkerSetForeground(7, lexer->IsDark() ? "YELLOW" : "#FF4500"); sci->IndicatorSetForeground(1, lexer->IsDark() ? "YELLOW" : "#FF4500"); #ifdef __WXGTK__ // On GTK we dont have the wxSTC_INDIC_TEXTFORE symbol yet (old wx version) sci->IndicatorSetStyle(1, wxSTC_INDIC_DOTBOX); #else 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); sci->Refresh(); }
void FindResultsTab::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(); }