initial import
[vym] / attributedialog.cpp
diff --git a/attributedialog.cpp b/attributedialog.cpp
new file mode 100644 (file)
index 0000000..10341c4
--- /dev/null
@@ -0,0 +1,118 @@
+#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;
+}
+
+