You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are finally implementing the long awaited support of multi-criteria rules.
As of this sprint:
Rule names will be unique again.
Rules will accept multiple sets of criteria.
Criteria sets within a rule will be evaluated in sequence order, overwhelming
the need for a notion of priority.
All criteria sets within a rule will share the same bound actions and
properties.
Some of the rule's properties will support to be overridden for a specific
criteria set. For now, these will be:
Custom name
Custom value
In a future sprint, actions parameters will probably be added to this list.
While implementing this sprint, care must be taken to facilitate the upcoming
support for range and composite zones.
There are two facets to this sprint, namely the GUI and the core engine.
Both will be implemented in parallel. @Agesse will take care of the GUI while @JulienCochuyt will update the core
engine.
New Rule Editor design
The GUI facet of this sprint exclusively focuses on re-designing the
Rule Editor dialog.
The new dialog will be based on the NVDA Settings Dialog as of NVDA 2019.1
Care must be taken nevertheless to maintain back-compatibility with earlier
versions.
Unlike its model, the new Rule Editor dialog should support being maximized at
user's will.
General panel
The "General" panel will include the following fields:
"Summary", a read-only multi-line textual representation of this rule
Criteria Sets panel
The "Criteria Sets" panel will present a list of the names of all the criteria
sets sorted by Sequence Number.
If no name has been assigned to a criteria set, it will be replaced by the
values of its context-related attributes, separated by slashes ("/").
Beside the list, a read-only text field will present a summary of the criteria
set details, including only the valued attributes, grouped by "Context",
"Criteria", "Overriddes".
Beneath the list, the following buttons:
"New"
"Edit"
"Delete"
The "New" and "Edit" buttons will bring up the "Criteria Set" dialog.
Criteria Set dialog
This dialog is also modeled after the NVDA Settings Dialog.
General panel
This panel will offer the following fields:
"Name", optional.
"Sequence Order", as a selection list.
"Technical notes", a general-purpose multiline text field.
Context panel
This panel will offer the same fields as its counterpart in the current
implementation, exception made of "Priority", being superseded by the new
"Sequence Order" in the previous panel.
Criteria panel
This panel will offer the exact same fields as its counterpart in the current
implementation.
Overrides panel
This panel will present a two-columns list for the attributes overridden by this
criteria set along with their new value.
Underneath, the buttons "New", "Edit" and "Remove".
The "New" and "Edit" buttons will bring up the "Override" dialog.
Override dialog
This modal dialog will present three fields:
The attribute to override, as a drop-down select list.
The default value for this attribute in the current rule, read-only.
The overridden value, to be applied only when this criteria set matches.
Actions panel
This panel will offer the same features as the "Actions" group in the current
implementation.
Properties panel
This panel will offer the exact same fields as its counterpart in the current
implementation.
Note: The availability of some properties depends on the chosen rule type.
Abstract
We are finally implementing the long awaited support of multi-criteria rules.
As of this sprint:
the need for a notion of priority.
properties.
criteria set. For now, these will be:
In a future sprint, actions parameters will probably be added to this list.
While implementing this sprint, care must be taken to facilitate the upcoming
support for range and composite zones.
There are two facets to this sprint, namely the GUI and the core engine.
Both will be implemented in parallel.
@Agesse will take care of the GUI while @JulienCochuyt will update the core
engine.
New Rule Editor design
The GUI facet of this sprint exclusively focuses on re-designing the
Rule Editor dialog.
The new dialog will be based on the NVDA Settings Dialog as of NVDA 2019.1
Care must be taken nevertheless to maintain back-compatibility with earlier
versions.
Unlike its model, the new Rule Editor dialog should support being maximized at
user's will.
General panel
The "General" panel will include the following fields:
Criteria Sets panel
The "Criteria Sets" panel will present a list of the names of all the criteria
sets sorted by Sequence Number.
If no name has been assigned to a criteria set, it will be replaced by the
values of its context-related attributes, separated by slashes ("
/
").Beside the list, a read-only text field will present a summary of the criteria
set details, including only the valued attributes, grouped by "Context",
"Criteria", "Overriddes".
Beneath the list, the following buttons:
The "New" and "Edit" buttons will bring up the "Criteria Set" dialog.
Criteria Set dialog
This dialog is also modeled after the NVDA Settings Dialog.
General panel
This panel will offer the following fields:
Context panel
This panel will offer the same fields as its counterpart in the current
implementation, exception made of "Priority", being superseded by the new
"Sequence Order" in the previous panel.
Criteria panel
This panel will offer the exact same fields as its counterpart in the current
implementation.
Overrides panel
This panel will present a two-columns list for the attributes overridden by this
criteria set along with their new value.
Underneath, the buttons "New", "Edit" and "Remove".
The "New" and "Edit" buttons will bring up the "Override" dialog.
Override dialog
This modal dialog will present three fields:
Actions panel
This panel will offer the same features as the "Actions" group in the current
implementation.
Properties panel
This panel will offer the exact same fields as its counterpart in the current
implementation.
Note: The availability of some properties depends on the chosen rule type.
CC @frederic-brugnot
The text was updated successfully, but these errors were encountered: