Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
-
None
Description
Each property needs to have a NOTIFY for the QML data binding to work. Data binding is used in some properties more than others, so traditional configuration type properties (and stuff you normally set once) have lacked NOTIFYs. Problem here is that non-C++ developer knows nothing about C++ property declarations and has no way of knowing what properties actually are data bindable and what not, also there often are many valid use cases for data binding properties that the original creator of the component didn't think about. Thus all the properties in Declarative elements (accessible from QML) should be data bindable.
Properties that are still missing NOTIFYs
QDeclarativeState: name, when, extends,
QDeclarativeStateGroup: target, explicity, restoreEntryValues
QDeclarativeParentChange: target, parent, x, y, width, height, scale, rotation
QDeclarativeAnchorChanges: target, reset, left, right, horizontalCenter, top, bottom, verticalCenter, baseline
QDeclarativeScriptAction: script, stateChangeScriptName
QDeclarativeParentAction: target, parent
QDeclarativeParentAnimation: target, via
QDeclarativeTransition: from, to, reversible
QDeclarativeSpringFollow: source, velocity, spring, damping, epsilon, enabled, value, modulus, mass, inSync
QDeclarativeBehavior: animation
QDeclarativeVisualDataModel: model, part, parts
QDeclarativeFlipable: front, back miss NOTIFYs, but didn't at them as the code states they are write once properties
These require the property be defined in graphicsobject
QDeclarativeItem: graphicsEffect
QDeclarativeTextEdit: inputMethodHints
QDeclarativeTextInput: inputMethodHints
Element properties, where I have added NOTIFYs during the last two weeks
QDeclarativeItem: smooth, clip
QDeclarativeMouseRegion: changed drag to CONSTANT
QDeclarativeDrag: target, axis, minimumX, maximumX, minimumY, maximumY
QDeclarativeFlickable: overShoot, maximumFlickVelocity, flickDeceleration, pressDelay
QDeclarativeLoader: resizeMode
QDeclarativeRepeater: model, delegate
QDeclarativeWebView: html, pressGrabTime, newWindowComponent, newWindowParent, renderingEnabled
QDeclarativePositioner: move, add
QDeclarativeGrid: rows, columns
QDeclarativeListView: model, highlight, delegate, header, footer, highlightFollowsCurrentItem, preferredHighlightBegin, preferredHighlightEnd, highlightRangeMode, keyNavigationWraps, cacheBuffer, snapMode
QDeclarativeGridView: model, delegate, highlight, flow, wrapEnabled, cacheBuffer
QDeclarativePath variants: name, startX, startY
QDeclarativePathView: model, path, dragMargin, snapPosition, delegate, pathItemCount
QDeclarativeXmlListModel: source, xml, query, namespaceDeclarations
QDeclarativeXmlListModelRole: name, query, isKey
QDeclarativeTimer: interval, repeat, triggeredOnStart
Elements that are already covered, either had NOTIFYS or don't have properties at all
QDeclarativeRectangle
QDeclarativeBorderImage
QDeclarativeImage
QDeclarativeText
QDeclarativeFocusPanel
QDeclarativeFocusScope
QmlSystemPalette
QmlStateGroup
QGraphicsEffect
QGraphicsOpacityEffect
QGraphicsBlurEffect
QGraphicsDropShadowEffect
QGraphicsColorizeEffect
QDeclarativeAbstractAnimation
QDeclarativePauseAnimation
QDeclarativePropertyAction
QDeclarativePropertyAnimation
QDeclarativeColorAnimation
QDeclarativeVector3dAnimation
QDeclarativeRotationAnimation
QDeclarativeAnimationGroup
QDeclarativeSequentialAnimation
QDeclarativeParallelAnimation
QDeclarativeEaseFollow
QDeclarativeConnections
QDeclarativeVisualModel
QDeclarativeListModel
QDeclarativeListElement
QDeclarativeComponent
QDeclarativeLayoutItem