Commit Graph

517 Commits

Author SHA1 Message Date
Simon Edwards
7d8fb77481 Make QTabBar.setTabButton() accept null 2022-04-16 21:49:08 +02:00
Simon Edwards
69d0e2e3cd Add visibility related methods/event to QWindow 2022-04-06 19:31:04 +02:00
Simon Edwards
733c24e6cd Add QMoveEvent 2022-04-05 20:48:21 +02:00
Simon Edwards
34ce565bb8 Fill in most of the QLineEdit methods 2022-03-12 10:56:46 +01:00
Simon Edwards
3291216bbb Fill in more values for QStylePixelMetric 2022-03-02 19:18:37 +01:00
Simon Edwards
eb6754fe8a Fix the default alignment in QGridLayout.addWidget() and QGridLayout.addLayout() 2022-02-13 10:16:58 +01:00
Simon Edwards
b4c9c0d51b Add QWidget.mapTo() and QWidget.mapFrom() 2022-02-12 11:43:51 +01:00
Simon Edwards
c877a2814e Make QWindow fire QEvents as events; add "window state" methods 2022-02-08 22:19:40 +01:00
Simon Edwards
2865212937 Add QWidget.winId(), useful for forcing window creation 2022-02-06 19:09:27 +01:00
Simon Edwards
ed7da32952 Add alignment parma support to QGridLayout.addWidget() 2022-02-04 16:04:47 +01:00
Simon Edwards
a0b53f2e0c Add some windowing related methods to QWindow 2022-02-04 15:47:31 +01:00
Simon Edwards
a2fd884543 Make QLineEdit.setText() accept an empty string 2022-01-23 12:05:31 +01:00
Simon Edwards
78895a002f Fix QWidget.setEnable()/setDisable() 2021-12-27 13:34:29 +01:00
Simon Edwards
9f9e61289b More QWidget methods and properties 2021-12-26 18:53:49 +01:00
Simon Edwards
94ce790891 Apply code formatting 2021-12-11 15:31:43 +01:00
Simon Edwards
21ed97037a Add QResizeEvent class 2021-12-11 15:31:43 +01:00
Simon Edwards
1ab7d13b96 Add QWidget.setFixedHeight(), QWidget.setFixedWidth(), and QWidget.sizeHint() 2021-12-11 15:31:43 +01:00
Simon Edwards
47b3d514bb Add QWidget.setParent() 2021-12-11 15:31:43 +01:00
Simon Edwards
0e33e39759
Remove most unneeded or buggy Napi:HandleScope uses (#895) 2021-12-03 19:02:06 +01:00
Simon Edwards
d11ed993ee
Add signal support to QClipboard (#894)
* Add signal support to `QClipboard`

issue ##713
2021-12-02 20:33:46 +01:00
Simon Edwards
06528cdd67 Merge branch 'master' into qscreen_qwindow 2021-11-13 11:39:04 +01:00
Simon Edwards
05a5fdd539 Apply code formatting 2021-11-07 21:38:26 +01:00
Andreas Kröhnke
b35f386e46 Add QSplitter 2021-11-07 21:34:38 +01:00
Simon Edwards
7ae4a5cb7e Wrap some native objects during event dispatch 2021-11-06 20:41:04 +01:00
Simon Edwards
2dc8319b50 Add some tests for the wrapper cache 2021-11-05 21:10:01 +01:00
Simon Edwards
eea4f6fe30 Merge branch 'master' into qscreen_qwindow 2021-11-04 20:47:52 +01:00
Simon Edwards
c44d40b2e5 Fix import weirdness which caused the tests to fail 2021-11-04 20:24:06 +01:00
Simon Edwards
88b2fcbcd1 Treat args to QPainter.translate(), scale(), and rotate() as doubles, not ints
issue #887
2021-11-03 21:21:58 +01:00
Simon Edwards
f7f86d5cfa Pass env to WrapperCache::get() 2021-10-31 17:02:43 +01:00
Simon Edwards
2b2d2a65b2 Make the wrapper cache generic. Apply it to QWindow and QScreen 2021-10-31 09:32:37 +01:00
Simon Edwards
123123605c Make the wrapper cache callback work 2021-10-27 12:20:49 +02:00
Simon Edwards
710cfa3d31 Add wrapper caching. Try it on QScreen. 2021-10-27 10:46:12 +02:00
Simon Edwards
05c690dcd9 Fill in more screen and DPI support in QApplication 2021-10-24 11:19:05 +02:00
Simon Edwards
fa52c674ef Support addEventListener() when the wrapper handles signals 2021-10-23 18:51:17 +02:00
Simon Edwards
8ce6dde45b Add QScreen and QWindow, remove the deprecated QDesktopWidget 2021-10-22 22:15:59 +02:00
Simon Edwards
bfd45b3a54 Add QScreen and QWindow, remove the deprecated QDesktopWidget 2021-10-22 22:13:17 +02:00
Simon Edwards
8ddc4172cd Add more QWidget methods 2021-10-16 16:43:24 +02:00
Simon Edwards
81eeaa3a20 Don't delete QObjects which have a parent
Qt's memory management is built around trees of objects where deleting the root object also deletes the whole tree. Objects with a parent are owned by that parent.
2021-10-16 14:16:34 +02:00
Andreas Kröhnke
47c00fabc1 Add QBrush as an argument to QPainter.setBrush 2021-10-14 20:15:03 +02:00
Simon Edwards
c4d9a93e56 Add many TODO comments, methods, and signals to QComboBox 2021-09-29 21:48:56 +02:00
Simon Edwards
c91856641c Fix QPen being completely broken 2021-09-24 20:21:36 +02:00
Simon Edwards
96b3cbe594 Add more QPainter methods 2021-09-23 20:52:23 +02:00
Simon Edwards
3ada99b201 Add TODO comments to QPainter.ts 2021-09-23 20:26:00 +02:00
Simon Edwards
bd6b127358 Add QSizeF and QFontMetricsF 2021-09-20 21:45:14 +02:00
Simon Edwards
328dcea8c8 Remove some dead code in qstyle_wrap.cpp 2021-09-18 10:43:25 +02:00
Simon Edwards
590385339c Add QStyle.polish(), QStyle.unpolish(), and QWidget.style() 2021-09-13 19:50:53 +02:00
Simon Edwards
44bb1e5f0e QWidget: Add TODO comments, setSizePolicy(), set max/min width/height methods 2021-09-11 12:14:43 +02:00
Simon Edwards
a4a961666a Fill in QFontMetrics methods 2021-09-07 22:46:27 +02:00
Simon Edwards
7af718b834 Add count() to QStackedWidget 2021-09-07 20:32:50 +02:00
Simon Edwards
8060a631b1 Add dumpObjectTree() & dumpObjectTree() to QObject 2021-09-07 20:32:09 +02:00
Simon Edwards
01096abede Fill in the QHeaderView methods 2021-09-02 21:33:09 +02:00
Simon Edwards
8110982412 Format C++ code 2021-09-02 19:15:51 +02:00
Nathanael Anderson
4429959fed Fix QWidgetTableItem Wrapper 2021-09-02 19:10:35 +02:00
Simon Edwards
87af1db2bc Fix up QHeaderView failing on the default nodejs MS compiler 2021-08-31 18:30:31 +02:00
Simon Edwards
391971f80b Fix QTableView.verticalHeader() and return the correct header 2021-08-30 19:24:38 +02:00
Simon Edwards
c3c597df4d Add QStyleFactory and bits to set the app style 2021-08-28 10:58:40 +02:00
Simon Edwards
25f529757e Add width() and height() to QWidget 2021-08-26 22:19:03 +02:00
Simon Edwards
edf437f056 Fill in QAbstractItemView methods & enums; add QItemSelectionModel 2021-08-26 22:13:35 +02:00
Simon Edwards
8c79f3d093 Fix some freshly created bugs in QAbstractItemModel.ts 2021-08-26 20:17:23 +02:00
Simon Edwards
55217146ae More methods for QAbstractItemModel 2021-08-22 09:48:17 +02:00
Simon Edwards
4f0f64884d Keep backwards compatability with non-virtual connectSignalsToEventEmitter() 2021-08-22 09:48:17 +02:00
Simon Edwards
1f11f1cf8b Make connectSignalsToEventEmitter() virtual to support wrappers on plain Qt widget instances 2021-08-22 09:48:17 +02:00
Simon Edwards
d81b781d1f Warn when using addEventListener() on an instance not from NodeGui 2021-08-22 09:48:17 +02:00
Simon Edwards
053fc9dc65 Add (basic) QHeaderView; Support wrappers on plain Qt widgets 2021-08-22 09:48:17 +02:00
Simon Edwards
11c33771c2 Format some TS code 2021-08-22 09:48:17 +02:00
Simon Edwards
c209fe2adc Format cpp code 2021-08-22 09:48:17 +02:00
Simon Edwards
940351acbe Sort and doc the state of QAbstractItemModel and its methods/signals 2021-08-22 09:48:17 +02:00
Simon Edwards
f7a4a4d3d1 Add QAbstractItemModel.buddy() support 2021-08-22 09:48:17 +02:00
Simon Edwards
e81b5ae658 Implement QAbstractItemModel.setData() and 5th tutorial example 2021-08-22 09:48:17 +02:00
Simon Edwards
588093519a Add header model view tutorial example 2021-08-22 09:48:17 +02:00
Simon Edwards
3a83a7fe62 Fix bug in QAbstractItemModel.rowCount() 2021-08-22 09:48:17 +02:00
Simon Edwards
b5a9f30d34 Add the changing data model view example 2021-08-22 09:48:17 +02:00
Simon Edwards
25026a55f7 Add 2nd model view tutorial app 2021-08-22 09:48:17 +02:00
Simon Edwards
467231d4b7 Fix up constructor arg handling in QBrush. 2021-08-22 09:48:17 +02:00
Simon Edwards
3aeb4b09bf Fill in the missing values from ItemDataRole 2021-08-22 09:48:17 +02:00
Simon Edwards
9eed41ecd8 Add bold support to QFont 2021-08-22 09:48:17 +02:00
Simon Edwards
25e0d61e01 Add basic QAbstractItemModel and QAbstractTableModel 2021-08-22 09:48:17 +02:00
Simon Edwards
080bb3626d Add some missing geometry methods to QWidget 2021-08-13 15:53:00 +02:00
Atul R
c26a194694
Upgrade deps and qode (#865)
* bump deps

* fix test

* fix node verison

* 0.36.0

* revert tsconfig

* add env

* fix cmake build for windows

* fix qode bump

* temp fix
2021-08-09 23:44:46 +02:00
Simon Edwards
a577689cd4 Add QFontDatabase.applicationFontFamilies() 2021-08-08 20:45:41 +02:00
Simon Edwards
d3f6d6d092 Implement QGridLayout.addLayout() 2021-08-04 20:31:33 +02:00
Simon Edwards
87e6531c65 Re-use existing JS event emitters when creating JS side wrappers
By not re-using JS event emitters, if a JS/C++ wrapper is created twice for
a `QObject` then any previously registered event handlers will be overwritten
and lost when the `QObject`'s `initNodeEventEmitter()` is called for a 2nd
time.
2021-08-02 17:07:13 +02:00
Simon Edwards
880a8433cb Add QApplication.setStyleSheet() 2021-07-30 09:34:15 +02:00
Simon Edwards
f319a24ad3 Add QColor.rgb() and QColor.rgba() 2021-07-30 09:34:15 +02:00
Simon Edwards
17462abae7 Add a (basic) QPalette 2021-07-30 09:34:15 +02:00
Simon Edwards
2901d09d01
Extra methodsfor QPainter, string lists in QVariant, and default args for QClipboard (#858)
* Add string list support to `QVariant`

* Add more methods to `QPainter`

* Give the `QClipboard` methods default params to match C++ API

* Code style fix for `nutils.cpp`
2021-07-16 21:14:16 +02:00
Simon Edwards
d04364a186
Add QInputEvent methods (#853) 2021-07-11 12:33:17 +02:00
Simon Edwards
4a66c65034
Export SliderAction (#852) 2021-07-11 08:35:17 +02:00
Simon Edwards
4eebad6f5f
Add way for JS to stop event processing in QObject::event() (#850)
This adds a couple small methods on `QObject` which makes it possible for
JS code to indicate to the currently running `QObject::event()` override
method whether it should allow more processing of an event or to stop
processing and not call super class `event()` method. This is Qt recommended
(C++) way of overriding event behaviour and stopping default behaviour.
2021-07-10 20:49:43 +02:00
Atul R
8549a4e1de update demo 2021-07-09 20:01:38 +02:00
Simon Edwards
1bc346d22c
Add QEvent methods to all subclasses + some random methods (#848)
* Add `clearFocus()` to `QWidget`

* Add `Alignment` param to `QBoxLayout.addWidget()`

* Add `setViewportMargins()` & `viewportMargins()` to `QScrollArea`

* Add `QEvent` methods to all event related subclasses

* Tell C++ that our 0 is zero and not a null pointer
2021-07-08 22:45:41 +02:00
Simon Edwards
f4e0ca1677
More random methods and events (#847)
* Add `maximumViewportSize()`, `setHorizontalScrollBar()` & `setVerticalScrollBar()` to `QAbstractScrollArea`

* Log any JS exceptions thrown during Qt event dispatch

* Add `setData()` & `data()` to `QAction`

* Add `clear()` to `QMenu`

* Add `triggered` event support to `QMenu`

* Code style fixes

* Add `focusWindowChanged` event to `QApplication`

* Add `isActiveWindow()` to `QWidget`
2021-07-04 12:55:41 +02:00
Simon Edwards
2b26ea4ddd
Extra font and painter related methods and classes (#845)
* Add `QPaintEvent`

* Add `setStyleName()` to `QFont`

* Add `isFixedPitch()` and `styles()` to `QFontDatabase`

* Add `drawImage()` to `QPainter`

* Add `setFocusPolicy()` to `QWidget`
2021-06-26 18:37:53 +02:00
Simon Edwards
a59274c371
Extra drawing related methods (#844)
* Add `setPixelSize()` & `pixelSize()` to `QFont`

* Add `xHeight()` to `QFontMetrics`

* Export `QImageFormat`

* Add `drawArc()`, `setFont()`, `setTransform()`, & `fillRect()` to `QPainter`

* Improve `QPainter.setTransform()` docs
2021-06-19 11:34:40 +02:00
Simon Edwards
953b553089
Add extra QMouseEvent and QPainter methods (#837)
* Add `buttons()` to `QMouseEvent`

* Add `beginNativePainting()` and `endNativePainting()` to `QPainter`
2021-06-12 17:51:42 +02:00
Steven Koch
69e6d8d6e2
Add painter.drawPie method and fix painterPath.arcTo arguments (#782) 2021-03-07 21:31:30 +01:00
Atul R
5b8eef255d fix lint 2021-03-07 20:32:00 +01:00
Atul R
8f7bde6e0a scrollarea fix 2021-03-07 20:27:31 +01:00
Atul R
b7ad6ed815 bump yoga native 2021-03-07 15:11:54 +01:00
4h7l
006d35914a
fix(qimage): fix setPixelColor (#810) 2021-02-25 22:44:22 +01:00