⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conversion.h

📁 嵌入式Qt下的一个计算器源码
💻 H
字号:
/******************************************************************************** Copyright (C) 2000-2006 TROLLTECH ASA. All rights reserved.**** This file is part of the Phone Edition of the Qtopia Toolkit.**** Licensees holding a valid license agreement from Trolltech or any of its** authorized distributors may use this file in accordance with** the License Agreement provided with the Licensed Software.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Trolltech's Commercial License Agreements.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.********** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifdef ENABLE_CONVERSION#ifndef CONVERSIONIMPL_H#define CONVERSIONIMPL_H#include "../engine.h"#include "../doubleinstruction.h"#include "stdinputwidgets.h"#include <QPushButton>#include <QStackedWidget>#include <QComboBox>extern Engine *systemEngine;class UnitConversionInstruction : public BaseDoubleInstruction {public:    UnitConversionInstruction():BaseDoubleInstruction(){	name = "UnitConversion";	retType = type = "Double";	argCount = 1;	precedence = 0;    };    ~UnitConversionInstruction(){};   void doEvalI(DoubleData *acc) {	DoubleData *result = new DoubleData();	if (tempFrom != 'n' && tempTo != 'n') {	    double tmp = acc->get();	    if (tempFrom == 'k')		tmp -= 273;	    if (tempFrom == 'f')		tmp = (tmp - 32) * 5 / 9;	    if (tempTo == 'k')		tmp += 273;	    if (tempTo == 'f')		tmp = tmp / 5 * 9 + 32;	    result->set(tmp);	} else {	    result->set(acc->get() * to / from);	}	systemEngine->putData(result);    };    static double from;    static double to;    static char tempFrom;    static char tempTo;};struct conversionData {    QString name;    double factor;    QPushButton *button;};struct conversionMode {    QString name;    QList<conversionData*> *dataList;    conversionData *defaultType;};class FormConversion:public DecimalInputWidget {    Q_OBJECTpublic:    FormConversion(QWidget * parent = 0);    ~FormConversion();        QString interfaceName() { return QString(tr("Conversion")); };public slots:    void celciusButtonClicked ();    void fahrenheitButtonClicked ();    void kelvinButtonClicked ();    protected:    void showEvent ( QShowEvent * );    void init(int fromRow, int fromCol);    private:    QPushButton *PBC;    QList<conversionMode*> *modeList;    QComboBox *typeSelector;    QStackedWidget *conversionStack;    double currentFactor, newFactor;    QPushButton *currentButton, *newButton;    void doConversion();public slots:    void selectType(int);    void conversionButtonClicked();private slots:    void CClicked();};#endif //CONVERSIONIMPL_H#endif //ENABLE_CONVERSION

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -