RW Workspace: Middle Button Hand Drag (BOR ABQ 8) [1] Bug Number: n/a Release notes (y/n): Yes For Release Nums: 7.3 (maybe 7.2?) BOR ABQ 8: Workspace enhancement -- use middle mouse button to pan. In the RiverWare workspace, pressing and holding the middle mouse button (typically a scroll wheel) temporarily turns the mouse cursor into a hand drag icon (in the held state). Until the middle mouse button is released, mouse movement pans (scrolls) the workspace content. This feature functions in the Workspace's "Select" (pointer arrow cursor) mode, and trivially in the "Hand Scroll" mode. It was not implemented in the "Locator" mode which is a one-shot operation (i.e. in Locator mode, the workspace returns to the "Select" mode after clicking and dragging). TECHNICAL: It was not sufficient to engage the hand drag mode provisions implemented directly in RiverWare (in QtUtils/RwGraphicsView). Some of the workspace's hand drag mode operation is implemented within the Qt5 QGraphicsView class, and that support is HARD-CODED to the LEFT mouse button (in Qt 5.5.1). In the following three virtual method overrides, we conditionally construct and process Left mouse button events from the given Middle mouse button event: (1) void RwGraphicsView::mousePressEvent (QMouseEvent* evt) (2) void RwGraphicsView::mouseReleaseEvent (QMouseEvent* evt) (3) void RwGraphicsView::mouseMoveEvent (QMouseEvent* evt) The following new RwGraphicsView flag indicates that a middle mouse button hand drag operation is active: bool _midButScrollHand_active; ---