A Layout represents the content face of a report, which data should be in.
A layout is a list of LayoutElements in order of appereance.
A Layout has also a Title property, the report shows it as heading. And, of course, serializable, saved/loaded automatically.
Editable through a GUI included in the plugin.


A LayoutElement means a column in the report, built up from four information
  • Title: This is the caption of the column.
  • Width: used as relative width (sum of the widths will be 100%, and each width will give a percentage)
  • Content: Can be static (a value from the DB) or dynamic (a function which will be evaluated for each row)
  • Filter: You can tell that only that rows shows which fullfills the filter rule. (Rules and AND-ed together.)


A Template represents the visual properties of a report, such as fonts, colors and sizes.
This is not editable from the GUI, yet, but it has a fully XML-based representation (frankly, the Template class generated from XSD),
For first run (or everytime when StrengthReportTemplates.xml not available from running directory) it loads the default, then on exit it tries to save it to running directory.
If you edit is, you can change the appereance for your own.

XML configuration files

Now the plugin has two xml-serialization based "memory", the LayoutBox and TemplareBox (each containt a list of Layout and Template, respectively).
There a default set of each built into the binary, for first run (or everytime when the files not in running directory it loads the default). On exit it tries to save it to running directory.
You can edit them and next run the plugin tries to load them, so you can customize the Templates thriugh it. The Layouts has a built in graphical editor.