Out Canv: Generate OutputCanvasConfig callbacks also from a singleton class Bug Number: n/a Release notes (y/n): no For Release Nums: 7.1 Project: USACE ABQ 5.11: Output Canvas Items on Workspace views http://cadswes2.colorado.edu/~philw/2017/CoeAbq5p11/proj.html Architectural Preparation: Route OutputCanvasConfig change notifications through a new singleton. New module: Sim/OutputCanvasConfigMgr.hpp Sim/OutputCanvasConfigMgr.cpp Notifications of changes to the OutputCanvasConfig made from the rwSettingTree-based editor are propagated to the OutputCanvasScene via RiverWare callbacks emitted from the OutputCanvasConfig. The OutputCanvasScene then routes some of those notifications to its contained graphics items, e.g. TeacupGfxItems. With the upcoming enhancement, some object associated with the RiverWare Workspace Views (WorkspaceGfxScene instances) will need to receive these notifications from MULTIPLE OutputCanvasConfigs. Being that the CallbackData structures provided in the relevant callbacks contain a reference to the containing OutputCanvasConfig, we can simplify the registration of clients to receive those callbacks by routing the callbacks through a new singleton. The new OutputCanvasConfigMgr singleton, just for the purpose of routing these callbacks was added. This is a "Root" subclass so that it can send out callbacks (to all entities that have registered to receive callbacks from this "Root" object). For now, this new manager class doesn't provide any other functionality. In particular, it doesn't keep track of the instantiated OutputCanvasConfig objects. (That is currently, effectively, being done by the Sim/cwOutputDeviceMgr object, for the corresponding OutputCanvasDevices). I decided to also continue generating callbacks directly from OutputCanvasConfig. Clients can receive change callbacks either from that object or the new OutputCanvasConfigMgr. I did test the current GUI clients instead registering for the latter, but this commit reverses that text -- they are still registering for callbacks on the origin OutputCanvasConfig instance. ---