/*! \brief Destructor. Stop process if already running, destroy log windows. */ OpenOCDDriver::~OpenOCDDriver() { if (m_bStarted) Stop(); if (!(m_pLog == NULL)) { LogManager* msgMan = Manager::Get()->GetLogManager(); CodeBlocksLogEvent evtAdd(cbEVT_REMOVE_LOG_WINDOW, m_pLog, msgMan->Slot(m_PageIndex).title, msgMan->Slot(m_PageIndex).icon); Manager::Get()->ProcessEvent(evtAdd); } }
/*! \brief Constructor. Initialise log window(s), timer and config manager. */ OpenOCDDriver::OpenOCDDriver() : GDBRemoteTargetDriver(), m_Interface(_T("parport")), m_Option(_T("wiggler")), m_JTAGSpeed(_("0")), m_GDBPort(2000), m_ConfigFile(_T("openocd.cfg")), m_Auto(true), m_TelnetPort(4444), m_TCLPort(6666), m_ProgramPath(_T("")), m_bStarted(false), m_Pid(0), m_pLog(NULL), m_ocdint(NULL), m_FirstErr(false), m_rs(Stopped), m_Modified(true) { // Create log window wxBitmap *bmp; wxString prefix = ConfigManager::GetDataFolder() + _T("/images/"); //m_HasDebugLog = Manager::Get()->GetConfigManager(_T("debugger"))->ReadBool(_T("debug_log"), false); //if (m_HasDebugLog) //{ LogManager* msgMan = Manager::Get()->GetLogManager(); m_pLog = new TextCtrlLogger(true); m_PageIndex = msgMan->SetLog(m_pLog); msgMan->Slot(m_PageIndex).title = _("OpenOCD"); // set log image bmp = new wxBitmap(cbLoadBitmap(prefix + _T("contents_16x16.png"), wxBITMAP_TYPE_PNG)); msgMan->Slot(m_PageIndex).icon = bmp; CodeBlocksLogEvent evtAdd(cbEVT_ADD_LOG_WINDOW, m_pLog, msgMan->Slot(m_PageIndex).title, msgMan->Slot(m_PageIndex).icon); Manager::Get()->ProcessEvent(evtAdd); //} m_TimerPollDebugger.SetOwner(this, idTimer); // Get program path from ConfigManager ConfigManager* cfg = Manager::Get()->GetConfigManager(_T("mcumanager")); m_ProgramPath = cfg->Read(_T("/programpath"), _T("")); }
TextCtrlLogger* DebuggerManager::GetLogger(int &index) { LogManager* msgMan = Manager::Get()->GetLogManager(); if (!m_logger) { m_logger = new DebugTextCtrlLogger(true, false); m_loggerIndex = msgMan->SetLog(m_logger); LogSlot &slot = msgMan->Slot(m_loggerIndex); slot.title = _("Debugger"); // set log image wxString prefix = ConfigManager::GetDataFolder() + _T("/images/"); wxBitmap* bmp = new wxBitmap(cbLoadBitmap(prefix + _T("misc_16x16.png"), wxBITMAP_TYPE_PNG)); slot.icon = bmp; CodeBlocksLogEvent evtAdd(cbEVT_ADD_LOG_WINDOW, m_logger, slot.title, slot.icon); Manager::Get()->ProcessEvent(evtAdd); } index = m_loggerIndex; return m_logger; }
FInfoWindow::FInfoWindow() :wxPanel(Manager::Get()->GetAppWindow()) { //ctor m_pView = new cbStyledTextCtrl(this, wxID_ANY, wxDefaultPosition, wxSize(1,1)); wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); sizer->Add(m_pView, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 0); SetSizer(sizer); sizer->Fit(this); sizer->SetSizeHints(this); m_pView->SetReadOnly(true); // Colorize cbEditor::ApplyStyles(m_pView); EditorColourSet edColSet; edColSet.Apply(edColSet.GetLanguageForFilename(_T("name.f90")), m_pView); SetFoldingIndicator(); CodeBlocksLogEvent evtAdd(cbEVT_ADD_LOG_WINDOW, this, _("Fortran info")); Manager::Get()->ProcessEvent(evtAdd); }