Grouping by category and subcategory

Using the Selene.Backend.Control attribute, one can change numerous properties of a field as inspected by Selene. This is useful to arrange fields (thus: widgets) in a certain way. Depending on the complexity of your dialog, you might want to arrange them in tabs, or a treeview might be preferable. Even a "wizard" is possible. Demonstrated here are the Category and Subcategory string properties.

grouping.cs

For these, the following rules apply:

  • The values "cascade", meaning that they will apply until another value is given. The subcategory resets to default when the category name is changed.
  • If the field is ignored due to a ControlIgnore attribute, the category and subcategory still cascade.
  • When Selene detects but one category, she will do her best to omit category choosers such as tabs.
  • In case there is but one subcategory in a category, and its name is the default value, Selene will not display a subcategory label.
  • Next to using the named arguments, one can also use Control(string) or Control(string, string) to specify category or both.
  • All dialogs (NotebookDialog, ListStoreDialog, TreeStoreDialog and WizardDialog) are implemented in the Gtk and Qt/Qyoto frontends.

Screenshots

Note that Gtk uses the stock button dialogs.