00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef KCURRENCYCALCULATOR_H
00024 #define KCURRENCYCALCULATOR_H
00025
00026
00027
00028
00029 #include <qwidget.h>
00030
00031
00032
00033
00034
00035
00036
00037 #include "../dialogs/kcurrencycalculatordecl.h"
00038 #include <kmymoney/mymoneyfile.h>
00039
00044 class KCurrencyCalculator : public KCurrencyCalculatorDecl
00045 {
00046 Q_OBJECT
00047
00048 public:
00061 KCurrencyCalculator(const MyMoneySecurity& from, const MyMoneySecurity& to, const MyMoneyMoney& value, const MyMoneyMoney& shares, const QDate& date, const signed64 resultFraction = 100, QWidget *parent=0, const char *name=0);
00062 ~KCurrencyCalculator();
00063
00064 const MyMoneyMoney price(void) const;
00065
00066 void setupPriceEditor(void);
00067
00068 static bool setupSplitPrice(MyMoneyMoney& shares, const MyMoneyTransaction& t, const MyMoneySplit& s, const QMap<QCString, MyMoneyMoney>& priceInfo, QWidget* parentWidget);
00069
00070 protected:
00071 void updateExample(const MyMoneyMoney& price);
00072
00073 protected slots:
00074 void slotSetToAmount(void);
00075 void slotSetExchangeRate(void);
00076 void slotUpdateResult(const QString& txt);
00077 void slotUpdateRate(const QString& txt);
00078 virtual void accept(void);
00079
00080 private:
00081 MyMoneySecurity m_fromCurrency;
00082 MyMoneySecurity m_toCurrency;
00083 MyMoneyMoney m_result;
00084 MyMoneyMoney m_value;
00085 signed64 m_resultFraction;
00086 };
00087
00088 #endif