Remove NodeDateTimeEdit, use QDateTimeEdit

This commit is contained in:
Simon Edwards 2022-04-29 20:05:21 +02:00
parent 83e9c09690
commit 165bb820bc
4 changed files with 49 additions and 42 deletions

View File

@ -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';

View File

@ -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) {

View File

@ -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<QDateTimeEditSignals> {
/**
> 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<QDateTimeEditSignals> {
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<QDateTimeEditSig
}
}
/**
> 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;

View File

@ -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) {