protected function setProperties()
{
// create the export plugin property item
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('XML');
$exportPluginProperties->setExtension('xml');
$exportPluginProperties->setMimeType('text/xml');
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup("general_opts");
// create primary items and add them to the group
$leaf = new HiddenPropertyItem("structure_or_data");
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// export structure main group
$structure = new OptionsPropertyMainGroup("structure", __('Object creation options (all are recommended)'));
// create primary items and add them to the group
$leaf = new BoolPropertyItem("export_events", __('Events'));
$structure->addProperty($leaf);
$leaf = new BoolPropertyItem("export_functions", __('Functions'));
$structure->addProperty($leaf);
$leaf = new BoolPropertyItem("export_procedures", __('Procedures'));
$structure->addProperty($leaf);
$leaf = new BoolPropertyItem("export_tables", __('Tables'));
$structure->addProperty($leaf);
$leaf = new BoolPropertyItem("export_triggers", __('Triggers'));
$structure->addProperty($leaf);
$leaf = new BoolPropertyItem("export_views", __('Views'));
$structure->addProperty($leaf);
$exportSpecificOptions->addProperty($structure);
// data main group
$data = new OptionsPropertyMainGroup("data", __('Data dump options'));
// create primary items and add them to the group
$leaf = new BoolPropertyItem("export_contents", __('Export contents'));
$data->addProperty($leaf);
$exportSpecificOptions->addProperty($data);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}