00001 #include "calculator.h"
00002
00003 #include <qpushbutton.h>
00004
00005 Calculator::Calculator ( QWidget* parent ) : QDialog ( parent, 0, TRUE )
00006 {
00007
00008 display = new QLineEdit ( this, "display" );
00009 display->setFrame ( FALSE );
00010 display->setAlignment ( Qt::AlignRight );
00011
00012 QPushButton *one = new QPushButton ( "1", this, "one" );
00013 one->setFlat ( TRUE );
00014 connect ( one, SIGNAL ( released() ), this, SLOT ( displayOne() ) );
00015
00016 QPushButton *two = new QPushButton ( "2", this, "two" );
00017 two->setFlat ( TRUE );
00018 connect ( two, SIGNAL ( released() ), this, SLOT ( displayTwo() ) );
00019
00020 QPushButton *three = new QPushButton ( "3", this, "three" );
00021 three->setFlat ( TRUE );
00022 connect ( three, SIGNAL ( released() ), this, SLOT ( displayThree() ) );
00023
00024 QPushButton *four = new QPushButton ( "4", this, "four" );
00025 four->setFlat ( TRUE );
00026 connect ( four, SIGNAL ( released() ), this, SLOT ( displayFour() ) );
00027
00028 QPushButton *five = new QPushButton ( "5", this, "five" );
00029 five->setFlat ( TRUE );
00030 connect ( five, SIGNAL ( released() ), this, SLOT ( displayFive() ) );
00031
00032 QPushButton *six = new QPushButton ( "6", this, "six" );
00033 six->setFlat ( TRUE );
00034 connect ( six, SIGNAL ( released() ), this, SLOT ( displaySix() ) );
00035
00036 QPushButton *seven = new QPushButton ( "7", this, "seven" );
00037 seven->setFlat ( TRUE );
00038 connect ( seven, SIGNAL ( released() ), this, SLOT ( displaySeven() ) );
00039
00040 QPushButton *eight = new QPushButton ( "8", this, "eight" );
00041 eight->setFlat ( TRUE );
00042 connect ( eight, SIGNAL ( released() ), this, SLOT ( displayEight() ) );
00043
00044 QPushButton *nine = new QPushButton ( "9", this, "nine" );
00045 nine->setFlat ( TRUE );
00046 connect ( nine, SIGNAL ( released() ), this, SLOT ( displayNine() ) );
00047
00048 QPushButton *zero = new QPushButton ( "0", this, "zero" );
00049 zero->setFlat ( TRUE );
00050 connect ( zero, SIGNAL ( released() ), this, SLOT ( displayZero() ) );
00051
00052 QPushButton *dp = new QPushButton ( ".", this, "dp" );
00053 dp->setFlat ( TRUE );
00054 connect ( dp, SIGNAL ( released() ), this, SLOT ( displayPoint() ) );
00055
00056 QPushButton *back = new QPushButton ( "<-", this, "back" );
00057 back->setFlat ( TRUE );
00058 connect ( back, SIGNAL ( released() ), this, SLOT ( back() ) );
00059
00060 layout = new QGridLayout ( this, 5, 3, 5, 1, "calculatorlayout" );
00061 layout->addMultiCellWidget ( display, 0, 0, 0, 2 );
00062 layout->addWidget ( one, 1, 0 );
00063 layout->addWidget ( two, 1, 1 );
00064 layout->addWidget ( three, 1, 2 );
00065 layout->addWidget ( four, 2, 0 );
00066 layout->addWidget ( five, 2, 1 );
00067 layout->addWidget ( six, 2, 2 );
00068 layout->addWidget ( seven, 3, 0 );
00069 layout->addWidget ( eight, 3, 1 );
00070 layout->addWidget ( nine, 3, 2 );
00071 layout->addWidget ( zero, 4, 0 );
00072 layout->addWidget ( dp, 4, 1 );
00073 layout->addWidget ( back, 4, 2 );
00074
00075 }
00076
00077 void Calculator::displayOne ()
00078 { display->insert ( "1" ); }
00079
00080 void Calculator::displayTwo ()
00081 { display->insert ( "2" ); }
00082
00083 void Calculator::displayThree ()
00084 { display->insert ( "3" ); }
00085
00086 void Calculator::displayFour ()
00087 { display->insert ( "4" ); }
00088
00089 void Calculator::displayFive ()
00090 { display->insert ( "5" ); }
00091
00092 void Calculator::displaySix ()
00093 { display->insert ( "6" ); }
00094
00095 void Calculator::displaySeven ()
00096 { display->insert ( "7" ); }
00097
00098 void Calculator::displayEight ()
00099 { display->insert ( "8" ); }
00100
00101 void Calculator::displayNine ()
00102 { display->insert ( "9" ); }
00103
00104 void Calculator::displayZero ()
00105 { display->insert ( "0" ); }
00106
00107 void Calculator::displayPoint ()
00108 { display->insert ( "." ); }
00109
00110 void Calculator::back ()
00111 { display->backspace(); }
00112
00113