#include "attributedialog.h"
#include "attributewidget.h"
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
AttributeDialog::AttributeDialog (QWidget *parent):QDialog (parent)
{
if (this->objectName().isEmpty())
this->setObjectName(QString::fromUtf8("AttributeDialog"));
QSize size(468, 75);
size = size.expandedTo(this->minimumSizeHint());
this->resize(size);
QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(this->sizePolicy().hasHeightForWidth());
this->setSizePolicy(sizePolicy);
vboxLayout = new QVBoxLayout(this);
vboxLayout->setObjectName(QString::fromUtf8("vboxLayout"));
tableLayout = new QVBoxLayout();
tableLayout->setObjectName(QString::fromUtf8("tableLayout"));
hboxLayout = new QHBoxLayout();
hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
addButton = new QPushButton(this);
addButton->setObjectName(QString::fromUtf8("addButton"));
hboxLayout->addWidget(addButton);
spacerItem = new QSpacerItem(111, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
hboxLayout->addItem(spacerItem);
closeButton = new QPushButton(this);
closeButton->setObjectName(QString::fromUtf8("closeButton"));
hboxLayout->addWidget(closeButton);
vboxLayout->addLayout(tableLayout);
vboxLayout->addLayout(hboxLayout);
setWindowTitle(QApplication::translate("AttributeDialog", "Attributes", 0, QApplication::UnicodeUTF8));
addButton->setText(QApplication::translate("AttributeDialog", "Add key", 0, QApplication::UnicodeUTF8));
closeButton->setText(QApplication::translate("AttributeDialog", "Close", 0, QApplication::UnicodeUTF8));
connect (addButton, SIGNAL (clicked()), this, SLOT (addKey()));
connect (closeButton, SIGNAL (clicked()), this, SLOT (accept()));
table=NULL;
}
void AttributeDialog::setTable (AttributeTable *t)
{
table=t;
}
void AttributeDialog::setBranch (BranchObj *bo)
{
branch=bo;
}
void AttributeDialog::setMode (const AttributeDialogMode &m)
{
mode=m;
QString title;
if (mode==Definition)
title= QApplication::translate("Attribute Dialog","AttributeDialog - Edit definitions", 0, QApplication::UnicodeUTF8);
else
title= QApplication::translate("Attribute Dialog","AttributeDialog - Edit %1", 0, QApplication::UnicodeUTF8).arg("objname");
setWindowTitle(title);
}
void AttributeDialog::updateTable()
{
if (table)
{
// Update list of keys and values
QStringList keyList=table->getKeys();
AttributeWidget *aw;
for (int i=0; i<keyList.count();i++)
{
aw=new AttributeWidget (this);
aw->setKey (keyList.at(i) );
// TODO aw->setValues (table->getValues (keyList.at(i) ));
aw->show();
tableLayout->addWidget (aw);
}
// Update attributes in dialog from data in selected branch
// TODO
}
}
void AttributeDialog::addKey()
{
AttributeWidget *aw1=new AttributeWidget (this);
aw1->show();
tableLayout->addWidget (aw1);
}
void AttributeDialog::closeEvent( QCloseEvent* ce )
{
ce->accept(); // can be reopened with show()
hide();
emit (windowClosed() );
return;
}