@dark-engine/platform-desktop
Version:
Dark renderer to desktop platforms like Windows, Linux, macOS via Nodegui and Qt
34 lines (33 loc) • 981 B
JavaScript
import { QTabWidget } from '@nodegui/nodegui';
import { component } from '@dark-engine/core';
import { qTab } from '../factory';
import { detectIsTabItem } from './tab-item';
import { runAtTheEndOfCommit } from '../dom';
const Tab = component(props => qTab(props), { displayName: 'Tab' });
class QDarkTab extends QTabWidget {
detectIsContainer() {
return true;
}
appendChild(child) {
if (!detectIsTabItem(child)) return;
child.setTab(this);
runAtTheEndOfCommit(() => {
this.addTab(child, child.getIcon(), child.getText());
});
}
insertBefore(child, _, idx) {
if (!detectIsTabItem(child)) return;
child.setTab(this);
runAtTheEndOfCommit(() => {
this.insertTab(idx, child, child.getIcon(), child.getText());
});
}
removeChild(child) {
if (!detectIsTabItem(child)) return;
this.removeTab(child.getIndex());
child.setTab(null);
child.close();
}
}
export { Tab, QDarkTab };
//# sourceMappingURL=tab.js.map