summaryrefslogtreecommitdiff
path: root/noncore
authorcniehaus <cniehaus>2002-09-16 10:45:04 (UTC)
committer cniehaus <cniehaus>2002-09-16 10:45:04 (UTC)
commitd5d64f7617836096a4e9de81997ada7b6f220b47 (patch) (side-by-side diff)
treeb0ad367ecd4327d8a95b22e725ec4e5b14efa230 /noncore
parent1286c243028874523eb2805a0d07ae478537a20c (diff)
downloadopie-d5d64f7617836096a4e9de81997ada7b6f220b47.zip
opie-d5d64f7617836096a4e9de81997ada7b6f220b47.tar.gz
opie-d5d64f7617836096a4e9de81997ada7b6f220b47.tar.bz2
yes, there is still a lot missing and it won't work for anyone due to
a hardcoded path but at least in theorie (if you copy kmolweights to the correct position) it will work now. more to come this evening or so.
Diffstat (limited to 'noncore') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/oxygen/calcdlg.ui119
-rw-r--r--noncore/apps/oxygen/calcdlgui.cpp2
-rw-r--r--noncore/apps/oxygen/kmolcalc.cpp40
-rw-r--r--noncore/apps/oxygen/kmolcalc.h5
4 files changed, 57 insertions, 109 deletions
diff --git a/noncore/apps/oxygen/calcdlg.ui b/noncore/apps/oxygen/calcdlg.ui
index e0b19f9..5b0c53e 100644
--- a/noncore/apps/oxygen/calcdlg.ui
+++ b/noncore/apps/oxygen/calcdlg.ui
@@ -8,14 +8,14 @@
</property>
<property stdset="1">
<name>geometry</name>
<rect>
<x>0</x>
<y>0</y>
- <width>218</width>
- <height>274</height>
+ <width>275</width>
+ <height>357</height>
</rect>
</property>
<property stdset="1">
<name>caption</name>
<string>Network Time</string>
</property>
@@ -31,16 +31,16 @@
<name>name</name>
<cstring>TabWidgetMain</cstring>
</property>
<property stdset="1">
<name>geometry</name>
<rect>
- <x>10</x>
+ <x>0</x>
<y>0</y>
- <width>200</width>
- <height>260</height>
+ <width>270</width>
+ <height>350</height>
</rect>
</property>
<property>
<name>layoutMargin</name>
</property>
<property>
@@ -62,60 +62,73 @@
<name>name</name>
<cstring>FrameSystemTime</cstring>
</property>
<property stdset="1">
<name>geometry</name>
<rect>
- <x>2</x>
- <y>2</y>
- <width>180</width>
- <height>220</height>
+ <x>0</x>
+ <y>0</y>
+ <width>260</width>
+ <height>320</height>
</rect>
</property>
<property stdset="1">
<name>frameShape</name>
<enum>StyledPanel</enum>
</property>
<property stdset="1">
<name>frameShadow</name>
<enum>Raised</enum>
</property>
<widget>
- <class>QLabel</class>
+ <class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1_4</cstring>
+ <cstring>Layout7</cstring>
</property>
<property stdset="1">
<name>geometry</name>
<rect>
- <x>1</x>
- <y>1</y>
- <width>298</width>
- <height>16</height>
+ <x>0</x>
+ <y>0</y>
+ <width>260</width>
+ <height>320</height>
</rect>
</property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel1_4</cstring>
+ </property>
<property stdset="1">
<name>text</name>
<string>Formula:</string>
</property>
</widget>
<widget>
- <class>QLayoutWidget</class>
+ <class>QLineEdit</class>
<property stdset="1">
<name>name</name>
- <cstring>Layout7</cstring>
+ <cstring>formula</cstring>
</property>
+ </widget>
+ <widget>
+ <class>QLayoutWidget</class>
<property stdset="1">
- <name>geometry</name>
- <rect>
- <x>0</x>
- <y>50</y>
- <width>175</width>
- <height>30</height>
- </rect>
+ <name>name</name>
+ <cstring>Layout7</cstring>
</property>
<hbox>
<property stdset="1">
<name>margin</name>
<number>0</number>
</property>
@@ -145,79 +158,53 @@
<string>Clear</string>
</property>
</widget>
</hbox>
</widget>
<widget>
- <class>QLineEdit</class>
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>formula</cstring>
+ <cstring>TextLabel2_4</cstring>
</property>
<property stdset="1">
- <name>geometry</name>
- <rect>
- <x>0</x>
- <y>20</y>
- <width>170</width>
- <height>22</height>
- </rect>
+ <name>text</name>
+ <string>Result:</string>
</property>
</widget>
<widget>
- <class>QMultiLineEdit</class>
+ <class>QLineEdit</class>
<property stdset="1">
<name>name</name>
- <cstring>anal_display</cstring>
- </property>
- <property stdset="1">
- <name>geometry</name>
- <rect>
- <x>0</x>
- <y>130</y>
- <width>170</width>
- <height>80</height>
- </rect>
+ <cstring>result</cstring>
</property>
</widget>
<widget>
- <class>QLineEdit</class>
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>result</cstring>
+ <cstring>TextLabel1</cstring>
</property>
<property stdset="1">
- <name>geometry</name>
- <rect>
- <x>0</x>
- <y>100</y>
- <width>170</width>
- <height>22</height>
- </rect>
+ <name>text</name>
+ <string>Elemental composition (%):</string>
</property>
</widget>
<widget>
- <class>QLabel</class>
+ <class>QMultiLineEdit</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel2_4</cstring>
- </property>
- <property stdset="1">
- <name>geometry</name>
- <rect>
- <x>1</x>
- <y>86</y>
- <width>298</width>
- <height>16</height>
- </rect>
+ <cstring>anal_display</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>Result:</string>
+ <name>readOnly</name>
+ <bool>true</bool>
</property>
</widget>
+ </vbox>
+ </widget>
</widget>
</widget>
<widget>
<class>QWidget</class>
<property stdset="1">
<name>name</name>
diff --git a/noncore/apps/oxygen/calcdlgui.cpp b/noncore/apps/oxygen/calcdlgui.cpp
index e9b40d3..e40e2c7 100644
--- a/noncore/apps/oxygen/calcdlgui.cpp
+++ b/noncore/apps/oxygen/calcdlgui.cpp
@@ -13,15 +13,17 @@
#include <qlineedit.h>
#include <qmultilineedit.h>
#include <qpushbutton.h>
calcDlgUI::calcDlgUI() : CalcDlg()
{
+ this->showMaximized();
kmolcalc = new KMolCalc;
connect( calculate, SIGNAL( clicked() ), this, SLOT( calc() ) );
connect( clear_fields, SIGNAL( clicked() ), this, SLOT( clear() ) );
+ result->setReadOnly( true );
}
void calcDlgUI::calc()
{
QString compound( formula->text() );
if ( compound.isEmpty() ) {
diff --git a/noncore/apps/oxygen/kmolcalc.cpp b/noncore/apps/oxygen/kmolcalc.cpp
index 7257c4a..0ba52da 100644
--- a/noncore/apps/oxygen/kmolcalc.cpp
+++ b/noncore/apps/oxygen/kmolcalc.cpp
@@ -1,10 +1,10 @@
/*
* kmolcalc.cpp
*
- * Copyright (C) 2000 Tomislav Gountchev <tomi@idiom.com>
+ * Copyright (C) 2000,2001 Tomislav Gountchev <tomi@idiom.com>
* Copyright (C) 2002 Carsten Niehaus <cniehaus@handhelds.org>
*/
/**
* KMOLCALC is the calculation engine. It knows about a hashtable of user defined atomic
* weights and group definitions ELSTABLE, and the currently processed formula, stored
@@ -33,34 +33,15 @@ KMolCalc::~KMolCalc() {
void KMolCalc::readElstable() {
weight = -1; // not calculated yet
if (elstable) delete elstable;
elstable = new QDict<SubUnit> (197, TRUE);
elstable->setAutoDelete(TRUE);
- QStringList files = "/home/opie/opie/noncore/apps/oxigen/kmolweights";
- mwfile = "/home/opie/opie/noncore/apps/oxigen/kmolweights";
+ mwfile = "/home/opie/opie/noncore/apps/oxygen/kmolweights";
QFile f(mwfile);
- QString* latest_f = &mwfile;
- for (uint i=0; i<files.count(); i++) {
- if (QFileInfo(QFile(files[i])).lastModified() > QFileInfo(QFile(*latest_f)).lastModified()) {
- latest_f = &files[i];
- }
- }
- QFile lf(*latest_f);
if (f.exists()) readMwfile(f);
- if (!f.exists()) {
- readMwfile(lf);
- writeElstable();
- } else if (QFileInfo(f).lastModified() < QFileInfo(lf).lastModified()) {
- // announce
- QMessageBox::information
- (0, "Warning:", "Found new global Mw file.\nLocal definitions will be updated.", QMessageBox::Ok);
- readMwfile(lf);
- writeElstable();
- }
-
}
/**
* Parse a string S and construct the ElementList this->ELEMENTS, representing the
* composition of S. Returns 0 if successful, or an error code (currently -1) if
@@ -185,29 +166,12 @@ void KMolCalc::readMwfile(QFile& f) {
elstable->replace(s->getName(), s);
}
f.close();
}
/**
- * Save the element definitions file.
- */
-void KMolCalc::writeElstable() {
- QFile f(mwfile);
- if (! f.open(IO_WriteOnly)) return; //ERROR
- QTextStream fs (&f);
- QString line;
- QDictIterator<SubUnit> it(*elstable);
- while (it.current()) {
- it.current()->writeOut(line);
- fs << line << endl;
- ++it;
- }
- f.close();
-}
-
-/**
* Remove a group or element definition from ELSTABLE.
*/
void KMolCalc::undefineGroup (const QString& name) {
elstable->remove (name);
}
diff --git a/noncore/apps/oxygen/kmolcalc.h b/noncore/apps/oxygen/kmolcalc.h
index c3e02f3..c589133 100644
--- a/noncore/apps/oxygen/kmolcalc.h
+++ b/noncore/apps/oxygen/kmolcalc.h
@@ -75,17 +75,12 @@ public:
/**
* Remove a group or element definition from ELSTABLE.
*/
void undefineGroup(const QString& name);
/**
- * Save the element definitions file.
- */
- void writeElstable();
-
- /**
* Read the element definitions file and construct ELSTABLE.
*/
void readElstable();
/**
* The element dictionary.