summaryrefslogtreecommitdiff
path: root/noncore/apps/oxygen
Unidiff
Diffstat (limited to 'noncore/apps/oxygen') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/oxygen/calcdlg.ui4
-rw-r--r--noncore/apps/oxygen/psewidget.cpp20
-rw-r--r--noncore/apps/oxygen/psewidget.h2
3 files changed, 15 insertions, 11 deletions
diff --git a/noncore/apps/oxygen/calcdlg.ui b/noncore/apps/oxygen/calcdlg.ui
index c817a47..51bf334 100644
--- a/noncore/apps/oxygen/calcdlg.ui
+++ b/noncore/apps/oxygen/calcdlg.ui
@@ -1,45 +1,41 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>CalcDlg</class> 2<class>CalcDlg</class>
3<widget> 3<widget>
4 <class>QWidget</class> 4 <class>QWidget</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>CalcDlg</cstring> 7 <cstring>CalcDlg</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>237</width> 14 <width>237</width>
15 <height>318</height> 15 <height>318</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1">
19 <name>caption</name>
20 <string>Form1</string>
21 </property>
22 <widget> 18 <widget>
23 <class>QTabWidget</class> 19 <class>QTabWidget</class>
24 <property stdset="1"> 20 <property stdset="1">
25 <name>name</name> 21 <name>name</name>
26 <cstring>TabWidget3</cstring> 22 <cstring>TabWidget3</cstring>
27 </property> 23 </property>
28 <property stdset="1"> 24 <property stdset="1">
29 <name>geometry</name> 25 <name>geometry</name>
30 <rect> 26 <rect>
31 <x>0</x> 27 <x>0</x>
32 <y>0</y> 28 <y>0</y>
33 <width>240</width> 29 <width>240</width>
34 <height>320</height> 30 <height>320</height>
35 </rect> 31 </rect>
36 </property> 32 </property>
37 <widget> 33 <widget>
38 <class>QWidget</class> 34 <class>QWidget</class>
39 <property stdset="1"> 35 <property stdset="1">
40 <name>name</name> 36 <name>name</name>
41 <cstring>tab</cstring> 37 <cstring>tab</cstring>
42 </property> 38 </property>
43 <attribute> 39 <attribute>
44 <name>title</name> 40 <name>title</name>
45 <string>Molecular Weight</string> 41 <string>Molecular Weight</string>
diff --git a/noncore/apps/oxygen/psewidget.cpp b/noncore/apps/oxygen/psewidget.cpp
index d7126b9..d8e4086 100644
--- a/noncore/apps/oxygen/psewidget.cpp
+++ b/noncore/apps/oxygen/psewidget.cpp
@@ -7,98 +7,104 @@
7 **************************************************************************/ 7 **************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * ( at your option ) any later version. * 14 * ( at your option ) any later version. *
15 * * 15 * *
16 **************************************************************************/ 16 **************************************************************************/
17 17
18#include <qpe/config.h> 18#include <qpe/config.h>
19#include <qlayout.h> 19#include <qlayout.h>
20#include <qpe/qpeapplication.h> 20#include <qpe/qpeapplication.h>
21#include <qlist.h> 21#include <qlist.h>
22#include "dataTable.h" 22#include "dataTable.h"
23#include "psewidget.h" 23#include "psewidget.h"
24#include "oxyframe.h" 24#include "oxyframe.h"
25 25
26 26
27PSEWidget::PSEWidget() : QWidget() 27PSEWidget::PSEWidget() : QWidget()
28{ 28{
29 this->setCaption( tr( "Periodic System" ) ); 29 this->setCaption( tr( "Periodic System" ) );
30 30
31 lastElement=1;
32
31 QVBoxLayout *vlay = new QVBoxLayout( this ); 33 QVBoxLayout *vlay = new QVBoxLayout( this );
32 34
33 QGridLayout *grid = new QGridLayout( 18,10 ); 35 QGridLayout *grid = new QGridLayout( 18,10 );
34 int h=0, v=0; 36 int h=0, v=0;
35 37
36 Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File ); 38 Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File );
37 for( int n = 0 ; n < 109 ; n++ ) 39 for( int n = 0 ; n < 109 ; n++ )
38 { 40 {
39 configobj.setGroup( QString::number( n+1 )); 41 configobj.setGroup( QString::number( n+1 ));
40 42
41 position( n+1,h,v ); 43 position( n+1,h,v );
42 PSEframe.append( new OxyFrame( this , QString::number(n), configobj.readEntry( "Symbol" ) ) ); 44 PSEframe.append( new OxyFrame( this , QString::number(n), configobj.readEntry( "Symbol" ) ) );
43 grid->addWidget( PSEframe.current() , v/40+1 , h/40 ); 45 grid->addWidget( PSEframe.current() , v/40+1 , h/40 );
44 PSEframe.current()->setMinimumHeight( 11 ); 46 PSEframe.current()->setMinimumHeight( 11 );
45 PSEframe.current()->setPalette( QPalette( PSEColor( configobj.readEntry( "Block" ) ) ) ); 47 PSEframe.current()->setPalette( QPalette( PSEColor( configobj.readEntry( "Block" ) ) ) );
46 connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( slotShowElement(QString) )); 48 connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( slotShowElement(QString) ));
47 connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( inverseColor(QString) )); 49 connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( inverseColor(QString) ));
48 } 50 }
49 51
50 oxyDW = new OxydataWidget(this); 52 oxyDW = new OxydataWidget(this);
51 oxyDW->setElement( 0 ); 53 oxyDW->setElement( 0 );
52 oxyDW->setLayout(); 54 oxyDW->setLayout();
53 55
54 vlay->addLayout( grid ); 56 vlay->addLayout( grid );
55 vlay->addWidget( oxyDW ); 57 vlay->addWidget( oxyDW );
56} 58}
57 59
58QColor PSEWidget::PSEColor( QString block ) 60QColor PSEWidget::PSEColor( QString block )
59{ 61{
60 QColor c; 62 QColor c;
61 if ( block == "s" ) c.setRgb( 213 , 233 , 231 ); 63 if ( block == "s" ) c.setRgb( 213 , 233 , 231 );
62 else if ( block == "d" ) c.setRgb( 200,230,160 ); 64 else if ( block == "d" ) c.setRgb( 200,230,160 );
63 else if ( block == "p" ) c.setRgb( 238,146,138 ); 65 else if ( block == "p" ) c.setRgb( 238,146,138 );
64 else if ( block == "f" ) c.setRgb( 190 , 190 , 190 ); 66 else if ( block == "f" ) c.setRgb( 190 , 190 , 190 );
65 return c; 67 return c;
66}; 68};
67 69
68void PSEWidget::inverseColor( QString number ) 70void PSEWidget::inverseColor( QString number )
69{ 71{
70 Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File ); 72 Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File );
71 configobj.setGroup( number ); 73 configobj.setGroup( number );
72 QString block = configobj.readEntry( "Block" ); 74 QString block = configobj.readEntry( "Block" );
73 QColor c; 75 QColor c, d;
74 if ( block == "s" ) c.setRgb( 213 , 233 , 231 ); 76 c = PSEColor( block );
75 else if ( block == "d" ) c.setRgb( 200,230,160 ); 77 d = c.dark();
76 else if ( block == "p" ) c.setRgb( 238,146,138 ); 78
77 else if ( block == "f" ) c.setRgb( 190 , 190 , 190 ); 79 PSEframe.at( number.toUInt() )->setPalette( QPalette( d ) );
78 c.dark(); 80
81 configobj.setGroup( QString::number( lastElement+1 ) );
82 block = configobj.readEntry( "Block" );
83 c = PSEColor( block );
84 PSEframe.at( lastElement )->setPalette( QPalette( c ) );
79 85
80 PSEframe.at( number.toUInt() )->setPalette( QPalette( c ) ); 86 lastElement=number.toInt();
81} 87}
82 88
83void PSEWidget::slotShowElement(QString number) 89void PSEWidget::slotShowElement(QString number)
84{ 90{
85 oxyDW->setElement( number.toInt() ); 91 oxyDW->setElement( number.toInt() );
86}; 92};
87 93
88void PSEWidget::position(int n, int& h, int& v) 94void PSEWidget::position(int n, int& h, int& v)
89{ 95{
90 //Hydrogen 96 //Hydrogen
91 if (n == 1) 97 if (n == 1)
92 { 98 {
93 h=0; v=0; 99 h=0; v=0;
94 } 100 }
95 101
96 102
97 //Helium 103 //Helium
98 if (n == 2) 104 if (n == 2)
99 { 105 {
100 h=680; v=0; 106 h=680; v=0;
101 } 107 }
102 108
103 109
104 //Lithium 110 //Lithium
diff --git a/noncore/apps/oxygen/psewidget.h b/noncore/apps/oxygen/psewidget.h
index cfb629d..ddeab9d 100644
--- a/noncore/apps/oxygen/psewidget.h
+++ b/noncore/apps/oxygen/psewidget.h
@@ -15,37 +15,39 @@
15 * * 15 * *
16 **************************************************************************/ 16 **************************************************************************/
17#ifndef _PSEWIDGET_H 17#ifndef _PSEWIDGET_H
18#define _PSEWIDGET_H 18#define _PSEWIDGET_H
19 19
20#include <qwidget.h> 20#include <qwidget.h>
21#include <qlist.h> 21#include <qlist.h>
22#include "oxyframe.h" 22#include "oxyframe.h"
23 23
24class QGridLayout; 24class QGridLayout;
25class OxydataWidget; 25class OxydataWidget;
26class PSEframe; 26class PSEframe;
27 27
28class PSEWidget : public QWidget 28class PSEWidget : public QWidget
29{ 29{
30 Q_OBJECT 30 Q_OBJECT
31 31
32 public: 32 public:
33 PSEWidget(); 33 PSEWidget();
34 QGridLayout *bottom_grid; 34 QGridLayout *bottom_grid;
35 OxydataWidget *oxyDW; 35 OxydataWidget *oxyDW;
36 36
37 QList<OxyFrame> PSEframe; 37 QList<OxyFrame> PSEframe;
38 38
39 int lastElement;
40
39 private: 41 private:
40 QGridLayout *maingrid; 42 QGridLayout *maingrid;
41 43
42 void position( int, int&, int& ); 44 void position( int, int&, int& );
43 QColor PSEColor( QString ); 45 QColor PSEColor( QString );
44 46
45 public slots: 47 public slots:
46 void slotShowElement(QString); 48 void slotShowElement(QString);
47 void inverseColor( QString ); 49 void inverseColor( QString );
48 50
49}; 51};
50 52
51#endif 53#endif