Skip to content
  • Danny Hindson's avatar
    Fix problems with setting YErr columns on table workspace · 77b9c037
    Danny Hindson authored
    This change fixes a problem in Workbench when setting columns to YErr
    Previously this only worked if all Y columns had an associated YErr column. If that
    wasn't the case then the associations between Y and YErr cols got mixed up
    I have saved the link between the YErr and Y column into the C++ table workspace
    object via changes to ITableWorkspace and the Column class
    I've also modified the model\view\presenter for the table workspace to set and get
    the link via the ITableWorkspace interface
    The code in marked_columns.py has been modified to remove the _add function because
    the logic required for adding x, y and yerr was sufficiently different that trying
    to push them through a common _add function was obscuring the code
    Finally I've removed the labelindex from the ErrorColumn object in the python code
    because it can be worked out on the fly (and I didn't want to have to save this also
    into the C++ table workspace in addition to the linked column index)
    
    As part of the test updates I have removed the test
    TableWorkspaceDisplayModelTest.test_initialise_marked_columns_yerr_before_y_doesnt_mark_yerr
    because we do require the ability to add a yerr column before the corresponding y column
    The model gets refreshed whenever the C++ table workspace is updated (eg when the type of a column
    is updated) as part of a replace_workspace call. The model __init__ function builds up the column
    set left to right and a user may have set up a Y err column which is to the left of the corresponding
    Y column.
    77b9c037