summaryrefslogtreecommitdiff
path: root/noncore/apps/oxygen/datawidgetui.cpp
blob: c8492e5b49725a8a639baa5629b3b53c99a818a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/***************************************************************************
 *                                                                         *
 * 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 <qpe/config.h>
#include "datawidgetui.h"
#include <qstring.h>
#include <qcombobox.h>
#include <qlayout.h>

dataWidgetUI::dataWidgetUI() : QDialog()
{
    this->setCaption("Chemical Data");
    
    QVBoxLayout *vbox = new QVBoxLayout( this );
    
    dataCombo = new QComboBox( this );
    DataTable = new OxydataTable( 7,2, this );
    DataTable->setShowGrid( false );

    vbox->addWidget( dataCombo );
    vbox->addWidget( DataTable );
    
    DataTable->show();
    dataCombo->show();
    
    connect ( dataCombo, SIGNAL( activated(int) ), this, SLOT( slotShowData(int) ) );
    Config test( "/home/opie/Settings/oxygendata", Config::File );
    
    //read in all names of the 118 elements
    for ( int i = 1 ; i < 119 ; i++ )
    {
        test.setGroup( QString::number( i ) );
        QString foo = test.readEntry( "Name" );
        dataCombo->insertItem( foo );
    }

    createTableLayout();
    slotShowData( 1 ); //this way we do always get data here

}

void dataWidgetUI::createTableLayout(){
    DataTable->horizontalHeader()->hide();
    DataTable->verticalHeader()->hide();
    DataTable->setTopMargin( 0 );
    DataTable->setLeftMargin( 0 );
    
    DataTable->setText( 0,0,"Weight:" );
    DataTable->setText( 1,0,"Block" );
    DataTable->setText( 2,0,"Group" );
    DataTable->setText( 3,0,"Electronegativity" );
    DataTable->setText( 4,0,"Atomic radius" );
    DataTable->setText( 5,0,"Ionizationenergie" );
    DataTable->setText( 6,0,"Density" );
    DataTable->setText( 7,0,"Boilingpoint" );
}


void dataWidgetUI::slotShowData(int number){
    Config test( "/home/opie/Settings/oxygendata", Config::File );
    test.setGroup( QString::number( number+1 ));
    QString weight = test.readEntry( "Weight" );
    DataTable->setText( 0,1,weight ); 
    QString block = test.readEntry( "Block" );
    DataTable->setText( 1,1,block ); 
    QString grp = test.readEntry( "Group" );
    DataTable->setText( 2,1,grp ); 
    QString en = test.readEntry( "EN" );
    DataTable->setText( 3,1,en ); 
    QString ar = test.readEntry( "AR" );
    DataTable->setText( 4,1,ar ) ; 
    QString ion = test.readEntry( "IE" );
    DataTable->setText( 5,1,ion ); 
    QString dens = test.readEntry( "Density" );
    DataTable->setText( 6,1,dens ); 
    QString bp = test.readEntry( "BP" );
    DataTable->setText( 7,1,bp ); 
}