summaryrefslogtreecommitdiff
authorcniehaus <cniehaus>2002-11-20 21:01:34 (UTC)
committer cniehaus <cniehaus>2002-11-20 21:01:34 (UTC)
commit19cec7475afb19b9a3096a5e01a87ae80690ce21 (patch) (side-by-side diff)
tree31462f9c562e98d0bd90fdbda8e5da7c86a5b767
parent285affa7c824482953eb82417e9e5c2f7f9e0058 (diff)
downloadopie-19cec7475afb19b9a3096a5e01a87ae80690ce21.zip
opie-19cec7475afb19b9a3096a5e01a87ae80690ce21.tar.gz
opie-19cec7475afb19b9a3096a5e01a87ae80690ce21.tar.bz2
why the hell is my layout not working?
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/oxygen/TODO6
-rw-r--r--noncore/apps/oxygen/dataTable.cpp4
2 files changed, 4 insertions, 6 deletions
diff --git a/noncore/apps/oxygen/TODO b/noncore/apps/oxygen/TODO
index c81fc26..32acfcd 100644
--- a/noncore/apps/oxygen/TODO
+++ b/noncore/apps/oxygen/TODO
@@ -1,18 +1,16 @@
TODO:
small things:
* there are bug in the layouting of the table
* Elementar symbols should be small enough to fit the boxes
(font problem?)
-
big things:
* backport the conversions from Kalzium (http://edu.kde.org/kalzium)
* backport more dataset from Kalzium
-* make the colors confiurable
-* graphical analysation (KalziumGraph.cpp/h)
+* make the colors configurable
* make elements sortable by their attributes (e.g. density)
* graph of attribute (e.g. ionisationenergie) vs atomnumber?
wishes:
-* add radio active decay \ No newline at end of file
+* add radio active decay
diff --git a/noncore/apps/oxygen/dataTable.cpp b/noncore/apps/oxygen/dataTable.cpp
index 82b425e..16aa462 100644
--- a/noncore/apps/oxygen/dataTable.cpp
+++ b/noncore/apps/oxygen/dataTable.cpp
@@ -1,149 +1,149 @@
/***************************************************************************
application: : Oxygen
begin : September 2002
copyright : ( C ) 2002 by Carsten Niehaus
email : cniehaus@handhelds.org
**************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* ( at your option ) any later version. *
* *
**************************************************************************/
#include <qpe/config.h>
#include "dataTable.h"
#include <qwidget.h>
#include <qhbox.h>
#include <qlabel.h>
#include <qfont.h>
#include <qlayout.h>
#include <qpe/qpeapplication.h>
OxydataWidget::OxydataWidget(QWidget *parent) : QWidget(parent)
{
QGridLayout *qgrid = new QGridLayout( this, 2,1 );
QHBox *hbox = new QHBox( this );
left = new QLabel( hbox );
middle = new QLabel( hbox );
right = new QLabel( hbox );
right->setAlignment( AlignRight );
middle->setAlignment( AlignHCenter );
QFont bf;
bf.setBold( true );
bf.setPointSize( bf.pointSize()+2 );
middle->setFont( bf );
DataTable = new OxydataTable( 9,2, this );
setTable();
qgrid->addWidget( hbox,0,0 );
qgrid->addWidget( DataTable,1,0 );
}
void OxydataWidget::setElement( int el )
{
Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File );
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,tr( "%1 u" ).arg( configobj.readEntry( "Weight" ) ) );
DataTable->setText( 1,1,configobj.readEntry( "Block" ) );
DataTable->setText( 2,1,configobj.readEntry( "Group" ) );
DataTable->setText( 3,1,tr( "%1 J").arg( configobj.readEntry( "EN" ) ) );
DataTable->setText( 4,1,tr( "%1 nm" ).arg( configobj.readEntry( "AR" ) ) ) ;
DataTable->setText( 5,1,tr( "%1 J" ).arg( configobj.readEntry( "IE" ) ) );
DataTable->setText( 6,1,configobj.readEntry( "Density" ) );
DataTable->setText( 7,1,tr( "%1 K" ).arg( configobj.readEntry( "BP" ) ) );
DataTable->setText( 8,1,tr( "%1 K" ).arg( configobj.readEntry( "MP" ) ) );
}
void OxydataWidget::setTable() const
{
DataTable->setText( 0,0, tr( "Weight:" ) );
DataTable->setText( 1,0, tr( "Block" )) ;
DataTable->setText( 2,0, tr( "Group" )) ;
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" ) );
}
void OxydataWidget::setLayout()
{
#warning this is not working and I have no idea why!
// DataTable->setColumnWidth ( 0 , this->width()/2 );
// DataTable->setColumnWidth ( 1 , this->width()/2 );
- DataTable->setColumnWidth ( 0 , 110 );
- DataTable->setColumnWidth ( 1 , 110 );
+//X DataTable->setColumnWidth ( 0 , 110 );
+//X DataTable->setColumnWidth ( 1 , 110 );
}
OxydataTable::OxydataTable(int numRows, int numCols, QWidget *parent,
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 );
}
void OxydataTable::paintCell( QPainter *p, int row, int col, const QRect &cr, bool selected)
{
if ( cr.width() == 0 || cr.height() == 0 )
return;
selected = FALSE;
QTableItem *itm = item( row, col );
QColorGroup colgrp = colorGroup();
if ( itm )
{
if ( row%2 )
colgrp.setColor( QColorGroup::Base, QColor( 180,200,210 ) );
else
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;
};