raveupdateanalysis.m is the function that is called whenever the user changes a property related an an analysis. This function updates all workspace objects to reflect the current state of the analysis.
When coding your own workspace objects, you will need to call this function at the end of any function that changes the selection. You may also need to call it in other cases as described below.
The syntax for calling raveupdateanalysis is:
You must include at least the first four inputs, but it is recommended that you include the first 6. The last input is always optional.
The inputs are:
- src - any handle that can be used to retrieve the guidata.
- ev - unused
- updatetype - one of the keywords listed in the next section, used to specify which update should be done
- skipthese - (usually empty) a vector of integer indices into handles.allgraphs indicating which graphs should be skipped entirely (not updated). Use this for efficiency if the function that is calling raveupdateanalysis has already updated one or more graphs. You could also use "setdiff(1:numel(handles.allgraphs),ai)" to ONLY update graph ai.
- d - a data set index, indicating that only graphs belonging to this data set should be updated
- a - an analysis index, indicating that only graphs belonging to this analysis should be updated
- thesevars - an index into the columns of data set d, indicating which variables are affected by the change. This function does not directly use this value, but it is passed to raveupdatexdials<graphtype> as the 4th input. That function can then determine whether/how it should react to this change.
The following updates are controlled by raveupdateanalysis. To do one of these updates, call raveupdateanalysis with the keyword listed below as the 3rd argument.