void ToDoList::OnAttach() { // create ToDo in bottom view wxArrayString titles; wxArrayInt widths; titles.Add(_("Type")); widths.Add(64); titles.Add(_("Text")); widths.Add(320); titles.Add(_("User")); widths.Add(64); titles.Add(_("Prio")); widths.Add(48); titles.Add(_("Line")); widths.Add(48); titles.Add(_("Date")); widths.Add(56); titles.Add(_("File")); widths.Add(640); m_pListLog = new ToDoListView(titles, widths, m_Types); m_StandAlone = Manager::Get()->GetConfigManager(_T("todo_list"))->ReadBool(_T("stand_alone"), true); if (!m_StandAlone) { LogManager* msgMan = Manager::Get()->GetLogManager(); m_ListPageIndex = msgMan->SetLog(m_pListLog); msgMan->Slot(m_ListPageIndex).title = _("To Do"); CodeBlocksLogEvent evt(cbEVT_ADD_LOG_WINDOW, m_pListLog, msgMan->Slot(m_ListPageIndex).title, msgMan->Slot(m_ListPageIndex).icon); Manager::Get()->ProcessEvent(evt); } else { m_pListLog->CreateControl(Manager::Get()->GetAppWindow()); m_pListLog->GetWindow()->SetSize(wxSize(352,94)); m_pListLog->GetWindow()->SetInitialSize(wxSize(352,94)); CodeBlocksDockEvent evt(cbEVT_ADD_DOCK_WINDOW); evt.name = _T("TodoListPanev2.0.0"); evt.title = _("Todo list"); evt.pWindow = m_pListLog->GetWindow(); evt.dockSide = CodeBlocksDockEvent::dsFloating; evt.desiredSize.Set(352, 94); evt.floatingSize.Set(352, 94); evt.minimumSize.Set(352, 94); Manager::Get()->ProcessEvent(evt); } m_AutoRefresh = Manager::Get()->GetConfigManager(_T("todo_list"))->ReadBool(_T("auto_refresh"), true); LoadUsers(); LoadTypes(); // register event sink Manager::Get()->RegisterEventSink(cbEVT_APP_STARTUP_DONE, new cbEventFunctor<ToDoList, CodeBlocksEvent>(this, &ToDoList::OnAppDoneStartup)); Manager::Get()->RegisterEventSink(cbEVT_EDITOR_OPEN, new cbEventFunctor<ToDoList, CodeBlocksEvent>(this, &ToDoList::OnReparseCurrent)); Manager::Get()->RegisterEventSink(cbEVT_EDITOR_SAVE, new cbEventFunctor<ToDoList, CodeBlocksEvent>(this, &ToDoList::OnReparseCurrent)); Manager::Get()->RegisterEventSink(cbEVT_EDITOR_ACTIVATED, new cbEventFunctor<ToDoList, CodeBlocksEvent>(this, &ToDoList::OnReparseCurrent)); Manager::Get()->RegisterEventSink(cbEVT_EDITOR_CLOSE, new cbEventFunctor<ToDoList, CodeBlocksEvent>(this, &ToDoList::OnReparseCurrent)); Manager::Get()->RegisterEventSink(cbEVT_PROJECT_CLOSE, new cbEventFunctor<ToDoList, CodeBlocksEvent>(this, &ToDoList::OnReparse)); Manager::Get()->RegisterEventSink(cbEVT_PROJECT_ACTIVATE, new cbEventFunctor<ToDoList, CodeBlocksEvent>(this, &ToDoList::OnReparse)); Manager::Get()->RegisterEventSink(cbEVT_PROJECT_FILE_ADDED, new cbEventFunctor<ToDoList, CodeBlocksEvent>(this, &ToDoList::OnReparse)); Manager::Get()->RegisterEventSink(cbEVT_PROJECT_FILE_REMOVED, new cbEventFunctor<ToDoList, CodeBlocksEvent>(this, &ToDoList::OnReparse)); }
/*! \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("")); }
void CfgPanel::OnApply() { LogManager *m = LogManager::Get(); for (ConfigManagerContainer::StringToStringMap::iterator i = c2l.begin(); i != c2l.end(); ++i) { if (!!i->second.IsEmpty()) { int slot = 0; while (slot <= LogManager::max_logs && m->Slot(slot).title != i->second) ++slot; m->SetLog(m->New(i->second), slot); } } // since we use ConfigManagerContainer::StringToStringMap, we could store whatever settings we have like: // ConfigManager::Get()->Write(_T("/loghacker/c2l"), c2l); // ConfigManager::Get()->Write(_T("/loghacker/c2f"), c2f); }
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; }