void IncludeSettingsView::MessageReceived(BMessage* message) { switch (message->what) { case ADD_SYS_PATH_BUTTON: DPRINT("IncludeSettingsView::MessageReceived: ADD_SYS_PATH_BUTTON"); //fSelectSysDirPanel->Show(); fSelectSysDirPanel2->Show(); break; case REMOVE_SYS_PATH_BUTTON: DPRINT("IncludeSettingsView::MessageReceived: REMOVE_SYS_PATH_BUTTON"); RemoveSelectedItem(fSysPathList); break; case ADD_LOCAL_PATH_BUTTON: DPRINT("IncludeSettingsView::MessageReceived: ADD_LOCAL_PATH_BUTTON"); //fSelectLocalDirPanel->Show(); fSelectLocalDirPanel2->Show(); break; case REMOVE_LOCAL_PATH_BUTTON: DPRINT("IncludeSettingsView::MessageReceived: REMOVE_LOCAL_PATH_BUTTON"); RemoveSelectedItem(fLocalPathList); break; case SYS_PATH_REFS_RECEIVED: DPRINT("IncludeSettingsView::MessageReceived: SYS_PATH_REFS_RECEIVED"); AddRefsToList(fSysPathList, message); break; case LOCAL_PATH_REFS_RECEIVED: DPRINT("IncludeSettingsView::MessageReceived: LOCAL_PATH_REFS_RECEIVED"); AddRefsToList(fLocalPathList, message); break; default: BView::MessageReceived(message); break; } }
BOOL CHistoryCombo::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN) { bool bShift = !!(GetKeyState(VK_SHIFT) & 0x8000); int nVirtKey = (int) pMsg->wParam; if (nVirtKey == VK_RETURN) return OnReturnKeyPressed(); else if (nVirtKey == VK_DELETE && bShift && GetDroppedState() ) { RemoveSelectedItem(); return TRUE; } if (nVirtKey == 'A' && (GetKeyState(VK_CONTROL) & 0x8000 ) ) { CEdit *edit = GetEditCtrl(); if (edit) edit->SetSel(0, -1); return TRUE; } } else if (pMsg->message == WM_MOUSEMOVE && this->m_bDyn ) { if ((pMsg->wParam & MK_LBUTTON) == 0) { CPoint pt; pt.x = LOWORD(pMsg->lParam); pt.y = HIWORD(pMsg->lParam); OnMouseMove((UINT)pMsg->wParam, pt); return TRUE; } } else if ((pMsg->message == WM_MOUSEWHEEL || pMsg->message == WM_MOUSEHWHEEL) && !GetDroppedState()) { return TRUE; } return CComboBoxEx::PreTranslateMessage(pMsg); }
BOOL CHistoryCombo::PreTranslateMessage(MSG* pMsg) { switch (pMsg->message) { case WM_KEYDOWN: { bool bShift = !!(GetKeyState(VK_SHIFT) & 0x8000); int nVirtKey = (int) pMsg->wParam; if (nVirtKey == VK_RETURN) return OnReturnKeyPressed(); else if (nVirtKey == VK_DELETE && bShift && GetDroppedState() ) { RemoveSelectedItem(); return TRUE; } } break; case WM_MOUSEMOVE: { if ((pMsg->wParam & MK_LBUTTON) == 0) { CPoint pt; pt.x = LOWORD(pMsg->lParam); pt.y = HIWORD(pMsg->lParam); OnMouseMove((UINT)pMsg->wParam, pt); return TRUE; } } break; case WM_MOUSEWHEEL: case WM_MOUSEHWHEEL: if (!GetDroppedState()) return TRUE; } return CComboBoxEx::PreTranslateMessage(pMsg); }
void ScrolledListView::KeyDown(const char* bytes, int32 numBytes) { switch (bytes[0]) { case B_ENTER: case ' ': if (selection >= 0) OpenSelectedItem(selection); break; case B_UP_ARROW: int32 newSelection; if (selection < 0) newSelection = NumItems() - 1; else if (selection > 0) newSelection = selection - 1; else newSelection = selection; Select(newSelection); ScrollToSelection(); break; case B_DOWN_ARROW: if (selection < NumItems() - 1) Select(selection + 1); ScrollToSelection(); break; case B_PAGE_UP: { float itemHeight = ItemHeight(); float visibleHeight = Bounds().Height() + 1; ScrollBy(0, -(visibleHeight - itemHeight)); } break; case B_PAGE_DOWN: { float itemHeight = ItemHeight(); float visibleHeight = Bounds().Height() + 1; ScrollBy(0, visibleHeight - itemHeight); } break; case B_HOME: ScrollTo(0, 0); break; case B_END: { float visibleHeight = Bounds().Height(); ScrollTo(0, NumItems() * ItemHeight() - visibleHeight); } break; case B_BACKSPACE: case B_DELETE: if (selection >= 0) RemoveSelectedItem(selection); break; default: BView::KeyDown(bytes, numBytes); break; } }