1 #include "extensionwidget.h"
2 
ExtensionWidget(QWidget * parent)3 ExtensionWidget::ExtensionWidget(QWidget * parent) : BaseObjectWidget(parent, ObjectType::Extension)
4 {
5 	Ui_ExtensionWidget::setupUi(this);
6 	configureFormLayout(extension_grid, ObjectType::Extension);
7 
8 	extension_grid->addItem(new QSpacerItem(10,10,QSizePolicy::Minimum,QSizePolicy::Expanding), extension_grid->count()+1, 0, 1, 0);
9 	configureTabOrder({ cur_ver_edt, old_ver_edt, handles_type_chk });
10 
11 	setMinimumSize(500, 180);
12 }
13 
setAttributes(DatabaseModel * model,OperationList * op_list,Schema * schema,Extension * ext)14 void ExtensionWidget::setAttributes(DatabaseModel *model, OperationList *op_list, Schema *schema, Extension *ext)
15 {
16 	BaseObjectWidget::setAttributes(model, op_list, ext, schema);
17 
18 	if(ext)
19 	{
20 		cur_ver_edt->setText(ext->getVersion(Extension::CurVersion));
21 		old_ver_edt->setText(ext->getVersion(Extension::OldVersion));
22 
23 		handles_type_chk->setEnabled(false);
24 		handles_type_chk->setChecked(ext->handlesType());
25 	}
26 }
27 
applyConfiguration()28 void ExtensionWidget::applyConfiguration()
29 {
30 	try
31 	{
32 		Extension *extension=nullptr;
33 
34 		startConfiguration<Extension>();
35 		extension=dynamic_cast<Extension *>(this->object);
36 		BaseObjectWidget::applyConfiguration();
37 		extension->setHandlesType(handles_type_chk->isChecked());
38 		extension->setVersion(Extension::CurVersion, cur_ver_edt->text());
39 		extension->setVersion(Extension::OldVersion, old_ver_edt->text());
40 
41 		finishConfiguration();
42 	}
43 	catch(Exception &e)
44 	{
45 		cancelConfiguration();
46 		throw Exception(e.getErrorMessage(),e.getErrorCode(),__PRETTY_FUNCTION__,__FILE__,__LINE__, &e);
47 	}
48 }
49