aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmltablemodel
Commit message (Collapse)AuthorAgeFilesLines
* Remove the qmake project filesFabian Kosmale2021-01-151-10/+0
| | | | | | | | | Remove all qmake project files, except for examples which are used to test that qmake continues to work. Change-Id: Ic4abb72dc2dcd75df7a797c56056b6b3c5fe62ac Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-10-061-3/+3
| | | | | | | | Modify special case locations to use the new API as well. Task-number: QTBUG-86815 Change-Id: I3b964e3baf0cc7040830156dac30358ea1152801 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-242-1/+158
|\ | | | | | | Change-Id: I77f3400914fbce58f98cb3a5602fd0cebf219ac6
| * Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2020-04-222-1/+158
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/labsmodels/qqmltablemodel.cpp tests/auto/qml/qqmltablemodel/tst_qqmltablemodel.cpp This follows edc8512580fa16892dc13034e93300cc6a2bba59. Change-Id: I515d44d5d8309f4d7b911996c0ab65ea803176fa
| | * TableModel: Allow a double to be added to a field seen as int previouslyAndy Shaw2020-02-282-0/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the type for a TableModelColumn can be seen as an int when it is in the first row, it is still possible that it is representing a double value in other rows. Therefore it should be allowed to add/change a row that would display a double for that column. Change-Id: I994a8ead595f836a20a4e82fbf94953b1aa4b7da Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | CMake: Update Apple platform defines after rename in qtbaseTor Arne Vestbø2020-03-171-2/+2
| | | | | | | | | | | | | | | Change-Id: Ia0a075e3199eab735f9b289873beeb8730ebc47e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Regenerate qtdeclarativeAlexandru Croitor2020-02-121-3/+2
| | | | | | | | | | | | | | | | | | | | | Change-Id: I48d7fd306f3d1b161a8e73029282ee591b1ef612 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* | | Regenerate TestsLeander Beernaert2020-01-161-2/+0
| | | | | | | | | | | | | | | | | | Change-Id: Ib0eff9cb83b6e4c3cdbec4388969e4a194d1a88c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
* | | Merge remote-tracking branch 'origin/dev' into wip/cmakeLeander Beernaert2019-11-252-15/+15
|\| | | | | | | | | | | Change-Id: I48b9c2e4f3a75c18470c55f73f2089dc1401de54
| * | Models: Move labs classes into src/imports/labsmodelsUlf Hermann2019-10-152-15/+15
| |/ | | | | | | | | | | | | We want to have only one import URI per library. Change-Id: I8be524cf361b12bcb423c9efccd4e047ae3d8d0e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Regenerate all projects with new CMake API versionAlexandru Croitor2019-11-151-3/+3
| | | | | | | | | | | | Change-Id: Ie0db35f674137c229eaf049616f38f8e818f7092 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Regenerate remaining tests to be in syncAlexandru Croitor2019-11-151-8/+2
| | | | | | | | | | | | Change-Id: I200c8f58ad13bc1bc78409a3ce49348584ba5b51 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add QtDeclarative Test CoverageLeander Beernaert2019-08-141-0/+48
|/ | | | | | | | | | | | | | | | | | | | | | All tests compile and run on a developer build. These tests are failing: tst_qqmlsqldatabase Fails due to missing sql driver tst_qqmlsqldatabase Fails in wip/qt6 tst_ququicklayouts Fails in wip/qt6 tst_flickableinterop Fails in wip/qt6 tst_qquickpinchandler Fails in wip/qt6 tst_qquickflickable Fails in wip/qt6 tst_qquickgridview Fails in wip/qt6 tst_qquickimage Fails due to missing jpeg plugin tst_qquicklistview Fails in wip/qt6 tst_qquicktext Fails in wip/qt6 tst_qquickcanvasitem Fails in wip/qt6 tst_scenegraph Fails due to missing jpeg plugin tst_TestFiltering Fails in wip/qt6 Change-Id: I4b9d69c118e23c095cb72ad5a67653fc30943bb1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Move model types into their own libraryUlf Hermann2019-05-022-2/+2
| | | | | | | | | | The model types are not part of the core QML runtime and should only be loaded if you explicitly import them. We cannot enforce that in Qt5 as some of them are available from the QtQml import, but we can change it in Qt6. Change-Id: I1e49e84d748e352537ec2d4af901c034c91d038f Reviewed-by: Erik Verbruggen <erik.verbruggen@me.com>
* Add TableModelColumnMitch Curtis2019-04-0810-537/+546
| | | | | | | | | | | | | | | | | | | | This allows us to support simple object rows by default, which we expect to be the most common use case for TableModel. Complex rows are supported, but with a limited subset of functionality. Things that could be improved: - Would be nice if we could get arbitrary/dynamic properties like ListModel has, without the complex code that comes with it. That way we could get rid of all of the role properties and users could have their own custom roles. The limitation of only having built-in roles becomes too restrictive very quickly. Change-Id: Icbdb6b39665851c55c69c0b79e0aa523c5d46dfe Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* TableModel: support built-in QML model rolesMitch Curtis2019-02-289-96/+238
| | | | | | | | | | | | | For the display role, we'll return the first role in that column if it wasn't explicitly specified. For every other role, we can just return an invalid QVariant. As usual, roleDataProvider can be used for any data that is missing. Before this patch, the extra roles were missing from roleNames, so they couldn't be used in delegates. Change-Id: I53ac5b75526bcddec44baf834f6a093115a70993 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* TableModel: add QML-invokable overloads for index(), data() and setData()Shawn Rutledge2019-02-222-0/+88
| | | | | | | | | | | | | | data() needs to be invokable because it does more processing to ensure that DisplayRole will give us something, and we want to be able to access it in JS code too, not only via the role context property in a delegate binding. index() needs to be invokable to use it when calling data(). It's useful for setData() to be invokable so that TableView delegates can be used to edit the model. However since we don't normally expose numeric roles to QML, we use string roles, and have to look them up in the roleNames() hash. Change-Id: I38904ac995fc2bac514bde2dd37a95e0b911c00c Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* TableModel.roleDataProvider: replace row, column with index argumentShawn Rutledge2019-02-221-2/+2
| | | | | | | | | | | | QModelIndex has various advantages over separate int row and column in TableModel API; we intend to expose it via an invokable index() method and via a context property for delegates, and use it in the invokable data() function. So we should be consistent by using it in roleDataProvider too. This way the callback only requires 3 arguments instead of 4, and the first one is potentially extensible, just in case. Change-Id: I7b1bc9ea5adb64941979d83901b3566278357e98 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* TableModel: add roleDataProvider callbackShawn Rutledge2019-02-152-0/+84
| | | | | | | | | | | | | | | | As an alternative to trying to write smarter C++ in the data() accessor, we give the user full control of data conversion by calling an external JS function if defined, to map role to the value that data() should return. This enables extracting arbitrary values, converting the data in arbitrary ways, or even doing calculations in case the EditRole stores a formula and the DisplayRole should provide the result, or something like that. This callback is implemented somewhat like TableView.columnWidthProvider, but the arguments are more complex: function(row, column, role, rawData) Change-Id: Ifaf5807f4809e0b5ad1d1c403f65c0707b902f10 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Add TableModelMitch Curtis2019-02-087-0/+1333
This is a QML type that can be used as a model for the new TableView. The model data is set by assigning a JavaScript array to the rows property (or by calling appendRow()). After data has been assigned for the first time, the available columns and roles are fixed for the lifetime of the model, as opposed to ListModel where the dynamicRoles property could be used. This is done intentionally to simplify the code. The API is designed to be familiar to users of ListModel: - To add new rows, use appendRow() and insertRow(). - To modify existing rows, use setRow(), moveRow(), removeRow(), and clear(). [ChangeLog][Qt Labs QML Models] Added the TableModel QML type, a JavaScript-based model for the new TableView. Fixes: QTBUG-70334 Change-Id: I55387a08b122227c5624f78af3d450b7695d974a Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>