Yann Lanthony
b21192282d
QObjectListModel: implement 'index' method
...
Implementing this method allows to use QObjectListModel
in combination with other Qt classes that can act on a model
(eg: QSelectionItemModel, QSortFilterProxyModel...).
2024-12-06 10:12:11 +01:00
Candice Bentéjac
579371fd7c
[qt6] Replace all PySide2/shiboken2
imports by PySide6/shiboken6
2024-11-07 18:08:54 +01:00
Candice Bentéjac
41e885d9ff
Linting: Clean-up files
2024-09-12 10:50:13 +02:00
Fabien Castan
c986b4a134
[common] DictModel get does not raise errors as in Python
...
getr raises an error if the key does not exist
2024-06-15 17:10:46 +02:00
Candice Bentéjac
8bef398bed
Remove workarounds and backports for Python 2 support
...
In particular:
- In common/, remove the backport of weakref.WeakMethod
- In docs/ and ui/, use the standard FileNotFoundError class
- Use built-in open() instead of io.open(), and stop importing io
- In core/stats.py, use the standard implementation of xml.etree instead
of the C one
2022-12-05 17:16:21 +01:00
Loïc Vital
b2db98f128
[doc] sphinx documentation setup
2022-10-11 09:59:33 +02:00
ChemicalXandco
c253e7d363
[ui] add support for selecting multiple nodes at once
2021-01-15 18:16:45 +00:00
Fabien Castan
dba781a469
[common] CoreObject: Cannot use ClassSignal in __del__
2020-09-04 19:54:27 +02:00
Julien-Haudegond
b5e126c2e4
[core] add values method to CoreListModel
2020-08-28 10:31:43 +02:00
Julien-Haudegond
6eeea3bb44
[common] Core: add destroyed signal to CoreObject
2020-08-27 11:44:35 +02:00
Julien-Haudegond
9316b8212e
[common] Core: replace CoreSignal with PySignal
2020-08-27 11:41:46 +02:00
Julien-Haudegond
3033e79181
[common] PySignal: allow to disconnect another signal
2020-08-27 11:35:58 +02:00
Julien-Haudegond
3e5e4cf3e9
[common] PySignal file
...
Add PySignal file from https://github.com/dgovil/PySignal
2020-08-27 11:27:07 +02:00
Julien-Haudegond
79e1c69d5d
Merge remote-tracking branch 'origin/develop' into dev/nodesAndTaskManager
2020-08-24 15:19:31 +02:00
Julien-Haudegond
887b33490e
[core] avoid direct includes to PySide2
2020-08-13 14:24:44 +02:00
Lee Geertsen
34a90563c8
Update TaskManager when node is removed
2019-11-29 11:34:10 +01:00
Lee Geertsen
c00db25c23
Don't lock graph and node editor while computing nodes
...
Add possibilty to, while computing nodes:
add more nodes to the task manager,
edit, duplicate and remove nodes without breaking the tasks that are submitted
2019-11-29 11:34:10 +01:00
Yann Lanthony
6ac4a9d712
[desc][qt] use QVariantList for list-type properties
...
* required for PySide2 > 5.11.1 (and compatible with 5.11.1)
* AttributeItemDelegate: test for list length to determine whether to create a slider component (if range is set to None on Python side, it will be an empty list on the QML/JS side)
2019-01-04 17:30:38 +01:00
Yann Lanthony
8679fd8bf7
[core] maintain a model with CompatibilityNodes on topology change
2018-07-20 17:52:30 +02:00
Yann Lanthony
9f2dbc9639
[reconstruction] small structural re-organization
...
* move LiveSfmManager.stepCreated to Reconstruction.sfmAugmented
* add utility methods in Reconstruction to get all images/views used in the graph
* ui: perform local auto-layout on sfm augmentation on created nodes
2018-03-21 15:53:34 +01:00
Yann Lanthony
e391d76a82
[common] add 'values' method on DictModels
2018-01-12 13:59:07 +01:00
Yann Lanthony
f3caf529aa
[common] CoreListModel: implement __getitem__
2017-12-04 11:08:49 +01:00
Yann Lanthony
9530ad6805
[core] update CoreListModel
...
* added setObjectList method
2017-11-30 21:36:32 +01:00
Yann Lanthony
d4c1ee6e83
[qt] delay objects deletion until next event loop
...
avoid warning messages when QML engine tries to evaluate an object that is already deleted
2017-11-30 21:35:43 +01:00
Yann Lanthony
16db901d86
[core] NodeChunks as a ListModel + [ui] DFS sorted nodes proxy model
...
* core: NodeChunks are now stored in a ListModel inside Node
* ui: introduce SortedModelByReference
* ui: UIGraph exposes a proxy model of its graph's nodes sorted as visited by DFS (instead of another model of chunks)
* ui: added NodeChunks Component
2017-11-28 21:43:15 +01:00
Yann Lanthony
6945cb7738
[core] fix: CoreListModel.indexOf actually returns the index
2017-11-17 17:51:41 +01:00
Yann Lanthony
f029a573b2
[qt] QObjectListModel: take ownership of objects if not already parented
...
Allows to explicitly call deleteLater() on such objects that are removed from the model
2017-11-07 19:51:05 +01:00
Yann Lanthony
a2e1369c9a
[common] improve core models
...
* CoreListModel:
* allow removal of multiple contiguious elements
* add insert method
* CoreDictModel:
* use del to remove elemvent from list
2017-11-06 18:34:14 +01:00
Fabien Castan
17e77f2e82
[core] add 'items' on CoreModel
2017-10-31 12:09:26 +01:00
Fabien Castan
46f6865a25
[core] implement uid computation for ListAttributes and GroupAttributes
2017-10-31 10:46:32 +01:00
Yann Lanthony
d0c0a28d5d
[common] introduce ListModel
...
*qt: for now, use QObjectListModel for both Dict and List models
2017-10-23 19:55:32 +02:00
Yann Lanthony
2a213b70cf
[common] add 'parent' field to CoreObject
...
useful to match QObject's API
2017-10-23 19:55:32 +02:00
Yann Lanthony
8e472b7d2b
[common] qt: use begin/endResetModel in 'clear' method
2017-10-23 19:55:31 +02:00
Yann Lanthony
455d61672e
[common] use python list naming for adding elements to QObjectListModel
...
differentiate append and extend methods
2017-10-23 19:55:31 +02:00
Yann Lanthony
1e306f8408
rename Model to DictModel + augment API
...
* add "update" and "reset" methods
* core: no more default keyAttrName
* qt: if keyAttrName is empty, don't register items in internal dictionnary
2017-10-23 19:54:55 +02:00
Yann Lanthony
9c7d0c1b1c
[desc] Attribute inherits BaseObject and expose members as properties
...
* also expose graph.Attribute's desc as a property
* introduce Variant in data structure backend API
2017-10-23 15:07:09 +02:00
Yann Lanthony
6fa0cba8db
[qt-backend] fix object referencement in setObjectList method
2017-10-20 14:57:32 +02:00
Fabien Castan
540fe3d47f
[common] CoreModel: raise an error in getter if the parameter does not exist
2017-10-16 12:24:00 +02:00
Fabien Castan
931ad23f50
Add explicit backend between standalone and pyside
2017-10-16 12:23:59 +02:00
Yann Lanthony
78c4b7f4f2
[common] add 'connect' method to CoreSignal
...
For now, callbacks are not triggered when 'emit' is called, since we might not need this level of update when using the non-UI version of meshroom.
TODO: Make sure of this
2017-10-02 15:53:59 +02:00
Yann Lanthony
a6ced86b3d
[model] fix QObjectListModel 'pop' method
...
return the removed object
2017-10-02 15:28:51 +02:00
Fabien Castan
2fcdc586a6
[bin] fix statistics
2017-10-02 14:56:36 +02:00
Yann Lanthony
547e6c93b6
rename "types" to "common" to avoid name conflict
...
types is already a standard python package
2017-09-25 20:04:41 +02:00