void waitConfig() { String line; unsigned long end = millis() + 5000; while (true) { if (millis() > end) { Serial.println(" input timed out, starting..."); break; } Serial.printf(" Hit 'x' + Enter for menu within 5 seconds : "); readLine(line, 10000); if (line.equals("x")) { configMenu(); return; } else { Serial.printf(" invalid input >>%s<< , try again.\n", line.c_str()); } line = ""; } }
/** @brief wndProc * * @TODO: document this function */ LRESULT TaskArea::wndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_TIMER: if (wParam == m_dragTimer) { if (m_dragTask) { SendMessage(hBlackboxWnd, BB_BRINGTOFRONT, 0, (LPARAM)m_dragTask->GetTaskWnd()); m_dragTask = NULL; } KillTimer(barWnd, m_dragTimer); } break; case BB_RECONFIGURE: readSettings(); populateTasks(); break; case BB_BROADCAST: { LPCSTR msg_string = (LPCSTR)lParam; LPCSTR element = NULL; msg_string += 1; if (!strnicmp(msg_string, m_pluginPrefix, strlen(m_pluginPrefix))) { msg_string += strlen(m_pluginPrefix) + 1; if (!strnicmp(msg_string, m_itemPrefix, strlen(m_itemPrefix))) { msg_string += strlen(m_itemPrefix) + 1; if ((element = "Stretch") && !strnicmp(msg_string, element, strlen(element))) { //msg_string += strlen(element); //m_iconSize = atoi(msg_string); //s_settingsManager.WriteSetting(m_pluginPrefix, "Tasks", element); //populateTasks(); //PostMessage(barWnd, BOXBAR_UPDATESIZE, 1, 0); } } else if (!strnicmp(msg_string, m_basePrefix.c_str(), m_basePrefix.size())) { if (itemList.size()) { itemList.front()->wndProc(hWnd, msg, wParam, lParam); } PostMessage(barWnd, BOXBAR_UPDATESIZE, 1, 0); configMenu(NULL, true); return 0; } } } break; case BB_TASKSUPDATE: switch (lParam) { case TASKITEM_FLASHED: case TASKITEM_ACTIVATED: Collection::wndProc(hWnd, msg, wParam, lParam); RedrawWindow(barWnd, NULL, NULL, RDW_INVALIDATE | RDW_INTERNALPAINT); return 0; case TASKITEM_ADDED: if (std::find_if(itemList.begin(), itemList.end(), bind2nd(TaskIsHWnd(), reinterpret_cast<HWND>(wParam))) == itemList.end()) { Task *newTask = new Task(reinterpret_cast<HWND>(wParam), vertical); itemList_t::iterator insertLoc = itemList.end(); if (vertical && stretchTaskarea) { insertLoc--; } itemList.insert(insertLoc, newTask); if (stretchTaskarea) { calculateSizes(true); RedrawWindow(barWnd, NULL, NULL, RDW_INVALIDATE | RDW_INTERNALPAINT); } else { PostMessage(barWnd, BOXBAR_UPDATESIZE, 1, 0); } } break; case TASKITEM_REMOVED: { itemList.remove_if(bind2nd(TaskIsHWnd(), reinterpret_cast<HWND>(wParam))); if (stretchTaskarea) { calculateSizes(true); RedrawWindow(barWnd, NULL, NULL, RDW_INVALIDATE | RDW_INTERNALPAINT); } else { PostMessage(barWnd, BOXBAR_UPDATESIZE, 1, 0); } break; } //populateTasks(); } break; } return Collection::wndProc(hWnd, msg, wParam, lParam); }