author | cniehaus <cniehaus> | 2002-09-20 21:45:30 (UTC) |
---|---|---|
committer | cniehaus <cniehaus> | 2002-09-20 21:45:30 (UTC) |
commit | d5db444cb70986baceda8ad1e01b0fb8384d12b4 (patch) (side-by-side diff) | |
tree | 65cab6b3cfb9c67336ce4f3e61d3e9df2476d8ca /noncore/apps/oxygen/dataTable.cpp | |
parent | 20c93734a4eada53d056f13558cbf60d6eff5bac (diff) | |
download | opie-d5db444cb70986baceda8ad1e01b0fb8384d12b4.zip opie-d5db444cb70986baceda8ad1e01b0fb8384d12b4.tar.gz opie-d5db444cb70986baceda8ad1e01b0fb8384d12b4.tar.bz2 |
from now on I consider Oxygen as almost done :)
* the strange display-bug in the QTable is fixed. Now there are really only
two colums and not a million or so
* now the alingment is correct. I reimplemented virtual void alignment() in
a class derived from QTableItem
* s/setElement( 1 )/setElement( 0 )/ as that method starts with 0 and not 1
Credits to Robert Gogolok who did most of the reimplementation of the
alignment.
Diffstat (limited to 'noncore/apps/oxygen/dataTable.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/oxygen/dataTable.cpp | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/noncore/apps/oxygen/dataTable.cpp b/noncore/apps/oxygen/dataTable.cpp index ff01417..f034c45 100644 --- a/noncore/apps/oxygen/dataTable.cpp +++ b/noncore/apps/oxygen/dataTable.cpp @@ -56,21 +56,23 @@ void OxydataWidget::setElement( int el ) configobj.setGroup( QString::number( el+1 )); left->setText( configobj.readEntry( "Symbol" ) ); middle->setText( configobj.readEntry( "Name" ) ); right->setText( QString::number( el+1 ) ); + DataTable->setText( 0,1,configobj.readEntry( "Weight" ) ); DataTable->setText( 1,1,configobj.readEntry( "Block" ) ); DataTable->setText( 2,1,configobj.readEntry( "Group" ) ); DataTable->setText( 3,1,configobj.readEntry( "EN" ) ); DataTable->setText( 4,1,configobj.readEntry( "AR" ) ) ; DataTable->setText( 5,1,configobj.readEntry( "IE" ) ); DataTable->setText( 6,1,configobj.readEntry( "Density" ) ); DataTable->setText( 7,1,configobj.readEntry( "BP" ) ); DataTable->setText( 8,1,configobj.readEntry( "MP" ) ); + } void OxydataWidget::setTable() const { DataTable->setText( 0,0, tr( "Weight:" ) ); DataTable->setText( 1,0, tr( "Block" )) ; @@ -78,32 +80,35 @@ void OxydataWidget::setTable() const DataTable->setText( 3,0, tr( "Electronegativity" )) ; DataTable->setText( 4,0, tr( "Atomic radius" )) ; DataTable->setText( 5,0, tr( "Ionizationenergie" )) ; DataTable->setText( 6,0, tr( "Density" )) ; DataTable->setText( 7,0, tr( "Boilingpoint" ) ); DataTable->setText( 8,0, tr( "Meltingpoint" ) ); + } OxydataTable::OxydataTable(int numRows, int numCols, QWidget *parent, - const char *name) : QTable(numRows, numRows, parent, name) + const char *name) : QTable(numRows, numCols,parent, name) { + + for (int zeile = 0; zeile < numRows; zeile++) + for ( int spalte = 0; spalte < numCols; spalte++ ) + { + OxydataQTI *testus = new OxydataQTI (this, OxydataQTI::Never, "hm" ); + setItem(zeile, spalte, (QTableItem*)testus); + } + + this->setShowGrid( false ); this->setHScrollBarMode(QScrollView::AlwaysOff); this->horizontalHeader()->hide(); this->verticalHeader()->hide(); this->setTopMargin( 0 ); this->setLeftMargin( 0 ); } -int OxydataTable::alignment() const -{ - return AlignLeft | AlignVCenter; -}; - - - void OxydataTable::paintCell( QPainter *p, int row, int col, const QRect &cr, bool selected) { if ( cr.width() == 0 || cr.height() == 0 ) return; selected = FALSE; @@ -117,6 +122,20 @@ void OxydataTable::paintCell( QPainter *p, int row, int col, const QRect &cr, b colgrp.setColor( QColorGroup::Base, QColor( 230,235,235 ) ); p->save(); itm->paint( p, colgrp, cr, selected ); p->restore(); } } + +OxydataQTI::OxydataQTI(QTable * table, EditType et, const QString & text ) + : QTableItem ( table, et, text ) +{ +} + +int OxydataQTI::alignment() const +{ + if ( col()%2 ) + { + return AlignRight | AlignVCenter; + }else return AlignLeft | AlignVCenter; +}; + |