Compare commits

..

No commits in common. "master" and "v0.45.2" have entirely different histories.

338 changed files with 7130 additions and 17545 deletions

View File

@ -7,20 +7,17 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-20.04] os: [ubuntu-18.04]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-node@v2 - uses: actions/setup-node@v2
with: with:
node-version: '16.x' node-version: '16.x'
- name: Install ubuntu deps
if: contains(matrix.os, 'ubuntu-20.04')
run: sudo apt install mesa-common-dev libglu1-mesa-dev libegl1 libopengl-dev
- name: Install deps - name: Install deps
run: npm install run: yarn install --ignore-scripts
- name: Build nodegui - name: Build nodegui
run: npm run build run: npx tsc
- name: Archive using npm pack - name: Archive using npm pack
run: npm --no-git-tag-version version 0.0.0-latest-master && npm pack run: npm --no-git-tag-version version 0.0.0-latest-master && npm pack
- uses: actions/upload-artifact@v1 - uses: actions/upload-artifact@v1
@ -35,9 +32,9 @@ jobs:
body: > body: >
Latest auto release corresponding to commit ${{github.sha}} 🔥. Latest auto release corresponding to commit ${{github.sha}} 🔥.
To install do: To install do:
`npm install https://github.com/nodegui/nodegui/releases/download/v0.0.0-latest-master/nodegui-master.tgz` `yarn install https://github.com/nodegui/nodegui/releases/download/v0.0.0-latest-master/nodegui-master.tgz`
or or
`npm install http://master-release.nodegui.org` `yarn install http://master-release.nodegui.org`
assets: > assets: >
nodegui-nodegui-0.0.0-latest-master.tgz:nodegui-master.tgz:application/tar+gzip nodegui-nodegui-0.0.0-latest-master.tgz:nodegui-master.tgz:application/tar+gzip
recreate: true recreate: true

View File

@ -10,7 +10,7 @@ jobs:
strategy: strategy:
matrix: matrix:
include: include:
- os: ubuntu-20.04 - os: ubuntu-18.04
platform: linux platform: linux
arch: x64 arch: x64
- os: windows-latest - os: windows-latest
@ -30,8 +30,8 @@ jobs:
node-version: '16.x' node-version: '16.x'
- name: Install ubuntu deps - name: Install ubuntu deps
if: contains(matrix.os, 'ubuntu-20.04') if: contains(matrix.os, 'ubuntu-18.04')
run: sudo apt install mesa-common-dev libglu1-mesa-dev libegl1 libopengl-dev run: sudo apt install mesa-common-dev libglu1-mesa-dev
- name: Install deps - name: Install deps
run: npm install run: npm install
@ -55,7 +55,7 @@ jobs:
- name: Compress files (Windows) - name: Compress files (Windows)
if: contains(matrix.os, 'windows-latest') if: contains(matrix.os, 'windows-latest')
uses: a7ul/tar-action@v1.0.2 uses: a7ul/tar-action@v1.0.2
id: compress-windows id: compress
with: with:
command: c command: c
cwd: ./build/Release cwd: ./build/Release

View File

