Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Object type: from the object itself
  • Object path: from AIDA tree, from initial user plotting request, or from the object
  • Plot order: from the current IPlotterRegion - is it overlay or not, and if it is - how many objects are already plotted there
  • Action: program that is trying perform performing action should know what it is doing - plotting, printing, etc.
  • Category: this is an external parameter and has to come from a separate service
    • Can be part of Style Registry functionality, or independent service
    • Example: selected by user from the list of available Categories - PAW style plots, GLAST style plots
    • Action looks a lot like Category: "printing" -> "printing=true"

If any styles are passed explicitly to the plotter, this implicit cumulative style will be set as parent (or merged in as a lower priority Style).

I've set three interfaces that might do the job (below), have a look.

...

Style Rule has type and value.  Rule applies to the IPlotterState if state has approptiate type, and rule value is compatible with the state value.

Also Rule Also it has a priority - defines the order in which Style that corresponds to this Rule will be used if Rule does apply.

...