@dark-engine/platform-desktop
Version:
Dark renderer to desktop platforms like Windows, Linux, macOS via Nodegui and Qt
46 lines (45 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
exports.QDarkScrollArea = exports.ScrollArea = void 0;
const nodegui_1 = require('@nodegui/nodegui');
const core_1 = require('@dark-engine/core');
const factory_1 = require('../factory');
const utils_1 = require('../utils');
const ScrollArea = (0, core_1.component)(props => (0, factory_1.qScrollArea)(props), {
displayName: 'ScrollArea',
});
exports.ScrollArea = ScrollArea;
class QDarkScrollArea extends nodegui_1.QScrollArea {
constructor() {
super();
this.setResizable(true);
}
detectIsContainer() {
return true;
}
setResizable(value) {
this.setWidgetResizable(value);
}
appendChild(child) {
const widget = this.widget();
if (widget) {
if (widget instanceof QDarkPlaceholder) {
widget.close();
} else {
console.warn(`ScrollArea can't have more than one child node`);
(0, utils_1.throwUnsupported)(this);
}
}
this.setWidget(child);
}
insertBefore() {
(0, utils_1.throwUnsupported)(this);
}
removeChild(child) {
child.close();
this.setWidget(new QDarkPlaceholder());
}
}
exports.QDarkScrollArea = QDarkScrollArea;
class QDarkPlaceholder extends nodegui_1.QWidget {}
//# sourceMappingURL=scroll-area.js.map