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