Commit Graph

362 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
8f7bde6e0a scrollarea fix 2021-03-07 20:27:31 +01:00
4h7l
006d35914a
fix(qimage): fix setPixelColor (#810) 2021-02-25 22:44:22 +01:00
Wyatt Kirby
3fe8f17f94
Fix incorrect behavior of minimum size for yoga layout (#814) 2021-02-25 22:43:45 +01:00
Maks
f13673bff1
Add QFontMetrics (issue #799) (#803) 2021-02-09 18:00:20 +01:00
Atul R
f1b9665c53 Fixes for ts v4 and lint fixes 2021-01-24 19:49:38 +01:00
4h7l
107b57849e
QImage support (#789)
* Add QImage to class list

* implement some methods and constructors

* ignore cmake-build-debug folder

* fix method name

* implement more methods

* Add static QPixmap.fromImage

* implement more methods

* implement other methods

* add API docs
2021-01-24 18:51:17 +01:00
Nathanael Anderson
65db04d3f9
Add most the missing QTableWidget properties and functions. (#758) 2020-12-11 19:22:51 +05:30
Nathanael Anderson
9b96a443ce
Add the missing QTableWidgetItem properties and functions. (#756) 2020-12-11 00:00:15 +05:30
Ranieri
8b6abd75f8
Add QDesktopWidget (#738)
* Add QDesktopWidget

* Add docs
2020-11-25 01:09:24 +05:30
Ruslan Garifullin
0b5ee00b58
Added QSvgWidget (#710)
* feat: added QSvgWidget

* docs: fix sidebars syntax
2020-10-18 16:37:52 +02:00
Atul R
30ce474aab fix broken links 2020-09-19 20:36:39 +02:00
Ruslan Garifullin
979989e166
Added setFocus to QWidget (nodegui#661) (#669) 2020-08-17 23:47:18 +02:00
Doug Barbieri
fc64e7af99
Add QIcon support to QTreeWidgetItem. (#657)
* Add QIcon support to QTreeWidgetItem.

Signed-off-by: R. Douglas Barbieri <doug@dooglio.net>

* Move to QTreeWidgetItem from QTableWidgetItem...

I made a mistake and added the icon support to `QTableWidgetItem`
instead of the tree widget.

* Ran prettier.

* Add small test for the widget and item.

* Added tree widget test to demo.
2020-08-12 16:03:29 +02:00
Atul R
9946dfa568
Fixes constructor types (#634) 2020-07-15 06:35:31 +02:00
swittk
5c62cdcc8a
Implemented QDrag Class (#626)
* Added QWheelEvent

* removed x y

* Added QNativeGestureEvent

* Changed wrong type of QNativeGestureEventWrap value

* Added QTabletEvent

* Fixing build error for QTabletEvent

* adding dropaction

* fix typos

* Added more functions to QPainterPath

* Added more functions to QPainterPath

* Fixed multiple typos

* Fixed multiple typos

* Got QPainterPath additions working.

* Modified QPainterPath to use qreal instead

* Added QPointF, added a few missing methods to QPoint

* Added QRectF

* implemented QRectF

* Added acceptDrops and setAcceptDrops to QWidget, will be useful for addon implementation of Drag and Drop

* Added more methods to QUrl

* Added QMimeData, additional methods to QUrl, and Dropping should now be supported

* refactored

* Fixed more merge conflicts

* Is this my final merge conflict??

* All merge conflicts resolved

* All merge conflicts resolved

* Adds guide for drag and drop

* lint fix

* added preliminary stuff, will need to tweak to make compilable..

* Compile passed, let's see if it works...

* QDrag added, working

* pause a bit, QDrag causes delayed error of 'QPaintDevice: Cannot destroy paint device that is being painted'

* Revert "Implemented QDrag class"

* Disabled problematic functions

* pulling from origin

Co-authored-by: Switt Kongdachalert <switt1995@yahoo.com>
Co-authored-by: Atul R <atulanand94@gmail.com>
2020-07-04 19:58:40 +02:00
Shubham Zanwar
c54826de6a
feat: adding ordering and next sibling method to flex layout (#615)
* feat: adding methods to get the child index and next child

* feat: ordering children properly in insert before
2020-06-28 14:01:05 +02:00
swittk
3cb3424250
Added QMimeData, additional methods to QUrl, and Dropping should now be supported (#614)
* Added QWheelEvent

* removed x y

* Added QNativeGestureEvent

* Changed wrong type of QNativeGestureEventWrap value

* Added QTabletEvent

* Fixing build error for QTabletEvent

* adding dropaction

* fix typos

* Added more functions to QPainterPath

* Added more functions to QPainterPath

* Fixed multiple typos

* Fixed multiple typos

* Got QPainterPath additions working.

* Modified QPainterPath to use qreal instead

* Added QPointF, added a few missing methods to QPoint

* Added QRectF

* implemented QRectF

* Added acceptDrops and setAcceptDrops to QWidget, will be useful for addon implementation of Drag and Drop

* Added more methods to QUrl

* Added QMimeData, additional methods to QUrl, and Dropping should now be supported

* refactored

* Fixed more merge conflicts

* Is this my final merge conflict??

* All merge conflicts resolved

* All merge conflicts resolved

* Adds guide for drag and drop

* lint fix

Co-authored-by: Switt Kongdachalert <switt1995@yahoo.com>
Co-authored-by: Atul R <atulanand94@gmail.com>
2020-06-27 17:35:31 +02:00
swittk
3fadf33113
Added setAcceptDrops, acceptDrops to QWidget for creating drag-drop extensions (#613)
* Added QWheelEvent

* removed x y

* Added QNativeGestureEvent

* Changed wrong type of QNativeGestureEventWrap value

* Added QTabletEvent

* Fixing build error for QTabletEvent

* adding dropaction

* fix typos

* Added more functions to QPainterPath

* Added more functions to QPainterPath

* Fixed multiple typos

* Fixed multiple typos

* Got QPainterPath additions working.

* Modified QPainterPath to use qreal instead

* Added QPointF, added a few missing methods to QPoint

* Added QRectF

* implemented QRectF

* Added acceptDrops and setAcceptDrops to QWidget, will be useful for addon implementation of Drag and Drop

Co-authored-by: Switt Kongdachalert <switt1995@yahoo.com>
2020-06-26 16:53:43 +02:00
swittk
b0570fcdc5
Added Support For QTabletEvent and QNativeGestureEvents (#611)
* Added QWheelEvent

* removed x y

* Added QNativeGestureEvent

* Changed wrong type of QNativeGestureEventWrap value

* Added QTabletEvent

* Fixing build error for QTabletEvent

Co-authored-by: Switt Kongdachalert <switt1995@yahoo.com>
2020-06-22 14:47:05 +02:00
swittk
2b74e3cd77
Added Support for QWheelEvent (#609)
* Added QWheelEvent

* removed x y

Co-authored-by: Switt Kongdachalert <switt1995@yahoo.com>
2020-06-22 09:24:20 +02:00
Atul R
558086655f updates docs and bump version 2020-06-09 19:37:29 +02:00
Adam Gastineau
4ea054084c
Implemented QGridLayout property accessors (#598)
* Implemented QGridLayout property accessors

* Remove unnecessary demo code

* Minor formatting changes
2020-06-09 16:15:02 +02:00
Adam Gastineau
cab30f4822
Added support for setRow/ColumnCount (#578) 2020-05-25 16:08:28 +02:00
流君酱
fa7ddaa531
added support for QWidget::maximumSize && QWidget::minimumSize (#574) 2020-05-22 16:49:38 +02:00
Atul R
1bd0a5ca10
Upgrade deps (#562)
* upgrade qode

* 0.20.0

* dep updates

* formatting and fix exports

* fix type rename
2020-05-13 09:15:46 +02:00
Stephen A
b4c8cf61e7
add QPainterPath and additional QPainter functions (#552) 2020-05-12 09:43:32 +02:00
Mihkel
17239ae5cf
added support for QWidget::removeAction #548 (#549) 2020-05-08 08:40:00 +02:00
Singha360
5f2bc51bbc
Added method to set column width to QTreeWidget (#523)
* Fixed slight error in dependencies installation command (Ubuntu)

* Implemented setColumnWidth method for QTreeWidget

* Added an example of using setColumnWidth method

* Fixed doc error for setColumnWidth method.
2020-04-19 10:07:40 +02:00
mspencer92
e8c97e1938
Added fromString functions to QDate, QTime, and QDateTime (#518)
Added fromString functions to QDate, QTime, and QDateTime and added a demo on how to show and sort QDate and QTime in a QTreeWidget.
2020-04-14 19:16:02 +02:00
feng8848
527a18a1e5
fix issue #503 (#519)
* fix issue #481

* fix lint

* Add QTextEdit and QTextBrowser

* Add QGraphicsBlurEffect

* Add QGraphicsDropShadowEffect

Co-authored-by: wuxiaofeng <wuxiaofeng@erayt.com>
2020-04-14 19:10:34 +02:00
Atul R
e0cddc9a7b bring back event loop activator 2020-04-13 23:34:58 +02:00
Solant
300925260e
Set cursor (#505)
* implemented QCursor setter for QWidget::setCursor method

* sorted includes, removed console.log statement from tests
2020-04-13 10:18:30 +02:00
Solant
0043c50f32
Fixed return type of QMouseEvent.button() method (#500) 2020-04-11 15:02:06 +02:00
feng8848
e1906ff533
Add QTextEdit and QTextBrowser (#495)
* fix issue #481

* fix lint

* Add QTextEdit and QTextBrowser

Co-authored-by: wuxiaofeng <wuxiaofeng@erayt.com>
2020-04-06 19:30:12 +02:00
mspencer92
7836aadd71
Fix bug in QDialog (#485)
QDialog should return DialogCode either Rejected or Accepted.
2020-04-05 10:05:35 +02:00
feng8848
44e64b007b
fix issue #481 (#483)
Co-authored-by: wuxiaofeng <wuxiaofeng@erayt.com>
2020-04-01 11:54:38 +02:00
feng8848
e09333c948
fix issue #473 (#475)
* fix issue #473

* fix ts lint

Co-authored-by: wuxiaofeng <wuxiaofeng@erayt.com>
2020-03-30 20:05:27 +02:00
mspencer92
117be556cf
Update QTreeWidget (#474)
* Update QTreeWidget

Fixed a bug with QTreeWidget::currentItem() crashing when nothing is selected and added QTreeWidget::takeTopLevelItem() and QTreeWidget::clear()

* Fix garbage collection

* Fix garbage collection
2020-03-30 20:03:24 +02:00
Atul R
7b8a3b8088
Update docs 14 (#470)
* Adds docs for handling events

* updates docs to latest version

* adds more text

* fixes docs

* upgrade yarn lock
2020-03-28 20:46:26 +01:00
feng8848
0ec2b3f2cb
Export more class (#469)
* Add QDoubleSpinBox

* Add QBrush

* Add QListView and improve QListWidget

* Add QErrorMessage

* Add QFontDialog

* Add QProgressDialog

* Add QLCDNumber

Co-authored-by: wuxiaofeng <wuxiaofeng@erayt.com>
2020-03-28 18:15:23 +01:00
feng8848
5e241f43b0
Add QBrush (#468)
* Add QDoubleSpinBox

* Add QBrush

Co-authored-by: wuxiaofeng <wuxiaofeng@erayt.com>
2020-03-27 17:24:25 +01:00
mspencer92
6bc7f12746
Added QStandardModel (#467)
* Added QStandardModel

* Update demo.ts
2020-03-25 22:06:53 +01:00
Atul R
c499645797 cleanup memory for scrollarea
Adds basic format
2020-03-24 20:35:29 +01:00
mspencer92
e0dad876ec
Added more functions for QTreeWidget and QTreeWidgetItem and added a function to sort and filter QTreeWidget (#465) 2020-03-24 20:31:50 +01:00
feng8848
cf4e221fdf
Add QDoubleSpinBox (#463)
Co-authored-by: wuxiaofeng <wuxiaofeng@erayt.com>
2020-03-24 20:15:57 +01:00
Shubham Zanwar
3b53e8b69d
tabs: adding insertTab function to insert tabs at a given index (#462)
* add cpp method to insert tab at a given index

* add ts method to insert tab at given index

* add insert tab demo

* fixing lint issues in cpp code

* fix: passing the native widgets to insertTab
2020-03-23 13:34:41 +01:00
feng8848
d80d27a10c
Add QColorDialog (#455)
* fix issue #439

* Add QTabBar

* Add QColorDialog

Co-authored-by: wuxiaofeng <wuxiaofeng@erayt.com>
2020-03-22 10:49:21 +01:00
mspencer92
38b8c9536d
Added QTreeWidget functions (#452)
https://github.com/nodegui/nodegui/issues/231#issuecomment-601390056
2020-03-20 09:43:54 +01:00
feng8848
d7060f3256
Add QTabBar (#451)
* fix issue #439

* Add QTabBar

Co-authored-by: wuxiaofeng <wuxiaofeng@erayt.com>
2020-03-17 08:25:54 +01:00
Atul R
50f43d955a
adds memoization and perf fixes (#450)
* adds memoization and perf fixes

* 0.16.1
2020-03-17 00:17:15 +01:00