The goal is to add additional feedback to make it easy to see incomplete or invalid information in a Tabbed Group View based on its children View state.
Add view::BaseView::isValid Method
Virtual method that returns true if the View is valid and false otherwise. The following is the proposed behavior:
|qtAnalaysisView||True if all “active” non-optional items in the Analysis attribute are set and that there is at least one item active.|
|qtAssociationView||True if its association constraint (if present) is satisfied. An association constraint requires all components that can be associated with a specific type of attribute have been associated.|
|qtAttributeView||True if all attributes are valid and association constraint (if present) is satisfied. An association constraint requires all components that can be associated with a specific type of attribute have been associated.|
|qtCategorySelectorView||True if the active View is valid.|
|qtGroupView||True if all of its children are valid.|
|qtInstanceView||True if all of its attributes are valid.|
|qtSelectorView||True if the selected View is valid.|
There needs to a signal to indicate if a view has been modified. For the time being I propose we use qtBaseAttributeView::modified signal.
Indicating Invalid Views
The current approach would be to place the invalid icon in a Group View’s tab for the invalid children Views. We could get more creative by changing frame colors (pink for there is a problem and normal for ok).