Bug 157794

Summary: changing value of static object does not trigger a UI update
Product: [Applications] kst Reporter: Andrew Walker <arwalker>
Component: generalAssignee: kst
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 1.4.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Andrew Walker 2008-02-13 20:37:14 UTC
Version:           1.4.0 (using KDE 3.5.6)
Installed from:    Compiled From Sources
OS:                Linux

When an object is updated it will cause the update thread to send a message to update the UI elements.

However, for a primitive object with no associated data source (e.g. KstAMatrix, KstAVector) changing the size or one of the values will not necessarily trigger such an update.

This is problem when using javaScript to create a matrix or vector and then resizing it. The UI does not update to reflect the change.
Comment 1 Andrew Walker 2008-02-13 20:40:16 UTC
This is because such primitive objects have their internalUpdate() called only if one of their scalars was marked as dirty by the call to resize. The scalar will then trigger a call to internalUpdate() of its provider, and a UI update will be triggered only if the value of the scalar was changed during the internalUpdate().

Changing one of the values of a matrix or vector will never trigger a UI update.
Comment 2 Andrew Walker 2008-02-15 00:18:48 UTC
SVN commit 775123 by arwalker:

BUG:157794 UI update is trigerred when a matrix is resized or when the user calls update. This allows the user to call setValue many times before calling update once.

 M  +48 -0     bind_matrix.cpp  
 M  +10 -1     bind_matrix.h  
 M  +4 -0      bind_vector.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=775123