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

---