--- /dev/null
+#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) );
+ // FIXME 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;
+}
+
+