@dark-engine/platform-desktop
Version:
Dark renderer to desktop platforms like Windows, Linux, macOS via Nodegui and Qt
42 lines (41 loc) • 1.08 kB
JavaScript
import { QWidget, QScrollArea } from '@nodegui/nodegui';
import { component } from '@dark-engine/core';
import { qScrollArea } from '../factory';
import { throwUnsupported } from '../utils';
const ScrollArea = component(props => qScrollArea(props), {
displayName: 'ScrollArea',
});
class QDarkScrollArea extends 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`);
throwUnsupported(this);
}
}
this.setWidget(child);
}
insertBefore() {
throwUnsupported(this);
}
removeChild(child) {
child.close();
this.setWidget(new QDarkPlaceholder());
}
}
class QDarkPlaceholder extends QWidget {}
export { ScrollArea, QDarkScrollArea };
//# sourceMappingURL=scroll-area.js.map