-rw-r--r-- | noncore/apps/oxygen/psewidget.cpp | 13 | ||||
-rw-r--r-- | noncore/apps/oxygen/psewidget.h | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/noncore/apps/oxygen/psewidget.cpp b/noncore/apps/oxygen/psewidget.cpp index eb4093b..d7126b9 100644 --- a/noncore/apps/oxygen/psewidget.cpp +++ b/noncore/apps/oxygen/psewidget.cpp | |||
@@ -23,71 +23,82 @@ | |||
23 | #include "psewidget.h" | 23 | #include "psewidget.h" |
24 | #include "oxyframe.h" | 24 | #include "oxyframe.h" |
25 | 25 | ||
26 | 26 | ||
27 | PSEWidget::PSEWidget() : QWidget() | 27 | PSEWidget::PSEWidget() : QWidget() |
28 | { | 28 | { |
29 | this->setCaption( tr( "Periodic System" ) ); | 29 | this->setCaption( tr( "Periodic System" ) ); |
30 | 30 | ||
31 | QVBoxLayout *vlay = new QVBoxLayout( this ); | 31 | QVBoxLayout *vlay = new QVBoxLayout( this ); |
32 | 32 | ||
33 | QGridLayout *grid = new QGridLayout( 18,10 ); | 33 | QGridLayout *grid = new QGridLayout( 18,10 ); |
34 | int h=0, v=0; | 34 | int h=0, v=0; |
35 | 35 | ||
36 | Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File ); | 36 | Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File ); |
37 | for( int n = 0 ; n < 109 ; n++ ) | 37 | for( int n = 0 ; n < 109 ; n++ ) |
38 | { | 38 | { |
39 | configobj.setGroup( QString::number( n+1 )); | 39 | configobj.setGroup( QString::number( n+1 )); |
40 | 40 | ||
41 | position( n+1,h,v ); | 41 | position( n+1,h,v ); |
42 | PSEframe.append( new OxyFrame( this , QString::number(n), configobj.readEntry( "Symbol" ) ) ); | 42 | PSEframe.append( new OxyFrame( this , QString::number(n), configobj.readEntry( "Symbol" ) ) ); |
43 | grid->addWidget( PSEframe.current() , v/40+1 , h/40 ); | 43 | grid->addWidget( PSEframe.current() , v/40+1 , h/40 ); |
44 | PSEframe.current()->setMinimumHeight( 11 ); | 44 | PSEframe.current()->setMinimumHeight( 11 ); |
45 | PSEframe.current()->setPalette( QPalette( PSEColor( configobj.readEntry( "Block" ) ) ) ); | 45 | PSEframe.current()->setPalette( QPalette( PSEColor( configobj.readEntry( "Block" ) ) ) ); |
46 | connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( slotShowElement(QString) )); | 46 | connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( slotShowElement(QString) )); |
47 | connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( inverseColor(QString) )); | ||
47 | } | 48 | } |
48 | 49 | ||
49 | oxyDW = new OxydataWidget(this); | 50 | oxyDW = new OxydataWidget(this); |
50 | oxyDW->setElement( 0 ); | 51 | oxyDW->setElement( 0 ); |
51 | oxyDW->setLayout(); | 52 | oxyDW->setLayout(); |
52 | 53 | ||
53 | vlay->addLayout( grid ); | 54 | vlay->addLayout( grid ); |
54 | vlay->addWidget( oxyDW ); | 55 | vlay->addWidget( oxyDW ); |
55 | } | 56 | } |
56 | 57 | ||
57 | QColor PSEWidget::PSEColor( QString block ) | 58 | QColor PSEWidget::PSEColor( QString block ) |
58 | { | 59 | { |
59 | QColor c; | 60 | QColor c; |
60 | if ( block == "s" ) c.setRgb( 213 , 233 , 231 ); | 61 | if ( block == "s" ) c.setRgb( 213 , 233 , 231 ); |
61 | else if ( block == "d" ) c.setRgb( 200,230,160 ); | 62 | else if ( block == "d" ) c.setRgb( 200,230,160 ); |
62 | else if ( block == "p" ) c.setRgb( 238,146,138 ); | 63 | else if ( block == "p" ) c.setRgb( 238,146,138 ); |
63 | else if ( block == "f" ) c.setRgb( 190 , 190 , 190 ); | 64 | else if ( block == "f" ) c.setRgb( 190 , 190 , 190 ); |
64 | return c; | 65 | return c; |
65 | }; | 66 | }; |
66 | 67 | ||
67 | void PSEWidget::inverseColor( QString number ) | 68 | void PSEWidget::inverseColor( QString number ) |
68 | { | 69 | { |
69 | //foo | 70 | Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File ); |
71 | configobj.setGroup( number ); | ||
72 | QString block = configobj.readEntry( "Block" ); | ||
73 | QColor c; | ||
74 | if ( block == "s" ) c.setRgb( 213 , 233 , 231 ); | ||
75 | else if ( block == "d" ) c.setRgb( 200,230,160 ); | ||
76 | else if ( block == "p" ) c.setRgb( 238,146,138 ); | ||
77 | else if ( block == "f" ) c.setRgb( 190 , 190 , 190 ); | ||
78 | c.dark(); | ||
79 | |||
80 | PSEframe.at( number.toUInt() )->setPalette( QPalette( c ) ); | ||
70 | } | 81 | } |
71 | 82 | ||
72 | void PSEWidget::slotShowElement(QString number) | 83 | void PSEWidget::slotShowElement(QString number) |
73 | { | 84 | { |
74 | oxyDW->setElement( number.toInt() ); | 85 | oxyDW->setElement( number.toInt() ); |
75 | }; | 86 | }; |
76 | 87 | ||
77 | void PSEWidget::position(int n, int& h, int& v) | 88 | void PSEWidget::position(int n, int& h, int& v) |
78 | { | 89 | { |
79 | //Hydrogen | 90 | //Hydrogen |
80 | if (n == 1) | 91 | if (n == 1) |
81 | { | 92 | { |
82 | h=0; v=0; | 93 | h=0; v=0; |
83 | } | 94 | } |
84 | 95 | ||
85 | 96 | ||
86 | //Helium | 97 | //Helium |
87 | if (n == 2) | 98 | if (n == 2) |
88 | { | 99 | { |
89 | h=680; v=0; | 100 | h=680; v=0; |
90 | } | 101 | } |
91 | 102 | ||
92 | 103 | ||
93 | //Lithium | 104 | //Lithium |
diff --git a/noncore/apps/oxygen/psewidget.h b/noncore/apps/oxygen/psewidget.h index d8d2c5f..cfb629d 100644 --- a/noncore/apps/oxygen/psewidget.h +++ b/noncore/apps/oxygen/psewidget.h | |||
@@ -13,39 +13,39 @@ | |||
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 | #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 | ||
24 | class QGridLayout; | 24 | class QGridLayout; |
25 | class OxydataWidget; | 25 | class OxydataWidget; |
26 | class PSEframe; | 26 | class PSEframe; |
27 | 27 | ||
28 | class PSEWidget : public QWidget | 28 | class 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 | void inverseColor( QString ); | ||
38 | QList<OxyFrame> PSEframe; | 37 | QList<OxyFrame> PSEframe; |
39 | 38 | ||
40 | private: | 39 | private: |
41 | QGridLayout *maingrid; | 40 | QGridLayout *maingrid; |
42 | 41 | ||
43 | void position( int, int&, int& ); | 42 | void position( int, int&, int& ); |
44 | QColor PSEColor( QString ); | 43 | QColor PSEColor( QString ); |
45 | 44 | ||
46 | public slots: | 45 | public slots: |
47 | void slotShowElement(QString); | 46 | void slotShowElement(QString); |
47 | void inverseColor( QString ); | ||
48 | 48 | ||
49 | }; | 49 | }; |
50 | 50 | ||
51 | #endif | 51 | #endif |