diff --git a/src/index.ts b/src/index.ts index 1d148bd03..01ab996d1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -65,7 +65,7 @@ export { QCalendarWidget, QCalendarWidgetSignals } from './lib/QtWidgets/QCalend export { QCheckBox, QCheckBoxSignals } from './lib/QtWidgets/QCheckBox'; export { QColorDialog, QColorDialogSignals } from './lib/QtWidgets/QColorDialog'; export { QDateEdit } from './lib/QtWidgets/QDateEdit'; -export { QDateTimeEdit, NodeDateTimeEdit, QDateTimeEditSignals } from './lib/QtWidgets/QDateTimeEdit'; +export { QDateTimeEdit, QDateTimeEditSignals } from './lib/QtWidgets/QDateTimeEdit'; export { QLabel, QLabelSignals } from './lib/QtWidgets/QLabel'; export { QLCDNumber, QLCDNumberSignals, Mode, SegmentStyle } from './lib/QtWidgets/QLCDNumber'; export { QDial, QDialSignals } from './lib/QtWidgets/QDial'; diff --git a/src/lib/QtWidgets/QDateEdit.ts b/src/lib/QtWidgets/QDateEdit.ts index faf9b4766..a80e4ce3a 100644 --- a/src/lib/QtWidgets/QDateEdit.ts +++ b/src/lib/QtWidgets/QDateEdit.ts @@ -1,7 +1,7 @@ import addon from '../utils/addon'; import { QWidget } from './QWidget'; import { NativeElement } from '../core/Component'; -import { NodeDateTimeEdit } from './QDateTimeEdit'; +import { QDateTimeEdit } from './QDateTimeEdit'; /** @@ -20,7 +20,7 @@ const dateEdit = new QDateEdit(); // must be implemented ``` */ -export class QDateEdit extends NodeDateTimeEdit { +export class QDateEdit extends QDateTimeEdit { constructor(parent?: QWidget) { let native: NativeElement; if (parent) { diff --git a/src/lib/QtWidgets/QDateTimeEdit.ts b/src/lib/QtWidgets/QDateTimeEdit.ts index c93c40d79..b09d8360f 100644 --- a/src/lib/QtWidgets/QDateTimeEdit.ts +++ b/src/lib/QtWidgets/QDateTimeEdit.ts @@ -6,9 +6,52 @@ import { QDate } from '../QtCore/QDate'; import { QDateTime } from '../QtCore/QDateTime'; import { QTime } from '../QtCore/QTime'; import { TimeSpec } from '../QtEnums'; +import { NativeElement } from '../core/Component'; +import { checkIfNativeElement } from '../utils/helpers'; -export abstract class NodeDateTimeEdit extends QAbstractSpinBox { +/** + +> Creates and controls a widget for editing dates and times with spin box layout. + +* **This class is a JS wrapper around Qt's [QDateTimeEdit class](https://doc.qt.io/qt-5/qdatetimeedit.html)** + +### Example + +```javascript +const { QDateTimeEdit, QDate, QTime } = require("@nodegui/nodegui"); + +const dateTimeEdit = new QDateTimeEdit(); + +let date = new QDate(); +date.setDate(2020, 1, 1); + +let time = new QTime(); +time.setHMS(16, 30, 0); + +dateTimeEdit.setDate(date); +dateTimeEdit.setTime(time); +``` + */ +export class QDateTimeEdit extends QAbstractSpinBox { calendar?: QCalendarWidget; + + constructor(arg?: QWidget | NativeElement) { + let native: NativeElement; + let parent: QWidget = null; + if (checkIfNativeElement(arg)) { + native = arg as NativeElement; + } else if (arg) { + parent = arg as QWidget; + native = new addon.QDateTimeEdit(parent.native); + } else { + native = new addon.QDateTimeEdit(); + } + super(native); + if (parent != null) { + this.setNodeParent(parent); + } + } + setCalendarWidget(calendarWidget: QCalendarWidget): void { this.calendar = calendarWidget; this.native.setCalendarWidget(calendarWidget.native); @@ -61,42 +104,6 @@ export abstract class NodeDateTimeEdit extends QAbstractSpinBox Creates and controls a widget for editing dates and times with spin box layout. - -* **This class is a JS wrapper around Qt's [QDateTimeEdit class](https://doc.qt.io/qt-5/qdatetimeedit.html)** - -### Example - -```javascript -const { QDateTimeEdit, QDate, QTime } = require("@nodegui/nodegui"); - -const dateTimeEdit = new QDateTimeEdit(); - -let date = new QDate(); -date.setDate(2020, 1, 1); - -let time = new QTime(); -time.setHMS(16, 30, 0); - -dateTimeEdit.setDate(date); -dateTimeEdit.setTime(time); -``` - */ -export class QDateTimeEdit extends NodeDateTimeEdit { - constructor(parent?: QWidget) { - let native; - if (parent) { - native = new addon.QDateTimeEdit(parent.native); - } else { - native = new addon.QDateTimeEdit(); - } - super(native); - this.setNodeParent(parent); - } -} - export interface QDateTimeEditSignals extends QAbstractSpinBoxSignals { dateChanged: (date: QDate) => void; dateTimeChanged: (datetime: QDateTime) => void; diff --git a/src/lib/QtWidgets/QTimeEdit.ts b/src/lib/QtWidgets/QTimeEdit.ts index 46500db0f..69b2d3a2e 100644 --- a/src/lib/QtWidgets/QTimeEdit.ts +++ b/src/lib/QtWidgets/QTimeEdit.ts @@ -1,6 +1,6 @@ import addon from '../utils/addon'; import { QWidget } from './QWidget'; -import { NodeDateTimeEdit } from './QDateTimeEdit'; +import { QDateTimeEdit } from './QDateTimeEdit'; /** @@ -19,7 +19,7 @@ const timeEdit = new QTimeEdit(); // must be implemented ``` */ -export class QTimeEdit extends NodeDateTimeEdit { +export class QTimeEdit extends QDateTimeEdit { constructor(parent?: QWidget) { let native; if (parent) {