41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import addon from '../../utils/addon';
|
|
import { NodeWidget } from '../QWidget';
|
|
import { BaseWidgetEvents } from '../../core/EventWidget';
|
|
import { NativeElement } from '../../core/Component';
|
|
import { QIcon } from '../../QtGui/QIcon';
|
|
|
|
export const QPushButtonEvents = Object.freeze({
|
|
...BaseWidgetEvents,
|
|
clicked: 'clicked',
|
|
pressed: 'pressed',
|
|
released: 'released',
|
|
toggled: 'toggled',
|
|
});
|
|
|
|
export class QPushButton extends NodeWidget {
|
|
native: NativeElement;
|
|
constructor(parent?: NodeWidget) {
|
|
let native;
|
|
if (parent) {
|
|
native = new addon.QPushButton(parent.native);
|
|
} else {
|
|
native = new addon.QPushButton();
|
|
}
|
|
super(native);
|
|
this.nodeParent = parent;
|
|
this.native = native;
|
|
}
|
|
setText(text: string | number): void {
|
|
// react:✓, //TODO:getter
|
|
this.native.setText(`${text}`);
|
|
}
|
|
setFlat(isFlat: boolean): void {
|
|
// react:✓, //TODO:getter
|
|
this.native.setFlat(isFlat);
|
|
}
|
|
setIcon(icon: QIcon): void {
|
|
// react:✓, //TODO:getter
|
|
this.native.setIcon(icon.native);
|
|
}
|
|
}
|