-rw-r--r-- | noncore/apps/oxygen/dataTable.cpp | 6 | ||||
-rw-r--r-- | noncore/apps/oxygen/oxygen.cpp | 118 | ||||
-rw-r--r-- | noncore/apps/oxygen/oxygen.h | 6 |
3 files changed, 127 insertions, 3 deletions
diff --git a/noncore/apps/oxygen/dataTable.cpp b/noncore/apps/oxygen/dataTable.cpp index 16aa462..f3984be 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( 3,1,configobj.readEntry( "EN" ) ); + DataTable->setText( 4,1,tr( "%1 pm" ).arg( configobj.readEntry( "AR" ) ) ) ; DataTable->setText( 5,1,tr( "%1 J" ).arg( configobj.readEntry( "IE" ) ) ); - DataTable->setText( 6,1,configobj.readEntry( "Density" ) ); + DataTable->setText( 6,1,tr( "%1 g/cm^3" ).arg( 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 ); //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; }; diff --git a/noncore/apps/oxygen/oxygen.cpp b/noncore/apps/oxygen/oxygen.cpp index a16bc77..b1b5db5 100644 --- a/noncore/apps/oxygen/oxygen.cpp +++ b/noncore/apps/oxygen/oxygen.cpp @@ -1,39 +1,157 @@ /*************************************************************************** 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 "oxygen.h" #include <qapplication.h> #include <qtabwidget.h> +#include <qvaluelist.h> + #include "calcdlg.h" #include "calcdlgui.h" #include "datawidgetui.h" #include "psewidget.h" + Oxygen::Oxygen() : QMainWindow() { PSEWidget *pse = new PSEWidget(); calcDlgUI *CalcDlgUI = new calcDlgUI(); dataWidgetUI *DataWidgetUI = new dataWidgetUI(); this->setCaption( tr( "Oxygen" ) ); QTabWidget *tabw = new QTabWidget( this , "qtab" ); tabw->addTab( pse, tr( "PSE" )); tabw->addTab( DataWidgetUI , tr( "Data" ) ); tabw->addTab( CalcDlgUI, tr( "Calculations" ) ); setCentralWidget( tabw ); + + names = new QStringList(); +} + +void Oxygen::loadNames() +{ + names->append( tr("Hydrogen") ); + names->append( tr("Helium") ); + names->append( tr("Lithium") ); + names->append( tr("Beryllium") ); + names->append( tr("Boron") ); + names->append( tr("Carbon") ); + names->append( tr("Nitrogen") ); + names->append( tr("Oxygen") ); + names->append( tr("Fluorine") ); + names->append( tr("Neon") ); + names->append( tr("Sodium") ); + names->append( tr("Magnesium") ); + names->append( tr("Aluminum") ); + names->append( tr("Silicon") ); + names->append( tr("Phosphorus") ); + names->append( tr("Sulfur") ); + names->append( tr("Chlorine") ); + names->append( tr("Argon") ); + names->append( tr("Potassium") ); + names->append( tr("Calcium") ); + names->append( tr("Scandium") ); + names->append( tr("Titanium") ); + names->append( tr("Vanadium") ); + names->append( tr("Chromium") ); + names->append( tr("Manganese") ); + names->append( tr("Iron") ); + names->append( tr("Cobalt") ); + names->append( tr("Nickel") ); + names->append( tr("Copper") ); + names->append( tr("Zinc") ); + names->append( tr("Gallium") ); + names->append( tr("Germanium") ); + names->append( tr("Arsenic") ); + names->append( tr("Selenium") ); + names->append( tr("Bromine") ); + names->append( tr("Krypton") ); + names->append( tr("Rubidium") ); + names->append( tr("Strontium") ); + names->append( tr("Yttrium") ); + names->append( tr("Zirconium") ); + names->append( tr("Niobium") ); + names->append( tr("Molybdenum") ); + names->append( tr("Technetium") ); + names->append( tr("Ruthenium") ); + names->append( tr("Rhodium") ); + names->append( tr("Palladium") ); + names->append( tr("Silver") ); + names->append( tr("Cadmium") ); + names->append( tr("Indium") ); + names->append( tr("Tin") ); + names->append( tr("Antimony") ); + names->append( tr("Tellurium") ); + names->append( tr("Iodine") ); + names->append( tr("Xenon") ); + names->append( tr("Cesium") ); + names->append( tr("Barium") ); + names->append( tr("Lanthanum") ); + names->append( tr("Cerium") ); + names->append( tr("Praseodymium") ); + names->append( tr("Neodymium") ); + names->append( tr("Promethium") ); + names->append( tr("Samarium") ); + names->append( tr("Europium") ); + names->append( tr("Gadolinium") ); + names->append( tr("Terbium") ); + names->append( tr("Dysprosium") ); + names->append( tr("Holmium") ); + names->append( tr("Erbium") ); + names->append( tr("Thulium") ); + names->append( tr("Ytterbium") ); + names->append( tr("Lutetium") ); + names->append( tr("Hafnium") ); + names->append( tr("Tantalum") ); + names->append( tr("Tungsten") ); + names->append( tr("Rhenium") ); + names->append( tr("Osmium") ); + names->append( tr("Iridium") ); + names->append( tr("Platinum") ); + names->append( tr("Gold") ); + names->append( tr("Mercury") ); + names->append( tr("Thallium") ); + names->append( tr("Lead") ); + names->append( tr("Bismuth") ); + names->append( tr("Polonium") ); + names->append( tr("Astatine") ); + names->append( tr("Radon") ); + names->append( tr("Francium") ); + names->append( tr("Radium") ); + names->append( tr("Actinium") ); + names->append( tr("Thorium") ); + names->append( tr("Protactinium") ); + names->append( tr("Uranium") ); + names->append( tr("Neptunium") ); + names->append( tr("Plutonium") ); + names->append( tr("Americium") ); + names->append( tr("Curium") ); + names->append( tr("Berkelium") ); + names->append( tr("Californium") ); + names->append( tr("Einsteinium") ); + names->append( tr("Fermium") ); + names->append( tr("Mendelevium") ); + names->append( tr("Nobelium") ); + names->append( tr("Lawrencium") ); + names->append( tr("Rutherfordium") ); + names->append( tr("Dubnium") ); + names->append( tr("Seaborgium") ); + names->append( tr("Bohrium") ); + names->append( tr("Hassium") ); + names->append( tr("Meitnerium") ); } diff --git a/noncore/apps/oxygen/oxygen.h b/noncore/apps/oxygen/oxygen.h index 782cc3e..0b7655a 100644 --- a/noncore/apps/oxygen/oxygen.h +++ b/noncore/apps/oxygen/oxygen.h @@ -1,18 +1,24 @@ /*************************************************************************** * * * 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 <qmainwindow.h> +class QStringList; + class Oxygen : public QMainWindow { Q_OBJECT public: Oxygen(); + QStringList *names; + + private: + void loadNames(); }; |