summaryrefslogtreecommitdiff
authorcniehaus <cniehaus>2002-11-23 11:18:40 (UTC)
committer cniehaus <cniehaus>2002-11-23 11:18:40 (UTC)
commit1aa77f5f197f63ba9a154fdcae9d6f55eebe12a0 (patch) (side-by-side diff)
treebb82d65366084d0a8c4cc7e7cee23fbbf01a1c8a
parentb1cbaa84c29decb743687e970eedcd4a238771ad (diff)
downloadopie-1aa77f5f197f63ba9a154fdcae9d6f55eebe12a0.zip
opie-1aa77f5f197f63ba9a154fdcae9d6f55eebe12a0.tar.gz
opie-1aa77f5f197f63ba9a154fdcae9d6f55eebe12a0.tar.bz2
move stuff around, use iterators, make things translatable
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/oxygen/dataTable.cpp4
-rw-r--r--noncore/apps/oxygen/dataTable.h3
-rw-r--r--noncore/apps/oxygen/datawidgetui.cpp128
-rw-r--r--noncore/apps/oxygen/datawidgetui.h5
-rw-r--r--noncore/apps/oxygen/oxygen.cpp115
-rw-r--r--noncore/apps/oxygen/oxygen.h3
6 files changed, 131 insertions, 127 deletions
diff --git a/noncore/apps/oxygen/dataTable.cpp b/noncore/apps/oxygen/dataTable.cpp
index f3984be..661eb5a 100644
--- a/noncore/apps/oxygen/dataTable.cpp
+++ b/noncore/apps/oxygen/dataTable.cpp
@@ -1,149 +1,151 @@
/***************************************************************************
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)
+#include <qstringlist.h>
+
+OxydataWidget::OxydataWidget(QWidget *parent, const char *name, QStringList *list ) : QWidget( parent,name )
{
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,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,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/dataTable.h b/noncore/apps/oxygen/dataTable.h
index f2eb71d..a8c9b6e 100644
--- a/noncore/apps/oxygen/dataTable.h
+++ b/noncore/apps/oxygen/dataTable.h
@@ -1,85 +1,86 @@
/***************************************************************************
* *
* 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. *
* *
**************************************************************************/
#ifndef _DATATABLE_H
#define _DATATABLE_H
#include <qwidget.h>
#include <qtable.h>
class QLabel;
class OxydataTable;
+//class QStringList;
/*
* A OxydataWidget shows all known data of an element. It can
* be used for both the PSE and the pure Data-Dialog. It is
* a simple QHBox with 2 QStrings in it plus a OxydataTable
* which contains the rest of the data.
*
* Author: Carsten Niehaus <cniehaus@handhelds.org>
*/
class OxydataWidget : public QWidget
{
Q_OBJECT
public:
- OxydataWidget(QWidget *parent=0);
+ OxydataWidget(QWidget *parent=0, const char *name=0, QStringList *list =0 );
QLabel *left, *middle, *right;
void setLayout();
private:
void setTable() const;
OxydataTable *DataTable;
public slots:
void setElement( int );
};
/*
* A OxydataTable is derived from QTable. I recoded the paintCell to have
* different colors in the backgound. Furthermore this widget never has a
* grid, thus I removed that code in paintCell.
*
* Author: Carsten Niehaus <cniehaus@handhelds.org>
*/
class OxydataTable : public QTable
{
Q_OBJECT
public:
OxydataTable( int numRows, int numCols,
QWidget *parent = 0, const char *name = 0 );
protected:
/*
* This method is reimplemented form QTable. It implements the colourisation
* of every second row.
*/
virtual void paintCell( QPainter *p, int row, int col, const QRect &cr, bool selected );
};
/*
* A OxydataQTI is a QTableItem which has the ability to set an alignment.
* In Oxygen we only have two colums so I can use the simple col()%2.
*
* Author: Robert Gogolok <robertgogolok@gmx.de>
*/
class OxydataQTI : public QTableItem
{
public:
OxydataQTI(QTable * table, EditType et, const QString & text );
virtual int alignment() const;
};
#endif
diff --git a/noncore/apps/oxygen/datawidgetui.cpp b/noncore/apps/oxygen/datawidgetui.cpp
index 99c4fd7..b9000fa 100644
--- a/noncore/apps/oxygen/datawidgetui.cpp
+++ b/noncore/apps/oxygen/datawidgetui.cpp
@@ -1,53 +1,167 @@
/***************************************************************************
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 "datawidgetui.h"
#include "dataTable.h"
#include <qpe/config.h>
#include <qstring.h>
#include <qcombobox.h>
#include <qlayout.h>
#include <qhbox.h>
#include <qlabel.h>
#include <qpe/qpeapplication.h>
dataWidgetUI::dataWidgetUI() : QWidget()
{
- this->setCaption( tr( "Chemical Data" ));
+ names = new QStringList();
+ loadNames();
+
+ this->setCaption( tr( "Chemical Data" ));
QGridLayout *qgrid = new QGridLayout( this, 2,1 );
dataCombo = new QComboBox( this );
//read in all names of the 118 elements
- Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File );
- for ( int i = 1 ; i < 119 ; i++ )
+ int i = 0;
+ for ( QStringList::Iterator it = names->begin() ; it != names->end() ; ++it,i++)
{
- configobj.setGroup( QString::number( i ) );
- QString foo = configobj.readEntry( "Name" );
- dataCombo->insertItem( QString::number( i )+" - "+foo );
+ dataCombo->insertItem( QString::number( i )+" - "+*it );
}
- OxydataWidget *oxyDW = new OxydataWidget(this);
+ OxydataWidget *oxyDW = new OxydataWidget(this, "OxydataWidget_oxyDW", names);
connect ( dataCombo, SIGNAL( activated(int) ), oxyDW, SLOT( setElement(int) ) );
oxyDW->setElement( 0 );
oxyDW->setLayout();
qgrid->addWidget( dataCombo, 0,0);
qgrid->addWidget( oxyDW , 1,0 );
}
+void dataWidgetUI::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/datawidgetui.h b/noncore/apps/oxygen/datawidgetui.h
index cd716ad..154f4be 100644
--- a/noncore/apps/oxygen/datawidgetui.h
+++ b/noncore/apps/oxygen/datawidgetui.h
@@ -1,41 +1,46 @@
#ifndef DATAWIDGETUI_H
#define DATAWIDGETUI_H
/***************************************************************************
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. *
* *
**************************************************************************/
class OxydataWidget;
class OxydataTable;
class QComboBox;
+class QStringList;
+
#include <qwidget.h>
class dataWidgetUI : public QWidget
{
Q_OBJECT
public:
dataWidgetUI();
+ QStringList *names;
private:
OxydataTable *DataTable;
QComboBox *dataCombo;
OxydataWidget *oxyDW;
+
+ void loadNames();
};
#endif
diff --git a/noncore/apps/oxygen/oxygen.cpp b/noncore/apps/oxygen/oxygen.cpp
index b1b5db5..22d1833 100644
--- a/noncore/apps/oxygen/oxygen.cpp
+++ b/noncore/apps/oxygen/oxygen.cpp
@@ -1,157 +1,42 @@
/***************************************************************************
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 0b7655a..36ee9bc 100644
--- a/noncore/apps/oxygen/oxygen.h
+++ b/noncore/apps/oxygen/oxygen.h
@@ -1,24 +1,21 @@
/***************************************************************************
* *
* 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();
};