Workspace Views: Visible Canvas Rectangle Bug Number: n/a Release notes (y/n): no For Release Nums: 7.3 In each of the three RiverWare Workspace Views, the area beyond the configured canvas rectangle (width and height) is now shown 40% darker than the configured background color. Before this enhancement, it was not possible for the user to see (e.g. when zoomed way out) which part of the visible canvas represented valid locations for simulation objects and other workspace items. Here is a set of test images for a Geospatial View having a background image: R:\staff\lynn\Models\GIS\FourObjDemo.mdl.gz http://cadswes2.colorado.edu/~philw/2018/Workspace/SceneRect/Geospatial-FourObjDemo-720.png http://cadswes2.colorado.edu/~philw/2018/Workspace/SceneRect/Geospatial-FourObjDemo-73.png http://cadswes2.colorado.edu/~philw/2018/Workspace/SceneRect/Geospatial-FourObjDemo-Anim.gif We originally tried deploying a QGraphicsRectItem of exactly the QGraphicsScene's "scene rectangle". That's what we do in the Output Canvas (to show the configured bounds). It turns out though that, in the RiverWare workspace, because of the implementation of background images, there is no way of showing a QGraphicsItem UNDERNEATH the background image. SO INSTEAD, we are DRAWING the canvas rectangle in this method: RwGraphicsScene:: drawBackground(), a virtual method from QGraphicsScene. This is actually a simpler solution, as there is no way that mouse events will unintentionally interact with the drawn canvas rectangle. The ability to hide the canvas rectangle was implemented, but there is currently no way (GUI control, or anything) to turn it off. This is implemented with these new RwGraphicsScene members: bool _showSceneRect; bool showSceneRect() const { return _showSceneRect; } void setShowSceneRect (bool doShow); When the scene rectangle is SHOWN, it is drawn with the desired (configurable) background color, and the QGraphicsScene's actual background color is set to be 40% darker. When the scene rectangle is HIDDEN, the desired background color is assigned directly to the QGraphicsScene's actual background color (as had been done before this feature was implemented). This makes use of these new RwGraphicsScene members: QColor _sceneBgColor; QColor sceneBgColor() const { return _sceneBgColor; } void updateSceneBgColor(); // private ---