Opened 4 years ago

Closed 4 years ago

#2075 closed enhancement (done)

ValueTypeArrays should provide element names similar to row names for matrix types

Reported by: mkommend Owned by: mkommend
Priority: medium Milestone: HeuristicLab 3.3.9
Component: Data Version: 3.3.8
Keywords: Cc:

Description

Note: The StringArray class must also be adapted accordingly.

Change History (13)

comment:1 Changed 4 years ago by mkommend

  • Status changed from new to accepted

comment:2 Changed 4 years ago by mkommend

r9657: Added element names for the ValueType- and StringArray classes.

comment:3 Changed 4 years ago by mkommend

  • Owner changed from mkommend to abeham
  • Status changed from accepted to reviewing

comment:4 Changed 4 years ago by mkommend

  • Owner changed from abeham to mkommend
  • Status changed from reviewing to assigned

comment:5 Changed 4 years ago by mkommend

  • Status changed from assigned to accepted

comment:6 Changed 4 years ago by mkommend

  • Owner changed from mkommend to abeham
  • Status changed from accepted to reviewing

r9692: Corrected changing of element names if a ValueType- or StringArray is resized.

Edited by abeham: fixed revision

Last edited 4 years ago by abeham (previous) (diff)

comment:7 follow-ups: Changed 4 years ago by abeham

I reviewed r9657:

  • I would not expose the property as IEnumerable<string>, but as something that can also be accessed by index. If the array members can be accessed by index, so should their names. Why not string[]?
  • StringConvertibleArrayView: Does setting each of the HeaderCell.Value properties fire a paint event?
  • StringArray.ElementNames_set: Throw InvalidOperationException instead of NotSupportedException when the state of the object is ReadOnly, see this remark.

Reviewed r9692:

  • Do we need the "Element" prefix for each element name by default?

comment:8 Changed 4 years ago by abeham

  • Owner changed from abeham to mkommend
  • Status changed from reviewing to assigned

comment:9 Changed 4 years ago by mkommend

  • Status changed from assigned to accepted

comment:10 in reply to: ↑ 7 Changed 4 years ago by mkommend

r9695: Removed default element names for ValueTypeArrays and added more efficient implementation for the row header update in the view.

comment:11 in reply to: ↑ 7 Changed 4 years ago by mkommend

  • Owner changed from mkommend to abeham
  • Status changed from accepted to reviewing

Replying to abeham:

  • I would not expose the property as IEnumerable<string>, but as something that can also be accessed by index. If the array members can be accessed by index, so should their names. Why not string[]?

The type cannot be changed to string[], because I would not get any change notifications. Maybe IList<string> with an underlying ObserveableList could be a solution. However, the performance of the row header update was improved and I am fine with the enumerable for the moment.

  • StringConvertibleArrayView: Does setting each of the HeaderCell.Value properties fire a paint event?

I don't know.

  • StringArray.ElementNames_set: Throw InvalidOperationException instead of NotSupportedException when the state of the object is ReadOnly, see this remark.

NotSupportException was chosen to stay consistent with all other HL data types and properties (e.g., Length).

Reviewed r9692:

  • Do we need the "Element" prefix for each element name by default?

This was addressed with r9695.

comment:12 Changed 4 years ago by abeham

  • Owner changed from abeham to mkommend
  • Status changed from reviewing to readytorelease

I reviewed r9695. The changes are okay.

comment:13 Changed 4 years ago by mkommend

  • Resolution set to done
  • Status changed from readytorelease to closed

r9737: Integrated the performed changes in the stable branch.

Note: See TracTickets for help on using tickets.