Ticket #1368 (closed defect: fixed)

Opened 10 months ago

Last modified 7 months ago

Table does not react to propertyset changes properly

Reported by: Marc Englund Owned by: Matti Tahvonen
Priority: major Milestone: User Interface Library 5.2.0 RC
Component: undefined Version: 5.0.0-pre
Keywords: Cc:
Known Issue description:
Hours estimate: Deadline (dd.mm.yyyy):
Known Issue version (since): Known Issue title:
Hours done: Depends to:
Affects documentation: no
Known Issue workaround:
Affects release notes: yes Contract:

Description (last modified by Marc Englund) (diff)

~Almost all selects, including tree, do not listen for property value changes in the container; if a property of a item is updated, the select is not repainted properly.

The only known bug is now in Table.

Change History

Changed 10 months ago by Marc Englund

Table does listen for changes, but lazy-loading row buffering causes the wrong rows to be listened to.

Changed 10 months ago by Marc Englund

[3671] fixes most issues, but needs to be thought trough: listeners are added and removed in paintContent(), which is really the wrong place, but seems to be the easiest and least error-prone place. Consider Table, that needs to attach listeners to a 'window' of rows in view and in cache; it figures out which rows to paint in paintContent(), which is then a convenient place to manage listeners. However, it's not obvious when to remove the listeners.

Changed 10 months ago by Marc Englund

  • owner changed from Jani Laakso to Marc Englund

Changed 10 months ago by Marc Englund

Table still does not notice property set changes

Changed 9 months ago by Joonas Lehtinen

  • priority changed from major to undefined

Changed 9 months ago by Marc Englund

  • description modified (diff)
  • summary changed from Selects do not listen for item/property changes to Table does not react to propertyset changes properly

Table property set change status:

Table does actually listen for changes, but Table calls setVisibleColumns() internally (in setContainerDataSource()), so new properties (columns) are actually hidden. This is wrong. If the programmer has not called setVisibleColumns(), all columns should be shown.

Table can not internally modify visibleColumns, and must paint all columns if visibleColumns is not set!

Changed 9 months ago by Matti Tahvonen

  • owner changed from Marc Englund to Matti Tahvonen
  • priority changed from undefined to major

Changed 9 months ago by Matti Tahvonen

  • status changed from new to closed
  • resolution set to fixed

in [3973]

In the code newly added container property was added to visible column list, but change event (where cache building reacted) -removed- too late. Now adding to visible list first, then add property. IScrollTable needed a bunch of changes to support this properly.

Changed 7 months ago by Joonas Lehtinen

  • milestone changed from User Interface Library 5.1.2 to User Interface Library 5.2.0

Milestone User Interface Library 5.1.2 deleted

Note: See TracTickets for help on using tickets.