UNPKG

@nodegui/nodegui

Version:

A cross-platform library to build native desktop apps.

104 lines (96 loc) 3.67 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.QMessageBoxIcon = exports.QMessageBox = exports.ButtonRole = void 0; const addon_1 = __importDefault(require("../utils/addon")); const QDialog_1 = require("./QDialog"); const WrapperCache_1 = require("../core/WrapperCache"); const helpers_1 = require("../utils/helpers"); var ButtonRole; (function (ButtonRole) { ButtonRole[ButtonRole["InvalidRole"] = 0] = "InvalidRole"; ButtonRole[ButtonRole["AcceptRole"] = 1] = "AcceptRole"; ButtonRole[ButtonRole["RejectRole"] = 2] = "RejectRole"; ButtonRole[ButtonRole["DestructiveRole"] = 3] = "DestructiveRole"; ButtonRole[ButtonRole["ActionRole"] = 4] = "ActionRole"; ButtonRole[ButtonRole["HelpRole"] = 5] = "HelpRole"; ButtonRole[ButtonRole["YesRole"] = 6] = "YesRole"; ButtonRole[ButtonRole["NoRole"] = 7] = "NoRole"; ButtonRole[ButtonRole["ApplyRole"] = 8] = "ApplyRole"; ButtonRole[ButtonRole["ResetRole"] = 9] = "ResetRole"; })(ButtonRole = exports.ButtonRole || (exports.ButtonRole = {})); /** > Create and control classic modal dialogs. * **This class is a JS wrapper around Qt's [QMessageBox class](https://doc.qt.io/qt-5/qmessagebox.html)** ### Example ```javascript import { QMessageBox, ButtonRole, QPushButton } from '@nodegui/nodegui'; const messageBox = new QMessageBox(); messageBox.setText('Alert! This is a message'); const accept = new QPushButton(); accept.setText('Accept'); messageBox.addButton(accept, ButtonRole.AcceptRole); messageBox.exec(); ``` */ class QMessageBox extends QDialog_1.QDialog { constructor(arg) { let native; if ((0, helpers_1.checkIfNativeElement)(arg)) { native = arg; } else if (arg != null) { const parent = arg; native = new addon_1.default.QMessageBox(parent.native); } else { native = new addon_1.default.QMessageBox(); } super(native); } accept() { this.native.accept(); } done(r) { this.native.done(r); } setText(text) { this.native.setProperty('text', text); } text() { return this.property('text').toString(); } setInformativeText(informativeText) { this.native.setProperty('informativeText', informativeText); } setDetailedText(detailedText) { this.native.setProperty('detailedText', detailedText); } detailedText() { return this.property('detailedText').toString(); } setDefaultButton(button) { this.native.setDefaultButton(button); } addButton(button, role = ButtonRole.NoRole) { this.native.addButton(button.native, role); } static about(parent, title, text) { addon_1.default.QMessageBox.about(parent.native, title, text); } static aboutQt(parent, title) { addon_1.default.QMessageBox.aboutQt(parent.native, title); } } exports.QMessageBox = QMessageBox; WrapperCache_1.wrapperCache.registerWrapper('QMessageBoxWrap', QMessageBox); var QMessageBoxIcon; (function (QMessageBoxIcon) { QMessageBoxIcon[QMessageBoxIcon["NoIcon"] = 0] = "NoIcon"; QMessageBoxIcon[QMessageBoxIcon["Question"] = 4] = "Question"; QMessageBoxIcon[QMessageBoxIcon["Information"] = 1] = "Information"; QMessageBoxIcon[QMessageBoxIcon["Warning"] = 2] = "Warning"; QMessageBoxIcon[QMessageBoxIcon["Critical"] = 3] = "Critical"; })(QMessageBoxIcon = exports.QMessageBoxIcon || (exports.QMessageBoxIcon = {}));