@dark-engine/platform-desktop
Version:
Dark renderer to desktop platforms like Windows, Linux, macOS via Nodegui and Qt
42 lines (41 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
exports.QDarkMainWindow = exports.Window = void 0;
const nodegui_1 = require('@nodegui/nodegui');
const core_1 = require('@dark-engine/core');
const factory_1 = require('../factory');
const menu_bar_1 = require('./menu-bar');
const status_bar_1 = require('./status-bar');
const system_tray_icon_1 = require('./system-tray-icon');
const utils_1 = require('../utils');
const Window = (0, core_1.component)(props => (0, factory_1.qMainWindow)(props), {
displayName: 'Window',
});
exports.Window = Window;
class QDarkMainWindow extends nodegui_1.QMainWindow {
constructor() {
super();
this.show();
}
detectIsContainer() {
return true;
}
appendChild(child) {
if ((0, system_tray_icon_1.detectIsSystemTrayIcon)(child)) return;
if ((0, menu_bar_1.detectIsMenuBar)(child)) {
this.setMenuBar(child);
} else if ((0, status_bar_1.detectIsStatusBar)(child)) {
this.setStatusBar(child);
} else {
this.setCentralWidget(child);
}
}
insertBefore() {
(0, utils_1.throwUnsupported)(this);
}
removeChild(child) {
child.close();
}
}
exports.QDarkMainWindow = QDarkMainWindow;
//# sourceMappingURL=window.js.map