Skip to content
  • Guillaume Communie's avatar
    Drill samples refactoring (#32059) · 0063b501
    Guillaume Communie authored
    * [DRILL] drill parameter refactoring
    
    * [DRILL] model adds the samples
    
    * [DRILL] refactor DrillSample class
    
    * [DRILL] remove sample id from the parameters
    
    * [DRILL] samples know the controller
    
    * [DRILL] inject controller in parameter
    
    * [DRILL] new sample presenter class
    
    * [DRILL] new parameter presenter class
    
    * [DRILL] create new parameter
    
    * [DRILL] table keeps track of sample presenters
    
    This is needed to avoid suppression of presenter references by the GC.
    
    * [DRILL] new table item class
    
    This item is now used in the drill table.
    
    * [DRILL] connect modification signals in table/item
    
    * [DRILL] propagate parameter changes to model
    
    * [DRILL] avoid loop in item signals
    
    * [DRILL] method to delete a parameter from a sample
    
    * [DRILL] remove param checks from DrillModel
    
    The parameters check themselves. The model does not know about them.
    
    * [DRILL] samples signal their own processing state
    
    * [DRILL] connect sample processing state
    
    * [DRILL] special MVP for the custom options
    
    CustomOptions could contain a list of several parameters. In this
    situation, the presenter keeps track of all the parameter names and
    rewritte all of them after each edit of the table item.
    
    * [DRILL] use DrillTableItem in DrillTable
    
    * [DRILL] cell background is moved to table items
    
    * [DRILL] get processing parameters from samples
    
    * [DRILL] sample MVP on add row
    
    * [DRILL] samples signal on their own status
    
    * [DRILL] add output name in samples
    
    * [DRILL] samples take care of their own group
    
    * [DRILL] table has to be enabled to get rows
    
    * [DRILL] samples log their own processing status
    
    * [DRILL] custom options in sample only
    
    * [DRILL] useless function
    
    Now, groups are known by samples only.
    
    * [DRILL] model does not know the groups
    
    * [DRILL] model does not know master samples
    
    * [DRILL] model signals new samples
    
    * [DRILL] samples signal on new parameter
    
    * [DRILL] parameters signal on value changed
    
    * [DRILL] inject controller in parameter
    
    * [DRILL] properly remove cell background
    
    * [DRILL] get mantid property info in parameter
    
    * [DRILL] model keeps the processing parameters
    
    * [DRILL] dedicated MVP for settings
    
    * [DRILL] properly import the samples
    
    * [DRILL] properly import the global settings
    
    * [DRILL] properly import the groups
    
    * [DRILL] sample MVPs take care of their data
    
    * [DRILL] properly reset the drill table
    
    * [DRILL] window modified at right moments
    
    * [DRILL] use the correct item
    
    * [DRILL] save numpy array property as python list
    
    * [DRILL] properly save the global settings
    
    * [DRILL] properly save the samples
    
    * [DRILL] properly save the groups
    
    * [DRILL] extract boolean from custom options
    
    * [DRILL] model does know about columns
    
    * [DRILL] delete empty parameters
    
    When a cell is cleared, the corresponding parameter is deleted from the
    model.
    
    * [DRILL] window not modified when loading a file
    
    * [DRILL] task signals use string not int
    
    * [DRILL] group index starts at 0
    
    But displayed value starts at 1
    
    * [DRILL] typo
    
    * [DRILL] recompute group index when ungrouping
    
    * [DRILL] new method to add samples to a group
    
    * [DRILL] get group names in context menu
    
    * [DRILL] protect against unsupported instruments
    
    * [DRILL] add method to set the instrument in view
    
    * [DRILL] set instrument when syncing the header
    
    * [DRILL] add cancel button
    
    When the popop asking for data saving appears, there is now a way to
    cancel the action.
    
    * [DRILL] propagate cancel action of data save popup
    
    * [DRILL] master state reset when group change
    
    * [DRILL] update sample tests
    
    * [DRILL] add tests for drill parameter
    
    * [DRILL] add drill parameter doc strings
    
    * [DRILL] remove useless function
    
    The cell tooltips are handled by the table items and sample presenters.
    
    * [DRILL] remove useless function
    
    * [DRILL] remove useless functions
    
    * [DRILL] keep private member names coherent
    
    * [DRILL] document _disabled variable
    
    * [DRILL] update drill table tests
    
    * [DRILL] update rundex io tests
    
    * [DRILL] remove useless function
    
    * [DRILL] master samples have to be in a group
    
    * [DRILL] add view getter for the acquisition mode
    
    * [DRILL] synchronize instrument/mode at startup
    
    * [DRILL] column is a view concept
    
    * [DRILL] formatting
    
    * [DRILL] adaptation of model tests
    
    * [DRILL] missing parameter
    
    * [DRILL] adapt controller tests
    
    * [DRILL] adapt view tests
    
    * [DRILL] add a status in sample
    
    The status of the sample informs on its processing state. This status is
    updated by the processing engine but also when a parameter is added or
    modified.
    
    * [DRILL] typo
    
    * [DRILL] check sample validity before processing
    
    * [DRILL] simplification of parameter validation
    
    * [DRILL] avoid signal repetition
    
    * [DRILL] propagate checks on custom options
    
    * [DRILL] delete parameter when empty
    
    * [DRILL] add default empty error message
    
    * [DRILL] increase sleep for more fluidity
    
    * [DRILL] update sample status if not none
    
    * [DRILL] connect to custom option check signals
    
    * [DRILL] remove badly formatted custom options
    
    * [DRILL] keep master sample when changing group
    
    * [DRILL] add a way to unset the master sample
    
    * [DRILL] labels are handled by the table
    
    * [DRILL] row background is handled in DrillTable
    
    * [DRILL] cell contents handled by DrillTable
    
    * [DRILL] presenter needs a reference to the table
    
    * [DRILL] get selected rows from table directly
    
    * [DRILL] get all rows from table directly
    
    * [DRILL] remove background of empty cells
    
    * [DRILL] show only settings in settings dialog
    
    * [DRILL] connect settings validation signals
    
    * [DRILL] unused import
    
    * [DRILL] unused import
    
    * [DRILL] unused import
    
    * [DRILL] parameters are valid by default
    
    * [DRILL] set windowModified flag
    
    * [DRILL] set output ws name from sample index
    
    * [DRILL] update dril table tests
    
    * [DRILL] process group mechanism
    
    * [DRILL] unused variable
    
    * [DRILL] bug when erasing cells
    
    * [DRILL] not None check
    
    * [DRILL] item MVP manage their own modofication
    
    * [DRILL] datachanged emitted when MVP ready
    
    * [DRILL] DrillTableItem::setData emit a signal
    
    * [DRILL] clear columns list before setting it
    
    * [DRILL] load visual settings
    
    * [DRILL] adapt table widget tests
    
    * [DRILL] missing documentation
    
    * [DRILL] update presenter tests
    
    * [DRILL] update model tests
    
    * [DRILL] adapt view tests
    
    * [DRILL] synchronize default visual settings
    
    * [DRILL] adapt drill tests
    
    * [DRILL] adapt sample tests
    
    * [DRILL] unused statement
    
    * [DRILL] exceptions are passed
    
    * [DRILL] unused imports
    
    * [DRILL] avoid too complex warning on load
    
    * [DRILL] unused parameter
    
    * [DRILL] unused import
    
    * [DRILL] mock config
    
    * [DRILL] typo in member name
    
    * [DRILL] textChanegd signal works in system test
    
    * [DRILL] import what is needed
    
    * [DRILL] import what is needed
    
    * [DRILL] update creation date
    
    * [DRILL] update creation date
    
    * [DRILL] use filter
    
    * [DRILL] name consistency
    
    * [DRILL] new sample group class
    
    * [DRILL] group index and master in DrillSampleGroup
    
    * [DRILL] order sample in group
    
    * [DRILL] properly remove sample and update group
    
    * [DRILL] check if the sample group is empty
    
    * [DRILL] group samples with new DrillSampleGroup
    
    * [DRILL] ungroup samples with new DrillSampleGroup
    
    * [DRILL] obtain list of groups from model
    
    * [DRILL] adapt context menu to DrillSampleGroup
    
    * [DRILL) add to group with the new DrillSampleGroup
    
    * [DRILL] update group name when adding a sample
    
    * [DRILL] set master sample with DrillSampleGroup
    
    * [DRILL] update old and new master sample state
    
    * [DRILL] process parameter with DrillSampleGroup
    
    * [DRILL] process group with DrillSampleGroup
    
    * [DRILL] useless function
    
    * [DRILL] adapt model tests with DrillSampleGroup
    
    * [DRILL] adapt sample tests with DrillSampleGroup
    
    * [DRILL] StringArray property type was missing
    
    * [DRILL] convert only 1d array to list
    
    * [DRILL] more readable
    
    * [DRILL] sample group tests
    
    * [DRILL] useless function
    
    * [DRILL] more compact
    
    * [DRILL] delete from group when samples are deleted
    
    * [DRILL] properly save group
    
    * [DRILL] sample groups is a dict
    
    * [DRILL] add a getter for samples in group
    
    * [DRILL] save group in rundex from dict
    
    * [DRILL] load group in drill
    
    * [DRILL] unused variable
    0063b501