53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
import addon from '../utils/addon';
|
|
import { NodeWidget } from './QWidget';
|
|
import { BaseWidgetEvents } from '../core/EventWidget';
|
|
import { NativeElement } from '../core/Component';
|
|
import { QAbstractSlider } from './QAbstractSlider';
|
|
|
|
export const QDialEvents = Object.freeze({
|
|
...BaseWidgetEvents,
|
|
valueChanged: 'valueChanged',
|
|
rangeChanged: 'rangeChanged',
|
|
sliderMoved: 'sliderMoved',
|
|
sliderPressed: 'sliderPressed',
|
|
sliderReleased: 'sliderReleased',
|
|
});
|
|
export class QDial extends QAbstractSlider {
|
|
native: NativeElement;
|
|
constructor(parent?: NodeWidget) {
|
|
let native;
|
|
if (parent) {
|
|
native = new addon.QDial(parent.native);
|
|
} else {
|
|
native = new addon.QDial();
|
|
}
|
|
super(native);
|
|
this.native = native;
|
|
this.nodeParent = parent;
|
|
}
|
|
setNotchesVisible(visible: boolean): void {
|
|
// react:✓
|
|
this.native.setNotchesVisible(visible);
|
|
}
|
|
notchesVisible(): boolean {
|
|
// react:✓
|
|
return this.native.notchesVisible();
|
|
}
|
|
setWrapping(on: boolean): void {
|
|
// react:✓
|
|
this.native.setWrapping(on);
|
|
}
|
|
wrapping(): boolean {
|
|
// react:✓
|
|
return this.native.wrapping();
|
|
}
|
|
setNotchTarget(target: number): void {
|
|
// react:✓
|
|
this.native.setNotchTarget(target);
|
|
}
|
|
notchTarget(): number {
|
|
// react:✓
|
|
return this.native.notchTarget();
|
|
}
|
|
}
|