diff --git a/config/application.gypi b/config/application.gypi index 264298c90..369fa1030 100644 --- a/config/application.gypi +++ b/config/application.gypi @@ -24,5 +24,6 @@ "../src/cpp/QtWidgets/QProgressBar/qprogressbar_wrap.cpp", "../src/cpp/QtWidgets/QRadioButton/qradiobutton_wrap.cpp", "../src/cpp/QtWidgets/QLineEdit/qlineedit_wrap.cpp", + "../src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.cpp", ], } diff --git a/config/moc.gypi b/config/moc.gypi index a0b435f79..af3a7fd47 100644 --- a/config/moc.gypi +++ b/config/moc.gypi @@ -9,6 +9,7 @@ "../src/cpp/autogen/nmainwindow_moc.cpp", "../src/cpp/autogen/nprogressbar_moc.cpp", "../src/cpp/autogen/npushbutton_moc.cpp", - "../src/cpp/autogen/nradiobutton_moc.cpp" + "../src/cpp/autogen/nradiobutton_moc.cpp", + "../src/cpp/autogen/nplaintextedit_moc.cpp" ] -} +} \ No newline at end of file diff --git a/config/moc.json b/config/moc.json index 135dfea34..696583b75 100644 --- a/config/moc.json +++ b/config/moc.json @@ -8,6 +8,7 @@ "src/cpp/QtWidgets/QMainWindow/nmainwindow.h", "src/cpp/QtWidgets/QProgressBar/nprogressbar.h", "src/cpp/QtWidgets/QPushButton/npushbutton.h", - "src/cpp/QtWidgets/QRadioButton/nradiobutton.h" + "src/cpp/QtWidgets/QRadioButton/nradiobutton.h", + "src/cpp/QtWidgets/QPlainTextEdit/nplaintextedit.h" ] } diff --git a/docs/api/QPlainTextEdit.md b/docs/api/QPlainTextEdit.md new file mode 100644 index 000000000..13b46e601 --- /dev/null +++ b/docs/api/QPlainTextEdit.md @@ -0,0 +1,33 @@ +## Class: QPlainTextEdit + +> Used to edit and display plain text. + +**This class is a JS wrapper around Qt's [QPlainTextEdit class](https://doc.qt.io/qt-5/qplaintextedit.html)** + +A `QPlainTextEdit` provides ability to add and manipulate native editable text field widgets. + +**QPlainTextEdit inherits from [NodeWidget](api/NodeWidget.md)** + +### Example + +```javascript +const { QPlainTextEdit } = require("@nodegui/nodegui"); + +const plainTextEdit = new QPlainTextEdit(); +``` + +### `new QPlainTextEdit(parent?)` + +- `parent` NodeWidget (_optional_). Any widget inheriting from NodeWidget can be passed as a parent. This will make this widget, the child of the parent widget. + +### Static Methods + +QPlainTextEdit can access all the static methods defined in [NodeWidget](api/NodeWidget.md) + +### Instance Properties + +QPlainTextEdit can access all the instance properties defined in [NodeWidget](api/NodeWidget.md). + +### Instance Methods + +QPlainTextEdit can access all the instance methods defined in [NodeWidget](api/NodeWidget.md). \ No newline at end of file diff --git a/scripts/automoc.js b/scripts/automoc.js index 11d779482..432c5b483 100644 --- a/scripts/automoc.js +++ b/scripts/automoc.js @@ -33,9 +33,7 @@ const generateMocGypiFile = outFilePaths => { }); const gypiConfig = { - target_defaults: { - sources: sources - } + sources: sources }; const comment = `# AUTOGENERATED FILE. DO NOT MODIFY . ALL CHANGES WILL BE LOST\n# RUN: npm run automoc after updating moc.json\n`; console.log("Updating moc.gypi..."); diff --git a/src/cpp/QtWidgets/QPlainTextEdit/nplaintextedit.h b/src/cpp/QtWidgets/QPlainTextEdit/nplaintextedit.h new file mode 100644 index 000000000..18a60f7f2 --- /dev/null +++ b/src/cpp/QtWidgets/QPlainTextEdit/nplaintextedit.h @@ -0,0 +1,11 @@ +#pragma once + +#include +#include "src/cpp/core/NodeWidget/nodewidget.h" + +class NPlainTextEdit : public QPlainTextEdit, public NodeWidget +{ + NODEWIDGET_IMPLEMENTATIONS +public: + using QPlainTextEdit::QPlainTextEdit; //inherit all constructors of QPlainTextEdit +}; diff --git a/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.cpp b/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.cpp new file mode 100644 index 000000000..afbc79582 --- /dev/null +++ b/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.cpp @@ -0,0 +1,44 @@ + +#include "qplaintextedit_wrap.h" +#include "src/cpp/QtWidgets/QWidget/qwidget_wrap.h" +#include "src/cpp/Extras/Utils/nutils.h" +#include + + +Napi::FunctionReference QPlainTextEditWrap::constructor; + +Napi::Object QPlainTextEditWrap::init(Napi::Env env, Napi::Object exports) { + Napi::HandleScope scope(env); + char CLASSNAME[] = "QPlainTextEdit"; + Napi::Function func = DefineClass(env, CLASSNAME, { + QWIDGET_WRAPPED_METHODS_EXPORT_DEFINE(QPlainTextEditWrap) + }); + constructor = Napi::Persistent(func); + exports.Set(CLASSNAME, func); + return exports; +} + +NPlainTextEdit* QPlainTextEditWrap::getInternalInstance() { + return this->instance; +} + +QPlainTextEditWrap::QPlainTextEditWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap(info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + if(info.Length() == 1) { + Napi::Object parentObject = info[0].As(); + QWidgetWrap* parentWidgetWrap = Napi::ObjectWrap::Unwrap(parentObject); + this->instance = new NPlainTextEdit(parentWidgetWrap->getInternalInstance()); //this sets the parent to current widget + }else if (info.Length() == 0){ + this->instance = new NPlainTextEdit(); + }else { + Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException(); + } + // Adds measure function on yoga node so that widget size is calculated based on its text also. + YGNodeSetMeasureFunc(this->instance->getFlexNode(), &extrautils::measureQtWidget); +} + +QPlainTextEditWrap::~QPlainTextEditWrap() { + delete this->instance; +} \ No newline at end of file diff --git a/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.h b/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.h new file mode 100644 index 000000000..bca605e9d --- /dev/null +++ b/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.h @@ -0,0 +1,23 @@ +#pragma once + +#include +#include "nplaintextedit.h" +#include "src/cpp/QtWidgets/QWidget/qwidget_macro.h" + + +class QPlainTextEditWrap : public Napi::ObjectWrap{ + private: + NPlainTextEdit* instance; + public: + static Napi::Object init(Napi::Env env, Napi::Object exports); + QPlainTextEditWrap(const Napi::CallbackInfo& info); + ~QPlainTextEditWrap(); + NPlainTextEdit* getInternalInstance(); + //class constructor + static Napi::FunctionReference constructor; + //wrapped methods + + QWIDGET_WRAPPED_METHODS_DECLARATION + +}; + diff --git a/src/cpp/autogen/nplaintextedit_moc.cpp b/src/cpp/autogen/nplaintextedit_moc.cpp new file mode 100644 index 000000000..ab97aed69 --- /dev/null +++ b/src/cpp/autogen/nplaintextedit_moc.cpp @@ -0,0 +1,337 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'nplaintextedit.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.0) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include +#include "../QtWidgets/QPlainTextEdit/nplaintextedit.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'nplaintextedit.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.13.0. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_NPlainTextEdit_t { + QByteArrayData data[47]; + char stringdata0[551]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_NPlainTextEdit_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_NPlainTextEdit_t qt_meta_stringdata_NPlainTextEdit = { + { +QT_MOC_LITERAL(0, 0, 14), // "NPlainTextEdit" +QT_MOC_LITERAL(1, 15, 8), // "yDisplay" +QT_MOC_LITERAL(2, 24, 11), // "yAlignItems" +QT_MOC_LITERAL(3, 36, 13), // "yAlignContent" +QT_MOC_LITERAL(4, 50, 10), // "yAlignSelf" +QT_MOC_LITERAL(5, 61, 15), // "yJustifyContent" +QT_MOC_LITERAL(6, 77, 10), // "yDirection" +QT_MOC_LITERAL(7, 88, 14), // "yFlexDirection" +QT_MOC_LITERAL(8, 103, 9), // "yOverflow" +QT_MOC_LITERAL(9, 113, 9), // "yPosition" +QT_MOC_LITERAL(10, 123, 9), // "yFlexWrap" +QT_MOC_LITERAL(11, 133, 5), // "yFlex" +QT_MOC_LITERAL(12, 139, 9), // "yFlexGrow" +QT_MOC_LITERAL(13, 149, 11), // "yFlexShrink" +QT_MOC_LITERAL(14, 161, 12), // "yAspectRatio" +QT_MOC_LITERAL(15, 174, 4), // "yTop" +QT_MOC_LITERAL(16, 179, 6), // "yRight" +QT_MOC_LITERAL(17, 186, 7), // "yBottom" +QT_MOC_LITERAL(18, 194, 5), // "yLeft" +QT_MOC_LITERAL(19, 200, 10), // "yFlexBasis" +QT_MOC_LITERAL(20, 211, 9), // "yMinWidth" +QT_MOC_LITERAL(21, 221, 10), // "yMinHeight" +QT_MOC_LITERAL(22, 232, 6), // "yWidth" +QT_MOC_LITERAL(23, 239, 7), // "yHeight" +QT_MOC_LITERAL(24, 247, 9), // "yMaxWidth" +QT_MOC_LITERAL(25, 257, 10), // "yMaxHeight" +QT_MOC_LITERAL(26, 268, 11), // "yPaddingTop" +QT_MOC_LITERAL(27, 280, 13), // "yPaddingRight" +QT_MOC_LITERAL(28, 294, 14), // "yPaddingBottom" +QT_MOC_LITERAL(29, 309, 12), // "yPaddingLeft" +QT_MOC_LITERAL(30, 322, 18), // "yPaddingHorizontal" +QT_MOC_LITERAL(31, 341, 16), // "yPaddingVertical" +QT_MOC_LITERAL(32, 358, 8), // "yPadding" +QT_MOC_LITERAL(33, 367, 10), // "yMarginTop" +QT_MOC_LITERAL(34, 378, 12), // "yMarginRight" +QT_MOC_LITERAL(35, 391, 13), // "yMarginBottom" +QT_MOC_LITERAL(36, 405, 11), // "yMarginLeft" +QT_MOC_LITERAL(37, 417, 17), // "yMarginHorizontal" +QT_MOC_LITERAL(38, 435, 15), // "yMarginVertical" +QT_MOC_LITERAL(39, 451, 7), // "yMargin" +QT_MOC_LITERAL(40, 459, 10), // "yBorderTop" +QT_MOC_LITERAL(41, 470, 12), // "yBorderRight" +QT_MOC_LITERAL(42, 483, 13), // "yBorderBottom" +QT_MOC_LITERAL(43, 497, 11), // "yBorderLeft" +QT_MOC_LITERAL(44, 509, 17), // "yBorderHorizontal" +QT_MOC_LITERAL(45, 527, 15), // "yBorderVertical" +QT_MOC_LITERAL(46, 543, 7) // "yBorder" + + }, + "NPlainTextEdit\0yDisplay\0yAlignItems\0" + "yAlignContent\0yAlignSelf\0yJustifyContent\0" + "yDirection\0yFlexDirection\0yOverflow\0" + "yPosition\0yFlexWrap\0yFlex\0yFlexGrow\0" + "yFlexShrink\0yAspectRatio\0yTop\0yRight\0" + "yBottom\0yLeft\0yFlexBasis\0yMinWidth\0" + "yMinHeight\0yWidth\0yHeight\0yMaxWidth\0" + "yMaxHeight\0yPaddingTop\0yPaddingRight\0" + "yPaddingBottom\0yPaddingLeft\0" + "yPaddingHorizontal\0yPaddingVertical\0" + "yPadding\0yMarginTop\0yMarginRight\0" + "yMarginBottom\0yMarginLeft\0yMarginHorizontal\0" + "yMarginVertical\0yMargin\0yBorderTop\0" + "yBorderRight\0yBorderBottom\0yBorderLeft\0" + "yBorderHorizontal\0yBorderVertical\0" + "yBorder" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_NPlainTextEdit[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 46, 14, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // properties: name, type, flags + 1, QMetaType::QString, 0x00095103, + 2, QMetaType::QString, 0x00095103, + 3, QMetaType::QString, 0x00095103, + 4, QMetaType::QString, 0x00095103, + 5, QMetaType::QString, 0x00095103, + 6, QMetaType::QString, 0x00095103, + 7, QMetaType::QString, 0x00095103, + 8, QMetaType::QString, 0x00095103, + 9, QMetaType::QString, 0x00095103, + 10, QMetaType::QString, 0x00095103, + 11, QMetaType::Float, 0x00095103, + 12, QMetaType::Float, 0x00095103, + 13, QMetaType::Float, 0x00095103, + 14, QMetaType::Float, 0x00095103, + 15, QMetaType::QString, 0x00095003, + 16, QMetaType::QString, 0x00095003, + 17, QMetaType::QString, 0x00095003, + 18, QMetaType::QString, 0x00095003, + 19, QMetaType::QString, 0x00095103, + 20, QMetaType::QString, 0x00095103, + 21, QMetaType::QString, 0x00095103, + 22, QMetaType::QString, 0x00095103, + 23, QMetaType::QString, 0x00095103, + 24, QMetaType::QString, 0x00095103, + 25, QMetaType::QString, 0x00095103, + 26, QMetaType::QString, 0x00095103, + 27, QMetaType::QString, 0x00095103, + 28, QMetaType::QString, 0x00095103, + 29, QMetaType::QString, 0x00095103, + 30, QMetaType::QString, 0x00095103, + 31, QMetaType::QString, 0x00095103, + 32, QMetaType::QString, 0x00095103, + 33, QMetaType::QString, 0x00095103, + 34, QMetaType::QString, 0x00095103, + 35, QMetaType::QString, 0x00095103, + 36, QMetaType::QString, 0x00095103, + 37, QMetaType::QString, 0x00095103, + 38, QMetaType::QString, 0x00095103, + 39, QMetaType::QString, 0x00095003, + 40, QMetaType::Float, 0x00095103, + 41, QMetaType::Float, 0x00095103, + 42, QMetaType::Float, 0x00095103, + 43, QMetaType::Float, 0x00095103, + 44, QMetaType::Float, 0x00095103, + 45, QMetaType::Float, 0x00095103, + 46, QMetaType::Float, 0x00095103, + + 0 // eod +}; + +void NPlainTextEdit::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + +#ifndef QT_NO_PROPERTIES + if (_c == QMetaObject::ReadProperty) { + auto *_t = static_cast(_o); + Q_UNUSED(_t) + void *_v = _a[0]; + switch (_id) { + case 0: *reinterpret_cast< QString*>(_v) = _t->_yDisplay; break; + case 1: *reinterpret_cast< QString*>(_v) = _t->_yAlignItems; break; + case 2: *reinterpret_cast< QString*>(_v) = _t->_yAlignContent; break; + case 3: *reinterpret_cast< QString*>(_v) = _t->_yAlignSelf; break; + case 4: *reinterpret_cast< QString*>(_v) = _t->_yJustifyContent; break; + case 5: *reinterpret_cast< QString*>(_v) = _t->_yDirection; break; + case 6: *reinterpret_cast< QString*>(_v) = _t->_yFlexDirection; break; + case 7: *reinterpret_cast< QString*>(_v) = _t->_yOverflow; break; + case 8: *reinterpret_cast< QString*>(_v) = _t->_yPosition; break; + case 9: *reinterpret_cast< QString*>(_v) = _t->_yFlexWrap; break; + case 10: *reinterpret_cast< float*>(_v) = _t->_yFlex; break; + case 11: *reinterpret_cast< float*>(_v) = _t->_yFlexGrow; break; + case 12: *reinterpret_cast< float*>(_v) = _t->_yFlexShrink; break; + case 13: *reinterpret_cast< float*>(_v) = _t->_yAspectRatio; break; + case 14: *reinterpret_cast< QString*>(_v) = _t->_yTop; break; + case 15: *reinterpret_cast< QString*>(_v) = _t->_yRight; break; + case 16: *reinterpret_cast< QString*>(_v) = _t->_yBottom; break; + case 17: *reinterpret_cast< QString*>(_v) = _t->_yLeft; break; + case 18: *reinterpret_cast< QString*>(_v) = _t->_yFlexBasis; break; + case 19: *reinterpret_cast< QString*>(_v) = _t->_yMinWidth; break; + case 20: *reinterpret_cast< QString*>(_v) = _t->_yMinHeight; break; + case 21: *reinterpret_cast< QString*>(_v) = _t->_yWidth; break; + case 22: *reinterpret_cast< QString*>(_v) = _t->_yHeight; break; + case 23: *reinterpret_cast< QString*>(_v) = _t->_yMaxWidth; break; + case 24: *reinterpret_cast< QString*>(_v) = _t->_yMaxHeight; break; + case 25: *reinterpret_cast< QString*>(_v) = _t->_yPaddingTop; break; + case 26: *reinterpret_cast< QString*>(_v) = _t->_yPaddingRight; break; + case 27: *reinterpret_cast< QString*>(_v) = _t->_yPaddingBottom; break; + case 28: *reinterpret_cast< QString*>(_v) = _t->_yPaddingLeft; break; + case 29: *reinterpret_cast< QString*>(_v) = _t->_yPaddingHorizontal; break; + case 30: *reinterpret_cast< QString*>(_v) = _t->_yPaddingVertical; break; + case 31: *reinterpret_cast< QString*>(_v) = _t->_yPadding; break; + case 32: *reinterpret_cast< QString*>(_v) = _t->_yMarginTop; break; + case 33: *reinterpret_cast< QString*>(_v) = _t->_yMarginRight; break; + case 34: *reinterpret_cast< QString*>(_v) = _t->_yMarginBottom; break; + case 35: *reinterpret_cast< QString*>(_v) = _t->_yMarginLeft; break; + case 36: *reinterpret_cast< QString*>(_v) = _t->_yMarginHorizontal; break; + case 37: *reinterpret_cast< QString*>(_v) = _t->_yMarginVertical; break; + case 38: *reinterpret_cast< QString*>(_v) = _t->_yMargin; break; + case 39: *reinterpret_cast< float*>(_v) = _t->_yBorderTop; break; + case 40: *reinterpret_cast< float*>(_v) = _t->_yBorderRight; break; + case 41: *reinterpret_cast< float*>(_v) = _t->_yBorderBottom; break; + case 42: *reinterpret_cast< float*>(_v) = _t->_yBorderLeft; break; + case 43: *reinterpret_cast< float*>(_v) = _t->_yBorderHorizontal; break; + case 44: *reinterpret_cast< float*>(_v) = _t->_yBorderVertical; break; + case 45: *reinterpret_cast< float*>(_v) = _t->_yBorder; break; + default: break; + } + } else if (_c == QMetaObject::WriteProperty) { + auto *_t = static_cast(_o); + Q_UNUSED(_t) + void *_v = _a[0]; + switch (_id) { + case 0: _t->setYDisplay(*reinterpret_cast< QString*>(_v)); break; + case 1: _t->setYAlignItems(*reinterpret_cast< QString*>(_v)); break; + case 2: _t->setYAlignContent(*reinterpret_cast< QString*>(_v)); break; + case 3: _t->setYAlignSelf(*reinterpret_cast< QString*>(_v)); break; + case 4: _t->setYJustifyContent(*reinterpret_cast< QString*>(_v)); break; + case 5: _t->setYDirection(*reinterpret_cast< QString*>(_v)); break; + case 6: _t->setYFlexDirection(*reinterpret_cast< QString*>(_v)); break; + case 7: _t->setYOverflow(*reinterpret_cast< QString*>(_v)); break; + case 8: _t->setYPosition(*reinterpret_cast< QString*>(_v)); break; + case 9: _t->setYFlexWrap(*reinterpret_cast< QString*>(_v)); break; + case 10: _t->setYFlex(*reinterpret_cast< float*>(_v)); break; + case 11: _t->setYFlexGrow(*reinterpret_cast< float*>(_v)); break; + case 12: _t->setYFlexShrink(*reinterpret_cast< float*>(_v)); break; + case 13: _t->setYAspectRatio(*reinterpret_cast< float*>(_v)); break; + case 14: _t->setYNodeTop(*reinterpret_cast< QString*>(_v)); break; + case 15: _t->setYNodeRight(*reinterpret_cast< QString*>(_v)); break; + case 16: _t->setYNodeBottom(*reinterpret_cast< QString*>(_v)); break; + case 17: _t->setYNodeLeft(*reinterpret_cast< QString*>(_v)); break; + case 18: _t->setYFlexBasis(*reinterpret_cast< QString*>(_v)); break; + case 19: _t->setYMinWidth(*reinterpret_cast< QString*>(_v)); break; + case 20: _t->setYMinHeight(*reinterpret_cast< QString*>(_v)); break; + case 21: _t->setYWidth(*reinterpret_cast< QString*>(_v)); break; + case 22: _t->setYHeight(*reinterpret_cast< QString*>(_v)); break; + case 23: _t->setYMaxWidth(*reinterpret_cast< QString*>(_v)); break; + case 24: _t->setYMaxHeight(*reinterpret_cast< QString*>(_v)); break; + case 25: _t->setYPaddingTop(*reinterpret_cast< QString*>(_v)); break; + case 26: _t->setYPaddingRight(*reinterpret_cast< QString*>(_v)); break; + case 27: _t->setYPaddingBottom(*reinterpret_cast< QString*>(_v)); break; + case 28: _t->setYPaddingLeft(*reinterpret_cast< QString*>(_v)); break; + case 29: _t->setYPaddingHorizontal(*reinterpret_cast< QString*>(_v)); break; + case 30: _t->setYPaddingVertical(*reinterpret_cast< QString*>(_v)); break; + case 31: _t->setYPadding(*reinterpret_cast< QString*>(_v)); break; + case 32: _t->setYMarginTop(*reinterpret_cast< QString*>(_v)); break; + case 33: _t->setYMarginRight(*reinterpret_cast< QString*>(_v)); break; + case 34: _t->setYMarginBottom(*reinterpret_cast< QString*>(_v)); break; + case 35: _t->setYMarginLeft(*reinterpret_cast< QString*>(_v)); break; + case 36: _t->setYMarginHorizontal(*reinterpret_cast< QString*>(_v)); break; + case 37: _t->setYMarginVertical(*reinterpret_cast< QString*>(_v)); break; + case 38: _t->setYMarginAll(*reinterpret_cast< QString*>(_v)); break; + case 39: _t->setYBorderTop(*reinterpret_cast< float*>(_v)); break; + case 40: _t->setYBorderRight(*reinterpret_cast< float*>(_v)); break; + case 41: _t->setYBorderBottom(*reinterpret_cast< float*>(_v)); break; + case 42: _t->setYBorderLeft(*reinterpret_cast< float*>(_v)); break; + case 43: _t->setYBorderHorizontal(*reinterpret_cast< float*>(_v)); break; + case 44: _t->setYBorderVertical(*reinterpret_cast< float*>(_v)); break; + case 45: _t->setYBorder(*reinterpret_cast< float*>(_v)); break; + default: break; + } + } else if (_c == QMetaObject::ResetProperty) { + } +#endif // QT_NO_PROPERTIES + Q_UNUSED(_o); + Q_UNUSED(_id); + Q_UNUSED(_c); + Q_UNUSED(_a); +} + +QT_INIT_METAOBJECT const QMetaObject NPlainTextEdit::staticMetaObject = { { + &QPlainTextEdit::staticMetaObject, + qt_meta_stringdata_NPlainTextEdit.data, + qt_meta_data_NPlainTextEdit, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *NPlainTextEdit::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *NPlainTextEdit::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_NPlainTextEdit.stringdata0)) + return static_cast(this); + if (!strcmp(_clname, "NodeWidget")) + return static_cast< NodeWidget*>(this); + return QPlainTextEdit::qt_metacast(_clname); +} + +int NPlainTextEdit::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QPlainTextEdit::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + +#ifndef QT_NO_PROPERTIES + if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty + || _c == QMetaObject::ResetProperty || _c == QMetaObject::RegisterPropertyMetaType) { + qt_static_metacall(this, _c, _id, _a); + _id -= 46; + } else if (_c == QMetaObject::QueryPropertyDesignable) { + _id -= 46; + } else if (_c == QMetaObject::QueryPropertyScriptable) { + _id -= 46; + } else if (_c == QMetaObject::QueryPropertyStored) { + _id -= 46; + } else if (_c == QMetaObject::QueryPropertyEditable) { + _id -= 46; + } else if (_c == QMetaObject::QueryPropertyUser) { + _id -= 46; + } +#endif // QT_NO_PROPERTIES + return _id; +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/src/cpp/main.cpp b/src/cpp/main.cpp index e07b52cdf..2018b8aaa 100644 --- a/src/cpp/main.cpp +++ b/src/cpp/main.cpp @@ -10,6 +10,7 @@ #include "src/cpp/QtWidgets/QProgressBar/qprogressbar_wrap.h" #include "src/cpp/QtWidgets/QRadioButton/qradiobutton_wrap.h" #include "src/cpp/QtWidgets/QLineEdit/qlineedit_wrap.h" +#include "src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.h" #include "src/cpp/core/FlexLayout/flexlayout_wrap.h" #include "src/cpp/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.h" #include @@ -32,6 +33,7 @@ Napi::Object Main(Napi::Env env, Napi::Object exports) { QRadioButtonWrap::init(env, exports); QLineEditWrap::init(env, exports); QKeyEventWrap::init(env, exports); + QPlainTextEditWrap::init(env, exports); return QLabelWrap::init(env, exports); } diff --git a/src/index.ts b/src/index.ts index 4e02edbdf..b1c69c812 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,6 +14,7 @@ export { QMainWindow, QMainWindowEvents } from "./lib/QtWidgets/QMainWindow"; export { QProgressBar, QProgressBarEvents } from "./lib/QtWidgets/QProgressBar"; export { QPushButton, QPushButtonEvents } from "./lib/QtWidgets/QPushButton"; export { QRadioButton, QRadioButtonEvents } from "./lib/QtWidgets/QRadioButton"; +export { QPlainTextEdit } from "./lib/QtWidgets/QPlainTextEdit"; // Layouts: export { QGridLayout } from "./lib/QtWidgets/QGridLayout"; export { FlexLayout } from "./lib/core/FlexLayout"; diff --git a/src/lib/QtWidgets/QPlainTextEdit/index.ts b/src/lib/QtWidgets/QPlainTextEdit/index.ts new file mode 100644 index 000000000..cedfc9c72 --- /dev/null +++ b/src/lib/QtWidgets/QPlainTextEdit/index.ts @@ -0,0 +1,27 @@ +import addon from "../../core/addon"; +import { NodeWidget } from "../../QtGui/QWidget"; +import { BaseWidgetEvents } from "../../core/EventWidget"; +import { NativeElement } from "../../core/Component"; + +// export const QPlainTextEditEvents = Object.freeze({ +// ...BaseWidgetEvents +// }); +export class QPlainTextEdit extends NodeWidget { + native: NativeElement; + constructor(parent?: NodeWidget) { + let native; + if (parent) { + native = new addon.QPlainTextEdit(parent.native); + } else { + native = new addon.QPlainTextEdit(); + } + super(native); + this.native = native; + this.parent = parent; + // bind member functions + this.setText.bind(this); + } + setText(text: string | number) { + this.native.setText(`${text}`); + } +}