a11y: using generic accessible at slider
Needed in order to fill the AtkValue implementation using signal callbacks (ala ShellGenericContainer). https://bugzilla.gnome.org/show_bug.cgi?id=648623
This commit is contained in:
parent
5c04840312
commit
84d8d4f622
@ -29,6 +29,17 @@ const Slider = new Lang.Class({
|
|||||||
|
|
||||||
this._releaseId = this._motionId = 0;
|
this._releaseId = this._motionId = 0;
|
||||||
this._dragging = false;
|
this._dragging = false;
|
||||||
|
|
||||||
|
this._customAccessible = St.GenericAccessible.new_for_actor(this.actor);
|
||||||
|
this.actor.set_accessible(this._customAccessible);
|
||||||
|
|
||||||
|
this._customAccessible.connect('get-current-value', Lang.bind(this, this._getCurrentValue));
|
||||||
|
this._customAccessible.connect('get-minimum-value', Lang.bind(this, this._getMinimumValue));
|
||||||
|
this._customAccessible.connect('get-maximum-value', Lang.bind(this, this._getMaximumValue));
|
||||||
|
this._customAccessible.connect('get-minimum-increment', Lang.bind(this, this._getMinimumIncrement));
|
||||||
|
this._customAccessible.connect('set-current-value', Lang.bind(this, this._setCurrentValue));
|
||||||
|
|
||||||
|
this.connect('value-changed', Lang.bind(this, this._valueChanged));
|
||||||
},
|
},
|
||||||
|
|
||||||
setValue: function(value) {
|
setValue: function(value) {
|
||||||
@ -204,6 +215,30 @@ const Slider = new Lang.Class({
|
|||||||
this.emit('value-changed', this._value);
|
this.emit('value-changed', this._value);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_getCurrentValue: function (actor) {
|
||||||
|
return this._value;
|
||||||
|
},
|
||||||
|
|
||||||
|
_getMinimumValue: function (actor) {
|
||||||
|
return 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
_getMaximumValue: function (actor) {
|
||||||
|
return 1;
|
||||||
|
},
|
||||||
|
|
||||||
|
_getMinimumIncrement: function (actor) {
|
||||||
|
return 0.1;
|
||||||
|
},
|
||||||
|
|
||||||
|
_setCurrentValue: function (actor, value) {
|
||||||
|
this._value = value;
|
||||||
|
},
|
||||||
|
|
||||||
|
_valueChanged: function (slider, value, property) {
|
||||||
|
this._customAccessible.notify ("accessible-value");
|
||||||
|
},
|
||||||
|
|
||||||
get value() {
|
get value() {
|
||||||
return this._value;
|
return this._value;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user