diff --git a/doc/manual/en/config/widgets/plugins/controllerinput/index.rst b/doc/manual/en/config/widgets/plugins/controllerinput/index.rst
index 7be8378134e..fa2c3a1d985 100644
--- a/doc/manual/en/config/widgets/plugins/controllerinput/index.rst
+++ b/doc/manual/en/config/widgets/plugins/controllerinput/index.rst
@@ -98,6 +98,9 @@ current design are given.
.. figure:: widgets/plugins/controllerinput/_static/design_schema.png
:alt: Design schema
+``--check-hover`` Inform the browser to check mouse entry and exit to apply
+ :hover rules.
+
.. rubric:: Footnotes
.. [#f1] The simple view might not show everything. To see all elements/attributes use the expert view.
\ No newline at end of file
diff --git a/source/class/cv/plugins/ControllerInput.js b/source/class/cv/plugins/ControllerInput.js
index 94936b8a21b..9d7f737ed87 100644
--- a/source/class/cv/plugins/ControllerInput.js
+++ b/source/class/cv/plugins/ControllerInput.js
@@ -238,7 +238,7 @@ qx.Class.define('cv.plugins.ControllerInput', {
if (!this.$$domReady) {
var pageId = this.getParentPage().getPath();
var broker = qx.event.message.Bus;
-
+
// stop refreshing when page is left
broker.subscribe("path." + pageId + ".exitingPageChange", function () {
this._stopRefresh(this._timer);
@@ -260,56 +260,62 @@ qx.Class.define('cv.plugins.ControllerInput', {
}, this);
// create paths to show
+ this.__background = qx.bom.Selector.query('.controllerinputBackground path', this.getDomElement())[0];
+ this.__currentClip = qx.bom.Selector.query('.controllerinputCurrent #clip > path', this.getDomElement())[0];
+ this.__current = qx.bom.Selector.query('.controllerinputCurrent .current', this.getDomElement())[0];
+ this.__handle = qx.bom.Selector.query('.controllerinputHandle path', this.getDomElement())[0];
+ this.__handleOuter = qx.bom.Selector.query('.controllerinputHandleValueOuter', this.getDomElement())[0];
+ this.__handleInner = qx.bom.Selector.query('.controllerinputHandleValueInner', this.getDomElement())[0];
+ this.__value = qx.bom.Selector.query('.actor > .value', this.getDomElement())[0];
+
var
- background = qx.bom.Selector.query('.controllerinputBackground path', this.getDomElement())[0],
- backgroundDim = cv.plugins.ControllerInput.getDimensionsFromElement( background ),
+ backgroundDim = cv.plugins.ControllerInput.getDimensionsFromElement( this.__background ),
backgroundD = cv.plugins.ControllerInput.createArcPath( backgroundDim.r, backgroundDim.width, backgroundDim.borderRadius, backgroundDim.leftM, backgroundDim.rightM ),
- currentClip = qx.bom.Selector.query('.controllerinputCurrent #clip > path', this.getDomElement())[0],
- currentClipDim = cv.plugins.ControllerInput.getDimensionsFromElement( currentClip ),
+ currentClipDim = cv.plugins.ControllerInput.getDimensionsFromElement( this.__currentClip ),
currentClipD = cv.plugins.ControllerInput.createArcPath( currentClipDim.r, currentClipDim.width, currentClipDim.borderRadius, currentClipDim.leftM, currentClipDim.rightM ),
- current = qx.bom.Selector.query('.controllerinputCurrent .current', this.getDomElement())[0],
- currentDim = cv.plugins.ControllerInput.getDimensionsFromElement( current ),
+ currentDim = cv.plugins.ControllerInput.getDimensionsFromElement( this.__current ),
currentD = cv.plugins.ControllerInput.createArcPath( currentDim.r, currentDim.width, currentDim.borderRadius, currentDim.leftM, currentDim.rightM ),
- handle = qx.bom.Selector.query('.controllerinputHandle path', this.getDomElement())[0],
- handleDim = cv.plugins.ControllerInput.getDimensionsFromElement( handle ),
+ handleDim = cv.plugins.ControllerInput.getDimensionsFromElement( this.__handle ),
handleD = cv.plugins.ControllerInput.createArcPath( handleDim.r, handleDim.width, handleDim.borderRadius, 0, Math.PI-handleDim.leftP-handleDim.rightP );
- background.setAttribute('d',backgroundD);
+ this.__background.setAttribute('d',backgroundD);
if( undefined !== backgroundDim.fill )
{
- background.insertAdjacentHTML(
+ this.__background.insertAdjacentHTML(
'beforebegin',
'