nodeguy/src/lib/QtWidgets/QGridLayout.ts
blncd2020 a8796c9c60 Additional documentation and code examples (#339)
* additional documentation and code examples

* Update QTabWidget.ts

* Update QTableWidget.ts

* Update QTableWidgetItem.ts

* Update QTreeWidget.ts

* Update QTreeWidgetItem.ts

* Update QTreeWidget.ts

* Fixup doc comments

* fix nodedialog

* fix abstract class docs

* lint fix

* Adds QFileDialog

* Adds QGroupBox

* Adds qmessagebox, qpainter and qgroupbox

* adds link to advanced qpainter example

* Adds qtablewidget qstackedwidget and qtoolbutton

* Adds Qtreewidget docs

Co-authored-by: Atul R <atulanand94@gmail.com>
2020-01-10 11:10:25 +05:30

58 lines
1.6 KiB
TypeScript

import addon from '../utils/addon';
import { NodeWidget } from './QWidget';
import { NodeLayout, QLayoutSignals } from './QLayout';
import { NativeElement } from '../core/Component';
/**
> The QGridLayout class lays out widgets in a grid.
* **This class is a JS wrapper around Qt's [QGridLayout](https://doc.qt.io/qt-5/qgridlayout.html)**
### Example
```javascript
const { QGridLayout, QWidget, QLabel } = require("@nodegui/nodegui");
const view = new QWidget();
const layout = new QGridLayout();
view.setLayout(layout);
const label = new QLabel();
label.setText("label1");
const label2 = new QLabel();
label2.setText("label2");
layout.addWidget(label);
layout.addWidget(label2);
```
*/
export class QGridLayout extends NodeLayout<QGridLayoutSignals> {
native: NativeElement;
constructor();
constructor(parent: NodeWidget<any>);
constructor(parent?: NodeWidget<any>) {
let native: NativeElement;
if (parent) {
native = new addon.QGridLayout(parent.native);
} else {
native = new addon.QGridLayout();
}
super(native);
this.setNodeParent(parent);
this.native = native;
}
addWidget(widget: NodeWidget<any>, row = 0, col = 0, rowSpan = 1, colSpan = 1): void {
this.native.addWidget(widget.native, row, col, rowSpan, colSpan);
this.nodeChildren.add(widget);
}
removeWidget(widget: NodeWidget<any>): void {
this.native.removeWidget(widget.native);
this.nodeChildren.delete(widget);
}
}
export type QGridLayoutSignals = QLayoutSignals;