- for (unsigned int i = 0; i < actions.size(); ++i)
- ud->addPickCallback(new PickCallback(actions[i], getModelRoot()));
+ for (unsigned int i = 0; i < actions.size(); ++i) {
+ pickCb = new PickCallback(actions[i], getModelRoot());
+ ud->addPickCallback(pickCb);
+ }
+
+ if (getConfig()->hasChild("hovered")) {
+ if (!pickCb) {
+ // make a trivial PickCallback to hang the hovered off of
+ SGPropertyNode_ptr dummyNode(new SGPropertyNode);
+ pickCb = new PickCallback(dummyNode.ptr(), getModelRoot());
+ }
+
+ pickCb->addHoverBindings(getConfig()->getNode("hovered"), getModelRoot());
+ }
+