diff --git a/binding.gyp b/binding.gyp index ed9bd2c2f..04463659d 100644 --- a/binding.gyp +++ b/binding.gyp @@ -1,8 +1,14 @@ { "includes": [ - './config/deps.gypi', "./config/application.gypi", + "./config/common.gypi", + "./config/qt.gypi", + "./config/deps.gypi", "./config/moc.gypi", ], - "targets": [] + "targets": [{ + "target_name": "qtnode", + # 'type': 'shared_library', + 'include_dirs': ['.'] + }] } diff --git a/config/application.gypi b/config/application.gypi index e819f124a..bc81fc510 100644 --- a/config/application.gypi +++ b/config/application.gypi @@ -1,36 +1,29 @@ { - "includes": [ - "./common.gypi" - ], - "targets": [ - { - "target_name": "qtnode", - 'include_dirs': ['<(module_root_dir)'], - "sources": [ - "../src/cpp/main.cpp", - # non-wrapped cpps - "../src/cpp/Extras/Utils/nutils.cpp", - "../src/cpp/core/FlexLayout/flexlayout.cpp", - "../src/cpp/core/FlexLayout/flexitem.cpp", - "../src/cpp/core/YogaWidget/nodestyle.cpp", - "../src/cpp/core/Events/eventsmap.cpp", - "../src/cpp/core/Events/eventwidget.cpp", - "../src/cpp/core/YogaWidget/yogawidget.cpp", - # wrapped cpps - "../src/cpp/QtGui/QApplication/qapplication_wrap.cpp", - "../src/cpp/QtGui/QWidget/qwidget_wrap.cpp", - "../src/cpp/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.cpp", - '../src/cpp/core/FlexLayout/flexlayout_wrap.cpp', - "../src/cpp/QtWidgets/QGridLayout/qgridlayout_wrap.cpp", - "../src/cpp/QtWidgets/QLabel/qlabel_wrap.cpp", - "../src/cpp/QtWidgets/QLayout/qlayout_wrap.cpp", - "../src/cpp/QtWidgets/QMainWindow/qmainwindow_wrap.cpp", - "../src/cpp/QtWidgets/QPushButton/qpushbutton_wrap.cpp", - "../src/cpp/QtWidgets/QCheckBox/qcheckbox_wrap.cpp", - "../src/cpp/QtWidgets/QProgressBar/qprogressbar_wrap.cpp", - "../src/cpp/QtWidgets/QRadioButton/qradiobutton_wrap.cpp", - "../src/cpp/QtWidgets/QLineEdit/qlineedit_wrap.cpp", - ], - } - ] + "target_defaults": { + "sources": [ + "../src/cpp/main.cpp", + # non-wrapped cpps + "../src/cpp/Extras/Utils/nutils.cpp", + "../src/cpp/core/FlexLayout/flexlayout.cpp", + "../src/cpp/core/FlexLayout/flexitem.cpp", + "../src/cpp/core/YogaWidget/nodestyle.cpp", + "../src/cpp/core/Events/eventsmap.cpp", + "../src/cpp/core/Events/eventwidget.cpp", + "../src/cpp/core/YogaWidget/yogawidget.cpp", + # wrapped cpps + "../src/cpp/QtGui/QApplication/qapplication_wrap.cpp", + "../src/cpp/QtGui/QWidget/qwidget_wrap.cpp", + "../src/cpp/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.cpp", + '../src/cpp/core/FlexLayout/flexlayout_wrap.cpp', + "../src/cpp/QtWidgets/QGridLayout/qgridlayout_wrap.cpp", + "../src/cpp/QtWidgets/QLabel/qlabel_wrap.cpp", + "../src/cpp/QtWidgets/QLayout/qlayout_wrap.cpp", + "../src/cpp/QtWidgets/QMainWindow/qmainwindow_wrap.cpp", + "../src/cpp/QtWidgets/QPushButton/qpushbutton_wrap.cpp", + "../src/cpp/QtWidgets/QCheckBox/qcheckbox_wrap.cpp", + "../src/cpp/QtWidgets/QProgressBar/qprogressbar_wrap.cpp", + "../src/cpp/QtWidgets/QRadioButton/qradiobutton_wrap.cpp", + "../src/cpp/QtWidgets/QLineEdit/qlineedit_wrap.cpp", + ], + } } diff --git a/config/common.gypi b/config/common.gypi index 6470e9e0c..78650011f 100644 --- a/config/common.gypi +++ b/config/common.gypi @@ -1,9 +1,4 @@ { - 'includes': [], - 'type': 'shared_library', - 'variables': { - 'qt_home_dir%': " { // JUSTIFY CONTENT: SPACE-EVENLY, SPACE-AROUND // ALIGNSELF: STRETCH -const testFlexLayout = () => { +const example1 = () => { // rootView -> view1 -> label1 // -> label2 // -> view2 -> button @@ -138,5 +138,49 @@ const testFlexLayout = () => { return win; }; +const example2 = ()=>{ + const win = new QMainWindow(); + win.setStyleSheet(` + #root { + background-color: grey; + qproperty-qWidth: '100%'; + qproperty-qHeight: '100%'; + qproperty-alignItems: 'center'; + qproperty-justifyContent: 'center'; + qproperty-flexDirection: 'row'; + qproperty-flex: 1; + } + #view1 { + background-color: green; + qproperty-flex: 1; + qproperty-qHeight: '100%'; + } + #view2 { + background-color: orange; + qproperty-flex: 1; + qproperty-qHeight: '100%'; + } + + `); + const rootView = new QWidget(); + rootView.setObjectName("root"); + const rootLayout = new FlexLayout(); + rootLayout.setFlexNode(rootView.getFlexNode()); + rootView.setLayout(rootLayout); + //-------------------------------------- + const view1 = new QWidget(); + view1.setObjectName("view1"); + //-------------------------------------- + const view2 = new QWidget(); + view2.setObjectName("view2"); + //-------------------------------------- + rootLayout.addWidget(view1); + rootLayout.addWidget(view2); + win.setCentralWidget(rootView); + win.show(); + return win; +} + // (global as any).win1 = testGridLayout(); //to keep gc from collecting -(global as any).win2 = testFlexLayout(); //to keep gc from collecting +// (global as any).ex1 = example1(); //to keep gc from collecting +(global as any).ex2 = example2(); //to keep gc from collecting