Types, huh... Speaking of which, please, take a look at this piece of documentation:
https://doc.qt.io/qt-6/qml-qtquick-item.html#containmentMask-prop > It is also possible to define the contains() method on any QtObject in QML. > For example, to create a circular item that only responds to events within > its actual bounds: > > \table > \row > \li \image containmentMask-circle.gif > \li \snippet qml/item/containmentMask-circle-js.qml 0 > \endtable > containmentMask: QtObject { > property alias radius: circle.radius > function contains(point: point) : bool { > return (Math.pow(point.x - radius, 2) + Math.pow(point.y - radius, 2)) < Math.pow(radius, 2) > } > } Don't you think it's a slightest bit weird that this example stops working if you remove "type hints" from the contains() method? (Or whatever that editors/ syntax-highlight breaking but-otherwise-nice custom JS extension is called in QML land.) I don't recall such fastidiousness being a documented feature, ever. > file:///home/ratijas/projects/q/qt6/qtdeclarative/src/quick/doc/snippets/qml/ item/containmentMask-circle-js.qml:55:1: QML Rectangle: QQuickItem: Object set as mask does not have an invokable contains method, ignoring it. It might seem like it was designed to support method overloading. Unfortunately, that's not the case either: > function contains(size: size): string { > return ""; > } > QQmlApplicationEngine failed to load component > file:///home/ratijas/projects/q/qt6/qtdeclarative/src/quick/doc/snippets/qml/ item/containmentMask-circle-js.qml:70:18: Duplicate method name > qml: Did not load any objects, exiting. So, why is it a thing at all? There are no benefits, only broken syntax & introspection. -- ivan (@ratijas)
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest