From 26cbc465f0bf883436a8360de486e9a7982d8a29 Mon Sep 17 00:00:00 2001 From: Atul R Date: Mon, 3 Jun 2019 19:10:33 +0200 Subject: [PATCH] Adds all yoga stylesheet props to qlabel --- README.md | 8 ++ config/application.gypi | 1 + package.json | 2 +- src/cpp/QtWidgets/QLabel/nlabel.cpp | 1 + src/cpp/QtWidgets/QLabel/nlabel.h | 17 +++++ src/cpp/QtWidgets/QLabel/nlabel_moc.h | 96 ++++++++++++++++++++++++ src/cpp/QtWidgets/QLabel/qlabel_wrap.cpp | 6 +- src/cpp/QtWidgets/QLabel/qlabel_wrap.h | 6 +- 8 files changed, 130 insertions(+), 7 deletions(-) create mode 100644 src/cpp/QtWidgets/QLabel/nlabel.cpp create mode 100644 src/cpp/QtWidgets/QLabel/nlabel.h create mode 100644 src/cpp/QtWidgets/QLabel/nlabel_moc.h diff --git a/README.md b/README.md index b6f1d0952..6a5700b21 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,14 @@ To run docs locally, - 4. `npm run docs:serve` runs docs in development mode. - 5. `npm run docs:build` to build the docs for publishing in `/docs` folder. +## RUNNING MOC + +To run moc: + +```sh +moc headername.h -o headername_moc.h +``` + #DEBUGGING https://medium.com/cameron-nokes/how-to-debug-native-node-addons-in-mac-osx-66f69f81afcb diff --git a/config/application.gypi b/config/application.gypi index def9f671a..76aa0ee1d 100644 --- a/config/application.gypi +++ b/config/application.gypi @@ -18,6 +18,7 @@ "../src/cpp/QtGui/QApplication/qapplication_wrap.cpp", "../src/cpp/QtGui/QWidget/qwidget_wrap.cpp", "../src/cpp/QtWidgets/QGridLayout/qgridlayout_wrap.cpp", + "../src/cpp/QtWidgets/QLabel/nlabel.cpp", "../src/cpp/QtWidgets/QLabel/qlabel_wrap.cpp", "../src/cpp/QtWidgets/QLayout/qlayout_wrap.cpp", "../src/cpp/QtWidgets/QMainWindow/qmainwindow_wrap.cpp", diff --git a/package.json b/package.json index e8e6ee7d7..02f71eda2 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "typescript": "^3.4.5" }, "scripts": { - "build:addon": "node-gyp -j 8 rebuild", + "build:addon": "node-gyp -j 8 build", "build:lib": "rm -rf ./dist/ && tsc", "dev": "yarn build:lib && qode dist/demo.js" }, diff --git a/src/cpp/QtWidgets/QLabel/nlabel.cpp b/src/cpp/QtWidgets/QLabel/nlabel.cpp new file mode 100644 index 000000000..2482ae4f9 --- /dev/null +++ b/src/cpp/QtWidgets/QLabel/nlabel.cpp @@ -0,0 +1 @@ +#include "nlabel_moc.h" \ No newline at end of file diff --git a/src/cpp/QtWidgets/QLabel/nlabel.h b/src/cpp/QtWidgets/QLabel/nlabel.h new file mode 100644 index 000000000..6a70cbc80 --- /dev/null +++ b/src/cpp/QtWidgets/QLabel/nlabel.h @@ -0,0 +1,17 @@ +#ifndef N_LABEL_H +#define N_LABEL_H +#include +#include +#include "src/cpp/core/YogaWidget/yogawidget.h" + +class NLabel: public QLabel, public YogaWidget +{ + +public: + using QLabel::QLabel; //inherit all constructors of QLabel + SET_YOGA_WIDGET_Q_PROPERTIES + Q_OBJECT +}; + + +#endif // N_LABEL_H diff --git a/src/cpp/QtWidgets/QLabel/nlabel_moc.h b/src/cpp/QtWidgets/QLabel/nlabel_moc.h new file mode 100644 index 000000000..89a728820 --- /dev/null +++ b/src/cpp/QtWidgets/QLabel/nlabel_moc.h @@ -0,0 +1,96 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'nlabel.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.1) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "nlabel.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'nlabel.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.12.1. 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_NLabel_t { + QByteArrayData data[1]; + char stringdata0[7]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_NLabel_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_NLabel_t qt_meta_stringdata_NLabel = { + { +QT_MOC_LITERAL(0, 0, 6) // "NLabel" + + }, + "NLabel" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_NLabel[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +void NLabel::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + Q_UNUSED(_o); + Q_UNUSED(_id); + Q_UNUSED(_c); + Q_UNUSED(_a); +} + +QT_INIT_METAOBJECT const QMetaObject NLabel::staticMetaObject = { { + &QLabel::staticMetaObject, + qt_meta_stringdata_NLabel.data, + qt_meta_data_NLabel, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *NLabel::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *NLabel::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_NLabel.stringdata0)) + return static_cast(this); + if (!strcmp(_clname, "YogaWidget")) + return static_cast< YogaWidget*>(this); + return QLabel::qt_metacast(_clname); +} + +int NLabel::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QLabel::qt_metacall(_c, _id, _a); + return _id; +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/src/cpp/QtWidgets/QLabel/qlabel_wrap.cpp b/src/cpp/QtWidgets/QLabel/qlabel_wrap.cpp index a8a6ae74a..e072d5f26 100644 --- a/src/cpp/QtWidgets/QLabel/qlabel_wrap.cpp +++ b/src/cpp/QtWidgets/QLabel/qlabel_wrap.cpp @@ -19,7 +19,7 @@ Napi::Object QLabelWrap::init(Napi::Env env, Napi::Object exports) { return exports; } -QLabel* QLabelWrap::getInternalInstance() { +NLabel* QLabelWrap::getInternalInstance() { return this->instance; } @@ -31,12 +31,12 @@ QLabelWrap::QLabelWrap(const Napi::CallbackInfo& info): Napi::ObjectWrap(); QWidgetWrap* w_parent = Napi::ObjectWrap::Unwrap(object_parent); - this->instance = new QLabel(w_parent->getInternalInstance()); //this sets the parent to current widget + this->instance = new NLabel(w_parent->getInternalInstance()); //this sets the parent to current widget }else{ extrautils::throwTypeError(env, "Wrong type of arguments"); } }else if (info.Length() == 0){ - this->instance = new QLabel(); + this->instance = new NLabel(); }else { extrautils::throwTypeError(env, "Wrong number of arguments"); } diff --git a/src/cpp/QtWidgets/QLabel/qlabel_wrap.h b/src/cpp/QtWidgets/QLabel/qlabel_wrap.h index 93a33fd98..e34ee9ec5 100644 --- a/src/cpp/QtWidgets/QLabel/qlabel_wrap.h +++ b/src/cpp/QtWidgets/QLabel/qlabel_wrap.h @@ -1,17 +1,17 @@ #ifndef QLABEL_WRAP_H #define QLABEL_WRAP_H #include -#include +#include "nlabel.h" #include "src/cpp/QtGui/QWidget/qwidget_macro.h" class QLabelWrap : public Napi::ObjectWrap{ private: - QLabel* instance; + NLabel* instance; public: static Napi::Object init(Napi::Env env, Napi::Object exports); QLabelWrap(const Napi::CallbackInfo& info); ~QLabelWrap(); - QLabel* getInternalInstance(); + NLabel* getInternalInstance(); //class constructor static Napi::FunctionReference constructor; //wrapped methods