@ -6,7 +6,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-20.04, windows-latest, macos-latest] os: [ubuntu-18.04, windows-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -14,8 +14,8 @@ jobs:
with: with:
node-version: '16.x' node-version: '16.x'
- name: Install ubuntu deps - name: Install ubuntu deps
if: contains(matrix.os, 'ubuntu-20.04') if: contains(matrix.os, 'ubuntu')
run: sudo apt install mesa-common-dev libglu1-mesa-dev libegl1 libopengl-dev run: sudo apt install mesa-common-dev libglu1-mesa-dev
- name: Install deps - name: Install deps
run: npm install run: npm install
- name: Build nodegui - name: Build nodegui

View File

@ -11,7 +11,6 @@ set(CORE_WIDGETS_ADDON "nodegui_core")
project(${CORE_WIDGETS_ADDON}) project(${CORE_WIDGETS_ADDON})
set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
# Note: CMake+moc also use this list when finding files which `moc` applied. # Note: CMake+moc also use this list when finding files which `moc` applied.
@ -52,18 +51,14 @@ add_library(${CORE_WIDGETS_ADDON} SHARED
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QDrag/qdrag_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QDrag/qdrag_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QMouseEvent/qmouseevent_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QMouseEvent/qmouseevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QMoveEvent/qmoveevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QWheelEvent/qwheelevent_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QWheelEvent/qwheelevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QNativeGestureEvent/qnativegestureevent_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QNativeGestureEvent/qnativegestureevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QPaintEvent/qpaintevent_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QPaintEvent/qpaintevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QTabletEvent/qtabletevent_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QTabletEvent/qtabletevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QTimerEvent/qtimerevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QDropEvent/qdropevent_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QDropEvent/qdropevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QDragMoveEvent/qdragmoveevent_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QDragMoveEvent/qdragmoveevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QDragLeaveEvent/qdragleaveevent_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QDragLeaveEvent/qdragleaveevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QResizeEvent/qresizeevent_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QResizeEvent/qresizeevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QInputMethodEvent/qinputmethodevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QEvent/QInputMethodQueryEvent/qinputmethodqueryevent_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QFontDatabase/qfontdatabase_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QFontDatabase/qfontdatabase_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QFontMetrics/qfontmetrics_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QFontMetrics/qfontmetrics_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QFontMetricsF/qfontmetricsf_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QFontMetricsF/qfontmetricsf_wrap.cpp"
@ -162,7 +157,6 @@ add_library(${CORE_WIDGETS_ADDON} SHARED
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtWidgets/QSvgWidget/qsvgwidget_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtWidgets/QSvgWidget/qsvgwidget_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtWidgets/QStyleFactory/qstylefactory_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtWidgets/QStyleFactory/qstylefactory_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtWidgets/QSplitter/qsplitter_wrap.cpp" "${PROJECT_SOURCE_DIR}/src/cpp/lib/QtWidgets/QSplitter/qsplitter_wrap.cpp"
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtWidgets/QAbstractItemDelegate/qabstractitemdelegate_wrap.cpp"
# Custom widgets (include them for automoc since they contain Q_OBJECT) # Custom widgets (include them for automoc since they contain Q_OBJECT)
"${PROJECT_SOURCE_DIR}/src/cpp/include/nodegui/QtCore/QAbstractItemModel/nabstractitemmodel.hpp" "${PROJECT_SOURCE_DIR}/src/cpp/include/nodegui/QtCore/QAbstractItemModel/nabstractitemmodel.hpp"
"${PROJECT_SOURCE_DIR}/src/cpp/include/nodegui/QtCore/QItemSelectionModel/nitemselectionmodel.hpp" "${PROJECT_SOURCE_DIR}/src/cpp/include/nodegui/QtCore/QItemSelectionModel/nitemselectionmodel.hpp"
@ -257,9 +251,10 @@ if (WIN32)
ENABLE_DLL_EXPORT=1 ENABLE_DLL_EXPORT=1
) )
target_compile_options(${CORE_WIDGETS_ADDON} PRIVATE "/MP") target_compile_options(${CORE_WIDGETS_ADDON} PRIVATE "/MP")
endif() endif()
if (UNIX AND NOT APPLE) if (LINUX)
# Set the RPATH in the binary to a relative one to allow it to find our Qt # Set the RPATH in the binary to a relative one to allow it to find our Qt
# libraries regardless of where the base installation directory is. # libraries regardless of where the base installation directory is.
file(RELATIVE_PATH QT_LIBRARY_REL_PATH "${CMAKE_BINARY_DIR}/Release" "${QT_CMAKE_HOME_DIR}/../..") file(RELATIVE_PATH QT_LIBRARY_REL_PATH "${CMAKE_BINARY_DIR}/Release" "${QT_CMAKE_HOME_DIR}/../..")
@ -268,16 +263,16 @@ if (UNIX AND NOT APPLE)
endif() endif()
if (APPLE) if (APPLE)
set(CMAKE_MACOSX_RPATH ON)
file(RELATIVE_PATH QT_LIBRARY_REL_PATH "${CMAKE_BINARY_DIR}/Release" "${QT_CMAKE_HOME_DIR}/../..") file(RELATIVE_PATH QT_LIBRARY_REL_PATH "${CMAKE_BINARY_DIR}/Release" "${QT_CMAKE_HOME_DIR}/../..")
set_target_properties(${CORE_WIDGETS_ADDON} PROPERTIES INSTALL_RPATH "@loader_path/${QT_LIBRARY_REL_PATH}") set_target_properties(${CORE_WIDGETS_ADDON} PROPERTIES INSTALL_RPATH "@loader_path/${QT_LIBRARY_REL_PATH}")
set_target_properties(${CORE_WIDGETS_ADDON} PROPERTIES SKIP_BUILD_RPATH FALSE)
set_target_properties(${CORE_WIDGETS_ADDON} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
endif() endif()
target_link_libraries(${CORE_WIDGETS_ADDON} PRIVATE target_link_libraries(${CORE_WIDGETS_ADDON} PRIVATE
"${CMAKE_JS_LIB}" "${CMAKE_JS_LIB}"
Qt6::Widgets Qt5::Widgets
Qt6::Core Qt5::Core
Qt6::Gui Qt5::Gui
Qt6::Svg Qt5::Svg
Qt6::SvgWidgets
) )

View File

@ -7,7 +7,7 @@
Build **performant**, **native** and **cross-platform** desktop applications with **Node.js** and **CSS like styling**.🚀 Build **performant**, **native** and **cross-platform** desktop applications with **Node.js** and **CSS like styling**.🚀
NodeGUI is powered by **Qt6** 💚 which makes it CPU and memory efficient as compared to other chromium based solutions like Electron. NodeGUI is powered by **Qt5** 💚 which makes it CPU and memory efficient as compared to other chromium based solutions like Electron.
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/React-icon.svg/1024px-React-icon.svg.png" alt="" width="25"> If you are looking for **React** based version, check out: **[React NodeGUI](https://github.com/nodegui/react-nodegui)**. <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/React-icon.svg/1024px-React-icon.svg.png" alt="" width="25"> If you are looking for **React** based version, check out: **[React NodeGUI](https://github.com/nodegui/react-nodegui)**.

View File

@ -17,9 +17,9 @@ macro(AddQtSupport addonName)
string(REPLACE "\n" "" QT_CMAKE_HOME_DIR "${QT_CMAKE_HOME_DIR}") string(REPLACE "\n" "" QT_CMAKE_HOME_DIR "${QT_CMAKE_HOME_DIR}")
string(REPLACE "\"" "" QT_CMAKE_HOME_DIR "${QT_CMAKE_HOME_DIR}") string(REPLACE "\"" "" QT_CMAKE_HOME_DIR "${QT_CMAKE_HOME_DIR}")
message(STATUS "Using Qt installation for ${addonName} QT_CMAKE_HOME_DIR:${QT_CMAKE_HOME_DIR}") message(STATUS "Using QT installation for ${addonName} QT_CMAKE_HOME_DIR:${QT_CMAKE_HOME_DIR}")
list(APPEND CMAKE_PREFIX_PATH "${QT_CMAKE_HOME_DIR}/../../..") set(Qt5_DIR ${QT_CMAKE_HOME_DIR})
find_package(Qt6 REQUIRED COMPONENTS Widgets Gui Core Svg SvgWidgets) find_package(Qt5 COMPONENTS Widgets Gui Core Svg REQUIRED)
endmacro(AddQtSupport addonName) endmacro(AddQtSupport addonName)

View File

@ -3,7 +3,7 @@ const path = require('path');
const fs = require('fs'); const fs = require('fs');
const SETUP_DIR = path.resolve(__dirname, '..', 'miniqt'); const SETUP_DIR = path.resolve(__dirname, '..', 'miniqt');
const QT_VERSION = '6.4.1'; const QT_VERSION = '5.14.1';
const MIRROR = Boolean(process.env.QT_LINK_MIRROR) ? process.env.QT_LINK_MIRROR : 'https://download.qt.io'; const MIRROR = Boolean(process.env.QT_LINK_MIRROR) ? process.env.QT_LINK_MIRROR : 'https://download.qt.io';
const checkIfExists = (fullPath) => { const checkIfExists = (fullPath) => {
@ -13,46 +13,60 @@ const checkIfExists = (fullPath) => {
function getMiniQtConfig() { function getMiniQtConfig() {
switch (os.platform()) { switch (os.platform()) {
case 'darwin': { case 'darwin': {
const qtHome = path.resolve(SETUP_DIR, QT_VERSION, 'macos'); if (os.arch() === 'arm64') {
return { const qtHome = path.resolve(SETUP_DIR, 'Qt-5.15.3');
qtHome, return {
artifacts: [ qtHome,
{ artifacts: [
name: 'Qt Base', {
link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/6.4.1-0-202211101256qtbase-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z`, name: 'Mini Qt Bundle',
skipSetup: checkIfExists(path.resolve(qtHome, 'plugins', 'platforms', 'libqcocoa.dylib')), link: `https://github.com/nodegui/nodegui/releases/download/miniQtm1-5153/Qt-5.15.3.zip`,
}, skipSetup: checkIfExists(path.resolve(qtHome, 'plugins', 'platforms', 'libqcocoa.dylib')),
{ },
name: 'Qt Svg', ],
link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/6.4.1-0-202211101256qtsvg-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z`, };
skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'QtSvg.framework', 'QtSvg')), } else {
}, const qtHome = path.resolve(SETUP_DIR, QT_VERSION, 'clang_64');
{ return {
name: 'Qt Tools', qtHome,
link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/6.4.1-0-202211101256qttools-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z`, artifacts: [
skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'macdeployqt')), {
}, name: 'Qt Base',
], link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt5_5141/qt.qt5.5141.clang_64/5.14.1-0-202001241000qtbase-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z`,
}; skipSetup: checkIfExists(path.resolve(qtHome, 'plugins', 'platforms', 'libqcocoa.dylib')),
},
{
name: 'Qt Svg',
link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt5_5141/qt.qt5.5141.clang_64/5.14.1-0-202001241000qtsvg-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'QtSvg.framework', 'QtSvg')),
},
{
name: 'Qt Tools',
link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt5_5141/qt.qt5.5141.clang_64/5.14.1-0-202001241000qttools-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'macdeployqt')),
},
],
};
}
} }
case 'win32': { case 'win32': {
const qtHome = path.resolve(SETUP_DIR, QT_VERSION, 'msvc2019_64'); const qtHome = path.resolve(SETUP_DIR, QT_VERSION, 'msvc2017_64');
return { return {
qtHome, qtHome,
artifacts: [ artifacts: [
{ {
name: 'Qt Base', name: 'Qt Base',
link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt6_641/qt.qt6.641.win64_msvc2019_64/6.4.1-0-202211101254qtbase-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z`, link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt5_5141/qt.qt5.5141.win64_msvc2017_64/5.14.1-0-202001240957qtbase-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86_64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'Qt6Core.dll')), skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'Qt5Core.dll')),
}, },
{ {
name: 'Qt SVG', name: 'Qt SVG',
link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt6_641/qt.qt6.641.win64_msvc2019_64/6.4.1-0-202211101254qtsvg-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z`, link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt5_5141/qt.qt5.5141.win64_msvc2017_64/5.14.1-0-202001240957qtsvg-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86_64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'Qt6Svg.dll')), skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'Qt5Svg.dll')),
}, },
{ {
name: 'Qt Tools', name: 'Qt Tools',
link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt6_641/qt.qt6.641.win64_msvc2019_64/6.4.1-0-202211101254qttools-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z`, link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt5_5141/qt.qt5.5141.win64_msvc2017_64/5.14.1-0-202001240957qttools-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86_64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'windeployqt.exe')), skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'windeployqt.exe')),
}, },
], ],
@ -65,17 +79,17 @@ function getMiniQtConfig() {
artifacts: [ artifacts: [
{ {
name: 'Qt Base', name: 'Qt Base',
link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt6_641/qt.qt6.641.gcc_64/6.4.1-0-202211101305qtbase-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z`, link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt5_5141/qt.qt5.5141.gcc_64/5.14.1-0-202001240953qtbase-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'moc')), skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'moc')),
}, },
{ {
name: 'Qt SVG', name: 'Qt SVG',
link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt6_641/qt.qt6.641.gcc_64/6.4.1-0-202211101305qtsvg-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z`, link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt5_5141/qt.qt5.5141.gcc_64/5.14.1-0-202001240953qtsvg-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'libQt6Svg.so')), skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'libQt5Svg.so')),
}, },
{ {
name: 'Qt ICU', name: 'Qt ICU',
link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt6_641/qt.qt6.641.gcc_64/6.4.1-0-202211101305icu-linux-Rhel7.2-x64.7z`, link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt5_5141/qt.qt5.5141.gcc_64/5.14.1-0-202001240953icu-linux-Rhel7.2-x64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'libicuuc.so')), skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'libicuuc.so')),
}, },
], ],
@ -92,7 +106,7 @@ const miniQt = {
const useCustomQt = Boolean(process.env.QT_INSTALL_DIR); const useCustomQt = Boolean(process.env.QT_INSTALL_DIR);
const qtHome = useCustomQt ? process.env.QT_INSTALL_DIR : miniQt.qtHome; const qtHome = useCustomQt ? process.env.QT_INSTALL_DIR : miniQt.qtHome;
const qtCmakeDir = path.resolve(qtHome, 'lib', 'cmake', 'Qt6'); const qtCmakeDir = path.resolve(qtHome, 'lib', 'cmake', 'Qt5');
module.exports = { module.exports = {
qtHome, qtHome,

10483
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "@nodegui/nodegui", "name": "@nodegui/nodegui",
"version": "0.59.0", "version": "0.45.2",
"description": "A cross-platform library to build native desktop apps.", "description": "A cross-platform library to build native desktop apps.",
"main": "dist/index.js", "main": "dist/index.js",
"typings": "dist/index.d.ts", "typings": "dist/index.d.ts",
@ -14,19 +14,18 @@
"url": "https://github.com/sponsors/a7ul" "url": "https://github.com/sponsors/a7ul"
}, },
"scripts": { "scripts": {
"dev": "npm run build && node ./scripts/qode.js dist/demo.js", "dev": "cross-env npm run build && node ./scripts/qode.js dist/demo.js",
"demo": "node ./scripts/qode.js dist/demo.js", "build": "cross-env tsc && npm run build:addon",
"build": "tsc && npm run build:addon", "install": "cross-env npm run setupqt && (node ./scripts/skip.js || npm run setupbinary || npm run build:addon)",
"install": "npm run setupqt && (node ./scripts/skip.js || npm run setupbinary || npm run build:addon)", "setupqt": "cross-env node ./scripts/setupMiniQt.js",
"setupqt": "node ./scripts/setupMiniQt.js", "setupbinary": "cross-env node ./scripts/setupBinary.js",
"setupbinary": "node ./scripts/setupBinary.js",
"build:addon": "cross-env CMAKE_BUILD_PARALLEL_LEVEL=8 cmake-js compile", "build:addon": "cross-env CMAKE_BUILD_PARALLEL_LEVEL=8 cmake-js compile",
"test": "node ./scripts/qode.js ./node_modules/jest/bin/jest -i", "test": "node ./scripts/qode.js ./node_modules/jest/bin/jest -i",
"lint:cpp": "clang-format -i --glob=src/cpp/**/*.[h,c]*", "lint:cpp": "cross-env clang-format -i --glob=src/cpp/**/*.[h,c]*",
"lint:ts": "tsc --noEmit && eslint ./src --fix", "lint:ts": "cross-env tsc --noEmit && cross-env eslint './src/**/*.{ts,tsx,js,jsx}' --fix",
"docs": "typedoc && node ./website/docs/scripts/fixdocs.js", "docs": "cross-env typedoc && node ./website/docs/scripts/fixdocs.js",
"qode": "node ./scripts/qode.js", "qode": "cross-env node ./scripts/qode.js",
"prepublishOnly": "npm run build" "prepublishOnly": "cross-env npm run build"
}, },
"engines": { "engines": {
"node": ">=14.x.x" "node": ">=14.x.x"
@ -34,7 +33,7 @@
"engineStrict": false, "engineStrict": false,
"dependencies": { "dependencies": {
"@nodegui/artifact-installer": "^1.1.0", "@nodegui/artifact-installer": "^1.1.0",
"@nodegui/qode": "^18.12.1", "@nodegui/qode": "^16.4.0",
"cmake-js": "^6.2.1", "cmake-js": "^6.2.1",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"cuid": "^2.1.8", "cuid": "^2.1.8",
@ -47,20 +46,20 @@
}, },
"devDependencies": { "devDependencies": {
"@types/bindings": "^1.5.1", "@types/bindings": "^1.5.1",
"@types/jest": "29.2.4", "@types/jest": "^26.0.24",
"@types/node": "^16.4.13", "@types/node": "^16.4.13",
"@typescript-eslint/eslint-plugin": "^4.29.0", "@typescript-eslint/eslint-plugin": "^4.29.0",
"@typescript-eslint/parser": "^4.29.0", "@typescript-eslint/parser": "^4.29.0",
"clang-format": "^1.5.0", "clang-format": "^1.5.0",
"typedoc": "^0.17.8",
"typedoc-plugin-markdown": "^2.4.2",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0", "eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.0", "eslint-plugin-prettier": "^3.4.0",
"husky": "^7.0.1", "husky": "^7.0.1",
"jest": "29.3.1", "jest": "^27.0.6",
"prettier": "^2.3.2", "prettier": "^2.3.2",
"ts-jest": "29.0.3", "ts-jest": "^27.0.4",
"typedoc": "^0.17.8",
"typedoc-plugin-markdown": "^2.4.2",
"typescript": "^4.3.5" "typescript": "^4.3.5"
}, },
"binary": { "binary": {

View File

@ -1,6 +1,5 @@
#!/usr/bin/env node #!/usr/bin/env node
var os = require('os');
var path = require('path'); var path = require('path');
var qodeConfig = require('@nodegui/qode'); var qodeConfig = require('@nodegui/qode');
var managePath = require('manage-path'); var managePath = require('manage-path');
@ -12,12 +11,6 @@ var proc = require('child_process');
var alterPath = managePath(process.env); var alterPath = managePath(process.env);
alterPath.unshift(path.join(qtConfig.qtHome, 'bin')); alterPath.unshift(path.join(qtConfig.qtHome, 'bin'));
// Add Qt's lib to LD_LIBRARY_PATH so linux can find the libs when bundled with webpack
if(os.platform == 'linux') {
var oldLD_PATH = process.env.LD_LIBRARY_PATH ?? "";
process.env.LD_LIBRARY_PATH = oldLD_PATH + ":" + path.join(qtConfig.qtHome, 'lib');
}
var child = proc.spawn(qodeConfig.qodePath, process.argv.slice(2), { var child = proc.spawn(qodeConfig.qodePath, process.argv.slice(2), {
stdio: 'inherit', stdio: 'inherit',
windowsHide: false, windowsHide: false,

View File

@ -13,7 +13,8 @@ namespace extrautils {
DLL_EXPORT QVariant* convertToQVariant(Napi::Env& env, Napi::Value& value); DLL_EXPORT QVariant* convertToQVariant(Napi::Env& env, Napi::Value& value);
DLL_EXPORT bool isNapiValueInt(Napi::Env& env, Napi::Value& num); DLL_EXPORT bool isNapiValueInt(Napi::Env& env, Napi::Value& num);
DLL_EXPORT std::string getNapiObjectClassName(Napi::Object& object); DLL_EXPORT std::string getNapiObjectClassName(Napi::Object& object);
DLL_EXPORT void* configureQWidget(QWidget* widget, bool isLeafNode = false); DLL_EXPORT void* configureQWidget(QWidget* widget, YGNodeRef node,
bool isLeafNode = false);
DLL_EXPORT void* configureQObject(QObject* object); DLL_EXPORT void* configureQObject(QObject* object);
DLL_EXPORT void* configureComponent(void* component); DLL_EXPORT void* configureComponent(void* component);
DLL_EXPORT uint64_t hashPointerTo53bit(const void* input); DLL_EXPORT uint64_t hashPointerTo53bit(const void* input);

View File

@ -35,8 +35,6 @@ class DLL_EXPORT NAbstractItemModel : public QAbstractItemModel,
return *newIndex; return *newIndex;
} }
QObject* parent() const { return nullptr; }
QModelIndex parent(const QModelIndex& child) const override { QModelIndex parent(const QModelIndex& child) const override {
Napi::Env env = this->dispatchOnNode.Env(); Napi::Env env = this->dispatchOnNode.Env();
Napi::HandleScope scope(env); Napi::HandleScope scope(env);

View File

@ -14,6 +14,7 @@ class DLL_EXPORT QItemSelectionModelWrap
private: private:
QPointer<QItemSelectionModel> instance; QPointer<QItemSelectionModel> instance;
bool disableDeletion;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);

View File

@ -5,13 +5,13 @@
#include <QMimeData> #include <QMimeData>
#include "Extras/Export/export.h" #include "Extras/Export/export.h"
#include "QtCore/QObject/qobject_macro.h" #include "core/Component/component_macro.h"
class DLL_EXPORT QMimeDataWrap : public Napi::ObjectWrap<QMimeDataWrap> { class DLL_EXPORT QMimeDataWrap : public Napi::ObjectWrap<QMimeDataWrap> {
QOBJECT_WRAPPED_METHODS_DECLARATION COMPONENT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QMimeData> instance; std::unique_ptr<QMimeData> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);

View File

@ -5,12 +5,11 @@
#include "Extras/Utils/nutils.h" #include "Extras/Utils/nutils.h"
#include "QtCore/QVariant/qvariant_wrap.h" #include "QtCore/QVariant/qvariant_wrap.h"
#include "core/Events/eventwidget_macro.h" #include "core/Events/eventwidget_macro.h"
#include "core/WrapperCache/wrappercache.h"
/* /*
This macro adds common QObject exported methods
The exported methods are taken into this macro to avoid writing them in each This macro adds common QObject exported methods
and every widget we export. The exported methods are taken into this macro to avoid writing them in each
and every widget we export.
*/ */
#ifndef QOBJECT_WRAPPED_METHODS_DECLARATION_WITH_EVENT_SOURCE #ifndef QOBJECT_WRAPPED_METHODS_DECLARATION_WITH_EVENT_SOURCE
@ -21,8 +20,7 @@
Napi::Value __id__(const Napi::CallbackInfo& info) { \ Napi::Value __id__(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
return Napi::Value::From( \ return Napi::Value::From( \
env, extrautils::hashPointerTo53bit( \ env, extrautils::hashPointerTo53bit(this->instance.data())); \
static_cast<QObject*>(this->instance.data()))); \
} \ } \
Napi::Value inherits(const Napi::CallbackInfo& info) { \ Napi::Value inherits(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
@ -76,49 +74,6 @@
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
return Napi::External<QObject>::New( \ return Napi::External<QObject>::New( \
env, static_cast<QObject*>(this->instance)); \ env, static_cast<QObject*>(this->instance)); \
} \
Napi::Value startTimer(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int interval = info[0].As<Napi::Number>().Int32Value(); \
Qt::TimerType timerType = \
static_cast<Qt::TimerType>(info[1].As<Napi::Number>().Int32Value()); \
int result = this->instance->startTimer(interval, timerType); \
return Napi::Value::From(env, result); \
} \
Napi::Value killTimer(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int id = info[0].As<Napi::Number>().Int32Value(); \
this->instance->killTimer(id); \
return env.Null(); \
} \
Napi::Value parent(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QObject* parent = this->instance->parent(); \
if (parent) { \
return WrapperCache::instance.getWrapper(env, parent); \
} else { \
return env.Null(); \
} \
} \
Napi::Value deleteLater(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
this->instance->deleteLater(); \
return env.Null(); \
} \
Napi::Value deleteObject(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
delete static_cast<QObject*>(this->instance); \
return env.Null(); \
} \
Napi::Value children(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QObjectList children = this->instance->children(); \
Napi::Array resultArrayNapi = Napi::Array::New(env, children.size()); \
for (int i = 0; i < children.size(); i++) { \
resultArrayNapi[i] = \
WrapperCache::instance.getWrapper(env, children[i]); \
} \
return resultArrayNapi; \
} }
// Ideally this macro below should go in // Ideally this macro below should go in
@ -160,13 +115,7 @@
InstanceMethod("objectName", &ComponentWrapName::objectName), \ InstanceMethod("objectName", &ComponentWrapName::objectName), \
InstanceMethod("dumpObjectTree", &ComponentWrapName::dumpObjectTree), \ InstanceMethod("dumpObjectTree", &ComponentWrapName::dumpObjectTree), \
InstanceMethod("dumpObjectInfo", &ComponentWrapName::dumpObjectInfo), \ InstanceMethod("dumpObjectInfo", &ComponentWrapName::dumpObjectInfo), \
InstanceMethod("setParent", &ComponentWrapName::setParent), \ InstanceMethod("setParent", &ComponentWrapName::setParent),
InstanceMethod("startTimer", &ComponentWrapName::startTimer), \
InstanceMethod("killTimer", &ComponentWrapName::killTimer), \
InstanceMethod("parent", &ComponentWrapName::parent), \
InstanceMethod("deleteLater", &ComponentWrapName::deleteLater), \
InstanceMethod("delete", &ComponentWrapName::deleteObject), \
InstanceMethod("children", &ComponentWrapName::children),
#endif // QOBJECT_WRAPPED_METHODS_EXPORT_DEFINE #endif // QOBJECT_WRAPPED_METHODS_EXPORT_DEFINE
@ -186,22 +135,4 @@
#define QOBJECT_SIGNALS QOBJECT_SIGNALS_ON_TARGET(this) #define QOBJECT_SIGNALS QOBJECT_SIGNALS_ON_TARGET(this)
#endif // QOBJECT_SIGNALS #endif // QOBJECT_SIGNALS
/*
Macro to register a function to wrap QObject pointers of a
given subclass to wrapper instances. First parameter is the
plain name of the QObject subclass (no quotes), seconds is the
name of the wrapper class.
*/
#ifndef QOBJECT_REGISTER_WRAPPER
#define QOBJECT_REGISTER_WRAPPER(qobjectType, ComponentWrapName) \
WrapperCache::instance.registerWrapper( \
QString(#qobjectType), \
[](Napi::Env env, QObject* qobject) -> Napi::Object { \
qobjectType* exactQObject = dynamic_cast<qobjectType*>(qobject); \
Napi::Object wrapper = ComponentWrapName::constructor.New( \
{Napi::External<QObject>::New(env, exactQObject)}); \
return wrapper; \
});
#endif // QOBJECT_REGISTER_WRAPPER
#include "QtCore/QObject/qobject_wrap.h" #include "QtCore/QObject/qobject_wrap.h"

View File

@ -11,15 +11,14 @@
class DLL_EXPORT QObjectWrap : public Napi::ObjectWrap<QObjectWrap> { class DLL_EXPORT QObjectWrap : public Napi::ObjectWrap<QObjectWrap> {
QOBJECT_WRAPPED_METHODS_DECLARATION QOBJECT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QObject> instance; QPointer<NObject> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QObjectWrap(const Napi::CallbackInfo& info); QObjectWrap(const Napi::CallbackInfo& info);
~QObjectWrap(); ~QObjectWrap();
QObject* getInternalInstance(); NObject* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
static Napi::Object wrapFunc(Napi::Env env, QObject* qobject);
// wrapped methods // wrapped methods
}; };

View File

@ -19,18 +19,9 @@ class DLL_EXPORT QSizeWrap : public Napi::ObjectWrap<QSizeWrap> {
~QSizeWrap(); ~QSizeWrap();
QSize* getInternalInstance(); QSize* getInternalInstance();
// Wrapped methods // Wrapped methods
Napi::Value boundedTo(const Napi::CallbackInfo& info);
Napi::Value expandedTo(const Napi::CallbackInfo& info);
Napi::Value height(const Napi::CallbackInfo& info);
Napi::Value isEmpty(const Napi::CallbackInfo& info);
Napi::Value isNull(const Napi::CallbackInfo& info);
Napi::Value isValid(const Napi::CallbackInfo& info);
Napi::Value scale(const Napi::CallbackInfo& info);
Napi::Value scaled(const Napi::CallbackInfo& info);
Napi::Value setHeight(const Napi::CallbackInfo& info); Napi::Value setHeight(const Napi::CallbackInfo& info);
Napi::Value setWidth(const Napi::CallbackInfo& info); Napi::Value setWidth(const Napi::CallbackInfo& info);
Napi::Value transpose(const Napi::CallbackInfo& info); Napi::Value height(const Napi::CallbackInfo& info);
Napi::Value transposed(const Napi::CallbackInfo& info);
Napi::Value width(const Napi::CallbackInfo& info); Napi::Value width(const Napi::CallbackInfo& info);
}; };

View File

@ -19,19 +19,9 @@ class DLL_EXPORT QSizeFWrap : public Napi::ObjectWrap<QSizeFWrap> {
~QSizeFWrap(); ~QSizeFWrap();
QSizeF* getInternalInstance(); QSizeF* getInternalInstance();
// Wrapped methods // Wrapped methods
Napi::Value boundedTo(const Napi::CallbackInfo& info);
Napi::Value expandedTo(const Napi::CallbackInfo& info);
Napi::Value height(const Napi::CallbackInfo& info);
Napi::Value isEmpty(const Napi::CallbackInfo& info);
Napi::Value isNull(const Napi::CallbackInfo& info);
Napi::Value isValid(const Napi::CallbackInfo& info);
Napi::Value scale(const Napi::CallbackInfo& info);
Napi::Value scaled(const Napi::CallbackInfo& info);
Napi::Value setHeight(const Napi::CallbackInfo& info); Napi::Value setHeight(const Napi::CallbackInfo& info);
Napi::Value setWidth(const Napi::CallbackInfo& info); Napi::Value setWidth(const Napi::CallbackInfo& info);
Napi::Value toSize(const Napi::CallbackInfo& info); Napi::Value height(const Napi::CallbackInfo& info);
Napi::Value transpose(const Napi::CallbackInfo& info);
Napi::Value transposed(const Napi::CallbackInfo& info);
Napi::Value width(const Napi::CallbackInfo& info); Napi::Value width(const Napi::CallbackInfo& info);
}; };

View File

@ -18,14 +18,6 @@ class DLL_EXPORT NApplication : public QApplication, public EventWidget {
// Qt Connects: Implement all signal connects here // Qt Connects: Implement all signal connects here
QOBJECT_SIGNALS QOBJECT_SIGNALS
QObject::connect(
this, &QGuiApplication::applicationDisplayNameChanged, [=]() {
Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env);
this->emitOnNode.Call(
{Napi::String::New(env, "applicationDisplayNameChanged")});
});
QObject::connect( QObject::connect(
this, &QGuiApplication::focusWindowChanged, [=](QWindow* focusWindow) { this, &QGuiApplication::focusWindowChanged, [=](QWindow* focusWindow) {
Napi::Env env = this->emitOnNode.Env(); Napi::Env env = this->emitOnNode.Env();
@ -33,17 +25,12 @@ class DLL_EXPORT NApplication : public QApplication, public EventWidget {
this->emitOnNode.Call({Napi::String::New(env, "focusWindowChanged")}); this->emitOnNode.Call({Napi::String::New(env, "focusWindowChanged")});
}); });
QObject::connect(this, &QGuiApplication::lastWindowClosed, [=]() {
Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env);
this->emitOnNode.Call({Napi::String::New(env, "lastWindowClosed")});
});
QObject::connect( QObject::connect(
this, &QGuiApplication::primaryScreenChanged, [=](QScreen* screen) { this, &QGuiApplication::primaryScreenChanged, [=](QScreen* screen) {
Napi::Env env = this->emitOnNode.Env(); Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env); Napi::HandleScope scope(env);
auto instance = WrapperCache::instance.getWrapper(env, screen, true); auto instance =
WrapperCache::instance.get<QScreen, QScreenWrap>(env, screen);
this->emitOnNode.Call( this->emitOnNode.Call(
{Napi::String::New(env, "primaryScreenChanged"), instance}); {Napi::String::New(env, "primaryScreenChanged"), instance});
}); });
@ -51,7 +38,8 @@ class DLL_EXPORT NApplication : public QApplication, public EventWidget {
QObject::connect(this, &QGuiApplication::screenAdded, [=](QScreen* screen) { QObject::connect(this, &QGuiApplication::screenAdded, [=](QScreen* screen) {
Napi::Env env = this->emitOnNode.Env(); Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env); Napi::HandleScope scope(env);
auto instance = WrapperCache::instance.getWrapper(env, screen, true); auto instance =
WrapperCache::instance.get<QScreen, QScreenWrap>(env, screen);
this->emitOnNode.Call({Napi::String::New(env, "screenAdded"), instance}); this->emitOnNode.Call({Napi::String::New(env, "screenAdded"), instance});
}); });
@ -59,7 +47,8 @@ class DLL_EXPORT NApplication : public QApplication, public EventWidget {
this, &QGuiApplication::screenRemoved, [=](QScreen* screen) { this, &QGuiApplication::screenRemoved, [=](QScreen* screen) {
Napi::Env env = this->emitOnNode.Env(); Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env); Napi::HandleScope scope(env);
auto instance = WrapperCache::instance.getWrapper(env, screen, true); auto instance =
WrapperCache::instance.get<QScreen, QScreenWrap>(env, screen);
this->emitOnNode.Call( this->emitOnNode.Call(
{Napi::String::New(env, "screenRemoved"), instance}); {Napi::String::New(env, "screenRemoved"), instance});
}); });

View File

@ -22,13 +22,13 @@ class DLL_EXPORT QDragWrap : public Napi::ObjectWrap<QDragWrap> {
// except that it is automatically cleared when the referenced object is // except that it is automatically cleared when the referenced object is
// destroyed (unlike normal C++ pointers, which become "dangling pointers" in // destroyed (unlike normal C++ pointers, which become "dangling pointers" in
// such cases). T must be a subclass of QObject. // such cases). T must be a subclass of QObject.
QPointer<QDrag> instance; QPointer<NDrag> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QDragWrap(const Napi::CallbackInfo& info); QDragWrap(const Napi::CallbackInfo& info);
~QDragWrap(); ~QDragWrap();
QDrag* getInternalInstance(); NDrag* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;

View File

@ -1,32 +0,0 @@
#pragma once
#include <napi.h>
#include <QInputMethodEvent>
#include "Extras/Export/export.h"
#include "QtGui/QEvent/QEvent/qevent_macro.h"
#include "core/Component/component_macro.h"
class DLL_EXPORT QInputMethodEventWrap
: public Napi::ObjectWrap<QInputMethodEventWrap> {
COMPONENT_WRAPPED_METHODS_DECLARATION
QEVENT_WRAPPED_METHODS_DECLARATION
private:
QInputMethodEvent* instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QInputMethodEventWrap(const Napi::CallbackInfo& info);
~QInputMethodEventWrap();
QInputMethodEvent* getInternalInstance();
// class constructor
static Napi::FunctionReference constructor;
// wrapped methods
Napi::Value commitString(const Napi::CallbackInfo& info);
Napi::Value preeditString(const Napi::CallbackInfo& info);
Napi::Value replacementLength(const Napi::CallbackInfo& info);
Napi::Value replacementStart(const Napi::CallbackInfo& info);
Napi::Value setCommitString(const Napi::CallbackInfo& info);
};

View File

@ -1,30 +0,0 @@
#pragma once
#include <napi.h>
#include <QInputMethodQueryEvent>
#include "Extras/Export/export.h"
#include "QtGui/QEvent/QEvent/qevent_macro.h"
#include "core/Component/component_macro.h"
class DLL_EXPORT QInputMethodQueryEventWrap
: public Napi::ObjectWrap<QInputMethodQueryEventWrap> {
COMPONENT_WRAPPED_METHODS_DECLARATION
QEVENT_WRAPPED_METHODS_DECLARATION
private:
QInputMethodQueryEvent* instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QInputMethodQueryEventWrap(const Napi::CallbackInfo& info);
~QInputMethodQueryEventWrap();
QInputMethodQueryEvent* getInternalInstance();
// class constructor
static Napi::FunctionReference constructor;
// wrapped methods
Napi::Value queries(const Napi::CallbackInfo& info);
Napi::Value setValue(const Napi::CallbackInfo& info);
Napi::Value value(const Napi::CallbackInfo& info);
};

View File

@ -1,28 +0,0 @@
#pragma once
#include <napi.h>
#include <QMoveEvent>
#include "Extras/Export/export.h"
#include "QtGui/QEvent/QEvent/qevent_macro.h"
#include "core/Component/component_macro.h"
class DLL_EXPORT QMoveEventWrap : public Napi::ObjectWrap<QMoveEventWrap> {
COMPONENT_WRAPPED_METHODS_DECLARATION
QEVENT_WRAPPED_METHODS_DECLARATION
private:
QMoveEvent* instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QMoveEventWrap(const Napi::CallbackInfo& info);
~QMoveEventWrap();
QMoveEvent* getInternalInstance();
// class constructor
static Napi::FunctionReference constructor;
// wrapped methods
Napi::Value oldPos(const Napi::CallbackInfo& info);
Napi::Value pos(const Napi::CallbackInfo& info);
};

View File

@ -1,27 +0,0 @@
#pragma once
#include <napi.h>
#include <QTimerEvent>
#include "Extras/Export/export.h"
#include "QtGui/QEvent/QEvent/qevent_macro.h"
#include "core/Component/component_macro.h"
class DLL_EXPORT QTimerEventWrap : public Napi::ObjectWrap<QTimerEventWrap> {
COMPONENT_WRAPPED_METHODS_DECLARATION
QEVENT_WRAPPED_METHODS_DECLARATION
private:
QTimerEvent* instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QTimerEventWrap(const Napi::CallbackInfo& info);
~QTimerEventWrap();
QTimerEvent* getInternalInstance();
// class constructor
static Napi::FunctionReference constructor;
// wrapped methods
Napi::Value timerId(const Napi::CallbackInfo& info);
};

View File

@ -20,18 +20,10 @@ class DLL_EXPORT QIconWrap : public Napi::ObjectWrap<QIconWrap> {
~QIconWrap(); ~QIconWrap();
QIcon* getInternalInstance(); QIcon* getInternalInstance();
// Wrapped methods // Wrapped methods
Napi::Value actualSize(const Napi::CallbackInfo& info);
Napi::Value addFile(const Napi::CallbackInfo& info);
Napi::Value addPixmap(const Napi::CallbackInfo& info);
Napi::Value availableSizes(const Napi::CallbackInfo& info);
Napi::Value pixmap(const Napi::CallbackInfo& info); Napi::Value pixmap(const Napi::CallbackInfo& info);
Napi::Value isMask(const Napi::CallbackInfo& info); Napi::Value isMask(const Napi::CallbackInfo& info);
Napi::Value isNull(const Napi::CallbackInfo& info);
Napi::Value name(const Napi::CallbackInfo& info);
Napi::Value paint(const Napi::CallbackInfo& info);
Napi::Value setIsMask(const Napi::CallbackInfo& info); Napi::Value setIsMask(const Napi::CallbackInfo& info);
Napi::Value cacheKey(const Napi::CallbackInfo& info); Napi::Value cacheKey(const Napi::CallbackInfo& info);
Napi::Value swap(const Napi::CallbackInfo& info);
}; };
namespace StaticQIconWrapMethods { namespace StaticQIconWrapMethods {

View File

@ -30,5 +30,4 @@ class DLL_EXPORT QScreenWrap : public Napi::ObjectWrap<QScreenWrap>,
virtual void connectSignalsToEventEmitter(); virtual void connectSignalsToEventEmitter();
// Wrapped methods // Wrapped methods
Napi::Value grabWindow(const Napi::CallbackInfo& info);
}; };

View File

@ -9,8 +9,7 @@
#include "QtCore/QObject/qobject_macro.h" #include "QtCore/QObject/qobject_macro.h"
class DLL_EXPORT QWindowWrap : public Napi::ObjectWrap<QWindowWrap>, class DLL_EXPORT QWindowWrap : public Napi::ObjectWrap<QWindowWrap>,
public EventWidget, public EventWidget {
public QObject {
QOBJECT_WRAPPED_METHODS_DECLARATION_WITH_EVENT_SOURCE(this) QOBJECT_WRAPPED_METHODS_DECLARATION_WITH_EVENT_SOURCE(this)
// Note: We don't use EVENTWIDGET_IMPLEMENTATIONS() here because this class // Note: We don't use EVENTWIDGET_IMPLEMENTATIONS() here because this class
// doesn't handle any QEvents. // doesn't handle any QEvents.
@ -35,24 +34,10 @@ class DLL_EXPORT QWindowWrap : public Napi::ObjectWrap<QWindowWrap>,
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QWindowWrap(const Napi::CallbackInfo& info); QWindowWrap(const Napi::CallbackInfo& info);
~QWindowWrap();
QWindow* getInternalInstance(); QWindow* getInternalInstance();
virtual void connectSignalsToEventEmitter(); virtual void connectSignalsToEventEmitter();
// wrapped methods // wrapped methods
Napi::Value screen(const Napi::CallbackInfo& info); Napi::Value screen(const Napi::CallbackInfo& info);
Napi::Value showFullScreen(const Napi::CallbackInfo& info);
Napi::Value showMaximized(const Napi::CallbackInfo& info);
Napi::Value showMinimized(const Napi::CallbackInfo& info);
Napi::Value showNormal(const Napi::CallbackInfo& info);
Napi::Value startSystemMove(const Napi::CallbackInfo& info);
Napi::Value startSystemResize(const Napi::CallbackInfo& info);
Napi::Value setWindowState(const Napi::CallbackInfo& info);
Napi::Value windowState(const Napi::CallbackInfo& info);
Napi::Value visibility(const Napi::CallbackInfo& info);
Napi::Value setVisibility(const Napi::CallbackInfo& info);
protected:
bool eventFilter(QObject* watched, QEvent* event) override;
}; };

View File

@ -16,7 +16,8 @@
QWIDGET_WRAPPED_METHODS_DECLARATION \ QWIDGET_WRAPPED_METHODS_DECLARATION \
Napi::Value animateClick(const Napi::CallbackInfo& info) { \ Napi::Value animateClick(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
this->instance->animateClick(); \ int msec = info[0].As<Napi::Number>().Int32Value(); \
this->instance->animateClick(msec); \
return env.Null(); \ return env.Null(); \
} \ } \
Napi::Value click(const Napi::CallbackInfo& info) { \ Napi::Value click(const Napi::CallbackInfo& info) { \

View File

@ -1,21 +0,0 @@
#pragma once
#include "QtCore/QObject/qobject_macro.h"
/*
This macro adds common QAbstractItemDelete exported methods
*/
#ifndef QABSTRACTITEMDELEGATE_WRAPPED_METHODS_DECLARATION
#define QABSTRACTITEMDELEGATE_WRAPPED_METHODS_DECLARATION \
QOBJECT_WRAPPED_METHODS_DECLARATION
#endif
#ifndef QABSTRACTITEMDELEGATE_WRAPPED_METHODS_EXPORT_DEFINE
#define QABSTRACTITEMDELEGATE_WRAPPED_METHODS_EXPORT_DEFINE(WrapName) \
QOBJECT_WRAPPED_METHODS_EXPORT_DEFINE(WrapName)
#endif // QABSTRACTITEMDELEGATE_WRAPPED_METHODS_EXPORT_DEFINE
#ifndef QABSTRACTITEMDELEGATE_SIGNALS
#define QABSTRACTITEMDELEGATE_SIGNALS QOBJECT_SIGNALS
#endif // QABSTRACTITEMDELEGATE_SIGNALS

View File

@ -1,25 +0,0 @@
#pragma once
#include <napi.h>
#include <QAbstractItemDelegate>
#include <QPointer>
#include "Extras/Utils/nutils.h"
#include "QtWidgets/QAbstractItemDelegate/qabstractitemdelegate_macro.h"
class DLL_EXPORT QAbstractItemDelegateWrap
: public Napi::ObjectWrap<QAbstractItemDelegateWrap> {
QABSTRACTITEMDELEGATE_WRAPPED_METHODS_DECLARATION
private:
QPointer<QAbstractItemDelegate> instance;
public:
static Napi::Object init(Napi::Env env, Napi::Object exports);
QAbstractItemDelegateWrap(const Napi::CallbackInfo& info);
~QAbstractItemDelegateWrap();
QAbstractItemDelegate* getInternalInstance();
// class constructor
static Napi::FunctionReference constructor;
// wrapped methods
};

View File

@ -3,7 +3,6 @@
#include "QtCore/QAbstractItemModel/qabstractitemmodel_wrap.h" #include "QtCore/QAbstractItemModel/qabstractitemmodel_wrap.h"
#include "QtCore/QItemSelectionModel/qitemselectionmodel_wrap.h" #include "QtCore/QItemSelectionModel/qitemselectionmodel_wrap.h"
#include "QtCore/QModelIndex/qmodelindex_wrap.h" #include "QtCore/QModelIndex/qmodelindex_wrap.h"
#include "QtWidgets/QAbstractItemDelegate/qabstractitemdelegate_wrap.h"
#include "QtWidgets/QAbstractScrollArea/qabstractscrollarea_macro.h" #include "QtWidgets/QAbstractScrollArea/qabstractscrollarea_macro.h"
#include "QtWidgets/QWidget/qwidget_wrap.h" #include "QtWidgets/QWidget/qwidget_wrap.h"
@ -146,7 +145,9 @@
Napi::Value selectionModel(const Napi::CallbackInfo& info) { \ Napi::Value selectionModel(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
QItemSelectionModel* model = this->instance->selectionModel(); \ QItemSelectionModel* model = this->instance->selectionModel(); \
return WrapperCache::instance.getWrapper(env, model); \ auto modelExt = Napi::External<QItemSelectionModel>::New(env, model); \
auto instance = QItemSelectionModelWrap::constructor.New({modelExt}); \
return instance; \
} \ } \
Napi::Value isPersistentEditorOpen(const Napi::CallbackInfo& info) { \ Napi::Value isPersistentEditorOpen(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
@ -170,57 +171,6 @@
QString search = QString::fromUtf8(searchNapiText.c_str()); \ QString search = QString::fromUtf8(searchNapiText.c_str()); \
this->instance->keyboardSearch(search); \ this->instance->keyboardSearch(search); \
return env.Null(); \ return env.Null(); \
} \
Napi::Value setItemDelegate(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
if (info[0].IsNull()) { \
this->instance->setItemDelegate(nullptr); \
} else { \
QAbstractItemDelegateWrap* delegateWrap = \
Napi::ObjectWrap<QAbstractItemDelegateWrap>::Unwrap( \
info[0].As<Napi::Object>()); \
QAbstractItemDelegate* delegate = delegateWrap->getInternalInstance(); \
this->instance->setItemDelegate(delegate); \
} \
return env.Null(); \
} \
Napi::Value setItemDelegateForColumn(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int column = info[0].As<Napi::Number>().Int32Value(); \
if (info[1].IsNull()) { \
this->instance->setItemDelegateForColumn(column, nullptr); \
} else { \
QAbstractItemDelegateWrap* delegateWrap = \
Napi::ObjectWrap<QAbstractItemDelegateWrap>::Unwrap( \
info[1].As<Napi::Object>()); \
QAbstractItemDelegate* delegate = delegateWrap->getInternalInstance(); \
this->instance->setItemDelegateForColumn(column, delegate); \
} \
return env.Null(); \
} \
Napi::Value setItemDelegateForRow(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int row = info[0].As<Napi::Number>().Int32Value(); \
if (info[1].IsNull()) { \
this->instance->setItemDelegateForRow(row, nullptr); \
} else { \
QAbstractItemDelegateWrap* delegateWrap = \
Napi::ObjectWrap<QAbstractItemDelegateWrap>::Unwrap( \
info[1].As<Napi::Object>()); \
QAbstractItemDelegate* delegate = delegateWrap->getInternalInstance(); \
this->instance->setItemDelegateForRow(row, delegate); \
} \
return env.Null(); \
} \
Napi::Value sizeHintForIndex(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QModelIndexWrap* indexWrap = \
Napi::ObjectWrap<QModelIndexWrap>::Unwrap(info[0].As<Napi::Object>()); \
QModelIndex* index = indexWrap->getInternalInstance(); \
QSize result = this->instance->sizeHintForIndex(*index); \
auto resultInstance = QSizeWrap::constructor.New( \
{Napi::External<QSize>::New(env, new QSize(result))}); \
return resultInstance; \
} }
#define QABSTRACTITEMVIEW_WRAPPED_METHODS_DECLARATION \ #define QABSTRACTITEMVIEW_WRAPPED_METHODS_DECLARATION \
@ -245,59 +195,42 @@
info[1].As<Napi::Number>().Int32Value()); \ info[1].As<Napi::Number>().Int32Value()); \
this->instance->scrollTo(*index, hint); \ this->instance->scrollTo(*index, hint); \
return env.Null(); \ return env.Null(); \
} \
Napi::Value visualRect(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QModelIndexWrap* indexWrap = \
Napi::ObjectWrap<QModelIndexWrap>::Unwrap(info[0].As<Napi::Object>()); \
QModelIndex* index = indexWrap->getInternalInstance(); \
QRect ret = this->instance->visualRect(*index); \
auto instance = QRectWrap::constructor.New( \
{Napi::External<QRect>::New(env, new QRect(ret))}); \
return instance; \
} }
#endif // QABSTRACTITEMVIEW_WRAPPED_METHODS_DECLARATION #endif // QABSTRACTITEMVIEW_WRAPPED_METHODS_DECLARATION
#ifndef QABSTRACTITEMVIEW_WRAPPED_METHODS_EXPORT_DEFINE #ifndef QABSTRACTITEMVIEW_WRAPPED_METHODS_EXPORT_DEFINE
#define QABSTRACTITEMVIEW_WRAPPED_METHODS_EXPORT_DEFINE(WidgetWrapName) \ #define QABSTRACTITEMVIEW_WRAPPED_METHODS_EXPORT_DEFINE(WidgetWrapName) \
QABSTRACTSCROLLAREA_WRAPPED_METHODS_EXPORT_DEFINE(WidgetWrapName) \ QABSTRACTSCROLLAREA_WRAPPED_METHODS_EXPORT_DEFINE(WidgetWrapName) \
InstanceMethod("setCurrentIndex", &WidgetWrapName::setCurrentIndex), \ InstanceMethod("setCurrentIndex", &WidgetWrapName::setCurrentIndex), \
InstanceMethod("currentIndex", &WidgetWrapName::currentIndex), \ InstanceMethod("currentIndex", &WidgetWrapName::currentIndex), \
InstanceMethod("setIndexWidget", &WidgetWrapName::setIndexWidget), \ InstanceMethod("setIndexWidget", &WidgetWrapName::setIndexWidget), \
InstanceMethod("indexWidget", &WidgetWrapName::indexWidget), \ InstanceMethod("indexWidget", &WidgetWrapName::indexWidget), \
InstanceMethod("resetHorizontalScrollMode", \ InstanceMethod("resetHorizontalScrollMode", \
&WidgetWrapName::resetHorizontalScrollMode), \ &WidgetWrapName::resetHorizontalScrollMode), \
InstanceMethod("resetVerticalScrollMode", \ InstanceMethod("resetVerticalScrollMode", \
&WidgetWrapName::resetVerticalScrollMode), \ &WidgetWrapName::resetVerticalScrollMode), \
InstanceMethod("rootIndex", &WidgetWrapName::rootIndex), \ InstanceMethod("rootIndex", &WidgetWrapName::rootIndex), \
InstanceMethod("scrollToBottom", &WidgetWrapName::scrollToBottom), \ InstanceMethod("scrollToBottom", &WidgetWrapName::scrollToBottom), \
InstanceMethod("scrollToTop", &WidgetWrapName::scrollToTop), \ InstanceMethod("scrollToTop", &WidgetWrapName::scrollToTop), \
InstanceMethod("setModel", &WidgetWrapName::setModel), \ InstanceMethod("setModel", &WidgetWrapName::setModel), \
InstanceMethod("closePersistentEditor", \ InstanceMethod("closePersistentEditor", \
&WidgetWrapName::closePersistentEditor), \ &WidgetWrapName::closePersistentEditor), \
InstanceMethod("clearSelection", &WidgetWrapName::clearSelection), \ InstanceMethod("clearSelection", &WidgetWrapName::clearSelection), \
InstanceMethod("edit", &WidgetWrapName::edit), \ InstanceMethod("edit", &WidgetWrapName::edit), \
InstanceMethod("reset", &WidgetWrapName::reset), \ InstanceMethod("reset", &WidgetWrapName::reset), \
InstanceMethod("selectAll", &WidgetWrapName::selectAll), \ InstanceMethod("selectAll", &WidgetWrapName::selectAll), \
InstanceMethod("setRootIndex", &WidgetWrapName::setRootIndex), \ InstanceMethod("setRootIndex", &WidgetWrapName::setRootIndex), \
InstanceMethod("update_QModelIndex", \ InstanceMethod("update_QModelIndex", \
&WidgetWrapName::update_QModelIndex), \ &WidgetWrapName::update_QModelIndex), \
InstanceMethod("indexAt", &WidgetWrapName::indexAt), \ InstanceMethod("indexAt", &WidgetWrapName::indexAt), \
InstanceMethod("selectionModel", &WidgetWrapName::selectionModel), \ InstanceMethod("selectionModel", &WidgetWrapName::selectionModel), \
InstanceMethod("scrollTo", &WidgetWrapName::scrollTo), \ InstanceMethod("scrollTo", &WidgetWrapName::scrollTo), \
InstanceMethod("isPersistentEditorOpen", \ InstanceMethod("isPersistentEditorOpen", \
&WidgetWrapName::isPersistentEditorOpen), \ &WidgetWrapName::isPersistentEditorOpen), \
InstanceMethod("openPersistentEditor", \ InstanceMethod("openPersistentEditor", \
&WidgetWrapName::openPersistentEditor), \ &WidgetWrapName::openPersistentEditor), \
InstanceMethod("keyboardSearch", &WidgetWrapName::keyboardSearch), \ InstanceMethod("keyboardSearch", &WidgetWrapName::keyboardSearch),
InstanceMethod("setItemDelegate", &WidgetWrapName::setItemDelegate), \
InstanceMethod("setItemDelegateForColumn", \
&WidgetWrapName::setItemDelegateForColumn), \
InstanceMethod("setItemDelegateForRow", \
&WidgetWrapName::setItemDelegateForRow), \
InstanceMethod("visualRect", &WidgetWrapName::visualRect), \
InstanceMethod("sizeHintForIndex", &WidgetWrapName::sizeHintForIndex),
#endif // QABSTRACTITEMVIEW_WRAPPED_METHODS_EXPORT_DEFINE #endif // QABSTRACTITEMVIEW_WRAPPED_METHODS_EXPORT_DEFINE

View File

@ -58,21 +58,9 @@
Napi::Value viewport(const Napi::CallbackInfo& info) { \ Napi::Value viewport(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
QWidget* viewPort = this->instance->viewport(); \ QWidget* viewPort = this->instance->viewport(); \
auto instance = WrapperCache::instance.getWrapper(env, viewPort); \ NWidget* nviewPort = reinterpret_cast<NWidget*>(viewPort); \
return instance; \ auto instance = QWidgetWrap::constructor.New( \
} \ {Napi::External<NWidget>::New(env, nviewPort)}); \
\
Napi::Value horizontalScrollBar(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QScrollBar* scrollBar = this->instance->horizontalScrollBar(); \
auto instance = WrapperCache::instance.getWrapper(env, scrollBar); \
return instance; \
} \
\
Napi::Value verticalScrollBar(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QScrollBar* scrollBar = this->instance->verticalScrollBar(); \
auto instance = WrapperCache::instance.getWrapper(env, scrollBar); \
return instance; \ return instance; \
} }
@ -89,10 +77,7 @@
InstanceMethod("setVerticalScrollBar", \ InstanceMethod("setVerticalScrollBar", \
&WidgetWrapName::setVerticalScrollBar), \ &WidgetWrapName::setVerticalScrollBar), \
InstanceMethod("setViewport", &WidgetWrapName::setViewport), \ InstanceMethod("setViewport", &WidgetWrapName::setViewport), \
InstanceMethod("viewport", &WidgetWrapName::viewport), \ InstanceMethod("viewport", &WidgetWrapName::viewport),
InstanceMethod("horizontalScrollBar", \
&WidgetWrapName::horizontalScrollBar), \
InstanceMethod("verticalScrollBar", &WidgetWrapName::verticalScrollBar),
#endif // QABSTRACTSCROLLAREA_WRAPPED_METHODS_EXPORT_DEFINE #endif // QABSTRACTSCROLLAREA_WRAPPED_METHODS_EXPORT_DEFINE

View File

@ -11,13 +11,14 @@ class DLL_EXPORT QActionWrap : public Napi::ObjectWrap<QActionWrap> {
QOBJECT_WRAPPED_METHODS_DECLARATION QOBJECT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QAction> instance; QPointer<NAction> instance;
bool disableDeletion;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QActionWrap(const Napi::CallbackInfo& info); QActionWrap(const Napi::CallbackInfo& info);
~QActionWrap(); ~QActionWrap();
QAction* getInternalInstance(); NAction* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@
class DLL_EXPORT QBoxLayoutWrap : public Napi::ObjectWrap<QBoxLayoutWrap> { class DLL_EXPORT QBoxLayoutWrap : public Napi::ObjectWrap<QBoxLayoutWrap> {
QLAYOUT_WRAPPED_METHODS_DECLARATION QLAYOUT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QBoxLayout> instance; QPointer<NBoxLayout> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QBoxLayoutWrap(const Napi::CallbackInfo& info); QBoxLayoutWrap(const Napi::CallbackInfo& info);
~QBoxLayoutWrap(); ~QBoxLayoutWrap();
QBoxLayout* getInternalInstance(); NBoxLayout* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -15,30 +15,12 @@ class DLL_EXPORT NButtonGroup : public QButtonGroup, public EventWidget {
virtual void connectSignalsToEventEmitter() { virtual void connectSignalsToEventEmitter() {
QOBJECT_SIGNALS QOBJECT_SIGNALS
// Qt Connects: Implement all signal connects here // Qt Connects: Implement all signal connects here
connect(this, &QButtonGroup::idClicked, [=](int id) { connect(this, QOverload<int>::of(&QButtonGroup::buttonClicked),
Napi::Env env = this->emitOnNode.Env(); [=](int id) {
Napi::HandleScope scope(env); Napi::Env env = this->emitOnNode.Env();
this->emitOnNode.Call( Napi::HandleScope scope(env);
{Napi::String::New(env, "idClicked"), Napi::Number::New(env, id)}); this->emitOnNode.Call({Napi::String::New(env, "buttonClicked"),
}); Napi::Number::New(env, id)});
connect(this, &QButtonGroup::idPressed, [=](int id) { });
Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env);
this->emitOnNode.Call(
{Napi::String::New(env, "idPressed"), Napi::Number::New(env, id)});
});
connect(this, &QButtonGroup::idReleased, [=](int id) {
Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env);
this->emitOnNode.Call(
{Napi::String::New(env, "idReleased"), Napi::Number::New(env, id)});
});
connect(this, &QButtonGroup::idToggled, [=](int id, bool checked) {
Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env);
this->emitOnNode.Call({Napi::String::New(env, "idToggled"),
Napi::Number::New(env, id),
Napi::Boolean::New(env, checked)});
});
} }
}; };

View File

@ -9,13 +9,13 @@
#include "nbuttongroup.hpp" #include "nbuttongroup.hpp"
class DLL_EXPORT QButtonGroupWrap : public Napi::ObjectWrap<QButtonGroupWrap> { class DLL_EXPORT QButtonGroupWrap : public Napi::ObjectWrap<QButtonGroupWrap> {
private: private:
QPointer<QButtonGroup> instance; QPointer<NButtonGroup> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QButtonGroupWrap(const Napi::CallbackInfo& info); QButtonGroupWrap(const Napi::CallbackInfo& info);
~QButtonGroupWrap(); ~QButtonGroupWrap();
QButtonGroup* getInternalInstance(); NButtonGroup* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QCalendarWidgetWrap class DLL_EXPORT QCalendarWidgetWrap
: public Napi::ObjectWrap<QCalendarWidgetWrap> { : public Napi::ObjectWrap<QCalendarWidgetWrap> {
private: private:
QPointer<QCalendarWidget> instance; QPointer<NCalendarWidget> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QCalendarWidgetWrap(const Napi::CallbackInfo &info); QCalendarWidgetWrap(const Napi::CallbackInfo &info);
~QCalendarWidgetWrap(); ~QCalendarWidgetWrap();
QCalendarWidget *getInternalInstance(); NCalendarWidget *getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,14 @@
class DLL_EXPORT QCheckBoxWrap : public Napi::ObjectWrap<QCheckBoxWrap> { class DLL_EXPORT QCheckBoxWrap : public Napi::ObjectWrap<QCheckBoxWrap> {
QABSTRACTBUTTON_WRAPPED_METHODS_DECLARATION QABSTRACTBUTTON_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QCheckBox> instance; QPointer<NCheckBox> instance;
bool disableDeletion;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QCheckBoxWrap(const Napi::CallbackInfo& info); QCheckBoxWrap(const Napi::CallbackInfo& info);
~QCheckBoxWrap(); ~QCheckBoxWrap();
QCheckBox* getInternalInstance(); NCheckBox* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -9,23 +9,21 @@
#include "QtWidgets/QDialog/qdialog_macro.h" #include "QtWidgets/QDialog/qdialog_macro.h"
class DLL_EXPORT QColorDialogWrap : public Napi::ObjectWrap<QColorDialogWrap> { class DLL_EXPORT QColorDialogWrap : public Napi::ObjectWrap<QColorDialogWrap> {
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE QDIALOG_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QColorDialog> instance; QPointer<NColorDialog> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QColorDialogWrap(const Napi::CallbackInfo& info); QColorDialogWrap(const Napi::CallbackInfo& info);
~QColorDialogWrap(); ~QColorDialogWrap();
QColorDialog* getInternalInstance(); NColorDialog* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value selectedColor(const Napi::CallbackInfo& info); Napi::Value selectedColor(const Napi::CallbackInfo& info);
Napi::Value setOption(const Napi::CallbackInfo& info); Napi::Value setOption(const Napi::CallbackInfo& info);
Napi::Value testOption(const Napi::CallbackInfo& info); Napi::Value testOption(const Napi::CallbackInfo& info);
Napi::Value accept(const Napi::CallbackInfo& info);
Napi::Value done(const Napi::CallbackInfo& info);
}; };
namespace StaticQColorDialogWrapMethods { namespace StaticQColorDialogWrapMethods {

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QComboBoxWrap : public Napi::ObjectWrap<QComboBoxWrap> { class DLL_EXPORT QComboBoxWrap : public Napi::ObjectWrap<QComboBoxWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QComboBox> instance; QPointer<NComboBox> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QComboBoxWrap(const Napi::CallbackInfo& info); QComboBoxWrap(const Napi::CallbackInfo& info);
~QComboBoxWrap(); ~QComboBoxWrap();
QComboBox* getInternalInstance(); NComboBox* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QDateEditWrap : public Napi::ObjectWrap<QDateEditWrap> { class DLL_EXPORT QDateEditWrap : public Napi::ObjectWrap<QDateEditWrap> {
QDATETIMEEDIT_WRAPPED_METHODS_DECLARATION QDATETIMEEDIT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QDateEdit> instance; QPointer<NDateEdit> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QDateEditWrap(const Napi::CallbackInfo &info); QDateEditWrap(const Napi::CallbackInfo &info);
~QDateEditWrap(); ~QDateEditWrap();
QDateEdit *getInternalInstance(); NDateEdit *getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -24,24 +24,14 @@
this->instance->setCalendarWidget( \ this->instance->setCalendarWidget( \
calendarWidgetWrap->getInternalInstance()); \ calendarWidgetWrap->getInternalInstance()); \
return env.Null(); \ return env.Null(); \
} \
Napi::Value calendarWidget(const Napi::CallbackInfo &info) { \
Napi::Env env = info.Env(); \
QObject *calendarWidget = this->instance->calendarWidget(); \
if (calendarWidget) { \
return WrapperCache::instance.getWrapper(env, calendarWidget); \
} else { \
return env.Null(); \
} \
} }
#endif // QDATETIMEEDIT_WRAPPED_METHODS_DECLARATION #endif // QDATETIMEEDIT_WRAPPED_METHODS_DECLARATION
#ifndef QDATETIMEEDIT_WRAPPED_METHODS_EXPORT_DEFINE #ifndef QDATETIMEEDIT_WRAPPED_METHODS_EXPORT_DEFINE
#define QDATETIMEEDIT_WRAPPED_METHODS_EXPORT_DEFINE(WidgetWrapName) \ #define QDATETIMEEDIT_WRAPPED_METHODS_EXPORT_DEFINE(WidgetWrapName) \
QABSTRACTSPINBOX_WRAPPED_METHODS_EXPORT_DEFINE(WidgetWrapName) \ QABSTRACTSPINBOX_WRAPPED_METHODS_EXPORT_DEFINE(WidgetWrapName) \
InstanceMethod("setCalendarWidget", &WidgetWrapName::setCalendarWidget), \ InstanceMethod("setCalendarWidget", &WidgetWrapName::setCalendarWidget),
InstanceMethod("calendarWidget", &WidgetWrapName::calendarWidget),
#endif // QDATETIMEEDIT_WRAPPED_METHODS_EXPORT_DEFINE #endif // QDATETIMEEDIT_WRAPPED_METHODS_EXPORT_DEFINE

View File

@ -12,13 +12,13 @@ class DLL_EXPORT QDateTimeEditWrap
: public Napi::ObjectWrap<QDateTimeEditWrap> { : public Napi::ObjectWrap<QDateTimeEditWrap> {
QDATETIMEEDIT_WRAPPED_METHODS_DECLARATION QDATETIMEEDIT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QDateTimeEdit> instance; QPointer<NDateTimeEdit> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QDateTimeEditWrap(const Napi::CallbackInfo &info); QDateTimeEditWrap(const Napi::CallbackInfo &info);
~QDateTimeEditWrap(); ~QDateTimeEditWrap();
QDateTimeEdit *getInternalInstance(); NDateTimeEdit *getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@
class DLL_EXPORT QDialWrap : public Napi::ObjectWrap<QDialWrap> { class DLL_EXPORT QDialWrap : public Napi::ObjectWrap<QDialWrap> {
QABSTRACTSLIDER_WRAPPED_METHODS_DECLARATION QABSTRACTSLIDER_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QDial> instance; QPointer<NDial> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QDialWrap(const Napi::CallbackInfo& info); QDialWrap(const Napi::CallbackInfo& info);
~QDialWrap(); ~QDialWrap();
QDial* getInternalInstance(); NDial* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -10,55 +10,39 @@
This macro adds common QDialog exported methods This macro adds common QDialog exported methods
The exported methods are taken into this macro to avoid writing them in each The exported methods are taken into this macro to avoid writing them in each
and every widget we export. and every widget we export.
*/ */
#ifndef QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE
#define QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE \
\
QWIDGET_WRAPPED_METHODS_DECLARATION \
\
Napi::Value setResult(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::Number result = info[0].As<Napi::Number>(); \
this->instance->setResult(result.Int32Value()); \
return env.Null(); \
} \
Napi::Value result(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int value = this->instance->result(); \
return Napi::Value::From(env, value); \
} \
Napi::Value exec(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int value = static_cast<int>(this->instance->exec()); \
return Napi::Number::From(env, value); \
} \
Napi::Value open(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
this->instance->open(); \
return env.Null(); \
} \
Napi::Value reject(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
this->instance->reject(); \
return env.Null(); \
}
#endif
#ifndef QDIALOG_WRAPPED_METHODS_DECLARATION #ifndef QDIALOG_WRAPPED_METHODS_DECLARATION
#define QDIALOG_WRAPPED_METHODS_DECLARATION \ #define QDIALOG_WRAPPED_METHODS_DECLARATION \
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE \ \
Napi::Value accept(const Napi::CallbackInfo& info) { \ QWIDGET_WRAPPED_METHODS_DECLARATION \
Napi::Env env = info.Env(); \ \
this->instance->accept(); \ Napi::Value setResult(const Napi::CallbackInfo& info) { \
return env.Null(); \ Napi::Env env = info.Env(); \
} \ Napi::Number result = info[0].As<Napi::Number>(); \
Napi::Value done(const Napi::CallbackInfo& info) { \ this->instance->setResult(result.Int32Value()); \
Napi::Env env = info.Env(); \ return env.Null(); \
int r = info[0].As<Napi::Number>().Int32Value(); \ } \
this->instance->done(r); \ Napi::Value result(const Napi::CallbackInfo& info) { \
return env.Null(); \ Napi::Env env = info.Env(); \
int value = this->instance->result(); \
return Napi::Value::From(env, value); \
} \
Napi::Value exec(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int value = static_cast<int>(this->instance->exec()); \
return Napi::Number::From(env, value); \
} \
Napi::Value open(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
this->instance->open(); \
return env.Null(); \
} \
Napi::Value reject(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
this->instance->reject(); \
return env.Null(); \
} }
#endif #endif
@ -70,9 +54,7 @@
InstanceMethod("setResult", &DialogWrapName::setResult), \ InstanceMethod("setResult", &DialogWrapName::setResult), \
InstanceMethod("exec", &DialogWrapName::exec), \ InstanceMethod("exec", &DialogWrapName::exec), \
InstanceMethod("open", &DialogWrapName::open), \ InstanceMethod("open", &DialogWrapName::open), \
InstanceMethod("reject", &DialogWrapName::reject), \ InstanceMethod("reject", &DialogWrapName::reject),
InstanceMethod("accept", &DialogWrapName::accept), \
InstanceMethod("done", &DialogWrapName::done),
#endif // QDIALOG_WRAPPED_METHODS_EXPORT_DEFINE #endif // QDIALOG_WRAPPED_METHODS_EXPORT_DEFINE

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QDialogWrap : public Napi::ObjectWrap<QDialogWrap> { class DLL_EXPORT QDialogWrap : public Napi::ObjectWrap<QDialogWrap> {
QDIALOG_WRAPPED_METHODS_DECLARATION QDIALOG_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QDialog> instance; QPointer<NDialog> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QDialogWrap(const Napi::CallbackInfo& info); QDialogWrap(const Napi::CallbackInfo& info);
~QDialogWrap(); ~QDialogWrap();
QDialog* getInternalInstance(); NDialog* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@ class DLL_EXPORT QDoubleSpinBoxWrap
: public Napi::ObjectWrap<QDoubleSpinBoxWrap> { : public Napi::ObjectWrap<QDoubleSpinBoxWrap> {
QABSTRACTSPINBOX_WRAPPED_METHODS_DECLARATION QABSTRACTSPINBOX_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QDoubleSpinBox> instance; QPointer<NDoubleSpinBox> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QDoubleSpinBoxWrap(const Napi::CallbackInfo& info); QDoubleSpinBoxWrap(const Napi::CallbackInfo& info);
~QDoubleSpinBoxWrap(); ~QDoubleSpinBoxWrap();
QDoubleSpinBox* getInternalInstance(); NDoubleSpinBox* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -10,19 +10,17 @@
class DLL_EXPORT QErrorMessageWrap class DLL_EXPORT QErrorMessageWrap
: public Napi::ObjectWrap<QErrorMessageWrap> { : public Napi::ObjectWrap<QErrorMessageWrap> {
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE QDIALOG_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QErrorMessage> instance; QPointer<NErrorMessage> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QErrorMessageWrap(const Napi::CallbackInfo& info); QErrorMessageWrap(const Napi::CallbackInfo& info);
~QErrorMessageWrap(); ~QErrorMessageWrap();
QErrorMessage* getInternalInstance(); NErrorMessage* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value showMessage(const Napi::CallbackInfo& info); Napi::Value showMessage(const Napi::CallbackInfo& info);
Napi::Value accept(const Napi::CallbackInfo& info);
Napi::Value done(const Napi::CallbackInfo& info);
}; };

View File

@ -9,15 +9,15 @@
#include "QtWidgets/QFileDialog/nfiledialog.hpp" #include "QtWidgets/QFileDialog/nfiledialog.hpp"
class DLL_EXPORT QFileDialogWrap : public Napi::ObjectWrap<QFileDialogWrap> { class DLL_EXPORT QFileDialogWrap : public Napi::ObjectWrap<QFileDialogWrap> {
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE QDIALOG_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QFileDialog> instance; QPointer<NFileDialog> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QFileDialogWrap(const Napi::CallbackInfo& info); QFileDialogWrap(const Napi::CallbackInfo& info);
~QFileDialogWrap(); ~QFileDialogWrap();
QFileDialog* getInternalInstance(); NFileDialog* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
@ -28,6 +28,4 @@ class DLL_EXPORT QFileDialogWrap : public Napi::ObjectWrap<QFileDialogWrap> {
Napi::Value setOption(const Napi::CallbackInfo& info); Napi::Value setOption(const Napi::CallbackInfo& info);
Napi::Value setNameFilter(const Napi::CallbackInfo& info); Napi::Value setNameFilter(const Napi::CallbackInfo& info);
Napi::Value selectedFiles(const Napi::CallbackInfo& info); Napi::Value selectedFiles(const Napi::CallbackInfo& info);
Napi::Value accept(const Napi::CallbackInfo& info);
Napi::Value done(const Napi::CallbackInfo& info);
}; };

View File

@ -9,21 +9,19 @@
#include "QtWidgets/QFontDialog/nfontdialog.hpp" #include "QtWidgets/QFontDialog/nfontdialog.hpp"
class DLL_EXPORT QFontDialogWrap : public Napi::ObjectWrap<QFontDialogWrap> { class DLL_EXPORT QFontDialogWrap : public Napi::ObjectWrap<QFontDialogWrap> {
QDIALOG_WRAPPED_METHODS_DECLARATION_NO_ACCEPT_OR_DONE QDIALOG_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QFontDialog> instance; QPointer<NFontDialog> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QFontDialogWrap(const Napi::CallbackInfo& info); QFontDialogWrap(const Napi::CallbackInfo& info);
~QFontDialogWrap(); ~QFontDialogWrap();
QFontDialog* getInternalInstance(); NFontDialog* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value selectedFont(const Napi::CallbackInfo& info); Napi::Value selectedFont(const Napi::CallbackInfo& info);
Napi::Value setOption(const Napi::CallbackInfo& info); Napi::Value setOption(const Napi::CallbackInfo& info);
Napi::Value testOption(const Napi::CallbackInfo& info); Napi::Value testOption(const Napi::CallbackInfo& info);
Napi::Value accept(const Napi::CallbackInfo& info);
Napi::Value done(const Napi::CallbackInfo& info);
}; };

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QFrameWrap : public Napi::ObjectWrap<QFrameWrap> { class DLL_EXPORT QFrameWrap : public Napi::ObjectWrap<QFrameWrap> {
QFRAME_WRAPPED_METHODS_DECLARATION QFRAME_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QFrame> instance; QPointer<NFrame> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QFrameWrap(const Napi::CallbackInfo& info); QFrameWrap(const Napi::CallbackInfo& info);
~QFrameWrap(); ~QFrameWrap();
QFrame* getInternalInstance(); NFrame* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -5,7 +5,6 @@
#include <QPointer> #include <QPointer>
#include "Extras/Export/export.h" #include "Extras/Export/export.h"
#include "Extras/Utils/nutils.h"
#include "QtWidgets/QGraphicsEffect/qgraphicseffect_macro.h" #include "QtWidgets/QGraphicsEffect/qgraphicseffect_macro.h"
#include "ngraphicsblureffect.hpp" #include "ngraphicsblureffect.hpp"
@ -13,13 +12,13 @@ class DLL_EXPORT QGraphicsBlurEffectWrap
: public Napi::ObjectWrap<QGraphicsBlurEffectWrap> { : public Napi::ObjectWrap<QGraphicsBlurEffectWrap> {
QGRAPHICSEFFECT_WRAPPED_METHODS_DECLARATION QGRAPHICSEFFECT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QGraphicsBlurEffect> instance; QPointer<NGraphicsBlurEffect> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QGraphicsBlurEffectWrap(const Napi::CallbackInfo& info); QGraphicsBlurEffectWrap(const Napi::CallbackInfo& info);
~QGraphicsBlurEffectWrap(); ~QGraphicsBlurEffectWrap();
QGraphicsBlurEffect* getInternalInstance(); NGraphicsBlurEffect* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@ class DLL_EXPORT QGraphicsDropShadowEffectWrap
: public Napi::ObjectWrap<QGraphicsDropShadowEffectWrap> { : public Napi::ObjectWrap<QGraphicsDropShadowEffectWrap> {
QGRAPHICSEFFECT_WRAPPED_METHODS_DECLARATION QGRAPHICSEFFECT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QGraphicsDropShadowEffect> instance; QPointer<NGraphicsDropShadowEffect> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QGraphicsDropShadowEffectWrap(const Napi::CallbackInfo& info); QGraphicsDropShadowEffectWrap(const Napi::CallbackInfo& info);
~QGraphicsDropShadowEffectWrap(); ~QGraphicsDropShadowEffectWrap();
QGraphicsDropShadowEffect* getInternalInstance(); NGraphicsDropShadowEffect* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@
class DLL_EXPORT QGridLayoutWrap : public Napi::ObjectWrap<QGridLayoutWrap> { class DLL_EXPORT QGridLayoutWrap : public Napi::ObjectWrap<QGridLayoutWrap> {
QLAYOUT_WRAPPED_METHODS_DECLARATION QLAYOUT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QGridLayout> instance; QPointer<NGridLayout> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QGridLayoutWrap(const Napi::CallbackInfo& info); QGridLayoutWrap(const Napi::CallbackInfo& info);
~QGridLayoutWrap(); ~QGridLayoutWrap();
QGridLayout* getInternalInstance(); NGridLayout* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QGroupBoxWrap : public Napi::ObjectWrap<QGroupBoxWrap> { class DLL_EXPORT QGroupBoxWrap : public Napi::ObjectWrap<QGroupBoxWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QGroupBox> instance; QPointer<NGroupBox> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QGroupBoxWrap(const Napi::CallbackInfo& info); QGroupBoxWrap(const Napi::CallbackInfo& info);
~QGroupBoxWrap(); ~QGroupBoxWrap();
QGroupBox* getInternalInstance(); NGroupBox* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -21,7 +21,4 @@ class DLL_EXPORT NHeaderView : public QHeaderView, public NodeWidget {
void _protected_scrollTo(const QModelIndex &index, ScrollHint hint) { void _protected_scrollTo(const QModelIndex &index, ScrollHint hint) {
scrollTo(index, hint); scrollTo(index, hint);
} }
QRect _protected_visualRect(const QModelIndex &index) const {
return visualRect(index);
}
}; };

View File

@ -43,24 +43,9 @@ class DLL_EXPORT QHeaderViewWrap : public Napi::ObjectWrap<QHeaderViewWrap> {
return env.Null(); return env.Null();
} }
Napi::Value visualRect(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
NHeaderView* wrapper = dynamic_cast<NHeaderView*>(this->instance.data());
if (wrapper) {
QModelIndexWrap* indexWrap =
Napi::ObjectWrap<QModelIndexWrap>::Unwrap(info[0].As<Napi::Object>());
QModelIndex* index = indexWrap->getInternalInstance();
QRect ret = wrapper->_protected_visualRect(*index);
auto instance = QRectWrap::constructor.New(
{Napi::External<QRect>::New(env, new QRect(ret))});
return instance;
}
return env.Null();
}
private: private:
QPointer<QHeaderView> instance; QPointer<QHeaderView> instance;
bool disableDeletion;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QInputDialogWrap : public Napi::ObjectWrap<QInputDialogWrap> { class DLL_EXPORT QInputDialogWrap : public Napi::ObjectWrap<QInputDialogWrap> {
QDIALOG_WRAPPED_METHODS_DECLARATION QDIALOG_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QInputDialog> instance; QPointer<NInputDialog> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QInputDialogWrap(const Napi::CallbackInfo& info); QInputDialogWrap(const Napi::CallbackInfo& info);
~QInputDialogWrap(); ~QInputDialogWrap();
QInputDialog* getInternalInstance(); NInputDialog* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// members // members

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QLCDNumberWrap : public Napi::ObjectWrap<QLCDNumberWrap> { class DLL_EXPORT QLCDNumberWrap : public Napi::ObjectWrap<QLCDNumberWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QLCDNumber> instance; QPointer<NLCDNumber> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QLCDNumberWrap(const Napi::CallbackInfo& info); QLCDNumberWrap(const Napi::CallbackInfo& info);
~QLCDNumberWrap(); ~QLCDNumberWrap();
QLCDNumber* getInternalInstance(); NLCDNumber* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,20 +12,19 @@
class DLL_EXPORT QLabelWrap : public Napi::ObjectWrap<QLabelWrap> { class DLL_EXPORT QLabelWrap : public Napi::ObjectWrap<QLabelWrap> {
QFRAME_WRAPPED_METHODS_DECLARATION QFRAME_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QLabel> instance; QPointer<NLabel> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QLabelWrap(const Napi::CallbackInfo& info); QLabelWrap(const Napi::CallbackInfo& info);
~QLabelWrap(); ~QLabelWrap();
QLabel* getInternalInstance(); NLabel* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value setSelection(const Napi::CallbackInfo& info); Napi::Value setSelection(const Napi::CallbackInfo& info);
Napi::Value selectionStart(const Napi::CallbackInfo& info); Napi::Value selectionStart(const Napi::CallbackInfo& info);
Napi::Value setBuddy(const Napi::CallbackInfo& info); Napi::Value setBuddy(const Napi::CallbackInfo& info);
Napi::Value buddy(const Napi::CallbackInfo& info);
Napi::Value clear(const Napi::CallbackInfo& info); Napi::Value clear(const Napi::CallbackInfo& info);
Napi::Value setMovie(const Napi::CallbackInfo& info); Napi::Value setMovie(const Napi::CallbackInfo& info);
Napi::Value setNumDouble(const Napi::CallbackInfo& info); Napi::Value setNumDouble(const Napi::CallbackInfo& info);

View File

@ -13,13 +13,13 @@
class DLL_EXPORT QLayoutWrap : public Napi::ObjectWrap<QLayoutWrap> { class DLL_EXPORT QLayoutWrap : public Napi::ObjectWrap<QLayoutWrap> {
QLAYOUT_WRAPPED_METHODS_DECLARATION QLAYOUT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QLayout> instance; QPointer<NLayout> instance;
public: public:
static void init(Napi::Env env, Napi::Object exports); static void init(Napi::Env env);
QLayoutWrap(const Napi::CallbackInfo& info); QLayoutWrap(const Napi::CallbackInfo& info);
~QLayoutWrap(); ~QLayoutWrap();
QLayout* getInternalInstance(); NLayout* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,37 +11,20 @@
class DLL_EXPORT QLineEditWrap : public Napi::ObjectWrap<QLineEditWrap> { class DLL_EXPORT QLineEditWrap : public Napi::ObjectWrap<QLineEditWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QLineEdit> instance; QPointer<NLineEdit> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QLineEditWrap(const Napi::CallbackInfo& info); QLineEditWrap(const Napi::CallbackInfo& info);
~QLineEditWrap(); ~QLineEditWrap();
QLineEdit* getInternalInstance(); NLineEdit* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value backspace(const Napi::CallbackInfo& info); Napi::Value setText(const Napi::CallbackInfo& info);
Napi::Value cursorBackward(const Napi::CallbackInfo& info); Napi::Value text(const Napi::CallbackInfo& info);
Napi::Value cursorForward(const Napi::CallbackInfo& info); Napi::Value setPlaceholderText(const Napi::CallbackInfo& info);
Napi::Value cursorPositionAt(const Napi::CallbackInfo& info); Napi::Value setReadOnly(const Napi::CallbackInfo& info);
Napi::Value cursorWordBackward(const Napi::CallbackInfo& info);
Napi::Value cursorWordForward(const Napi::CallbackInfo& info);
Napi::Value del(const Napi::CallbackInfo& info);
Napi::Value deselect(const Napi::CallbackInfo& info);
Napi::Value end(const Napi::CallbackInfo& info);
Napi::Value home(const Napi::CallbackInfo& info);
Napi::Value insert(const Napi::CallbackInfo& info);
Napi::Value selectionEnd(const Napi::CallbackInfo& info);
Napi::Value selectionLength(const Napi::CallbackInfo& info);
Napi::Value selectionStart(const Napi::CallbackInfo& info);
Napi::Value setSelection(const Napi::CallbackInfo& info);
Napi::Value setTextMargins(const Napi::CallbackInfo& info);
Napi::Value clear(const Napi::CallbackInfo& info); Napi::Value clear(const Napi::CallbackInfo& info);
Napi::Value copy(const Napi::CallbackInfo& info); Napi::Value setEchoMode(const Napi::CallbackInfo& info);
Napi::Value cut(const Napi::CallbackInfo& info);
Napi::Value paste(const Napi::CallbackInfo& info);
Napi::Value redo(const Napi::CallbackInfo& info);
Napi::Value selectAll(const Napi::CallbackInfo& info);
Napi::Value undo(const Napi::CallbackInfo& info);
}; };

View File

@ -11,13 +11,14 @@
class DLL_EXPORT QListViewWrap : public Napi::ObjectWrap<QListViewWrap> { class DLL_EXPORT QListViewWrap : public Napi::ObjectWrap<QListViewWrap> {
QLISTVIEW_WRAPPED_METHODS_DECLARATION QLISTVIEW_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QListView> instance; QPointer<NListView> instance;
bool disableDeletion;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QListViewWrap(const Napi::CallbackInfo& info); QListViewWrap(const Napi::CallbackInfo& info);
~QListViewWrap(); ~QListViewWrap();
QListView* getInternalInstance(); NListView* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@
class DLL_EXPORT QListWidgetWrap : public Napi::ObjectWrap<QListWidgetWrap> { class DLL_EXPORT QListWidgetWrap : public Napi::ObjectWrap<QListWidgetWrap> {
QLISTVIEW_WRAPPED_METHODS_DECLARATION QLISTVIEW_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QListWidget> instance; QPointer<NListWidget> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QListWidgetWrap(const Napi::CallbackInfo& info); QListWidgetWrap(const Napi::CallbackInfo& info);
~QListWidgetWrap(); ~QListWidgetWrap();
QListWidget* getInternalInstance(); NListWidget* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,17 +12,16 @@ class DLL_EXPORT QMainWindowWrap : public Napi::ObjectWrap<QMainWindowWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QMainWindow> instance; QPointer<NMainWindow> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QMainWindowWrap(const Napi::CallbackInfo& info); QMainWindowWrap(const Napi::CallbackInfo& info);
~QMainWindowWrap(); ~QMainWindowWrap();
QMainWindow* getInternalInstance(); NMainWindow* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value centralWidget(const Napi::CallbackInfo& info);
Napi::Value setCentralWidget(const Napi::CallbackInfo& info); Napi::Value setCentralWidget(const Napi::CallbackInfo& info);
Napi::Value takeCentralWidget(const Napi::CallbackInfo& info); Napi::Value takeCentralWidget(const Napi::CallbackInfo& info);
Napi::Value setMenuBar(const Napi::CallbackInfo& info); Napi::Value setMenuBar(const Napi::CallbackInfo& info);

View File

@ -17,8 +17,10 @@ class DLL_EXPORT NMenu : public QMenu, public NodeWidget {
QObject::connect(this, &QMenu::triggered, [=](QAction* action) { QObject::connect(this, &QMenu::triggered, [=](QAction* action) {
Napi::Env env = this->emitOnNode.Env(); Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env); Napi::HandleScope scope(env);
auto instance = WrapperCache::instance.getWrapper(env, action); auto actionInstance = QActionWrap::constructor.New(
this->emitOnNode.Call({Napi::String::New(env, "triggered"), instance}); {Napi::External<QAction>::New(env, action)});
this->emitOnNode.Call(
{Napi::String::New(env, "triggered"), actionInstance});
}); });
} }
}; };

View File

@ -10,13 +10,13 @@
class DLL_EXPORT QMenuWrap : public Napi::ObjectWrap<QMenuWrap> { class DLL_EXPORT QMenuWrap : public Napi::ObjectWrap<QMenuWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QMenu> instance; QPointer<NMenu> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QMenuWrap(const Napi::CallbackInfo& info); QMenuWrap(const Napi::CallbackInfo& info);
~QMenuWrap(); ~QMenuWrap();
QMenu* getInternalInstance(); NMenu* getInternalInstance();
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value clear(const Napi::CallbackInfo& info); Napi::Value clear(const Napi::CallbackInfo& info);

View File

@ -10,13 +10,13 @@
class DLL_EXPORT QMenuBarWrap : public Napi::ObjectWrap<QMenuBarWrap> { class DLL_EXPORT QMenuBarWrap : public Napi::ObjectWrap<QMenuBarWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QMenuBar> instance; QPointer<NMenuBar> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QMenuBarWrap(const Napi::CallbackInfo& info); QMenuBarWrap(const Napi::CallbackInfo& info);
~QMenuBarWrap(); ~QMenuBarWrap();
QMenuBar* getInternalInstance(); NMenuBar* getInternalInstance();
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value addMenu(const Napi::CallbackInfo& info); Napi::Value addMenu(const Napi::CallbackInfo& info);

View File

@ -11,18 +11,20 @@
class DLL_EXPORT QMessageBoxWrap : public Napi::ObjectWrap<QMessageBoxWrap> { class DLL_EXPORT QMessageBoxWrap : public Napi::ObjectWrap<QMessageBoxWrap> {
QDIALOG_WRAPPED_METHODS_DECLARATION QDIALOG_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QMessageBox> instance; QPointer<NMessageBox> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QMessageBoxWrap(const Napi::CallbackInfo& info); QMessageBoxWrap(const Napi::CallbackInfo& info);
~QMessageBoxWrap(); ~QMessageBoxWrap();
QMessageBox* getInternalInstance(); NMessageBox* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value setDefaultButton(const Napi::CallbackInfo& info); Napi::Value setDefaultButton(const Napi::CallbackInfo& info);
Napi::Value addButton(const Napi::CallbackInfo& info); Napi::Value addButton(const Napi::CallbackInfo& info);
Napi::Value accept(const Napi::CallbackInfo& info);
Napi::Value done(const Napi::CallbackInfo& info);
}; };
namespace StaticQMessageBoxWrapMethods { namespace StaticQMessageBoxWrapMethods {
DLL_EXPORT Napi::Value about(const Napi::CallbackInfo& info); DLL_EXPORT Napi::Value about(const Napi::CallbackInfo& info);

View File

@ -20,52 +20,38 @@ class DLL_EXPORT QPainterWrap : public Napi::ObjectWrap<QPainterWrap> {
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value drawArc(const Napi::CallbackInfo& info);
Napi::Value drawText(const Napi::CallbackInfo& info);
Napi::Value drawImage(const Napi::CallbackInfo& info);
Napi::Value drawPath(const Napi::CallbackInfo& info);
Napi::Value strokePath(const Napi::CallbackInfo& info);
Napi::Value begin(const Napi::CallbackInfo& info); Napi::Value begin(const Napi::CallbackInfo& info);
Napi::Value beginNativePainting(const Napi::CallbackInfo& info); Napi::Value beginNativePainting(const Napi::CallbackInfo& info);
Napi::Value boundingRect(const Napi::CallbackInfo& info);
Napi::Value boundingRectF(const Napi::CallbackInfo& info);
Napi::Value compositionMode(const Napi::CallbackInfo& info);
Napi::Value drawArc(const Napi::CallbackInfo& info);
Napi::Value drawArcF(const Napi::CallbackInfo& info);
Napi::Value drawChord(const Napi::CallbackInfo& info);
Napi::Value drawChordF(const Napi::CallbackInfo& info);
Napi::Value drawConvexPolygon(const Napi::CallbackInfo& info);
Napi::Value drawConvexPolygonF(const Napi::CallbackInfo& info);
Napi::Value drawEllipse(const Napi::CallbackInfo& info);
Napi::Value drawEllipseF(const Napi::CallbackInfo& info);
Napi::Value drawImage(const Napi::CallbackInfo& info);
Napi::Value drawImageF(const Napi::CallbackInfo& info);
Napi::Value drawLine(const Napi::CallbackInfo& info);
Napi::Value drawLineF(const Napi::CallbackInfo& info);
Napi::Value drawPath(const Napi::CallbackInfo& info);
Napi::Value drawPie(const Napi::CallbackInfo& info);
Napi::Value drawPieF(const Napi::CallbackInfo& info);
Napi::Value drawPoint(const Napi::CallbackInfo& info);
Napi::Value drawPointF(const Napi::CallbackInfo& info);
Napi::Value drawRect(const Napi::CallbackInfo& info);
Napi::Value drawRectF(const Napi::CallbackInfo& info);
Napi::Value drawText(const Napi::CallbackInfo& info);
Napi::Value drawTextF(const Napi::CallbackInfo& info);
Napi::Value end(const Napi::CallbackInfo& info); Napi::Value end(const Napi::CallbackInfo& info);
Napi::Value endNativePainting(const Napi::CallbackInfo& info); Napi::Value endNativePainting(const Napi::CallbackInfo& info);
Napi::Value eraseRect(const Napi::CallbackInfo& info);
Napi::Value eraseRectF(const Napi::CallbackInfo& info);
Napi::Value fillRect(const Napi::CallbackInfo& info);
Napi::Value fillRectF(const Napi::CallbackInfo& info);
Napi::Value opacity(const Napi::CallbackInfo& info);
Napi::Value restore(const Napi::CallbackInfo& info);
Napi::Value rotate(const Napi::CallbackInfo& info); Napi::Value rotate(const Napi::CallbackInfo& info);
Napi::Value save(const Napi::CallbackInfo& info);
Napi::Value scale(const Napi::CallbackInfo& info);
Napi::Value setBrush(const Napi::CallbackInfo& info);
Napi::Value setBrushOrigin(const Napi::CallbackInfo& info);
Napi::Value setBrushOriginF(const Napi::CallbackInfo& info);
Napi::Value setCompositionMode(const Napi::CallbackInfo& info);
Napi::Value setFont(const Napi::CallbackInfo& info); Napi::Value setFont(const Napi::CallbackInfo& info);
Napi::Value setOpacity(const Napi::CallbackInfo& info);
Napi::Value setPen(const Napi::CallbackInfo& info); Napi::Value setPen(const Napi::CallbackInfo& info);
Napi::Value setRenderHint(const Napi::CallbackInfo& info); Napi::Value setRenderHint(const Napi::CallbackInfo& info);
Napi::Value setTransform(const Napi::CallbackInfo& info); Napi::Value setTransform(const Napi::CallbackInfo& info);
Napi::Value strokePath(const Napi::CallbackInfo& info); Napi::Value setBrush(const Napi::CallbackInfo& info);
Napi::Value drawLine(const Napi::CallbackInfo& info);
Napi::Value drawEllipse(const Napi::CallbackInfo& info);
Napi::Value drawPie(const Napi::CallbackInfo& info);
Napi::Value scale(const Napi::CallbackInfo& info);
Napi::Value translate(const Napi::CallbackInfo& info); Napi::Value translate(const Napi::CallbackInfo& info);
Napi::Value drawConvexPolygon(const Napi::CallbackInfo& info);
Napi::Value save(const Napi::CallbackInfo& info);
Napi::Value restore(const Napi::CallbackInfo& info);
Napi::Value fillRect(const Napi::CallbackInfo& info);
Napi::Value compositionMode(const Napi::CallbackInfo& info);
Napi::Value setCompositionMode(const Napi::CallbackInfo& info);
Napi::Value opacity(const Napi::CallbackInfo& info);
Napi::Value setOpacity(const Napi::CallbackInfo& info);
Napi::Value drawPoint(const Napi::CallbackInfo& info);
Napi::Value drawRect(const Napi::CallbackInfo& info);
Napi::Value eraseRect(const Napi::CallbackInfo& info);
Napi::Value boundingRect(const Napi::CallbackInfo& info);
Napi::Value drawChord(const Napi::CallbackInfo& info);
Napi::Value setBrushOrigin(const Napi::CallbackInfo& info);
}; };

View File

@ -13,13 +13,13 @@ class DLL_EXPORT QPlainTextEditWrap
: public Napi::ObjectWrap<QPlainTextEditWrap> { : public Napi::ObjectWrap<QPlainTextEditWrap> {
QABSTRACTSCROLLAREA_WRAPPED_METHODS_DECLARATION QABSTRACTSCROLLAREA_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QPlainTextEdit> instance; QPointer<NPlainTextEdit> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QPlainTextEditWrap(const Napi::CallbackInfo &info); QPlainTextEditWrap(const Napi::CallbackInfo &info);
~QPlainTextEditWrap(); ~QPlainTextEditWrap();
QPlainTextEdit *getInternalInstance(); NPlainTextEdit *getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QProgressBarWrap : public Napi::ObjectWrap<QProgressBarWrap> { class DLL_EXPORT QProgressBarWrap : public Napi::ObjectWrap<QProgressBarWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QProgressBar> instance; QPointer<NProgressBar> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QProgressBarWrap(const Napi::CallbackInfo& info); QProgressBarWrap(const Napi::CallbackInfo& info);
~QProgressBarWrap(); ~QProgressBarWrap();
QProgressBar* getInternalInstance(); NProgressBar* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@ class DLL_EXPORT QProgressDialogWrap
: public Napi::ObjectWrap<QProgressDialogWrap> { : public Napi::ObjectWrap<QProgressDialogWrap> {
QDIALOG_WRAPPED_METHODS_DECLARATION QDIALOG_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QProgressDialog> instance; QPointer<NProgressDialog> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QProgressDialogWrap(const Napi::CallbackInfo& info); QProgressDialogWrap(const Napi::CallbackInfo& info);
~QProgressDialogWrap(); ~QProgressDialogWrap();
QProgressDialog* getInternalInstance(); NProgressDialog* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,17 +12,17 @@
class DLL_EXPORT QPushButtonWrap : public Napi::ObjectWrap<QPushButtonWrap> { class DLL_EXPORT QPushButtonWrap : public Napi::ObjectWrap<QPushButtonWrap> {
QABSTRACTBUTTON_WRAPPED_METHODS_DECLARATION QABSTRACTBUTTON_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QPushButton> instance; QPointer<NPushButton> instance;
bool disableDeletion;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QPushButtonWrap(const Napi::CallbackInfo& info); QPushButtonWrap(const Napi::CallbackInfo& info);
~QPushButtonWrap(); ~QPushButtonWrap();
QPushButton* getInternalInstance(); NPushButton* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value setMenu(const Napi::CallbackInfo& info); Napi::Value setMenu(const Napi::CallbackInfo& info);
Napi::Value menu(const Napi::CallbackInfo& info);
Napi::Value showMenu(const Napi::CallbackInfo& info); Napi::Value showMenu(const Napi::CallbackInfo& info);
}; };

View File

@ -13,13 +13,14 @@ class DLL_EXPORT QRadioButtonWrap : public Napi::ObjectWrap<QRadioButtonWrap> {
QABSTRACTBUTTON_WRAPPED_METHODS_DECLARATION QABSTRACTBUTTON_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QRadioButton> instance; QPointer<NRadioButton> instance;
bool disableDeletion;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QRadioButtonWrap(const Napi::CallbackInfo& info); QRadioButtonWrap(const Napi::CallbackInfo& info);
~QRadioButtonWrap(); ~QRadioButtonWrap();
QRadioButton* getInternalInstance(); NRadioButton* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,20 +11,20 @@
class DLL_EXPORT QScrollAreaWrap : public Napi::ObjectWrap<QScrollAreaWrap> { class DLL_EXPORT QScrollAreaWrap : public Napi::ObjectWrap<QScrollAreaWrap> {
QABSTRACTSCROLLAREA_WRAPPED_METHODS_DECLARATION QABSTRACTSCROLLAREA_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QScrollArea> instance; QPointer<NScrollArea> instance;
YGNodeRef scrollNode;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QScrollAreaWrap(const Napi::CallbackInfo& info); QScrollAreaWrap(const Napi::CallbackInfo& info);
~QScrollAreaWrap(); ~QScrollAreaWrap();
QScrollArea* getInternalInstance(); NScrollArea* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value ensureVisible(const Napi::CallbackInfo& info); Napi::Value ensureVisible(const Napi::CallbackInfo& info);
Napi::Value ensureWidgetVisible(const Napi::CallbackInfo& info); Napi::Value ensureWidgetVisible(const Napi::CallbackInfo& info);
Napi::Value setWidget(const Napi::CallbackInfo& info); Napi::Value setWidget(const Napi::CallbackInfo& info);
Napi::Value widget(const Napi::CallbackInfo& info);
Napi::Value takeWidget(const Napi::CallbackInfo& info); Napi::Value takeWidget(const Napi::CallbackInfo& info);
Napi::Value setViewportMargins(const Napi::CallbackInfo& info); Napi::Value setViewportMargins(const Napi::CallbackInfo& info);
Napi::Value viewportMargins(const Napi::CallbackInfo& info); Napi::Value viewportMargins(const Napi::CallbackInfo& info);

View File

@ -12,13 +12,13 @@
class DLL_EXPORT QScrollBarWrap : public Napi::ObjectWrap<QScrollBarWrap> { class DLL_EXPORT QScrollBarWrap : public Napi::ObjectWrap<QScrollBarWrap> {
QABSTRACTSLIDER_WRAPPED_METHODS_DECLARATION QABSTRACTSLIDER_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QScrollBar> instance; QPointer<NScrollBar> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QScrollBarWrap(const Napi::CallbackInfo& info); QScrollBarWrap(const Napi::CallbackInfo& info);
~QScrollBarWrap(); ~QScrollBarWrap();
QScrollBar* getInternalInstance(); NScrollBar* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QShortcutWrap : public Napi::ObjectWrap<QShortcutWrap> { class DLL_EXPORT QShortcutWrap : public Napi::ObjectWrap<QShortcutWrap> {
QOBJECT_WRAPPED_METHODS_DECLARATION QOBJECT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QShortcut> instance; QPointer<NShortcut> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QShortcutWrap(const Napi::CallbackInfo& info); QShortcutWrap(const Napi::CallbackInfo& info);
~QShortcutWrap(); ~QShortcutWrap();
QShortcut* getInternalInstance(); NShortcut* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@
class DLL_EXPORT QSliderWrap : public Napi::ObjectWrap<QSliderWrap> { class DLL_EXPORT QSliderWrap : public Napi::ObjectWrap<QSliderWrap> {
QABSTRACTSLIDER_WRAPPED_METHODS_DECLARATION QABSTRACTSLIDER_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QSlider> instance; QPointer<NSlider> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QSliderWrap(const Napi::CallbackInfo& info); QSliderWrap(const Napi::CallbackInfo& info);
~QSliderWrap(); ~QSliderWrap();
QSlider* getInternalInstance(); NSlider* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QSpinBoxWrap : public Napi::ObjectWrap<QSpinBoxWrap> { class DLL_EXPORT QSpinBoxWrap : public Napi::ObjectWrap<QSpinBoxWrap> {
QABSTRACTSPINBOX_WRAPPED_METHODS_DECLARATION QABSTRACTSPINBOX_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QSpinBox> instance; QPointer<NSpinBox> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QSpinBoxWrap(const Napi::CallbackInfo &info); QSpinBoxWrap(const Napi::CallbackInfo &info);
~QSpinBoxWrap(); ~QSpinBoxWrap();
QSpinBox *getInternalInstance(); NSpinBox *getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QSplitterWrap : public Napi::ObjectWrap<QSplitterWrap> { class DLL_EXPORT QSplitterWrap : public Napi::ObjectWrap<QSplitterWrap> {
QFRAME_WRAPPED_METHODS_DECLARATION QFRAME_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QSplitter> instance; QPointer<NSplitter> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QSplitterWrap(const Napi::CallbackInfo& info); QSplitterWrap(const Napi::CallbackInfo& info);
~QSplitterWrap(); ~QSplitterWrap();
QSplitter* getInternalInstance(); NSplitter* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@ class DLL_EXPORT QStackedWidgetWrap
: public Napi::ObjectWrap<QStackedWidgetWrap> { : public Napi::ObjectWrap<QStackedWidgetWrap> {
QFRAME_WRAPPED_METHODS_DECLARATION QFRAME_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QStackedWidget> instance; QPointer<NStackedWidget> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QStackedWidgetWrap(const Napi::CallbackInfo &info); QStackedWidgetWrap(const Napi::CallbackInfo &info);
~QStackedWidgetWrap(); ~QStackedWidgetWrap();
QStackedWidget *getInternalInstance(); NStackedWidget *getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -10,13 +10,13 @@
class DLL_EXPORT QStandardItemModelWrap class DLL_EXPORT QStandardItemModelWrap
: public Napi::ObjectWrap<QStandardItemModelWrap> { : public Napi::ObjectWrap<QStandardItemModelWrap> {
private: private:
QPointer<QStandardItemModel> instance; QPointer<NStandardItemModel> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QStandardItemModelWrap(const Napi::CallbackInfo& info); QStandardItemModelWrap(const Napi::CallbackInfo& info);
~QStandardItemModelWrap(); ~QStandardItemModelWrap();
QStandardItemModel* getInternalInstance(); NStandardItemModel* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,7 +12,7 @@ class DLL_EXPORT QStatusBarWrap : public Napi::ObjectWrap<QStatusBarWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QStatusBar> instance; QPointer<NStatusBar> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
@ -22,7 +22,7 @@ class DLL_EXPORT QStatusBarWrap : public Napi::ObjectWrap<QStatusBarWrap> {
QStatusBarWrap(const Napi::CallbackInfo &info); QStatusBarWrap(const Napi::CallbackInfo &info);
~QStatusBarWrap(); ~QStatusBarWrap();
QStatusBar *getInternalInstance(); NStatusBar *getInternalInstance();
// Wrapped methods // Wrapped methods
Napi::Value addPermanentWidget(const Napi::CallbackInfo &info); Napi::Value addPermanentWidget(const Napi::CallbackInfo &info);

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QSvgWidgetWrap : public Napi::ObjectWrap<QSvgWidgetWrap> { class DLL_EXPORT QSvgWidgetWrap : public Napi::ObjectWrap<QSvgWidgetWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QSvgWidget> instance; QPointer<NSvgWidget> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QSvgWidgetWrap(const Napi::CallbackInfo& info); QSvgWidgetWrap(const Napi::CallbackInfo& info);
~QSvgWidgetWrap(); ~QSvgWidgetWrap();
QSvgWidget* getInternalInstance(); NSvgWidget* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@ class DLL_EXPORT QSystemTrayIconWrap
: public Napi::ObjectWrap<QSystemTrayIconWrap> { : public Napi::ObjectWrap<QSystemTrayIconWrap> {
QOBJECT_WRAPPED_METHODS_DECLARATION QOBJECT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QSystemTrayIcon> instance; QPointer<NSystemTrayIcon> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QSystemTrayIconWrap(const Napi::CallbackInfo& info); QSystemTrayIconWrap(const Napi::CallbackInfo& info);
~QSystemTrayIconWrap(); ~QSystemTrayIconWrap();
QSystemTrayIcon* getInternalInstance(); NSystemTrayIcon* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,14 @@
class DLL_EXPORT QTabBarWrap : public Napi::ObjectWrap<QTabBarWrap> { class DLL_EXPORT QTabBarWrap : public Napi::ObjectWrap<QTabBarWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QTabBar> instance; QPointer<NTabBar> instance;
bool disableDeletion;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QTabBarWrap(const Napi::CallbackInfo& info); QTabBarWrap(const Napi::CallbackInfo& info);
~QTabBarWrap(); ~QTabBarWrap();
QTabBar* getInternalInstance(); NTabBar* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QTabWidgetWrap : public Napi::ObjectWrap<QTabWidgetWrap> { class DLL_EXPORT QTabWidgetWrap : public Napi::ObjectWrap<QTabWidgetWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QTabWidget> instance; QPointer<NTabWidget> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QTabWidgetWrap(const Napi::CallbackInfo &info); QTabWidgetWrap(const Napi::CallbackInfo &info);
~QTabWidgetWrap(); ~QTabWidgetWrap();
QTabWidget *getInternalInstance(); NTabWidget *getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
@ -31,5 +31,4 @@ class DLL_EXPORT QTabWidgetWrap : public Napi::ObjectWrap<QTabWidgetWrap> {
Napi::Value setTabsClosable(const Napi::CallbackInfo &info); Napi::Value setTabsClosable(const Napi::CallbackInfo &info);
Napi::Value setTabText(const Napi::CallbackInfo &info); Napi::Value setTabText(const Napi::CallbackInfo &info);
Napi::Value setTabIcon(const Napi::CallbackInfo &info); Napi::Value setTabIcon(const Napi::CallbackInfo &info);
Napi::Value widget(const Napi::CallbackInfo &info);
}; };

View File

@ -181,13 +181,15 @@
Napi::Value horizontalHeader(const Napi::CallbackInfo& info) { \ Napi::Value horizontalHeader(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
auto header = this->instance->horizontalHeader(); \ auto header = this->instance->horizontalHeader(); \
auto instance = WrapperCache::instance.getWrapper(env, header); \ auto instance = QHeaderViewWrap::constructor.New( \
{Napi::External<QHeaderView>::New(env, header)}); \
return instance; \ return instance; \
} \ } \
Napi::Value verticalHeader(const Napi::CallbackInfo& info) { \ Napi::Value verticalHeader(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
auto header = this->instance->verticalHeader(); \ auto header = this->instance->verticalHeader(); \
auto instance = WrapperCache::instance.getWrapper(env, header); \ auto instance = QHeaderViewWrap::constructor.New( \
{Napi::External<QHeaderView>::New(env, header)}); \
return instance; \ return instance; \
} }

View File

@ -11,13 +11,14 @@
class DLL_EXPORT QTableViewWrap : public Napi::ObjectWrap<QTableViewWrap> { class DLL_EXPORT QTableViewWrap : public Napi::ObjectWrap<QTableViewWrap> {
QTABLEVIEW_WRAPPED_METHODS_DECLARATION QTABLEVIEW_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QTableView> instance; QPointer<NTableView> instance;
bool disableDeletion;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QTableViewWrap(const Napi::CallbackInfo& info); QTableViewWrap(const Napi::CallbackInfo& info);
~QTableViewWrap(); ~QTableViewWrap();
QTableView* getInternalInstance(); NTableView* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QTableWidgetWrap : public Napi::ObjectWrap<QTableWidgetWrap> { class DLL_EXPORT QTableWidgetWrap : public Napi::ObjectWrap<QTableWidgetWrap> {
QABSTRACTSCROLLAREA_WRAPPED_METHODS_DECLARATION QABSTRACTSCROLLAREA_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QTableWidget> instance; QPointer<NTableWidget> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QTableWidgetWrap(const Napi::CallbackInfo& info); QTableWidgetWrap(const Napi::CallbackInfo& info);
~QTableWidgetWrap(); ~QTableWidgetWrap();
QTableWidget* getInternalInstance(); NTableWidget* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
@ -80,8 +80,4 @@ class DLL_EXPORT QTableWidgetWrap : public Napi::ObjectWrap<QTableWidgetWrap> {
Napi::Value setRowCount(const Napi::CallbackInfo& info); Napi::Value setRowCount(const Napi::CallbackInfo& info);
Napi::Value setSortingEnabled(const Napi::CallbackInfo& info); Napi::Value setSortingEnabled(const Napi::CallbackInfo& info);
Napi::Value isSortingEnabled(const Napi::CallbackInfo& info); Napi::Value isSortingEnabled(const Napi::CallbackInfo& info);
Napi::Value clearSelection(const Napi::CallbackInfo& info);
Napi::Value selectAll(const Napi::CallbackInfo& info);
Napi::Value scrollToBottom(const Napi::CallbackInfo& info);
Napi::Value scrollToTop(const Napi::CallbackInfo& info);
}; };

View File

@ -38,13 +38,14 @@ class DLL_EXPORT NTextBrowser : public QTextBrowser, public NodeWidget {
this->emitOnNode.Call({Napi::String::New(env, "forwardAvailable"), this->emitOnNode.Call({Napi::String::New(env, "forwardAvailable"),
Napi::Boolean::New(env, available)}); Napi::Boolean::New(env, available)});
}); });
QObject::connect(this, &QTextBrowser::highlighted, [=](const QUrl& link) { QObject::connect(
Napi::Env env = this->emitOnNode.Env(); this, QOverload<const QString&>::of(&QTextBrowser::highlighted),
Napi::HandleScope scope(env); [=](const QString& link) {
this->emitOnNode.Call( Napi::Env env = this->emitOnNode.Env();
{Napi::String::New(env, "highlighted"), Napi::HandleScope scope(env);
Napi::String::New(env, link.toString().toStdString())}); this->emitOnNode.Call({Napi::String::New(env, "highlighted"),
}); Napi::String::New(env, link.toStdString())});
});
QObject::connect(this, &QTextBrowser::historyChanged, [=]() { QObject::connect(this, &QTextBrowser::historyChanged, [=]() {
Napi::Env env = this->emitOnNode.Env(); Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env); Napi::HandleScope scope(env);

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QTextBrowserWrap : public Napi::ObjectWrap<QTextBrowserWrap> { class DLL_EXPORT QTextBrowserWrap : public Napi::ObjectWrap<QTextBrowserWrap> {
QTEXTEDIT_WRAPPED_METHODS_DECLARATION QTEXTEDIT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QTextBrowser> instance; QPointer<NTextBrowser> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QTextBrowserWrap(const Napi::CallbackInfo& info); QTextBrowserWrap(const Napi::CallbackInfo& info);
~QTextBrowserWrap(); ~QTextBrowserWrap();
QTextBrowser* getInternalInstance(); NTextBrowser* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -11,13 +11,13 @@
class DLL_EXPORT QTextEditWrap : public Napi::ObjectWrap<QTextEditWrap> { class DLL_EXPORT QTextEditWrap : public Napi::ObjectWrap<QTextEditWrap> {
QTEXTEDIT_WRAPPED_METHODS_DECLARATION QTEXTEDIT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QTextEdit> instance; QPointer<NTextEdit> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QTextEditWrap(const Napi::CallbackInfo& info); QTextEditWrap(const Napi::CallbackInfo& info);
~QTextEditWrap(); ~QTextEditWrap();
QTextEdit* getInternalInstance(); NTextEdit* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -12,13 +12,13 @@
class DLL_EXPORT QTimeEditWrap : public Napi::ObjectWrap<QTimeEditWrap> { class DLL_EXPORT QTimeEditWrap : public Napi::ObjectWrap<QTimeEditWrap> {
QDATETIMEEDIT_WRAPPED_METHODS_DECLARATION QDATETIMEEDIT_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QTimeEdit> instance; QPointer<NTimeEdit> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QTimeEditWrap(const Napi::CallbackInfo &info); QTimeEditWrap(const Napi::CallbackInfo &info);
~QTimeEditWrap(); ~QTimeEditWrap();
QTimeEdit *getInternalInstance(); NTimeEdit *getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods

View File

@ -21,7 +21,11 @@ class DLL_EXPORT NToolButton : public QToolButton, public NodeWidget {
QObject::connect(this, &QToolButton::triggered, [=](QAction* action) { QObject::connect(this, &QToolButton::triggered, [=](QAction* action) {
Napi::Env env = this->emitOnNode.Env(); Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env); Napi::HandleScope scope(env);
auto instance = WrapperCache::instance.getWrapper(env, action);
// disable deletion of the native instance for these by passing true
auto instance = QActionWrap::constructor.New(
{Napi::External<QAction>::New(env, action),
Napi::Boolean::New(env, true)});
this->emitOnNode.Call({Napi::String::New(env, "triggered"), instance}); this->emitOnNode.Call({Napi::String::New(env, "triggered"), instance});
}); });
} }

View File

@ -12,18 +12,18 @@
class DLL_EXPORT QToolButtonWrap : public Napi::ObjectWrap<QToolButtonWrap> { class DLL_EXPORT QToolButtonWrap : public Napi::ObjectWrap<QToolButtonWrap> {
QABSTRACTBUTTON_WRAPPED_METHODS_DECLARATION QABSTRACTBUTTON_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QToolButton> instance; QPointer<NToolButton> instance;
bool disableDeletion;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
QToolButtonWrap(const Napi::CallbackInfo& info); QToolButtonWrap(const Napi::CallbackInfo& info);
~QToolButtonWrap(); ~QToolButtonWrap();
QToolButton* getInternalInstance(); NToolButton* getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;
// wrapped methods // wrapped methods
Napi::Value setMenu(const Napi::CallbackInfo& info); Napi::Value setMenu(const Napi::CallbackInfo& info);
Napi::Value setDefaultAction(const Napi::CallbackInfo& info); Napi::Value setDefaultAction(const Napi::CallbackInfo& info);
Napi::Value showMenu(const Napi::CallbackInfo& info); Napi::Value showMenu(const Napi::CallbackInfo& info);
Napi::Value defaultAction(const Napi::CallbackInfo& info);
}; };

View File

@ -11,7 +11,7 @@
class DLL_EXPORT QTreeWidgetWrap : public Napi::ObjectWrap<QTreeWidgetWrap> { class DLL_EXPORT QTreeWidgetWrap : public Napi::ObjectWrap<QTreeWidgetWrap> {
QWIDGET_WRAPPED_METHODS_DECLARATION QWIDGET_WRAPPED_METHODS_DECLARATION
private: private:
QPointer<QTreeWidget> instance; QPointer<NTreeWidget> instance;
public: public:
static Napi::Object init(Napi::Env env, Napi::Object exports); static Napi::Object init(Napi::Env env, Napi::Object exports);
@ -20,7 +20,7 @@ class DLL_EXPORT QTreeWidgetWrap : public Napi::ObjectWrap<QTreeWidgetWrap> {
~QTreeWidgetWrap(); ~QTreeWidgetWrap();
QTreeWidget *getInternalInstance(); NTreeWidget *getInternalInstance();
// class constructor // class constructor
static Napi::FunctionReference constructor; static Napi::FunctionReference constructor;

View File

@ -16,15 +16,11 @@ class DLL_EXPORT NWidget : public QWidget, public NodeWidget {
// https://doc.qt.io/qt-5/stylesheet-reference.html // https://doc.qt.io/qt-5/stylesheet-reference.html
void paintEvent(QPaintEvent* e) override { void paintEvent(QPaintEvent* e) override {
QStyleOption opt; QStyleOption opt;
opt.initFrom(this); opt.init(this);
QPainter p(this); QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
QWidget::paintEvent(e); QWidget::paintEvent(e);
} }
virtual void connectSignalsToEventEmitter() { QWIDGET_SIGNALS } virtual void connectSignalsToEventEmitter() { QWIDGET_SIGNALS }
void _protected_updateMicroFocus(Qt::InputMethodQuery query) {
updateMicroFocus(query);
}
}; };

View File

@ -6,11 +6,9 @@
#include "QtCore/QObject/qobject_wrap.h" #include "QtCore/QObject/qobject_wrap.h"
#include "QtCore/QPoint/qpoint_wrap.h" #include "QtCore/QPoint/qpoint_wrap.h"
#include "QtCore/QRect/qrect_wrap.h"
#include "QtCore/QSize/qsize_wrap.h" #include "QtCore/QSize/qsize_wrap.h"
#include "QtGui/QCursor/qcursor_wrap.h" #include "QtGui/QCursor/qcursor_wrap.h"
#include "QtGui/QIcon/qicon_wrap.h" #include "QtGui/QIcon/qicon_wrap.h"
#include "QtGui/QPixmap/qpixmap_wrap.h"
#include "QtGui/QStyle/qstyle_wrap.h" #include "QtGui/QStyle/qstyle_wrap.h"
#include "QtGui/QWindow/qwindow_wrap.h" #include "QtGui/QWindow/qwindow_wrap.h"
#include "QtWidgets/QAction/qaction_wrap.h" #include "QtWidgets/QAction/qaction_wrap.h"
@ -60,19 +58,6 @@
bool hasClosed = this->instance->close(); \ bool hasClosed = this->instance->close(); \
return Napi::Boolean::New(env, hasClosed); \ return Napi::Boolean::New(env, hasClosed); \
} \ } \
Napi::Value mapFrom(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::Object widgetObject = info[0].As<Napi::Object>(); \
NodeWidgetWrap* widgetWrap = \
Napi::ObjectWrap<NodeWidgetWrap>::Unwrap(widgetObject); \
Napi::Object posObject = info[1].As<Napi::Object>(); \
QPointWrap* posWrap = Napi::ObjectWrap<QPointWrap>::Unwrap(posObject); \
QPoint pt = this->instance->mapFrom(widgetWrap->getInternalInstance(), \
*posWrap->getInternalInstance()); \
auto instance = QPointWrap::constructor.New( \
{Napi::External<QPoint>::New(env, new QPoint(pt.x(), pt.y()))}); \
return instance; \
} \
Napi::Value mapFromGlobal(const Napi::CallbackInfo& info) { \ Napi::Value mapFromGlobal(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
Napi::Object posObject = info[0].As<Napi::Object>(); \ Napi::Object posObject = info[0].As<Napi::Object>(); \
@ -111,19 +96,6 @@
{Napi::External<QPoint>::New(env, new QPoint(pt.x(), pt.y()))}); \ {Napi::External<QPoint>::New(env, new QPoint(pt.x(), pt.y()))}); \
return instance; \ return instance; \
} \ } \
Napi::Value mapTo(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::Object widgetObject = info[0].As<Napi::Object>(); \
NodeWidgetWrap* widgetWrap = \
Napi::ObjectWrap<NodeWidgetWrap>::Unwrap(widgetObject); \
Napi::Object posObject = info[1].As<Napi::Object>(); \
QPointWrap* posWrap = Napi::ObjectWrap<QPointWrap>::Unwrap(posObject); \
QPoint pt = this->instance->mapTo(widgetWrap->getInternalInstance(), \
*posWrap->getInternalInstance()); \
auto instance = QPointWrap::constructor.New( \
{Napi::External<QPoint>::New(env, new QPoint(pt.x(), pt.y()))}); \
return instance; \
} \
Napi::Value setLayout(const Napi::CallbackInfo& info) { \ Napi::Value setLayout(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
Napi::Object layoutObject = info[0].As<Napi::Object>(); \ Napi::Object layoutObject = info[0].As<Napi::Object>(); \
@ -429,7 +401,7 @@
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
QWindow* window = this->instance->windowHandle(); \ QWindow* window = this->instance->windowHandle(); \
if (window) { \ if (window) { \
return WrapperCache::instance.getWrapper(env, window, true); \ return WrapperCache::instance.get<QWindow, QWindowWrap>(env, window); \
} else { \ } else { \
return env.Null(); \ return env.Null(); \
} \ } \
@ -456,17 +428,6 @@
this->instance->clearMask(); \ this->instance->clearMask(); \
return env.Null(); \ return env.Null(); \
} \ } \
Napi::Value grab(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::Object boundingRectObject = info[0].As<Napi::Object>(); \
QRectWrap* boundingRectWrap = \
Napi::ObjectWrap<QRectWrap>::Unwrap(boundingRectObject); \
auto pixmap = \
this->instance->grab(*boundingRectWrap->getInternalInstance()); \
auto instance = QPixmapWrap::constructor.New( \
{Napi::External<QPixmap>::New(env, new QPixmap(pixmap))}); \
return instance; \
} \
Napi::Value grabKeyboard(const Napi::CallbackInfo& info) { \ Napi::Value grabKeyboard(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \ Napi::Env env = info.Env(); \
this->instance->grabKeyboard(); \ this->instance->grabKeyboard(); \
@ -572,209 +533,6 @@
int w = info[0].As<Napi::Number>().Int32Value(); \ int w = info[0].As<Napi::Number>().Int32Value(); \
int result = this->instance->heightForWidth(w); \ int result = this->instance->heightForWidth(w); \
return Napi::Number::New(env, result); \ return Napi::Number::New(env, result); \
} \
Napi::Value winId(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
WId result = this->instance->winId(); \
return Napi::BigInt::New(env, static_cast<uint64_t>(result)); \
} \
Napi::Value contentsRect(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QRect result = this->instance->contentsRect(); \
auto resultInstance = QRectWrap::constructor.New( \
{Napi::External<QRect>::New(env, new QRect(result))}); \
return resultInstance; \
} \
Napi::Value childAt(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int x = info[0].As<Napi::Number>().Int32Value(); \
int y = info[1].As<Napi::Number>().Int32Value(); \
QWidget* result = this->instance->childAt(x, y); \
if (result) { \
return WrapperCache::instance.getWrapper(env, \
static_cast<QObject*>(result)); \
} else { \
return env.Null(); \
} \
} \
Napi::Value focusProxy(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QWidget* result = this->instance->focusProxy(); \
if (result) { \
return WrapperCache::instance.getWrapper(env, \
static_cast<QObject*>(result)); \
} else { \
return env.Null(); \
} \
} \
Napi::Value setFocusProxy(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::Object widgetObject = info[0].As<Napi::Object>(); \
NodeWidgetWrap* widgetWrap = \
Napi::ObjectWrap<NodeWidgetWrap>::Unwrap(widgetObject); \
this->instance->setFocusProxy(widgetWrap->getInternalInstance()); \
return env.Null(); \
} \
Napi::Value focusWidget(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QWidget* result = this->instance->focusWidget(); \
if (result) { \
return WrapperCache::instance.getWrapper(env, \
static_cast<QObject*>(result)); \
} else { \
return env.Null(); \
} \
} \
Napi::Value nativeParentWidget(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QWidget* result = this->instance->nativeParentWidget(); \
if (result) { \
return WrapperCache::instance.getWrapper(env, \
static_cast<QObject*>(result)); \
} else { \
return env.Null(); \
} \
} \
Napi::Value nextInFocusChain(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QWidget* result = this->instance->nextInFocusChain(); \
if (result) { \
return WrapperCache::instance.getWrapper(env, \
static_cast<QObject*>(result)); \
} else { \
return env.Null(); \
} \
} \
Napi::Value parentWidget(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QWidget* result = this->instance->parentWidget(); \
if (result) { \
return WrapperCache::instance.getWrapper(env, \
static_cast<QObject*>(result)); \
} else { \
return env.Null(); \
} \
} \
Napi::Value previousInFocusChain(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QWidget* result = this->instance->previousInFocusChain(); \
if (result) { \
return WrapperCache::instance.getWrapper(env, \
static_cast<QObject*>(result)); \
} else { \
return env.Null(); \
} \
} \
Napi::Value window(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
QWidget* result = this->instance->window(); \
if (result) { \
return WrapperCache::instance.getWrapper(env, \
static_cast<QObject*>(result)); \
} else { \
return env.Null(); \
} \
} \
Napi::Value isAncestorOf(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::Object childWidgetObject = info[0].As<Napi::Object>(); \
NodeWidgetWrap* childWidgetWrap = \
Napi::ObjectWrap<NodeWidgetWrap>::Unwrap(childWidgetObject); \
QWidget* child = childWidgetWrap->getInternalInstance(); \
bool result = this->instance->isAncestorOf(child); \
return Napi::Boolean::New(env, result); \
} \
Napi::Value isEnabledTo(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::Object ancestorWidgetObject = info[0].As<Napi::Object>(); \
NodeWidgetWrap* ancestorWidgetWrap = \
Napi::ObjectWrap<NodeWidgetWrap>::Unwrap(ancestorWidgetObject); \
QWidget* ancestor = ancestorWidgetWrap->getInternalInstance(); \
bool result = this->instance->isEnabledTo(ancestor); \
return Napi::Boolean::New(env, result); \
} \
Napi::Value isVisibleTo(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::Object ancestorWidgetObject = info[0].As<Napi::Object>(); \
NodeWidgetWrap* ancestorWidgetWrap = \
Napi::ObjectWrap<NodeWidgetWrap>::Unwrap(ancestorWidgetObject); \
QWidget* ancestor = ancestorWidgetWrap->getInternalInstance(); \
bool result = this->instance->isVisibleTo(ancestor); \
return Napi::Boolean::New(env, result); \
} \
Napi::Value stackUnder(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::Object wWidgetObject = info[0].As<Napi::Object>(); \
NodeWidgetWrap* wWidgetWrap = \
Napi::ObjectWrap<NodeWidgetWrap>::Unwrap(wWidgetObject); \
QWidget* w = wWidgetWrap->getInternalInstance(); \
this->instance->stackUnder(w); \
return env.Null(); \
} \
Napi::Value colorCount(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int result = this->instance->colorCount(); \
return Napi::Number::New(env, result); \
} \
Napi::Value depth(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int result = this->instance->depth(); \
return Napi::Number::New(env, result); \
} \
Napi::Value devicePixelRatio(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
qreal result = this->instance->devicePixelRatio(); \
return Napi::Number::New(env, result); \
} \
Napi::Value devicePixelRatioF(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
qreal result = this->instance->devicePixelRatioF(); \
return Napi::Number::New(env, result); \
} \
Napi::Value heightMM(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int result = this->instance->heightMM(); \
return Napi::Number::New(env, result); \
} \
Napi::Value logicalDpiX(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int result = this->instance->logicalDpiX(); \
return Napi::Number::New(env, result); \
} \
Napi::Value logicalDpiY(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int result = this->instance->logicalDpiY(); \
return Napi::Number::New(env, result); \
} \
Napi::Value paintingActive(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
bool result = this->instance->paintingActive(); \
return Napi::Boolean::New(env, result); \
} \
Napi::Value physicalDpiX(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int result = this->instance->physicalDpiX(); \
return Napi::Number::New(env, result); \
} \
Napi::Value physicalDpiY(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int result = this->instance->physicalDpiY(); \
return Napi::Number::New(env, result); \
} \
Napi::Value widthMM(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
int result = this->instance->widthMM(); \
return Napi::Number::New(env, result); \
} \
Napi::Value updateMicroFocus(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
NWidget* nwidget = dynamic_cast<NWidget*>(this->instance.data()); \
if (nwidget) { \
Qt::InputMethodQuery query = static_cast<Qt::InputMethodQuery>( \
info[0].As<Napi::Number>().Int32Value()); \
nwidget->_protected_updateMicroFocus(query); \
} \
return env.Null(); \
} }
#endif // QWIDGET_WRAPPED_METHODS_DECLARATION #endif // QWIDGET_WRAPPED_METHODS_DECLARATION
@ -787,12 +545,10 @@
InstanceMethod("show", &WidgetWrapName::show), \ InstanceMethod("show", &WidgetWrapName::show), \
InstanceMethod("resize", &WidgetWrapName::resize), \ InstanceMethod("resize", &WidgetWrapName::resize), \
InstanceMethod("close", &WidgetWrapName::close), \ InstanceMethod("close", &WidgetWrapName::close), \
InstanceMethod("mapFrom", &WidgetWrapName::mapFrom), \
InstanceMethod("mapFromGlobal", &WidgetWrapName::mapFromGlobal), \ InstanceMethod("mapFromGlobal", &WidgetWrapName::mapFromGlobal), \
InstanceMethod("mapFromParent", &WidgetWrapName::mapFromParent), \ InstanceMethod("mapFromParent", &WidgetWrapName::mapFromParent), \
InstanceMethod("mapToGlobal", &WidgetWrapName::mapToGlobal), \ InstanceMethod("mapToGlobal", &WidgetWrapName::mapToGlobal), \
InstanceMethod("mapToParent", &WidgetWrapName::mapToParent), \ InstanceMethod("mapToParent", &WidgetWrapName::mapToParent), \
InstanceMethod("mapTo", &WidgetWrapName::mapTo), \
InstanceMethod("setLayout", &WidgetWrapName::setLayout), \ InstanceMethod("setLayout", &WidgetWrapName::setLayout), \
InstanceMethod("setStyleSheet", &WidgetWrapName::setStyleSheet), \ InstanceMethod("setStyleSheet", &WidgetWrapName::setStyleSheet), \
InstanceMethod("setCursor", &WidgetWrapName::setCursor), \ InstanceMethod("setCursor", &WidgetWrapName::setCursor), \
@ -844,7 +600,6 @@
InstanceMethod("setFixedWidth", &WidgetWrapName::setFixedWidth), \ InstanceMethod("setFixedWidth", &WidgetWrapName::setFixedWidth), \
InstanceMethod("ensurePolished", &WidgetWrapName::ensurePolished), \ InstanceMethod("ensurePolished", &WidgetWrapName::ensurePolished), \
InstanceMethod("clearMask", &WidgetWrapName::clearMask), \ InstanceMethod("clearMask", &WidgetWrapName::clearMask), \
InstanceMethod("grab", &WidgetWrapName::grab), \
InstanceMethod("grabKeyboard", &WidgetWrapName::grabKeyboard), \ InstanceMethod("grabKeyboard", &WidgetWrapName::grabKeyboard), \
InstanceMethod("grabMouse", &WidgetWrapName::grabMouse), \ InstanceMethod("grabMouse", &WidgetWrapName::grabMouse), \
InstanceMethod("hasHeightForWidth", &WidgetWrapName::hasHeightForWidth), \ InstanceMethod("hasHeightForWidth", &WidgetWrapName::hasHeightForWidth), \
@ -866,36 +621,7 @@
&WidgetWrapName::unsetLayoutDirection), \ &WidgetWrapName::unsetLayoutDirection), \
InstanceMethod("unsetLocale", &WidgetWrapName::unsetLocale), \ InstanceMethod("unsetLocale", &WidgetWrapName::unsetLocale), \
InstanceMethod("windowRole", &WidgetWrapName::windowRole), \ InstanceMethod("windowRole", &WidgetWrapName::windowRole), \
InstanceMethod("heightForWidth", &WidgetWrapName::heightForWidth), \ InstanceMethod("heightForWidth", &WidgetWrapName::heightForWidth),
InstanceMethod("winId", &WidgetWrapName::winId), \
InstanceMethod("contentsRect", &WidgetWrapName::contentsRect), \
InstanceMethod("childAt", &WidgetWrapName::childAt), \
InstanceMethod("focusProxy", &WidgetWrapName::focusProxy), \
InstanceMethod("setFocusProxy", &WidgetWrapName::setFocusProxy), \
InstanceMethod("focusWidget", &WidgetWrapName::focusWidget), \
InstanceMethod("nativeParentWidget", \
&WidgetWrapName::nativeParentWidget), \
InstanceMethod("nextInFocusChain", &WidgetWrapName::nextInFocusChain), \
InstanceMethod("parentWidget", &WidgetWrapName::parentWidget), \
InstanceMethod("previousInFocusChain", \
&WidgetWrapName::previousInFocusChain), \
InstanceMethod("window", &WidgetWrapName::window), \
InstanceMethod("isAncestorOf", &WidgetWrapName::isAncestorOf), \
InstanceMethod("isEnabledTo", &WidgetWrapName::isEnabledTo), \
InstanceMethod("isVisibleTo", &WidgetWrapName::isVisibleTo), \
InstanceMethod("stackUnder", &WidgetWrapName::stackUnder), \
InstanceMethod("colorCount", &WidgetWrapName::colorCount), \
InstanceMethod("depth", &WidgetWrapName::depth), \
InstanceMethod("devicePixelRatio", &WidgetWrapName::devicePixelRatio), \
InstanceMethod("devicePixelRatioF", &WidgetWrapName::devicePixelRatioF), \
InstanceMethod("heightMM", &WidgetWrapName::heightMM), \
InstanceMethod("logicalDpiX", &WidgetWrapName::logicalDpiX), \
InstanceMethod("logicalDpiY", &WidgetWrapName::logicalDpiY), \
InstanceMethod("paintingActive", &WidgetWrapName::paintingActive), \
InstanceMethod("physicalDpiX", &WidgetWrapName::physicalDpiX), \
InstanceMethod("physicalDpiY", &WidgetWrapName::physicalDpiY), \
InstanceMethod("widthMM", &WidgetWrapName::widthMM), \
InstanceMethod("updateMicroFocus", &WidgetWrapName::updateMicroFocus),
#endif // QWIDGET_WRAPPED_METHODS_EXPORT_DEFINE #endif // QWIDGET_WRAPPED_METHODS_EXPORT_DEFINE
@ -929,8 +655,3 @@
}); });
#endif // QWIDGET_SIGNALS #endif // QWIDGET_SIGNALS
#include "QtWidgets/QWidget/qwidget_wrap.h"
// ^ Yes, this is weird due to the mutual dependency between the methods macro
// and `NodeWidgetWrap`. Having this here makes everything work regardless if
// `qwidget_wrap.h` is included first or `qwidget_macro.h`.

Some files were not shown because too many files have changed in this diff Show More