[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/kexi/plugins/relations
From:       Lucijan Busch <lucijan () kde ! org>
Date:       2004-01-13 9:37:41
Message-ID: 20040113093741.B61098FF9 () office ! kde ! org
[Download RAW message or body]

CVS commit by lucijan: 

save relations into project


  M +1 -1      kexirelationdialog.cpp   1.23
  M +12 -1     kexirelationview.cpp   1.50
  M +4 -1      kexirelationview.h   1.29
  M +9 -2      kexirelationviewtable.cpp   1.33


--- koffice/kexi/plugins/relations/kexirelationdialog.cpp  #1.22:1.23
@@ -57,5 +57,5 @@ KexiRelationDialog::KexiRelationDialog(K
         connect(btnAdd, SIGNAL(clicked()), this, SLOT(slotAddTable()));
 
-        m_relationView = new KexiRelationView(this);
+        m_relationView = new KexiRelationView(this, m_conn);
         g->addWidget(m_relationView, 1, 0);
         m_relationView->setFocus();

--- koffice/kexi/plugins/relations/kexirelationview.cpp  #1.49:1.50
@@ -40,4 +40,6 @@
 
 #include <kexidb/tableschema.h>
+#include <kexidb/connection.h>
+#include <kexidb/indexschema.h>
 
 #include "kexirelationview.h"
@@ -45,5 +47,5 @@
 #include "kexirelationviewconnection.h"
 
-KexiRelationView::KexiRelationView(QWidget *parent, const char *name)
+KexiRelationView::KexiRelationView(QWidget *parent, KexiDB::Connection *conn, const \
char *name)  : QScrollView(parent, name, WStaticContents)
  , KexiActionProxy(this)
@@ -62,4 +64,6 @@ KexiRelationView::KexiRelationView(QWidg
         setResizePolicy(Manual);
 
+
+        m_conn = conn;
         //actions
         m_tableQueryPopup = new KPopupMenu(this, "m_popup");
@@ -189,4 +193,11 @@ KexiRelationView::addConnection(SourceCo
         updateContents(connView->connectionRect());
 
+        KexiDB::TableSchema *mtable = m_conn->tableSchema(conn.srcTable);
+        KexiDB::TableSchema *ftable = m_conn->tableSchema(conn.rcvTable);
+        KexiDB::IndexSchema *forign = new KexiDB::IndexSchema(ftable);
+
+        forign->addField(mtable->field(conn.srcField));
+        new KexiDB::Reference(forign, mtable->primaryKey());
+
 #if 0
         if(!interactive)

--- koffice/kexi/plugins/relations/kexirelationview.h  #1.28:1.29
@@ -40,4 +40,5 @@ namespace KexiDB
         class TableSchema;
         class Reference;
+        class Connection;
 }
 
@@ -59,5 +60,5 @@ class KexiRelationView : public QScrollV
 
         public:
-                KexiRelationView(QWidget *parent, const char *name=0);
+                KexiRelationView(QWidget *parent, KexiDB::Connection *conn, const \
char *name=0);  ~KexiRelationView();
 
@@ -103,4 +104,6 @@ class KexiRelationView : public QScrollV
                 ConnectionList          m_connectionViews;
                 KexiRelationViewConnection *m_selectedConnection;
+                KexiDB::Connection      *m_conn;
+
 
                 KexiRelationViewTableContainer *m_focusedTableView;

--- koffice/kexi/plugins/relations/kexirelationviewtable.cpp  #1.32:1.33
@@ -55,4 +55,7 @@ KexiRelationViewTableContainer::KexiRela
         QVBoxLayout *lyr = new QVBoxLayout(this,4,1); //js: using Q*BoxLayout is a \
good idea  
+        //hack to get more space at bottom
+        QSpacerItem *iBottom = new QSpacerItem(10, 10, QSizePolicy::Fixed, \
QSizePolicy::Fixed); +
         m_tableHeader = new KexiRelationViewTableContainerHeader(t->name(), this);
         m_tableHeader->unsetFocus();
@@ -66,5 +69,9 @@ KexiRelationViewTableContainer::KexiRela
         m_tableView->setMaximumSize( m_tableView->sizeHint() );
 //      m_tableView->resize( m_tableView->sizeHint() );
+
+        setMinimumSize(m_tableView->sizeHint().width() + 5, \
m_tableView->sizeHint().height() + m_tableHeader->sizeHint().height() + 6); +
         lyr->addWidget(m_tableView, 0);
+        lyr->addItem(iBottom);
         connect(m_tableView, SIGNAL(tableScrolling()), this, SLOT(moved()));
         connect(m_tableView, SIGNAL(contextMenu(KListView*, QListViewItem*, const \
QPoint&)), @@ -361,5 +368,5 @@ void KexiRelationViewTableContainerHeade
 
 KexiRelationViewTable::KexiRelationViewTable(QWidget *parent, KexiRelationView \
                *view, KexiDB::TableSchema *t, const char *name)
- : KListView(parent)
+ : KListView(parent, name)
 {
 //      m_fieldList = t.;
@@ -530,5 +537,5 @@ KexiRelationViewTableItem::KexiRelationV
 }
 
-void KexiRelationViewTableItem::paintFocus ( QPainter * p, const QColorGroup & cg, \
const QRect & r ) +void KexiRelationViewTableItem::paintFocus (QPainter * , const \
QColorGroup &, const QRect &)  {
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic